@memberjunction/ng-conversations 6.2.0-edge.0 → 6.2.0-edge.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. package/README.md +35 -2
  2. package/dist/lib/components/active-tasks/active-tasks-panel.component.d.ts +19 -3
  3. package/dist/lib/components/active-tasks/active-tasks-panel.component.d.ts.map +1 -1
  4. package/dist/lib/components/active-tasks/active-tasks-panel.component.js +39 -7
  5. package/dist/lib/components/active-tasks/active-tasks-panel.component.js.map +1 -1
  6. package/dist/lib/components/agent/active-agent-indicator.component.d.ts +74 -6
  7. package/dist/lib/components/agent/active-agent-indicator.component.d.ts.map +1 -1
  8. package/dist/lib/components/agent/active-agent-indicator.component.js +111 -21
  9. package/dist/lib/components/agent/active-agent-indicator.component.js.map +1 -1
  10. package/dist/lib/components/agent/agent-process-panel.component.d.ts +31 -5
  11. package/dist/lib/components/agent/agent-process-panel.component.d.ts.map +1 -1
  12. package/dist/lib/components/agent/agent-process-panel.component.js +71 -15
  13. package/dist/lib/components/agent/agent-process-panel.component.js.map +1 -1
  14. package/dist/lib/components/artifact/artifact-share-modal.component.d.ts +65 -9
  15. package/dist/lib/components/artifact/artifact-share-modal.component.d.ts.map +1 -1
  16. package/dist/lib/components/artifact/artifact-share-modal.component.js +169 -57
  17. package/dist/lib/components/artifact/artifact-share-modal.component.js.map +1 -1
  18. package/dist/lib/components/attachment/image-viewer.component.d.ts +77 -11
  19. package/dist/lib/components/attachment/image-viewer.component.d.ts.map +1 -1
  20. package/dist/lib/components/attachment/image-viewer.component.js +181 -47
  21. package/dist/lib/components/attachment/image-viewer.component.js.map +1 -1
  22. package/dist/lib/components/collection/artifact-collection-picker-modal.component.d.ts +129 -19
  23. package/dist/lib/components/collection/artifact-collection-picker-modal.component.d.ts.map +1 -1
  24. package/dist/lib/components/collection/artifact-collection-picker-modal.component.js +350 -116
  25. package/dist/lib/components/collection/artifact-collection-picker-modal.component.js.map +1 -1
  26. package/dist/lib/components/collection/artifact-create-modal.component.d.ts +60 -8
  27. package/dist/lib/components/collection/artifact-create-modal.component.d.ts.map +1 -1
  28. package/dist/lib/components/collection/artifact-create-modal.component.js +130 -46
  29. package/dist/lib/components/collection/artifact-create-modal.component.js.map +1 -1
  30. package/dist/lib/components/collection/collection-artifact-card.component.d.ts +63 -3
  31. package/dist/lib/components/collection/collection-artifact-card.component.d.ts.map +1 -1
  32. package/dist/lib/components/collection/collection-artifact-card.component.js +113 -19
  33. package/dist/lib/components/collection/collection-artifact-card.component.js.map +1 -1
  34. package/dist/lib/components/collection/collection-form-modal.component.d.ts +54 -8
  35. package/dist/lib/components/collection/collection-form-modal.component.d.ts.map +1 -1
  36. package/dist/lib/components/collection/collection-form-modal.component.js +130 -46
  37. package/dist/lib/components/collection/collection-form-modal.component.js.map +1 -1
  38. package/dist/lib/components/collection/collection-share-modal.component.d.ts +70 -10
  39. package/dist/lib/components/collection/collection-share-modal.component.d.ts.map +1 -1
  40. package/dist/lib/components/collection/collection-share-modal.component.js +175 -53
  41. package/dist/lib/components/collection/collection-share-modal.component.js.map +1 -1
  42. package/dist/lib/components/collection/collection-tree.component.d.ts +89 -9
  43. package/dist/lib/components/collection/collection-tree.component.d.ts.map +1 -1
  44. package/dist/lib/components/collection/collection-tree.component.js +220 -70
  45. package/dist/lib/components/collection/collection-tree.component.js.map +1 -1
  46. package/dist/lib/components/collection/collection-view.component.d.ts +89 -11
  47. package/dist/lib/components/collection/collection-view.component.d.ts.map +1 -1
  48. package/dist/lib/components/collection/collection-view.component.js +154 -40
  49. package/dist/lib/components/collection/collection-view.component.js.map +1 -1
  50. package/dist/lib/components/collection/collections-full-view.component.d.ts +390 -38
  51. package/dist/lib/components/collection/collections-full-view.component.d.ts.map +1 -1
  52. package/dist/lib/components/collection/collections-full-view.component.js +951 -367
  53. package/dist/lib/components/collection/collections-full-view.component.js.map +1 -1
  54. package/dist/lib/components/composer/ai-composer.component.d.ts +213 -18
  55. package/dist/lib/components/composer/ai-composer.component.d.ts.map +1 -1
  56. package/dist/lib/components/composer/ai-composer.component.js +388 -44
  57. package/dist/lib/components/composer/ai-composer.component.js.map +1 -1
  58. package/dist/lib/components/conversation/conversation-agent-picker.component.d.ts +12 -1
  59. package/dist/lib/components/conversation/conversation-agent-picker.component.d.ts.map +1 -1
  60. package/dist/lib/components/conversation/conversation-agent-picker.component.js +26 -4
  61. package/dist/lib/components/conversation/conversation-agent-picker.component.js.map +1 -1
  62. package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +1090 -123
  63. package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -1
  64. package/dist/lib/components/conversation/conversation-chat-area.component.js +2399 -706
  65. package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -1
  66. package/dist/lib/components/conversation/conversation-empty-state.component.d.ts +139 -19
  67. package/dist/lib/components/conversation/conversation-empty-state.component.d.ts.map +1 -1
  68. package/dist/lib/components/conversation/conversation-empty-state.component.js +296 -59
  69. package/dist/lib/components/conversation/conversation-empty-state.component.js.map +1 -1
  70. package/dist/lib/components/conversation/conversation-list.component.d.ts +579 -78
  71. package/dist/lib/components/conversation/conversation-list.component.d.ts.map +1 -1
  72. package/dist/lib/components/conversation/conversation-list.component.js +2322 -823
  73. package/dist/lib/components/conversation/conversation-list.component.js.map +1 -1
  74. package/dist/lib/components/conversation/pinned-messages-panel.component.d.ts +40 -4
  75. package/dist/lib/components/conversation/pinned-messages-panel.component.d.ts.map +1 -1
  76. package/dist/lib/components/conversation/pinned-messages-panel.component.js +72 -14
  77. package/dist/lib/components/conversation/pinned-messages-panel.component.js.map +1 -1
  78. package/dist/lib/components/dialogs/input-dialog.component.d.ts +57 -11
  79. package/dist/lib/components/dialogs/input-dialog.component.d.ts.map +1 -1
  80. package/dist/lib/components/dialogs/input-dialog.component.js +128 -16
  81. package/dist/lib/components/dialogs/input-dialog.component.js.map +1 -1
  82. package/dist/lib/components/dialogs/rating-dialog.component.d.ts +68 -10
  83. package/dist/lib/components/dialogs/rating-dialog.component.d.ts.map +1 -1
  84. package/dist/lib/components/dialogs/rating-dialog.component.js +151 -27
  85. package/dist/lib/components/dialogs/rating-dialog.component.js.map +1 -1
  86. package/dist/lib/components/export/export-modal.component.d.ts +84 -10
  87. package/dist/lib/components/export/export-modal.component.d.ts.map +1 -1
  88. package/dist/lib/components/export/export-modal.component.js +173 -49
  89. package/dist/lib/components/export/export-modal.component.js.map +1 -1
  90. package/dist/lib/components/global-tasks/global-tasks-panel.component.d.ts +29 -3
  91. package/dist/lib/components/global-tasks/global-tasks-panel.component.d.ts.map +1 -1
  92. package/dist/lib/components/global-tasks/global-tasks-panel.component.js +58 -12
  93. package/dist/lib/components/global-tasks/global-tasks-panel.component.js.map +1 -1
  94. package/dist/lib/components/library/library-full-view.component.d.ts +57 -8
  95. package/dist/lib/components/library/library-full-view.component.d.ts.map +1 -1
  96. package/dist/lib/components/library/library-full-view.component.js +119 -35
  97. package/dist/lib/components/library/library-full-view.component.js.map +1 -1
  98. package/dist/lib/components/members/members-modal.component.d.ts +76 -10
  99. package/dist/lib/components/members/members-modal.component.d.ts.map +1 -1
  100. package/dist/lib/components/members/members-modal.component.js +164 -50
  101. package/dist/lib/components/members/members-modal.component.js.map +1 -1
  102. package/dist/lib/components/message/actionable-commands.component.d.ts +37 -5
  103. package/dist/lib/components/message/actionable-commands.component.d.ts.map +1 -1
  104. package/dist/lib/components/message/actionable-commands.component.js +82 -16
  105. package/dist/lib/components/message/actionable-commands.component.js.map +1 -1
  106. package/dist/lib/components/message/conversation-message-rating.component.d.ts +46 -10
  107. package/dist/lib/components/message/conversation-message-rating.component.d.ts.map +1 -1
  108. package/dist/lib/components/message/conversation-message-rating.component.js +120 -36
  109. package/dist/lib/components/message/conversation-message-rating.component.js.map +1 -1
  110. package/dist/lib/components/message/message-input.component.d.ts +549 -74
  111. package/dist/lib/components/message/message-input.component.d.ts.map +1 -1
  112. package/dist/lib/components/message/message-input.component.js +1250 -421
  113. package/dist/lib/components/message/message-input.component.js.map +1 -1
  114. package/dist/lib/components/message/message-item.component.d.ts +411 -29
  115. package/dist/lib/components/message/message-item.component.d.ts.map +1 -1
  116. package/dist/lib/components/message/message-item.component.js +896 -222
  117. package/dist/lib/components/message/message-item.component.js.map +1 -1
  118. package/dist/lib/components/message/message-list.component.d.ts +288 -29
  119. package/dist/lib/components/message/message-list.component.d.ts.map +1 -1
  120. package/dist/lib/components/message/message-list.component.js +561 -123
  121. package/dist/lib/components/message/message-list.component.js.map +1 -1
  122. package/dist/lib/components/navigation/conversation-navigation.component.d.ts +64 -5
  123. package/dist/lib/components/navigation/conversation-navigation.component.d.ts.map +1 -1
  124. package/dist/lib/components/navigation/conversation-navigation.component.js +101 -11
  125. package/dist/lib/components/navigation/conversation-navigation.component.js.map +1 -1
  126. package/dist/lib/components/notification/activity-indicator.component.d.ts +6 -2
  127. package/dist/lib/components/notification/activity-indicator.component.d.ts.map +1 -1
  128. package/dist/lib/components/notification/activity-indicator.component.js +13 -3
  129. package/dist/lib/components/notification/activity-indicator.component.js.map +1 -1
  130. package/dist/lib/components/notification/notification-badge.component.d.ts +15 -3
  131. package/dist/lib/components/notification/notification-badge.component.d.ts.map +1 -1
  132. package/dist/lib/components/notification/notification-badge.component.js +36 -8
  133. package/dist/lib/components/notification/notification-badge.component.js.map +1 -1
  134. package/dist/lib/components/overlay/chat-overlay.component.d.ts +1 -1
  135. package/dist/lib/components/overlay/chat-overlay.component.js +4 -4
  136. package/dist/lib/components/overlay/chat-overlay.component.js.map +1 -1
  137. package/dist/lib/components/project/project-form-modal.component.d.ts +93 -11
  138. package/dist/lib/components/project/project-form-modal.component.d.ts.map +1 -1
  139. package/dist/lib/components/project/project-form-modal.component.js +348 -87
  140. package/dist/lib/components/project/project-form-modal.component.js.map +1 -1
  141. package/dist/lib/components/project/project-selector.component.d.ts +78 -8
  142. package/dist/lib/components/project/project-selector.component.d.ts.map +1 -1
  143. package/dist/lib/components/project/project-selector.component.js +177 -46
  144. package/dist/lib/components/project/project-selector.component.js.map +1 -1
  145. package/dist/lib/components/realtime/realtime-activity-rail.component.d.ts +1 -1
  146. package/dist/lib/components/realtime/realtime-activity-rail.component.js +2 -2
  147. package/dist/lib/components/realtime/realtime-activity-rail.component.js.map +1 -1
  148. package/dist/lib/components/realtime/realtime-delegation-card.component.d.ts +1 -1
  149. package/dist/lib/components/realtime/realtime-delegation-card.component.js +2 -2
  150. package/dist/lib/components/realtime/realtime-delegation-card.component.js.map +1 -1
  151. package/dist/lib/components/realtime/realtime-session-overlay.component.d.ts +2 -2
  152. package/dist/lib/components/realtime/realtime-session-overlay.component.js +18 -18
  153. package/dist/lib/components/realtime/realtime-session-overlay.component.js.map +1 -1
  154. package/dist/lib/components/realtime/realtime-session-timeline-card.component.d.ts +47 -23
  155. package/dist/lib/components/realtime/realtime-session-timeline-card.component.d.ts.map +1 -1
  156. package/dist/lib/components/realtime/realtime-session-timeline-card.component.js +136 -92
  157. package/dist/lib/components/realtime/realtime-session-timeline-card.component.js.map +1 -1
  158. package/dist/lib/components/realtime/realtime-surface-tabs.component.d.ts +2 -2
  159. package/dist/lib/components/realtime/realtime-surface-tabs.component.js +4 -4
  160. package/dist/lib/components/realtime/realtime-surface-tabs.component.js.map +1 -1
  161. package/dist/lib/components/realtime/realtime-surface-tabs.model.d.ts +1 -1
  162. package/dist/lib/components/realtime/realtime-surface-tabs.model.js +3 -3
  163. package/dist/lib/components/realtime/realtime-surface-tabs.model.js.map +1 -1
  164. package/dist/lib/components/realtime/realtime-ui-config.d.ts +13 -11
  165. package/dist/lib/components/realtime/realtime-ui-config.d.ts.map +1 -1
  166. package/dist/lib/components/realtime/realtime-ui-config.js +29 -25
  167. package/dist/lib/components/realtime/realtime-ui-config.js.map +1 -1
  168. package/dist/lib/components/realtime/whiteboard/whiteboard-channel.d.ts +3 -1
  169. package/dist/lib/components/realtime/whiteboard/whiteboard-channel.d.ts.map +1 -1
  170. package/dist/lib/components/realtime/whiteboard/whiteboard-channel.js +6 -2
  171. package/dist/lib/components/realtime/whiteboard/whiteboard-channel.js.map +1 -1
  172. package/dist/lib/components/search/search-panel.component.d.ts +133 -22
  173. package/dist/lib/components/search/search-panel.component.d.ts.map +1 -1
  174. package/dist/lib/components/search/search-panel.component.js +312 -83
  175. package/dist/lib/components/search/search-panel.component.js.map +1 -1
  176. package/dist/lib/components/share/share-modal.component.d.ts +69 -9
  177. package/dist/lib/components/share/share-modal.component.d.ts.map +1 -1
  178. package/dist/lib/components/share/share-modal.component.js +139 -31
  179. package/dist/lib/components/share/share-modal.component.js.map +1 -1
  180. package/dist/lib/components/shared/user-picker.component.d.ts +48 -8
  181. package/dist/lib/components/shared/user-picker.component.d.ts.map +1 -1
  182. package/dist/lib/components/shared/user-picker.component.js +110 -30
  183. package/dist/lib/components/shared/user-picker.component.js.map +1 -1
  184. package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts +114 -11
  185. package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts.map +1 -1
  186. package/dist/lib/components/sidebar/conversation-sidebar.component.js +199 -21
  187. package/dist/lib/components/sidebar/conversation-sidebar.component.js.map +1 -1
  188. package/dist/lib/components/sidebar/routines-section.component.d.ts +20 -1
  189. package/dist/lib/components/sidebar/routines-section.component.d.ts.map +1 -1
  190. package/dist/lib/components/sidebar/routines-section.component.js +25 -5
  191. package/dist/lib/components/sidebar/routines-section.component.js.map +1 -1
  192. package/dist/lib/components/slots/slot-interfaces.d.ts +19 -0
  193. package/dist/lib/components/slots/slot-interfaces.d.ts.map +1 -1
  194. package/dist/lib/components/slots/slot-interfaces.js.map +1 -1
  195. package/dist/lib/components/task/tasks-full-view.component.d.ts +95 -13
  196. package/dist/lib/components/task/tasks-full-view.component.d.ts.map +1 -1
  197. package/dist/lib/components/task/tasks-full-view.component.js +223 -75
  198. package/dist/lib/components/task/tasks-full-view.component.js.map +1 -1
  199. package/dist/lib/components/tasks/task-widget.component.d.ts +46 -6
  200. package/dist/lib/components/tasks/task-widget.component.d.ts.map +1 -1
  201. package/dist/lib/components/tasks/task-widget.component.js +100 -16
  202. package/dist/lib/components/tasks/task-widget.component.js.map +1 -1
  203. package/dist/lib/components/tasks/tasks-dropdown.component.d.ts +64 -7
  204. package/dist/lib/components/tasks/tasks-dropdown.component.d.ts.map +1 -1
  205. package/dist/lib/components/tasks/tasks-dropdown.component.js +127 -27
  206. package/dist/lib/components/tasks/tasks-dropdown.component.js.map +1 -1
  207. package/dist/lib/components/thread/thread-panel.component.d.ts +66 -8
  208. package/dist/lib/components/thread/thread-panel.component.d.ts.map +1 -1
  209. package/dist/lib/components/thread/thread-panel.component.js +146 -36
  210. package/dist/lib/components/thread/thread-panel.component.js.map +1 -1
  211. package/dist/lib/components/toast/toast.component.d.ts +11 -1
  212. package/dist/lib/components/toast/toast.component.d.ts.map +1 -1
  213. package/dist/lib/components/toast/toast.component.js +25 -5
  214. package/dist/lib/components/toast/toast.component.js.map +1 -1
  215. package/dist/lib/components/workspace/conversation-workspace.component.d.ts +385 -42
  216. package/dist/lib/components/workspace/conversation-workspace.component.d.ts.map +1 -1
  217. package/dist/lib/components/workspace/conversation-workspace.component.js +887 -291
  218. package/dist/lib/components/workspace/conversation-workspace.component.js.map +1 -1
  219. package/dist/lib/composer-plugins/base-conversation-mention.provider.d.ts +8 -0
  220. package/dist/lib/composer-plugins/base-conversation-mention.provider.d.ts.map +1 -1
  221. package/dist/lib/composer-plugins/base-conversation-mention.provider.js +8 -1
  222. package/dist/lib/composer-plugins/base-conversation-mention.provider.js.map +1 -1
  223. package/dist/lib/directives/chat-slot.directive.d.ts +5 -1
  224. package/dist/lib/directives/chat-slot.directive.d.ts.map +1 -1
  225. package/dist/lib/directives/chat-slot.directive.js.map +1 -1
  226. package/dist/lib/directives/search-shortcut.directive.d.ts +9 -1
  227. package/dist/lib/directives/search-shortcut.directive.d.ts.map +1 -1
  228. package/dist/lib/directives/search-shortcut.directive.js +14 -4
  229. package/dist/lib/directives/search-shortcut.directive.js.map +1 -1
  230. package/dist/lib/events/chat-events.d.ts +34 -7
  231. package/dist/lib/events/chat-events.d.ts.map +1 -1
  232. package/dist/lib/events/chat-events.js +37 -7
  233. package/dist/lib/events/chat-events.js.map +1 -1
  234. package/dist/lib/models/agent-turn.model.d.ts +103 -0
  235. package/dist/lib/models/agent-turn.model.d.ts.map +1 -0
  236. package/dist/lib/models/agent-turn.model.js +12 -0
  237. package/dist/lib/models/agent-turn.model.js.map +1 -0
  238. package/dist/lib/models/collection-view.model.js.map +1 -1
  239. package/dist/lib/models/conversation-state.model.d.ts +8 -0
  240. package/dist/lib/models/conversation-state.model.d.ts.map +1 -1
  241. package/dist/lib/models/conversation-state.model.js.map +1 -1
  242. package/dist/lib/models/lazy-artifact-info.d.ts +44 -12
  243. package/dist/lib/models/lazy-artifact-info.d.ts.map +1 -1
  244. package/dist/lib/models/lazy-artifact-info.js +98 -34
  245. package/dist/lib/models/lazy-artifact-info.js.map +1 -1
  246. package/dist/lib/services/active-tasks.service.d.ts +30 -4
  247. package/dist/lib/services/active-tasks.service.d.ts.map +1 -1
  248. package/dist/lib/services/active-tasks.service.js +71 -19
  249. package/dist/lib/services/active-tasks.service.js.map +1 -1
  250. package/dist/lib/services/agent-state.service.d.ts +17 -1
  251. package/dist/lib/services/agent-state.service.d.ts.map +1 -1
  252. package/dist/lib/services/agent-state.service.js +48 -16
  253. package/dist/lib/services/agent-state.service.js.map +1 -1
  254. package/dist/lib/services/artifact-permission.service.d.ts +39 -0
  255. package/dist/lib/services/artifact-permission.service.d.ts.map +1 -1
  256. package/dist/lib/services/artifact-permission.service.js +152 -17
  257. package/dist/lib/services/artifact-permission.service.js.map +1 -1
  258. package/dist/lib/services/artifact-state.service.d.ts +58 -5
  259. package/dist/lib/services/artifact-state.service.d.ts.map +1 -1
  260. package/dist/lib/services/artifact-state.service.js +135 -35
  261. package/dist/lib/services/artifact-state.service.js.map +1 -1
  262. package/dist/lib/services/collection-permission.service.d.ts +28 -0
  263. package/dist/lib/services/collection-permission.service.d.ts.map +1 -1
  264. package/dist/lib/services/collection-permission.service.js +88 -32
  265. package/dist/lib/services/collection-permission.service.js.map +1 -1
  266. package/dist/lib/services/collection-state.service.d.ts +11 -1
  267. package/dist/lib/services/collection-state.service.d.ts.map +1 -1
  268. package/dist/lib/services/collection-state.service.js +25 -5
  269. package/dist/lib/services/collection-state.service.js.map +1 -1
  270. package/dist/lib/services/conversation-agent.service.d.ts +26 -4
  271. package/dist/lib/services/conversation-agent.service.d.ts.map +1 -1
  272. package/dist/lib/services/conversation-agent.service.js +57 -18
  273. package/dist/lib/services/conversation-agent.service.js.map +1 -1
  274. package/dist/lib/services/conversation-attachment.service.d.ts +17 -0
  275. package/dist/lib/services/conversation-attachment.service.d.ts.map +1 -1
  276. package/dist/lib/services/conversation-attachment.service.js +38 -10
  277. package/dist/lib/services/conversation-attachment.service.js.map +1 -1
  278. package/dist/lib/services/conversation-streaming.service.d.ts +22 -0
  279. package/dist/lib/services/conversation-streaming.service.d.ts.map +1 -1
  280. package/dist/lib/services/conversation-streaming.service.js +50 -10
  281. package/dist/lib/services/conversation-streaming.service.js.map +1 -1
  282. package/dist/lib/services/data-cache.service.d.ts +31 -0
  283. package/dist/lib/services/data-cache.service.d.ts.map +1 -1
  284. package/dist/lib/services/data-cache.service.js +71 -15
  285. package/dist/lib/services/data-cache.service.js.map +1 -1
  286. package/dist/lib/services/dialog.service.d.ts +13 -0
  287. package/dist/lib/services/dialog.service.d.ts.map +1 -1
  288. package/dist/lib/services/dialog.service.js +25 -5
  289. package/dist/lib/services/dialog.service.js.map +1 -1
  290. package/dist/lib/services/export.service.d.ts +2 -0
  291. package/dist/lib/services/export.service.d.ts.map +1 -1
  292. package/dist/lib/services/export.service.js +5 -1
  293. package/dist/lib/services/export.service.js.map +1 -1
  294. package/dist/lib/services/mention-parser.service.d.ts +10 -0
  295. package/dist/lib/services/mention-parser.service.d.ts.map +1 -1
  296. package/dist/lib/services/mention-parser.service.js +25 -5
  297. package/dist/lib/services/mention-parser.service.js.map +1 -1
  298. package/dist/lib/services/notification.service.d.ts +54 -6
  299. package/dist/lib/services/notification.service.d.ts.map +1 -1
  300. package/dist/lib/services/notification.service.js +123 -27
  301. package/dist/lib/services/notification.service.js.map +1 -1
  302. package/dist/lib/services/realtime-audio-recorder.d.ts +4 -4
  303. package/dist/lib/services/realtime-audio-recorder.js +12 -12
  304. package/dist/lib/services/realtime-audio-recorder.js.map +1 -1
  305. package/dist/lib/services/realtime-pcm-wav.d.ts +4 -0
  306. package/dist/lib/services/realtime-pcm-wav.d.ts.map +1 -1
  307. package/dist/lib/services/realtime-pcm-wav.js +10 -2
  308. package/dist/lib/services/realtime-pcm-wav.js.map +1 -1
  309. package/dist/lib/services/search.service.d.ts +42 -9
  310. package/dist/lib/services/search.service.d.ts.map +1 -1
  311. package/dist/lib/services/search.service.js +103 -23
  312. package/dist/lib/services/search.service.js.map +1 -1
  313. package/dist/lib/services/toast.service.d.ts +19 -1
  314. package/dist/lib/services/toast.service.d.ts.map +1 -1
  315. package/dist/lib/services/toast.service.js +45 -9
  316. package/dist/lib/services/toast.service.js.map +1 -1
  317. package/dist/lib/services/ui-command-handler.service.d.ts +16 -2
  318. package/dist/lib/services/ui-command-handler.service.d.ts.map +1 -1
  319. package/dist/lib/services/ui-command-handler.service.js +36 -8
  320. package/dist/lib/services/ui-command-handler.service.js.map +1 -1
  321. package/dist/lib/utils/agent-artifact-summary.d.ts +2 -2
  322. package/dist/lib/utils/agent-artifact-summary.js +3 -3
  323. package/dist/lib/utils/agent-artifact-summary.js.map +1 -1
  324. package/dist/lib/utils/agent-turn-routing.d.ts +69 -0
  325. package/dist/lib/utils/agent-turn-routing.d.ts.map +1 -0
  326. package/dist/lib/utils/agent-turn-routing.js +96 -0
  327. package/dist/lib/utils/agent-turn-routing.js.map +1 -0
  328. package/dist/lib/utils/artifact-panel-action.d.ts +15 -4
  329. package/dist/lib/utils/artifact-panel-action.d.ts.map +1 -1
  330. package/dist/lib/utils/artifact-panel-action.js +10 -2
  331. package/dist/lib/utils/artifact-panel-action.js.map +1 -1
  332. package/dist/lib/utils/distinct-artifacts.d.ts +2 -0
  333. package/dist/lib/utils/distinct-artifacts.d.ts.map +1 -1
  334. package/dist/lib/utils/distinct-artifacts.js +5 -1
  335. package/dist/lib/utils/distinct-artifacts.js.map +1 -1
  336. package/dist/lib/utils/plan-mode-preference.d.ts +2 -2
  337. package/dist/lib/utils/plan-mode-preference.js +6 -6
  338. package/dist/lib/utils/plan-mode-preference.js.map +1 -1
  339. package/dist/public-api.d.ts +3 -0
  340. package/dist/public-api.d.ts.map +1 -1
  341. package/dist/public-api.js +3 -0
  342. package/dist/public-api.js.map +1 -1
  343. package/package.json +32 -32
