@acorex/components 18.4.3 → 18.5.0
Sign up to get free protection for your applications and to get access to all the features.
- package/action-sheet/lib/action-sheet.class.d.ts +0 -9
- package/action-sheet/lib/action-sheet.component.d.ts +3 -3
- package/alert/lib/alert.component.d.ts +15 -36
- package/comment/README.md +3 -0
- package/comment/index.d.ts +9 -0
- package/comment/lib/comment-container/comment-container.component.d.ts +5 -0
- package/comment/lib/comment-input/comment-input.component.d.ts +10 -0
- package/comment/lib/comment-item/comment-item.component.d.ts +9 -0
- package/comment/lib/comment-like/comment-like.component.d.ts +6 -0
- package/comment/lib/comment-reply/comment-reply.component.d.ts +5 -0
- package/comment/lib/comment-view/comment-view.component.d.ts +5 -0
- package/comment/lib/comment.module.d.ts +17 -0
- package/comment/lib/comment.types.d.ts +3 -0
- package/comment/lib/services/comment.service.d.ts +6 -0
- package/esm2022/action-sheet/lib/action-sheet.class.mjs +1 -1
- package/esm2022/action-sheet/lib/action-sheet.component.mjs +1 -1
- package/esm2022/alert/lib/alert.component.mjs +37 -133
- package/esm2022/avatar/lib/avatar.component.mjs +2 -2
- package/esm2022/badge/lib/badge.component.mjs +2 -2
- package/esm2022/bottom-navigation/lib/bottom-navigation-item/bottom-navigation-item.component.mjs +2 -2
- package/esm2022/bottom-navigation/lib/bottom-navigation.component.mjs +1 -1
- package/esm2022/bottom-navigation/lib/bottom-navigation.module.mjs +3 -8
- package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +2 -5
- package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +2 -2
- package/esm2022/button/lib/button-item.class.mjs +1 -1
- package/esm2022/button/lib/button.module.mjs +5 -26
- package/esm2022/check-box/lib/check-box.component.mjs +3 -11
- package/esm2022/circular-progress/lib/circular-progress.component.mjs +1 -1
- package/esm2022/color-box/lib/color-box.module.mjs +3 -11
- package/esm2022/color-palette/lib/color-palette-input.component.mjs +9 -15
- package/esm2022/color-palette/lib/color-palette-preview.component.mjs +6 -14
- package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +16 -17
- package/esm2022/color-palette/lib/color-palette.class.mjs +1 -1
- package/esm2022/color-palette/lib/color-palette.component.mjs +5 -21
- package/esm2022/comment/acorex-components-comment.mjs +5 -0
- package/esm2022/comment/index.mjs +10 -0
- package/esm2022/comment/lib/comment-container/comment-container.component.mjs +12 -0
- package/esm2022/comment/lib/comment-input/comment-input.component.mjs +33 -0
- package/esm2022/comment/lib/comment-item/comment-item.component.mjs +21 -0
- package/esm2022/comment/lib/comment-like/comment-like.component.mjs +15 -0
- package/esm2022/comment/lib/comment-reply/comment-reply.component.mjs +12 -0
- package/esm2022/comment/lib/comment-view/comment-view.component.mjs +11 -0
- package/esm2022/comment/lib/comment.module.mjs +48 -0
- package/esm2022/comment/lib/comment.types.mjs +2 -0
- package/esm2022/comment/lib/services/comment.service.mjs +19 -0
- package/esm2022/common/lib/classes/events.class.mjs +1 -1
- package/esm2022/common/lib/classes/styles.class.mjs +2 -10
- package/esm2022/common/lib/common.module.mjs +4 -20
- package/esm2022/common/lib/components/colorlook-component.class.mjs +1 -1
- package/esm2022/common/lib/components/input-base-value-component.class.mjs +1 -1
- package/esm2022/common/lib/directives/auto-focus.directive.mjs +4 -12
- package/esm2022/common/lib/directives/hotkey.directive.mjs +3 -4
- package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +2 -3
- package/esm2022/common/lib/directives/responsive.directive.mjs +3 -8
- package/esm2022/common/lib/directives/ripple.directive.mjs +4 -6
- package/esm2022/common/lib/types/placement.mjs +6 -26
- package/esm2022/conversation/lib/conversation-input/conversation-input.component.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager-info.component.mjs +4 -10
- package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +2 -2
- package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +8 -36
- package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +3 -3
- package/esm2022/data-table/lib/base-data-table.class.mjs +3 -2
- package/esm2022/data-table/lib/data-table/data-table.component.mjs +16 -12
- package/esm2022/datetime-box/lib/datetime-box.module.mjs +3 -15
- package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +7 -8
- package/esm2022/datetime-picker/lib/datetime-picker.config.mjs +1 -1
- package/esm2022/decorators/lib/components/clear-button.component.mjs +6 -21
- package/esm2022/decorators/lib/components/close-button.component.mjs +5 -15
- package/esm2022/decorators/lib/decorators.module.mjs +3 -14
- package/esm2022/dialog/lib/dialog.class.mjs +1 -1
- package/esm2022/dialog/lib/dialog.component.mjs +4 -6
- package/esm2022/dialog/lib/dialog.module.mjs +2 -2
- package/esm2022/drawer/lib/drawer-container.component.mjs +2 -2
- package/esm2022/dropdown/lib/dropdown.module.mjs +4 -21
- package/esm2022/dropdown-button/lib/dropdown-button.component.mjs +4 -12
- package/esm2022/dropdown-button/lib/dropdown-button.module.mjs +4 -23
- package/esm2022/form/lib/form.config.mjs +1 -1
- package/esm2022/form/lib/validation-rule.directive.mjs +2 -2
- package/esm2022/form/lib/validation-summary.component.mjs +30 -46
- package/esm2022/image/lib/image.component.mjs +2 -2
- package/esm2022/label/lib/label.component.mjs +2 -2
- package/esm2022/loading/lib/loading-spinner.component.mjs +3 -3
- package/esm2022/loading/lib/loading.component.mjs +5 -17
- package/esm2022/loading/lib/loading.config.mjs +1 -1
- package/esm2022/loading/lib/loading.directive.mjs +1 -1
- package/esm2022/loading/lib/loading.module.mjs +3 -11
- package/esm2022/loading/lib/loading.service.mjs +5 -11
- package/esm2022/loading-dialog/lib/loading-dialog.class.mjs +1 -1
- package/esm2022/loading-dialog/lib/loading-dialog.component.mjs +4 -6
- package/esm2022/loading-dialog/lib/loading-dialog.module.mjs +4 -23
- package/esm2022/loading-dialog/lib/loading-dialog.service.mjs +1 -1
- package/esm2022/menu/lib/class/root-menu.class.mjs +1 -1
- package/esm2022/nav/lib/nav-item/nav-item.component.mjs +3 -3
- package/esm2022/nav/lib/nav.component.mjs +2 -2
- package/esm2022/navbar/lib/navbar.component.mjs +2 -2
- package/esm2022/notification/lib/notification.class.mjs +1 -1
- package/esm2022/notification/lib/notification.component.mjs +6 -10
- package/esm2022/notification/lib/notification.config.mjs +1 -1
- package/esm2022/notification/lib/notification.module.mjs +4 -18
- package/esm2022/notification/lib/notification.service.mjs +6 -13
- package/esm2022/number-box/lib/number-box.module.mjs +3 -13
- package/esm2022/page/lib/base-page.class.mjs +3 -3
- package/esm2022/password-box/lib/password-box.component.mjs +3 -13
- package/esm2022/phone-box/lib/phone-box.component.mjs +1 -1
- package/esm2022/picker/lib/picker-column.directive.mjs +2 -2
- package/esm2022/picker/lib/picker.component.mjs +7 -13
- package/esm2022/popup/lib/popup.component.mjs +3 -3
- package/esm2022/popup/lib/popup.module.mjs +2 -2
- package/esm2022/popup/lib/popup.service.mjs +2 -2
- package/esm2022/progress-bar/lib/progress-bar.component.mjs +1 -1
- package/esm2022/radio/lib/radio.component.mjs +2 -10
- package/esm2022/result/lib/result.component.mjs +2 -2
- package/esm2022/routing-progress/lib/routing-progress.component.mjs +3 -3
- package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +2 -2
- package/esm2022/scheduler/lib/scheduler-week-view.component.mjs +2 -2
- package/esm2022/scheduler/lib/scheduler.component.mjs +2 -2
- package/esm2022/scheduler/lib/scheduler.module.mjs +4 -22
- package/esm2022/scss/lib/scss.module.mjs +2 -2
- package/esm2022/selection-list/lib/selection-list.component.mjs +4 -10
- package/esm2022/selection-list/lib/selection-list.module.mjs +4 -21
- package/esm2022/skeleton/lib/skeleton.component.mjs +2 -2
- package/esm2022/step-wizard/lib/step-wizard-item/step-wizard-item.component.mjs +2 -2
- package/esm2022/step-wizard/lib/step-wizard.class.mjs +1 -1
- package/esm2022/step-wizard/lib/step-wizard.component.mjs +1 -1
- package/esm2022/step-wizard/lib/step-wizard.module.mjs +3 -11
- package/esm2022/switch/lib/switch-content.component.mjs +1 -1
- package/esm2022/switch/lib/switch.component.mjs +3 -10
- package/esm2022/tabs/lib/tab-item.component.mjs +32 -36
- package/esm2022/tabs/lib/tabs.class.mjs +1 -1
- package/esm2022/tabs/lib/tabs.component.mjs +1 -1
- package/esm2022/tag/lib/tag.component.mjs +2 -2
- package/esm2022/text-box/lib/mask-options.directive.mjs +1 -1
- package/esm2022/text-box/lib/text-box.component.mjs +3 -4
- package/esm2022/text-box/lib/text-box.module.mjs +4 -18
- package/esm2022/toast/lib/toast.component.mjs +3 -3
- package/esm2022/toast/lib/toast.config.mjs +1 -1
- package/esm2022/toast/lib/toast.module.mjs +4 -16
- package/esm2022/toast/lib/toast.service.mjs +7 -16
- package/esm2022/uploader/lib/uploader-browse-handle.directive.mjs +2 -2
- package/esm2022/uploader/lib/uploader-dialog-container.component.mjs +3 -3
- package/esm2022/uploader/lib/uploader-list.component.mjs +2 -2
- package/esm2022/uploader/lib/uploader-zone.directive.mjs +2 -2
- package/esm2022/uploader/lib/uploader.models.mjs +1 -1
- package/esm2022/uploader/lib/uploader.module.mjs +3 -11
- package/esm2022/wysiwyg/acorex-components-wysiwyg.mjs +5 -0
- package/esm2022/wysiwyg/index.mjs +5 -0
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.mjs +27 -0
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.mjs +113 -0
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.mjs +11 -0
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg.service.mjs +13 -0
- package/esm2022/wysiwyg/lib/wysiwyg.module.mjs +27 -0
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +37 -132
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +2 -7
- package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +1 -4
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +4 -25
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +1 -9
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +2 -10
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +22 -53
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +153 -0
- package/fesm2022/acorex-components-comment.mjs.map +1 -0
- package/fesm2022/acorex-components-common.mjs +17 -78
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +2 -2
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +12 -46
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +17 -12
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +2 -14
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +1 -2
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +7 -43
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +1 -3
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +4 -31
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +3 -20
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +28 -44
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +4 -25
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +11 -37
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-nav.mjs.map +1 -1
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +8 -33
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +2 -12
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +1 -11
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +6 -12
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +1 -9
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +3 -21
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-scss.mjs +1 -1
- package/fesm2022/acorex-components-scss.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +5 -28
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-step-wizard.mjs +3 -11
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +1 -8
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +30 -34
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +4 -19
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +7 -28
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +3 -11
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +183 -0
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -0
- package/form/lib/validation-rule.directive.d.ts +1 -1
- package/package.json +65 -53
- package/uploader/lib/uploader-list.component.d.ts +1 -1
- package/wysiwyg/README.md +3 -0
- package/wysiwyg/index.d.ts +4 -0
- package/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.d.ts +12 -0
- package/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.d.ts +28 -0
- package/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.d.ts +5 -0
- package/wysiwyg/lib/wysiwyg/wysiwyg.service.d.ts +7 -0
- package/wysiwyg/lib/wysiwyg.module.d.ts +13 -0
@@ -358,7 +358,7 @@ class AXConversationInputComponent extends classes((MXInputBaseValueComponent),
|
|
358
358
|
useExisting: forwardRef(() => AXConversationInputComponent),
|
359
359
|
multi: true,
|
360
360
|
},
|
361
|
-
], viewQueries: [{ propertyName: "inputFile", first: true, predicate: ["inputFile"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (replyChat()) {\n <div class=\"ax-editor-reply-container ax-editor-container ax-look-{{ look }}\">\n <div class=\"ax-reply-start\">\n <i class=\"fa-solid fa-reply\"></i>\n @switch (replyChat().type) {\n @case ('text') {\n <p>\n {{ replyChat().content }}\n </p>\n }\n @case ('image') {\n <div class=\"ax-reply-types\">\n <img src=\"{{ replyChat().content }}\" alt=\"\" />\n {{ replyChat().type }}\n </div>\n }\n @case ('video') {\n <div class=\"ax-reply-types\">\n <video src=\"{{ replyChat().content }}\" alt=\"\"></video>\n {{ replyChat().type }}\n </div>\n }\n @case ('file') {\n <div class=\"ax-reply-types\">\n <i class=\"fa-regular fa-folder-open\"></i>\n {{ replyChat().name }}\n </div>\n }\n @default {\n <p>\n {{ replyChat().type }}\n </p>\n }\n }\n </div>\n <i (click)=\"closeReplyHandler()\" class=\"fa-solid fa-xmark ax-cursor-pointer\"></i>\n </div>\n}\n\n<div class=\"ax-conversation-input ax-editor-container ax-look-{{ look }}\" [class.ax-state-recording]=\"recording()\">\n @if (recording()) {\n <div class=\"ax-conversation-input-start-side\">\n <span class=\"ax-record-dot\"></span>\n <span>{{ recordingService.timer() }}</span>\n </div>\n <div class=\"ax-conversation-input-main-side\">\n <ax-button\n class=\"ax-sm\"\n look=\"blank\"\n color=\"primary\"\n [text]=\"'cancel' | translate | async\"\n (onClick)=\"handleCancelRecordingClick()\"\n ></ax-button>\n </div>\n <div class=\"ax-conversation-input-end-side\">\n <ax-button look=\"solid\" color=\"danger\" class=\"ax-blob ax-sm\" (onClick)=\"handleSendVoiceClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n </div>\n } @else {\n <div class=\"ax-conversation-input-start-side\">\n <ax-button look=\"blank\" class=\"ax-sm\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-emoji\"></i>\n </ax-icon>\n <ax-dropdown-panel>\n <ng-container>\n <div class=\"ax-emoji-container\">\n <div>\u26A0\uFE0F</div>\n <div>\u27A1\uFE0F</div>\n <div>\uD83D\uDD03</div>\n <div>\uD83D\uDD37</div>\n <div>\uD83E\uDD1A</div>\n <div>\uD83D\uDE02</div>\n <div>\uD83D\uDE0A</div>\n </div>\n </ng-container>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n\n <textarea\n class=\"ax-conversation-input-main-side\"\n oninput='this.style.height = \"\";this.style.height = this.scrollHeight + \"px\"'\n type=\"text\"\n rows=\"1\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n >\n </textarea>\n\n <div class=\"ax-conversation-input-end-side\">\n @if (!value) {\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleAttachClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-attach\"></i>\n </ax-icon>\n </ax-button>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleRecordClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-mic\"></i>\n </ax-icon>\n </ax-button>\n <input #inputFile [accept]=\"acceptFileType()\" type=\"file\" class=\"ax-attach-input\" (change)=\"handleChangeFile($event)\" />\n } @else {\n <ax-button look=\"solid\" color=\"primary\" class=\"ax-sm\" (onClick)=\"handleSendClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n }\n </div>\n }\n</div>\n", styles: [".ax-dark .ax-conversation-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-color-primary-200));border-color:rgba(var(--ax-color-primary-200))}ax-conversation-input{width:100%}ax-conversation-input .ax-conversation-input{display:flex;align-items:flex-end;position:relative;resize:vertical;height:auto;padding:.5rem;font-size:.875rem}ax-conversation-input .ax-conversation-input.ax-state-recording{align-items:center;display:grid;grid-template-columns:repeat(3,1fr)}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-start-side{justify-content:flex-start}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-end-side{justify-content:flex-end}ax-conversation-input .ax-conversation-input>textarea{font-size:.875rem;background-color:transparent;max-height:10rem;min-height:1.5rem;line-height:2rem;flex:1 1 auto;height:auto;resize:none}ax-conversation-input .ax-conversation-input>textarea:focus,ax-conversation-input .ax-conversation-input>textarea:focus-visible{outline:unset}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side,ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{display:flex;align-items:center;justify-content:center}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side{padding-inline-end:.75rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-main-side{flex:1 1 auto;display:flex;align-items:center;justify-content:center}ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{padding-inline-start:.75rem;gap:.5rem}ax-conversation-input .ax-conversation-input .ax-record-dot{display:inline-flex;width:.5rem;height:.5rem;background-color:rgba(var(--ax-color-danger-500));border-radius:999rem;margin-inline-end:.5rem}ax-conversation-input .ax-conversation-input .ax-blob{animation:pulse .75s infinite}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 rgba(var(--ax-color-danger-500),.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(var(--ax-color-danger-500),0)}to{transform:scale(1);box-shadow:0 0 rgba(var(--ax-color-danger-500),0)}}ax-conversation-input .ax-conversation-input .ax-attach-input{opacity:0;width:0;height:0;position:absolute}ax-conversation-input .ax-emoji-container{padding:.75rem;gap:.5rem;display:grid;grid-template-columns:repeat(7,1fr)}ax-conversation-input .ax-emoji-container>div{padding:.25rem;cursor:pointer;border-radius:var(--ax-rounded-border-default)}ax-conversation-input .ax-emoji-container>div:hover{background-color:rgba(var(--ax-color-on-surface))}ax-conversation-input .ax-editor-reply-container{display:flex;padding:.75rem;justify-content:space-between}ax-conversation-input .ax-reply-start{display:flex;align-items:center}ax-conversation-input .ax-cursor-pointer{cursor:pointer}ax-conversation-input .ax-reply-types{display:flex;align-items:center}ax-conversation-input .ax-reply-start i{margin-inline-end:1rem}ax-conversation-input .ax-reply-start img,ax-conversation-input .ax-reply-start video{margin-inline-end:.5rem;height:1.75rem;width:1.75rem}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "pipe", type: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
361
|
+
], viewQueries: [{ propertyName: "inputFile", first: true, predicate: ["inputFile"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (replyChat()) {\n <div class=\"ax-editor-reply-container ax-editor-container ax-look-{{ look }}\">\n <div class=\"ax-reply-start\">\n <i class=\"fa-solid fa-reply\"></i>\n @switch (replyChat().type) {\n @case ('text') {\n <p>\n {{ replyChat().content }}\n </p>\n }\n @case ('image') {\n <div class=\"ax-reply-types\">\n <img src=\"{{ replyChat().content }}\" alt=\"\" />\n {{ replyChat().type }}\n </div>\n }\n @case ('video') {\n <div class=\"ax-reply-types\">\n <video src=\"{{ replyChat().content }}\" alt=\"\"></video>\n {{ replyChat().type }}\n </div>\n }\n @case ('file') {\n <div class=\"ax-reply-types\">\n <i class=\"fa-regular fa-folder-open\"></i>\n {{ replyChat().name }}\n </div>\n }\n @default {\n <p>\n {{ replyChat().type }}\n </p>\n }\n }\n </div>\n <i (click)=\"closeReplyHandler()\" class=\"fa-solid fa-xmark ax-cursor-pointer\"></i>\n </div>\n}\n\n<div class=\"ax-conversation-input ax-editor-container ax-look-{{ look }}\" [class.ax-state-recording]=\"recording()\">\n @if (recording()) {\n <div class=\"ax-conversation-input-start-side\">\n <span class=\"ax-record-dot\"></span>\n <span>{{ recordingService.timer() }}</span>\n </div>\n <div class=\"ax-conversation-input-main-side\">\n <ax-button\n class=\"ax-sm\"\n look=\"blank\"\n color=\"primary\"\n [text]=\"'cancel' | translate | async\"\n (onClick)=\"handleCancelRecordingClick()\"\n ></ax-button>\n </div>\n <div class=\"ax-conversation-input-end-side\">\n <ax-button look=\"solid\" color=\"danger\" class=\"ax-blob ax-sm\" (onClick)=\"handleSendVoiceClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n </div>\n } @else {\n <div class=\"ax-conversation-input-start-side\">\n <ax-button look=\"blank\" class=\"ax-sm\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-emoji\"></i>\n </ax-icon>\n <ax-dropdown-panel>\n <ng-container>\n <div class=\"ax-emoji-container\">\n <div>\u26A0\uFE0F</div>\n <div>\u27A1\uFE0F</div>\n <div>\uD83D\uDD03</div>\n <div>\uD83D\uDD37</div>\n <div>\uD83E\uDD1A</div>\n <div>\uD83D\uDE02</div>\n <div>\uD83D\uDE0A</div>\n </div>\n </ng-container>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n\n <textarea\n class=\"ax-conversation-input-main-side\"\n oninput='this.style.height = \"\";this.style.height = this.scrollHeight + \"px\"'\n type=\"text\"\n rows=\"1\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n >\n </textarea>\n\n <div class=\"ax-conversation-input-end-side\">\n @if (!value) {\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleAttachClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-attach\"></i>\n </ax-icon>\n </ax-button>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleRecordClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-mic\"></i>\n </ax-icon>\n </ax-button>\n <input multiple #inputFile [accept]=\"acceptFileType()\" type=\"file\" class=\"ax-attach-input\" (change)=\"handleChangeFile($event)\" />\n } @else {\n <ax-button look=\"solid\" color=\"primary\" class=\"ax-sm\" (onClick)=\"handleSendClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n }\n </div>\n }\n</div>\n", styles: [".ax-dark .ax-conversation-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-color-primary-200));border-color:rgba(var(--ax-color-primary-200))}ax-conversation-input{width:100%}ax-conversation-input .ax-conversation-input{display:flex;align-items:flex-end;position:relative;resize:vertical;height:auto;padding:.5rem;font-size:.875rem}ax-conversation-input .ax-conversation-input.ax-state-recording{align-items:center;display:grid;grid-template-columns:repeat(3,1fr)}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-start-side{justify-content:flex-start}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-end-side{justify-content:flex-end}ax-conversation-input .ax-conversation-input>textarea{font-size:.875rem;background-color:transparent;max-height:10rem;min-height:1.5rem;line-height:2rem;flex:1 1 auto;height:auto;resize:none}ax-conversation-input .ax-conversation-input>textarea:focus,ax-conversation-input .ax-conversation-input>textarea:focus-visible{outline:unset}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side,ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{display:flex;align-items:center;justify-content:center}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side{padding-inline-end:.75rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-main-side{flex:1 1 auto;display:flex;align-items:center;justify-content:center}ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{padding-inline-start:.75rem;gap:.5rem}ax-conversation-input .ax-conversation-input .ax-record-dot{display:inline-flex;width:.5rem;height:.5rem;background-color:rgba(var(--ax-color-danger-500));border-radius:999rem;margin-inline-end:.5rem}ax-conversation-input .ax-conversation-input .ax-blob{animation:pulse .75s infinite}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 rgba(var(--ax-color-danger-500),.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(var(--ax-color-danger-500),0)}to{transform:scale(1);box-shadow:0 0 rgba(var(--ax-color-danger-500),0)}}ax-conversation-input .ax-conversation-input .ax-attach-input{opacity:0;width:0;height:0;position:absolute}ax-conversation-input .ax-emoji-container{padding:.75rem;gap:.5rem;display:grid;grid-template-columns:repeat(7,1fr)}ax-conversation-input .ax-emoji-container>div{padding:.25rem;cursor:pointer;border-radius:var(--ax-rounded-border-default)}ax-conversation-input .ax-emoji-container>div:hover{background-color:rgba(var(--ax-color-on-surface))}ax-conversation-input .ax-editor-reply-container{display:flex;padding:.75rem;justify-content:space-between}ax-conversation-input .ax-reply-start{display:flex;align-items:center}ax-conversation-input .ax-cursor-pointer{cursor:pointer}ax-conversation-input .ax-reply-types{display:flex;align-items:center}ax-conversation-input .ax-reply-start i{margin-inline-end:1rem}ax-conversation-input .ax-reply-start img,ax-conversation-input .ax-reply-start video{margin-inline-end:.5rem;height:1.75rem;width:1.75rem}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "pipe", type: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
362
362
|
}
|
363
363
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXConversationInputComponent, decorators: [{
|
364
364
|
type: Component,
|
@@ -371,7 +371,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
371
371
|
useExisting: forwardRef(() => AXConversationInputComponent),
|
372
372
|
multi: true,
|
373
373
|
},
|
374
|
-
], template: "@if (replyChat()) {\n <div class=\"ax-editor-reply-container ax-editor-container ax-look-{{ look }}\">\n <div class=\"ax-reply-start\">\n <i class=\"fa-solid fa-reply\"></i>\n @switch (replyChat().type) {\n @case ('text') {\n <p>\n {{ replyChat().content }}\n </p>\n }\n @case ('image') {\n <div class=\"ax-reply-types\">\n <img src=\"{{ replyChat().content }}\" alt=\"\" />\n {{ replyChat().type }}\n </div>\n }\n @case ('video') {\n <div class=\"ax-reply-types\">\n <video src=\"{{ replyChat().content }}\" alt=\"\"></video>\n {{ replyChat().type }}\n </div>\n }\n @case ('file') {\n <div class=\"ax-reply-types\">\n <i class=\"fa-regular fa-folder-open\"></i>\n {{ replyChat().name }}\n </div>\n }\n @default {\n <p>\n {{ replyChat().type }}\n </p>\n }\n }\n </div>\n <i (click)=\"closeReplyHandler()\" class=\"fa-solid fa-xmark ax-cursor-pointer\"></i>\n </div>\n}\n\n<div class=\"ax-conversation-input ax-editor-container ax-look-{{ look }}\" [class.ax-state-recording]=\"recording()\">\n @if (recording()) {\n <div class=\"ax-conversation-input-start-side\">\n <span class=\"ax-record-dot\"></span>\n <span>{{ recordingService.timer() }}</span>\n </div>\n <div class=\"ax-conversation-input-main-side\">\n <ax-button\n class=\"ax-sm\"\n look=\"blank\"\n color=\"primary\"\n [text]=\"'cancel' | translate | async\"\n (onClick)=\"handleCancelRecordingClick()\"\n ></ax-button>\n </div>\n <div class=\"ax-conversation-input-end-side\">\n <ax-button look=\"solid\" color=\"danger\" class=\"ax-blob ax-sm\" (onClick)=\"handleSendVoiceClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n </div>\n } @else {\n <div class=\"ax-conversation-input-start-side\">\n <ax-button look=\"blank\" class=\"ax-sm\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-emoji\"></i>\n </ax-icon>\n <ax-dropdown-panel>\n <ng-container>\n <div class=\"ax-emoji-container\">\n <div>\u26A0\uFE0F</div>\n <div>\u27A1\uFE0F</div>\n <div>\uD83D\uDD03</div>\n <div>\uD83D\uDD37</div>\n <div>\uD83E\uDD1A</div>\n <div>\uD83D\uDE02</div>\n <div>\uD83D\uDE0A</div>\n </div>\n </ng-container>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n\n <textarea\n class=\"ax-conversation-input-main-side\"\n oninput='this.style.height = \"\";this.style.height = this.scrollHeight + \"px\"'\n type=\"text\"\n rows=\"1\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n >\n </textarea>\n\n <div class=\"ax-conversation-input-end-side\">\n @if (!value) {\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleAttachClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-attach\"></i>\n </ax-icon>\n </ax-button>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleRecordClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-mic\"></i>\n </ax-icon>\n </ax-button>\n <input #inputFile [accept]=\"acceptFileType()\" type=\"file\" class=\"ax-attach-input\" (change)=\"handleChangeFile($event)\" />\n } @else {\n <ax-button look=\"solid\" color=\"primary\" class=\"ax-sm\" (onClick)=\"handleSendClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n }\n </div>\n }\n</div>\n", styles: [".ax-dark .ax-conversation-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-color-primary-200));border-color:rgba(var(--ax-color-primary-200))}ax-conversation-input{width:100%}ax-conversation-input .ax-conversation-input{display:flex;align-items:flex-end;position:relative;resize:vertical;height:auto;padding:.5rem;font-size:.875rem}ax-conversation-input .ax-conversation-input.ax-state-recording{align-items:center;display:grid;grid-template-columns:repeat(3,1fr)}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-start-side{justify-content:flex-start}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-end-side{justify-content:flex-end}ax-conversation-input .ax-conversation-input>textarea{font-size:.875rem;background-color:transparent;max-height:10rem;min-height:1.5rem;line-height:2rem;flex:1 1 auto;height:auto;resize:none}ax-conversation-input .ax-conversation-input>textarea:focus,ax-conversation-input .ax-conversation-input>textarea:focus-visible{outline:unset}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side,ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{display:flex;align-items:center;justify-content:center}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side{padding-inline-end:.75rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-main-side{flex:1 1 auto;display:flex;align-items:center;justify-content:center}ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{padding-inline-start:.75rem;gap:.5rem}ax-conversation-input .ax-conversation-input .ax-record-dot{display:inline-flex;width:.5rem;height:.5rem;background-color:rgba(var(--ax-color-danger-500));border-radius:999rem;margin-inline-end:.5rem}ax-conversation-input .ax-conversation-input .ax-blob{animation:pulse .75s infinite}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 rgba(var(--ax-color-danger-500),.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(var(--ax-color-danger-500),0)}to{transform:scale(1);box-shadow:0 0 rgba(var(--ax-color-danger-500),0)}}ax-conversation-input .ax-conversation-input .ax-attach-input{opacity:0;width:0;height:0;position:absolute}ax-conversation-input .ax-emoji-container{padding:.75rem;gap:.5rem;display:grid;grid-template-columns:repeat(7,1fr)}ax-conversation-input .ax-emoji-container>div{padding:.25rem;cursor:pointer;border-radius:var(--ax-rounded-border-default)}ax-conversation-input .ax-emoji-container>div:hover{background-color:rgba(var(--ax-color-on-surface))}ax-conversation-input .ax-editor-reply-container{display:flex;padding:.75rem;justify-content:space-between}ax-conversation-input .ax-reply-start{display:flex;align-items:center}ax-conversation-input .ax-cursor-pointer{cursor:pointer}ax-conversation-input .ax-reply-types{display:flex;align-items:center}ax-conversation-input .ax-reply-start i{margin-inline-end:1rem}ax-conversation-input .ax-reply-start img,ax-conversation-input .ax-reply-start video{margin-inline-end:.5rem;height:1.75rem;width:1.75rem}\n"] }]
|
374
|
+
], template: "@if (replyChat()) {\n <div class=\"ax-editor-reply-container ax-editor-container ax-look-{{ look }}\">\n <div class=\"ax-reply-start\">\n <i class=\"fa-solid fa-reply\"></i>\n @switch (replyChat().type) {\n @case ('text') {\n <p>\n {{ replyChat().content }}\n </p>\n }\n @case ('image') {\n <div class=\"ax-reply-types\">\n <img src=\"{{ replyChat().content }}\" alt=\"\" />\n {{ replyChat().type }}\n </div>\n }\n @case ('video') {\n <div class=\"ax-reply-types\">\n <video src=\"{{ replyChat().content }}\" alt=\"\"></video>\n {{ replyChat().type }}\n </div>\n }\n @case ('file') {\n <div class=\"ax-reply-types\">\n <i class=\"fa-regular fa-folder-open\"></i>\n {{ replyChat().name }}\n </div>\n }\n @default {\n <p>\n {{ replyChat().type }}\n </p>\n }\n }\n </div>\n <i (click)=\"closeReplyHandler()\" class=\"fa-solid fa-xmark ax-cursor-pointer\"></i>\n </div>\n}\n\n<div class=\"ax-conversation-input ax-editor-container ax-look-{{ look }}\" [class.ax-state-recording]=\"recording()\">\n @if (recording()) {\n <div class=\"ax-conversation-input-start-side\">\n <span class=\"ax-record-dot\"></span>\n <span>{{ recordingService.timer() }}</span>\n </div>\n <div class=\"ax-conversation-input-main-side\">\n <ax-button\n class=\"ax-sm\"\n look=\"blank\"\n color=\"primary\"\n [text]=\"'cancel' | translate | async\"\n (onClick)=\"handleCancelRecordingClick()\"\n ></ax-button>\n </div>\n <div class=\"ax-conversation-input-end-side\">\n <ax-button look=\"solid\" color=\"danger\" class=\"ax-blob ax-sm\" (onClick)=\"handleSendVoiceClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n </div>\n } @else {\n <div class=\"ax-conversation-input-start-side\">\n <ax-button look=\"blank\" class=\"ax-sm\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-emoji\"></i>\n </ax-icon>\n <ax-dropdown-panel>\n <ng-container>\n <div class=\"ax-emoji-container\">\n <div>\u26A0\uFE0F</div>\n <div>\u27A1\uFE0F</div>\n <div>\uD83D\uDD03</div>\n <div>\uD83D\uDD37</div>\n <div>\uD83E\uDD1A</div>\n <div>\uD83D\uDE02</div>\n <div>\uD83D\uDE0A</div>\n </div>\n </ng-container>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n\n <textarea\n class=\"ax-conversation-input-main-side\"\n oninput='this.style.height = \"\";this.style.height = this.scrollHeight + \"px\"'\n type=\"text\"\n rows=\"1\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n >\n </textarea>\n\n <div class=\"ax-conversation-input-end-side\">\n @if (!value) {\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleAttachClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-attach\"></i>\n </ax-icon>\n </ax-button>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleRecordClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-mic\"></i>\n </ax-icon>\n </ax-button>\n <input multiple #inputFile [accept]=\"acceptFileType()\" type=\"file\" class=\"ax-attach-input\" (change)=\"handleChangeFile($event)\" />\n } @else {\n <ax-button look=\"solid\" color=\"primary\" class=\"ax-sm\" (onClick)=\"handleSendClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n }\n </div>\n }\n</div>\n", styles: [".ax-dark .ax-conversation-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-color-primary-200));border-color:rgba(var(--ax-color-primary-200))}ax-conversation-input{width:100%}ax-conversation-input .ax-conversation-input{display:flex;align-items:flex-end;position:relative;resize:vertical;height:auto;padding:.5rem;font-size:.875rem}ax-conversation-input .ax-conversation-input.ax-state-recording{align-items:center;display:grid;grid-template-columns:repeat(3,1fr)}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-start-side{justify-content:flex-start}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-end-side{justify-content:flex-end}ax-conversation-input .ax-conversation-input>textarea{font-size:.875rem;background-color:transparent;max-height:10rem;min-height:1.5rem;line-height:2rem;flex:1 1 auto;height:auto;resize:none}ax-conversation-input .ax-conversation-input>textarea:focus,ax-conversation-input .ax-conversation-input>textarea:focus-visible{outline:unset}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side,ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{display:flex;align-items:center;justify-content:center}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side{padding-inline-end:.75rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-main-side{flex:1 1 auto;display:flex;align-items:center;justify-content:center}ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{padding-inline-start:.75rem;gap:.5rem}ax-conversation-input .ax-conversation-input .ax-record-dot{display:inline-flex;width:.5rem;height:.5rem;background-color:rgba(var(--ax-color-danger-500));border-radius:999rem;margin-inline-end:.5rem}ax-conversation-input .ax-conversation-input .ax-blob{animation:pulse .75s infinite}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 rgba(var(--ax-color-danger-500),.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(var(--ax-color-danger-500),0)}to{transform:scale(1);box-shadow:0 0 rgba(var(--ax-color-danger-500),0)}}ax-conversation-input .ax-conversation-input .ax-attach-input{opacity:0;width:0;height:0;position:absolute}ax-conversation-input .ax-emoji-container{padding:.75rem;gap:.5rem;display:grid;grid-template-columns:repeat(7,1fr)}ax-conversation-input .ax-emoji-container>div{padding:.25rem;cursor:pointer;border-radius:var(--ax-rounded-border-default)}ax-conversation-input .ax-emoji-container>div:hover{background-color:rgba(var(--ax-color-on-surface))}ax-conversation-input .ax-editor-reply-container{display:flex;padding:.75rem;justify-content:space-between}ax-conversation-input .ax-reply-start{display:flex;align-items:center}ax-conversation-input .ax-cursor-pointer{cursor:pointer}ax-conversation-input .ax-reply-types{display:flex;align-items:center}ax-conversation-input .ax-reply-start i{margin-inline-end:1rem}ax-conversation-input .ax-reply-start img,ax-conversation-input .ax-reply-start video{margin-inline-end:.5rem;height:1.75rem;width:1.75rem}\n"] }]
|
375
375
|
}], propDecorators: { inputFile: [{
|
376
376
|
type: ViewChild,
|
377
377
|
args: ['inputFile']
|