@acorex/components 22.3.11 → 22.3.12

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.
@@ -7686,9 +7686,6 @@ class AXConversationComposerService {
7686
7686
  this.focusRequest = this._focusRequest.asReadonly();
7687
7687
  /** Input placeholder */
7688
7688
  this.placeholder = computed(() => {
7689
- const conversation = this.activeConversation();
7690
- if (!conversation)
7691
- return this.translation.translateSync('@acorex:chat.placeholders.select-conversation');
7692
7689
  return this.translation.translateSync('@acorex:chat.placeholders.type-message');
7693
7690
  }, /* @ts-ignore */
7694
7691
  ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
@@ -8805,7 +8802,7 @@ class AXConversationComposerComponent {
8805
8802
  };
8806
8803
  }
8807
8804
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXConversationComposerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8808
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXConversationComposerComponent, isStandalone: true, selector: "ax-conversation-composer", outputs: { messageSent: "messageSent", generationCancelled: "generationCancelled", emojiClick: "emojiClick", attachClick: "attachClick", voiceClick: "voiceClick" }, host: { listeners: { "paste": "onComposerPaste($event)" } }, viewQueries: [{ propertyName: "textAreaRef", first: true, predicate: ["inputElement"], descendants: true, read: AXTextAreaComponent, isSignal: true }, { propertyName: "emojiPopoverRef", first: true, predicate: ["emojiPopover"], descendants: true, isSignal: true }, { propertyName: "attachPopoverRef", first: true, predicate: ["attachPopover"], descendants: true, isSignal: true }, { propertyName: "attachMenuButtonRef", first: true, predicate: ["attachMenuButton"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (activeConversation()) {\n <div class=\"composer\">\n <!-- Edit/Reply Banner -->\n @if (editingMessage() || replyingToMessage()) {\n <div\n class=\"ax-conversation-composer-banner\"\n [class.ax-conversation-composer-banner--edit]=\"!!editingMessage()\"\n [class.ax-conversation-composer-banner--reply]=\"!!replyingToMessage()\"\n >\n <div class=\"ax-conversation-composer-banner__accent\" aria-hidden=\"true\"></div>\n @if (editingMessage()) {\n <div class=\"ax-conversation-composer-banner__content\">\n <span class=\"ax-conversation-composer-banner__icon\" aria-hidden=\"true\"\n ><i class=\"fa-light fa-pen-to-square\"></i\n ></span>\n <div class=\"ax-conversation-composer-banner__body\">\n <span class=\"ax-conversation-composer-banner__label\">{{\n '@acorex:chat.composer.editing-message' | translate | async\n }}</span>\n @if (getEditingPreview(); as preview) {\n <span class=\"ax-conversation-composer-banner__preview\">\n @if (preview.type !== 'text') {\n <i [class]=\"preview.icon\"></i>\n }\n {{ getComposerPreviewLabel(preview) }}\n </span>\n }\n </div>\n </div>\n } @else if (replyingToMessage()) {\n <div class=\"ax-conversation-composer-banner__content\">\n <span class=\"ax-conversation-composer-banner__icon\" aria-hidden=\"true\"\n ><i class=\"fa-light fa-reply\"></i\n ></span>\n <div\n class=\"ax-conversation-composer-banner__body ax-conversation-composer-banner__body--clickable\"\n (click)=\"onReplyPreviewClick()\"\n >\n <span class=\"ax-conversation-composer-banner__label\">\n {{ '@acorex:chat.composer.replying-to' | translate | async }} {{ getReplyingSenderName() }}\n </span>\n @if (getReplyingPreview(); as preview) {\n <span class=\"ax-conversation-composer-banner__preview\">\n @if (preview.type !== 'text') {\n <i [class]=\"preview.icon\"></i>\n }\n {{ getComposerPreviewLabel(preview) }}\n </span>\n }\n </div>\n </div>\n }\n <ax-button\n class=\"ax-conversation-composer-banner__close rounded-full\"\n look=\"blank\"\n [iconOnly]=\"true\"\n [text]=\"translation.translateSync('@acorex:chat.actions.cancel')\"\n (onClick)=\"cancelEditReply()\"\n >\n <ax-icon><i class=\"fa-solid fa-xmark\"></i></ax-icon>\n </ax-button>\n </div>\n }\n\n @if (usesAttachmentBanner() && draftAttachments().length > 0) {\n <div class=\"ax-conversation-composer-attachments\">\n <div class=\"ax-conversation-composer-attachments__scroll\" role=\"list\" axHorizontalScroll>\n @for (attachment of draftAttachments(); track attachment.id) {\n <div\n class=\"ax-conversation-composer-attachment\"\n role=\"listitem\"\n [class.ax-conversation-composer-attachment--media]=\"attachment.kind === 'image' || attachment.kind === 'video'\"\n [class.ax-conversation-composer-attachment--file]=\"attachment.kind === 'audio' || attachment.kind === 'file'\"\n [class.ax-conversation-composer-attachment--uploading]=\"attachment.uploading\"\n [class.ax-conversation-composer-attachment--error]=\"!!attachment.error\"\n [title]=\"attachment.file.name\"\n >\n @if (attachment.kind === 'image' || attachment.kind === 'video') {\n <span class=\"ax-conversation-composer-attachment__thumb\" aria-hidden=\"true\">\n @if (attachment.kind === 'video' && attachment.preview) {\n <video [src]=\"attachment.preview\" muted playsinline preload=\"metadata\"></video>\n } @else if (attachment.preview) {\n <img [src]=\"attachment.preview\" alt=\"\" />\n } @else {\n <i [class]=\"attachment.icon\"></i>\n }\n </span>\n } @else {\n <span class=\"ax-conversation-composer-attachment__icon\" aria-hidden=\"true\">\n <i [class]=\"attachment.icon\"></i>\n </span>\n <span class=\"ax-conversation-composer-attachment__name\">{{\n draftAttachmentLabel(attachment.file.name)\n }}</span>\n }\n @if (attachment.uploading) {\n <span class=\"ax-conversation-composer-attachment__progress\" aria-hidden=\"true\"></span>\n }\n <button\n type=\"button\"\n class=\"ax-conversation-composer-attachment__remove\"\n [attr.aria-label]=\"translation.translateSync('@acorex:chat.actions.remove-attachment')\"\n (click)=\"removeDraftAttachment(attachment.id); $event.stopPropagation()\"\n >\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n }\n <button\n type=\"button\"\n class=\"ax-conversation-composer-attachment-add\"\n [disabled]=\"!canAddDraftAttachments()\"\n [attr.aria-label]=\"translation.translateSync('@acorex:chat.pickers.common.add-more')\"\n (click)=\"addDraftAttachments()\"\n >\n <i class=\"fa-light fa-plus\"></i>\n </button>\n </div>\n <ax-button\n class=\"ax-conversation-composer-attachments__close rounded-full\"\n look=\"blank\"\n [iconOnly]=\"true\"\n [text]=\"translation.translateSync('@acorex:chat.actions.cancel')\"\n (onClick)=\"dismissDraftAttachments()\"\n >\n <ax-icon><i class=\"fa-solid fa-xmark\"></i></ax-icon>\n </ax-button>\n </div>\n }\n\n <!-- Input Area -->\n <div class=\"composer-input-container\">\n <!-- Start actions -->\n <div class=\"composer-actions-left\">\n @if (startMenuActions().length > 0) {\n <span\n #attachMenuButton\n class=\"composer-attach-menu-trigger\"\n (mouseenter)=\"onAttachMenuMouseEnter()\"\n (mouseleave)=\"onAttachMenuMouseLeave()\"\n >\n <ax-button\n class=\"rounded-full text-xl\"\n look=\"blank\"\n [iconOnly]=\"true\"\n [text]=\"('@acorex:chat.tooltips.attach-file' | translate | async) ?? ''\"\n (onClick)=\"onAttachMenuClick($event)\"\n >\n <ax-prefix>\n <i class=\"fa-light fa-paperclip\"></i>\n </ax-prefix>\n </ax-button>\n </span>\n }\n\n @for (action of startInlineActions(); track action.id) {\n <ax-button\n look=\"blank\"\n [iconOnly]=\"true\"\n [text]=\"getActionLabel(action)\"\n [disabled]=\"!isActionEnabled(action)\"\n [class]=\"getActionButtonClass(action)\"\n (onClick)=\"onActionClick(action.id, $event)\"\n >\n <ax-icon>\n <i [class]=\"action.icon\"></i>\n </ax-icon>\n </ax-button>\n }\n </div>\n\n <!-- Text Input -->\n <div class=\"composer-input-wrapper\">\n <ax-text-area\n #inputElement\n [ngModel]=\"draftText()\"\n (ngModelChange)=\"onDraftModelChange($event)\"\n (onKeyDown)=\"onKeyDown($event)\"\n (onValueChanged)=\"onDraftValueChanged($event)\"\n [placeholder]=\"placeholder()\"\n [rows]=\"inputRows()\"\n [axAutoFocus]=\"true\"\n ></ax-text-area>\n </div>\n\n <!-- End actions -->\n <div class=\"composer-actions-right\">\n @for (action of endInlineActions(); track action.id) {\n <ax-button\n look=\"blank\"\n [iconOnly]=\"true\"\n [text]=\"getActionLabel(action)\"\n [disabled]=\"!isActionEnabled(action)\"\n [class]=\"getActionButtonClass(action)\"\n (onClick)=\"onActionClick(action.id, $event)\"\n >\n <ax-icon>\n <i [class]=\"action.icon\"></i>\n </ax-icon>\n </ax-button>\n }\n\n <div class=\"composer-primary-button-slot\">\n @switch (primaryButtonMode()) {\n @case ('cancel') {\n <ax-button\n class=\"rounded-full\"\n [iconOnly]=\"true\"\n look=\"blank\"\n [text]=\"getPrimaryButtonLabel()\"\n (onClick)=\"onPrimaryButtonClick()\"\n >\n <ax-icon [class]=\"getPrimaryButtonIcon()\"> </ax-icon>\n </ax-button>\n }\n @case ('stopping') {\n <ax-button\n class=\"rounded-full\"\n [iconOnly]=\"true\"\n look=\"blank\"\n [text]=\"getPrimaryButtonLabel()\"\n [disabled]=\"true\"\n >\n <ax-prefix>\n <i [class]=\"getPrimaryButtonIcon()\"></i>\n </ax-prefix>\n </ax-button>\n }\n @case ('send') {\n <ax-button\n class=\"rounded-full composer-primary-button--send\"\n [iconOnly]=\"true\"\n look=\"blank\"\n color=\"primary\"\n [text]=\"getPrimaryButtonLabel()\"\n [disabled]=\"isPrimaryButtonDisabled()\"\n (onClick)=\"onPrimaryButtonClick()\"\n >\n <ax-prefix>\n <i [class]=\"getPrimaryButtonIcon()\"></i>\n </ax-prefix>\n </ax-button>\n }\n @default {\n <ax-button\n class=\"rounded-full\"\n [iconOnly]=\"true\"\n look=\"blank\"\n [text]=\"getPrimaryButtonLabel()\"\n [disabled]=\"isPrimaryButtonDisabled()\"\n (onClick)=\"onPrimaryButtonClick()\"\n >\n <ax-prefix>\n <i [class]=\"getPrimaryButtonIcon()\"></i>\n </ax-prefix>\n </ax-button>\n }\n }\n </div>\n </div>\n </div>\n </div>\n}\n\n<!-- Popover for attachment menu -->\n@if (attachMenuTarget()) {\n <ax-popover\n #attachPopover\n [target]=\"attachMenuTarget()\"\n [openOn]=\"'manual'\"\n [closeOn]=\"'clickOut'\"\n [placement]=\"'top-start'\"\n >\n <div\n class=\"composer-attach-menu-panel\"\n (mouseenter)=\"onAttachMenuPanelMouseEnter()\"\n (mouseleave)=\"onAttachMenuPanelMouseLeave()\"\n >\n <ax-button-item-list>\n @for (action of startMenuActions(); track action.id) {\n <ax-button-item\n [text]=\"getActionLabel(action)\"\n (click)=\"onAttachMenuAction(action.id)\"\n [disabled]=\"!isActionEnabled(action)\"\n >\n <ax-prefix>\n <i [class]=\"action.icon\"></i>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </div>\n </ax-popover>\n}\n\n<!-- Popover for emoji/sticker picker -->\n@if (emojiPopoverTarget()) {\n <ax-popover\n #emojiPopover\n [target]=\"emojiPopoverTarget()\"\n [openOn]=\"'manual'\"\n [closeOn]=\"'clickOut'\"\n [placement]=\"'top-start'\"\n panelClass=\"composer-emoji-popover-panel\"\n (onClosed)=\"onEmojiPopoverClosed()\"\n >\n <div class=\"composer-emoji-popover\">\n <ax-conversation-registry-component-outlet\n [componentLoader]=\"composerPopupLoader\"\n [inputs]=\"getEmojiPopupInputs()\"\n />\n </div>\n </ax-popover>\n}\n", styles: ["@layer properties;@layer components{ax-conversation-composer{display:block;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);overflow:hidden;font-variant-emoji:emoji;@keyframes ax-conversation-composer-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}ax-conversation-composer .composer{width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0)}ax-conversation-composer .ax-conversation-composer-banner{display:flex;min-height:2.75rem;align-items:stretch;gap:calc(var(--spacing, .25rem) * 0);border-block-style:var(--tw-border-style);border-block-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));background-color:rgba(var(--ax-sys-color-light-surface))}ax-conversation-composer .ax-conversation-composer-banner__accent{width:3px;flex-shrink:0;border-start-end-radius:var(--radius-sm, .25rem);border-end-end-radius:var(--radius-sm, .25rem);background-color:rgba(var(--ax-sys-color-primary-surface))}ax-conversation-composer .ax-conversation-composer-banner--reply .ax-conversation-composer-banner__accent{background-color:rgba(var(--ax-sys-color-secondary-500))}ax-conversation-composer .ax-conversation-composer-banner__content{display:flex;min-width:calc(var(--spacing, .25rem) * 0);flex:1;align-items:center;gap:calc(var(--spacing, .25rem) * 2.5);padding-inline:calc(var(--spacing, .25rem) * 2.5);padding-block:calc(var(--spacing, .25rem) * 2)}ax-conversation-composer .ax-conversation-composer-banner__icon{display:flex;height:calc(var(--spacing, .25rem) * 7);width:calc(var(--spacing, .25rem) * 7);flex-shrink:0;align-items:center;justify-content:center;border-radius:calc(infinity * 1px);font-size:.8125rem;color:rgba(var(--ax-sys-color-primary-600));background:rgba(var(--ax-sys-color-primary-500),.1)}ax-conversation-composer .ax-conversation-composer-banner--reply .ax-conversation-composer-banner__icon{color:rgba(var(--ax-sys-color-secondary-600));background:rgba(var(--ax-sys-color-secondary-500),.1)}ax-conversation-composer .ax-conversation-composer-banner__body{display:flex;min-width:calc(var(--spacing, .25rem) * 0);flex:1;flex-direction:column;gap:calc(var(--spacing, .25rem) * .5)}ax-conversation-composer .ax-conversation-composer-banner__body--clickable{cursor:pointer;border-radius:var(--ax-sys-border-radius);transition:opacity .15s ease}@media(hover:hover){ax-conversation-composer .ax-conversation-composer-banner__body--clickable:hover{opacity:.85}}ax-conversation-composer .ax-conversation-composer-banner__label{font-size:.6875rem;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600);--tw-tracking: var(--tracking-wide, .025em);letter-spacing:var(--tracking-wide, .025em);color:rgba(var(--ax-sys-color-primary-600));text-transform:uppercase}ax-conversation-composer .ax-conversation-composer-banner--reply .ax-conversation-composer-banner__label{color:rgba(var(--ax-sys-color-secondary-600))}ax-conversation-composer .ax-conversation-composer-banner__preview{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 1.5);overflow:hidden;font-size:.8125rem;--tw-leading: var(--leading-snug, 1.375);line-height:var(--leading-snug, 1.375);text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-surface));opacity:.88}ax-conversation-composer .ax-conversation-composer-banner__preview i{flex-shrink:0;font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));opacity:70%}ax-conversation-composer .ax-conversation-composer-banner__close{margin-inline-end:calc(var(--spacing, .25rem) * 1.5);flex-shrink:0;align-self:center}ax-conversation-composer .ax-conversation-composer-banner__close>button{display:flex;height:calc(var(--spacing, .25rem) * 9);width:calc(var(--spacing, .25rem) * 9);cursor:pointer;touch-action:manipulation;align-items:center;justify-content:center;border-radius:var(--ax-sys-border-radius);--tw-border-style: none;border-style:none;background-color:transparent;padding:calc(var(--spacing, .25rem) * 0);font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));color:rgba(var(--ax-sys-color-on-primary-lightest-surface),.55);box-shadow:none;background-image:none;transition:background-color .15s ease,color .15s ease}@media(hover:hover){ax-conversation-composer .ax-conversation-composer-banner__close:hover>button{color:rgba(var(--ax-sys-color-on-surface));background:rgba(var(--ax-sys-color-on-surface),.06)}}ax-conversation-composer .ax-conversation-composer-banner__close>button:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px;outline-offset:2px;outline-color:rgba(var(--ax-sys-color-primary-surface))}ax-conversation-composer .emoji-icon{flex-shrink:0;font-size:var(--text-xl, 1.25rem);line-height:var(--tw-leading, var(--text-xl--line-height, calc(1.75 / 1.25)))}ax-conversation-composer .composer-input-container{display:flex;width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;gap:calc(var(--spacing, .25rem) * 2);background-color:rgba(var(--ax-sys-color-lightest-surface));padding-inline:calc(var(--spacing, .25rem) * 2);padding-block:calc(var(--spacing, .25rem) * 1)}ax-conversation-composer .composer-actions-left,ax-conversation-composer .composer-actions-right{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 1)}:is(ax-conversation-composer .composer-actions-left,ax-conversation-composer .composer-actions-right) ax-icon i,:is(ax-conversation-composer .composer-actions-left,ax-conversation-composer .composer-actions-right) ax-prefix i{font-size:1.375rem;--tw-leading: 1;line-height:1}ax-conversation-composer .composer-attach-menu-trigger{display:inline-flex}ax-conversation-composer .composer-primary-button-slot{display:flex;height:calc(var(--spacing, .25rem) * 9);width:calc(var(--spacing, .25rem) * 9);flex-shrink:0;align-items:center;justify-content:center}ax-conversation-composer .composer-primary-button-slot .composer-primary-button ax-prefix i{transition:opacity .15s ease}ax-conversation-composer .composer-primary-button-slot .fa-paper-plane-top:dir(rtl){transform:scaleX(-1)}@media(hover:hover){ax-conversation-composer .composer-actions-left ax-button>button:hover:not(:disabled),ax-conversation-composer .composer-actions-right ax-button:not(.composer-primary-button--send)>button:hover:not(:disabled){color:rgba(var(--ax-sys-color-on-surface),.68);background:rgba(var(--ax-sys-color-on-surface),.05)}}ax-conversation-composer .composer-input-wrapper{display:flex;min-width:calc(var(--spacing, .25rem) * 0);flex:1;--tw-border-style: none;border-style:none;--tw-outline-style: none;outline-style:none}ax-conversation-composer .composer-input-wrapper textarea{resize:none;font-variant-emoji:emoji}ax-conversation-composer .composer-input-wrapper .ax-editor-container{--tw-border-style: none;border-style:none;background-color:transparent!important;padding:calc(var(--spacing, .25rem) * 0);--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-outline-style: none;outline-style:none;background-image:none}ax-conversation-composer .composer-input-wrapper .ax-editor-container ax-text-area{line-height:2}ax-conversation-composer .composer-input-wrapper .ax-editor-container:after{display:none}ax-conversation-composer .composer-input-wrapper .ax-editor-container:hover:not(.ax-state-disabled,.ax-state-readonly,.ax-state-error),ax-conversation-composer .composer-input-wrapper .ax-editor-container:focus-within:not(.ax-state-disabled,.ax-state-readonly,.ax-state-error){--tw-border-style: none;border-style:none;--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-outline-style: none;outline-style:none;background-image:none}ax-conversation-composer .composer-input{max-height:120px;min-height:calc(var(--spacing, .25rem) * 10);width:100%;resize:none;border-radius:1.25rem;border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 2);font-size:.9375rem;--tw-leading: var(--leading-normal, 1.5);line-height:var(--leading-normal, 1.5);--tw-outline-style: none;outline-style:none;font-variant-emoji:emoji;transition:border-color .2s}ax-conversation-composer .composer-input:focus{border-color:rgba(var(--ax-sys-color-primary-surface))}ax-conversation-composer .ax-conversation-composer-attachments{display:flex;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;gap:calc(var(--spacing, .25rem) * 1);overflow:hidden;border-block-style:var(--tw-border-style);border-block-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));padding-block:calc(var(--spacing, .25rem) * 1);padding-inline-start:calc(var(--spacing, .25rem) * 3);padding-inline-end:calc(var(--spacing, .25rem) * 1)}ax-conversation-composer .ax-conversation-composer-attachments__scroll{display:flex;min-width:calc(var(--spacing, .25rem) * 0);flex:1;flex-wrap:nowrap;align-items:center;gap:calc(var(--spacing, .25rem) * 2);overflow-x:auto;overflow-y:hidden;padding-block:calc(var(--spacing, .25rem) * 1.5);padding-inline-end:calc(var(--spacing, .25rem) * 1);width:0;scrollbar-width:thin;overscroll-behavior-x:contain}ax-conversation-composer .ax-conversation-composer-attachments__scroll::-webkit-scrollbar{height:6px}ax-conversation-composer .ax-conversation-composer-attachments__scroll::-webkit-scrollbar-thumb{border-radius:calc(infinity * 1px);background-color:rgba(var(--ax-sys-color-border-light-surface))}ax-conversation-composer .ax-conversation-composer-attachment{position:relative;display:flex;max-width:11rem;flex-shrink:0;align-items:center}ax-conversation-composer .ax-conversation-composer-attachment--media .ax-conversation-composer-attachment__thumb{position:relative;display:flex;height:calc(var(--spacing, .25rem) * 11);width:calc(var(--spacing, .25rem) * 11);align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-lg, .5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));background-color:rgba(var(--ax-sys-color-surface))}ax-conversation-composer .ax-conversation-composer-attachment__thumb img,ax-conversation-composer .ax-conversation-composer-attachment__thumb video{height:100%;width:100%;object-fit:cover}ax-conversation-composer .ax-conversation-composer-attachment--file{height:calc(var(--spacing, .25rem) * 11);width:11rem;max-width:11rem;gap:calc(var(--spacing, .25rem) * 2);border-radius:var(--radius-lg, .5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));background-color:rgba(var(--ax-sys-color-surface));padding-inline-start:calc(var(--spacing, .25rem) * 2);padding-inline-end:calc(var(--spacing, .25rem) * 7)}ax-conversation-composer .ax-conversation-composer-attachment__icon{display:flex;height:calc(var(--spacing, .25rem) * 7);width:calc(var(--spacing, .25rem) * 7);flex-shrink:0;align-items:center;justify-content:center;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));color:rgba(var(--ax-sys-color-on-surface));opacity:80%}ax-conversation-composer .ax-conversation-composer-attachment__name{min-width:calc(var(--spacing, .25rem) * 0);flex:1;overflow:hidden;font-size:.8125rem;text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-surface))}ax-conversation-composer .ax-conversation-composer-attachment__progress{pointer-events:none;position:absolute;inset:calc(var(--spacing, .25rem) * 0);border-radius:var(--radius-lg, .5rem);background:rgba(var(--ax-sys-color-on-surface),.18)}ax-conversation-composer .ax-conversation-composer-attachment--error{border-color:rgba(var(--ax-sys-color-danger-500))}ax-conversation-composer .ax-conversation-composer-attachment__remove{position:absolute;inset-inline-end:calc(var(--spacing, .25rem) * -1.5);top:calc(var(--spacing, .25rem) * -1.5);z-index:1;display:flex;height:calc(var(--spacing, .25rem) * 5);width:calc(var(--spacing, .25rem) * 5);cursor:pointer;align-items:center;justify-content:center;border-radius:calc(infinity * 1px);--tw-border-style: none;border-style:none;background-color:rgba(var(--ax-sys-color-danger-500));padding:calc(var(--spacing, .25rem) * 0);font-size:.625rem;color:rgba(var(--ax-sys-color-lightest-surface));opacity:0;pointer-events:none;transition:opacity .15s ease}ax-conversation-composer .ax-conversation-composer-attachment:hover .ax-conversation-composer-attachment__remove,ax-conversation-composer .ax-conversation-composer-attachment:focus-within .ax-conversation-composer-attachment__remove,ax-conversation-composer .ax-conversation-composer-attachment__remove:focus-visible{opacity:1;pointer-events:auto}@media(hover:none){ax-conversation-composer .ax-conversation-composer-attachment__remove{opacity:1;pointer-events:auto}}ax-conversation-composer .ax-conversation-composer-attachment-add{display:flex;height:calc(var(--spacing, .25rem) * 11);width:calc(var(--spacing, .25rem) * 11);flex-shrink:0;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--radius-lg, .5rem);border-style:var(--tw-border-style);border-width:1px;--tw-border-style: dashed;border-style:dashed;border-color:rgba(var(--ax-sys-color-border-light-surface));background-color:transparent;padding:calc(var(--spacing, .25rem) * 0);font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));color:rgba(var(--ax-sys-color-on-surface));transition:background-color .15s ease,color .15s ease}@media(hover:hover){ax-conversation-composer .ax-conversation-composer-attachment-add:hover:not(:disabled){background:rgba(var(--ax-sys-color-on-surface),.06)}}ax-conversation-composer .ax-conversation-composer-attachment-add:disabled{cursor:default;opacity:40%}ax-conversation-composer .ax-conversation-composer-attachments__close{flex-shrink:0;align-self:center}ax-conversation-composer .ax-conversation-composer-attachments__close>button{display:flex;height:calc(var(--spacing, .25rem) * 9);width:calc(var(--spacing, .25rem) * 9);cursor:pointer;touch-action:manipulation;align-items:center;justify-content:center;border-radius:var(--ax-sys-border-radius);--tw-border-style: none;border-style:none;background-color:transparent;padding:calc(var(--spacing, .25rem) * 0);font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));color:rgba(var(--ax-sys-color-on-primary-lightest-surface),.55);box-shadow:none;background-image:none;transition:background-color .15s ease,color .15s ease}@media(hover:hover){ax-conversation-composer .ax-conversation-composer-attachments__close:hover>button{color:rgba(var(--ax-sys-color-on-surface));background:rgba(var(--ax-sys-color-on-surface),.06)}}ax-conversation-composer .ax-conversation-composer-attachments__close>button:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px;outline-offset:2px;outline-color:rgba(var(--ax-sys-color-primary-surface))}ax-conversation-composer .composer-component-fullwidth{min-height:72px;width:100%;background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-conversation-composer .composer-emoji-popover{width:100%}ax-conversation-composer .ax-conversation-composer-primary--stopping .fa-spinner{animation:ax-conversation-composer-spin .75s linear infinite}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-tracking{syntax: \"*\"; inherits: false;}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-outline-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-font-weight: initial;--tw-tracking: initial;--tw-leading: initial;--tw-outline-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AXConversationRegistryComponentOutletComponent, selector: "ax-conversation-registry-component-outlet", inputs: ["component", "componentLoader", "inputs", "skeleton"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXTextAreaComponent, selector: "ax-text-area", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "placeholder", "maxLength", "look", "rows", "allowResize", "showCounter", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXCommonModule }, { kind: "directive", type: i2.AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: ["axAutoFocus", "axAutoFocusTime"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disablePanelClass", "visualContextScope", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "closeOnScroll", "closeOnNavigation", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items", "closeParentOnClick", "lockOnLoading"], outputs: ["onItemClick"] }, { kind: "directive", type: AXHorizontalScrollDirective, selector: "[axHorizontalScroll]", inputs: ["disabled", "orientation", "speed"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
8805
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AXConversationComposerComponent, isStandalone: true, selector: "ax-conversation-composer", outputs: { messageSent: "messageSent", generationCancelled: "generationCancelled", emojiClick: "emojiClick", attachClick: "attachClick", voiceClick: "voiceClick" }, host: { listeners: { "paste": "onComposerPaste($event)" } }, viewQueries: [{ propertyName: "textAreaRef", first: true, predicate: ["inputElement"], descendants: true, read: AXTextAreaComponent, isSignal: true }, { propertyName: "emojiPopoverRef", first: true, predicate: ["emojiPopover"], descendants: true, isSignal: true }, { propertyName: "attachPopoverRef", first: true, predicate: ["attachPopover"], descendants: true, isSignal: true }, { propertyName: "attachMenuButtonRef", first: true, predicate: ["attachMenuButton"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"composer\">\n <!-- Edit/Reply Banner -->\n @if (editingMessage() || replyingToMessage()) {\n <div\n class=\"ax-conversation-composer-banner\"\n [class.ax-conversation-composer-banner--edit]=\"!!editingMessage()\"\n [class.ax-conversation-composer-banner--reply]=\"!!replyingToMessage()\"\n >\n <div class=\"ax-conversation-composer-banner__accent\" aria-hidden=\"true\"></div>\n @if (editingMessage()) {\n <div class=\"ax-conversation-composer-banner__content\">\n <span class=\"ax-conversation-composer-banner__icon\" aria-hidden=\"true\"\n ><i class=\"fa-light fa-pen-to-square\"></i\n ></span>\n <div class=\"ax-conversation-composer-banner__body\">\n <span class=\"ax-conversation-composer-banner__label\">{{\n '@acorex:chat.composer.editing-message' | translate | async\n }}</span>\n @if (getEditingPreview(); as preview) {\n <span class=\"ax-conversation-composer-banner__preview\">\n @if (preview.type !== 'text') {\n <i [class]=\"preview.icon\"></i>\n }\n {{ getComposerPreviewLabel(preview) }}\n </span>\n }\n </div>\n </div>\n } @else if (replyingToMessage()) {\n <div class=\"ax-conversation-composer-banner__content\">\n <span class=\"ax-conversation-composer-banner__icon\" aria-hidden=\"true\"\n ><i class=\"fa-light fa-reply\"></i\n ></span>\n <div\n class=\"ax-conversation-composer-banner__body ax-conversation-composer-banner__body--clickable\"\n (click)=\"onReplyPreviewClick()\"\n >\n <span class=\"ax-conversation-composer-banner__label\">\n {{ '@acorex:chat.composer.replying-to' | translate | async }} {{ getReplyingSenderName() }}\n </span>\n @if (getReplyingPreview(); as preview) {\n <span class=\"ax-conversation-composer-banner__preview\">\n @if (preview.type !== 'text') {\n <i [class]=\"preview.icon\"></i>\n }\n {{ getComposerPreviewLabel(preview) }}\n </span>\n }\n </div>\n </div>\n }\n <ax-button\n class=\"ax-conversation-composer-banner__close rounded-full\"\n look=\"blank\"\n [iconOnly]=\"true\"\n [text]=\"translation.translateSync('@acorex:chat.actions.cancel')\"\n (onClick)=\"cancelEditReply()\"\n >\n <ax-icon><i class=\"fa-solid fa-xmark\"></i></ax-icon>\n </ax-button>\n </div>\n }\n\n @if (usesAttachmentBanner() && draftAttachments().length > 0) {\n <div class=\"ax-conversation-composer-attachments\">\n <div class=\"ax-conversation-composer-attachments__scroll\" role=\"list\" axHorizontalScroll>\n @for (attachment of draftAttachments(); track attachment.id) {\n <div\n class=\"ax-conversation-composer-attachment\"\n role=\"listitem\"\n [class.ax-conversation-composer-attachment--media]=\"attachment.kind === 'image' || attachment.kind === 'video'\"\n [class.ax-conversation-composer-attachment--file]=\"attachment.kind === 'audio' || attachment.kind === 'file'\"\n [class.ax-conversation-composer-attachment--uploading]=\"attachment.uploading\"\n [class.ax-conversation-composer-attachment--error]=\"!!attachment.error\"\n [title]=\"attachment.file.name\"\n >\n @if (attachment.kind === 'image' || attachment.kind === 'video') {\n <span class=\"ax-conversation-composer-attachment__thumb\" aria-hidden=\"true\">\n @if (attachment.kind === 'video' && attachment.preview) {\n <video [src]=\"attachment.preview\" muted playsinline preload=\"metadata\"></video>\n } @else if (attachment.preview) {\n <img [src]=\"attachment.preview\" alt=\"\" />\n } @else {\n <i [class]=\"attachment.icon\"></i>\n }\n </span>\n } @else {\n <span class=\"ax-conversation-composer-attachment__icon\" aria-hidden=\"true\">\n <i [class]=\"attachment.icon\"></i>\n </span>\n <span class=\"ax-conversation-composer-attachment__name\">{{\n draftAttachmentLabel(attachment.file.name)\n }}</span>\n }\n @if (attachment.uploading) {\n <span class=\"ax-conversation-composer-attachment__progress\" aria-hidden=\"true\"></span>\n }\n <button\n type=\"button\"\n class=\"ax-conversation-composer-attachment__remove\"\n [attr.aria-label]=\"translation.translateSync('@acorex:chat.actions.remove-attachment')\"\n (click)=\"removeDraftAttachment(attachment.id); $event.stopPropagation()\"\n >\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n }\n <button\n type=\"button\"\n class=\"ax-conversation-composer-attachment-add\"\n [disabled]=\"!canAddDraftAttachments()\"\n [attr.aria-label]=\"translation.translateSync('@acorex:chat.pickers.common.add-more')\"\n (click)=\"addDraftAttachments()\"\n >\n <i class=\"fa-light fa-plus\"></i>\n </button>\n </div>\n <ax-button\n class=\"ax-conversation-composer-attachments__close rounded-full\"\n look=\"blank\"\n [iconOnly]=\"true\"\n [text]=\"translation.translateSync('@acorex:chat.actions.cancel')\"\n (onClick)=\"dismissDraftAttachments()\"\n >\n <ax-icon><i class=\"fa-solid fa-xmark\"></i></ax-icon>\n </ax-button>\n </div>\n }\n\n <!-- Input Area -->\n <div class=\"composer-input-container\">\n <!-- Start actions -->\n <div class=\"composer-actions-left\">\n @if (startMenuActions().length > 0) {\n <span\n #attachMenuButton\n class=\"composer-attach-menu-trigger\"\n (mouseenter)=\"onAttachMenuMouseEnter()\"\n (mouseleave)=\"onAttachMenuMouseLeave()\"\n >\n <ax-button\n class=\"rounded-full text-xl\"\n look=\"blank\"\n [iconOnly]=\"true\"\n [text]=\"('@acorex:chat.tooltips.attach-file' | translate | async) ?? ''\"\n (onClick)=\"onAttachMenuClick($event)\"\n >\n <ax-prefix>\n <i class=\"fa-light fa-paperclip\"></i>\n </ax-prefix>\n </ax-button>\n </span>\n }\n\n @for (action of startInlineActions(); track action.id) {\n <ax-button\n look=\"blank\"\n [iconOnly]=\"true\"\n [text]=\"getActionLabel(action)\"\n [disabled]=\"!isActionEnabled(action)\"\n [class]=\"getActionButtonClass(action)\"\n (onClick)=\"onActionClick(action.id, $event)\"\n >\n <ax-icon>\n <i [class]=\"action.icon\"></i>\n </ax-icon>\n </ax-button>\n }\n </div>\n\n <!-- Text Input -->\n <div class=\"composer-input-wrapper\">\n <ax-text-area\n #inputElement\n [ngModel]=\"draftText()\"\n (ngModelChange)=\"onDraftModelChange($event)\"\n (onKeyDown)=\"onKeyDown($event)\"\n (onValueChanged)=\"onDraftValueChanged($event)\"\n [placeholder]=\"placeholder()\"\n [rows]=\"inputRows()\"\n [axAutoFocus]=\"true\"\n ></ax-text-area>\n </div>\n\n <!-- End actions -->\n <div class=\"composer-actions-right\">\n @for (action of endInlineActions(); track action.id) {\n <ax-button\n look=\"blank\"\n [iconOnly]=\"true\"\n [text]=\"getActionLabel(action)\"\n [disabled]=\"!isActionEnabled(action)\"\n [class]=\"getActionButtonClass(action)\"\n (onClick)=\"onActionClick(action.id, $event)\"\n >\n <ax-icon>\n <i [class]=\"action.icon\"></i>\n </ax-icon>\n </ax-button>\n }\n\n <div class=\"composer-primary-button-slot\">\n @switch (primaryButtonMode()) {\n @case ('cancel') {\n <ax-button\n class=\"rounded-full\"\n [iconOnly]=\"true\"\n look=\"blank\"\n [text]=\"getPrimaryButtonLabel()\"\n (onClick)=\"onPrimaryButtonClick()\"\n >\n <ax-icon [class]=\"getPrimaryButtonIcon()\"> </ax-icon>\n </ax-button>\n }\n @case ('stopping') {\n <ax-button\n class=\"rounded-full\"\n [iconOnly]=\"true\"\n look=\"blank\"\n [text]=\"getPrimaryButtonLabel()\"\n [disabled]=\"true\"\n >\n <ax-prefix>\n <i [class]=\"getPrimaryButtonIcon()\"></i>\n </ax-prefix>\n </ax-button>\n }\n @case ('send') {\n <ax-button\n class=\"rounded-full composer-primary-button--send\"\n [iconOnly]=\"true\"\n look=\"blank\"\n color=\"primary\"\n [text]=\"getPrimaryButtonLabel()\"\n [disabled]=\"isPrimaryButtonDisabled()\"\n (onClick)=\"onPrimaryButtonClick()\"\n >\n <ax-prefix>\n <i [class]=\"getPrimaryButtonIcon()\"></i>\n </ax-prefix>\n </ax-button>\n }\n @default {\n <ax-button\n class=\"rounded-full\"\n [iconOnly]=\"true\"\n look=\"blank\"\n [text]=\"getPrimaryButtonLabel()\"\n [disabled]=\"isPrimaryButtonDisabled()\"\n (onClick)=\"onPrimaryButtonClick()\"\n >\n <ax-prefix>\n <i [class]=\"getPrimaryButtonIcon()\"></i>\n </ax-prefix>\n </ax-button>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<!-- Popover for attachment menu -->\n@if (attachMenuTarget()) {\n <ax-popover\n #attachPopover\n [target]=\"attachMenuTarget()\"\n [openOn]=\"'manual'\"\n [closeOn]=\"'clickOut'\"\n [placement]=\"'top-start'\"\n >\n <div\n class=\"composer-attach-menu-panel\"\n (mouseenter)=\"onAttachMenuPanelMouseEnter()\"\n (mouseleave)=\"onAttachMenuPanelMouseLeave()\"\n >\n <ax-button-item-list>\n @for (action of startMenuActions(); track action.id) {\n <ax-button-item\n [text]=\"getActionLabel(action)\"\n (click)=\"onAttachMenuAction(action.id)\"\n [disabled]=\"!isActionEnabled(action)\"\n >\n <ax-prefix>\n <i [class]=\"action.icon\"></i>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </div>\n </ax-popover>\n}\n\n<!-- Popover for emoji/sticker picker -->\n@if (emojiPopoverTarget()) {\n <ax-popover\n #emojiPopover\n [target]=\"emojiPopoverTarget()\"\n [openOn]=\"'manual'\"\n [closeOn]=\"'clickOut'\"\n [placement]=\"'top-start'\"\n panelClass=\"composer-emoji-popover-panel\"\n (onClosed)=\"onEmojiPopoverClosed()\"\n >\n <div class=\"composer-emoji-popover\">\n <ax-conversation-registry-component-outlet\n [componentLoader]=\"composerPopupLoader\"\n [inputs]=\"getEmojiPopupInputs()\"\n />\n </div>\n </ax-popover>\n}\n", styles: ["@layer properties;@layer components{ax-conversation-composer{display:block;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);overflow:hidden;font-variant-emoji:emoji;@keyframes ax-conversation-composer-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}ax-conversation-composer .composer{width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0)}ax-conversation-composer .ax-conversation-composer-banner{display:flex;min-height:2.75rem;align-items:stretch;gap:calc(var(--spacing, .25rem) * 0);border-block-style:var(--tw-border-style);border-block-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));background-color:rgba(var(--ax-sys-color-light-surface))}ax-conversation-composer .ax-conversation-composer-banner__accent{width:3px;flex-shrink:0;border-start-end-radius:var(--radius-sm, .25rem);border-end-end-radius:var(--radius-sm, .25rem);background-color:rgba(var(--ax-sys-color-primary-surface))}ax-conversation-composer .ax-conversation-composer-banner--reply .ax-conversation-composer-banner__accent{background-color:rgba(var(--ax-sys-color-secondary-500))}ax-conversation-composer .ax-conversation-composer-banner__content{display:flex;min-width:calc(var(--spacing, .25rem) * 0);flex:1;align-items:center;gap:calc(var(--spacing, .25rem) * 2.5);padding-inline:calc(var(--spacing, .25rem) * 2.5);padding-block:calc(var(--spacing, .25rem) * 2)}ax-conversation-composer .ax-conversation-composer-banner__icon{display:flex;height:calc(var(--spacing, .25rem) * 7);width:calc(var(--spacing, .25rem) * 7);flex-shrink:0;align-items:center;justify-content:center;border-radius:calc(infinity * 1px);font-size:.8125rem;color:rgba(var(--ax-sys-color-primary-600));background:rgba(var(--ax-sys-color-primary-500),.1)}ax-conversation-composer .ax-conversation-composer-banner--reply .ax-conversation-composer-banner__icon{color:rgba(var(--ax-sys-color-secondary-600));background:rgba(var(--ax-sys-color-secondary-500),.1)}ax-conversation-composer .ax-conversation-composer-banner__body{display:flex;min-width:calc(var(--spacing, .25rem) * 0);flex:1;flex-direction:column;gap:calc(var(--spacing, .25rem) * .5)}ax-conversation-composer .ax-conversation-composer-banner__body--clickable{cursor:pointer;border-radius:var(--ax-sys-border-radius);transition:opacity .15s ease}@media(hover:hover){ax-conversation-composer .ax-conversation-composer-banner__body--clickable:hover{opacity:.85}}ax-conversation-composer .ax-conversation-composer-banner__label{font-size:.6875rem;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600);--tw-tracking: var(--tracking-wide, .025em);letter-spacing:var(--tracking-wide, .025em);color:rgba(var(--ax-sys-color-primary-600));text-transform:uppercase}ax-conversation-composer .ax-conversation-composer-banner--reply .ax-conversation-composer-banner__label{color:rgba(var(--ax-sys-color-secondary-600))}ax-conversation-composer .ax-conversation-composer-banner__preview{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 1.5);overflow:hidden;font-size:.8125rem;--tw-leading: var(--leading-snug, 1.375);line-height:var(--leading-snug, 1.375);text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-surface));opacity:.88}ax-conversation-composer .ax-conversation-composer-banner__preview i{flex-shrink:0;font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));opacity:70%}ax-conversation-composer .ax-conversation-composer-banner__close{margin-inline-end:calc(var(--spacing, .25rem) * 1.5);flex-shrink:0;align-self:center}ax-conversation-composer .ax-conversation-composer-banner__close>button{display:flex;height:calc(var(--spacing, .25rem) * 9);width:calc(var(--spacing, .25rem) * 9);cursor:pointer;touch-action:manipulation;align-items:center;justify-content:center;border-radius:var(--ax-sys-border-radius);--tw-border-style: none;border-style:none;background-color:transparent;padding:calc(var(--spacing, .25rem) * 0);font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));color:rgba(var(--ax-sys-color-on-primary-lightest-surface),.55);box-shadow:none;background-image:none;transition:background-color .15s ease,color .15s ease}@media(hover:hover){ax-conversation-composer .ax-conversation-composer-banner__close:hover>button{color:rgba(var(--ax-sys-color-on-surface));background:rgba(var(--ax-sys-color-on-surface),.06)}}ax-conversation-composer .ax-conversation-composer-banner__close>button:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px;outline-offset:2px;outline-color:rgba(var(--ax-sys-color-primary-surface))}ax-conversation-composer .emoji-icon{flex-shrink:0;font-size:var(--text-xl, 1.25rem);line-height:var(--tw-leading, var(--text-xl--line-height, calc(1.75 / 1.25)))}ax-conversation-composer .composer-input-container{display:flex;width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;gap:calc(var(--spacing, .25rem) * 2);background-color:rgba(var(--ax-sys-color-lightest-surface));padding-inline:calc(var(--spacing, .25rem) * 2);padding-block:calc(var(--spacing, .25rem) * 1)}ax-conversation-composer .composer-actions-left,ax-conversation-composer .composer-actions-right{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 1)}:is(ax-conversation-composer .composer-actions-left,ax-conversation-composer .composer-actions-right) ax-icon i,:is(ax-conversation-composer .composer-actions-left,ax-conversation-composer .composer-actions-right) ax-prefix i{font-size:1.375rem;--tw-leading: 1;line-height:1}ax-conversation-composer .composer-attach-menu-trigger{display:inline-flex}ax-conversation-composer .composer-primary-button-slot{display:flex;height:calc(var(--spacing, .25rem) * 9);width:calc(var(--spacing, .25rem) * 9);flex-shrink:0;align-items:center;justify-content:center}ax-conversation-composer .composer-primary-button-slot .composer-primary-button ax-prefix i{transition:opacity .15s ease}ax-conversation-composer .composer-primary-button-slot .fa-paper-plane-top:dir(rtl){transform:scaleX(-1)}@media(hover:hover){ax-conversation-composer .composer-actions-left ax-button>button:hover:not(:disabled),ax-conversation-composer .composer-actions-right ax-button:not(.composer-primary-button--send)>button:hover:not(:disabled){color:rgba(var(--ax-sys-color-on-surface),.68);background:rgba(var(--ax-sys-color-on-surface),.05)}}ax-conversation-composer .composer-input-wrapper{display:flex;min-width:calc(var(--spacing, .25rem) * 0);flex:1;--tw-border-style: none;border-style:none;--tw-outline-style: none;outline-style:none}ax-conversation-composer .composer-input-wrapper textarea{resize:none;font-variant-emoji:emoji}ax-conversation-composer .composer-input-wrapper .ax-editor-container{--tw-border-style: none;border-style:none;background-color:transparent!important;padding:calc(var(--spacing, .25rem) * 0);--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-outline-style: none;outline-style:none;background-image:none}ax-conversation-composer .composer-input-wrapper .ax-editor-container ax-text-area{line-height:2}ax-conversation-composer .composer-input-wrapper .ax-editor-container:after{display:none}ax-conversation-composer .composer-input-wrapper .ax-editor-container:hover:not(.ax-state-disabled,.ax-state-readonly,.ax-state-error),ax-conversation-composer .composer-input-wrapper .ax-editor-container:focus-within:not(.ax-state-disabled,.ax-state-readonly,.ax-state-error){--tw-border-style: none;border-style:none;--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-outline-style: none;outline-style:none;background-image:none}ax-conversation-composer .composer-input{max-height:120px;min-height:calc(var(--spacing, .25rem) * 10);width:100%;resize:none;border-radius:1.25rem;border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 2);font-size:.9375rem;--tw-leading: var(--leading-normal, 1.5);line-height:var(--leading-normal, 1.5);--tw-outline-style: none;outline-style:none;font-variant-emoji:emoji;transition:border-color .2s}ax-conversation-composer .composer-input:focus{border-color:rgba(var(--ax-sys-color-primary-surface))}ax-conversation-composer .ax-conversation-composer-attachments{display:flex;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;gap:calc(var(--spacing, .25rem) * 1);overflow:hidden;border-block-style:var(--tw-border-style);border-block-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));padding-block:calc(var(--spacing, .25rem) * 1);padding-inline-start:calc(var(--spacing, .25rem) * 3);padding-inline-end:calc(var(--spacing, .25rem) * 1)}ax-conversation-composer .ax-conversation-composer-attachments__scroll{display:flex;min-width:calc(var(--spacing, .25rem) * 0);flex:1;flex-wrap:nowrap;align-items:center;gap:calc(var(--spacing, .25rem) * 2);overflow-x:auto;overflow-y:hidden;padding-block:calc(var(--spacing, .25rem) * 1.5);padding-inline-end:calc(var(--spacing, .25rem) * 1);width:0;scrollbar-width:thin;overscroll-behavior-x:contain}ax-conversation-composer .ax-conversation-composer-attachments__scroll::-webkit-scrollbar{height:6px}ax-conversation-composer .ax-conversation-composer-attachments__scroll::-webkit-scrollbar-thumb{border-radius:calc(infinity * 1px);background-color:rgba(var(--ax-sys-color-border-light-surface))}ax-conversation-composer .ax-conversation-composer-attachment{position:relative;display:flex;max-width:11rem;flex-shrink:0;align-items:center}ax-conversation-composer .ax-conversation-composer-attachment--media .ax-conversation-composer-attachment__thumb{position:relative;display:flex;height:calc(var(--spacing, .25rem) * 11);width:calc(var(--spacing, .25rem) * 11);align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-lg, .5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));background-color:rgba(var(--ax-sys-color-surface))}ax-conversation-composer .ax-conversation-composer-attachment__thumb img,ax-conversation-composer .ax-conversation-composer-attachment__thumb video{height:100%;width:100%;object-fit:cover}ax-conversation-composer .ax-conversation-composer-attachment--file{height:calc(var(--spacing, .25rem) * 11);width:11rem;max-width:11rem;gap:calc(var(--spacing, .25rem) * 2);border-radius:var(--radius-lg, .5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));background-color:rgba(var(--ax-sys-color-surface));padding-inline-start:calc(var(--spacing, .25rem) * 2);padding-inline-end:calc(var(--spacing, .25rem) * 7)}ax-conversation-composer .ax-conversation-composer-attachment__icon{display:flex;height:calc(var(--spacing, .25rem) * 7);width:calc(var(--spacing, .25rem) * 7);flex-shrink:0;align-items:center;justify-content:center;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));color:rgba(var(--ax-sys-color-on-surface));opacity:80%}ax-conversation-composer .ax-conversation-composer-attachment__name{min-width:calc(var(--spacing, .25rem) * 0);flex:1;overflow:hidden;font-size:.8125rem;text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-surface))}ax-conversation-composer .ax-conversation-composer-attachment__progress{pointer-events:none;position:absolute;inset:calc(var(--spacing, .25rem) * 0);border-radius:var(--radius-lg, .5rem);background:rgba(var(--ax-sys-color-on-surface),.18)}ax-conversation-composer .ax-conversation-composer-attachment--error{border-color:rgba(var(--ax-sys-color-danger-500))}ax-conversation-composer .ax-conversation-composer-attachment__remove{position:absolute;inset-inline-end:calc(var(--spacing, .25rem) * -1.5);top:calc(var(--spacing, .25rem) * -1.5);z-index:1;display:flex;height:calc(var(--spacing, .25rem) * 5);width:calc(var(--spacing, .25rem) * 5);cursor:pointer;align-items:center;justify-content:center;border-radius:calc(infinity * 1px);--tw-border-style: none;border-style:none;background-color:rgba(var(--ax-sys-color-danger-500));padding:calc(var(--spacing, .25rem) * 0);font-size:.625rem;color:rgba(var(--ax-sys-color-lightest-surface));opacity:0;pointer-events:none;transition:opacity .15s ease}ax-conversation-composer .ax-conversation-composer-attachment:hover .ax-conversation-composer-attachment__remove,ax-conversation-composer .ax-conversation-composer-attachment:focus-within .ax-conversation-composer-attachment__remove,ax-conversation-composer .ax-conversation-composer-attachment__remove:focus-visible{opacity:1;pointer-events:auto}@media(hover:none){ax-conversation-composer .ax-conversation-composer-attachment__remove{opacity:1;pointer-events:auto}}ax-conversation-composer .ax-conversation-composer-attachment-add{display:flex;height:calc(var(--spacing, .25rem) * 11);width:calc(var(--spacing, .25rem) * 11);flex-shrink:0;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--radius-lg, .5rem);border-style:var(--tw-border-style);border-width:1px;--tw-border-style: dashed;border-style:dashed;border-color:rgba(var(--ax-sys-color-border-light-surface));background-color:transparent;padding:calc(var(--spacing, .25rem) * 0);font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));color:rgba(var(--ax-sys-color-on-surface));transition:background-color .15s ease,color .15s ease}@media(hover:hover){ax-conversation-composer .ax-conversation-composer-attachment-add:hover:not(:disabled){background:rgba(var(--ax-sys-color-on-surface),.06)}}ax-conversation-composer .ax-conversation-composer-attachment-add:disabled{cursor:default;opacity:40%}ax-conversation-composer .ax-conversation-composer-attachments__close{flex-shrink:0;align-self:center}ax-conversation-composer .ax-conversation-composer-attachments__close>button{display:flex;height:calc(var(--spacing, .25rem) * 9);width:calc(var(--spacing, .25rem) * 9);cursor:pointer;touch-action:manipulation;align-items:center;justify-content:center;border-radius:var(--ax-sys-border-radius);--tw-border-style: none;border-style:none;background-color:transparent;padding:calc(var(--spacing, .25rem) * 0);font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));color:rgba(var(--ax-sys-color-on-primary-lightest-surface),.55);box-shadow:none;background-image:none;transition:background-color .15s ease,color .15s ease}@media(hover:hover){ax-conversation-composer .ax-conversation-composer-attachments__close:hover>button{color:rgba(var(--ax-sys-color-on-surface));background:rgba(var(--ax-sys-color-on-surface),.06)}}ax-conversation-composer .ax-conversation-composer-attachments__close>button:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px;outline-offset:2px;outline-color:rgba(var(--ax-sys-color-primary-surface))}ax-conversation-composer .composer-component-fullwidth{min-height:72px;width:100%;background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-conversation-composer .composer-emoji-popover{width:100%}ax-conversation-composer .ax-conversation-composer-primary--stopping .fa-spinner{animation:ax-conversation-composer-spin .75s linear infinite}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-tracking{syntax: \"*\"; inherits: false;}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-outline-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-font-weight: initial;--tw-tracking: initial;--tw-leading: initial;--tw-outline-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AXConversationRegistryComponentOutletComponent, selector: "ax-conversation-registry-component-outlet", inputs: ["component", "componentLoader", "inputs", "skeleton"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXTextAreaComponent, selector: "ax-text-area", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "placeholder", "maxLength", "look", "rows", "allowResize", "showCounter", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXCommonModule }, { kind: "directive", type: i2.AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: ["axAutoFocus", "axAutoFocusTime"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disablePanelClass", "visualContextScope", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "closeOnScroll", "closeOnNavigation", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items", "closeParentOnClick", "lockOnLoading"], outputs: ["onItemClick"] }, { kind: "directive", type: AXHorizontalScrollDirective, selector: "[axHorizontalScroll]", inputs: ["disabled", "orientation", "speed"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
8809
8806
  }
8810
8807
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXConversationComposerComponent, decorators: [{
8811
8808
  type: Component,
@@ -8825,7 +8822,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
8825
8822
  AXButtonItemListComponent,
8826
8823
  AXDecoratorModule,
8827
8824
  AXHorizontalScrollDirective,
8828
- ], template: "@if (activeConversation()) {\n <div class=\"composer\">\n <!-- Edit/Reply Banner -->\n @if (editingMessage() || replyingToMessage()) {\n <div\n class=\"ax-conversation-composer-banner\"\n [class.ax-conversation-composer-banner--edit]=\"!!editingMessage()\"\n [class.ax-conversation-composer-banner--reply]=\"!!replyingToMessage()\"\n >\n <div class=\"ax-conversation-composer-banner__accent\" aria-hidden=\"true\"></div>\n @if (editingMessage()) {\n <div class=\"ax-conversation-composer-banner__content\">\n <span class=\"ax-conversation-composer-banner__icon\" aria-hidden=\"true\"\n ><i class=\"fa-light fa-pen-to-square\"></i\n ></span>\n <div class=\"ax-conversation-composer-banner__body\">\n <span class=\"ax-conversation-composer-banner__label\">{{\n '@acorex:chat.composer.editing-message' | translate | async\n }}</span>\n @if (getEditingPreview(); as preview) {\n <span class=\"ax-conversation-composer-banner__preview\">\n @if (preview.type !== 'text') {\n <i [class]=\"preview.icon\"></i>\n }\n {{ getComposerPreviewLabel(preview) }}\n </span>\n }\n </div>\n </div>\n } @else if (replyingToMessage()) {\n <div class=\"ax-conversation-composer-banner__content\">\n <span class=\"ax-conversation-composer-banner__icon\" aria-hidden=\"true\"\n ><i class=\"fa-light fa-reply\"></i\n ></span>\n <div\n class=\"ax-conversation-composer-banner__body ax-conversation-composer-banner__body--clickable\"\n (click)=\"onReplyPreviewClick()\"\n >\n <span class=\"ax-conversation-composer-banner__label\">\n {{ '@acorex:chat.composer.replying-to' | translate | async }} {{ getReplyingSenderName() }}\n </span>\n @if (getReplyingPreview(); as preview) {\n <span class=\"ax-conversation-composer-banner__preview\">\n @if (preview.type !== 'text') {\n <i [class]=\"preview.icon\"></i>\n }\n {{ getComposerPreviewLabel(preview) }}\n </span>\n }\n </div>\n </div>\n }\n <ax-button\n class=\"ax-conversation-composer-banner__close rounded-full\"\n look=\"blank\"\n [iconOnly]=\"true\"\n [text]=\"translation.translateSync('@acorex:chat.actions.cancel')\"\n (onClick)=\"cancelEditReply()\"\n >\n <ax-icon><i class=\"fa-solid fa-xmark\"></i></ax-icon>\n </ax-button>\n </div>\n }\n\n @if (usesAttachmentBanner() && draftAttachments().length > 0) {\n <div class=\"ax-conversation-composer-attachments\">\n <div class=\"ax-conversation-composer-attachments__scroll\" role=\"list\" axHorizontalScroll>\n @for (attachment of draftAttachments(); track attachment.id) {\n <div\n class=\"ax-conversation-composer-attachment\"\n role=\"listitem\"\n [class.ax-conversation-composer-attachment--media]=\"attachment.kind === 'image' || attachment.kind === 'video'\"\n [class.ax-conversation-composer-attachment--file]=\"attachment.kind === 'audio' || attachment.kind === 'file'\"\n [class.ax-conversation-composer-attachment--uploading]=\"attachment.uploading\"\n [class.ax-conversation-composer-attachment--error]=\"!!attachment.error\"\n [title]=\"attachment.file.name\"\n >\n @if (attachment.kind === 'image' || attachment.kind === 'video') {\n <span class=\"ax-conversation-composer-attachment__thumb\" aria-hidden=\"true\">\n @if (attachment.kind === 'video' && attachment.preview) {\n <video [src]=\"attachment.preview\" muted playsinline preload=\"metadata\"></video>\n } @else if (attachment.preview) {\n <img [src]=\"attachment.preview\" alt=\"\" />\n } @else {\n <i [class]=\"attachment.icon\"></i>\n }\n </span>\n } @else {\n <span class=\"ax-conversation-composer-attachment__icon\" aria-hidden=\"true\">\n <i [class]=\"attachment.icon\"></i>\n </span>\n <span class=\"ax-conversation-composer-attachment__name\">{{\n draftAttachmentLabel(attachment.file.name)\n }}</span>\n }\n @if (attachment.uploading) {\n <span class=\"ax-conversation-composer-attachment__progress\" aria-hidden=\"true\"></span>\n }\n <button\n type=\"button\"\n class=\"ax-conversation-composer-attachment__remove\"\n [attr.aria-label]=\"translation.translateSync('@acorex:chat.actions.remove-attachment')\"\n (click)=\"removeDraftAttachment(attachment.id); $event.stopPropagation()\"\n >\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n }\n <button\n type=\"button\"\n class=\"ax-conversation-composer-attachment-add\"\n [disabled]=\"!canAddDraftAttachments()\"\n [attr.aria-label]=\"translation.translateSync('@acorex:chat.pickers.common.add-more')\"\n (click)=\"addDraftAttachments()\"\n >\n <i class=\"fa-light fa-plus\"></i>\n </button>\n </div>\n <ax-button\n class=\"ax-conversation-composer-attachments__close rounded-full\"\n look=\"blank\"\n [iconOnly]=\"true\"\n [text]=\"translation.translateSync('@acorex:chat.actions.cancel')\"\n (onClick)=\"dismissDraftAttachments()\"\n >\n <ax-icon><i class=\"fa-solid fa-xmark\"></i></ax-icon>\n </ax-button>\n </div>\n }\n\n <!-- Input Area -->\n <div class=\"composer-input-container\">\n <!-- Start actions -->\n <div class=\"composer-actions-left\">\n @if (startMenuActions().length > 0) {\n <span\n #attachMenuButton\n class=\"composer-attach-menu-trigger\"\n (mouseenter)=\"onAttachMenuMouseEnter()\"\n (mouseleave)=\"onAttachMenuMouseLeave()\"\n >\n <ax-button\n class=\"rounded-full text-xl\"\n look=\"blank\"\n [iconOnly]=\"true\"\n [text]=\"('@acorex:chat.tooltips.attach-file' | translate | async) ?? ''\"\n (onClick)=\"onAttachMenuClick($event)\"\n >\n <ax-prefix>\n <i class=\"fa-light fa-paperclip\"></i>\n </ax-prefix>\n </ax-button>\n </span>\n }\n\n @for (action of startInlineActions(); track action.id) {\n <ax-button\n look=\"blank\"\n [iconOnly]=\"true\"\n [text]=\"getActionLabel(action)\"\n [disabled]=\"!isActionEnabled(action)\"\n [class]=\"getActionButtonClass(action)\"\n (onClick)=\"onActionClick(action.id, $event)\"\n >\n <ax-icon>\n <i [class]=\"action.icon\"></i>\n </ax-icon>\n </ax-button>\n }\n </div>\n\n <!-- Text Input -->\n <div class=\"composer-input-wrapper\">\n <ax-text-area\n #inputElement\n [ngModel]=\"draftText()\"\n (ngModelChange)=\"onDraftModelChange($event)\"\n (onKeyDown)=\"onKeyDown($event)\"\n (onValueChanged)=\"onDraftValueChanged($event)\"\n [placeholder]=\"placeholder()\"\n [rows]=\"inputRows()\"\n [axAutoFocus]=\"true\"\n ></ax-text-area>\n </div>\n\n <!-- End actions -->\n <div class=\"composer-actions-right\">\n @for (action of endInlineActions(); track action.id) {\n <ax-button\n look=\"blank\"\n [iconOnly]=\"true\"\n [text]=\"getActionLabel(action)\"\n [disabled]=\"!isActionEnabled(action)\"\n [class]=\"getActionButtonClass(action)\"\n (onClick)=\"onActionClick(action.id, $event)\"\n >\n <ax-icon>\n <i [class]=\"action.icon\"></i>\n </ax-icon>\n </ax-button>\n }\n\n <div class=\"composer-primary-button-slot\">\n @switch (primaryButtonMode()) {\n @case ('cancel') {\n <ax-button\n class=\"rounded-full\"\n [iconOnly]=\"true\"\n look=\"blank\"\n [text]=\"getPrimaryButtonLabel()\"\n (onClick)=\"onPrimaryButtonClick()\"\n >\n <ax-icon [class]=\"getPrimaryButtonIcon()\"> </ax-icon>\n </ax-button>\n }\n @case ('stopping') {\n <ax-button\n class=\"rounded-full\"\n [iconOnly]=\"true\"\n look=\"blank\"\n [text]=\"getPrimaryButtonLabel()\"\n [disabled]=\"true\"\n >\n <ax-prefix>\n <i [class]=\"getPrimaryButtonIcon()\"></i>\n </ax-prefix>\n </ax-button>\n }\n @case ('send') {\n <ax-button\n class=\"rounded-full composer-primary-button--send\"\n [iconOnly]=\"true\"\n look=\"blank\"\n color=\"primary\"\n [text]=\"getPrimaryButtonLabel()\"\n [disabled]=\"isPrimaryButtonDisabled()\"\n (onClick)=\"onPrimaryButtonClick()\"\n >\n <ax-prefix>\n <i [class]=\"getPrimaryButtonIcon()\"></i>\n </ax-prefix>\n </ax-button>\n }\n @default {\n <ax-button\n class=\"rounded-full\"\n [iconOnly]=\"true\"\n look=\"blank\"\n [text]=\"getPrimaryButtonLabel()\"\n [disabled]=\"isPrimaryButtonDisabled()\"\n (onClick)=\"onPrimaryButtonClick()\"\n >\n <ax-prefix>\n <i [class]=\"getPrimaryButtonIcon()\"></i>\n </ax-prefix>\n </ax-button>\n }\n }\n </div>\n </div>\n </div>\n </div>\n}\n\n<!-- Popover for attachment menu -->\n@if (attachMenuTarget()) {\n <ax-popover\n #attachPopover\n [target]=\"attachMenuTarget()\"\n [openOn]=\"'manual'\"\n [closeOn]=\"'clickOut'\"\n [placement]=\"'top-start'\"\n >\n <div\n class=\"composer-attach-menu-panel\"\n (mouseenter)=\"onAttachMenuPanelMouseEnter()\"\n (mouseleave)=\"onAttachMenuPanelMouseLeave()\"\n >\n <ax-button-item-list>\n @for (action of startMenuActions(); track action.id) {\n <ax-button-item\n [text]=\"getActionLabel(action)\"\n (click)=\"onAttachMenuAction(action.id)\"\n [disabled]=\"!isActionEnabled(action)\"\n >\n <ax-prefix>\n <i [class]=\"action.icon\"></i>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </div>\n </ax-popover>\n}\n\n<!-- Popover for emoji/sticker picker -->\n@if (emojiPopoverTarget()) {\n <ax-popover\n #emojiPopover\n [target]=\"emojiPopoverTarget()\"\n [openOn]=\"'manual'\"\n [closeOn]=\"'clickOut'\"\n [placement]=\"'top-start'\"\n panelClass=\"composer-emoji-popover-panel\"\n (onClosed)=\"onEmojiPopoverClosed()\"\n >\n <div class=\"composer-emoji-popover\">\n <ax-conversation-registry-component-outlet\n [componentLoader]=\"composerPopupLoader\"\n [inputs]=\"getEmojiPopupInputs()\"\n />\n </div>\n </ax-popover>\n}\n", styles: ["@layer properties;@layer components{ax-conversation-composer{display:block;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);overflow:hidden;font-variant-emoji:emoji;@keyframes ax-conversation-composer-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}ax-conversation-composer .composer{width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0)}ax-conversation-composer .ax-conversation-composer-banner{display:flex;min-height:2.75rem;align-items:stretch;gap:calc(var(--spacing, .25rem) * 0);border-block-style:var(--tw-border-style);border-block-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));background-color:rgba(var(--ax-sys-color-light-surface))}ax-conversation-composer .ax-conversation-composer-banner__accent{width:3px;flex-shrink:0;border-start-end-radius:var(--radius-sm, .25rem);border-end-end-radius:var(--radius-sm, .25rem);background-color:rgba(var(--ax-sys-color-primary-surface))}ax-conversation-composer .ax-conversation-composer-banner--reply .ax-conversation-composer-banner__accent{background-color:rgba(var(--ax-sys-color-secondary-500))}ax-conversation-composer .ax-conversation-composer-banner__content{display:flex;min-width:calc(var(--spacing, .25rem) * 0);flex:1;align-items:center;gap:calc(var(--spacing, .25rem) * 2.5);padding-inline:calc(var(--spacing, .25rem) * 2.5);padding-block:calc(var(--spacing, .25rem) * 2)}ax-conversation-composer .ax-conversation-composer-banner__icon{display:flex;height:calc(var(--spacing, .25rem) * 7);width:calc(var(--spacing, .25rem) * 7);flex-shrink:0;align-items:center;justify-content:center;border-radius:calc(infinity * 1px);font-size:.8125rem;color:rgba(var(--ax-sys-color-primary-600));background:rgba(var(--ax-sys-color-primary-500),.1)}ax-conversation-composer .ax-conversation-composer-banner--reply .ax-conversation-composer-banner__icon{color:rgba(var(--ax-sys-color-secondary-600));background:rgba(var(--ax-sys-color-secondary-500),.1)}ax-conversation-composer .ax-conversation-composer-banner__body{display:flex;min-width:calc(var(--spacing, .25rem) * 0);flex:1;flex-direction:column;gap:calc(var(--spacing, .25rem) * .5)}ax-conversation-composer .ax-conversation-composer-banner__body--clickable{cursor:pointer;border-radius:var(--ax-sys-border-radius);transition:opacity .15s ease}@media(hover:hover){ax-conversation-composer .ax-conversation-composer-banner__body--clickable:hover{opacity:.85}}ax-conversation-composer .ax-conversation-composer-banner__label{font-size:.6875rem;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600);--tw-tracking: var(--tracking-wide, .025em);letter-spacing:var(--tracking-wide, .025em);color:rgba(var(--ax-sys-color-primary-600));text-transform:uppercase}ax-conversation-composer .ax-conversation-composer-banner--reply .ax-conversation-composer-banner__label{color:rgba(var(--ax-sys-color-secondary-600))}ax-conversation-composer .ax-conversation-composer-banner__preview{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 1.5);overflow:hidden;font-size:.8125rem;--tw-leading: var(--leading-snug, 1.375);line-height:var(--leading-snug, 1.375);text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-surface));opacity:.88}ax-conversation-composer .ax-conversation-composer-banner__preview i{flex-shrink:0;font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));opacity:70%}ax-conversation-composer .ax-conversation-composer-banner__close{margin-inline-end:calc(var(--spacing, .25rem) * 1.5);flex-shrink:0;align-self:center}ax-conversation-composer .ax-conversation-composer-banner__close>button{display:flex;height:calc(var(--spacing, .25rem) * 9);width:calc(var(--spacing, .25rem) * 9);cursor:pointer;touch-action:manipulation;align-items:center;justify-content:center;border-radius:var(--ax-sys-border-radius);--tw-border-style: none;border-style:none;background-color:transparent;padding:calc(var(--spacing, .25rem) * 0);font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));color:rgba(var(--ax-sys-color-on-primary-lightest-surface),.55);box-shadow:none;background-image:none;transition:background-color .15s ease,color .15s ease}@media(hover:hover){ax-conversation-composer .ax-conversation-composer-banner__close:hover>button{color:rgba(var(--ax-sys-color-on-surface));background:rgba(var(--ax-sys-color-on-surface),.06)}}ax-conversation-composer .ax-conversation-composer-banner__close>button:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px;outline-offset:2px;outline-color:rgba(var(--ax-sys-color-primary-surface))}ax-conversation-composer .emoji-icon{flex-shrink:0;font-size:var(--text-xl, 1.25rem);line-height:var(--tw-leading, var(--text-xl--line-height, calc(1.75 / 1.25)))}ax-conversation-composer .composer-input-container{display:flex;width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;gap:calc(var(--spacing, .25rem) * 2);background-color:rgba(var(--ax-sys-color-lightest-surface));padding-inline:calc(var(--spacing, .25rem) * 2);padding-block:calc(var(--spacing, .25rem) * 1)}ax-conversation-composer .composer-actions-left,ax-conversation-composer .composer-actions-right{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 1)}:is(ax-conversation-composer .composer-actions-left,ax-conversation-composer .composer-actions-right) ax-icon i,:is(ax-conversation-composer .composer-actions-left,ax-conversation-composer .composer-actions-right) ax-prefix i{font-size:1.375rem;--tw-leading: 1;line-height:1}ax-conversation-composer .composer-attach-menu-trigger{display:inline-flex}ax-conversation-composer .composer-primary-button-slot{display:flex;height:calc(var(--spacing, .25rem) * 9);width:calc(var(--spacing, .25rem) * 9);flex-shrink:0;align-items:center;justify-content:center}ax-conversation-composer .composer-primary-button-slot .composer-primary-button ax-prefix i{transition:opacity .15s ease}ax-conversation-composer .composer-primary-button-slot .fa-paper-plane-top:dir(rtl){transform:scaleX(-1)}@media(hover:hover){ax-conversation-composer .composer-actions-left ax-button>button:hover:not(:disabled),ax-conversation-composer .composer-actions-right ax-button:not(.composer-primary-button--send)>button:hover:not(:disabled){color:rgba(var(--ax-sys-color-on-surface),.68);background:rgba(var(--ax-sys-color-on-surface),.05)}}ax-conversation-composer .composer-input-wrapper{display:flex;min-width:calc(var(--spacing, .25rem) * 0);flex:1;--tw-border-style: none;border-style:none;--tw-outline-style: none;outline-style:none}ax-conversation-composer .composer-input-wrapper textarea{resize:none;font-variant-emoji:emoji}ax-conversation-composer .composer-input-wrapper .ax-editor-container{--tw-border-style: none;border-style:none;background-color:transparent!important;padding:calc(var(--spacing, .25rem) * 0);--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-outline-style: none;outline-style:none;background-image:none}ax-conversation-composer .composer-input-wrapper .ax-editor-container ax-text-area{line-height:2}ax-conversation-composer .composer-input-wrapper .ax-editor-container:after{display:none}ax-conversation-composer .composer-input-wrapper .ax-editor-container:hover:not(.ax-state-disabled,.ax-state-readonly,.ax-state-error),ax-conversation-composer .composer-input-wrapper .ax-editor-container:focus-within:not(.ax-state-disabled,.ax-state-readonly,.ax-state-error){--tw-border-style: none;border-style:none;--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-outline-style: none;outline-style:none;background-image:none}ax-conversation-composer .composer-input{max-height:120px;min-height:calc(var(--spacing, .25rem) * 10);width:100%;resize:none;border-radius:1.25rem;border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 2);font-size:.9375rem;--tw-leading: var(--leading-normal, 1.5);line-height:var(--leading-normal, 1.5);--tw-outline-style: none;outline-style:none;font-variant-emoji:emoji;transition:border-color .2s}ax-conversation-composer .composer-input:focus{border-color:rgba(var(--ax-sys-color-primary-surface))}ax-conversation-composer .ax-conversation-composer-attachments{display:flex;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;gap:calc(var(--spacing, .25rem) * 1);overflow:hidden;border-block-style:var(--tw-border-style);border-block-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));padding-block:calc(var(--spacing, .25rem) * 1);padding-inline-start:calc(var(--spacing, .25rem) * 3);padding-inline-end:calc(var(--spacing, .25rem) * 1)}ax-conversation-composer .ax-conversation-composer-attachments__scroll{display:flex;min-width:calc(var(--spacing, .25rem) * 0);flex:1;flex-wrap:nowrap;align-items:center;gap:calc(var(--spacing, .25rem) * 2);overflow-x:auto;overflow-y:hidden;padding-block:calc(var(--spacing, .25rem) * 1.5);padding-inline-end:calc(var(--spacing, .25rem) * 1);width:0;scrollbar-width:thin;overscroll-behavior-x:contain}ax-conversation-composer .ax-conversation-composer-attachments__scroll::-webkit-scrollbar{height:6px}ax-conversation-composer .ax-conversation-composer-attachments__scroll::-webkit-scrollbar-thumb{border-radius:calc(infinity * 1px);background-color:rgba(var(--ax-sys-color-border-light-surface))}ax-conversation-composer .ax-conversation-composer-attachment{position:relative;display:flex;max-width:11rem;flex-shrink:0;align-items:center}ax-conversation-composer .ax-conversation-composer-attachment--media .ax-conversation-composer-attachment__thumb{position:relative;display:flex;height:calc(var(--spacing, .25rem) * 11);width:calc(var(--spacing, .25rem) * 11);align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-lg, .5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));background-color:rgba(var(--ax-sys-color-surface))}ax-conversation-composer .ax-conversation-composer-attachment__thumb img,ax-conversation-composer .ax-conversation-composer-attachment__thumb video{height:100%;width:100%;object-fit:cover}ax-conversation-composer .ax-conversation-composer-attachment--file{height:calc(var(--spacing, .25rem) * 11);width:11rem;max-width:11rem;gap:calc(var(--spacing, .25rem) * 2);border-radius:var(--radius-lg, .5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));background-color:rgba(var(--ax-sys-color-surface));padding-inline-start:calc(var(--spacing, .25rem) * 2);padding-inline-end:calc(var(--spacing, .25rem) * 7)}ax-conversation-composer .ax-conversation-composer-attachment__icon{display:flex;height:calc(var(--spacing, .25rem) * 7);width:calc(var(--spacing, .25rem) * 7);flex-shrink:0;align-items:center;justify-content:center;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));color:rgba(var(--ax-sys-color-on-surface));opacity:80%}ax-conversation-composer .ax-conversation-composer-attachment__name{min-width:calc(var(--spacing, .25rem) * 0);flex:1;overflow:hidden;font-size:.8125rem;text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-surface))}ax-conversation-composer .ax-conversation-composer-attachment__progress{pointer-events:none;position:absolute;inset:calc(var(--spacing, .25rem) * 0);border-radius:var(--radius-lg, .5rem);background:rgba(var(--ax-sys-color-on-surface),.18)}ax-conversation-composer .ax-conversation-composer-attachment--error{border-color:rgba(var(--ax-sys-color-danger-500))}ax-conversation-composer .ax-conversation-composer-attachment__remove{position:absolute;inset-inline-end:calc(var(--spacing, .25rem) * -1.5);top:calc(var(--spacing, .25rem) * -1.5);z-index:1;display:flex;height:calc(var(--spacing, .25rem) * 5);width:calc(var(--spacing, .25rem) * 5);cursor:pointer;align-items:center;justify-content:center;border-radius:calc(infinity * 1px);--tw-border-style: none;border-style:none;background-color:rgba(var(--ax-sys-color-danger-500));padding:calc(var(--spacing, .25rem) * 0);font-size:.625rem;color:rgba(var(--ax-sys-color-lightest-surface));opacity:0;pointer-events:none;transition:opacity .15s ease}ax-conversation-composer .ax-conversation-composer-attachment:hover .ax-conversation-composer-attachment__remove,ax-conversation-composer .ax-conversation-composer-attachment:focus-within .ax-conversation-composer-attachment__remove,ax-conversation-composer .ax-conversation-composer-attachment__remove:focus-visible{opacity:1;pointer-events:auto}@media(hover:none){ax-conversation-composer .ax-conversation-composer-attachment__remove{opacity:1;pointer-events:auto}}ax-conversation-composer .ax-conversation-composer-attachment-add{display:flex;height:calc(var(--spacing, .25rem) * 11);width:calc(var(--spacing, .25rem) * 11);flex-shrink:0;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--radius-lg, .5rem);border-style:var(--tw-border-style);border-width:1px;--tw-border-style: dashed;border-style:dashed;border-color:rgba(var(--ax-sys-color-border-light-surface));background-color:transparent;padding:calc(var(--spacing, .25rem) * 0);font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));color:rgba(var(--ax-sys-color-on-surface));transition:background-color .15s ease,color .15s ease}@media(hover:hover){ax-conversation-composer .ax-conversation-composer-attachment-add:hover:not(:disabled){background:rgba(var(--ax-sys-color-on-surface),.06)}}ax-conversation-composer .ax-conversation-composer-attachment-add:disabled{cursor:default;opacity:40%}ax-conversation-composer .ax-conversation-composer-attachments__close{flex-shrink:0;align-self:center}ax-conversation-composer .ax-conversation-composer-attachments__close>button{display:flex;height:calc(var(--spacing, .25rem) * 9);width:calc(var(--spacing, .25rem) * 9);cursor:pointer;touch-action:manipulation;align-items:center;justify-content:center;border-radius:var(--ax-sys-border-radius);--tw-border-style: none;border-style:none;background-color:transparent;padding:calc(var(--spacing, .25rem) * 0);font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));color:rgba(var(--ax-sys-color-on-primary-lightest-surface),.55);box-shadow:none;background-image:none;transition:background-color .15s ease,color .15s ease}@media(hover:hover){ax-conversation-composer .ax-conversation-composer-attachments__close:hover>button{color:rgba(var(--ax-sys-color-on-surface));background:rgba(var(--ax-sys-color-on-surface),.06)}}ax-conversation-composer .ax-conversation-composer-attachments__close>button:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px;outline-offset:2px;outline-color:rgba(var(--ax-sys-color-primary-surface))}ax-conversation-composer .composer-component-fullwidth{min-height:72px;width:100%;background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-conversation-composer .composer-emoji-popover{width:100%}ax-conversation-composer .ax-conversation-composer-primary--stopping .fa-spinner{animation:ax-conversation-composer-spin .75s linear infinite}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-tracking{syntax: \"*\"; inherits: false;}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-outline-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-font-weight: initial;--tw-tracking: initial;--tw-leading: initial;--tw-outline-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
8825
+ ], template: "<div class=\"composer\">\n <!-- Edit/Reply Banner -->\n @if (editingMessage() || replyingToMessage()) {\n <div\n class=\"ax-conversation-composer-banner\"\n [class.ax-conversation-composer-banner--edit]=\"!!editingMessage()\"\n [class.ax-conversation-composer-banner--reply]=\"!!replyingToMessage()\"\n >\n <div class=\"ax-conversation-composer-banner__accent\" aria-hidden=\"true\"></div>\n @if (editingMessage()) {\n <div class=\"ax-conversation-composer-banner__content\">\n <span class=\"ax-conversation-composer-banner__icon\" aria-hidden=\"true\"\n ><i class=\"fa-light fa-pen-to-square\"></i\n ></span>\n <div class=\"ax-conversation-composer-banner__body\">\n <span class=\"ax-conversation-composer-banner__label\">{{\n '@acorex:chat.composer.editing-message' | translate | async\n }}</span>\n @if (getEditingPreview(); as preview) {\n <span class=\"ax-conversation-composer-banner__preview\">\n @if (preview.type !== 'text') {\n <i [class]=\"preview.icon\"></i>\n }\n {{ getComposerPreviewLabel(preview) }}\n </span>\n }\n </div>\n </div>\n } @else if (replyingToMessage()) {\n <div class=\"ax-conversation-composer-banner__content\">\n <span class=\"ax-conversation-composer-banner__icon\" aria-hidden=\"true\"\n ><i class=\"fa-light fa-reply\"></i\n ></span>\n <div\n class=\"ax-conversation-composer-banner__body ax-conversation-composer-banner__body--clickable\"\n (click)=\"onReplyPreviewClick()\"\n >\n <span class=\"ax-conversation-composer-banner__label\">\n {{ '@acorex:chat.composer.replying-to' | translate | async }} {{ getReplyingSenderName() }}\n </span>\n @if (getReplyingPreview(); as preview) {\n <span class=\"ax-conversation-composer-banner__preview\">\n @if (preview.type !== 'text') {\n <i [class]=\"preview.icon\"></i>\n }\n {{ getComposerPreviewLabel(preview) }}\n </span>\n }\n </div>\n </div>\n }\n <ax-button\n class=\"ax-conversation-composer-banner__close rounded-full\"\n look=\"blank\"\n [iconOnly]=\"true\"\n [text]=\"translation.translateSync('@acorex:chat.actions.cancel')\"\n (onClick)=\"cancelEditReply()\"\n >\n <ax-icon><i class=\"fa-solid fa-xmark\"></i></ax-icon>\n </ax-button>\n </div>\n }\n\n @if (usesAttachmentBanner() && draftAttachments().length > 0) {\n <div class=\"ax-conversation-composer-attachments\">\n <div class=\"ax-conversation-composer-attachments__scroll\" role=\"list\" axHorizontalScroll>\n @for (attachment of draftAttachments(); track attachment.id) {\n <div\n class=\"ax-conversation-composer-attachment\"\n role=\"listitem\"\n [class.ax-conversation-composer-attachment--media]=\"attachment.kind === 'image' || attachment.kind === 'video'\"\n [class.ax-conversation-composer-attachment--file]=\"attachment.kind === 'audio' || attachment.kind === 'file'\"\n [class.ax-conversation-composer-attachment--uploading]=\"attachment.uploading\"\n [class.ax-conversation-composer-attachment--error]=\"!!attachment.error\"\n [title]=\"attachment.file.name\"\n >\n @if (attachment.kind === 'image' || attachment.kind === 'video') {\n <span class=\"ax-conversation-composer-attachment__thumb\" aria-hidden=\"true\">\n @if (attachment.kind === 'video' && attachment.preview) {\n <video [src]=\"attachment.preview\" muted playsinline preload=\"metadata\"></video>\n } @else if (attachment.preview) {\n <img [src]=\"attachment.preview\" alt=\"\" />\n } @else {\n <i [class]=\"attachment.icon\"></i>\n }\n </span>\n } @else {\n <span class=\"ax-conversation-composer-attachment__icon\" aria-hidden=\"true\">\n <i [class]=\"attachment.icon\"></i>\n </span>\n <span class=\"ax-conversation-composer-attachment__name\">{{\n draftAttachmentLabel(attachment.file.name)\n }}</span>\n }\n @if (attachment.uploading) {\n <span class=\"ax-conversation-composer-attachment__progress\" aria-hidden=\"true\"></span>\n }\n <button\n type=\"button\"\n class=\"ax-conversation-composer-attachment__remove\"\n [attr.aria-label]=\"translation.translateSync('@acorex:chat.actions.remove-attachment')\"\n (click)=\"removeDraftAttachment(attachment.id); $event.stopPropagation()\"\n >\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n }\n <button\n type=\"button\"\n class=\"ax-conversation-composer-attachment-add\"\n [disabled]=\"!canAddDraftAttachments()\"\n [attr.aria-label]=\"translation.translateSync('@acorex:chat.pickers.common.add-more')\"\n (click)=\"addDraftAttachments()\"\n >\n <i class=\"fa-light fa-plus\"></i>\n </button>\n </div>\n <ax-button\n class=\"ax-conversation-composer-attachments__close rounded-full\"\n look=\"blank\"\n [iconOnly]=\"true\"\n [text]=\"translation.translateSync('@acorex:chat.actions.cancel')\"\n (onClick)=\"dismissDraftAttachments()\"\n >\n <ax-icon><i class=\"fa-solid fa-xmark\"></i></ax-icon>\n </ax-button>\n </div>\n }\n\n <!-- Input Area -->\n <div class=\"composer-input-container\">\n <!-- Start actions -->\n <div class=\"composer-actions-left\">\n @if (startMenuActions().length > 0) {\n <span\n #attachMenuButton\n class=\"composer-attach-menu-trigger\"\n (mouseenter)=\"onAttachMenuMouseEnter()\"\n (mouseleave)=\"onAttachMenuMouseLeave()\"\n >\n <ax-button\n class=\"rounded-full text-xl\"\n look=\"blank\"\n [iconOnly]=\"true\"\n [text]=\"('@acorex:chat.tooltips.attach-file' | translate | async) ?? ''\"\n (onClick)=\"onAttachMenuClick($event)\"\n >\n <ax-prefix>\n <i class=\"fa-light fa-paperclip\"></i>\n </ax-prefix>\n </ax-button>\n </span>\n }\n\n @for (action of startInlineActions(); track action.id) {\n <ax-button\n look=\"blank\"\n [iconOnly]=\"true\"\n [text]=\"getActionLabel(action)\"\n [disabled]=\"!isActionEnabled(action)\"\n [class]=\"getActionButtonClass(action)\"\n (onClick)=\"onActionClick(action.id, $event)\"\n >\n <ax-icon>\n <i [class]=\"action.icon\"></i>\n </ax-icon>\n </ax-button>\n }\n </div>\n\n <!-- Text Input -->\n <div class=\"composer-input-wrapper\">\n <ax-text-area\n #inputElement\n [ngModel]=\"draftText()\"\n (ngModelChange)=\"onDraftModelChange($event)\"\n (onKeyDown)=\"onKeyDown($event)\"\n (onValueChanged)=\"onDraftValueChanged($event)\"\n [placeholder]=\"placeholder()\"\n [rows]=\"inputRows()\"\n [axAutoFocus]=\"true\"\n ></ax-text-area>\n </div>\n\n <!-- End actions -->\n <div class=\"composer-actions-right\">\n @for (action of endInlineActions(); track action.id) {\n <ax-button\n look=\"blank\"\n [iconOnly]=\"true\"\n [text]=\"getActionLabel(action)\"\n [disabled]=\"!isActionEnabled(action)\"\n [class]=\"getActionButtonClass(action)\"\n (onClick)=\"onActionClick(action.id, $event)\"\n >\n <ax-icon>\n <i [class]=\"action.icon\"></i>\n </ax-icon>\n </ax-button>\n }\n\n <div class=\"composer-primary-button-slot\">\n @switch (primaryButtonMode()) {\n @case ('cancel') {\n <ax-button\n class=\"rounded-full\"\n [iconOnly]=\"true\"\n look=\"blank\"\n [text]=\"getPrimaryButtonLabel()\"\n (onClick)=\"onPrimaryButtonClick()\"\n >\n <ax-icon [class]=\"getPrimaryButtonIcon()\"> </ax-icon>\n </ax-button>\n }\n @case ('stopping') {\n <ax-button\n class=\"rounded-full\"\n [iconOnly]=\"true\"\n look=\"blank\"\n [text]=\"getPrimaryButtonLabel()\"\n [disabled]=\"true\"\n >\n <ax-prefix>\n <i [class]=\"getPrimaryButtonIcon()\"></i>\n </ax-prefix>\n </ax-button>\n }\n @case ('send') {\n <ax-button\n class=\"rounded-full composer-primary-button--send\"\n [iconOnly]=\"true\"\n look=\"blank\"\n color=\"primary\"\n [text]=\"getPrimaryButtonLabel()\"\n [disabled]=\"isPrimaryButtonDisabled()\"\n (onClick)=\"onPrimaryButtonClick()\"\n >\n <ax-prefix>\n <i [class]=\"getPrimaryButtonIcon()\"></i>\n </ax-prefix>\n </ax-button>\n }\n @default {\n <ax-button\n class=\"rounded-full\"\n [iconOnly]=\"true\"\n look=\"blank\"\n [text]=\"getPrimaryButtonLabel()\"\n [disabled]=\"isPrimaryButtonDisabled()\"\n (onClick)=\"onPrimaryButtonClick()\"\n >\n <ax-prefix>\n <i [class]=\"getPrimaryButtonIcon()\"></i>\n </ax-prefix>\n </ax-button>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<!-- Popover for attachment menu -->\n@if (attachMenuTarget()) {\n <ax-popover\n #attachPopover\n [target]=\"attachMenuTarget()\"\n [openOn]=\"'manual'\"\n [closeOn]=\"'clickOut'\"\n [placement]=\"'top-start'\"\n >\n <div\n class=\"composer-attach-menu-panel\"\n (mouseenter)=\"onAttachMenuPanelMouseEnter()\"\n (mouseleave)=\"onAttachMenuPanelMouseLeave()\"\n >\n <ax-button-item-list>\n @for (action of startMenuActions(); track action.id) {\n <ax-button-item\n [text]=\"getActionLabel(action)\"\n (click)=\"onAttachMenuAction(action.id)\"\n [disabled]=\"!isActionEnabled(action)\"\n >\n <ax-prefix>\n <i [class]=\"action.icon\"></i>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </div>\n </ax-popover>\n}\n\n<!-- Popover for emoji/sticker picker -->\n@if (emojiPopoverTarget()) {\n <ax-popover\n #emojiPopover\n [target]=\"emojiPopoverTarget()\"\n [openOn]=\"'manual'\"\n [closeOn]=\"'clickOut'\"\n [placement]=\"'top-start'\"\n panelClass=\"composer-emoji-popover-panel\"\n (onClosed)=\"onEmojiPopoverClosed()\"\n >\n <div class=\"composer-emoji-popover\">\n <ax-conversation-registry-component-outlet\n [componentLoader]=\"composerPopupLoader\"\n [inputs]=\"getEmojiPopupInputs()\"\n />\n </div>\n </ax-popover>\n}\n", styles: ["@layer properties;@layer components{ax-conversation-composer{display:block;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);overflow:hidden;font-variant-emoji:emoji;@keyframes ax-conversation-composer-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}ax-conversation-composer .composer{width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0)}ax-conversation-composer .ax-conversation-composer-banner{display:flex;min-height:2.75rem;align-items:stretch;gap:calc(var(--spacing, .25rem) * 0);border-block-style:var(--tw-border-style);border-block-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));background-color:rgba(var(--ax-sys-color-light-surface))}ax-conversation-composer .ax-conversation-composer-banner__accent{width:3px;flex-shrink:0;border-start-end-radius:var(--radius-sm, .25rem);border-end-end-radius:var(--radius-sm, .25rem);background-color:rgba(var(--ax-sys-color-primary-surface))}ax-conversation-composer .ax-conversation-composer-banner--reply .ax-conversation-composer-banner__accent{background-color:rgba(var(--ax-sys-color-secondary-500))}ax-conversation-composer .ax-conversation-composer-banner__content{display:flex;min-width:calc(var(--spacing, .25rem) * 0);flex:1;align-items:center;gap:calc(var(--spacing, .25rem) * 2.5);padding-inline:calc(var(--spacing, .25rem) * 2.5);padding-block:calc(var(--spacing, .25rem) * 2)}ax-conversation-composer .ax-conversation-composer-banner__icon{display:flex;height:calc(var(--spacing, .25rem) * 7);width:calc(var(--spacing, .25rem) * 7);flex-shrink:0;align-items:center;justify-content:center;border-radius:calc(infinity * 1px);font-size:.8125rem;color:rgba(var(--ax-sys-color-primary-600));background:rgba(var(--ax-sys-color-primary-500),.1)}ax-conversation-composer .ax-conversation-composer-banner--reply .ax-conversation-composer-banner__icon{color:rgba(var(--ax-sys-color-secondary-600));background:rgba(var(--ax-sys-color-secondary-500),.1)}ax-conversation-composer .ax-conversation-composer-banner__body{display:flex;min-width:calc(var(--spacing, .25rem) * 0);flex:1;flex-direction:column;gap:calc(var(--spacing, .25rem) * .5)}ax-conversation-composer .ax-conversation-composer-banner__body--clickable{cursor:pointer;border-radius:var(--ax-sys-border-radius);transition:opacity .15s ease}@media(hover:hover){ax-conversation-composer .ax-conversation-composer-banner__body--clickable:hover{opacity:.85}}ax-conversation-composer .ax-conversation-composer-banner__label{font-size:.6875rem;--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600);--tw-tracking: var(--tracking-wide, .025em);letter-spacing:var(--tracking-wide, .025em);color:rgba(var(--ax-sys-color-primary-600));text-transform:uppercase}ax-conversation-composer .ax-conversation-composer-banner--reply .ax-conversation-composer-banner__label{color:rgba(var(--ax-sys-color-secondary-600))}ax-conversation-composer .ax-conversation-composer-banner__preview{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 1.5);overflow:hidden;font-size:.8125rem;--tw-leading: var(--leading-snug, 1.375);line-height:var(--leading-snug, 1.375);text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-surface));opacity:.88}ax-conversation-composer .ax-conversation-composer-banner__preview i{flex-shrink:0;font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));opacity:70%}ax-conversation-composer .ax-conversation-composer-banner__close{margin-inline-end:calc(var(--spacing, .25rem) * 1.5);flex-shrink:0;align-self:center}ax-conversation-composer .ax-conversation-composer-banner__close>button{display:flex;height:calc(var(--spacing, .25rem) * 9);width:calc(var(--spacing, .25rem) * 9);cursor:pointer;touch-action:manipulation;align-items:center;justify-content:center;border-radius:var(--ax-sys-border-radius);--tw-border-style: none;border-style:none;background-color:transparent;padding:calc(var(--spacing, .25rem) * 0);font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));color:rgba(var(--ax-sys-color-on-primary-lightest-surface),.55);box-shadow:none;background-image:none;transition:background-color .15s ease,color .15s ease}@media(hover:hover){ax-conversation-composer .ax-conversation-composer-banner__close:hover>button{color:rgba(var(--ax-sys-color-on-surface));background:rgba(var(--ax-sys-color-on-surface),.06)}}ax-conversation-composer .ax-conversation-composer-banner__close>button:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px;outline-offset:2px;outline-color:rgba(var(--ax-sys-color-primary-surface))}ax-conversation-composer .emoji-icon{flex-shrink:0;font-size:var(--text-xl, 1.25rem);line-height:var(--tw-leading, var(--text-xl--line-height, calc(1.75 / 1.25)))}ax-conversation-composer .composer-input-container{display:flex;width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;gap:calc(var(--spacing, .25rem) * 2);background-color:rgba(var(--ax-sys-color-lightest-surface));padding-inline:calc(var(--spacing, .25rem) * 2);padding-block:calc(var(--spacing, .25rem) * 1)}ax-conversation-composer .composer-actions-left,ax-conversation-composer .composer-actions-right{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 1)}:is(ax-conversation-composer .composer-actions-left,ax-conversation-composer .composer-actions-right) ax-icon i,:is(ax-conversation-composer .composer-actions-left,ax-conversation-composer .composer-actions-right) ax-prefix i{font-size:1.375rem;--tw-leading: 1;line-height:1}ax-conversation-composer .composer-attach-menu-trigger{display:inline-flex}ax-conversation-composer .composer-primary-button-slot{display:flex;height:calc(var(--spacing, .25rem) * 9);width:calc(var(--spacing, .25rem) * 9);flex-shrink:0;align-items:center;justify-content:center}ax-conversation-composer .composer-primary-button-slot .composer-primary-button ax-prefix i{transition:opacity .15s ease}ax-conversation-composer .composer-primary-button-slot .fa-paper-plane-top:dir(rtl){transform:scaleX(-1)}@media(hover:hover){ax-conversation-composer .composer-actions-left ax-button>button:hover:not(:disabled),ax-conversation-composer .composer-actions-right ax-button:not(.composer-primary-button--send)>button:hover:not(:disabled){color:rgba(var(--ax-sys-color-on-surface),.68);background:rgba(var(--ax-sys-color-on-surface),.05)}}ax-conversation-composer .composer-input-wrapper{display:flex;min-width:calc(var(--spacing, .25rem) * 0);flex:1;--tw-border-style: none;border-style:none;--tw-outline-style: none;outline-style:none}ax-conversation-composer .composer-input-wrapper textarea{resize:none;font-variant-emoji:emoji}ax-conversation-composer .composer-input-wrapper .ax-editor-container{--tw-border-style: none;border-style:none;background-color:transparent!important;padding:calc(var(--spacing, .25rem) * 0);--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-outline-style: none;outline-style:none;background-image:none}ax-conversation-composer .composer-input-wrapper .ax-editor-container ax-text-area{line-height:2}ax-conversation-composer .composer-input-wrapper .ax-editor-container:after{display:none}ax-conversation-composer .composer-input-wrapper .ax-editor-container:hover:not(.ax-state-disabled,.ax-state-readonly,.ax-state-error),ax-conversation-composer .composer-input-wrapper .ax-editor-container:focus-within:not(.ax-state-disabled,.ax-state-readonly,.ax-state-error){--tw-border-style: none;border-style:none;--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-outline-style: none;outline-style:none;background-image:none}ax-conversation-composer .composer-input{max-height:120px;min-height:calc(var(--spacing, .25rem) * 10);width:100%;resize:none;border-radius:1.25rem;border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));padding-inline:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 2);font-size:.9375rem;--tw-leading: var(--leading-normal, 1.5);line-height:var(--leading-normal, 1.5);--tw-outline-style: none;outline-style:none;font-variant-emoji:emoji;transition:border-color .2s}ax-conversation-composer .composer-input:focus{border-color:rgba(var(--ax-sys-color-primary-surface))}ax-conversation-composer .ax-conversation-composer-attachments{display:flex;width:100%;max-width:100%;min-width:calc(var(--spacing, .25rem) * 0);align-items:center;gap:calc(var(--spacing, .25rem) * 1);overflow:hidden;border-block-style:var(--tw-border-style);border-block-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));padding-block:calc(var(--spacing, .25rem) * 1);padding-inline-start:calc(var(--spacing, .25rem) * 3);padding-inline-end:calc(var(--spacing, .25rem) * 1)}ax-conversation-composer .ax-conversation-composer-attachments__scroll{display:flex;min-width:calc(var(--spacing, .25rem) * 0);flex:1;flex-wrap:nowrap;align-items:center;gap:calc(var(--spacing, .25rem) * 2);overflow-x:auto;overflow-y:hidden;padding-block:calc(var(--spacing, .25rem) * 1.5);padding-inline-end:calc(var(--spacing, .25rem) * 1);width:0;scrollbar-width:thin;overscroll-behavior-x:contain}ax-conversation-composer .ax-conversation-composer-attachments__scroll::-webkit-scrollbar{height:6px}ax-conversation-composer .ax-conversation-composer-attachments__scroll::-webkit-scrollbar-thumb{border-radius:calc(infinity * 1px);background-color:rgba(var(--ax-sys-color-border-light-surface))}ax-conversation-composer .ax-conversation-composer-attachment{position:relative;display:flex;max-width:11rem;flex-shrink:0;align-items:center}ax-conversation-composer .ax-conversation-composer-attachment--media .ax-conversation-composer-attachment__thumb{position:relative;display:flex;height:calc(var(--spacing, .25rem) * 11);width:calc(var(--spacing, .25rem) * 11);align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-lg, .5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));background-color:rgba(var(--ax-sys-color-surface))}ax-conversation-composer .ax-conversation-composer-attachment__thumb img,ax-conversation-composer .ax-conversation-composer-attachment__thumb video{height:100%;width:100%;object-fit:cover}ax-conversation-composer .ax-conversation-composer-attachment--file{height:calc(var(--spacing, .25rem) * 11);width:11rem;max-width:11rem;gap:calc(var(--spacing, .25rem) * 2);border-radius:var(--radius-lg, .5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-light-surface));background-color:rgba(var(--ax-sys-color-surface));padding-inline-start:calc(var(--spacing, .25rem) * 2);padding-inline-end:calc(var(--spacing, .25rem) * 7)}ax-conversation-composer .ax-conversation-composer-attachment__icon{display:flex;height:calc(var(--spacing, .25rem) * 7);width:calc(var(--spacing, .25rem) * 7);flex-shrink:0;align-items:center;justify-content:center;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));color:rgba(var(--ax-sys-color-on-surface));opacity:80%}ax-conversation-composer .ax-conversation-composer-attachment__name{min-width:calc(var(--spacing, .25rem) * 0);flex:1;overflow:hidden;font-size:.8125rem;text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-surface))}ax-conversation-composer .ax-conversation-composer-attachment__progress{pointer-events:none;position:absolute;inset:calc(var(--spacing, .25rem) * 0);border-radius:var(--radius-lg, .5rem);background:rgba(var(--ax-sys-color-on-surface),.18)}ax-conversation-composer .ax-conversation-composer-attachment--error{border-color:rgba(var(--ax-sys-color-danger-500))}ax-conversation-composer .ax-conversation-composer-attachment__remove{position:absolute;inset-inline-end:calc(var(--spacing, .25rem) * -1.5);top:calc(var(--spacing, .25rem) * -1.5);z-index:1;display:flex;height:calc(var(--spacing, .25rem) * 5);width:calc(var(--spacing, .25rem) * 5);cursor:pointer;align-items:center;justify-content:center;border-radius:calc(infinity * 1px);--tw-border-style: none;border-style:none;background-color:rgba(var(--ax-sys-color-danger-500));padding:calc(var(--spacing, .25rem) * 0);font-size:.625rem;color:rgba(var(--ax-sys-color-lightest-surface));opacity:0;pointer-events:none;transition:opacity .15s ease}ax-conversation-composer .ax-conversation-composer-attachment:hover .ax-conversation-composer-attachment__remove,ax-conversation-composer .ax-conversation-composer-attachment:focus-within .ax-conversation-composer-attachment__remove,ax-conversation-composer .ax-conversation-composer-attachment__remove:focus-visible{opacity:1;pointer-events:auto}@media(hover:none){ax-conversation-composer .ax-conversation-composer-attachment__remove{opacity:1;pointer-events:auto}}ax-conversation-composer .ax-conversation-composer-attachment-add{display:flex;height:calc(var(--spacing, .25rem) * 11);width:calc(var(--spacing, .25rem) * 11);flex-shrink:0;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--radius-lg, .5rem);border-style:var(--tw-border-style);border-width:1px;--tw-border-style: dashed;border-style:dashed;border-color:rgba(var(--ax-sys-color-border-light-surface));background-color:transparent;padding:calc(var(--spacing, .25rem) * 0);font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));color:rgba(var(--ax-sys-color-on-surface));transition:background-color .15s ease,color .15s ease}@media(hover:hover){ax-conversation-composer .ax-conversation-composer-attachment-add:hover:not(:disabled){background:rgba(var(--ax-sys-color-on-surface),.06)}}ax-conversation-composer .ax-conversation-composer-attachment-add:disabled{cursor:default;opacity:40%}ax-conversation-composer .ax-conversation-composer-attachments__close{flex-shrink:0;align-self:center}ax-conversation-composer .ax-conversation-composer-attachments__close>button{display:flex;height:calc(var(--spacing, .25rem) * 9);width:calc(var(--spacing, .25rem) * 9);cursor:pointer;touch-action:manipulation;align-items:center;justify-content:center;border-radius:var(--ax-sys-border-radius);--tw-border-style: none;border-style:none;background-color:transparent;padding:calc(var(--spacing, .25rem) * 0);font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));color:rgba(var(--ax-sys-color-on-primary-lightest-surface),.55);box-shadow:none;background-image:none;transition:background-color .15s ease,color .15s ease}@media(hover:hover){ax-conversation-composer .ax-conversation-composer-attachments__close:hover>button{color:rgba(var(--ax-sys-color-on-surface));background:rgba(var(--ax-sys-color-on-surface),.06)}}ax-conversation-composer .ax-conversation-composer-attachments__close>button:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px;outline-offset:2px;outline-color:rgba(var(--ax-sys-color-primary-surface))}ax-conversation-composer .composer-component-fullwidth{min-height:72px;width:100%;background-color:rgba(var(--ax-sys-color-lightest-surface))}ax-conversation-composer .composer-emoji-popover{width:100%}ax-conversation-composer .ax-conversation-composer-primary--stopping .fa-spinner{animation:ax-conversation-composer-spin .75s linear infinite}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-tracking{syntax: \"*\"; inherits: false;}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-outline-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-font-weight: initial;--tw-tracking: initial;--tw-leading: initial;--tw-outline-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
8829
8826
  }], ctorParameters: () => [], propDecorators: { textAreaRef: [{ type: i0.ViewChild, args: ['inputElement', { ...{ read: AXTextAreaComponent }, isSignal: true }] }], messageSent: [{ type: i0.Output, args: ["messageSent"] }], generationCancelled: [{ type: i0.Output, args: ["generationCancelled"] }], emojiClick: [{ type: i0.Output, args: ["emojiClick"] }], attachClick: [{ type: i0.Output, args: ["attachClick"] }], voiceClick: [{ type: i0.Output, args: ["voiceClick"] }], emojiPopoverRef: [{ type: i0.ViewChild, args: ['emojiPopover', { isSignal: true }] }], attachPopoverRef: [{ type: i0.ViewChild, args: ['attachPopover', { isSignal: true }] }], attachMenuButtonRef: [{ type: i0.ViewChild, args: ['attachMenuButton', { isSignal: true }] }] } });
8830
8827
 
8831
8828
  /**
@@ -13239,7 +13236,7 @@ class AXConversationAudioPickerComponent {
13239
13236
  if (!item) {
13240
13237
  return;
13241
13238
  }
13242
- const { AXConversationPickerRenameFileDialogComponent } = await import('./acorex-components-conversation-picker-rename-file-dialog.component-CNwDWg_O.mjs');
13239
+ const { AXConversationPickerRenameFileDialogComponent } = await import('./acorex-components-conversation-picker-rename-file-dialog.component-BaLD7loU.mjs');
13243
13240
  const result = await this.popupService.open(AXConversationPickerRenameFileDialogComponent, {
13244
13241
  title: this.translation.translateSync('@acorex:chat.pickers.files.rename-title'),
13245
13242
  size: 'sm',
@@ -13860,7 +13857,7 @@ class AXConversationFilePickerComponent {
13860
13857
  if (!item) {
13861
13858
  return;
13862
13859
  }
13863
- const { AXConversationPickerRenameFileDialogComponent } = await import('./acorex-components-conversation-picker-rename-file-dialog.component-CNwDWg_O.mjs');
13860
+ const { AXConversationPickerRenameFileDialogComponent } = await import('./acorex-components-conversation-picker-rename-file-dialog.component-BaLD7loU.mjs');
13864
13861
  const result = await this.popupService.open(AXConversationPickerRenameFileDialogComponent, {
13865
13862
  title: this.translation.translateSync('@acorex:chat.pickers.files.rename-title'),
13866
13863
  size: 'sm',
@@ -19538,4 +19535,4 @@ function getErrorMessage(code, params) {
19538
19535
  */
19539
19536
 
19540
19537
  export { AXConversationPickerCaptionComponent as $, AXConversationApi as A, AXConversationFileRendererComponent as B, AXConversationForwardMessageDialogComponent as C, AXConversationImageAttachmentComponent as D, AXConversationImageFileTypeProvider as E, AXConversationImagePickerComponent as F, AXConversationImageRendererComponent as G, AXConversationInfiniteScrollDirective as H, AXConversationInfoBarActionRegistry as I, AXConversationInfoBarComponent as J, AXConversationInfoBarSearchComponent as K, AXConversationInfoBarService as L, AXConversationItemActionRegistry as M, AXConversationLocationPickerComponent as N, AXConversationLocationRendererComponent as O, AXConversationMediaPlaybackInfoBarBannerComponent as P, AXConversationMessageActionRegistry as Q, AXConversationMessageApi as R, AXConversationMessageListComponent as S, AXConversationMessageListNoActiveDefaultComponent as T, AXConversationMessageListService as U, AXConversationMessageRendererCopyHostComponent as V, AXConversationMessageRendererRegistry as W, AXConversationMessageRendererStateComponent as X, AXConversationMessageUtilsService as Y, AXConversationModule as Z, AXConversationNewDialogComponent as _, AXConversationApiLoggerService as a, AX_CONVERSATION_IMAGE_CATALOG as a$, AXConversationPickerEmptyComponent as a0, AXConversationPickerFooterComponent as a1, AXConversationPickerHeaderComponent as a2, AXConversationPickerOptionsComponent as a3, AXConversationPickerShellComponent as a4, AXConversationPickerToolbarComponent as a5, AXConversationRealtimeApi as a6, AXConversationRegistryComponentOutletComponent as a7, AXConversationRegistryService as a8, AXConversationService as a9, AX_CONVERSATION_COMPOSER_VIDEO_ACTION as aA, AX_CONVERSATION_COMPOSER_VOICE_RECORDING_ACTION as aB, AX_CONVERSATION_CONFIG as aC, AX_CONVERSATION_CONNECTION_ERRORS as aD, AX_CONVERSATION_CONVERSATION_AVATAR_COMPONENT as aE, AX_CONVERSATION_DEFAULT_COMPOSER_ACTIONS as aF, AX_CONVERSATION_DEFAULT_COMPOSER_TABS as aG, AX_CONVERSATION_DEFAULT_CONVERSATION_ITEM_ACTIONS as aH, AX_CONVERSATION_DEFAULT_CONVERSATION_TABS as aI, AX_CONVERSATION_DEFAULT_GROUP_ICON as aJ, AX_CONVERSATION_DEFAULT_INFO_BAR_ACTIONS as aK, AX_CONVERSATION_DEFAULT_MESSAGE_ACTIONS as aL, AX_CONVERSATION_DEFAULT_MESSAGE_LIST_BACKGROUND as aM, AX_CONVERSATION_DEFAULT_MESSAGE_LIST_BACKGROUND_PRESET_ID as aN, AX_CONVERSATION_DEFAULT_MESSAGE_LIST_THEME_BACKGROUND as aO, AX_CONVERSATION_DEFAULT_MESSAGE_RENDERERS as aP, AX_CONVERSATION_DEFAULT_ROOM_PREFERENCES as aQ, AX_CONVERSATION_DEFAULT_USER_ICON as aR, AX_CONVERSATION_ERRORS as aS, AX_CONVERSATION_ERROR_HANDLER_CONFIG as aT, AX_CONVERSATION_ERROR_MESSAGES as aU, AX_CONVERSATION_FALLBACK_RENDERER as aV, AX_CONVERSATION_FILE_CATALOG as aW, AX_CONVERSATION_FILE_ERRORS as aX, AX_CONVERSATION_FILE_PRESENTATION as aY, AX_CONVERSATION_FILE_RENDERER as aZ, AX_CONVERSATION_FILE_TYPES_READY as a_, AXConversationSidebarComponent as aa, AXConversationSidebarService as ab, AXConversationStickerRendererComponent as ac, AXConversationStickerTabComponent as ad, AXConversationSystemRendererComponent as ae, AXConversationTabRegistry as af, AXConversationTextRendererComponent as ag, AXConversationUserApi as ah, AXConversationVideoAttachmentComponent as ai, AXConversationVideoFileTypeProvider as aj, AXConversationVideoPickerComponent as ak, AXConversationVideoRendererComponent as al, AXConversationVoiceFileTypeProvider as am, AXConversationVoiceRecorderComponent as an, AXConversationVoiceRendererComponent as ao, AX_CONVERSATION_AUDIO_CATALOG as ap, AX_CONVERSATION_AUDIO_PRESENTATION as aq, AX_CONVERSATION_AUDIO_RENDERER as ar, AX_CONVERSATION_BUILTIN_COMPOSER_TABS as as, AX_CONVERSATION_COMPOSER_AUDIO_ACTION as at, AX_CONVERSATION_COMPOSER_EMOJI_ACTION as au, AX_CONVERSATION_COMPOSER_EMOJI_TAB as av, AX_CONVERSATION_COMPOSER_FILE_ACTION as aw, AX_CONVERSATION_COMPOSER_IMAGE_ACTION as ax, AX_CONVERSATION_COMPOSER_LOCATION_ACTION as ay, AX_CONVERSATION_COMPOSER_STICKER_TAB as az, AXConversationAudioAttachmentComponent as b, copyWithFileTypeFallback as b$, AX_CONVERSATION_IMAGE_PRESENTATION as b0, AX_CONVERSATION_IMAGE_RENDERER as b1, AX_CONVERSATION_INFO_BAR_ARCHIVE_ACTION as b2, AX_CONVERSATION_INFO_BAR_BLOCK_ACTION as b3, AX_CONVERSATION_INFO_BAR_DELETE_ACTION as b4, AX_CONVERSATION_INFO_BAR_DIVIDER as b5, AX_CONVERSATION_INFO_BAR_MUTE_ACTION as b6, AX_CONVERSATION_INFO_BAR_SEARCH_ACTION as b7, AX_CONVERSATION_ITEM_BLOCK_ACTION as b8, AX_CONVERSATION_ITEM_DELETE_ACTION as b9, AX_CONVERSATION_TEXT_RENDERER as bA, AX_CONVERSATION_URL_ERRORS as bB, AX_CONVERSATION_USER_AVATAR_COMPONENT as bC, AX_CONVERSATION_USER_ERRORS as bD, AX_CONVERSATION_VIDEO_CATALOG as bE, AX_CONVERSATION_VIDEO_PRESENTATION as bF, AX_CONVERSATION_VIDEO_RENDERER as bG, AX_CONVERSATION_VOICE_CATALOG as bH, AX_CONVERSATION_VOICE_PRESENTATION as bI, AX_CONVERSATION_VOICE_RENDERER as bJ, AX_DEFAULT_CONVERSATION_CONFIG as bK, abortPickerUploads as bL, applyAudioLocalPreview as bM, applyFileLocalPreview as bN, applyLocalPreview as bO, applyVideoLocalPreview as bP, applyVoiceLocalPreview as bQ, audioItemFromUpload as bR, bindMediaRendererContentState as bS, buildMediaGalleryTiles as bT, canShowRendererContentError as bU, cleanupPickerUploads as bV, conversationAudioUtilities as bW, conversationFileUtilities as bX, conversationImageUtilities as bY, conversationVideoUtilities as bZ, conversationVoiceUtilities as b_, AX_CONVERSATION_ITEM_DIVIDER as ba, AX_CONVERSATION_ITEM_MARK_READ_ACTION as bb, AX_CONVERSATION_ITEM_MUTE_ACTION as bc, AX_CONVERSATION_ITEM_PIN_ACTION as bd, AX_CONVERSATION_JUMBO_EMOJI_MAX as be, AX_CONVERSATION_LOCATION_ERRORS as bf, AX_CONVERSATION_LOCATION_RENDERER as bg, AX_CONVERSATION_MESSAGE_DELETE_ACTION as bh, AX_CONVERSATION_MESSAGE_EDIT_ACTION as bi, AX_CONVERSATION_MESSAGE_ERRORS as bj, AX_CONVERSATION_MESSAGE_FORWARD_ACTION as bk, AX_CONVERSATION_MESSAGE_LIST_BACKGROUND_PRESETS as bl, AX_CONVERSATION_MESSAGE_REPLY_ACTION as bm, AX_CONVERSATION_MESSAGE_TYPE_FILE_TYPE as bn, AX_CONVERSATION_PEER_AVATAR_TYPES as bo, AX_CONVERSATION_REGISTRY_CONFIG as bp, AX_CONVERSATION_STICKER_API_KEY as bq, AX_CONVERSATION_STICKER_RENDERER as br, AX_CONVERSATION_SYSTEM_RENDERER as bs, AX_CONVERSATION_TAB_ALL as bt, AX_CONVERSATION_TAB_ARCHIVED as bu, AX_CONVERSATION_TAB_BOT as bv, AX_CONVERSATION_TAB_CHANNELS as bw, AX_CONVERSATION_TAB_GROUPS as bx, AX_CONVERSATION_TAB_PRIVATE as by, AX_CONVERSATION_TAB_UNREAD as bz, AXConversationAudioFileTypeProvider as c, mergeVoiceUploadResult as c$, countLoneEmojis as c0, createConversationAudioFileType as c1, createConversationFileFileType as c2, createConversationImageFileType as c3, createConversationVideoFileType as c4, createConversationVoiceFileType as c5, createLocalPreviewUrl as c6, createObjectUrl as c7, createPickerDragHandlers as c8, createPickerUploadItemId as c9, inferFileExtensionHintFromMessage as cA, isAttachmentListCategory as cB, isComposerAttachmentBannerEnabled as cC, isComposerTabEnabled as cD, isConversationReactionsEnabled as cE, isConversationRoomCreator as cF, isGenericPrivateConversationTitle as cG, isGridMediaCategory as cH, isGroupLikeConversation as cI, isJumboEmojiText as cJ, isJumboEmojiTextMessage as cK, isMessageDeliveryPending as cL, isMessageListThemeBackground as cM, isMessageVisibleAfterHistoryCutoff as cN, isNonPersistableMediaUrl as cO, isPickerItemReadyToSend as cP, isPlainChromeMessage as cQ, isSameMessageListBackground as cR, isUploadAborted as cS, limitFilesToCapacity as cT, listTextGraphemes as cU, mediaCopyText as cV, mergeAudioUploadResult as cW, mergeFileUploadResult as cX, mergeInfoPanelMessages as cY, mergeUploadResult as cZ, mergeVideoUploadResult as c_, createResolvedMediaUrlSignal as ca, deleteUploadedPickerMedia as cb, dismissComposerPickerHost as cc, ensureConversationFileCatalogRegistered as cd, fetchConversationMediaPage as ce, fileItemAsAudioMedia as cf, fileItemFromUpload as cg, filesFromClipboardEvent as ch, filterMessagesByMediaCategory as ci, filterSupplementalInfoPanelMessages as cj, findExistingPrivateConversation as ck, formatDuration as cl, formatErrorMessage as cm, formatFileByteSize as cn, formatFileSize as co, formatMediaDuration as cp, formatPickerValidationMessage as cq, getActiveComposerPickerPasteHandler as cr, getConversationMediaCategories as cs, getConversationProfileFields as ct, getErrorMessage as cu, getMessageAudioItems as cv, getMessageVideoItems as cw, getPickerCancelUploadLabel as cx, getPrivatePeerParticipant as cy, hasRegistryComponent as cz, AXConversationAudioPickerComponent as d, validateUserId as d$, mergeWithDefaults as d0, messageContainsLink as d1, normalizeAudioPayload as d2, normalizeConversationInboundFile as d3, normalizeFilePayload as d4, normalizeImagePayload as d5, normalizeMessageListBackgroundValue as d6, normalizeVideoPayload as d7, notifyMaxFilesCapacityExceeded as d8, notifyPickerValidationErrors as d9, resolveMessageListBackgroundRaw as dA, resolveMessageListBackgroundStyle as dB, resolveParticipantProfile as dC, resolvePersistableMediaUrl as dD, resolvePersistedThumbnailUrl as dE, resolvePrivatePeerParticipant as dF, resolvePrivatePeerUserId as dG, resolveUserAvatarDisplay as dH, resolveVideoThumbnailUrl as dI, revokeObjectUrl as dJ, revokePickerBlobPreviews as dK, sanitizeInput as dL, shouldUseUserAvatarForConversation as dM, sortUsersForForward as dN, syncPlaybackInfoBarBanner as dO, toUploaderReference$1 as dP, toUploaderReference as dQ, uploadPickerFile as dR, usesDefaultMessageListWallpaper as dS, validateConversationId as dT, validateEmail as dU, validateLatitude as dV, validateLongitude as dW, validateMessagePayload as dX, validateMessageText as dY, validateMessageType as dZ, validateUrl as d_, openWithFileType as da, pickDisplayMediaUrl as db, pickEarliestJoinedParticipant as dc, pickerItemToMediaReference as dd, pickerItemToUploadResult as de, probeAudioDuration as df, probeImageDimensions as dg, probeVideoMedia as dh, provideConversation as di, provideConversationComposerFileTypes as dj, provideConversationFileCatalog as dk, registerComposerPickerPasteHandler as dl, reportMediaLoadError as dm, resolveComposerAttachmentPresentation as dn, resolveComposerMaxFiles as dp, resolveConversationAvatarDisplay as dq, resolveConversationComposerTabs as dr, resolveConversationForViewer as ds, resolveConversationMessageFileType as dt, resolveConversationPeerParticipant as du, resolveConversationPeerUserId as dv, resolveConversationTitleForViewer as dw, resolveGalleryImageUrl as dx, resolveImageDisplayUrl as dy, resolveMessageChrome as dz, AXConversationAudioRendererComponent as e, validateUserIds as e0, videoItemFromUpload as e1, AXConversationAvatarComponent as f, AXConversationAvatarPickerComponent as g, AXConversationBaseRegistry as h, isValidPickerFileName as i, AXConversationComposerActionRegistry as j, AXConversationComposerComponent as k, AXConversationComposerFileTypesProvider as l, AXConversationComposerGenerationStateService as m, AXConversationComposerPopupComponent as n, AXConversationComposerService as o, AXConversationComposerTabRegistry as p, AXConversationContainerComponent as q, AXConversationContainerDirective as r, AXConversationDateUtilsService as s, AXConversationDeleteDialogComponent as t, AXConversationEmojiTabComponent as u, AXConversationErrorHandlerService as v, AXConversationFallbackRendererComponent as w, AXConversationFileAttachmentComponent as x, AXConversationFileFileTypeProvider as y, AXConversationFilePickerComponent as z };
19541
- //# sourceMappingURL=acorex-components-conversation-acorex-components-conversation-BZjCPB-7.mjs.map
19538
+ //# sourceMappingURL=acorex-components-conversation-acorex-components-conversation-OaSJ3SUq.mjs.map