@@ -1,31 +1,89 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class RatingDialogComponent {
3
- message: string;
4
- initialRating: number | null;
5
- initialComments: string;
3
+ Message: string;
4
+ /** @deprecated Use {@link Message}. */
5
+ set message(value: string);
6
+ /** @deprecated Use {@link Message}. */
7
+ get message(): string;
8
+ InitialRating: number | null;
9
+ /** @deprecated Use {@link InitialRating}. */
10
+ set initialRating(value: number | null);
11
+ /** @deprecated Use {@link InitialRating}. */
12
+ get initialRating(): number | null;
13
+ InitialComments: string;
14
+ /** @deprecated Use {@link InitialComments}. */
15
+ set initialComments(value: string);
16
+ /** @deprecated Use {@link InitialComments}. */
17
+ get initialComments(): string;
6
18
  /** When true, the user must check the consent box before submitting. */
7
- requireConsent: boolean;
8
- readonly scale: number[];
9
- selectedRating: number | null;
10
- hoveredRating: number | null;
11
- comments: string;
12
- consentChecked: boolean;
19
+ RequireConsent: boolean;
20
+ /** @deprecated Use {@link RequireConsent}. */
21
+ set requireConsent(value: boolean);
22
+ /** @deprecated Use {@link RequireConsent}. */
23
+ get requireConsent(): boolean;
24
+ readonly Scale: number[];
25
+ /** @deprecated Use {@link Scale}. */
26
+ get scale(): number[];
27
+ SelectedRating: number | null;
28
+ /** @deprecated Use {@link SelectedRating}. */
29
+ get selectedRating(): number | null;
30
+ /** @deprecated Use {@link SelectedRating}. */
31
+ set selectedRating(value: number | null);
32
+ HoveredRating: number | null;
33
+ /** @deprecated Use {@link HoveredRating}. */
34
+ get hoveredRating(): number | null;
35
+ /** @deprecated Use {@link HoveredRating}. */
36
+ set hoveredRating(value: number | null);
37
+ Comments: string;
38
+ /** @deprecated Use {@link Comments}. */
39
+ get comments(): string;
40
+ /** @deprecated Use {@link Comments}. */
41
+ set comments(value: string);
42
+ ConsentChecked: boolean;
43
+ /** @deprecated Use {@link ConsentChecked}. */
44
+ get consentChecked(): boolean;
45
+ /** @deprecated Use {@link ConsentChecked}. */
46
+ set consentChecked(value: boolean);
13
47
  ngOnInit(): void;
48
+ get EffectiveRating(): number | null;
49
+ /** @deprecated Use {@link EffectiveRating}. */
14
50
  get effectiveRating(): number | null;
51
+ get EffectiveBand(): string | null;
52
+ /** @deprecated Use {@link EffectiveBand}. */
15
53
  get effectiveBand(): string | null;
54
+ BandFor(n: number): 'low' | 'mid' | 'high';
55
+ /** @deprecated Use {@link BandFor}. */
16
56
  bandFor(n: number): 'low' | 'mid' | 'high';
57
+ IsFilled(n: number): boolean;
58
+ /** @deprecated Use {@link IsFilled}. */
17
59
  isFilled(n: number): boolean;
60
+ SelectRating(n: number): void;
61
+ /** @deprecated Use {@link SelectRating}. */
18
62
  selectRating(n: number): void;
63
+ OnScaleMouseLeave(): void;
64
+ /** @deprecated Use {@link OnScaleMouseLeave}. */
19
65
  onScaleMouseLeave(): void;
66
+ OnPipBlur(): void;
67
+ /** @deprecated Use {@link OnPipBlur}. */
20
68
  onPipBlur(): void;
69
+ GetDescriptor(n: number): string;
70
+ /** @deprecated Use {@link GetDescriptor}. */
21
71
  getDescriptor(n: number): string;
72
+ GetRating(): number | null;
73
+ /** @deprecated Use {@link GetRating}. */
22
74
  getRating(): number | null;
75
+ GetComments(): string;
76
+ /** @deprecated Use {@link GetComments}. */
23
77
  getComments(): string;
24
78
  /** True if the consent requirement is met (not required, or required and checked). */
79
+ IsConsentValid(): boolean;
80
+ /** @deprecated Use {@link IsConsentValid}. */
25
81
  isConsentValid(): boolean;
26
82
  /** True only when the user *just* acknowledged consent in this dialog session. */
83
+ WasConsentNewlyAcknowledged(): boolean;
84
+ /** @deprecated Use {@link WasConsentNewlyAcknowledged}. */
27
85
  wasConsentNewlyAcknowledged(): boolean;
28
86
  static ɵfac: i0.ɵɵFactoryDeclaration<RatingDialogComponent, never>;
29
- static ɵcmp: i0.ɵɵComponentDeclaration<RatingDialogComponent, "mj-rating-dialog", never, { "message": { "alias": "message"; "required": false; }; "initialRating": { "alias": "initialRating"; "required": false; }; "initialComments": { "alias": "initialComments"; "required": false; }; "requireConsent": { "alias": "requireConsent"; "required": false; }; }, {}, never, never, false, never>;
87
+ static ɵcmp: i0.ɵɵComponentDeclaration<RatingDialogComponent, "mj-rating-dialog", never, { "Message": { "alias": "Message"; "required": false; }; "message": { "alias": "message"; "required": false; }; "InitialRating": { "alias": "InitialRating"; "required": false; }; "initialRating": { "alias": "initialRating"; "required": false; }; "InitialComments": { "alias": "InitialComments"; "required": false; }; "initialComments": { "alias": "initialComments"; "required": false; }; "RequireConsent": { "alias": "RequireConsent"; "required": false; }; "requireConsent": { "alias": "requireConsent"; "required": false; }; }, {}, never, never, false, never>;
30
88
  }
