@acorex/components 22.0.2 → 22.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-components-audio-wave.mjs +15 -0
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +58 -31
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-BtkyQUlh.mjs +16548 -0
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-BtkyQUlh.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-D4ca9Mvt.mjs +51 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-D4ca9Mvt.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-QVs1XWYf.mjs +85 -0
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-QVs1XWYf.mjs.map +1 -0
- package/fesm2022/{acorex-components-conversation-open-composer-picker-for-files-DnSW908R.mjs → acorex-components-conversation-open-composer-picker-for-files-BKKO_8x6.mjs} +3 -3
- package/fesm2022/{acorex-components-conversation-open-composer-picker-for-files-DnSW908R.mjs.map → acorex-components-conversation-open-composer-picker-for-files-BKKO_8x6.mjs.map} +1 -1
- package/fesm2022/acorex-components-conversation-picker-rename-file-dialog.component-BNKFb5yO.mjs +65 -0
- package/fesm2022/acorex-components-conversation-picker-rename-file-dialog.component-BNKFb5yO.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation.mjs +1 -15531
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +600 -409
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +2 -2
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/package.json +3 -3
- package/types/acorex-components-audio-wave.d.ts +3 -0
- package/types/acorex-components-calendar.d.ts +4 -0
- package/types/acorex-components-conversation.d.ts +1407 -1295
- package/types/acorex-components-image-editor.d.ts +54 -49
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs +0 -50
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs.map +0 -1
|
@@ -2,15 +2,6 @@ import * as polytype from 'polytype';
|
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
3
|
import { OnDestroy, ElementRef, Renderer2 } from '@angular/core';
|
|
4
4
|
import { MXBaseComponent, MXInputBaseValueComponent, MXLookComponent } from '@acorex/cdk/common';
|
|
5
|
-
import * as i1 from '@acorex/components/button';
|
|
6
|
-
import * as i2 from '@angular/forms';
|
|
7
|
-
import * as i3 from '@acorex/components/range-slider';
|
|
8
|
-
import * as i4 from '@acorex/components/select-box';
|
|
9
|
-
import * as i5 from '@acorex/components/color-box';
|
|
10
|
-
import * as i6 from '@acorex/components/popover';
|
|
11
|
-
import * as i7 from '@acorex/components/decorators';
|
|
12
|
-
import * as i8 from '@acorex/components/loading';
|
|
13
|
-
import * as i9 from '@acorex/components/dialog';
|
|
14
5
|
|
|
15
6
|
type AXImageEditorTool = 'pen' | 'highlight' | 'crop' | 'rotate';
|
|
16
7
|
declare class AXImageEditorService {
|
|
@@ -25,19 +16,25 @@ declare class AXImageEditorService {
|
|
|
25
16
|
userInteract: boolean;
|
|
26
17
|
}>;
|
|
27
18
|
isImageLoad: _angular_core.WritableSignal<boolean>;
|
|
19
|
+
loadError: _angular_core.WritableSignal<boolean>;
|
|
28
20
|
newImage: HTMLImageElement | null;
|
|
29
21
|
initialImage: HTMLImageElement | null;
|
|
30
22
|
imageBlob: _angular_core.WritableSignal<Blob[]>;
|
|
31
23
|
undoPressed: _angular_core.WritableSignal<boolean>;
|
|
32
24
|
redoPressed: _angular_core.WritableSignal<boolean>;
|
|
25
|
+
canUndo: _angular_core.WritableSignal<boolean>;
|
|
26
|
+
canRedo: _angular_core.WritableSignal<boolean>;
|
|
33
27
|
cropperRatio: _angular_core.WritableSignal<string>;
|
|
34
28
|
cropperSize: _angular_core.WritableSignal<number>;
|
|
35
29
|
toggleTool(tool: AXImageEditorTool): void;
|
|
36
30
|
activateTool(tool: AXImageEditorTool): void;
|
|
31
|
+
undo(): void;
|
|
32
|
+
redo(): void;
|
|
37
33
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorService, never>;
|
|
38
34
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXImageEditorService>;
|
|
39
35
|
}
|
|
40
36
|
|
|
37
|
+
type AXImageEditorCropHandle = 'right' | 'top' | 'left' | 'bottom' | 'right-top' | 'bottom-right' | 'bottom-left' | 'left-top';
|
|
41
38
|
/**
|
|
42
39
|
* paint mode.
|
|
43
40
|
* @category Components
|
|
@@ -55,39 +52,41 @@ declare class AXImageEditorCropperWindowComponent implements OnDestroy {
|
|
|
55
52
|
protected cropperWindow: _angular_core.Signal<ElementRef<any>>;
|
|
56
53
|
private currentX;
|
|
57
54
|
private currentY;
|
|
58
|
-
private prevX;
|
|
59
|
-
private prevY;
|
|
60
55
|
private aspectWidth;
|
|
61
56
|
private aspectHeight;
|
|
62
57
|
private isMousePressed;
|
|
63
58
|
protected renderer: Renderer2;
|
|
64
59
|
private platformID;
|
|
65
|
-
private mouseMoveEvent
|
|
66
|
-
private mouseUpEvent
|
|
67
|
-
private mouseMoveEvent2
|
|
68
|
-
private mouseUpEvent2
|
|
69
|
-
private mouseDownEvent
|
|
70
|
-
private mouseLeaveEvent
|
|
60
|
+
private mouseMoveEvent?;
|
|
61
|
+
private mouseUpEvent?;
|
|
62
|
+
private mouseMoveEvent2?;
|
|
63
|
+
private mouseUpEvent2?;
|
|
64
|
+
private mouseDownEvent?;
|
|
65
|
+
private mouseLeaveEvent?;
|
|
66
|
+
private positioned;
|
|
71
67
|
ngOnDestroy(): void;
|
|
72
|
-
protected panMove(e:
|
|
73
|
-
protected panDown(e:
|
|
68
|
+
protected panMove(e: PointerEvent): void;
|
|
69
|
+
protected panDown(e: PointerEvent): void;
|
|
74
70
|
protected panUp(): void;
|
|
75
71
|
getCropperArea(): DOMRect;
|
|
76
|
-
private setPosition;
|
|
77
72
|
private startX;
|
|
78
73
|
private startY;
|
|
79
74
|
private startWidth;
|
|
80
75
|
private startHeight;
|
|
81
76
|
private startLeft;
|
|
82
77
|
private startTop;
|
|
83
|
-
protected handleSelector(e:
|
|
84
|
-
protected changeSizeHandler(e:
|
|
78
|
+
protected handleSelector(e: PointerEvent, value: AXImageEditorCropHandle): void;
|
|
79
|
+
protected changeSizeHandler(e: PointerEvent): void;
|
|
85
80
|
protected clearSelector(): void;
|
|
81
|
+
private normalizeRatio;
|
|
82
|
+
private centerOnParent;
|
|
83
|
+
private clampToParent;
|
|
84
|
+
private applyPosition;
|
|
86
85
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorCropperWindowComponent, never>;
|
|
87
86
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorCropperWindowComponent, "ax-image-editor-cropper-window", never, { "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
88
87
|
}
|
|
89
88
|
|
|
90
|
-
declare class AXImageEditorViewComponent extends MXBaseComponent
|
|
89
|
+
declare class AXImageEditorViewComponent extends MXBaseComponent {
|
|
91
90
|
/**
|
|
92
91
|
* its change grid display state.
|
|
93
92
|
*/
|
|
@@ -118,44 +117,50 @@ declare class AXImageEditorViewComponent extends MXBaseComponent implements OnDe
|
|
|
118
117
|
protected isDrawRectangleCreated: _angular_core.WritableSignal<boolean>;
|
|
119
118
|
/** @ignore */
|
|
120
119
|
protected parent: AXImageEditorContainerComponent;
|
|
121
|
-
|
|
122
|
-
|
|
120
|
+
private readonly destroyRef;
|
|
121
|
+
private readonly host;
|
|
123
122
|
/** @ignore */
|
|
124
123
|
protected imageEditorHistory: _angular_core.WritableSignal<HTMLImageElement[]>;
|
|
125
124
|
/** @ignore */
|
|
126
125
|
protected imageEditorHistoryPointer: _angular_core.WritableSignal<number>;
|
|
127
|
-
|
|
128
|
-
private
|
|
129
|
-
|
|
130
|
-
private
|
|
131
|
-
private
|
|
132
|
-
private
|
|
133
|
-
private
|
|
126
|
+
private canvasReady;
|
|
127
|
+
private drawing;
|
|
128
|
+
private didDraw;
|
|
129
|
+
private highlightSnapshot;
|
|
130
|
+
private highlightPoints;
|
|
131
|
+
private persistGeneration;
|
|
132
|
+
private sourceToken;
|
|
133
|
+
constructor();
|
|
134
134
|
/** @ignore */
|
|
135
135
|
protected resizeWindow(): void;
|
|
136
136
|
/** @ignore */
|
|
137
137
|
protected canvasResponsive(image: HTMLImageElement): void;
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
private
|
|
143
|
-
|
|
144
|
-
|
|
138
|
+
private loadSource;
|
|
139
|
+
private paintImage;
|
|
140
|
+
private fitCanvasDisplay;
|
|
141
|
+
private replaceHistory;
|
|
142
|
+
private pushHistory;
|
|
143
|
+
private syncHistoryFlags;
|
|
144
|
+
private applyUndo;
|
|
145
|
+
private applyRedo;
|
|
146
|
+
private canvasPoint;
|
|
147
|
+
private isDrawTool;
|
|
145
148
|
/** @ignore */
|
|
146
149
|
protected penConfigHandler(penType: 'pen' | 'highlight'): void;
|
|
150
|
+
private strokeHighlight;
|
|
147
151
|
/** @ignore */
|
|
148
|
-
protected mouseDownHandler(
|
|
152
|
+
protected mouseDownHandler(event: PointerEvent): void;
|
|
149
153
|
/** @ignore */
|
|
150
|
-
protected mouseMoveHandler(
|
|
151
|
-
/** @ignore */
|
|
152
|
-
protected mouseUpHandler(): void;
|
|
154
|
+
protected mouseMoveHandler(event: PointerEvent): void;
|
|
153
155
|
/** @ignore */
|
|
156
|
+
protected mouseUpHandler(event?: PointerEvent): void;
|
|
157
|
+
/** Applies the current cropper selection. */
|
|
154
158
|
crop(): Promise<void>;
|
|
159
|
+
/** Encodes the current canvas into JPEG, PNG, and WebP blobs. */
|
|
160
|
+
commitChanges(): Promise<Blob[]>;
|
|
155
161
|
/** @ignore */
|
|
156
|
-
protected rotateImage(): void
|
|
157
|
-
|
|
158
|
-
protected saveImageChange(): Promise<void>;
|
|
162
|
+
protected rotateImage(): Promise<void>;
|
|
163
|
+
private persistCanvas;
|
|
159
164
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorViewComponent, never>;
|
|
160
165
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorViewComponent, "ax-image-editor-view", never, { "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "cropperSize": { "alias": "cropperSize"; "required": false; "isSignal": true; }; "src": { "alias": "src"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
161
166
|
}
|
|
@@ -177,8 +182,8 @@ declare class AXImageEditorContainerComponent extends AXImageEditorContainerComp
|
|
|
177
182
|
view: _angular_core.Signal<AXImageEditorViewComponent>;
|
|
178
183
|
/** Applies the current cropper selection. */
|
|
179
184
|
crop(): Promise<void>;
|
|
180
|
-
|
|
181
|
-
|
|
185
|
+
/** Encodes the current canvas into JPEG, PNG, and WebP blobs. */
|
|
186
|
+
commitChanges(): Promise<Blob[]>;
|
|
182
187
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorContainerComponent, never>;
|
|
183
188
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorContainerComponent, "ax-image-editor-container", never, { "look": { "alias": "look"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "onValueChanged": "onValueChanged"; }, ["view"], ["ax-header", "ax-image-editor-view", "ax-footer", "ax-validation-rule"], true, never>;
|
|
184
189
|
}
|
|
@@ -287,7 +292,7 @@ declare class AXImageEditorToolSelectorComponent {
|
|
|
287
292
|
|
|
288
293
|
declare class AXImageEditorModule {
|
|
289
294
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorModule, never>;
|
|
290
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXImageEditorModule, never, [typeof
|
|
295
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXImageEditorModule, never, [typeof AXImageEditorViewComponent, typeof AXImageEditorContainerComponent, typeof AXImageEditorCropComponent, typeof AXImageEditorHistoryComponent, typeof AXImageEditorToolSelectorComponent, typeof AXImageEditorToolsBarComponent, typeof AXImageEditorPenComponent, typeof AXImageEditorHighlightComponent, typeof AXImageEditorRotateComponent, typeof AXImageEditorCropperWindowComponent], [typeof AXImageEditorViewComponent, typeof AXImageEditorContainerComponent, typeof AXImageEditorCropComponent, typeof AXImageEditorHistoryComponent, typeof AXImageEditorToolSelectorComponent, typeof AXImageEditorToolsBarComponent, typeof AXImageEditorPenComponent, typeof AXImageEditorHighlightComponent, typeof AXImageEditorRotateComponent, typeof AXImageEditorCropperWindowComponent]>;
|
|
291
296
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXImageEditorModule>;
|
|
292
297
|
}
|
|
293
298
|
|
package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { AXComponentCloseEvent, AXClosableComponent } from '@acorex/cdk/common';
|
|
2
|
-
import { AXTranslationService } from '@acorex/core/translation';
|
|
3
|
-
import * as i0 from '@angular/core';
|
|
4
|
-
import { inject, input, computed, EventEmitter, ViewEncapsulation, Component } from '@angular/core';
|
|
5
|
-
|
|
6
|
-
class AXConversationComposerActionChoiceDialogComponent {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.translation = inject(AXTranslationService);
|
|
9
|
-
this.actions = input.required(/* @ts-ignore */
|
|
10
|
-
...(ngDevMode ? [{ debugName: "actions" }] : /* istanbul ignore next */ []));
|
|
11
|
-
this.fileCount = input(1, /* @ts-ignore */
|
|
12
|
-
...(ngDevMode ? [{ debugName: "fileCount" }] : /* istanbul ignore next */ []));
|
|
13
|
-
this.composerActionRegistry = input.required(/* @ts-ignore */
|
|
14
|
-
...(ngDevMode ? [{ debugName: "composerActionRegistry" }] : /* istanbul ignore next */ []));
|
|
15
|
-
this.__popup__ = input(/* @ts-ignore */
|
|
16
|
-
...(ngDevMode ? [undefined, { debugName: "__popup__" }] : /* istanbul ignore next */ []));
|
|
17
|
-
this.hintText = computed(() => {
|
|
18
|
-
const count = this.fileCount();
|
|
19
|
-
if (count === 1) {
|
|
20
|
-
return this.translation.translateSync('@acorex:chat.dialog.choose-send-option.hint-single');
|
|
21
|
-
}
|
|
22
|
-
return this.translation.translateSync('@acorex:chat.dialog.choose-send-option.hint-multiple', {
|
|
23
|
-
params: { count },
|
|
24
|
-
});
|
|
25
|
-
}, /* @ts-ignore */
|
|
26
|
-
...(ngDevMode ? [{ debugName: "hintText" }] : /* istanbul ignore next */ []));
|
|
27
|
-
this.onClosed = new EventEmitter();
|
|
28
|
-
}
|
|
29
|
-
getActionLabel(action) {
|
|
30
|
-
return this.composerActionRegistry().getActionLabel(action);
|
|
31
|
-
}
|
|
32
|
-
getActionTooltip(action) {
|
|
33
|
-
return this.composerActionRegistry().getActionTooltip(action);
|
|
34
|
-
}
|
|
35
|
-
choose(action) {
|
|
36
|
-
const event = new AXComponentCloseEvent();
|
|
37
|
-
event.component = this;
|
|
38
|
-
event.data = action;
|
|
39
|
-
this.onClosed.emit(event);
|
|
40
|
-
}
|
|
41
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXConversationComposerActionChoiceDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
42
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXConversationComposerActionChoiceDialogComponent, isStandalone: true, selector: "ax-conversation-composer-action-choice-dialog", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: true, transformFunction: null }, fileCount: { classPropertyName: "fileCount", publicName: "fileCount", isSignal: true, isRequired: false, transformFunction: null }, composerActionRegistry: { classPropertyName: "composerActionRegistry", publicName: "composerActionRegistry", isSignal: true, isRequired: true, transformFunction: null }, __popup__: { classPropertyName: "__popup__", publicName: "__popup__", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: AXClosableComponent, useExisting: AXConversationComposerActionChoiceDialogComponent }], ngImport: i0, template: " <div class=\"composer-action-choice\" role=\"dialog\" aria-modal=\"true\">\n <p class=\"composer-action-choice__hint\">{{ hintText() }}</p>\n <ul class=\"composer-action-choice__list\" role=\"listbox\">\n @for (action of actions(); track action.id) {\n <li role=\"presentation\">\n <button\n type=\"button\"\n class=\"composer-action-choice__option\"\n role=\"option\"\n (click)=\"choose(action)\"\n [attr.aria-label]=\"getActionLabel(action)\"\n >\n <span class=\"composer-action-choice__icon\" aria-hidden=\"true\">\n <i [class]=\"action.icon\"></i>\n </span>\n <span class=\"composer-action-choice__text\">\n <span class=\"composer-action-choice__title\">{{ getActionLabel(action) }}</span>\n @if (getActionTooltip(action); as tip) {\n <span class=\"composer-action-choice__subtitle\">{{ tip }}</span>\n }\n </span>\n <i class=\"fa-light fa-chevron-right composer-action-choice__chevron\" aria-hidden=\"true\"></i>\n </button>\n </li>\n }\n </ul>\n </div>\n", styles: ["@layer properties;@layer components{ax-conversation-composer-action-choice-dialog{display:block}ax-conversation-composer-action-choice-dialog .composer-action-choice{display:flex;min-width:calc(var(--spacing, .25rem) * 64);flex-direction:column;gap:calc(var(--spacing, .25rem) * 3);padding:calc(var(--spacing, .25rem) * 2)}ax-conversation-composer-action-choice-dialog .composer-action-choice__hint{margin:calc(var(--spacing, .25rem) * 0);font-size:.8125rem;--tw-leading: var(--leading-snug, 1.375);line-height:var(--leading-snug, 1.375);color:rgba(var(--ax-sys-color-on-surface),.7)}ax-conversation-composer-action-choice-dialog .composer-action-choice__list{margin:calc(var(--spacing, .25rem) * 0);display:flex;list-style-type:none;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2);padding:calc(var(--spacing, .25rem) * 0)}ax-conversation-composer-action-choice-dialog .composer-action-choice__option{display:flex;width:100%;cursor:pointer;align-items:center;gap:calc(var(--spacing, .25rem) * 3);border-radius:var(--ax-sys-border-radius);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:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 2.5);text-align:start;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}ax-conversation-composer-action-choice-dialog .composer-action-choice__option:hover,ax-conversation-composer-action-choice-dialog .composer-action-choice__option:focus-visible{border-color:rgba(var(--ax-sys-color-primary-surface));--tw-outline-style: none;outline-style:none;background:rgba(var(--ax-sys-color-primary-500),.06);box-shadow:0 0 0 1px rgba(var(--ax-sys-color-primary-500),.25)}ax-conversation-composer-action-choice-dialog .composer-action-choice__icon{display:flex;height:calc(var(--spacing, .25rem) * 10);width:calc(var(--spacing, .25rem) * 10);flex-shrink:0;align-items:center;justify-content:center;border-radius:var(--ax-sys-border-radius);font-size:var(--text-lg, 1.125rem);line-height:var(--tw-leading, var(--text-lg--line-height, calc(1.75 / 1.125)));color:rgba(var(--ax-sys-color-primary-600));background:rgba(var(--ax-sys-color-primary-500),.1)}ax-conversation-composer-action-choice-dialog .composer-action-choice__text{display:flex;min-width:calc(var(--spacing, .25rem) * 0);flex:1;flex-direction:column;gap:calc(var(--spacing, .25rem) * .5)}ax-conversation-composer-action-choice-dialog .composer-action-choice__title{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600);color:rgba(var(--ax-sys-color-on-surface))}ax-conversation-composer-action-choice-dialog .composer-action-choice__subtitle{overflow:hidden;font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-surface),.6)}ax-conversation-composer-action-choice-dialog .composer-action-choice__chevron{flex-shrink:0;font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));color:rgba(var(--ax-sys-color-on-surface),.45)}}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@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-leading: initial;--tw-border-style: solid;--tw-font-weight: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
43
|
-
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXConversationComposerActionChoiceDialogComponent, decorators: [{
|
|
45
|
-
type: Component,
|
|
46
|
-
args: [{ selector: 'ax-conversation-composer-action-choice-dialog', encapsulation: ViewEncapsulation.None, providers: [{ provide: AXClosableComponent, useExisting: AXConversationComposerActionChoiceDialogComponent }], template: " <div class=\"composer-action-choice\" role=\"dialog\" aria-modal=\"true\">\n <p class=\"composer-action-choice__hint\">{{ hintText() }}</p>\n <ul class=\"composer-action-choice__list\" role=\"listbox\">\n @for (action of actions(); track action.id) {\n <li role=\"presentation\">\n <button\n type=\"button\"\n class=\"composer-action-choice__option\"\n role=\"option\"\n (click)=\"choose(action)\"\n [attr.aria-label]=\"getActionLabel(action)\"\n >\n <span class=\"composer-action-choice__icon\" aria-hidden=\"true\">\n <i [class]=\"action.icon\"></i>\n </span>\n <span class=\"composer-action-choice__text\">\n <span class=\"composer-action-choice__title\">{{ getActionLabel(action) }}</span>\n @if (getActionTooltip(action); as tip) {\n <span class=\"composer-action-choice__subtitle\">{{ tip }}</span>\n }\n </span>\n <i class=\"fa-light fa-chevron-right composer-action-choice__chevron\" aria-hidden=\"true\"></i>\n </button>\n </li>\n }\n </ul>\n </div>\n", styles: ["@layer properties;@layer components{ax-conversation-composer-action-choice-dialog{display:block}ax-conversation-composer-action-choice-dialog .composer-action-choice{display:flex;min-width:calc(var(--spacing, .25rem) * 64);flex-direction:column;gap:calc(var(--spacing, .25rem) * 3);padding:calc(var(--spacing, .25rem) * 2)}ax-conversation-composer-action-choice-dialog .composer-action-choice__hint{margin:calc(var(--spacing, .25rem) * 0);font-size:.8125rem;--tw-leading: var(--leading-snug, 1.375);line-height:var(--leading-snug, 1.375);color:rgba(var(--ax-sys-color-on-surface),.7)}ax-conversation-composer-action-choice-dialog .composer-action-choice__list{margin:calc(var(--spacing, .25rem) * 0);display:flex;list-style-type:none;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2);padding:calc(var(--spacing, .25rem) * 0)}ax-conversation-composer-action-choice-dialog .composer-action-choice__option{display:flex;width:100%;cursor:pointer;align-items:center;gap:calc(var(--spacing, .25rem) * 3);border-radius:var(--ax-sys-border-radius);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:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 2.5);text-align:start;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}ax-conversation-composer-action-choice-dialog .composer-action-choice__option:hover,ax-conversation-composer-action-choice-dialog .composer-action-choice__option:focus-visible{border-color:rgba(var(--ax-sys-color-primary-surface));--tw-outline-style: none;outline-style:none;background:rgba(var(--ax-sys-color-primary-500),.06);box-shadow:0 0 0 1px rgba(var(--ax-sys-color-primary-500),.25)}ax-conversation-composer-action-choice-dialog .composer-action-choice__icon{display:flex;height:calc(var(--spacing, .25rem) * 10);width:calc(var(--spacing, .25rem) * 10);flex-shrink:0;align-items:center;justify-content:center;border-radius:var(--ax-sys-border-radius);font-size:var(--text-lg, 1.125rem);line-height:var(--tw-leading, var(--text-lg--line-height, calc(1.75 / 1.125)));color:rgba(var(--ax-sys-color-primary-600));background:rgba(var(--ax-sys-color-primary-500),.1)}ax-conversation-composer-action-choice-dialog .composer-action-choice__text{display:flex;min-width:calc(var(--spacing, .25rem) * 0);flex:1;flex-direction:column;gap:calc(var(--spacing, .25rem) * .5)}ax-conversation-composer-action-choice-dialog .composer-action-choice__title{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600);color:rgba(var(--ax-sys-color-on-surface))}ax-conversation-composer-action-choice-dialog .composer-action-choice__subtitle{overflow:hidden;font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-surface),.6)}ax-conversation-composer-action-choice-dialog .composer-action-choice__chevron{flex-shrink:0;font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));color:rgba(var(--ax-sys-color-on-surface),.45)}}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@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-leading: initial;--tw-border-style: solid;--tw-font-weight: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
|
|
47
|
-
}], propDecorators: { actions: [{ type: i0.Input, args: [{ isSignal: true, alias: "actions", required: true }] }], fileCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileCount", required: false }] }], composerActionRegistry: [{ type: i0.Input, args: [{ isSignal: true, alias: "composerActionRegistry", required: true }] }], __popup__: [{ type: i0.Input, args: [{ isSignal: true, alias: "__popup__", required: false }] }] } });
|
|
48
|
-
|
|
49
|
-
export { AXConversationComposerActionChoiceDialogComponent };
|
|
50
|
-
//# sourceMappingURL=acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs","sources":["../../../../packages/components/conversation/src/lib/components/message-list/composer-action-choice-dialog.component.ts","../../../../packages/components/conversation/src/lib/components/message-list/composer-action-choice-dialog.component.html"],"sourcesContent":["import { AXClosableComponent, AXComponentCloseEvent } from '@acorex/cdk/common';\nimport type { AXPopupRef } from '@acorex/components/popup';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { Component, EventEmitter, ViewEncapsulation, computed, inject, input } from '@angular/core';\nimport type {\n AXConversationComposerAction,\n AXConversationComposerActionRegistry,\n} from '../../registries/composer-action.registry';\n\n@Component({\n selector: 'ax-conversation-composer-action-choice-dialog',\n encapsulation: ViewEncapsulation.None,\n\n templateUrl: './composer-action-choice-dialog.component.html',\n styleUrl: './composer-action-choice-dialog.component.css',\n providers: [{ provide: AXClosableComponent, useExisting: AXConversationComposerActionChoiceDialogComponent }],\n})\nexport class AXConversationComposerActionChoiceDialogComponent {\n private readonly translation = inject(AXTranslationService);\n\n readonly actions = input.required<AXConversationComposerAction[]>();\n readonly fileCount = input(1);\n readonly composerActionRegistry = input.required<AXConversationComposerActionRegistry>();\n readonly __popup__ = input<AXPopupRef | undefined>();\n\n readonly hintText = computed(() => {\n const count = this.fileCount();\n if (count === 1) {\n return this.translation.translateSync('@acorex:chat.dialog.choose-send-option.hint-single');\n }\n return this.translation.translateSync('@acorex:chat.dialog.choose-send-option.hint-multiple', {\n params: { count },\n });\n });\n\n readonly onClosed = new EventEmitter<AXComponentCloseEvent>();\n\n getActionLabel(action: AXConversationComposerAction): string {\n return this.composerActionRegistry().getActionLabel(action);\n }\n\n getActionTooltip(action: AXConversationComposerAction): string | undefined {\n return this.composerActionRegistry().getActionTooltip(action);\n }\n\n choose(action: AXConversationComposerAction): void {\n const event = new AXComponentCloseEvent();\n event.component = this;\n event.data = action;\n this.onClosed.emit(event);\n }\n}\n"," <div class=\"composer-action-choice\" role=\"dialog\" aria-modal=\"true\">\n <p class=\"composer-action-choice__hint\">{{ hintText() }}</p>\n <ul class=\"composer-action-choice__list\" role=\"listbox\">\n @for (action of actions(); track action.id) {\n <li role=\"presentation\">\n <button\n type=\"button\"\n class=\"composer-action-choice__option\"\n role=\"option\"\n (click)=\"choose(action)\"\n [attr.aria-label]=\"getActionLabel(action)\"\n >\n <span class=\"composer-action-choice__icon\" aria-hidden=\"true\">\n <i [class]=\"action.icon\"></i>\n </span>\n <span class=\"composer-action-choice__text\">\n <span class=\"composer-action-choice__title\">{{ getActionLabel(action) }}</span>\n @if (getActionTooltip(action); as tip) {\n <span class=\"composer-action-choice__subtitle\">{{ tip }}</span>\n }\n </span>\n <i class=\"fa-light fa-chevron-right composer-action-choice__chevron\" aria-hidden=\"true\"></i>\n </button>\n </li>\n }\n </ul>\n </div>\n"],"names":[],"mappings":"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"}
|