@memberjunction/ng-conversations 5.3.1 → 5.4.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.
- package/dist/__tests__/index.test.js.map +1 -1
- package/dist/__tests__/mention-parser.test.js.map +1 -1
- package/dist/__tests__/notification-model.test.js.map +1 -1
- package/dist/__tests__/search-service.test.js.map +1 -1
- package/dist/__tests__/toast-service.test.js.map +1 -1
- package/dist/lib/components/active-tasks/active-tasks-panel.component.js.map +1 -1
- package/dist/lib/components/agent/active-agent-indicator.component.js.map +1 -1
- package/dist/lib/components/agent/agent-process-panel.component.js.map +1 -1
- package/dist/lib/components/artifact/artifact-share-modal.component.js.map +1 -1
- package/dist/lib/components/attachment/image-viewer.component.js.map +1 -1
- package/dist/lib/components/collection/artifact-collection-picker-modal.component.js.map +1 -1
- package/dist/lib/components/collection/artifact-create-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collection-artifact-card.component.js.map +1 -1
- package/dist/lib/components/collection/collection-form-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collection-share-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collection-tree.component.js.map +1 -1
- package/dist/lib/components/collection/collection-view.component.js.map +1 -1
- package/dist/lib/components/collection/collections-full-view.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-empty-state.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-list.component.js.map +1 -1
- package/dist/lib/components/dialogs/input-dialog.component.js.map +1 -1
- package/dist/lib/components/export/export-modal.component.js.map +1 -1
- package/dist/lib/components/global-tasks/global-tasks-panel.component.js.map +1 -1
- package/dist/lib/components/library/library-full-view.component.js.map +1 -1
- package/dist/lib/components/members/members-modal.component.js.map +1 -1
- package/dist/lib/components/mention/mention-dropdown.component.js.map +1 -1
- package/dist/lib/components/mention/mention-editor.component.js.map +1 -1
- package/dist/lib/components/message/actionable-commands.component.js.map +1 -1
- package/dist/lib/components/message/agent-response-form.component.js.map +1 -1
- package/dist/lib/components/message/conversation-message-rating.component.js.map +1 -1
- package/dist/lib/components/message/form-question.component.js.map +1 -1
- package/dist/lib/components/message/message-input-box.component.js.map +1 -1
- package/dist/lib/components/message/message-input.component.js.map +1 -1
- package/dist/lib/components/message/message-item.component.js.map +1 -1
- package/dist/lib/components/message/message-list.component.js.map +1 -1
- package/dist/lib/components/message/suggested-responses.component.js.map +1 -1
- package/dist/lib/components/navigation/conversation-navigation.component.js.map +1 -1
- package/dist/lib/components/notification/activity-indicator.component.js.map +1 -1
- package/dist/lib/components/notification/notification-badge.component.js.map +1 -1
- package/dist/lib/components/project/project-form-modal.component.js.map +1 -1
- package/dist/lib/components/project/project-selector.component.js.map +1 -1
- package/dist/lib/components/search/search-panel.component.js.map +1 -1
- package/dist/lib/components/share/share-modal.component.js.map +1 -1
- package/dist/lib/components/shared/user-picker.component.js.map +1 -1
- package/dist/lib/components/sidebar/conversation-sidebar.component.js.map +1 -1
- package/dist/lib/components/task/tasks-full-view.component.js.map +1 -1
- package/dist/lib/components/tasks/task-widget.component.js.map +1 -1
- package/dist/lib/components/tasks/tasks-dropdown.component.js.map +1 -1
- package/dist/lib/components/thread/thread-panel.component.js.map +1 -1
- package/dist/lib/components/toast/toast.component.js.map +1 -1
- package/dist/lib/components/workspace/conversation-workspace.component.js.map +1 -1
- package/dist/lib/conversations.module.js.map +1 -1
- package/dist/lib/directives/search-shortcut.directive.js.map +1 -1
- package/dist/lib/models/collection-view.model.js.map +1 -1
- package/dist/lib/models/conversation-complete-query.model.js.map +1 -1
- package/dist/lib/models/conversation-state.model.js.map +1 -1
- package/dist/lib/models/lazy-artifact-info.js.map +1 -1
- package/dist/lib/models/navigation-request.model.js.map +1 -1
- package/dist/lib/models/notification.model.js.map +1 -1
- package/dist/lib/services/active-tasks.service.js.map +1 -1
- package/dist/lib/services/agent-state.service.js.map +1 -1
- package/dist/lib/services/artifact-permission.service.js.map +1 -1
- package/dist/lib/services/artifact-state.service.js.map +1 -1
- package/dist/lib/services/artifact-use-tracking.service.js.map +1 -1
- package/dist/lib/services/collection-permission.service.js.map +1 -1
- package/dist/lib/services/collection-state.service.js.map +1 -1
- package/dist/lib/services/conversation-agent.service.d.ts.map +1 -1
- package/dist/lib/services/conversation-agent.service.js +20 -11
- package/dist/lib/services/conversation-agent.service.js.map +1 -1
- package/dist/lib/services/conversation-attachment.service.js.map +1 -1
- package/dist/lib/services/conversation-data.service.js.map +1 -1
- package/dist/lib/services/conversation-streaming.service.js.map +1 -1
- package/dist/lib/services/data-cache.service.js.map +1 -1
- package/dist/lib/services/dialog.service.js.map +1 -1
- package/dist/lib/services/export.service.js.map +1 -1
- package/dist/lib/services/mention-autocomplete.service.js.map +1 -1
- package/dist/lib/services/mention-parser.service.js.map +1 -1
- package/dist/lib/services/notification.service.js.map +1 -1
- package/dist/lib/services/search.service.js.map +1 -1
- package/dist/lib/services/toast.service.js.map +1 -1
- package/dist/lib/services/ui-command-handler.service.js.map +1 -1
- package/dist/public-api.js.map +1 -1
- package/package.json +17 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mention-editor.component.js","sourceRoot":"","sources":["../../../../src/lib/components/mention/mention-editor.component.ts","../../../../src/lib/components/mention/mention-editor.component.html"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mention-editor.component.js","sourceRoot":"","sources":["../../../../src/lib/components/mention/mention-editor.component.ts","../../../../src/lib/components/mention/mention-editor.component.html"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,EACL,MAAM,EACN,YAAY,EACZ,SAAS,EAGT,UAAU,EAIX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAwB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGzE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;;;;;;ICFlD,yBAG0B;;;IADxB,AADA,kEAA+B,+BACJ;;;IAI7B,8BAAmC;IACjC,wBAAgC;IAChC,gCAAwB;IAAA,YAAyB;IACnD,AADmD,iBAAO,EACpD;;;IADoB,eAAyB;IAAzB,4CAAyB;;;;IAXvD,8BAC0C;IAAxC,8NAAS,uCAA6B,KAAC;IACvC,4GAA+B;IAM/B,4GAAgC;IAMhC,kCAE4B;IAD1B,iNAAS,yCAA+B,wBAAE,wBAAwB,KAAC;IAEnE,wBAAiC;IAErC,AADE,iBAAS,EACL;;;IAjBJ,cAKC;IALD,qDAKC;IACD,cAKC;IALD,sDAKC;;;IAfP,8BAAiC;IAC/B,yHAqBC;IACH,iBAAM;;;IAtBJ,cAqBC;IArBD,wCAqBC;;;IAmBD,AADF,8BAA0B,cACE;IACxB,wBAA0C;IAC1C,4BAAM;IAAA,+BAAe;IAEzB,AADE,AADuB,iBAAO,EACxB,EACF;;;;IAKN,+CAOoC;IAAlC,AADA,uOAAsB,gCAAyB,KAAC,4LACtC,6BAAsB,KAAC;IACnC,iBAAsB;;;IAHpB,AADA,AADA,AADA,AADA,uDAAkC,4CACE,8CACE,6BACV,iBACZ;;ADpBtB;;;GAGG;AAcH,MAAM,OAAO,sBAAsB;IAqCvB;IACA;IArC8B,SAAS,CAA8B;IAEtE,WAAW,GAAW,sCAAsC,CAAC;IAC7D,QAAQ,GAAY,KAAK,CAAC;IAC1B,WAAW,CAAY;IACvB,cAAc,GAAY,IAAI,CAAC;IAExC,sBAAsB;IACb,iBAAiB,GAAY,IAAI,CAAC;IAClC,cAAc,GAAW,EAAE,CAAC;IAC5B,sBAAsB,GAAW,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,eAAe;IAClE,iBAAiB,GAAW,SAAS,CAAC,CAAC,uBAAuB;IAE7D,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;IACzC,eAAe,GAAG,IAAI,YAAY,EAAqB,CAAC;IACxD,YAAY,GAAG,IAAI,YAAY,EAAU,CAAC;IAC1C,kBAAkB,GAAG,IAAI,YAAY,EAAuB,CAAC;IAC7D,eAAe,GAAG,IAAI,YAAY,EAAU,CAAC;IAC7C,iBAAiB,GAAG,IAAI,YAAY,EAAqB,CAAC;IAEpE,4BAA4B;IACrB,kBAAkB,GAAwB,EAAE,CAAC;IAC7C,UAAU,GAAY,KAAK,CAAC;IAEnC,yBAAyB;IAClB,mBAAmB,GAAY,KAAK,CAAC;IACrC,kBAAkB,GAAwB,EAAE,CAAC;IAC7C,uBAAuB,GAAkC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC7E,wBAAwB,GAAY,KAAK,CAAC;IAEzC,iBAAiB,GAAW,CAAC,CAAC,CAAC;IAC/B,YAAY,GAAW,EAAE,CAAC;IAC1B,QAAQ,GAA4B,GAAG,EAAE,GAAE,CAAC,CAAC;IAC9C,SAAS,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IAExC,YACU,mBAA+C,EAC/C,GAAsB;QADtB,wBAAmB,GAAnB,mBAAmB,CAA4B;QAC/C,QAAG,GAAH,GAAG,CAAmB;IAC7B,CAAC;IAEJ,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,eAAe;QACb,wBAAwB;QACxB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QACzC,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,KAAiB;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC;QAE7C,sDAAsD;QACtD,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,yFAAyF;QACzF,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,MAAM,EAAE,KAAK,EAAE,CAAC;YAEhB,gCAAgC;YAChC,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YAErC,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;gBACxB,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBACjC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB;gBACzC,SAAS,CAAC,eAAe,EAAE,CAAC;gBAC5B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO;QACL,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEjC,+BAA+B;QAC/B,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,qCAAqC;QACrC,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,yCAAyC;QACzC,qEAAqE;QACrE,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,KAAqB;QAC3B,oCAAoC;QACpC,IAAI,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAExE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,KAAK,CAAC,cAAc,EAAE,CAAC;gBAEvB,qBAAqB;gBACrB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;oBAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC9B,IAAI,IAAI,EAAE,CAAC;wBACT,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,gCAAgC;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAE9D,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,uCAAuC;QACvC,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,UAAU,KAAK,CAAC;YAAE,OAAO;QAErD,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACtC,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,sCAAsC;QACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC/C,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE3B,sCAAsC;QACtC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC9B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrB,SAAS,CAAC,eAAe,EAAE,CAAC;QAC5B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE1B,sCAAsC;QACtC,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,KAAoB;QAC5B,sDAAsD;QACtD,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1E,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QAED,8CAA8C;QAC9C,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,qCAAqC;QACrC,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,oDAAoD;YACpD,2DAA2D;QAC7D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,UAAU,KAAK,CAAC;YAAE,OAAO;QAErD,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAEzD,gCAAgC;QAChC,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAEtD,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,8EAA8E;QAC9E,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QAChE,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;QAErC,kBAAkB;QAClB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEzG,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,KAAY;QACtC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACrC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC3D,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1D,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,uBAAuB;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC;QAC7C,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,uEAAuE;QACvE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QACjE,MAAM,aAAa,GAAG,SAAS,EAAE,qBAAqB,EAAE,CAAC;QAEzD,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,UAAU,KAAK,CAAC;YAAE,OAAO;QAErD,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAEjD,6BAA6B;QAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC;QAC1D,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC;QAClC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;QAE1E,IAAI,CAAC,wBAAwB,GAAG,UAAU,GAAG,cAAc,IAAI,UAAU,GAAG,UAAU,CAAC;QAEvF,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,0DAA0D;YAC1D,IAAI,CAAC,uBAAuB,GAAG;gBAC7B,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC;gBAC7F,IAAI,EAAE,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO;aACvC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,kEAAkE;YAClE,IAAI,CAAC,uBAAuB,GAAG;gBAC7B,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC;gBAChG,IAAI,EAAE,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO;aACvC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,UAA6B;QAC7C,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACnC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtC,qCAAqC;QACrC,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QACzC,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,UAA6B;QACrD,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,UAAU,KAAK,CAAC;YAAE,OAAO;QAErD,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAEtC,yBAAyB;QACzB,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,GAAG,WAAW,CAAC;QAE3D,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC;QACvE,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,8BAA8B;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAEhD,cAAc;QACd,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEvB,uBAAuB;QACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC3C,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAExB,8BAA8B;QAC9B,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrB,SAAS,CAAC,eAAe,EAAE,CAAC;QAC5B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE1B,2BAA2B;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,UAA6B;QACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,CAAC,yBAAyB;QACzD,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAExD,2FAA2F;QAC3F,IAAI,OAAO,GAAmC,EAAE,CAAC;QACjD,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAChC,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAElF,uBAAuB;YACvB,kFAAkF;YAClF,kEAAkE;YAClE,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;YACnE,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,KAAK,MAAM,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG;;;;;;;;;;;;;;oBAcL,MAAM,CAAC,CAAC,CAAC,mDAAmD,CAAC,CAAC,CAAC,mDAAmD;;0BAE5G,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,0BAA0B;;KAErF,CAAC;QAEF,oBAAoB;QACpB,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YACvD,8CAA8C;YAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1C,GAAG,CAAC,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC;YAC9B,GAAG,CAAC,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC;YACjC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,mEAAmE,CAAC;YACxF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;aAAM,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC7E,sEAAsE;YACtE,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1C,GAAG,CAAC,GAAG,GAAG,m5DAAm5D,CAAC;YAC95D,GAAG,CAAC,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC;YACjC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,mEAAmE,CAAC;YACxF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,8CAA8C;YAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,iCAAiC,CAAC;YACvD,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;gBACnD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxD,CAAC;iBAAM,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACtC,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC;YACvC,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAED,wCAAwC;QACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAExB,WAAW;QACX,MAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEvB,wCAAwC;QACxC,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,IAAqB,EAAE,OAAuC;QAC7F,sCAAsC;QACtC,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAEnE,mEAAmE;QACnE,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACvD,eAAe,CAAC,SAAS,GAAG,kBAAkB,CAAC;QAC/C,eAAe,CAAC,KAAK,CAAC,OAAO,GAAG;;;;;;;;;;;;KAY/B,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAElC,8BAA8B;QAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5C,OAAO,CAAC,SAAS,GAAG,0BAA0B,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG;;;;;KAKvB,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE1B,kFAAkF;QAClF,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/C,QAAQ,CAAC,SAAS,GAAG,iBAAiB,CAAC;QACvC,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG;;;;;;;;;;;KAWxB,CAAC;QAEF,iCAAiC;QACjC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,CAAC,SAAS,GAAG,eAAe,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG;;;;;;;OAOtB,CAAC;YAEF,uCAAuC;YACvC,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;YAC5D,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,KAAK,eAAe,CAAC;YAEjD,oCAAoC;YACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC9C,SAAS,CAAC,SAAS,GAAG,mBAAmB,CAAC;YAC1C,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG;;;mBAGb,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;;OAElC,CAAC;YACF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAE9B,0BAA0B;YAC1B,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACpD,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;YAEzC,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAClD,WAAW,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC;YAC5D,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG;;;;OAI3B,CAAC;YACF,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAEvC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACvB,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAClD,WAAW,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBAC7C,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG;;;;SAI3B,CAAC;gBACF,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YACzC,CAAC;YAED,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAElC,gBAAgB;YAChB,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE;gBACzC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;YACtC,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE;gBACzC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;YACpC,CAAC,CAAC,CAAC;YAEH,iCAAiC;YACjC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBACrC,CAAC,CAAC,eAAe,EAAE,CAAC;gBAEpB,8BAA8B;gBAC9B,8EAA8E;gBAC9E,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrD,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAEzD,8CAA8C;gBAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE,CAAC;gBACjD,IAAI,SAAS,EAAE,CAAC;oBACd,eAAe,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACN,eAAe,CAAC,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC;oBACzC,eAAe,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC;gBAClE,CAAC;gBAED,oBAAoB;gBACpB,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;oBAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,YAAY,CAAgB,CAAC;oBAC7D,IAAI,KAAK,EAAE,CAAC;wBACV,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBACpE,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,iBAAiB;gBACjB,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAClC,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,0DAA0D;QAC1D,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEpC,wDAAwD;QACxD,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC9C,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC;YAC1C,MAAM,UAAU,GAAG,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;YAEpD,gDAAgD;YAChD,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,IAAI,CAAC;YAE3C,oDAAoD;YACpD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC;YACpD,IAAI,SAAS,EAAE,CAAC;gBACd,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;gBACrC,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YACnC,CAAC;YAED,MAAM,cAAc,GAAG,QAAQ,CAAC,YAAY,CAAC;YAC7C,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC;YAEhC,yDAAyD;YACzD,IAAI,UAAU,GAAG,cAAc,IAAI,UAAU,GAAG,UAAU,EAAE,CAAC;gBAC3D,uEAAuE;gBACvE,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,GAAG,GAAG,cAAc,GAAG,CAAC,IAAI,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,2DAA2D;gBAC3D,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC;YAClD,CAAC;YAED,qBAAqB;YACrB,IAAI,SAAS,EAAE,CAAC;gBACd,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;YACxC,CAAC;QACH,CAAC,CAAC;QAEF,mCAAmC;QACnC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACtC,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC;YAErD,IAAI,SAAS,EAAE,CAAC;gBACd,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,gBAAgB,EAAE,CAAC;gBACnB,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,uCAAuC;QACvC,MAAM,aAAa,GAAG,CAAC,CAAa,EAAE,EAAE;YACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,EAAE,CAAC;gBAC7E,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAClC,CAAC;QACH,CAAC,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAElD,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,CAAC,SAAS,EAAE,EAAE;YAClD,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC7B,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACrC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;wBAClB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;wBACrD,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;4BACxB,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;wBAC5C,CAAC;wBACD,QAAQ,CAAC,UAAU,EAAE,CAAC;oBACxB,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,SAAiB;QACtC,IAAI,CAAC,SAAS;YAAE,OAAO,mBAAmB,CAAC;QAC3C,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,SAAS,CAAC,KAAK,CAAC,8CAA8C,CAAC,EAAE,CAAC;gBACpE,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,YAAY,SAAS,EAAE,CAAC;QACjC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,KAAoB;QAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,UAAU,KAAK,CAAC;YAAE,OAAO;QAErD,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAEtC,gDAAgD;QAChD,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YAExE,IAAI,QAAQ,IAAK,QAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC9E,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC;QAC7C,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEvB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;QAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrC,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;YACjC,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC/C,MAAM,OAAO,GAAG,IAAmB,CAAC;gBAEpC,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;oBAC7D,uCAAuC;oBACvC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;gBACzD,CAAC;qBAAM,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBACpC,IAAI,IAAI,IAAI,CAAC;gBACf,CAAC;qBAAM,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;oBACrC,0CAA0C;oBAC1C,IAAI,CAAC,GAAG,CAAC;wBAAE,IAAI,IAAI,IAAI,CAAC;oBACxB,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,IAAI,IAAI,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,IAAU;QAC5B,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;QAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE1B,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtC,IAAI,IAAI,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;YAClC,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChD,MAAM,OAAO,GAAG,KAAoB,CAAC;gBAErC,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;oBAC7D,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,IAAY;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC;QAC7C,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,kCAAkC;QAClC,4CAA4C;QAC5C,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,sCAAsC;IACtC,UAAU,CAAC,KAAa;QACtB,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,GAAG,EAAE,CAAC;QAChD,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,EAA2B;QAC1C,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,iBAAiB,CAAC,EAAc;QAC9B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,gBAAgB,CAAC,UAAmB;QAClC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC3B,IAAI,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,eAAe,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1E,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,GAAG,EAAE,CAAC;YAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAED;;;OAGG;IACI,mBAAmB;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC;QAC7C,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEvB,MAAM,KAAK,GAA8F,EAAE,CAAC;QAC5G,MAAM,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAEjE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC7B,MAAM,OAAO,GAAG,IAAmB,CAAC;YACpC,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;YACzD,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;YAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC;YACrE,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,SAAS,CAAC;YAEzE,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE;gBACF,IAAI;gBACJ,IAAI;gBACJ,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACI,4BAA4B;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC;QAC7C,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEvB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEjD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrC,oBAAoB;gBACpB,SAAS,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;YACtC,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC/C,MAAM,OAAO,GAAG,IAAmB,CAAC;gBAEpC,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC/C,kCAAkC;oBAClC,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;oBAC7D,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;oBACzD,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;oBAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;oBACxD,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;oBAE5D,yDAAyD;oBACzD,MAAM,UAAU,GAA2B;wBACzC,IAAI;wBACJ,EAAE;wBACF,IAAI;qBACL,CAAC;oBAEF,4EAA4E;oBAC5E,IAAI,QAAQ,EAAE,CAAC;wBACb,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBACjC,CAAC;oBACD,IAAI,UAAU,EAAE,CAAC;wBACf,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC;oBACjC,CAAC;oBAED,yBAAyB;oBACzB,sGAAsG;oBACtG,SAAS,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACN,kCAAkC;oBAClC,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;wBAC7B,SAAS,IAAI,IAAI,CAAC;oBACpB,CAAC;yBAAM,CAAC;wBACN,SAAS,IAAI,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;oBACzC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,wEAAwE;IAExE;;OAEG;IACH,UAAU,CAAC,KAAgB;QACzB,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAEpC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAgB;QAC1B,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAgB;QACrB,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAEpC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAExB,IAAI,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,KAAY;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B,CAAC;QAC/C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YACD,iDAAiD;YACjD,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,IAAU;QAClC,gBAAgB;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,KAAM,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,wBAAwB;QACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,qCAAqC;QACrC,IAAI,KAAyB,CAAC;QAC9B,IAAI,MAA0B,CAAC;QAE/B,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC1D,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;YACzB,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAC7B,CAAC;QAED,4BAA4B;QAC5B,MAAM,UAAU,GAAsB;YACpC,EAAE,EAAE,IAAI,CAAC,oBAAoB,EAAE;YAC/B,IAAI;YACJ,OAAO;YACP,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,SAAS,EAAE,IAAI,CAAC,IAAI;YACpB,KAAK;YACL,MAAM;YACN,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SACnE,CAAC;QAEF,6BAA6B;QAC7B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,IAAU;QAC7B,oBAAoB;QACpB,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1D,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,WAAW,IAAI,CAAC,cAAc,sBAAsB;aAC5D,CAAC;QACJ,CAAC;QAED,mBAAmB;QACnB,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACtD,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,cAAc,MAAM,wBAAwB,KAAK,KAAK;aAC9D,CAAC;QACJ,CAAC;QAED,kBAAkB;QAClB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,aAAa,IAAI,CAAC,IAAI,IAAI,SAAS,eAAe;aAC1D,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,IAAU;QAC/B,IAAI,IAAI,CAAC,iBAAiB,KAAK,GAAG,IAAI,IAAI,CAAC,iBAAiB,KAAK,KAAK,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAE3E,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;YACrC,4CAA4C;YAC5C,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC;oBACzC,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,qCAAqC;gBACrC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAC7D,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClC,wBAAwB;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,IAAU;QAClC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;YACvD,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,OAAe;QACxC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;gBAChB,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;YAClE,CAAC,CAAC;YACF,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE;gBACjB,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,CAAC,CAAC;YACF,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,oBAAoB;QAC1B,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACxE,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,EAAU;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;OAEG;IACI,qBAAqB;QAC1B,OAAO,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,uBAAuB;QAC5B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,iBAAiB,CAAC,UAA6B;QACpD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACI,cAAc;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,cAAc;QACnB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;QACpB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACtC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAC/C,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;gHAnoCU,sBAAsB;6DAAtB,sBAAsB;;;;;kkBARtB;gBACT;oBACE,OAAO,EAAE,iBAAiB;oBAC1B,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC;oBACrD,KAAK,EAAE,IAAI;iBACZ;aACF;;YC3DH,8BAK0B;YAAxB,AADA,AADA,AADA,4IAAS,4BAAwB,KAAC,qIACtB,sBAAkB,KAAC,uIAClB,uBAAmB,KAAC,6HACzB,kBAAc,KAAC;YAGvB,wFAAqC;YA2BrC,iCAUC;YADC,AADA,AADA,AADA,sIAAS,aAAS,KAAC,mIACR,qBAAiB,KAAC,uHACrB,YAAQ,KAAC,+HACR,mBAAe,KAAC;YAC1B,iBAAM;YAGP,wFAAkB;YAUlB,wGAA6C;YAW/C,iBAAM;;YApEJ,2CAA8B;YAO9B,cAyBC;YAzBD,4DAyBC;YAMC,cAAkC;;YASpC,eAOC;YAPD,yCAOC;YAGD,cAUC;YAVD,wEAUC;;;iFDPU,sBAAsB;cAblC,SAAS;6BACI,KAAK,YACP,mBAAmB,aAGlB;oBACT;wBACE,OAAO,EAAE,iBAAiB;wBAC1B,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,uBAAuB,CAAC;wBACrD,KAAK,EAAE,IAAI;qBACZ;iBACF;;kBAGA,SAAS;mBAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;kBAErC,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBAGL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBAEL,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kFAnBI,sBAAsB","sourcesContent":["import {\n Component,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n AfterViewInit,\n forwardRef,\n OnInit,\n ViewEncapsulation,\n ChangeDetectorRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MentionAutocompleteService, MentionSuggestion } from '../../services/mention-autocomplete.service';\nimport { UserInfo } from '@memberjunction/core';\nimport { AIEngineBase } from '@memberjunction/ai-engine-base';\nimport { MJAIAgentConfigurationEntity } from '@memberjunction/core-entities';\nimport { ChatMessageContentBlock } from '@memberjunction/ai';\n\n/**\n * Represents a pending attachment that hasn't been uploaded yet\n */\nexport interface PendingAttachment {\n /** Local ID for tracking */\n id: string;\n /** Original File object */\n file: File;\n /** Base64 data URL for display */\n dataUrl: string;\n /** MIME type */\n mimeType: string;\n /** Original filename */\n fileName: string;\n /** File size in bytes */\n sizeBytes: number;\n /** Width in pixels (for images) */\n width?: number;\n /** Height in pixels (for images) */\n height?: number;\n /** Small thumbnail URL for preview */\n thumbnailUrl?: string;\n}\n\n/**\n * ContentEditable-based mention editor with visual chips/pills\n * Provides Slack/Teams-style mention UX with immutable mention tokens\n */\n@Component({\n standalone: false,\n selector: 'mj-mention-editor',\n templateUrl: './mention-editor.component.html',\n styleUrls: ['./mention-editor.component.css'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MentionEditorComponent),\n multi: true\n }\n ]\n})\nexport class MentionEditorComponent implements OnInit, AfterViewInit, ControlValueAccessor {\n @ViewChild('editor', { static: false }) editorRef!: ElementRef<HTMLDivElement>;\n\n @Input() placeholder: string = 'Type @ to mention agents or users...';\n @Input() disabled: boolean = false;\n @Input() currentUser?: UserInfo;\n @Input() enableMentions: boolean = true;\n\n // Attachment settings\n @Input() enableAttachments: boolean = true;\n @Input() maxAttachments: number = 10;\n @Input() maxAttachmentSizeBytes: number = 20 * 1024 * 1024; // 20MB default\n @Input() acceptedFileTypes: string = 'image/*'; // MIME types to accept\n\n @Output() valueChange = new EventEmitter<string>();\n @Output() mentionSelected = new EventEmitter<MentionSuggestion>();\n @Output() enterPressed = new EventEmitter<string>();\n @Output() attachmentsChanged = new EventEmitter<PendingAttachment[]>();\n @Output() attachmentError = new EventEmitter<string>();\n @Output() attachmentClicked = new EventEmitter<PendingAttachment>();\n\n // Pending attachments state\n public pendingAttachments: PendingAttachment[] = [];\n public isDragOver: boolean = false;\n\n // Mention dropdown state\n public showMentionDropdown: boolean = false;\n public mentionSuggestions: MentionSuggestion[] = [];\n public mentionDropdownPosition: { top: number; left: number } = { top: 0, left: 0 };\n public mentionDropdownShowAbove: boolean = false;\n\n private mentionStartIndex: number = -1;\n private mentionQuery: string = '';\n private onChange: (value: string) => void = () => {};\n public onTouched: () => void = () => {};\n\n constructor(\n private mentionAutocomplete: MentionAutocompleteService,\n private cdr: ChangeDetectorRef\n ) {}\n\n async ngOnInit(): Promise<void> {\n if (this.enableMentions && this.currentUser) {\n await this.mentionAutocomplete.initialize(this.currentUser);\n }\n }\n\n ngAfterViewInit(): void {\n // Auto-focus the editor\n setTimeout(() => {\n this.editorRef?.nativeElement?.focus();\n }, 100);\n }\n\n /**\n * Handle clicks on the container - focus the editor if clicking outside the contentEditable\n */\n onContainerClick(event: MouseEvent): void {\n const target = event.target as HTMLElement;\n const editor = this.editorRef?.nativeElement;\n\n // Don't handle clicks on the dropdown or its children\n if (target.closest('mj-mention-dropdown')) {\n return;\n }\n\n // If clicking on container or any element that's not the editor itself, focus the editor\n if (target !== editor && !editor?.contains(target)) {\n editor?.focus();\n\n // Move cursor to end of content\n const selection = window.getSelection();\n const range = document.createRange();\n\n if (editor && selection) {\n range.selectNodeContents(editor);\n range.collapse(false); // Collapse to end\n selection.removeAllRanges();\n selection.addRange(range);\n }\n }\n }\n\n /**\n * Handle input changes in contentEditable\n */\n onInput(): void {\n const plainText = this.getPlainText();\n this.onChange(plainText);\n this.valueChange.emit(plainText);\n\n // Handle @mention autocomplete\n if (this.enableMentions && this.currentUser) {\n this.handleMentionInput();\n }\n }\n\n /**\n * Handle blur event - close dropdown when editor loses focus\n */\n onBlur(): void {\n // Call form control touched callback\n this.onTouched();\n\n // Close dropdown when editor loses focus\n // Use setTimeout to allow mousedown events on dropdown to fire first\n setTimeout(() => {\n if (this.showMentionDropdown) {\n this.closeMentionDropdown();\n }\n }, 200);\n }\n\n /**\n * Handle paste event - images or plain text\n */\n onPaste(event: ClipboardEvent): void {\n // Check for image data in clipboard\n if (this.enableAttachments && event.clipboardData?.items) {\n const items = Array.from(event.clipboardData.items);\n const imageItems = items.filter(item => item.type.startsWith('image/'));\n\n if (imageItems.length > 0) {\n event.preventDefault();\n\n // Process each image\n for (const item of imageItems) {\n const file = item.getAsFile();\n if (file) {\n this.processFile(file);\n }\n }\n return;\n }\n }\n\n // No images - handle as plain text\n event.preventDefault();\n\n // Get plain text from clipboard\n const text = event.clipboardData?.getData('text/plain') || '';\n\n if (!text) return;\n\n // Insert plain text at cursor position\n const selection = window.getSelection();\n if (!selection || selection.rangeCount === 0) return;\n\n const range = selection.getRangeAt(0);\n range.deleteContents();\n\n // Insert text as text node (not HTML)\n const textNode = document.createTextNode(text);\n range.insertNode(textNode);\n\n // Move cursor to end of inserted text\n range.setStartAfter(textNode);\n range.collapse(true);\n selection.removeAllRanges();\n selection.addRange(range);\n\n // Trigger input event to update model\n this.onInput();\n }\n\n /**\n * Handle keydown events\n */\n onKeyDown(event: KeyboardEvent): void {\n // Enter alone: Send message (if dropdown not showing)\n if (event.key === 'Enter' && !event.shiftKey && !this.showMentionDropdown) {\n event.preventDefault();\n const plainText = this.getPlainText();\n this.enterPressed.emit(plainText);\n return;\n }\n\n // Backspace: Check if deleting a mention chip\n if (event.key === 'Backspace') {\n this.handleBackspace(event);\n }\n\n // Handle mention dropdown navigation\n if (this.showMentionDropdown) {\n // Let the dropdown handle arrow keys, enter, escape\n // (We'll pass these through to mention-dropdown component)\n }\n }\n\n /**\n * Handle @mention input detection\n */\n private handleMentionInput(): void {\n const selection = window.getSelection();\n if (!selection || selection.rangeCount === 0) return;\n\n const range = selection.getRangeAt(0);\n const textBeforeCursor = this.getTextBeforeCursor(range);\n\n // Find the last @ before cursor\n const lastAtIndex = textBeforeCursor.lastIndexOf('@');\n\n if (lastAtIndex === -1) {\n this.closeMentionDropdown();\n return;\n }\n\n // Check if there's a space between @ and cursor (means mention was completed)\n const textAfterAt = textBeforeCursor.substring(lastAtIndex + 1);\n if (textAfterAt.includes(' ')) {\n this.closeMentionDropdown();\n return;\n }\n\n // Extract query\n this.mentionQuery = textAfterAt;\n this.mentionStartIndex = lastAtIndex;\n\n // Get suggestions\n this.mentionSuggestions = this.mentionAutocomplete.getSuggestions(this.mentionQuery, !!this.currentUser);\n\n if (this.mentionSuggestions.length > 0) {\n this.showMentionDropdown = true;\n this.positionMentionDropdown();\n } else {\n this.closeMentionDropdown();\n }\n }\n\n /**\n * Get text before cursor position\n */\n private getTextBeforeCursor(range: Range): string {\n const tempRange = range.cloneRange();\n tempRange.selectNodeContents(this.editorRef.nativeElement);\n tempRange.setEnd(range.startContainer, range.startOffset);\n return tempRange.toString();\n }\n\n /**\n * Position the mention dropdown\n */\n private positionMentionDropdown(): void {\n const editor = this.editorRef?.nativeElement;\n if (!editor) return;\n\n // Get the parent container (message-input-box-container) for alignment\n const container = editor.closest('.message-input-box-container');\n const containerRect = container?.getBoundingClientRect();\n\n const selection = window.getSelection();\n if (!selection || selection.rangeCount === 0) return;\n\n const range = selection.getRangeAt(0);\n const cursorRect = range.getBoundingClientRect();\n\n // Check space below vs above\n const spaceBelow = window.innerHeight - cursorRect.bottom;\n const spaceAbove = cursorRect.top;\n const dropdownHeight = Math.min(this.mentionSuggestions.length * 56, 300);\n\n this.mentionDropdownShowAbove = spaceBelow < dropdownHeight && spaceAbove > spaceBelow;\n\n if (this.mentionDropdownShowAbove) {\n // Position above, aligning with container top if possible\n this.mentionDropdownPosition = {\n top: containerRect ? containerRect.top + window.scrollY : cursorRect.top + window.scrollY - 4,\n left: cursorRect.left + window.scrollX\n };\n } else {\n // Position below cursor, but align bottom edge with container top\n this.mentionDropdownPosition = {\n top: containerRect ? containerRect.top + window.scrollY : cursorRect.bottom + window.scrollY + 4,\n left: cursorRect.left + window.scrollX\n };\n }\n }\n\n /**\n * Handle mention selection from dropdown\n */\n onMentionSelected(suggestion: MentionSuggestion): void {\n this.insertMentionChip(suggestion);\n this.closeMentionDropdown();\n this.mentionSelected.emit(suggestion);\n\n // Refocus the editor after selection\n setTimeout(() => {\n this.editorRef?.nativeElement?.focus();\n }, 50);\n }\n\n /**\n * Insert a mention chip at the current cursor position\n */\n private insertMentionChip(suggestion: MentionSuggestion): void {\n const selection = window.getSelection();\n if (!selection || selection.rangeCount === 0) return;\n\n const range = selection.getRangeAt(0);\n\n // Delete the @query text\n const textBeforeCursor = this.getTextBeforeCursor(range);\n const lastAtIndex = textBeforeCursor.lastIndexOf('@');\n const deleteLength = textBeforeCursor.length - lastAtIndex;\n\n range.setStart(range.startContainer, range.startOffset - deleteLength);\n range.deleteContents();\n\n // Create mention chip element\n const chip = this.createMentionChip(suggestion);\n\n // Insert chip\n range.insertNode(chip);\n\n // Add space after chip\n const space = document.createTextNode(' ');\n range.collapse(false);\n range.insertNode(space);\n\n // Move cursor after the space\n range.setStartAfter(space);\n range.collapse(true);\n selection.removeAllRanges();\n selection.addRange(range);\n\n // Trigger change detection\n this.onInput();\n }\n\n /**\n * Create a mention chip DOM element\n */\n private createMentionChip(suggestion: MentionSuggestion): HTMLSpanElement {\n const chip = document.createElement('span');\n chip.className = 'mention-chip';\n chip.contentEditable = 'false'; // Make chip non-editable\n chip.setAttribute('data-mention-id', suggestion.id);\n chip.setAttribute('data-mention-type', suggestion.type);\n chip.setAttribute('data-mention-name', suggestion.name);\n\n // For agents, get configuration presets (AIEngine.Config() already called during app init)\n let presets: MJAIAgentConfigurationEntity[] = [];\n if (suggestion.type === 'agent') {\n presets = AIEngineBase.Instance.GetAgentConfigurationPresets(suggestion.id, true);\n\n // Store default preset\n // IMPORTANT: Store the AIAgentConfiguration.ID (preset ID), not AIConfigurationID\n // The backend mapping will convert preset ID -> AIConfigurationID\n const defaultPreset = presets.find(p => p.IsDefault) || presets[0];\n if (defaultPreset) {\n chip.setAttribute('data-preset-id', defaultPreset.ID || '');\n chip.setAttribute('data-preset-name', defaultPreset.Name || '');\n }\n }\n\n // Apply inline styles directly\n const isUser = suggestion.type === 'user';\n chip.style.cssText = `\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 4px 12px;\n margin: 0 3px;\n border-radius: 16px;\n font-size: 13px;\n font-weight: 600;\n cursor: default;\n user-select: none;\n vertical-align: middle;\n white-space: nowrap;\n pointer-events: all;\n background: ${isUser ? 'linear-gradient(135deg, #f093fb 0%, #f5576c 100%)' : 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)'};\n color: white;\n border: 2px solid ${isUser ? 'rgba(240, 147, 251, 0.4)' : 'rgba(102, 126, 234, 0.4)'};\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.1);\n `;\n\n // Add icon or image\n if (suggestion.type === 'agent' && suggestion.imageUrl) {\n // Use image if available (LogoURL from agent)\n const img = document.createElement('img');\n img.src = suggestion.imageUrl;\n img.alt = suggestion.displayName;\n img.style.cssText = 'width: 16px; height: 16px; border-radius: 50%; object-fit: cover;';\n chip.appendChild(img);\n } else if (suggestion.type === 'agent' && suggestion.icon === 'mj-icon-skip') {\n // Special handling for mj-icon-skip: use the SVG data URI as an image\n const img = document.createElement('img');\n img.src = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 101.89918457031249 96.83947368421053'%3E%3Cg transform='translate(-0.1288232421875,-0.0)'%3E%3Cpath d='M93.85,41.56c-.84,0-1.62.2-2.37.55-3-4.35-7.49-8.12-13.04-11.04l.04-7.18v-14.44h-10.24v17.6c-1.52-.43-3.07-.8-4.67-1.11V0h-10.24v24.72s-.09,0-.14,0h-4.38s-.1,0-.14,0V7.3h-10.24v18.62c-1.6.32-3.15.69-4.67,1.11v-11.67h-10.24v6.09l.04,9.6c-5.55,2.92-10.04,6.7-13.04,11.04-.75-.35-1.53-.55-2.37-.55-4.5,0-8.14,5.61-8.14,12.51s3.64,12.53,8.14,12.53c.58,0,1.14-.12,1.67-.29,4.1,6.62,11.54,12.06,20.98,15.28l.79.13v7.05c0,2.97,1.45,5.58,3.87,6.99,1.18.69,2.5,1.04,3.85,1.03,1.4,0,2.83-.37,4.15-1.12l7.54-4.29,7.56,4.3c1.31.74,2.73,1.12,4.13,1.12s2.67-.35,3.85-1.04c2.42-1.41,3.86-4.02,3.86-6.98v-7.05l.79-.13c9.44-3.22,16.89-8.66,20.98-15.28.54.17,1.09.29,1.68.29,4.5,0,8.14-5.61,8.14-12.53s-3.63-12.51-8.14-12.51' fill='%23AAAAAA'/%3E%3Cpath d='M86.69,50.87c0-12.22-13.6-19.1-28.94-20.66-4.48-.47-9.19-.54-13.52,0-15.34,1.53-28.93,8.41-28.93,20.66,0,8.55,5.7,15.55,12.68,15.55h7.94c3.05,2.5,6.93,4.1,11.08,4.71,2.65.4,5.44.46,8.01,0,4.15-.6,8.05-2.2,11.1-4.71h7.92c6.97,0,12.68-7,12.68-15.55' fill='white' opacity='0.9'/%3E%3Cpath d='M57.83,55.82c-1.19,2.58-3.8,4.35-6.84,4.35s-5.65-1.77-6.84-4.35h13.68Z' fill='%23AAAAAA'/%3E%3Cpath d='M32.52,41.14c1.74,0,3.18,2.13,3.18,4.76s-1.44,4.74-3.18,4.74-3.16-2.13-3.16-4.74,1.41-4.76,3.16-4.76' fill='%23AAAAAA'/%3E%3Cpath d='M69.46,41.14c1.74,0,3.16,2.13,3.16,4.76s-1.41,4.74-3.16,4.74-3.18-2.13-3.18-4.74,1.41-4.76,3.18-4.76' fill='%23AAAAAA'/%3E%3Cpath d='M63.91,76.15c-.82-.48-1.84-.43-2.8.12l-10.13,5.75-10.11-5.75c-.96-.55-1.98-.59-2.8-.12-.82.47-1.29,1.38-1.29,2.49v10.12c0,1.11.47,2.02,1.28,2.49.38.22.8.33,1.24.33.51,0,1.05-.15,1.57-.44l10.12-5.75,10.11,5.75c.52.29,1.05.44,1.56.44.44,0,.86-.11,1.24-.33.81-.48,1.28-1.38,1.28-2.49v-10.12c0-1.11-.47-2.02-1.28-2.49' fill='white' opacity='0.9'/%3E%3C/g%3E%3C/svg%3E\";\n img.alt = suggestion.displayName;\n img.style.cssText = 'width: 16px; height: 16px; border-radius: 50%; object-fit: cover;';\n chip.appendChild(img);\n } else {\n // Use icon for users or agents without images\n const icon = document.createElement('i');\n icon.style.cssText = 'font-size: 12px; opacity: 0.95;';\n if (suggestion.type === 'agent' && suggestion.icon) {\n icon.className = this.getIconClasses(suggestion.icon);\n } else if (suggestion.type === 'user') {\n icon.className = 'fa-solid fa-user';\n } else {\n icon.className = 'fa-solid fa-robot';\n }\n chip.appendChild(icon);\n }\n\n // Add space between icon/image and text\n const space = document.createTextNode(' ');\n chip.appendChild(space);\n\n // Add text\n const text = document.createTextNode(suggestion.displayName);\n chip.appendChild(text);\n\n // Add dropdown if 2+ presets for agents\n if (suggestion.type === 'agent' && presets.length >= 2) {\n this.addConfigurationDropdown(chip, presets);\n }\n\n return chip;\n }\n\n /**\n * Add configuration preset dropdown to agent chip\n */\n private addConfigurationDropdown(chip: HTMLSpanElement, presets: MJAIAgentConfigurationEntity[]): void {\n // Store default preset for comparison\n const defaultPreset = presets.find(p => p.IsDefault) || presets[0];\n\n // Add preset indicator text (only shown when non-default selected)\n const presetIndicator = document.createElement('span');\n presetIndicator.className = 'preset-indicator';\n presetIndicator.style.cssText = `\n display: none;\n font-size: 10px;\n font-weight: 600;\n font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', 'Courier New', monospace;\n background: rgba(255, 255, 255, 0.25);\n padding: 2px 6px;\n border-radius: 4px;\n margin-left: 4px;\n letter-spacing: 0.3px;\n text-transform: uppercase;\n border: 1px solid rgba(255, 255, 255, 0.15);\n `;\n chip.appendChild(presetIndicator);\n\n // Add dropdown chevron button\n const chevron = document.createElement('i');\n chevron.className = 'fa-solid fa-chevron-down';\n chevron.style.cssText = `\n font-size: 10px;\n opacity: 0.9;\n cursor: pointer;\n padding: 2px;\n `;\n chip.appendChild(chevron);\n\n // Create dropdown menu (initially hidden) - append to body for global positioning\n const dropdown = document.createElement('div');\n dropdown.className = 'preset-dropdown';\n dropdown.style.cssText = `\n display: none;\n position: fixed;\n background: white;\n border: 1px solid #ddd;\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n min-width: 200px;\n max-width: 300px;\n z-index: 10000;\n overflow: hidden;\n `;\n\n // Add preset options to dropdown\n presets.forEach(preset => {\n const option = document.createElement('div');\n option.className = 'preset-option';\n option.style.cssText = `\n padding: 10px 12px;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 8px;\n transition: background 0.2s;\n `;\n\n // Check if this is the selected preset\n const currentPresetId = chip.getAttribute('data-preset-id');\n const isSelected = preset.ID === currentPresetId;\n\n // Add checkmark for selected option\n const checkmark = document.createElement('i');\n checkmark.className = 'fa-solid fa-check';\n checkmark.style.cssText = `\n font-size: 12px;\n color: #667eea;\n opacity: ${isSelected ? '1' : '0'};\n width: 14px;\n `;\n option.appendChild(checkmark);\n\n // Add preset text content\n const textContainer = document.createElement('div');\n textContainer.style.cssText = 'flex: 1;';\n\n const displayName = document.createElement('div');\n displayName.textContent = preset.DisplayName || preset.Name;\n displayName.style.cssText = `\n font-weight: 600;\n color: #333;\n font-size: 13px;\n `;\n textContainer.appendChild(displayName);\n\n if (preset.Description) {\n const description = document.createElement('div');\n description.textContent = preset.Description;\n description.style.cssText = `\n font-size: 11px;\n color: #666;\n margin-top: 2px;\n `;\n textContainer.appendChild(description);\n }\n\n option.appendChild(textContainer);\n\n // Hover effects\n option.addEventListener('mouseenter', () => {\n option.style.background = '#f5f5f5';\n });\n option.addEventListener('mouseleave', () => {\n option.style.background = 'white';\n });\n\n // Click handler to select preset\n option.addEventListener('click', (e) => {\n e.stopPropagation();\n\n // Update chip data attributes\n // IMPORTANT: Store preset.ID (AIAgentConfiguration.ID), not AIConfigurationID\n chip.setAttribute('data-preset-id', preset.ID || '');\n chip.setAttribute('data-preset-name', preset.Name || '');\n\n // Update preset indicator visibility and text\n const isDefault = preset.ID === defaultPreset.ID;\n if (isDefault) {\n presetIndicator.style.display = 'none';\n } else {\n presetIndicator.style.display = 'inline';\n presetIndicator.textContent = preset.DisplayName || preset.Name;\n }\n\n // Update checkmarks\n dropdown.querySelectorAll('.preset-option').forEach((opt, idx) => {\n const check = opt.querySelector('i.fa-check') as HTMLElement;\n if (check) {\n check.style.opacity = idx === presets.indexOf(preset) ? '1' : '0';\n }\n });\n\n // Close dropdown\n dropdown.style.display = 'none';\n });\n\n dropdown.appendChild(option);\n });\n\n // Append dropdown to document body for global positioning\n document.body.appendChild(dropdown);\n\n // Helper function to position dropdown relative to chip\n const positionDropdown = () => {\n const chipRect = chip.getBoundingClientRect();\n const viewportHeight = window.innerHeight;\n const spaceBelow = viewportHeight - chipRect.bottom;\n\n // Set left position (same for both above/below)\n dropdown.style.left = `${chipRect.left}px`;\n\n // First, show dropdown to measure its actual height\n const wasHidden = dropdown.style.display === 'none';\n if (wasHidden) {\n dropdown.style.visibility = 'hidden';\n dropdown.style.display = 'block';\n }\n\n const dropdownHeight = dropdown.offsetHeight;\n const spaceAbove = chipRect.top;\n\n // Position dropdown above chip if not enough space below\n if (spaceBelow < dropdownHeight && spaceAbove > spaceBelow) {\n // Show above - position so bottom of dropdown is 4px above top of chip\n dropdown.style.top = `${chipRect.top - dropdownHeight - 4}px`;\n } else {\n // Show below (default) - position 4px below bottom of chip\n dropdown.style.top = `${chipRect.bottom + 4}px`;\n }\n\n // Restore visibility\n if (wasHidden) {\n dropdown.style.visibility = 'visible';\n }\n };\n\n // Toggle dropdown on chevron click\n chevron.addEventListener('click', (e) => {\n e.stopPropagation();\n const isVisible = dropdown.style.display === 'block';\n\n if (isVisible) {\n dropdown.style.display = 'none';\n } else {\n positionDropdown();\n dropdown.style.display = 'block';\n }\n });\n\n // Close dropdown when clicking outside\n const closeDropdown = (e: MouseEvent) => {\n if (!dropdown.contains(e.target as Node) && !chip.contains(e.target as Node)) {\n dropdown.style.display = 'none';\n }\n };\n document.addEventListener('click', closeDropdown);\n\n // Cleanup: remove dropdown from body and event listeners when chip is removed\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n mutation.removedNodes.forEach((node) => {\n if (node === chip) {\n document.removeEventListener('click', closeDropdown);\n if (dropdown.parentNode) {\n dropdown.parentNode.removeChild(dropdown);\n }\n observer.disconnect();\n }\n });\n });\n });\n if (chip.parentNode) {\n observer.observe(chip.parentNode, { childList: true });\n }\n }\n\n /**\n * Get icon classes with proper FA prefix\n */\n private getIconClasses(iconClass: string): string {\n if (!iconClass) return 'fa-solid fa-robot';\n if (iconClass.includes('fa-')) {\n if (iconClass.match(/\\b(fa-solid|fa-regular|fa-light|fa-brands)\\b/)) {\n return iconClass;\n }\n return `fa-solid ${iconClass}`;\n }\n return iconClass;\n }\n\n /**\n * Handle backspace key - delete entire chip if cursor is right after one\n */\n private handleBackspace(event: KeyboardEvent): void {\n const selection = window.getSelection();\n if (!selection || selection.rangeCount === 0) return;\n\n const range = selection.getRangeAt(0);\n\n // Check if cursor is right after a mention chip\n if (range.collapsed && range.startOffset > 0) {\n const prevNode = range.startContainer.childNodes[range.startOffset - 1];\n\n if (prevNode && (prevNode as HTMLElement).classList?.contains('mention-chip')) {\n event.preventDefault();\n prevNode.remove();\n this.onInput();\n }\n }\n }\n\n /**\n * Close mention dropdown\n */\n closeMentionDropdown(): void {\n this.showMentionDropdown = false;\n this.mentionSuggestions = [];\n this.mentionStartIndex = -1;\n this.mentionQuery = '';\n }\n\n /**\n * Convert editor HTML to plain text with @mentions\n */\n private getPlainText(): string {\n const editor = this.editorRef?.nativeElement;\n if (!editor) return '';\n\n let text = '';\n const nodes = editor.childNodes;\n\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent || '';\n } else if (node.nodeType === Node.ELEMENT_NODE) {\n const element = node as HTMLElement;\n\n if (element.classList.contains('mention-chip')) {\n const name = element.getAttribute('data-mention-name') || '';\n // Use quoted format if name has spaces\n text += name.includes(' ') ? `@\"${name}\"` : `@${name}`;\n } else if (element.tagName === 'BR') {\n text += '\\n';\n } else if (element.tagName === 'DIV') {\n // Handle line breaks from contentEditable\n if (i > 0) text += '\\n';\n text += this.getNodeText(element);\n } else {\n text += element.textContent || '';\n }\n }\n }\n\n return text;\n }\n\n /**\n * Get text from a node recursively\n */\n private getNodeText(node: Node): string {\n let text = '';\n const children = node.childNodes;\n\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n\n if (child.nodeType === Node.TEXT_NODE) {\n text += child.textContent || '';\n } else if (child.nodeType === Node.ELEMENT_NODE) {\n const element = child as HTMLElement;\n\n if (element.classList.contains('mention-chip')) {\n const name = element.getAttribute('data-mention-name') || '';\n text += name.includes(' ') ? `@\"${name}\"` : `@${name}`;\n } else {\n text += this.getNodeText(element);\n }\n }\n }\n\n return text;\n }\n\n /**\n * Set editor content from plain text (for programmatic updates)\n */\n private setEditorContent(text: string): void {\n const editor = this.editorRef?.nativeElement;\n if (!editor) return;\n\n // For now, just set as plain text\n // TODO: Parse @mentions and render as chips\n editor.textContent = text;\n }\n\n // ControlValueAccessor implementation\n writeValue(value: string): void {\n if (value) {\n this.setEditorContent(value);\n } else if (this.editorRef?.nativeElement) {\n this.editorRef.nativeElement.textContent = '';\n }\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n if (this.editorRef?.nativeElement) {\n this.editorRef.nativeElement.contentEditable = (!isDisabled).toString();\n }\n }\n\n /**\n * Focus the editor\n */\n public focus(): void {\n this.editorRef?.nativeElement?.focus();\n }\n\n /**\n * Clear the editor content and pending attachments\n */\n public clear(): void {\n if (this.editorRef?.nativeElement) {\n this.editorRef.nativeElement.textContent = '';\n this.onInput();\n }\n this.clearPendingAttachments();\n }\n\n /**\n * Extract mention chips with their configuration data\n * Returns array of objects containing mention info and preset configuration\n */\n public getMentionChipsData(): Array<{ id: string; type: string; name: string; presetId?: string; presetName?: string }> {\n const editor = this.editorRef?.nativeElement;\n if (!editor) return [];\n\n const chips: Array<{ id: string; type: string; name: string; presetId?: string; presetName?: string }> = [];\n const mentionElements = editor.querySelectorAll('.mention-chip');\n\n mentionElements.forEach(chip => {\n const element = chip as HTMLElement;\n const id = element.getAttribute('data-mention-id') || '';\n const type = element.getAttribute('data-mention-type') || '';\n const name = element.getAttribute('data-mention-name') || '';\n const presetId = element.getAttribute('data-preset-id') || undefined;\n const presetName = element.getAttribute('data-preset-name') || undefined;\n\n chips.push({\n id,\n type,\n name,\n ...(presetId ? { presetId } : {}),\n ...(presetName ? { presetName } : {})\n });\n });\n\n return chips;\n }\n\n /**\n * Get the plain text value with mentions encoded as JSON\n * This format preserves configuration information when messages are saved\n * Format: @{type:\"agent\",id:\"uuid\",name:\"Agent Name\",configId:\"uuid\",config:\"High\"}\n */\n public getPlainTextWithJsonMentions(): string {\n const editor = this.editorRef?.nativeElement;\n if (!editor) return '';\n\n let plainText = '';\n const childNodes = Array.from(editor.childNodes);\n\n for (const node of childNodes) {\n if (node.nodeType === Node.TEXT_NODE) {\n // Regular text node\n plainText += node.textContent || '';\n } else if (node.nodeType === Node.ELEMENT_NODE) {\n const element = node as HTMLElement;\n\n if (element.classList.contains('mention-chip')) {\n // Extract mention data attributes\n const type = element.getAttribute('data-mention-type') || '';\n const id = element.getAttribute('data-mention-id') || '';\n const name = element.getAttribute('data-mention-name') || '';\n const presetId = element.getAttribute('data-preset-id');\n const presetName = element.getAttribute('data-preset-name');\n\n // Build JSON mention object (compact format - no spaces)\n const mentionObj: Record<string, string> = {\n type,\n id,\n name\n };\n\n // Add configuration fields if present (for agents with non-default presets)\n if (presetId) {\n mentionObj.configId = presetId;\n }\n if (presetName) {\n mentionObj.config = presetName;\n }\n\n // Encode as JSON mention\n // Don't remove spaces from the JSON string - spaces in values (like agent names) need to be preserved\n plainText += `@${JSON.stringify(mentionObj)}`;\n } else {\n // Other HTML element (e.g., <br>)\n if (element.tagName === 'BR') {\n plainText += '\\n';\n } else {\n plainText += element.textContent || '';\n }\n }\n }\n }\n\n return plainText;\n }\n\n // ==================== Attachment Handling Methods ====================\n\n /**\n * Handle drag over event\n */\n onDragOver(event: DragEvent): void {\n if (!this.enableAttachments) return;\n\n event.preventDefault();\n event.stopPropagation();\n this.isDragOver = true;\n }\n\n /**\n * Handle drag leave event\n */\n onDragLeave(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.isDragOver = false;\n }\n\n /**\n * Handle drop event\n */\n onDrop(event: DragEvent): void {\n if (!this.enableAttachments) return;\n\n event.preventDefault();\n event.stopPropagation();\n this.isDragOver = false;\n\n if (event.dataTransfer?.files) {\n const files = Array.from(event.dataTransfer.files);\n for (const file of files) {\n if (this.isAcceptedFile(file)) {\n this.processFile(file);\n }\n }\n }\n }\n\n /**\n * Handle file input change (from file picker)\n */\n onFileSelected(event: Event): void {\n const input = event.target as HTMLInputElement;\n if (input.files) {\n const files = Array.from(input.files);\n for (const file of files) {\n this.processFile(file);\n }\n // Reset input so same file can be selected again\n input.value = '';\n }\n }\n\n /**\n * Process a file for attachment\n */\n private async processFile(file: File): Promise<void> {\n // Validate file\n const validation = this.validateFile(file);\n if (!validation.valid) {\n this.attachmentError.emit(validation.error!);\n return;\n }\n\n // Read file as data URL\n const dataUrl = await this.readFileAsDataUrl(file);\n if (!dataUrl) {\n this.attachmentError.emit('Failed to read file');\n return;\n }\n\n // Get image dimensions if applicable\n let width: number | undefined;\n let height: number | undefined;\n\n if (file.type.startsWith('image/')) {\n const dimensions = await this.getImageDimensions(dataUrl);\n width = dimensions.width;\n height = dimensions.height;\n }\n\n // Create pending attachment\n const attachment: PendingAttachment = {\n id: this.generateAttachmentId(),\n file,\n dataUrl,\n mimeType: file.type,\n fileName: file.name,\n sizeBytes: file.size,\n width,\n height,\n thumbnailUrl: file.type.startsWith('image/') ? dataUrl : undefined\n };\n\n // Add to pending attachments\n this.pendingAttachments.push(attachment);\n this.attachmentsChanged.emit([...this.pendingAttachments]);\n this.cdr.detectChanges();\n }\n\n /**\n * Validate a file against settings\n */\n private validateFile(file: File): { valid: boolean; error?: string } {\n // Check count limit\n if (this.pendingAttachments.length >= this.maxAttachments) {\n return {\n valid: false,\n error: `Maximum ${this.maxAttachments} attachments allowed`\n };\n }\n\n // Check size limit\n if (file.size > this.maxAttachmentSizeBytes) {\n const maxMB = (this.maxAttachmentSizeBytes / (1024 * 1024)).toFixed(1);\n const fileMB = (file.size / (1024 * 1024)).toFixed(1);\n return {\n valid: false,\n error: `File size (${fileMB}MB) exceeds maximum (${maxMB}MB)`\n };\n }\n\n // Check file type\n if (!this.isAcceptedFile(file)) {\n return {\n valid: false,\n error: `File type ${file.type || 'unknown'} not accepted`\n };\n }\n\n return { valid: true };\n }\n\n /**\n * Check if file type is accepted\n */\n private isAcceptedFile(file: File): boolean {\n if (this.acceptedFileTypes === '*' || this.acceptedFileTypes === '*/*') {\n return true;\n }\n\n const acceptedTypes = this.acceptedFileTypes.split(',').map(t => t.trim());\n\n for (const accepted of acceptedTypes) {\n // Handle wildcard MIME types like \"image/*\"\n if (accepted.endsWith('/*')) {\n const category = accepted.slice(0, -2);\n if (file.type.startsWith(category + '/')) {\n return true;\n }\n } else if (accepted.startsWith('.')) {\n // Handle file extensions like \".png\"\n if (file.name.toLowerCase().endsWith(accepted.toLowerCase())) {\n return true;\n }\n } else if (file.type === accepted) {\n // Exact MIME type match\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * Read file as data URL\n */\n private readFileAsDataUrl(file: File): Promise<string | null> {\n return new Promise((resolve) => {\n const reader = new FileReader();\n reader.onload = () => resolve(reader.result as string);\n reader.onerror = () => resolve(null);\n reader.readAsDataURL(file);\n });\n }\n\n /**\n * Get image dimensions\n */\n private getImageDimensions(dataUrl: string): Promise<{ width: number; height: number }> {\n return new Promise((resolve) => {\n const img = new Image();\n img.onload = () => {\n resolve({ width: img.naturalWidth, height: img.naturalHeight });\n };\n img.onerror = () => {\n resolve({ width: 0, height: 0 });\n };\n img.src = dataUrl;\n });\n }\n\n /**\n * Generate unique attachment ID\n */\n private generateAttachmentId(): string {\n return `att_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;\n }\n\n /**\n * Remove a pending attachment by ID\n */\n public removeAttachment(id: string): void {\n const index = this.pendingAttachments.findIndex(a => a.id === id);\n if (index !== -1) {\n this.pendingAttachments.splice(index, 1);\n this.attachmentsChanged.emit([...this.pendingAttachments]);\n this.cdr.detectChanges();\n }\n }\n\n /**\n * Get all pending attachments\n */\n public getPendingAttachments(): PendingAttachment[] {\n return [...this.pendingAttachments];\n }\n\n /**\n * Clear all pending attachments\n */\n public clearPendingAttachments(): void {\n this.pendingAttachments = [];\n this.attachmentsChanged.emit([]);\n this.cdr.detectChanges();\n }\n\n /**\n * Handle click on an attachment thumbnail\n */\n public onAttachmentClick(attachment: PendingAttachment): void {\n this.attachmentClicked.emit(attachment);\n }\n\n /**\n * Check if there are any pending attachments\n */\n public hasAttachments(): boolean {\n return this.pendingAttachments.length > 0;\n }\n\n /**\n * Trigger file picker programmatically\n */\n public openFilePicker(): void {\n const input = document.createElement('input');\n input.type = 'file';\n input.accept = this.acceptedFileTypes;\n input.multiple = true;\n input.onchange = (e) => this.onFileSelected(e);\n input.click();\n }\n}\n","<div class=\"mention-editor-container\"\n [class.drag-over]=\"isDragOver\"\n (click)=\"onContainerClick($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n (drop)=\"onDrop($event)\">\n\n <!-- Pending Attachments Preview -->\n @if (pendingAttachments.length > 0) {\n <div class=\"pending-attachments\">\n @for (attachment of pendingAttachments; track attachment) {\n <div class=\"attachment-thumbnail\"\n (click)=\"onAttachmentClick(attachment)\">\n @if (attachment.thumbnailUrl) {\n <img\n [src]=\"attachment.thumbnailUrl\"\n [alt]=\"attachment.fileName\"\n class=\"thumbnail-image\">\n }\n @if (!attachment.thumbnailUrl) {\n <div class=\"thumbnail-placeholder\">\n <i class=\"fa-solid fa-file\"></i>\n <span class=\"file-name\">{{ attachment.fileName }}</span>\n </div>\n }\n <button class=\"remove-attachment\"\n (click)=\"removeAttachment(attachment.id); $event.stopPropagation()\"\n title=\"Remove attachment\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n }\n </div>\n }\n\n <div\n #editor\n class=\"mention-editor\"\n contenteditable=\"true\"\n [attr.contenteditable]=\"!disabled\"\n [attr.data-placeholder]=\"placeholder\"\n (input)=\"onInput()\"\n (keydown)=\"onKeyDown($event)\"\n (blur)=\"onBlur()\"\n (paste)=\"onPaste($event)\"\n ></div>\n\n <!-- Drag & Drop Overlay -->\n @if (isDragOver) {\n <div class=\"drop-overlay\">\n <div class=\"drop-message\">\n <i class=\"fa-solid fa-cloud-arrow-up\"></i>\n <span>Drop files here</span>\n </div>\n </div>\n }\n\n <!-- Mention Dropdown -->\n @if (showMentionDropdown && enableMentions) {\n <mj-mention-dropdown\n [suggestions]=\"mentionSuggestions\"\n [position]=\"mentionDropdownPosition\"\n [showAbove]=\"mentionDropdownShowAbove\"\n [useFixedPositioning]=\"true\"\n [visible]=\"true\"\n (suggestionSelected)=\"onMentionSelected($event)\"\n (closed)=\"closeMentionDropdown()\">\n </mj-mention-dropdown>\n }\n</div>\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionable-commands.component.js","sourceRoot":"","sources":["../../../../src/lib/components/message/actionable-commands.component.ts","../../../../src/lib/components/message/actionable-commands.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;;;;ICa3D,uBAAwD;;;IAArD,cAAA,yCAA6B,CAAA;;;;IARpC,iCAMG;IAFD,mOAAS,iCAAuB,KAAC;IAGjC,+GAAoB;IAGpB,YACF;IAAA,iBAAS;;;;IARP,AADA,8DAAsC,6BACjB;IAIrB,cAEC;IAFD,0CAEC;IACD,cACF;IADE,iDACF;;;IAdJ,AADF,8BAAiC,aACH;IAAA,wBAAQ;IAAA,iBAAM;IAC1C,8BAA8B;IAC5B,kJAaC;IAEL,AADE,iBAAM,EACF;;;IAfF,eAaC;IAbD,8BAaC;;ADdP;;;GAGG;AAOH,MAAM,OAAO,2BAA2B;IAC7B,QAAQ,GAAwB,EAAE,CAAC;IACnC,QAAQ,GAAY,KAAK,CAAC;IAC1B,aAAa,GAAY,KAAK,CAAC;IAC/B,mBAAmB,GAAY,KAAK,CAAC;IAEpC,eAAe,GAAG,IAAI,YAAY,EAAqB,CAAC;IAElE;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,CACL,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,mBAAmB;YACxB,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CACzB,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,OAA0B;QAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,OAA0B;QAC9C,mDAAmD;QACnD,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACrC,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACvC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,KAAa,EAAE,OAA0B;QAC7D,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;IACpC,CAAC;qHA/CU,2BAA2B;6DAA3B,2BAA2B;YCbxC,6FAAiB;;YAAjB,wCAoBC;;;iFDPY,2BAA2B;cANvC,SAAS;6BACI,KAAK,YACP,wBAAwB;;kBAKjC,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBAEL,MAAM;;kFANI,2BAA2B"}
|
|
1
|
+
{"version":3,"file":"actionable-commands.component.js","sourceRoot":"","sources":["../../../../src/lib/components/message/actionable-commands.component.ts","../../../../src/lib/components/message/actionable-commands.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;;;;ICa3D,uBAAwD;;;IAArD,cAAA,yCAA6B,CAAA;;;;IARpC,iCAMG;IAFD,mOAAS,iCAAuB,KAAC;IAGjC,+GAAoB;IAGpB,YACF;IAAA,iBAAS;;;;IARP,AADA,8DAAsC,6BACjB;IAIrB,cAEC;IAFD,0CAEC;IACD,cACF;IADE,iDACF;;;IAdJ,AADF,8BAAiC,aACH;IAAA,wBAAQ;IAAA,iBAAM;IAC1C,8BAA8B;IAC5B,kJAaC;IAEL,AADE,iBAAM,EACF;;;IAfF,eAaC;IAbD,8BAaC;;ADdP;;;GAGG;AAOH,MAAM,OAAO,2BAA2B;IAC7B,QAAQ,GAAwB,EAAE,CAAC;IACnC,QAAQ,GAAY,KAAK,CAAC;IAC1B,aAAa,GAAY,KAAK,CAAC;IAC/B,mBAAmB,GAAY,KAAK,CAAC;IAEpC,eAAe,GAAG,IAAI,YAAY,EAAqB,CAAC;IAElE;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,CACL,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,mBAAmB;YACxB,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CACzB,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,OAA0B;QAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,OAA0B;QAC9C,mDAAmD;QACnD,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACrC,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACvC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,KAAa,EAAE,OAA0B;QAC7D,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;IACpC,CAAC;qHA/CU,2BAA2B;6DAA3B,2BAA2B;YCbxC,6FAAiB;;YAAjB,wCAoBC;;;iFDPY,2BAA2B;cANvC,SAAS;6BACI,KAAK,YACP,wBAAwB;;kBAKjC,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBAEL,MAAM;;kFANI,2BAA2B","sourcesContent":["import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { ActionableCommand } from '@memberjunction/ai-core-plus';\n\n/**\n * Component for displaying actionable command buttons\n * These are actions the user can trigger after an agent completes a task\n */\n@Component({\n standalone: false,\n selector: 'mj-actionable-commands',\n templateUrl: './actionable-commands.component.html',\n styleUrls: ['./actionable-commands.component.css']\n})\nexport class ActionableCommandsComponent {\n @Input() commands: ActionableCommand[] = [];\n @Input() disabled: boolean = false;\n @Input() isLastMessage: boolean = false;\n @Input() isConversationOwner: boolean = false;\n\n @Output() commandExecuted = new EventEmitter<ActionableCommand>();\n\n /**\n * Check if component should be visible\n */\n public get isVisible(): boolean {\n return (\n this.isLastMessage &&\n this.isConversationOwner &&\n this.commands &&\n this.commands.length > 0\n );\n }\n\n /**\n * Handle command button click\n */\n public onCommandClick(command: ActionableCommand): void {\n if (!this.disabled) {\n this.commandExecuted.emit(command);\n }\n }\n\n /**\n * Get button theme color based on command type\n */\n public getButtonTheme(command: ActionableCommand): 'base' | 'primary' | 'secondary' | 'tertiary' | 'info' | 'success' | 'warning' | 'error' | 'dark' | 'light' | 'inverse' {\n // Use different themes for different command types\n if (command.type === 'open:resource') {\n return 'primary';\n } else if (command.type === 'open:url') {\n return 'info';\n }\n return 'base';\n }\n\n /**\n * Track by function for commands list\n */\n public trackByCommand(index: number, command: ActionableCommand): string {\n return `${command.type}_${index}`;\n }\n}\n","@if (isVisible) {\n <div class=\"actionable-commands\">\n <div class=\"commands-label\">Actions:</div>\n <div class=\"commands-buttons\">\n @for (command of commands; track trackByCommand($index, command)) {\n <button\n kendoButton\n [themeColor]=\"getButtonTheme(command)\"\n [disabled]=\"disabled\"\n (click)=\"onCommandClick(command)\"\n class=\"command-button\"\n >\n @if (command.icon) {\n <i class=\"fa {{ command.icon }}\" aria-hidden=\"true\"></i>\n }\n {{ command.label }}\n </button>\n }\n </div>\n </div>\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-response-form.component.js","sourceRoot":"","sources":["../../../../src/lib/components/message/agent-response-form.component.ts","../../../../src/lib/components/message/agent-response-form.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAA6B,MAAM,eAAe,CAAC;AAClG,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;;;;;;ICYtD,uBAAuD;;;IAApD,cAAA,wCAA4B,CAAA;;;;IAPnC,iCAKG;IAFD,+OAAS,2CAAiC,KAAC;IAG3C,4HAAuB;IAGvB,YACF;IAAA,iBAAS;;;;IARP,iEAAqC;IAIrC,cAEC;IAFD,oDAEC;IACD,cACF;IADE,gDACF;;;IAZJ,8BAAmC;IACjC,6JAYC;IACH,iBAAM;;;IAbJ,cAYC;IAZD,cAAA,gDAAkC,CAAC,EAAE,CAYpC;;;IAQC,6BAAuB;IAAA,YAAwB;IAAA,iBAAK;;;IAA7B,cAAwB;IAAxB,+CAAwB;;;IAI/C,4BAA4B;IAAA,YAA8B;IAAA,iBAAI;;;IAAlC,cAA8B;IAA9B,qDAA8B;;;IAMtD,uCAIoB;;;;IADlB,AADA,AADA,sCAAqB,8CACc,mCACJ;;;IALrC,+BAA4B;IAC1B,2LAMC;IACH,iBAAM;;;IAPJ,cAMC;IAND,mCAMC;;;IAmBS,uBAAuD;;;IAApD,cAAA,wCAA4B,CAAA;;;IAFnC,4BAAM;IACJ,wJAAuB;IAGvB,YACF;IAAA,iBAAO;;;;IAJL,cAEC;IAFD,oDAEC;IACD,cACF;IADE,gDACF;;;IAGA,4BAAM;IACJ,2BAAwC;IAC1C,iBAAO;;;;IAnBX,kCAOG;IAFD,6PAAS,2CAAiC,KAAC;IAG3C,0IAAqB;IAQrB,0IAAoB;IAKtB,iBAAS;;;IAjBP,AADA,sCAAwB,oDACa;IAIrC,cAOC;IAPD,+CAOC;IACD,cAIC;IAJD,8CAIC;;;IArBL,4KAuBC;;;IAvBD,cAAA,8CAAgC,CAuB/B;;;IAYG,4BAAM;IACJ,wBAA8C;IAC9C,YACF;IAAA,iBAAO;;;IADL,eACF;IADE,mDACF;;;IAGA,4BAAM;IACJ,2BAAwC;IACxC,+BACF;IAAA,iBAAO;;;IAjBX,kCAMG;IACD,oIAAqB;IAMrB,oIAAoB;IAMtB,iBAAS;;;IAfP,AADA,sCAAwB,gFACkC;IAG1D,cAKC;IALD,+CAKC;IACD,cAKC;IALD,8CAKC;;;;IAtET,+BAA4E;IAA9C,iNAAY,iBAAU,KAAC;IAEnD,uHAA0B;IAI1B,sHAAgC;IAIhC,yHAAgC;IAYhC,+BAA0B;IAExB,8GAA4B;IA2B5B,4HAAwB;IAuB5B,AADE,iBAAM,EACD;;;IA1ED,4CAAuB;IAE3B,cAEC;IAFD,oDAEC;IAED,cAEC;IAFD,0DAEC;IAED,cAUC;IAVD,0DAUC;IAIC,eAyBC;IAzBD,sDAyBC;IAED,cAqBC;IArBD,kDAqBC;;;IA7FT,8BAAiC;IAE/B,0GAAsB;IAkBtB,2GAAuB;IA6EzB,iBAAM;;;IA/FJ,cAgBC;IAhBD,gDAgBC;IAED,cA4EC;IA5ED,iDA4EC;;AD7FL;;;GAGG;AAOH,MAAM,OAAO,0BAA0B;IAWjB;IAVX,YAAY,CAAqB;IACjC,QAAQ,GAAY,KAAK,CAAC;IAC1B,aAAa,GAAY,KAAK,CAAC;IAC/B,mBAAmB,GAAY,KAAK,CAAC;IAEpC,aAAa,GAAG,IAAI,YAAY,EAAuB,CAAC;IAE3D,SAAS,CAAa;IACtB,YAAY,GAAY,KAAK,CAAC;IAErC,YAAoB,GAAsB;QAAtB,QAAG,GAAH,GAAG,CAAmB;IAAG,CAAC;IAE9C,QAAQ;QACN,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE;YACzC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY;YACpC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,IAAW,cAAc;QACvB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QAErC,OAAO,CACL,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YACxC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK;YACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CACtD,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,IAAW,oBAAoB;QAC7B,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAE3D,0EAA0E;QAC1E,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1F,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzF,CAAC;IAED;;OAEG;IACH,IAAW,aAAa;QACtB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,EAAE,CAAC;QAElC,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAC/C,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;QAEtD,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,CACL,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,mBAAmB;YACxB,IAAI,CAAC,YAAY;YACjB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CACvC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,QAAQ,CAAC;IACnD,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,QAAsB;QAC7C,MAAM,IAAI,GAAG,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QACpF,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,MAAM,QAAQ,GAAgC,EAAE,CAAC;QAEjD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;YACnD,MAAM,UAAU,GAAG,EAAE,CAAC;YACtB,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;YAED,0CAA0C;YAC1C,MAAM,YAAY,GAAG,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5F,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;gBAC7B,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;YAED,uDAAuD;YACvD,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvF,IAAI,KAAK,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;oBACxD,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAa,CAAC,CAAC,CAAC;gBAC/D,CAAC;gBACD,IAAI,KAAK,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;oBACxD,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAa,CAAC,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YAED,0CAA0C;YAC1C,IAAI,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;YACzC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,kEAAkE;gBAClE,IAAI,YAAY,KAAK,UAAU,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,UAAU,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC9H,YAAY,GAAG,EAAE,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACN,YAAY,GAAG,IAAI,CAAC;gBACtB,CAAC;YACH,CAAC;YAED,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,WAAW,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,UAAkB;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAgB,CAAC;IACvD,CAAC;IAED;;OAEG;IACI,mBAAmB,CAAC,KAAU;QACnC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAElD,6CAA6C;YAC7C,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC3B,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,mBAAmB,CAAC,KAAU;QACnC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACtE,sDAAsD;YACtD,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1D,IAAI,gBAAgB,GAAG,KAAK,CAAC;YAE7B,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrB,OAAO,CAAC,aAAa,EAAE,CAAC;oBACxB,gBAAgB,GAAG,IAAI,CAAC;gBAC1B,CAAC;YACH,CAAC;YAED,IAAI,gBAAgB,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,kDAAkD;YAClD,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC7C,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;YAE/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAElC,kCAAkC;YAClC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACI,QAAQ;QACb,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YAC3B,uDAAuD;YACvD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACjD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;YAC/C,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACzC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAE9C,kCAAkC;YAClC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,QAAsB;QACtC,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpE,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAC/B,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACI,OAAO,CAAC,MAAW;QACxB,OAAO,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,iBAAiB,CAAC,KAAa,EAAE,QAAsB;QAC5D,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACI,YAAY,CAAC,KAAa,EAAE,MAAW;QAC5C,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;oHApQU,0BAA0B;6DAA1B,0BAA0B;YCdvC,4FAAiB;;YAAjB,wCAmGC;;;iFDrFY,0BAA0B;cANtC,SAAS;6BACI,KAAK,YACP,wBAAwB;;kBAKjC,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBAEL,MAAM;;kFANI,0BAA0B"}
|
|
1
|
+
{"version":3,"file":"agent-response-form.component.js","sourceRoot":"","sources":["../../../../src/lib/components/message/agent-response-form.component.ts","../../../../src/lib/components/message/agent-response-form.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit, ChangeDetectorRef } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { AgentResponseForm, FormQuestion } from '@memberjunction/ai-core-plus';\n\n/**\n * Component for displaying agent response forms with dynamic questions\n * Handles both simple button choices and complex multi-question forms\n */\n@Component({\n standalone: false,\n selector: 'mj-agent-response-form',\n templateUrl: './agent-response-form.component.html',\n styleUrls: ['./agent-response-form.component.css']\n})\nexport class AgentResponseFormComponent implements OnInit {\n @Input() responseForm!: AgentResponseForm;\n @Input() disabled: boolean = false;\n @Input() isLastMessage: boolean = false;\n @Input() isConversationOwner: boolean = false;\n\n @Output() formSubmitted = new EventEmitter<Record<string, any>>();\n\n public formGroup!: FormGroup;\n public isSubmitting: boolean = false;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n console.log('AgentResponseForm ngOnInit:', {\n hasResponseForm: !!this.responseForm,\n responseForm: this.responseForm,\n disabled: this.disabled,\n isLastMessage: this.isLastMessage,\n isConversationOwner: this.isConversationOwner,\n isVisible: this.isVisible,\n isSimpleChoice: this.isSimpleChoice\n });\n this.buildFormGroup();\n }\n\n /**\n * Check if this is a simple choice (single question with buttongroup/radio, no title)\n * Simple choices render as buttons only, complex forms render as full forms\n */\n public get isSimpleChoice(): boolean {\n if (!this.responseForm) return false;\n\n return (\n this.responseForm.questions.length === 1 &&\n !this.responseForm.title &&\n this.isChoiceQuestion(this.responseForm.questions[0])\n );\n }\n\n /**\n * Get the choice question that should be rendered in the footer (if any)\n * Forms with a buttongroup/radio question have those buttons in the footer instead of Submit\n */\n public get footerChoiceQuestion(): FormQuestion | null {\n if (!this.responseForm || this.isSimpleChoice) return null;\n\n // Find the last buttongroup/radio question - it becomes the footer action\n const choiceQuestions = this.responseForm.questions.filter(q => this.isChoiceQuestion(q));\n return choiceQuestions.length > 0 ? choiceQuestions[choiceQuestions.length - 1] : null;\n }\n\n /**\n * Get questions to render in the main form area (excludes footer choice question)\n */\n public get mainQuestions(): FormQuestion[] {\n if (!this.responseForm) return [];\n\n const footerChoice = this.footerChoiceQuestion;\n if (!footerChoice) return this.responseForm.questions;\n\n return this.responseForm.questions.filter(q => q.id !== footerChoice.id);\n }\n\n /**\n * Check if we should show the standard Submit button (no footer choice question)\n */\n public get showSubmitButton(): boolean {\n return !this.footerChoiceQuestion;\n }\n\n /**\n * Check if component should be visible\n */\n public get isVisible(): boolean {\n return (\n this.isLastMessage &&\n this.isConversationOwner &&\n this.responseForm &&\n this.responseForm.questions.length > 0\n );\n }\n\n /**\n * Get submit button label\n */\n public get submitLabel(): string {\n return this.responseForm.submitLabel || 'Submit';\n }\n\n /**\n * Check if a question is a choice-based question\n */\n private isChoiceQuestion(question: FormQuestion): boolean {\n const type = typeof question.type === 'string' ? question.type : question.type.type;\n return ['buttongroup', 'radio'].includes(type);\n }\n\n /**\n * Build the reactive form group from the response form definition\n */\n private buildFormGroup(): void {\n const controls: Record<string, FormControl> = {};\n\n for (const question of this.responseForm.questions) {\n const validators = [];\n if (question.required) {\n validators.push(Validators.required);\n }\n\n // Add email validator for email questions\n const questionType = typeof question.type === 'string' ? question.type : question.type.type;\n if (questionType === 'email') {\n validators.push(Validators.email);\n }\n\n // Add min/max validators for number/currency questions\n if (['number', 'currency'].includes(questionType) && typeof question.type === 'object') {\n if ('min' in question.type && question.type.min != null) {\n validators.push(Validators.min(question.type.min as number));\n }\n if ('max' in question.type && question.type.max != null) {\n validators.push(Validators.max(question.type.max as number));\n }\n }\n\n // Initialize value based on question type\n let initialValue = question.defaultValue;\n if (!initialValue) {\n // For checkbox with multiple selection, initialize as empty array\n if (questionType === 'checkbox' && typeof question.type === 'object' && 'multiple' in question.type && question.type.multiple) {\n initialValue = [];\n } else {\n initialValue = null;\n }\n }\n\n controls[question.id] = new FormControl(initialValue, validators);\n }\n\n this.formGroup = new FormGroup(controls);\n }\n\n /**\n * Get FormControl for a specific question\n */\n public getControl(questionId: string): FormControl {\n return this.formGroup.get(questionId) as FormControl;\n }\n\n /**\n * Handle simple choice button click (for single question forms)\n */\n public onSimpleChoiceClick(value: any): void {\n if (!this.disabled && !this.isSubmitting) {\n const question = this.responseForm.questions[0];\n this.isSubmitting = true;\n this.formSubmitted.emit({ [question.id]: value });\n\n // Reset submitting state after a short delay\n setTimeout(() => {\n this.isSubmitting = false;\n this.cdr.detectChanges();\n }, 1000);\n }\n }\n\n /**\n * Handle footer choice button click (for forms with choice buttons in footer)\n * Submits the form with all field values plus the selected choice\n */\n public onFooterChoiceClick(value: any): void {\n if (!this.disabled && !this.isSubmitting && this.footerChoiceQuestion) {\n // First validate any required fields in the main form\n const mainControlKeys = this.mainQuestions.map(q => q.id);\n let hasInvalidFields = false;\n\n for (const key of mainControlKeys) {\n const control = this.formGroup.get(key);\n if (control?.invalid) {\n control.markAsTouched();\n hasInvalidFields = true;\n }\n }\n\n if (hasInvalidFields) {\n return;\n }\n\n this.isSubmitting = true;\n\n // Gather all form values and add the choice value\n const formData = { ...this.formGroup.value };\n formData[this.footerChoiceQuestion.id] = value;\n\n this.formSubmitted.emit(formData);\n\n // Reset form and submitting state\n Promise.resolve().then(() => {\n this.formGroup.reset();\n this.isSubmitting = false;\n this.cdr.detectChanges();\n });\n }\n }\n\n /**\n * Handle full form submission\n */\n public onSubmit(): void {\n if (this.formGroup.invalid) {\n // Mark all fields as touched to show validation errors\n Object.keys(this.formGroup.controls).forEach(key => {\n this.formGroup.controls[key].markAsTouched();\n });\n return;\n }\n\n if (!this.disabled && !this.isSubmitting) {\n this.isSubmitting = true;\n this.formSubmitted.emit(this.formGroup.value);\n\n // Reset form and submitting state\n Promise.resolve().then(() => {\n this.formGroup.reset();\n this.isSubmitting = false;\n this.cdr.detectChanges();\n });\n }\n }\n\n /**\n * Get options for a choice question (used in simple choice mode)\n */\n public getOptions(question: FormQuestion): any[] {\n if (typeof question.type === 'object' && 'options' in question.type) {\n return question.type.options;\n }\n return [];\n }\n\n /**\n * Check if question has an icon\n */\n public hasIcon(option: any): boolean {\n return option && option.icon;\n }\n\n /**\n * Track by function for questions list\n */\n public trackByQuestionId(index: number, question: FormQuestion): string {\n return question.id;\n }\n\n /**\n * Track by function for options list\n */\n public trackByValue(index: number, option: any): any {\n return option.value;\n }\n}\n","@if (isVisible) {\n <div class=\"agent-response-form\">\n <!-- Simple Choice Mode (single question, no title, buttongroup/radio) -->\n @if (isSimpleChoice) {\n <div class=\"simple-choice-buttons\">\n @for (option of getOptions(responseForm.questions[0]); track trackByValue($index, option)) {\n <button\n kendoButton\n [disabled]=\"disabled || isSubmitting\"\n (click)=\"onSimpleChoiceClick(option.value)\"\n class=\"choice-button\"\n >\n @if (hasIcon(option)) {\n <i class=\"fa {{ option.icon }}\" aria-hidden=\"true\"></i>\n }\n {{ option.label }}\n </button>\n }\n </div>\n }\n <!-- Full Form Mode (complex forms) -->\n @if (!isSimpleChoice) {\n <form [formGroup]=\"formGroup\" (ngSubmit)=\"onSubmit()\" class=\"response-form\">\n <!-- Form Title -->\n @if (responseForm.title) {\n <h3 class=\"form-title\">{{ responseForm.title }}</h3>\n }\n <!-- Form Description -->\n @if (responseForm.description) {\n <p class=\"form-description\">{{ responseForm.description }}</p>\n }\n <!-- Questions (excludes footer choice question) -->\n @if (mainQuestions.length > 0) {\n <div class=\"form-questions\">\n @for (question of mainQuestions; track trackByQuestionId($index, question)) {\n <mj-form-question\n [question]=\"question\"\n [control]=\"getControl(question.id)\"\n [formControlName]=\"question.id\"\n ></mj-form-question>\n }\n </div>\n }\n <!-- Footer Actions -->\n <div class=\"form-actions\">\n <!-- Footer Choice Buttons (replaces Submit when present) -->\n @if (footerChoiceQuestion) {\n @for (option of getOptions(footerChoiceQuestion); track trackByValue($index, option)) {\n <button\n kendoButton\n type=\"button\"\n [themeColor]=\"'primary'\"\n [disabled]=\"disabled || isSubmitting\"\n (click)=\"onFooterChoiceClick(option.value)\"\n class=\"footer-choice-button\"\n >\n @if (!isSubmitting) {\n <span>\n @if (hasIcon(option)) {\n <i class=\"fa {{ option.icon }}\" aria-hidden=\"true\"></i>\n }\n {{ option.label }}\n </span>\n }\n @if (isSubmitting) {\n <span>\n <span class=\"k-icon k-i-loading\"></span>\n </span>\n }\n </button>\n }\n }\n <!-- Standard Submit Button (when no footer choice) -->\n @if (showSubmitButton) {\n <button\n kendoButton\n type=\"submit\"\n [themeColor]=\"'primary'\"\n [disabled]=\"disabled || isSubmitting || formGroup.invalid\"\n class=\"submit-button\"\n >\n @if (!isSubmitting) {\n <span>\n <i class=\"fa fa-check\" aria-hidden=\"true\"></i>\n {{ submitLabel }}\n </span>\n }\n @if (isSubmitting) {\n <span>\n <span class=\"k-icon k-i-loading\"></span>\n Submitting...\n </span>\n }\n </button>\n }\n </div>\n </form>\n }\n </div>\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-message-rating.component.js","sourceRoot":"","sources":["../../../../src/lib/components/message/conversation-message-rating.component.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conversation-message-rating.component.js","sourceRoot":"","sources":["../../../../src/lib/components/message/conversation-message-rating.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, OnInit } from '@angular/core';\nimport { Metadata, RunView, UserInfo } from '@memberjunction/core';\nimport { MJConversationDetailRatingEntity } from '@memberjunction/core-entities';\nimport { RatingJSON } from '../../models/conversation-complete-query.model';\n\n/**\n * Component for displaying and managing multi-user ratings on conversation messages.\n * Shows aggregate ratings and allows users to provide their own rating.\n */\n@Component({\n standalone: false,\n selector: 'mj-conversation-message-rating',\n template: `\n <div class=\"rating-container\">\n @if (totalRatings > 0) {\n <div class=\"aggregate-rating\" [title]=\"getRatingsTooltip()\">\n <span class=\"thumbs-up\" [class.has-votes]=\"thumbsUpCount > 0\">\n 👍 {{ thumbsUpCount }}\n </span>\n <span class=\"thumbs-down\" [class.has-votes]=\"thumbsDownCount > 0\">\n 👎 {{ thumbsDownCount }}\n </span>\n <span class=\"total-count\">({{ totalRatings }} {{ totalRatings === 1 ? 'rating' : 'ratings' }})</span>\n </div>\n }\n \n <div class=\"user-rating\" [class.has-rated]=\"currentUserRating != null\">\n <button\n class=\"rating-button thumbs-up-btn\"\n [class.active]=\"currentUserRating != null && currentUserRating >= 8\"\n (click)=\"RateThumbsUp()\"\n title=\"This was helpful\"\n type=\"button\">\n 👍\n </button>\n <button\n class=\"rating-button thumbs-down-btn\"\n [class.active]=\"currentUserRating != null && currentUserRating <= 3\"\n (click)=\"RateThumbsDown()\"\n title=\"This was not helpful\"\n type=\"button\">\n 👎\n </button>\n </div>\n </div>\n `,\n styles: [`\n .rating-container {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 4px 0;\n }\n\n .aggregate-rating {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 13px;\n color: #666;\n }\n\n .thumbs-up, .thumbs-down {\n opacity: 0.5;\n }\n\n .thumbs-up.has-votes, .thumbs-down.has-votes {\n opacity: 1;\n }\n\n .total-count {\n font-size: 12px;\n color: #999;\n }\n\n .user-rating {\n display: flex;\n gap: 4px;\n margin-left: auto;\n }\n\n .rating-button {\n background: white;\n border: 1px solid #9CA3AF;\n border-radius: 6px;\n padding: 6px 10px;\n cursor: pointer;\n font-size: 16px;\n opacity: 0.6;\n transition: all 0.2s;\n min-width: 36px;\n }\n\n .rating-button:hover {\n opacity: 1;\n border-color: #6B7280;\n }\n\n .rating-button.active {\n opacity: 1;\n }\n\n .thumbs-up-btn {\n color: #16A34A;\n }\n\n .thumbs-up-btn:hover {\n background: #F0FDF4;\n }\n\n .thumbs-up-btn.active {\n border-color: #16A34A;\n background: #DCFCE7;\n }\n\n .thumbs-down-btn {\n color: #DC2626;\n }\n\n .thumbs-down-btn:hover {\n background: #FEF2F2;\n }\n\n .thumbs-down-btn.active {\n border-color: #DC2626;\n background: #FEE2E2;\n }\n `]\n})\nexport class ConversationMessageRatingComponent implements OnInit {\n @Input() conversationDetailId!: string;\n @Input() currentUser!: UserInfo;\n @Input() ratingsData?: RatingJSON[]; // Pre-loaded ratings from parent (RatingsJSON from query)\n\n thumbsUpCount = 0;\n thumbsDownCount = 0;\n totalRatings = 0;\n currentUserRating: number | null = null;\n allRatings: RatingJSON[] = [];\n\n private get currentUserId(): string {\n return this.currentUser?.ID || '';\n }\n\n async ngOnInit() {\n if (this.ratingsData) {\n // Use pre-loaded ratings (no database query needed)\n this.ProcessRatings(this.ratingsData);\n } else {\n // Fallback to loading ratings if not provided\n await this.LoadRatings();\n }\n }\n\n /**\n * Process ratings data (from query or API)\n */\n private ProcessRatings(ratings: RatingJSON[] | MJConversationDetailRatingEntity[]): void {\n this.allRatings = ratings as RatingJSON[];\n this.thumbsUpCount = ratings.filter(r => r.Rating ? r.Rating >= 8 : false).length;\n this.thumbsDownCount = ratings.filter(r => r.Rating ? r.Rating <= 3 : false).length;\n this.totalRatings = ratings.length;\n\n const currentUserRating = ratings.find(r => r.UserID === this.currentUserId);\n this.currentUserRating = currentUserRating?.Rating ?? null;\n }\n\n /**\n * Get tooltip showing who rated this message\n */\n getRatingsTooltip(): string {\n if (this.allRatings.length === 0) return '';\n\n const thumbsUpUsers = this.allRatings\n .filter(r => r.Rating ? r.Rating >= 8 : false)\n .map(r => (r as RatingJSON).UserName || 'Unknown')\n .join(', ');\n\n const thumbsDownUsers = this.allRatings\n .filter(r => r.Rating ? r.Rating <= 3 : false)\n .map(r => (r as RatingJSON).UserName || 'Unknown')\n .join(', ');\n\n const parts: string[] = [];\n if (thumbsUpUsers) parts.push(`👍 ${thumbsUpUsers}`);\n if (thumbsDownUsers) parts.push(`👎 ${thumbsDownUsers}`);\n\n return parts.join('\\n');\n }\n\n /**\n * Load all ratings for this message (fallback if not pre-loaded)\n */\n async LoadRatings(): Promise<void> {\n try {\n const rv = new RunView();\n const result = await rv.RunView<MJConversationDetailRatingEntity>({\n EntityName: 'MJ: Conversation Detail Ratings',\n ExtraFilter: `ConversationDetailID='${this.conversationDetailId}'`,\n ResultType: 'entity_object'\n });\n\n if (!result.Success || !result.Results) {\n return;\n }\n\n this.ProcessRatings(result.Results);\n\n } catch (error) {\n console.error('Failed to load ratings:', error);\n }\n }\n\n /**\n * Rate message as thumbs up (10/10)\n */\n async RateThumbsUp(): Promise<void> {\n await this.SaveRating(10);\n }\n\n /**\n * Rate message as thumbs down (1/10)\n */\n async RateThumbsDown(): Promise<void> {\n await this.SaveRating(1);\n }\n\n /**\n * Save or update user's rating for this message\n */\n private async SaveRating(rating: number): Promise<void> {\n try {\n const md = new Metadata();\n let ratingEntity: MJConversationDetailRatingEntity;\n\n // Try to load existing rating\n const rv = new RunView();\n const existing = await rv.RunView<MJConversationDetailRatingEntity>({\n EntityName: 'MJ: Conversation Detail Ratings',\n ExtraFilter: `ConversationDetailID='${this.conversationDetailId}' AND UserID='${this.currentUserId}'`,\n MaxRows: 1,\n ResultType: 'entity_object'\n });\n\n if (existing.Success && existing.Results && existing.Results.length > 0) {\n // Update existing\n ratingEntity = existing.Results[0];\n\n // If clicking same rating, remove it (toggle off)\n if (ratingEntity.Rating === rating) {\n await ratingEntity.Delete();\n await this.LoadRatings();\n return;\n }\n\n ratingEntity.Rating = rating;\n } else {\n // Create new\n ratingEntity = await md.GetEntityObject<MJConversationDetailRatingEntity>('MJ: Conversation Detail Ratings');\n ratingEntity.ConversationDetailID = this.conversationDetailId;\n ratingEntity.UserID = this.currentUserId;\n ratingEntity.Rating = rating;\n }\n\n await ratingEntity.Save();\n await this.LoadRatings();\n\n } catch (error) {\n console.error('Failed to save rating:', error);\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-question.component.js","sourceRoot":"","sources":["../../../../src/lib/components/message/form-question.component.ts","../../../../src/lib/components/message/form-question.component.html"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form-question.component.js","sourceRoot":"","sources":["../../../../src/lib/components/message/form-question.component.ts","../../../../src/lib/components/message/form-question.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, forwardRef, OnInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, FormControl } from '@angular/forms';\nimport { FormQuestion, FormOption } from '@memberjunction/ai-core-plus';\n\n/**\n * Component for rendering individual form questions with various input types\n * Implements ControlValueAccessor for seamless integration with Angular forms\n */\n@Component({\n standalone: false,\n selector: 'mj-form-question',\n templateUrl: './form-question.component.html',\n styleUrls: ['./form-question.component.css'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FormQuestionComponent),\n multi: true\n }\n ]\n})\nexport class FormQuestionComponent implements ControlValueAccessor, OnInit {\n @Input() question!: FormQuestion;\n @Input() control!: FormControl;\n\n public value: any = null;\n public disabled: boolean = false;\n\n private onChange: (value: any) => void = () => {};\n private onTouched: () => void = () => {};\n\n ngOnInit(): void {\n // Debug logging for dropdown issues\n if (this.questionType === 'dropdown') {\n console.log('[FormQuestion] Dropdown initialized:', {\n questionId: this.question.id,\n hasControl: !!this.control,\n controlValue: this.control?.value,\n options: this.options,\n value: this.value\n });\n }\n }\n\n /**\n * Get the question type (handles both simple string and complex types)\n */\n public get questionType(): string {\n return typeof this.question.type === 'string'\n ? this.question.type\n : this.question.type.type;\n }\n\n /**\n * Check if this is a choice-based question (buttongroup, radio, dropdown, checkbox)\n */\n public get isChoiceQuestion(): boolean {\n const type = this.questionType;\n return ['buttongroup', 'radio', 'dropdown', 'checkbox'].includes(type);\n }\n\n /**\n * Get options for choice questions\n */\n public get options(): FormOption[] {\n if (typeof this.question.type === 'object' && 'options' in this.question.type) {\n return this.question.type.options;\n }\n return [];\n }\n\n /**\n * Check if multiple selections are allowed (for checkbox type)\n */\n public get allowMultiple(): boolean {\n return this.questionType === 'checkbox' ||\n (typeof this.question.type === 'object' && 'multiple' in this.question.type && !!this.question.type.multiple);\n }\n\n /**\n * Get CSS class for field width based on widthHint or intelligent defaults\n */\n public get widthClass(): string {\n // If explicit widthHint provided, use it\n if (this.question.widthHint) {\n return `width-${this.question.widthHint}`;\n }\n\n // Otherwise, apply intelligent defaults based on question type\n const type = this.questionType;\n\n // Narrow fields\n if (['number', 'currency', 'date', 'datetime', 'time'].includes(type)) {\n return 'width-narrow';\n }\n\n // Wide fields for choice-based controls (need space for multiple options)\n if (['buttongroup', 'radio', 'checkbox'].includes(type)) {\n return 'width-wide';\n }\n\n // Auto-width for dropdowns\n if (type === 'dropdown') {\n return 'width-auto';\n }\n\n // Full-width fields\n if (type === 'textarea') {\n return 'width-full';\n }\n\n // Wide fields\n if (type === 'email') {\n return 'width-wide';\n }\n\n // Default to medium for text and other types\n return 'width-medium';\n }\n\n /**\n * Get placeholder text for text inputs\n */\n public get placeholder(): string | undefined {\n if (typeof this.question.type === 'object' && 'placeholder' in this.question.type) {\n return this.question.type.placeholder as string;\n }\n return undefined;\n }\n\n /**\n * Get min value for number/currency inputs\n */\n public get min(): number | undefined {\n if (typeof this.question.type === 'object' && 'min' in this.question.type) {\n return this.question.type.min as number;\n }\n return undefined;\n }\n\n /**\n * Get max value for number/currency inputs\n */\n public get max(): number | undefined {\n if (typeof this.question.type === 'object' && 'max' in this.question.type) {\n return this.question.type.max as number;\n }\n return undefined;\n }\n\n /**\n * Get step value for number/currency inputs\n */\n public get step(): number | undefined {\n if (typeof this.question.type === 'object' && 'step' in this.question.type) {\n return this.question.type.step as number;\n }\n return undefined;\n }\n\n /**\n * Get prefix for currency inputs\n */\n public get prefix(): string | undefined {\n if (typeof this.question.type === 'object' && 'prefix' in this.question.type) {\n return this.question.type.prefix as string;\n }\n return undefined;\n }\n\n /**\n * Get suffix for currency inputs\n */\n public get suffix(): string | undefined {\n if (typeof this.question.type === 'object' && 'suffix' in this.question.type) {\n return this.question.type.suffix as string;\n }\n return undefined;\n }\n\n /**\n * Handle value changes\n */\n public onValueChange(newValue: any): void {\n this.value = newValue;\n this.onChange(newValue);\n this.onTouched();\n }\n\n /**\n * Handle checkbox toggle for multiple selection\n */\n public toggleCheckbox(option: FormOption): void {\n if (!this.allowMultiple) {\n // Single selection mode\n this.onValueChange(option.value);\n } else {\n // Multiple selection mode\n const currentValues = Array.isArray(this.value) ? this.value : [];\n const index = currentValues.indexOf(option.value);\n\n let newValues: any[];\n if (index > -1) {\n // Remove if already selected\n newValues = currentValues.filter((v: any) => v !== option.value);\n } else {\n // Add if not selected\n newValues = [...currentValues, option.value];\n }\n\n this.onValueChange(newValues);\n }\n }\n\n /**\n * Check if a checkbox option is selected\n */\n public isChecked(option: FormOption): boolean {\n if (!this.allowMultiple) {\n return this.value === option.value;\n } else {\n return Array.isArray(this.value) && this.value.includes(option.value);\n }\n }\n\n // ControlValueAccessor implementation\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /**\n * Debug handler for dropdown changes\n */\n public onDropdownChange(value: any): void {\n console.log('[FormQuestion] Dropdown value changed:', {\n questionId: this.question.id,\n newValue: value,\n controlValue: this.control?.value,\n optionsCount: this.options.length\n });\n }\n\n /**\n * Get slider configuration\n */\n public getSliderConfig(): { min: number; max: number; step?: number; suffix?: string } {\n if (typeof this.question.type === 'object' && this.question.type.type === 'slider') {\n return {\n min: this.question.type.min,\n max: this.question.type.max,\n step: this.question.type.step,\n suffix: this.question.type.suffix\n };\n }\n return { min: 0, max: 100, step: 1 };\n }\n\n /**\n * Handle date range start date change\n */\n public onDateRangeStartChange(value: Date): void {\n const current = this.value || {};\n this.onValueChange({ ...current, start: value });\n }\n\n /**\n * Handle date range end date change\n */\n public onDateRangeEndChange(value: Date): void {\n const current = this.value || {};\n this.onValueChange({ ...current, end: value });\n }\n\n /**\n * Track by function for options list\n */\n public trackByValue(index: number, option: FormOption): any {\n return option.value;\n }\n}\n","<div class=\"form-question\" [class.required]=\"question.required\">\n <!-- Label -->\n @if (question.label) {\n <label class=\"question-label\">\n {{ question.label }}\n @if (question.required) {\n <span class=\"required-indicator\">*</span>\n }\n </label>\n }\n\n <!-- Help Text -->\n @if (question.helpText) {\n <div class=\"help-text\">\n {{ question.helpText }}\n </div>\n }\n\n <!-- Input Container with width class -->\n <div class=\"input-container\" [ngClass]=\"widthClass\">\n\n <!-- Text Input -->\n @if (questionType === 'text') {\n <input\n type=\"text\"\n kendoTextBox\n [value]=\"value || ''\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange($any($event.target).value)\"\n class=\"question-input\"\n />\n }\n\n <!-- Email Input -->\n @if (questionType === 'email') {\n <input\n type=\"email\"\n kendoTextBox\n [value]=\"value || ''\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange($any($event.target).value)\"\n class=\"question-input\"\n />\n }\n\n <!-- Textarea -->\n @if (questionType === 'textarea') {\n <textarea\n kendoTextArea\n [value]=\"value || ''\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange($any($event.target).value)\"\n class=\"question-textarea\"\n rows=\"5\"\n ></textarea>\n }\n\n <!-- Number Input -->\n @if (questionType === 'number') {\n <kendo-numerictextbox\n [value]=\"value\"\n [min]=\"min || 0\"\n [max]=\"max || 999999999\"\n [step]=\"step || 1\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n class=\"question-input\"\n ></kendo-numerictextbox>\n }\n\n <!-- Currency Input -->\n @if (questionType === 'currency') {\n <kendo-numerictextbox\n [value]=\"value\"\n [min]=\"min || 0\"\n [max]=\"max || 999999999\"\n [step]=\"step || 0.01\"\n [format]=\"'c2'\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n class=\"question-input\"\n ></kendo-numerictextbox>\n }\n\n <!-- Date Picker -->\n @if (questionType === 'date') {\n <kendo-datepicker\n [value]=\"value\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n class=\"question-input\"\n ></kendo-datepicker>\n }\n\n <!-- DateTime Picker -->\n @if (questionType === 'datetime') {\n <kendo-datetimepicker\n [value]=\"value\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n class=\"question-input\"\n ></kendo-datetimepicker>\n }\n\n <!-- Button Group -->\n @if (questionType === 'buttongroup') {\n <kendo-buttongroup\n [selection]=\"'single'\"\n class=\"question-buttongroup\"\n >\n @for (option of options; track trackByValue($index, option)) {\n <button\n kendoButton\n [toggleable]=\"true\"\n [selected]=\"value === option.value\"\n [disabled]=\"disabled\"\n (click)=\"onValueChange(option.value)\"\n class=\"buttongroup-option\"\n >\n @if (option.icon) {\n <i class=\"fa {{ option.icon }}\" aria-hidden=\"true\"></i>\n }\n {{ option.label }}\n </button>\n }\n </kendo-buttongroup>\n }\n\n <!-- Radio Buttons -->\n @if (questionType === 'radio') {\n <div class=\"question-radio-group\">\n @for (option of options; track trackByValue($index, option)) {\n <div class=\"radio-option\">\n <input\n type=\"radio\"\n kendoRadioButton\n [name]=\"question.id\"\n [value]=\"option.value\"\n [checked]=\"value === option.value\"\n [disabled]=\"disabled\"\n (change)=\"onValueChange(option.value)\"\n [id]=\"question.id + '_' + option.value\"\n />\n <label [for]=\"question.id + '_' + option.value\" class=\"radio-label\">\n @if (option.icon) {\n <i class=\"fa {{ option.icon }}\" aria-hidden=\"true\"></i>\n }\n {{ option.label }}\n </label>\n </div>\n }\n </div>\n }\n\n <!-- Dropdown -->\n @if (questionType === 'dropdown') {\n <select\n [formControl]=\"control\"\n [disabled]=\"disabled\"\n class=\"question-dropdown\"\n >\n <option value=\"\">Select an option...</option>\n @for (option of options; track trackByValue($index, option)) {\n <option [value]=\"option.value\">\n {{ option.label }}\n </option>\n }\n </select>\n }\n\n <!-- Slider -->\n @if (questionType === 'slider') {\n <div class=\"question-slider-container\">\n <kendo-slider\n [min]=\"getSliderConfig().min\"\n [max]=\"getSliderConfig().max\"\n [smallStep]=\"getSliderConfig().step || 1\"\n [value]=\"value || getSliderConfig().min\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n class=\"question-slider\"\n ></kendo-slider>\n <div class=\"slider-value\">\n {{ value || getSliderConfig().min }}{{ getSliderConfig().suffix || '' }}\n </div>\n </div>\n }\n\n <!-- Date Range -->\n @if (questionType === 'daterange') {\n <div class=\"question-daterange\">\n <kendo-datepicker\n [value]=\"value?.start\"\n [disabled]=\"disabled\"\n (valueChange)=\"onDateRangeStartChange($event)\"\n placeholder=\"Start Date\"\n class=\"daterange-start\"\n ></kendo-datepicker>\n <span class=\"daterange-separator\">to</span>\n <kendo-datepicker\n [value]=\"value?.end\"\n [disabled]=\"disabled\"\n (valueChange)=\"onDateRangeEndChange($event)\"\n placeholder=\"End Date\"\n class=\"daterange-end\"\n ></kendo-datepicker>\n </div>\n }\n\n <!-- Time Picker -->\n @if (questionType === 'time') {\n <kendo-timepicker\n [value]=\"value\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n [format]=\"'h:mm a'\"\n class=\"question-input\"\n ></kendo-timepicker>\n }\n\n <!-- Checkboxes -->\n @if (questionType === 'checkbox') {\n <div class=\"question-checkbox-group\">\n @for (option of options; track trackByValue($index, option)) {\n <div class=\"checkbox-option\">\n <input\n type=\"checkbox\"\n kendoCheckBox\n [checked]=\"isChecked(option)\"\n [disabled]=\"disabled\"\n (change)=\"toggleCheckbox(option)\"\n [id]=\"question.id + '_' + option.value\"\n />\n <label [for]=\"question.id + '_' + option.value\" class=\"checkbox-label\">\n @if (option.icon) {\n <i class=\"fa {{ option.icon }}\" aria-hidden=\"true\"></i>\n }\n {{ option.label }}\n </label>\n </div>\n }\n </div>\n }\n </div><!-- end input-container -->\n\n <!-- Validation Error -->\n @if (control.invalid && control.touched) {\n <div class=\"validation-error\">\n @if (control.errors?.['required']) {\n <span>This field is required</span>\n }\n @if (control.errors?.['email']) {\n <span>Please enter a valid email address</span>\n }\n @if (control.errors?.['min']) {\n <span>Value must be at least {{ min }}</span>\n }\n @if (control.errors?.['max']) {\n <span>Value must be at most {{ max }}</span>\n }\n </div>\n }\n</div>\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-input-box.component.js","sourceRoot":"","sources":["../../../../src/lib/components/message/message-input-box.component.ts","../../../../src/lib/components/message/message-input-box.component.html"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"message-input-box.component.js","sourceRoot":"","sources":["../../../../src/lib/components/message/message-input-box.component.ts","../../../../src/lib/components/message/message-input-box.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;;;;;;;ICuB5E,iCAKG;IAFD,4KAAS,uBAAgB,wBAAE,wBAAwB,KAAC;IAGpD,uBAAqC;IACvC,iBAAS;;;IALP,0CAAqB;;ADpB7B;;;;;;;;;;;;;;GAcG;AAOH,MAAM,OAAO,wBAAwB;IACP,aAAa,CAA0B;IAE1D,WAAW,GAAW,kDAAkD,CAAC;IACzE,QAAQ,GAAY,KAAK,CAAC;IAC1B,KAAK,GAAW,EAAE,CAAC;IACnB,kBAAkB,GAAY,KAAK,CAAC;IACpC,cAAc,GAAY,IAAI,CAAC;IAC/B,WAAW,CAAY;IACvB,IAAI,GAAW,CAAC,CAAC;IAE1B,sBAAsB;IACb,iBAAiB,GAAY,IAAI,CAAC;IAClC,cAAc,GAAW,EAAE,CAAC;IAC5B,sBAAsB,GAAW,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;IAC1D,iBAAiB,GAAW,SAAS,CAAC;IAErC,aAAa,GAAG,IAAI,YAAY,EAAU,CAAC;IAC3C,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;IACzC,kBAAkB,GAAG,IAAI,YAAY,EAAuB,CAAC;IAC7D,eAAe,GAAG,IAAI,YAAY,EAAU,CAAC;IAC7C,iBAAiB,GAAG,IAAI,YAAY,EAAqB,CAAC;IAEpE,IAAI,OAAO;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,IAAI,KAAK,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAgB;QAC5B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,WAAgC;QACnD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,KAAa;QAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,UAA6B;QAC/C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,KAAa;QAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,UAA6B;QAC7C,0DAA0D;QAC1D,2DAA2D;IAC7D,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,2EAA2E;YAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,4BAA4B,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC3F,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,4BAA4B;YAE7C,2BAA2B;YAC3B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC7B,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,KAAiB;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;QAE3C,yCAAyC;QACzC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,aAAa,CAAC;QAC5D,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,8FAA8F;QAC9F,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,OAAO;QACT,CAAC;QAED,gFAAgF;QAChF,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB;YACzC,SAAS,CAAC,eAAe,EAAE,CAAC;YAC5B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,aAAa,CAAC;QAC5D,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,IAAI,CAAC,aAAa,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,OAAO,IAAI,CAAC,aAAa,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,CAAC;IACvC,CAAC;kHA5JU,wBAAwB;6DAAxB,wBAAwB;;;;;;;YC1BrC,8BAA4E;YAAnC,8IAAS,4BAAwB,KAAC;YAEvE,AADF,8BAA2B,8BAiB2B;YANlD,+PAAmB;YAMnB,AADA,AADA,AADA,AADA,AADA,wKAAe,yBAAqB,KAAC,6JACrB,0BAAsB,KAAC,mKACpB,6BAAyB,KAAC,yKACvB,gCAA4B,KAAC,mKAChC,6BAAyB,KAAC,uKACxB,+BAA2B,KAAC;YACnD,iBAAoB;YAGpB,6FAAyB;YAYzB,iCAKG;YAFD,2IAAS,iBAAa,KAAC;YAGvB,uBAAuC;YAG7C,AADE,AADE,iBAAS,EACL,EACF;;YAvCA,eAA2B;YAO3B,AADA,AADA,AADA,AADA,AADA,AADA,AADA,6CAA2B,0BACN,gCACM,sCACM,4CACM,sCACN,sDACgB,4CACV;YACvC,yCAAmB;YAUrB,eASC;YATD,gDASC;YAKC,cAAqB;YAArB,uCAAqB;;;iFDVd,wBAAwB;cANpC,SAAS;6BACI,KAAK,YACP,sBAAsB;;kBAK/B,SAAS;mBAAC,eAAe;;kBAEzB,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBAGL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBAEL,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kFArBI,wBAAwB","sourcesContent":["import { Component, Input, Output, EventEmitter, ViewChild } from '@angular/core';\nimport { UserInfo } from '@memberjunction/core';\nimport { MentionSuggestion } from '../../services/mention-autocomplete.service';\nimport { MentionEditorComponent, PendingAttachment } from '../mention/mention-editor.component';\n\n/**\n * Reusable message input box component (presentational)\n * Now uses MentionEditorComponent for rich @mention functionality with chips\n *\n * Handles:\n * - Text input with keyboard shortcuts via MentionEditorComponent\n * - @mention autocomplete with visual chips (contentEditable)\n * - Send button\n *\n * Does NOT handle:\n * - Saving messages to database\n * - Agent invocation\n * - Artifact creation\n * - Conversation management\n */\n@Component({\n standalone: false,\n selector: 'mj-message-input-box',\n templateUrl: './message-input-box.component.html',\n styleUrls: ['./message-input-box.component.css']\n})\nexport class MessageInputBoxComponent {\n @ViewChild('mentionEditor') mentionEditor?: MentionEditorComponent;\n\n @Input() placeholder: string = 'Type your message to start a new conversation...';\n @Input() disabled: boolean = false;\n @Input() value: string = '';\n @Input() showCharacterCount: boolean = false;\n @Input() enableMentions: boolean = true;\n @Input() currentUser?: UserInfo;\n @Input() rows: number = 3;\n\n // Attachment settings\n @Input() enableAttachments: boolean = true;\n @Input() maxAttachments: number = 10;\n @Input() maxAttachmentSizeBytes: number = 20 * 1024 * 1024; // 20MB\n @Input() acceptedFileTypes: string = 'image/*';\n\n @Output() textSubmitted = new EventEmitter<string>();\n @Output() valueChange = new EventEmitter<string>();\n @Output() attachmentsChanged = new EventEmitter<PendingAttachment[]>();\n @Output() attachmentError = new EventEmitter<string>();\n @Output() attachmentClicked = new EventEmitter<PendingAttachment>();\n\n get canSend(): boolean {\n const hasText = this.value.trim().length > 0;\n const hasAttachments = this.mentionEditor?.hasAttachments() || false;\n return !this.disabled && (hasText || hasAttachments);\n }\n\n /**\n * Handle value changes from MentionEditorComponent\n */\n onValueChange(newValue: string): void {\n this.value = newValue;\n this.valueChange.emit(this.value);\n }\n\n /**\n * Handle attachment changes from MentionEditorComponent\n */\n onAttachmentsChanged(attachments: PendingAttachment[]): void {\n this.attachmentsChanged.emit(attachments);\n }\n\n /**\n * Handle attachment errors from MentionEditorComponent\n */\n onAttachmentError(error: string): void {\n this.attachmentError.emit(error);\n }\n\n /**\n * Handle attachment click from MentionEditorComponent\n */\n onAttachmentClicked(attachment: PendingAttachment): void {\n this.attachmentClicked.emit(attachment);\n }\n\n /**\n * Handle Enter key from MentionEditorComponent\n * Extracts plain text with JSON-encoded mentions for message submission\n */\n onEnterPressed(_text: string): void {\n this.onSendClick();\n }\n\n /**\n * Handle mention selection from MentionEditorComponent\n */\n onMentionSelected(suggestion: MentionSuggestion): void {\n // MentionEditorComponent already inserts the mention chip\n // This is just for additional tracking/analytics if needed\n }\n\n /**\n * Send the message\n * Extracts plain text with JSON-encoded mentions for proper persistence\n */\n onSendClick(): void {\n if (this.canSend) {\n // Get plain text with JSON-encoded mentions (preserves configuration info)\n const textToSend = this.mentionEditor?.getPlainTextWithJsonMentions() || this.value.trim();\n this.textSubmitted.emit(textToSend);\n this.value = ''; // Clear input after sending\n\n // Clear the editor content\n if (this.mentionEditor) {\n this.mentionEditor.clear();\n }\n\n this.valueChange.emit(this.value);\n }\n }\n\n /**\n * Handle clicks on the container - focus the mention editor\n * Only moves cursor to end if clicking outside the contentEditable area\n */\n onContainerClick(event: MouseEvent): void {\n const target = event.target as HTMLElement;\n\n // Don't handle clicks on the send button\n if (target.closest('.send-button-icon')) {\n return;\n }\n\n const editor = this.mentionEditor?.editorRef?.nativeElement;\n if (!editor) return;\n\n // If clicking directly on the editor or its children, let the browser handle cursor placement\n if (target === editor || editor.contains(target)) {\n return;\n }\n\n // Only if clicking on the container (empty space), focus and move cursor to end\n editor.focus();\n const selection = window.getSelection();\n const range = document.createRange();\n\n if (selection) {\n range.selectNodeContents(editor);\n range.collapse(false); // Collapse to end\n selection.removeAllRanges();\n selection.addRange(range);\n }\n }\n\n /**\n * Public method to focus the input programmatically\n */\n focus(): void {\n const editor = this.mentionEditor?.editorRef?.nativeElement;\n if (editor) {\n editor.focus();\n }\n }\n\n /**\n * Get mention chip data including configuration presets\n */\n getMentionChipsData(): Array<{ id: string; type: string; name: string; presetId?: string; presetName?: string }> {\n return this.mentionEditor?.getMentionChipsData() || [];\n }\n\n /**\n * Get pending attachments from the editor\n */\n getPendingAttachments(): PendingAttachment[] {\n return this.mentionEditor?.getPendingAttachments() || [];\n }\n\n /**\n * Open file picker programmatically\n */\n openFilePicker(): void {\n this.mentionEditor?.openFilePicker();\n }\n}\n","<div class=\"message-input-box-container\" (click)=\"onContainerClick($event)\">\n <div class=\"input-wrapper\">\n <mj-mention-editor\n #mentionEditor\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [currentUser]=\"currentUser\"\n [enableMentions]=\"enableMentions\"\n [enableAttachments]=\"enableAttachments\"\n [maxAttachments]=\"maxAttachments\"\n [maxAttachmentSizeBytes]=\"maxAttachmentSizeBytes\"\n [acceptedFileTypes]=\"acceptedFileTypes\"\n [(ngModel)]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n (enterPressed)=\"onEnterPressed($event)\"\n (mentionSelected)=\"onMentionSelected($event)\"\n (attachmentsChanged)=\"onAttachmentsChanged($event)\"\n (attachmentError)=\"onAttachmentError($event)\"\n (attachmentClicked)=\"onAttachmentClicked($event)\">\n </mj-mention-editor>\n\n <!-- Attach Button - Positioned over editor -->\n @if (enableAttachments) {\n <button\n class=\"attach-button-icon\"\n [disabled]=\"disabled\"\n (click)=\"openFilePicker(); $event.stopPropagation()\"\n title=\"Attach file\"\n >\n <i class=\"fa-solid fa-paperclip\"></i>\n </button>\n }\n\n <!-- Send Button (Icon Only) - Positioned over editor -->\n <button\n class=\"send-button-icon\"\n [disabled]=\"!canSend\"\n (click)=\"onSendClick()\"\n title=\"Send message (Enter)\"\n >\n <i class=\"fa-solid fa-paper-plane\"></i>\n </button>\n </div>\n</div>\n"]}
|