31
89
  //# sourceMappingURL=rating-dialog.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rating-dialog.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/dialogs/rating-dialog.component.ts"],"names":[],"mappings":";AAEA,qBA8Ra,qBAAqB;IACvB,OAAO,EAAE,MAAM,CAAM;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IACpC,eAAe,EAAE,MAAM,CAAM;IAEtC,wEAAwE;IAC/D,cAAc,EAAE,OAAO,CAAS;IAEzC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAmC;IAC3D,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IACrC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IACpC,QAAQ,EAAE,MAAM,CAAM;IACtB,cAAc,EAAE,OAAO,CAAS;IAEhC,QAAQ,IAAI,IAAI;IAKhB,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAEnC;IAED,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAGjC;IAED,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM;IAM1C,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAK5B,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAI7B,iBAAiB,IAAI,IAAI;IAIzB,SAAS,IAAI,IAAI;IAIjB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAQhC,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B,WAAW,IAAI,MAAM;IAIrB,sFAAsF;IACtF,cAAc,IAAI,OAAO;IAIzB,kFAAkF;IAClF,2BAA2B,IAAI,OAAO;yCAzE3B,qBAAqB;2CAArB,qBAAqB;CA4EjC"}
1
+ {"version":3,"file":"rating-dialog.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/dialogs/rating-dialog.component.ts"],"names":[],"mappings":";AAEA,qBA8Ra,qBAAqB;IACvB,OAAO,EAAE,MAAM,CAAM;IAE9B,uCAAuC;IACvC,IAAa,OAAO,CAAC,KAAK,EAAE,MAAM,EAEjC;IACD,uCAAuC;IACvC,IAAI,OAAO,IAAI,MAAM,CAEpB;IACQ,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE7C,6CAA6C;IAC7C,IAAa,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAE9C;IACD,6CAA6C;IAC7C,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAEjC;IACQ,eAAe,EAAE,MAAM,CAAM;IAEtC,+CAA+C;IAC/C,IAAa,eAAe,CAAC,KAAK,EAAE,MAAM,EAEzC;IACD,+CAA+C;IAC/C,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,wEAAwE;IAC/D,cAAc,EAAE,OAAO,CAAS;IAEzC,8CAA8C;IAC9C,IAAa,cAAc,CAAC,KAAK,EAAE,OAAO,EAEzC;IACD,8CAA8C;IAC9C,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAmC;IAE3D,qCAAqC;IACrC,IAAI,KAAK,IAAI,MAAM,EAAE,CAEpB;IACD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAErC,8CAA8C;IAC9C,IAAI,cAAc,IAAI,MAAM,GAAG,IAAI,CAElC;IACD,8CAA8C;IAC9C,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAEtC;IACD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEpC,6CAA6C;IAC7C,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAEjC;IACD,6CAA6C;IAC7C,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAErC;IACD,QAAQ,EAAE,MAAM,CAAM;IAEtB,wCAAwC;IACxC,IAAI,QAAQ,IAAI,MAAM,CAErB;IACD,wCAAwC;IACxC,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEzB;IACD,cAAc,EAAE,OAAO,CAAS;IAEhC,8CAA8C;IAC9C,IAAI,cAAc,IAAI,OAAO,CAE5B;IACD,8CAA8C;IAC9C,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,EAEhC;IAED,QAAQ,IAAI,IAAI;IAKhB,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAEnC;IAED,+CAA+C;IAC/C,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAEnC;IAED,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAGjC;IAED,6CAA6C;IAC7C,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAEjC;IAED,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM;IAM1C,uCAAuC;IACvC,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM;IAI1C,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAK5B,wCAAwC;IACxC,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAI5B,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAI7B,4CAA4C;IAC5C,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAI7B,iBAAiB,IAAI,IAAI;IAIzB,iDAAiD;IACjD,iBAAiB,IAAI,IAAI;IAIzB,SAAS,IAAI,IAAI;IAIjB,yCAAyC;IACzC,SAAS,IAAI,IAAI;IAIjB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAQhC,6CAA6C;IAC7C,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAIhC,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B,yCAAyC;IACzC,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B,WAAW,IAAI,MAAM;IAIrB,2CAA2C;IAC3C,WAAW,IAAI,MAAM;IAIrB,sFAAsF;IACtF,cAAc,IAAI,OAAO;IAIzB,8CAA8C;IAC9C,cAAc,IAAI,OAAO;IAIzB,kFAAkF;IAClF,2BAA2B,IAAI,OAAO;IAItC,2DAA2D;IAC3D,2BAA2B,IAAI,OAAO;yCAlN3B,qBAAqB;2CAArB,qBAAqB;CAqNjC"}
@@ -68,48 +68,144 @@ function RatingDialogComponent_Conditional_32_Template(rf, ctx) { if (rf & 1) {
68
68
  i0.ɵɵconditional(!ctx_r0.consentChecked ? 4 : -1);
69
69
  } }
70
70
  export class RatingDialogComponent {
71
- message = '';
72
- initialRating = null;
73
- initialComments = '';
71
+ Message = '';
72
+ /** @deprecated Use {@link Message}. */
73
+ set message(value) {
74
+ this.Message = value;
75
+ }
76
+ /** @deprecated Use {@link Message}. */
77
+ get message() {
78
+ return this.Message;
79
+ }
80
+ InitialRating = null;
81
+ /** @deprecated Use {@link InitialRating}. */
82
+ set initialRating(value) {
83
+ this.InitialRating = value;
84
+ }
85
+ /** @deprecated Use {@link InitialRating}. */
86
+ get initialRating() {
87
+ return this.InitialRating;
88
+ }
89
+ InitialComments = '';
90
+ /** @deprecated Use {@link InitialComments}. */
91
+ set initialComments(value) {
92
+ this.InitialComments = value;
93
+ }
94
+ /** @deprecated Use {@link InitialComments}. */
95
+ get initialComments() {
96
+ return this.InitialComments;
97
+ }
74
98
  /** When true, the user must check the consent box before submitting. */
75
- requireConsent = false;
76
- scale = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
77
- selectedRating = null;
78
- hoveredRating = null;
79
- comments = '';
80
- consentChecked = false;
99
+ RequireConsent = false;
100
+ /** @deprecated Use {@link RequireConsent}. */
101
+ set requireConsent(value) {
102
+ this.RequireConsent = value;
103
+ }
104
+ /** @deprecated Use {@link RequireConsent}. */
105
+ get requireConsent() {
106
+ return this.RequireConsent;
107
+ }
108
+ Scale = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
109
+ /** @deprecated Use {@link Scale}. */
110
+ get scale() {
111
+ return this.Scale;
112
+ }
113
+ SelectedRating = null;
114
+ /** @deprecated Use {@link SelectedRating}. */
115
+ get selectedRating() {
116
+ return this.SelectedRating;
117
+ }
118
+ /** @deprecated Use {@link SelectedRating}. */
119
+ set selectedRating(value) {
120
+ this.SelectedRating = value;
121
+ }
122
+ HoveredRating = null;
123
+ /** @deprecated Use {@link HoveredRating}. */
124
+ get hoveredRating() {
125
+ return this.HoveredRating;
126
+ }
127
+ /** @deprecated Use {@link HoveredRating}. */
128
+ set hoveredRating(value) {
129
+ this.HoveredRating = value;
130
+ }
131
+ Comments = '';
132
+ /** @deprecated Use {@link Comments}. */
133
+ get comments() {
134
+ return this.Comments;
135
+ }
136
+ /** @deprecated Use {@link Comments}. */
137
+ set comments(value) {
138
+ this.Comments = value;
139
+ }
140
+ ConsentChecked = false;
141
+ /** @deprecated Use {@link ConsentChecked}. */
142
+ get consentChecked() {
143
+ return this.ConsentChecked;
144
+ }
145
+ /** @deprecated Use {@link ConsentChecked}. */
146
+ set consentChecked(value) {
147
+ this.ConsentChecked = value;
148
+ }
81
149
  ngOnInit() {
82
- this.selectedRating = this.initialRating;
83
- this.comments = this.initialComments ?? '';
150
+ this.SelectedRating = this.InitialRating;
151
+ this.Comments = this.InitialComments ?? '';
152
+ }
153
+ get EffectiveRating() {
154
+ return this.HoveredRating ?? this.SelectedRating;
84
155
  }
156
+ /** @deprecated Use {@link EffectiveRating}. */
85
157
  get effectiveRating() {
86
- return this.hoveredRating ?? this.selectedRating;
158
+ return this.EffectiveRating;
87
159
  }
160
+ get EffectiveBand() {
161
+ const r = this.EffectiveRating;
162
+ return r === null ? null : this.BandFor(r);
163
+ }
164
+ /** @deprecated Use {@link EffectiveBand}. */
88
165
  get effectiveBand() {
89
- const r = this.effectiveRating;
90
- return r === null ? null : this.bandFor(r);
166
+ return this.EffectiveBand;
91
167
  }
92
- bandFor(n) {
168
+ BandFor(n) {
93
169
  if (n <= 3)
94
170
  return 'low';
95
171
  if (n <= 7)
96
172
  return 'mid';
97
173
  return 'high';
98
174
  }
99
- isFilled(n) {
100
- const r = this.effectiveRating;
175
+ /** @deprecated Use {@link BandFor}. */
176
+ bandFor(n) {
177
+ return this.BandFor(n);
178
+ }
179
+ IsFilled(n) {
180
+ const r = this.EffectiveRating;
101
181
  return r !== null && r >= n;
102
182
  }
183
+ /** @deprecated Use {@link IsFilled}. */
184
+ isFilled(n) {
185
+ return this.IsFilled(n);
186
+ }
187
+ SelectRating(n) {
188
+ this.SelectedRating = n;
189
+ }
190
+ /** @deprecated Use {@link SelectRating}. */
103
191
  selectRating(n) {
104
- this.selectedRating = n;
192
+ return this.SelectRating(n);
193
+ }
194
+ OnScaleMouseLeave() {
195
+ this.HoveredRating = null;
105
196
  }
197
+ /** @deprecated Use {@link OnScaleMouseLeave}. */
106
198
  onScaleMouseLeave() {
107
- this.hoveredRating = null;
199
+ return this.OnScaleMouseLeave();
200
+ }
201
+ OnPipBlur() {
202
+ this.HoveredRating = null;
108
203
  }
204
+ /** @deprecated Use {@link OnPipBlur}. */
109
205
  onPipBlur() {
110
- this.hoveredRating = null;
206
+ return this.OnPipBlur();
111
207
  }
112
- getDescriptor(n) {
208
+ GetDescriptor(n) {
113
209
  if (n <= 2)
114
210
  return 'Very Poor';
115
211
  if (n <= 4)
@@ -120,22 +216,42 @@ export class RatingDialogComponent {
120
216
  return 'Good';
121
217
  return 'Excellent';
122
218
  }
219
+ /** @deprecated Use {@link GetDescriptor}. */
220
+ getDescriptor(n) {
221
+ return this.GetDescriptor(n);
222
+ }
223
+ GetRating() {
224
+ return this.SelectedRating;
225
+ }
226
+ /** @deprecated Use {@link GetRating}. */
123
227
  getRating() {
124
- return this.selectedRating;
228
+ return this.GetRating();
229
+ }
230
+ GetComments() {
231
+ return (this.Comments ?? '').trim();
125
232
  }
233
+ /** @deprecated Use {@link GetComments}. */
126
234
  getComments() {
127
- return (this.comments ?? '').trim();
235
+ return this.GetComments();
128
236
  }
129
237
  /** True if the consent requirement is met (not required, or required and checked). */
238
+ IsConsentValid() {
239
+ return !this.RequireConsent || this.ConsentChecked;
240
+ }
241
+ /** @deprecated Use {@link IsConsentValid}. */
130
242
  isConsentValid() {
131
- return !this.requireConsent || this.consentChecked;
243
+ return this.IsConsentValid();
132
244
  }
133
245
  /** True only when the user *just* acknowledged consent in this dialog session. */
246
+ WasConsentNewlyAcknowledged() {
247
+ return this.RequireConsent && this.ConsentChecked;
248
+ }
249
+ /** @deprecated Use {@link WasConsentNewlyAcknowledged}. */
134
250
  wasConsentNewlyAcknowledged() {
135
- return this.requireConsent && this.consentChecked;
251
+ return this.WasConsentNewlyAcknowledged();
136
252
  }
137
253
  static ɵfac = function RatingDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || RatingDialogComponent)(); };
138
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RatingDialogComponent, selectors: [["mj-rating-dialog"]], inputs: { message: "message", initialRating: "initialRating", initialComments: "initialComments", requireConsent: "requireConsent" }, standalone: false, decls: 33, vars: 7, consts: [[1, "rating-dialog"], [1, "dialog-message"], ["role", "radiogroup", "aria-label", "Rating from 1 to 10", 1, "rating-scale", 3, "mouseleave"], ["type", "button", "role", "radio", 1, "rating-pip", 3, "filled", "selected"], [1, "rating-meta"], [1, "legend-edge"], [1, "selected-caption"], [1, "muted"], [1, "legend-edge", "legend-right"], [1, "field"], [1, "field-header"], ["for", "rating-comments", 1, "field-label"], [1, "field-hint"], ["id", "rating-comments", "placeholder", "What was good or bad about this response?", "rows", "4", "maxlength", "2000", 1, "comment-textarea", 3, "ngModelChange", "ngModel"], [1, "consent-note"], [1, "fa-solid", "fa-shield-halved"], [1, "consent-body"], [1, "consent-text"], ["type", "button", "role", "radio", 1, "rating-pip", 3, "click", "mouseenter", "focus", "blur"], [1, "dot"], [1, "consent-checkbox"], ["type", "checkbox", "aria-label", "I understand and accept the access authorization above", 3, "ngModelChange", "ngModel"], [1, "consent-warning"]], template: function RatingDialogComponent_Template(rf, ctx) { if (rf & 1) {
254
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RatingDialogComponent, selectors: [["mj-rating-dialog"]], inputs: { Message: "Message", message: "message", InitialRating: "InitialRating", initialRating: "initialRating", InitialComments: "InitialComments", initialComments: "initialComments", RequireConsent: "RequireConsent", requireConsent: "requireConsent" }, standalone: false, decls: 33, vars: 7, consts: [[1, "rating-dialog"], [1, "dialog-message"], ["role", "radiogroup", "aria-label", "Rating from 1 to 10", 1, "rating-scale", 3, "mouseleave"], ["type", "button", "role", "radio", 1, "rating-pip", 3, "filled", "selected"], [1, "rating-meta"], [1, "legend-edge"], [1, "selected-caption"], [1, "muted"], [1, "legend-edge", "legend-right"], [1, "field"], [1, "field-header"], ["for", "rating-comments", 1, "field-label"], [1, "field-hint"], ["id", "rating-comments", "placeholder", "What was good or bad about this response?", "rows", "4", "maxlength", "2000", 1, "comment-textarea", 3, "ngModelChange", "ngModel"], [1, "consent-note"], [1, "fa-solid", "fa-shield-halved"], [1, "consent-body"], [1, "consent-text"], ["type", "button", "role", "radio", 1, "rating-pip", 3, "click", "mouseenter", "focus", "blur"], [1, "dot"], [1, "consent-checkbox"], ["type", "checkbox", "aria-label", "I understand and accept the access authorization above", 3, "ngModelChange", "ngModel"], [1, "consent-warning"]], template: function RatingDialogComponent_Template(rf, ctx) { if (rf & 1) {
139
255
  i0.ɵɵelementStart(0, "div", 0);
140
256
  i0.ɵɵconditionalCreate(1, RatingDialogComponent_Conditional_1_Template, 2, 1, "p", 1);
141
257
  i0.ɵɵelementStart(2, "div", 2);
@@ -277,12 +393,20 @@ export class RatingDialogComponent {
277
393
  </div>
278
394
  </div>
279
395
  `, styles: ["\n :host {\n display: block;\n --rd-text-primary: var(--mj-text-primary, #18181b);\n --rd-text-secondary: var(--mj-text-secondary, #52525b);\n --rd-text-muted: var(--mj-text-muted, #71717a);\n --rd-text-disabled: var(--mj-text-disabled, #a1a1aa);\n --rd-surface: var(--mj-bg-surface, #ffffff);\n --rd-border: var(--mj-border-default, #e4e4e7);\n --rd-border-strong: var(--mj-border-strong, #d4d4d8);\n --rd-brand: var(--mj-brand-primary, #6366f1);\n --rd-on-brand: var(--mj-text-on-brand, #ffffff);\n\n --rd-low: var(--mj-status-error, #ef4444);\n --rd-mid: var(--mj-status-warning, #f59e0b);\n --rd-high: var(--mj-status-success, #10b981);\n }\n\n .rating-dialog {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 18px;\n padding: 4px 20px 8px;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;\n }\n .rating-dialog * { box-sizing: border-box; }\n\n .dialog-message {\n margin: 0;\n color: var(--rd-text-secondary);\n font-size: 14px;\n line-height: 1.5;\n }\n\n /* \u2500\u2500\u2500 Pill row \u2500\u2500\u2500 */\n .rating-scale {\n display: grid;\n grid-template-columns: repeat(10, minmax(0, 1fr));\n gap: 6px;\n width: 100%;\n }\n .rating-pip {\n appearance: none;\n -webkit-appearance: none;\n width: 100%;\n min-width: 0;\n height: 40px;\n padding: 0;\n background: var(--rd-surface);\n border: 1px solid var(--rd-border);\n border-radius: 8px;\n font-family: inherit;\n font-size: 13px;\n font-weight: 600;\n color: var(--rd-text-secondary);\n cursor: pointer;\n transition: transform 100ms ease, background 140ms ease, border-color 140ms ease, color 140ms ease, box-shadow 140ms ease;\n font-variant-numeric: tabular-nums;\n }\n .rating-pip:hover {\n border-color: var(--rd-border-strong);\n color: var(--rd-text-primary);\n }\n .rating-pip:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--rd-brand) 25%, transparent);\n }\n .rating-pip.filled[data-band=\"low\"] { background: var(--rd-low); border-color: var(--rd-low); color: var(--rd-on-brand); }\n .rating-pip.filled[data-band=\"mid\"] { background: var(--rd-mid); border-color: var(--rd-mid); color: var(--rd-on-brand); }\n .rating-pip.filled[data-band=\"high\"] { background: var(--rd-high); border-color: var(--rd-high); color: var(--rd-on-brand); }\n .rating-pip.selected { transform: translateY(-1px); }\n\n /* \u2500\u2500\u2500 Meta row: edge legend + center caption \u2500\u2500\u2500 */\n .rating-meta {\n display: grid;\n grid-template-columns: 1fr auto 1fr;\n align-items: center;\n gap: 8px;\n padding: 0 2px;\n margin-top: -2px;\n font-size: 11px;\n color: var(--rd-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.4px;\n }\n .legend-edge { font-weight: 500; }\n .legend-right { text-align: right; }\n\n .selected-caption {\n display: inline-flex;\n align-items: baseline;\n gap: 6px;\n font-size: 12px;\n font-weight: 600;\n text-transform: none;\n letter-spacing: 0;\n color: var(--rd-text-secondary);\n font-variant-numeric: tabular-nums;\n }\n .selected-caption strong { font-weight: 700; font-size: 13px; }\n .selected-caption .dot { color: var(--rd-text-disabled); }\n .selected-caption .muted { color: var(--rd-text-disabled); font-weight: 500; }\n .selected-caption[data-band=\"low\"] { color: var(--rd-low); }\n .selected-caption[data-band=\"mid\"] { color: var(--rd-mid); }\n .selected-caption[data-band=\"high\"] { color: var(--rd-high); }\n\n /* \u2500\u2500\u2500 Comment field \u2500\u2500\u2500 */\n .field {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n .field-header {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n }\n .field-label {\n font-weight: 600;\n font-size: 13px;\n color: var(--rd-text-primary);\n }\n .field-hint {\n font-size: 11px;\n color: var(--rd-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.4px;\n }\n .comment-textarea {\n width: 100%;\n min-height: 88px;\n padding: 10px 12px;\n border: 1px solid var(--rd-border);\n border-radius: 8px;\n background: var(--rd-surface);\n color: var(--rd-text-primary);\n font-family: inherit;\n font-size: 13.5px;\n line-height: 1.5;\n resize: vertical;\n transition: border-color 140ms ease, box-shadow 140ms ease;\n }\n .comment-textarea::placeholder { color: var(--rd-text-disabled); }\n .comment-textarea:hover { border-color: var(--rd-border-strong); }\n .comment-textarea:focus {\n outline: none;\n border-color: var(--rd-brand);\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--rd-brand) 18%, transparent);\n }\n\n /* \u2500\u2500\u2500 Consent note \u2500\u2500\u2500 */\n .consent-note {\n display: flex;\n gap: 10px;\n align-items: flex-start;\n padding: 12px 14px;\n background: color-mix(in srgb, var(--rd-brand) 6%, var(--rd-surface));\n border: 1px solid color-mix(in srgb, var(--rd-brand) 22%, var(--rd-border));\n border-radius: 8px;\n }\n .consent-note > i {\n color: var(--rd-brand);\n font-size: 14px;\n margin-top: 2px;\n flex-shrink: 0;\n }\n .consent-body { flex: 1; min-width: 0; }\n .consent-text {\n margin: 0;\n font-size: 12.5px;\n line-height: 1.5;\n color: var(--rd-text-secondary);\n }\n .consent-text strong { color: var(--rd-text-primary); font-weight: 600; }\n .consent-checkbox {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 10px;\n font-size: 12.5px;\n color: var(--rd-text-primary);\n font-weight: 500;\n cursor: pointer;\n user-select: none;\n }\n .consent-checkbox input {\n width: 15px;\n height: 15px;\n cursor: pointer;\n accent-color: var(--rd-brand);\n }\n .consent-warning {\n margin: 6px 0 0 23px;\n font-size: 11px;\n color: var(--rd-low);\n font-weight: 500;\n }\n "] }]
280
- }], null, { message: [{
396
+ }], null, { Message: [{
397
+ type: Input
398
+ }], message: [{
399
+ type: Input
400
+ }], InitialRating: [{
281
401
  type: Input
282
402
  }], initialRating: [{
283
403
  type: Input
404
+ }], InitialComments: [{
405
+ type: Input
284
406
  }], initialComments: [{
285
407
  type: Input
408
+ }], RequireConsent: [{
409
+ type: Input
286
410
  }], requireConsent: [{
287
411
  type: Input
288
412
  }] }); })();
@@ -1 +1 @@
1
- {"version":3,"file":"rating-dialog.component.js","sourceRoot":"","sources":["../../../../src/lib/components/dialogs/rating-dialog.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input } from '@angular/core';\n\n@Component({\n standalone: false,\n selector: 'mj-rating-dialog',\n template: `\n <div class=\"rating-dialog\">\n @if (message) {\n <p class=\"dialog-message\">{{ message }}</p>\n }\n\n <div\n class=\"rating-scale\"\n role=\"radiogroup\"\n aria-label=\"Rating from 1 to 10\"\n (mouseleave)=\"onScaleMouseLeave()\">\n @for (n of scale; track n) {\n <button\n type=\"button\"\n class=\"rating-pip\"\n [class.filled]=\"isFilled(n)\"\n [class.selected]=\"selectedRating === n\"\n [attr.data-band]=\"bandFor(n)\"\n [attr.aria-checked]=\"selectedRating === n\"\n role=\"radio\"\n (click)=\"selectRating(n)\"\n (mouseenter)=\"hoveredRating = n\"\n (focus)=\"hoveredRating = n\"\n (blur)=\"onPipBlur()\">\n {{ n }}\n </button>\n }\n </div>\n\n <div class=\"rating-meta\">\n <span class=\"legend-edge\">1 — Worst</span>\n <span class=\"selected-caption\" [attr.data-band]=\"effectiveBand\">\n @if (effectiveRating !== null) {\n <strong>{{ effectiveRating }}/10</strong>\n <span class=\"dot\">·</span>\n <span>{{ getDescriptor(effectiveRating) }}</span>\n } @else {\n <span class=\"muted\">Pick a number</span>\n }\n </span>\n <span class=\"legend-edge legend-right\">10 — Best</span>\n </div>\n\n <div class=\"field\">\n <div class=\"field-header\">\n <label class=\"field-label\" for=\"rating-comments\">Tell us more</label>\n <span class=\"field-hint\">Optional</span>\n </div>\n <textarea\n id=\"rating-comments\"\n [(ngModel)]=\"comments\"\n class=\"comment-textarea\"\n placeholder=\"What was good or bad about this response?\"\n rows=\"4\"\n maxlength=\"2000\">\n </textarea>\n </div>\n\n <div class=\"consent-note\" [class.requires-consent]=\"requireConsent\">\n <i class=\"fa-solid fa-shield-halved\"></i>\n <div class=\"consent-body\">\n <p class=\"consent-text\">\n By submitting, you authorize the <strong>Integrations</strong> and\n <strong>Developer</strong> teams to view this conversation and the\n rated component so they can improve agent quality.\n </p>\n @if (requireConsent) {\n <label class=\"consent-checkbox\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"consentChecked\"\n aria-label=\"I understand and accept the access authorization above\" />\n <span>I understand and accept this.</span>\n </label>\n @if (!consentChecked) {\n <p class=\"consent-warning\">Required to submit your feedback.</p>\n }\n }\n </div>\n </div>\n </div>\n `,\n styles: [`\n :host {\n display: block;\n --rd-text-primary: var(--mj-text-primary, #18181b);\n --rd-text-secondary: var(--mj-text-secondary, #52525b);\n --rd-text-muted: var(--mj-text-muted, #71717a);\n --rd-text-disabled: var(--mj-text-disabled, #a1a1aa);\n --rd-surface: var(--mj-bg-surface, #ffffff);\n --rd-border: var(--mj-border-default, #e4e4e7);\n --rd-border-strong: var(--mj-border-strong, #d4d4d8);\n --rd-brand: var(--mj-brand-primary, #6366f1);\n --rd-on-brand: var(--mj-text-on-brand, #ffffff);\n\n --rd-low: var(--mj-status-error, #ef4444);\n --rd-mid: var(--mj-status-warning, #f59e0b);\n --rd-high: var(--mj-status-success, #10b981);\n }\n\n .rating-dialog {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 18px;\n padding: 4px 20px 8px;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;\n }\n .rating-dialog * { box-sizing: border-box; }\n\n .dialog-message {\n margin: 0;\n color: var(--rd-text-secondary);\n font-size: 14px;\n line-height: 1.5;\n }\n\n /* ─── Pill row ─── */\n .rating-scale {\n display: grid;\n grid-template-columns: repeat(10, minmax(0, 1fr));\n gap: 6px;\n width: 100%;\n }\n .rating-pip {\n appearance: none;\n -webkit-appearance: none;\n width: 100%;\n min-width: 0;\n height: 40px;\n padding: 0;\n background: var(--rd-surface);\n border: 1px solid var(--rd-border);\n border-radius: 8px;\n font-family: inherit;\n font-size: 13px;\n font-weight: 600;\n color: var(--rd-text-secondary);\n cursor: pointer;\n transition: transform 100ms ease, background 140ms ease, border-color 140ms ease, color 140ms ease, box-shadow 140ms ease;\n font-variant-numeric: tabular-nums;\n }\n .rating-pip:hover {\n border-color: var(--rd-border-strong);\n color: var(--rd-text-primary);\n }\n .rating-pip:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--rd-brand) 25%, transparent);\n }\n .rating-pip.filled[data-band=\"low\"] { background: var(--rd-low); border-color: var(--rd-low); color: var(--rd-on-brand); }\n .rating-pip.filled[data-band=\"mid\"] { background: var(--rd-mid); border-color: var(--rd-mid); color: var(--rd-on-brand); }\n .rating-pip.filled[data-band=\"high\"] { background: var(--rd-high); border-color: var(--rd-high); color: var(--rd-on-brand); }\n .rating-pip.selected { transform: translateY(-1px); }\n\n /* ─── Meta row: edge legend + center caption ─── */\n .rating-meta {\n display: grid;\n grid-template-columns: 1fr auto 1fr;\n align-items: center;\n gap: 8px;\n padding: 0 2px;\n margin-top: -2px;\n font-size: 11px;\n color: var(--rd-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.4px;\n }\n .legend-edge { font-weight: 500; }\n .legend-right { text-align: right; }\n\n .selected-caption {\n display: inline-flex;\n align-items: baseline;\n gap: 6px;\n font-size: 12px;\n font-weight: 600;\n text-transform: none;\n letter-spacing: 0;\n color: var(--rd-text-secondary);\n font-variant-numeric: tabular-nums;\n }\n .selected-caption strong { font-weight: 700; font-size: 13px; }\n .selected-caption .dot { color: var(--rd-text-disabled); }\n .selected-caption .muted { color: var(--rd-text-disabled); font-weight: 500; }\n .selected-caption[data-band=\"low\"] { color: var(--rd-low); }\n .selected-caption[data-band=\"mid\"] { color: var(--rd-mid); }\n .selected-caption[data-band=\"high\"] { color: var(--rd-high); }\n\n /* ─── Comment field ─── */\n .field {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n .field-header {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n }\n .field-label {\n font-weight: 600;\n font-size: 13px;\n color: var(--rd-text-primary);\n }\n .field-hint {\n font-size: 11px;\n color: var(--rd-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.4px;\n }\n .comment-textarea {\n width: 100%;\n min-height: 88px;\n padding: 10px 12px;\n border: 1px solid var(--rd-border);\n border-radius: 8px;\n background: var(--rd-surface);\n color: var(--rd-text-primary);\n font-family: inherit;\n font-size: 13.5px;\n line-height: 1.5;\n resize: vertical;\n transition: border-color 140ms ease, box-shadow 140ms ease;\n }\n .comment-textarea::placeholder { color: var(--rd-text-disabled); }\n .comment-textarea:hover { border-color: var(--rd-border-strong); }\n .comment-textarea:focus {\n outline: none;\n border-color: var(--rd-brand);\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--rd-brand) 18%, transparent);\n }\n\n /* ─── Consent note ─── */\n .consent-note {\n display: flex;\n gap: 10px;\n align-items: flex-start;\n padding: 12px 14px;\n background: color-mix(in srgb, var(--rd-brand) 6%, var(--rd-surface));\n border: 1px solid color-mix(in srgb, var(--rd-brand) 22%, var(--rd-border));\n border-radius: 8px;\n }\n .consent-note > i {\n color: var(--rd-brand);\n font-size: 14px;\n margin-top: 2px;\n flex-shrink: 0;\n }\n .consent-body { flex: 1; min-width: 0; }\n .consent-text {\n margin: 0;\n font-size: 12.5px;\n line-height: 1.5;\n color: var(--rd-text-secondary);\n }\n .consent-text strong { color: var(--rd-text-primary); font-weight: 600; }\n .consent-checkbox {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 10px;\n font-size: 12.5px;\n color: var(--rd-text-primary);\n font-weight: 500;\n cursor: pointer;\n user-select: none;\n }\n .consent-checkbox input {\n width: 15px;\n height: 15px;\n cursor: pointer;\n accent-color: var(--rd-brand);\n }\n .consent-warning {\n margin: 6px 0 0 23px;\n font-size: 11px;\n color: var(--rd-low);\n font-weight: 500;\n }\n `]\n})\nexport class RatingDialogComponent {\n @Input() message: string = '';\n @Input() initialRating: number | null = null;\n @Input() initialComments: string = '';\n\n /** When true, the user must check the consent box before submitting. */\n @Input() requireConsent: boolean = false;\n\n readonly scale: number[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\n selectedRating: number | null = null;\n hoveredRating: number | null = null;\n comments: string = '';\n consentChecked: boolean = false;\n\n ngOnInit(): void {\n this.selectedRating = this.initialRating;\n this.comments = this.initialComments ?? '';\n }\n\n get effectiveRating(): number | null {\n return this.hoveredRating ?? this.selectedRating;\n }\n\n get effectiveBand(): string | null {\n const r = this.effectiveRating;\n return r === null ? null : this.bandFor(r);\n }\n\n bandFor(n: number): 'low' | 'mid' | 'high' {\n if (n <= 3) return 'low';\n if (n <= 7) return 'mid';\n return 'high';\n }\n\n isFilled(n: number): boolean {\n const r = this.effectiveRating;\n return r !== null && r >= n;\n }\n\n selectRating(n: number): void {\n this.selectedRating = n;\n }\n\n onScaleMouseLeave(): void {\n this.hoveredRating = null;\n }\n\n onPipBlur(): void {\n this.hoveredRating = null;\n }\n\n getDescriptor(n: number): string {\n if (n <= 2) return 'Very Poor';\n if (n <= 4) return 'Needs Improvement';\n if (n <= 6) return 'Okay';\n if (n <= 8) return 'Good';\n return 'Excellent';\n }\n\n getRating(): number | null {\n return this.selectedRating;\n }\n\n getComments(): string {\n return (this.comments ?? '').trim();\n }\n\n /** True if the consent requirement is met (not required, or required and checked). */\n isConsentValid(): boolean {\n return !this.requireConsent || this.consentChecked;\n }\n\n /** True only when the user *just* acknowledged consent in this dialog session. */\n wasConsentNewlyAcknowledged(): boolean {\n return this.requireConsent && this.consentChecked;\n }\n}\n"]}
1
+ {"version":3,"file":"rating-dialog.component.js","sourceRoot":"","sources":["../../../../src/lib/components/dialogs/rating-dialog.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input } from '@angular/core';\n\n@Component({\n standalone: false,\n selector: 'mj-rating-dialog',\n template: `\n <div class=\"rating-dialog\">\n @if (message) {\n <p class=\"dialog-message\">{{ message }}</p>\n }\n\n <div\n class=\"rating-scale\"\n role=\"radiogroup\"\n aria-label=\"Rating from 1 to 10\"\n (mouseleave)=\"onScaleMouseLeave()\">\n @for (n of scale; track n) {\n <button\n type=\"button\"\n class=\"rating-pip\"\n [class.filled]=\"isFilled(n)\"\n [class.selected]=\"selectedRating === n\"\n [attr.data-band]=\"bandFor(n)\"\n [attr.aria-checked]=\"selectedRating === n\"\n role=\"radio\"\n (click)=\"selectRating(n)\"\n (mouseenter)=\"hoveredRating = n\"\n (focus)=\"hoveredRating = n\"\n (blur)=\"onPipBlur()\">\n {{ n }}\n </button>\n }\n </div>\n\n <div class=\"rating-meta\">\n <span class=\"legend-edge\">1 — Worst</span>\n <span class=\"selected-caption\" [attr.data-band]=\"effectiveBand\">\n @if (effectiveRating !== null) {\n <strong>{{ effectiveRating }}/10</strong>\n <span class=\"dot\">·</span>\n <span>{{ getDescriptor(effectiveRating) }}</span>\n } @else {\n <span class=\"muted\">Pick a number</span>\n }\n </span>\n <span class=\"legend-edge legend-right\">10 — Best</span>\n </div>\n\n <div class=\"field\">\n <div class=\"field-header\">\n <label class=\"field-label\" for=\"rating-comments\">Tell us more</label>\n <span class=\"field-hint\">Optional</span>\n </div>\n <textarea\n id=\"rating-comments\"\n [(ngModel)]=\"comments\"\n class=\"comment-textarea\"\n placeholder=\"What was good or bad about this response?\"\n rows=\"4\"\n maxlength=\"2000\">\n </textarea>\n </div>\n\n <div class=\"consent-note\" [class.requires-consent]=\"requireConsent\">\n <i class=\"fa-solid fa-shield-halved\"></i>\n <div class=\"consent-body\">\n <p class=\"consent-text\">\n By submitting, you authorize the <strong>Integrations</strong> and\n <strong>Developer</strong> teams to view this conversation and the\n rated component so they can improve agent quality.\n </p>\n @if (requireConsent) {\n <label class=\"consent-checkbox\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"consentChecked\"\n aria-label=\"I understand and accept the access authorization above\" />\n <span>I understand and accept this.</span>\n </label>\n @if (!consentChecked) {\n <p class=\"consent-warning\">Required to submit your feedback.</p>\n }\n }\n </div>\n </div>\n </div>\n `,\n styles: [`\n :host {\n display: block;\n --rd-text-primary: var(--mj-text-primary, #18181b);\n --rd-text-secondary: var(--mj-text-secondary, #52525b);\n --rd-text-muted: var(--mj-text-muted, #71717a);\n --rd-text-disabled: var(--mj-text-disabled, #a1a1aa);\n --rd-surface: var(--mj-bg-surface, #ffffff);\n --rd-border: var(--mj-border-default, #e4e4e7);\n --rd-border-strong: var(--mj-border-strong, #d4d4d8);\n --rd-brand: var(--mj-brand-primary, #6366f1);\n --rd-on-brand: var(--mj-text-on-brand, #ffffff);\n\n --rd-low: var(--mj-status-error, #ef4444);\n --rd-mid: var(--mj-status-warning, #f59e0b);\n --rd-high: var(--mj-status-success, #10b981);\n }\n\n .rating-dialog {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 18px;\n padding: 4px 20px 8px;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;\n }\n .rating-dialog * { box-sizing: border-box; }\n\n .dialog-message {\n margin: 0;\n color: var(--rd-text-secondary);\n font-size: 14px;\n line-height: 1.5;\n }\n\n /* ─── Pill row ─── */\n .rating-scale {\n display: grid;\n grid-template-columns: repeat(10, minmax(0, 1fr));\n gap: 6px;\n width: 100%;\n }\n .rating-pip {\n appearance: none;\n -webkit-appearance: none;\n width: 100%;\n min-width: 0;\n height: 40px;\n padding: 0;\n background: var(--rd-surface);\n border: 1px solid var(--rd-border);\n border-radius: 8px;\n font-family: inherit;\n font-size: 13px;\n font-weight: 600;\n color: var(--rd-text-secondary);\n cursor: pointer;\n transition: transform 100ms ease, background 140ms ease, border-color 140ms ease, color 140ms ease, box-shadow 140ms ease;\n font-variant-numeric: tabular-nums;\n }\n .rating-pip:hover {\n border-color: var(--rd-border-strong);\n color: var(--rd-text-primary);\n }\n .rating-pip:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--rd-brand) 25%, transparent);\n }\n .rating-pip.filled[data-band=\"low\"] { background: var(--rd-low); border-color: var(--rd-low); color: var(--rd-on-brand); }\n .rating-pip.filled[data-band=\"mid\"] { background: var(--rd-mid); border-color: var(--rd-mid); color: var(--rd-on-brand); }\n .rating-pip.filled[data-band=\"high\"] { background: var(--rd-high); border-color: var(--rd-high); color: var(--rd-on-brand); }\n .rating-pip.selected { transform: translateY(-1px); }\n\n /* ─── Meta row: edge legend + center caption ─── */\n .rating-meta {\n display: grid;\n grid-template-columns: 1fr auto 1fr;\n align-items: center;\n gap: 8px;\n padding: 0 2px;\n margin-top: -2px;\n font-size: 11px;\n color: var(--rd-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.4px;\n }\n .legend-edge { font-weight: 500; }\n .legend-right { text-align: right; }\n\n .selected-caption {\n display: inline-flex;\n align-items: baseline;\n gap: 6px;\n font-size: 12px;\n font-weight: 600;\n text-transform: none;\n letter-spacing: 0;\n color: var(--rd-text-secondary);\n font-variant-numeric: tabular-nums;\n }\n .selected-caption strong { font-weight: 700; font-size: 13px; }\n .selected-caption .dot { color: var(--rd-text-disabled); }\n .selected-caption .muted { color: var(--rd-text-disabled); font-weight: 500; }\n .selected-caption[data-band=\"low\"] { color: var(--rd-low); }\n .selected-caption[data-band=\"mid\"] { color: var(--rd-mid); }\n .selected-caption[data-band=\"high\"] { color: var(--rd-high); }\n\n /* ─── Comment field ─── */\n .field {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n .field-header {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n }\n .field-label {\n font-weight: 600;\n font-size: 13px;\n color: var(--rd-text-primary);\n }\n .field-hint {\n font-size: 11px;\n color: var(--rd-text-disabled);\n text-transform: uppercase;\n letter-spacing: 0.4px;\n }\n .comment-textarea {\n width: 100%;\n min-height: 88px;\n padding: 10px 12px;\n border: 1px solid var(--rd-border);\n border-radius: 8px;\n background: var(--rd-surface);\n color: var(--rd-text-primary);\n font-family: inherit;\n font-size: 13.5px;\n line-height: 1.5;\n resize: vertical;\n transition: border-color 140ms ease, box-shadow 140ms ease;\n }\n .comment-textarea::placeholder { color: var(--rd-text-disabled); }\n .comment-textarea:hover { border-color: var(--rd-border-strong); }\n .comment-textarea:focus {\n outline: none;\n border-color: var(--rd-brand);\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--rd-brand) 18%, transparent);\n }\n\n /* ─── Consent note ─── */\n .consent-note {\n display: flex;\n gap: 10px;\n align-items: flex-start;\n padding: 12px 14px;\n background: color-mix(in srgb, var(--rd-brand) 6%, var(--rd-surface));\n border: 1px solid color-mix(in srgb, var(--rd-brand) 22%, var(--rd-border));\n border-radius: 8px;\n }\n .consent-note > i {\n color: var(--rd-brand);\n font-size: 14px;\n margin-top: 2px;\n flex-shrink: 0;\n }\n .consent-body { flex: 1; min-width: 0; }\n .consent-text {\n margin: 0;\n font-size: 12.5px;\n line-height: 1.5;\n color: var(--rd-text-secondary);\n }\n .consent-text strong { color: var(--rd-text-primary); font-weight: 600; }\n .consent-checkbox {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 10px;\n font-size: 12.5px;\n color: var(--rd-text-primary);\n font-weight: 500;\n cursor: pointer;\n user-select: none;\n }\n .consent-checkbox input {\n width: 15px;\n height: 15px;\n cursor: pointer;\n accent-color: var(--rd-brand);\n }\n .consent-warning {\n margin: 6px 0 0 23px;\n font-size: 11px;\n color: var(--rd-low);\n font-weight: 500;\n }\n `]\n})\nexport class RatingDialogComponent {\n @Input() Message: string = '';\n\n /** @deprecated Use {@link Message}. */\n @Input() set message(value: string) {\n this.Message = value;\n }\n /** @deprecated Use {@link Message}. */\n get message(): string {\n return this.Message;\n }\n @Input() InitialRating: number | null = null;\n\n /** @deprecated Use {@link InitialRating}. */\n @Input() set initialRating(value: number | null) {\n this.InitialRating = value;\n }\n /** @deprecated Use {@link InitialRating}. */\n get initialRating(): number | null {\n return this.InitialRating;\n }\n @Input() InitialComments: string = '';\n\n /** @deprecated Use {@link InitialComments}. */\n @Input() set initialComments(value: string) {\n this.InitialComments = value;\n }\n /** @deprecated Use {@link InitialComments}. */\n get initialComments(): string {\n return this.InitialComments;\n }\n\n /** When true, the user must check the consent box before submitting. */\n @Input() RequireConsent: boolean = false;\n\n /** @deprecated Use {@link RequireConsent}. */\n @Input() set requireConsent(value: boolean) {\n this.RequireConsent = value;\n }\n /** @deprecated Use {@link RequireConsent}. */\n get requireConsent(): boolean {\n return this.RequireConsent;\n }\n\n readonly Scale: number[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\n\n /** @deprecated Use {@link Scale}. */\n get scale(): number[] {\n return this.Scale;\n }\n SelectedRating: number | null = null;\n\n /** @deprecated Use {@link SelectedRating}. */\n get selectedRating(): number | null {\n return this.SelectedRating;\n }\n /** @deprecated Use {@link SelectedRating}. */\n set selectedRating(value: number | null) {\n this.SelectedRating = value;\n }\n HoveredRating: number | null = null;\n\n /** @deprecated Use {@link HoveredRating}. */\n get hoveredRating(): number | null {\n return this.HoveredRating;\n }\n /** @deprecated Use {@link HoveredRating}. */\n set hoveredRating(value: number | null) {\n this.HoveredRating = value;\n }\n Comments: string = '';\n\n /** @deprecated Use {@link Comments}. */\n get comments(): string {\n return this.Comments;\n }\n /** @deprecated Use {@link Comments}. */\n set comments(value: string) {\n this.Comments = value;\n }\n ConsentChecked: boolean = false;\n\n /** @deprecated Use {@link ConsentChecked}. */\n get consentChecked(): boolean {\n return this.ConsentChecked;\n }\n /** @deprecated Use {@link ConsentChecked}. */\n set consentChecked(value: boolean) {\n this.ConsentChecked = value;\n }\n\n ngOnInit(): void {\n this.SelectedRating = this.InitialRating;\n this.Comments = this.InitialComments ?? '';\n }\n\n get EffectiveRating(): number | null {\n return this.HoveredRating ?? this.SelectedRating;\n }\n\n /** @deprecated Use {@link EffectiveRating}. */\n get effectiveRating(): number | null {\n return this.EffectiveRating;\n }\n\n get EffectiveBand(): string | null {\n const r = this.EffectiveRating;\n return r === null ? null : this.BandFor(r);\n }\n\n /** @deprecated Use {@link EffectiveBand}. */\n get effectiveBand(): string | null {\n return this.EffectiveBand;\n }\n\n BandFor(n: number): 'low' | 'mid' | 'high' {\n if (n <= 3) return 'low';\n if (n <= 7) return 'mid';\n return 'high';\n }\n\n /** @deprecated Use {@link BandFor}. */\n bandFor(n: number): 'low' | 'mid' | 'high' {\n return this.BandFor(n);\n }\n\n IsFilled(n: number): boolean {\n const r = this.EffectiveRating;\n return r !== null && r >= n;\n }\n\n /** @deprecated Use {@link IsFilled}. */\n isFilled(n: number): boolean {\n return this.IsFilled(n);\n }\n\n SelectRating(n: number): void {\n this.SelectedRating = n;\n }\n\n /** @deprecated Use {@link SelectRating}. */\n selectRating(n: number): void {\n return this.SelectRating(n);\n }\n\n OnScaleMouseLeave(): void {\n this.HoveredRating = null;\n }\n\n /** @deprecated Use {@link OnScaleMouseLeave}. */\n onScaleMouseLeave(): void {\n return this.OnScaleMouseLeave();\n }\n\n OnPipBlur(): void {\n this.HoveredRating = null;\n }\n\n /** @deprecated Use {@link OnPipBlur}. */\n onPipBlur(): void {\n return this.OnPipBlur();\n }\n\n GetDescriptor(n: number): string {\n if (n <= 2) return 'Very Poor';\n if (n <= 4) return 'Needs Improvement';\n if (n <= 6) return 'Okay';\n if (n <= 8) return 'Good';\n return 'Excellent';\n }\n\n /** @deprecated Use {@link GetDescriptor}. */\n getDescriptor(n: number): string {\n return this.GetDescriptor(n);\n }\n\n GetRating(): number | null {\n return this.SelectedRating;\n }\n\n /** @deprecated Use {@link GetRating}. */\n getRating(): number | null {\n return this.GetRating();\n }\n\n GetComments(): string {\n return (this.Comments ?? '').trim();\n }\n\n /** @deprecated Use {@link GetComments}. */\n getComments(): string {\n return this.GetComments();\n }\n\n /** True if the consent requirement is met (not required, or required and checked). */\n IsConsentValid(): boolean {\n return !this.RequireConsent || this.ConsentChecked;\n }\n\n /** @deprecated Use {@link IsConsentValid}. */\n isConsentValid(): boolean {\n return this.IsConsentValid();\n }\n\n /** True only when the user *just* acknowledged consent in this dialog session. */\n WasConsentNewlyAcknowledged(): boolean {\n return this.RequireConsent && this.ConsentChecked;\n }\n\n /** @deprecated Use {@link WasConsentNewlyAcknowledged}. */\n wasConsentNewlyAcknowledged(): boolean {\n return this.WasConsentNewlyAcknowledged();\n }\n}\n"]}
@@ -10,23 +10,73 @@ export declare class ExportModalComponent {
10
10
  private dialogService;
11
11
  private toastService;
12
12
  private _isVisible;
13
- set isVisible(value: boolean);
13
+ set IsVisible(value: boolean);
14
+ get IsVisible(): boolean;
15
+ /** @deprecated Use {@link IsVisible}. */
14
16
  get isVisible(): boolean;
15
- conversation?: MJConversationEntity;
16
- currentUser: UserInfo;
17
+ /** @deprecated Use {@link IsVisible}. */
18
+ set isVisible(value: boolean);
19
+ Conversation?: MJConversationEntity;
20
+ /** @deprecated Use {@link Conversation}. */
21
+ set conversation(value: MJConversationEntity | undefined);
22
+ /** @deprecated Use {@link Conversation}. */
23
+ get conversation(): MJConversationEntity | undefined;
24
+ CurrentUser: UserInfo;
25
+ /** @deprecated Use {@link CurrentUser}. */
26
+ set currentUser(value: UserInfo);
27
+ /** @deprecated Use {@link CurrentUser}. */
28
+ get currentUser(): UserInfo;
17
29
  /**
18
30
  * Host-supplied export branding (theme tokens / logo / title). When set, the
19
31
  * HTML format's "Include branding" checkbox defaults on and the branding is
20
32
  * passed to {@link ExportService} on export. See `ExportBranding`.
21
33
  */
22
- branding: ExportBranding | null;
34
+ Branding: ExportBranding | null;
35
+ /** @deprecated Use {@link Branding}. */
36
+ set branding(value: ExportBranding | null);
37
+ /** @deprecated Use {@link Branding}. */
38
+ get branding(): ExportBranding | null;
39
+ Cancelled: EventEmitter<void>;
40
+ /**
41
+ * @deprecated Use {@link Cancelled}.
42
+ *
43
+ * The same emitter under the old binding name, so a template still binding
44
+ * (cancelled) keeps working. Must stay AFTER Cancelled: class fields
45
+ * initialise in order, and the other way round this captures undefined.
46
+ */
23
47
  cancelled: EventEmitter<void>;
48
+ Exported: EventEmitter<void>;
49
+ /**
50
+ * @deprecated Use {@link Exported}.
51
+ *
52
+ * The same emitter under the old binding name, so a template still binding
53
+ * (exported) keeps working. Must stay AFTER Exported: class fields
54
+ * initialise in order, and the other way round this captures undefined.
55
+ */
24
56
  exported: EventEmitter<void>;
25
- selectedFormat: ExportFormat | null;
26
- isExporting: boolean;
27
- errorMessage: string;
28
- exportOptions: ExportOptions;
57
+ SelectedFormat: ExportFormat | null;
58
+ /** @deprecated Use {@link SelectedFormat}. */
59
+ get selectedFormat(): ExportFormat | null;
60
+ /** @deprecated Use {@link SelectedFormat}. */
61
+ set selectedFormat(value: ExportFormat | null);
62
+ IsExporting: boolean;
63
+ /** @deprecated Use {@link IsExporting}. */
64
+ get isExporting(): boolean;
65
+ /** @deprecated Use {@link IsExporting}. */
66
+ set isExporting(value: boolean);
67
+ ErrorMessage: string;
68
+ /** @deprecated Use {@link ErrorMessage}. */
69
+ get errorMessage(): string;
70
+ /** @deprecated Use {@link ErrorMessage}. */
71
+ set errorMessage(value: string);
72
+ ExportOptions: ExportOptions;
73
+ /** @deprecated Use {@link ExportOptions}. */
74
+ get exportOptions(): ExportOptions;
75
+ /** @deprecated Use {@link ExportOptions}. */
76
+ set exportOptions(value: ExportOptions);
29
77
  /** Format-aware hint under the "Include branding" checkbox. */
78
+ get BrandingHint(): string;
79
+ /** @deprecated Use {@link BrandingHint}. */
30
80
  get brandingHint(): string;
31
81
  /**
32
82
  * The options actually handed to the service. `includeTheme` is the user's INTENT;
@@ -40,20 +90,44 @@ export declare class ExportModalComponent {
40
90
  * format.
41
91
  */
42
92
  private resolveExportOptions;
93
+ get ExportTitle(): string;
94
+ /** @deprecated Use {@link ExportTitle}. */
43
95
  get exportTitle(): string;
96
+ get CanExport(): boolean;
97
+ /** @deprecated Use {@link CanExport}. */
44
98
  get canExport(): boolean;
45
- formats: {
99
+ Formats: {
46
100
  value: ExportFormat;
47
101
  name: string;
48
102
  description: string;
49
103
  icon: string;
50
104
  }[];
105
+ /** @deprecated Use {@link Formats}. */
106
+ get formats(): {
107
+ value: ExportFormat;
108
+ name: string;
109
+ description: string;
110
+ icon: string;
111
+ }[];
112
+ /** @deprecated Use {@link Formats}. */
113
+ set formats(value: {
114
+ value: ExportFormat;
115
+ name: string;
116
+ description: string;
117
+ icon: string;
118
+ }[]);
51
119
  constructor(exportService: ExportService, dialogService: DialogService, toastService: ToastService);
120
+ SelectFormat(format: ExportFormat): void;
121
+ /** @deprecated Use {@link SelectFormat}. */
52
122
  selectFormat(format: ExportFormat): void;
123
+ OnExport(): Promise<void>;
124
+ /** @deprecated Use {@link OnExport}. */
53
125
  onExport(): Promise<void>;
126
+ OnCancel(): void;
127
+ /** @deprecated Use {@link OnCancel}. */
54
128
  onCancel(): void;
55
129
  private resetForm;
56
130
  static ɵfac: i0.ɵɵFactoryDeclaration<ExportModalComponent, never>;
57
- static ɵcmp: i0.ɵɵComponentDeclaration<ExportModalComponent, "mj-export-modal", never, { "isVisible": { "alias": "isVisible"; "required": false; }; "conversation": { "alias": "conversation"; "required": false; }; "currentUser": { "alias": "currentUser"; "required": false; }; "branding": { "alias": "branding"; "required": false; }; }, { "cancelled": "cancelled"; "exported": "exported"; }, never, never, false, never>;
131
+ static ɵcmp: i0.ɵɵComponentDeclaration<ExportModalComponent, "mj-export-modal", never, { "IsVisible": { "alias": "IsVisible"; "required": false; }; "isVisible": { "alias": "isVisible"; "required": false; }; "Conversation": { "alias": "Conversation"; "required": false; }; "conversation": { "alias": "conversation"; "required": false; }; "CurrentUser": { "alias": "CurrentUser"; "required": false; }; "currentUser": { "alias": "currentUser"; "required": false; }; "Branding": { "alias": "Branding"; "required": false; }; "branding": { "alias": "branding"; "required": false; }; }, { "Cancelled": "Cancelled"; "cancelled": "cancelled"; "Exported": "Exported"; "exported": "exported"; }, never, never, false, never>;
58
132
  }
59
133
  //# sourceMappingURL=export-modal.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"export-modal.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/export/export-modal.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAiB,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC3G,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;;AAE5D,qBA6Ua,oBAAoB;IAmH7B,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,YAAY;IApHtB,OAAO,CAAC,UAAU,CAAS;IAC3B,IACI,SAAS,CAAC,KAAK,EAAE,OAAO,EAY3B;IACD,IAAI,SAAS,IAAI,OAAO,CAEvB;IAEQ,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,WAAW,EAAG,QAAQ,CAAC;IAChC;;;;OAIG;IACM,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAQ;IACtC,SAAS,qBAA4B;IACrC,QAAQ,qBAA4B;IAE9C,cAAc,EAAE,YAAY,GAAG,IAAI,CAAc;IACjD,WAAW,UAAS;IACpB,YAAY,SAAM;IAElB,aAAa,EAAE,aAAa,CAO1B;IAEF,+DAA+D;IAC/D,IAAI,YAAY,IAAI,MAAM,CASzB;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,oBAAoB;IAU5B,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,SAAS,IAAI,OAAO,CAIvB;IAED,OAAO;eAEkB,YAAY;;;;QAuBnC;gBAGQ,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY;IAGpC,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAMlC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC/B,QAAQ,IAAI,IAAI;IAKhB,OAAO,CAAC,SAAS;yCApKN,oBAAoB;2CAApB,oBAAoB;CAiLhC"}
1
+ {"version":3,"file":"export-modal.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/export/export-modal.component.ts"],"names":[],"mappings":"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"}