@acorex/components 22.0.0-next.9 → 22.0.1-next.0
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/combo-box/README.md +35 -0
- package/emoji/README.md +3 -0
- package/emojipicker/README.md +3 -0
- package/fesm2022/acorex-components-accordion.mjs +4 -4
- package/fesm2022/acorex-components-accordion.mjs.map +1 -1
- package/fesm2022/acorex-components-action-sheet.mjs +1 -0
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +2 -2
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +291 -267
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-bubble.mjs +71 -0
- package/fesm2022/acorex-components-bubble.mjs.map +1 -0
- package/fesm2022/acorex-components-button-group.mjs +12 -5
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +6 -6
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +328 -127
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +2 -2
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-combo-box.mjs +973 -0
- package/fesm2022/acorex-components-combo-box.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-DDkiZfPb.mjs +19058 -0
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-DDkiZfPb.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-COUB9zrM.mjs +50 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-COUB9zrM.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-COT96F_v.mjs +87 -0
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-COT96F_v.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-picker-rename-file-dialog.component-CH3Q6Hry.mjs +65 -0
- package/fesm2022/acorex-components-conversation-picker-rename-file-dialog.component-CH3Q6Hry.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation.mjs +1 -22920
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +1 -1
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +4 -4
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +310 -90
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +14 -16
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +61 -32
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +57 -11
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +7 -4
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +2 -2
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +4 -4
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-emoji.mjs +74 -0
- package/fesm2022/acorex-components-emoji.mjs.map +1 -0
- package/fesm2022/acorex-components-emojipicker.mjs +425 -0
- package/fesm2022/acorex-components-emojipicker.mjs.map +1 -0
- package/fesm2022/acorex-components-fab.mjs +5 -5
- package/fesm2022/acorex-components-fab.mjs.map +1 -1
- package/fesm2022/acorex-components-file-viewer.mjs +359 -109
- package/fesm2022/acorex-components-file-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +22 -6
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-grid-layout-builder.mjs +238 -36
- package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-highlight.mjs +80 -0
- package/fesm2022/acorex-components-highlight.mjs.map +1 -0
- package/fesm2022/acorex-components-image-editor.mjs +686 -416
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-inline-reaction.mjs +111 -0
- package/fesm2022/acorex-components-inline-reaction.mjs.map +1 -0
- package/fesm2022/acorex-components-kanban.mjs +1 -1
- package/fesm2022/acorex-components-kanban.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +2 -2
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +2 -2
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +59 -42
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-lookup.mjs +3505 -0
- package/fesm2022/acorex-components-lookup.mjs.map +1 -0
- package/fesm2022/acorex-components-map.mjs +9 -2
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +322 -79
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-message-status.mjs +71 -0
- package/fesm2022/acorex-components-message-status.mjs.map +1 -0
- package/fesm2022/acorex-components-message-time.mjs +36 -0
- package/fesm2022/acorex-components-message-time.mjs.map +1 -0
- package/fesm2022/acorex-components-message.mjs +120 -0
- package/fesm2022/acorex-components-message.mjs.map +1 -0
- package/fesm2022/acorex-components-notification.mjs +13 -6
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +30 -29
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +1 -1
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +3 -3
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +40 -6
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +4 -2
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +2 -2
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-rail-navigation.mjs +2 -2
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +2 -2
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-reaction.mjs +144 -0
- package/fesm2022/acorex-components-reaction.mjs.map +1 -0
- package/fesm2022/acorex-components-rest-api-generator.mjs +5 -5
- package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
- package/fesm2022/acorex-components-rrule.mjs +1 -1
- package/fesm2022/acorex-components-rrule.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler-picker.mjs +5 -5
- package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +12 -22
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +55 -18
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +3 -4
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +2 -2
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +510 -74
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +2 -2
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +2 -2
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +9 -2
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +2 -2
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +86 -6
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +76 -6
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/highlight/README.md +13 -0
- package/inline-reaction/README.md +3 -0
- package/lookup/README.md +74 -0
- package/message/README.md +3 -0
- package/message-status/README.md +3 -0
- package/message-time/README.md +3 -0
- package/package.json +51 -16
- package/reaction/README.md +3 -0
- package/select-box/README.md +5 -0
- package/types/acorex-components-action-sheet.d.ts +9 -1
- package/types/acorex-components-audio-wave.d.ts +132 -73
- package/types/acorex-components-bubble.d.ts +31 -0
- package/types/acorex-components-button-group.d.ts +4 -0
- package/types/acorex-components-button.d.ts +1 -1
- package/types/acorex-components-calendar.d.ts +41 -9
- package/types/acorex-components-combo-box.d.ts +310 -0
- package/types/acorex-components-conversation.d.ts +1806 -1790
- package/types/acorex-components-data-table.d.ts +74 -12
- package/types/acorex-components-datetime-box.d.ts +2 -0
- package/types/acorex-components-datetime-input.d.ts +24 -5
- package/types/acorex-components-decorators.d.ts +14 -1
- package/types/acorex-components-dialog.d.ts +9 -0
- package/types/acorex-components-emoji.d.ts +42 -0
- package/types/acorex-components-emojipicker.d.ts +146 -0
- package/types/acorex-components-file-viewer.d.ts +48 -4
- package/types/acorex-components-grid-layout-builder.d.ts +34 -2
- package/types/acorex-components-highlight.d.ts +31 -0
- package/types/acorex-components-image-editor.d.ts +68 -48
- package/types/acorex-components-inline-reaction.d.ts +52 -0
- package/types/acorex-components-loading-dialog.d.ts +12 -4
- package/types/acorex-components-lookup.d.ts +962 -0
- package/types/acorex-components-map.d.ts +5 -0
- package/types/acorex-components-menu.d.ts +43 -7
- package/types/acorex-components-message-status.d.ts +23 -0
- package/types/acorex-components-message-time.d.ts +19 -0
- package/types/acorex-components-message.d.ts +59 -0
- package/types/acorex-components-notification.d.ts +11 -1
- package/types/acorex-components-number-box.d.ts +3 -1
- package/types/acorex-components-popover.d.ts +12 -1
- package/types/acorex-components-popup.d.ts +9 -1
- package/types/acorex-components-reaction.d.ts +85 -0
- package/types/acorex-components-scheduler.d.ts +2 -4
- package/types/acorex-components-select-box.d.ts +21 -4
- package/types/acorex-components-selection-list.d.ts +1 -1
- package/types/acorex-components-tabs.d.ts +148 -19
- package/types/acorex-components-toast.d.ts +10 -1
- package/types/acorex-components-tree-view.d.ts +39 -2
- package/types/acorex-components-wysiwyg.d.ts +13 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-CNHiM1Sp.mjs +0 -106
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-CNHiM1Sp.mjs.map +0 -1
- package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-Hh5Oyp3p.mjs +0 -223
- package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-Hh5Oyp3p.mjs.map +0 -1
- package/fesm2022/acorex-components-flow-chart.mjs +0 -735
- package/fesm2022/acorex-components-flow-chart.mjs.map +0 -1
- package/fesm2022/acorex-components-query-builder.mjs +0 -267
- package/fesm2022/acorex-components-query-builder.mjs.map +0 -1
- package/fesm2022/acorex-components-selection-list-2.mjs +0 -168
- package/fesm2022/acorex-components-selection-list-2.mjs.map +0 -1
- package/flow-chart/README.md +0 -3
- package/query-builder/README.md +0 -3
- package/selection-list-2/README.md +0 -3
- package/types/acorex-components-flow-chart.d.ts +0 -187
- package/types/acorex-components-query-builder.d.ts +0 -52
- package/types/acorex-components-selection-list-2.d.ts +0 -52
|
@@ -584,6 +584,11 @@ declare class AXMapComponent extends NXComponent implements OnDestroy {
|
|
|
584
584
|
* Refreshes POIs from providers, clearing existing POIs first
|
|
585
585
|
*/
|
|
586
586
|
refreshPois(): Promise<void>;
|
|
587
|
+
/**
|
|
588
|
+
* Recalculates Leaflet tile layout after the map container is resized
|
|
589
|
+
* (for example after entering or exiting fullscreen).
|
|
590
|
+
*/
|
|
591
|
+
invalidateSize(): void;
|
|
587
592
|
/**
|
|
588
593
|
* Cleanup function that destroys the map and unsubscribes from all subscriptions.
|
|
589
594
|
*/
|
|
@@ -72,6 +72,7 @@ type AXContextMenuItemsClickEvent = AXMenuItemClickBaseEvent<AXContextMenuCompon
|
|
|
72
72
|
* @category Components
|
|
73
73
|
*/
|
|
74
74
|
declare class AXContextMenuComponent extends NXComponent {
|
|
75
|
+
protected readonly supportsHeader = true;
|
|
75
76
|
readonly orientation: _angular_core.InputSignal<AXOrientation>;
|
|
76
77
|
readonly openOn: _angular_core.InputSignal<AXMenuOpenTrigger>;
|
|
77
78
|
readonly closeOn: _angular_core.InputSignal<AXMenuCloseTrigger>;
|
|
@@ -115,6 +116,10 @@ declare class AXContextMenuComponent extends NXComponent {
|
|
|
115
116
|
private backdropElement;
|
|
116
117
|
private originalNextSibling;
|
|
117
118
|
private originalParent;
|
|
119
|
+
private readonly headerSlot;
|
|
120
|
+
private floatingHeader;
|
|
121
|
+
private headerOriginalParent;
|
|
122
|
+
private headerOriginalNextSibling;
|
|
118
123
|
protected items: _angular_core.WritableSignal<AXMenuItem[]>;
|
|
119
124
|
/** @ignore */
|
|
120
125
|
private setupCloseOnRouteChange;
|
|
@@ -130,13 +135,21 @@ declare class AXContextMenuComponent extends NXComponent {
|
|
|
130
135
|
private internalShowAt;
|
|
131
136
|
/**
|
|
132
137
|
* Positions the menu at `point`, flipping when it would overflow the viewport.
|
|
133
|
-
*
|
|
138
|
+
* When a floating header is present, positions header and panel as one clamped block.
|
|
134
139
|
*/
|
|
135
140
|
private positionAtPoint;
|
|
136
141
|
/** Measures menu size even when an ancestor hides the host with `display: none`. */
|
|
137
142
|
private measureMenuRect;
|
|
143
|
+
/** Measures the floating header bar using the same hidden-layout pass as the menu panel. */
|
|
144
|
+
private measureFloatingRect;
|
|
138
145
|
/** @ignore */
|
|
139
146
|
private createBackdrop;
|
|
147
|
+
/** Moves the projected header slot into the backdrop as a floating sibling of the panel. */
|
|
148
|
+
private floatHeaderToBackdrop;
|
|
149
|
+
/** Restores the header slot to its original parent before the backdrop is removed. */
|
|
150
|
+
private restoreFloatingHeader;
|
|
151
|
+
/** @ignore */
|
|
152
|
+
private resolveContextMenuTarget;
|
|
140
153
|
/** @ignore */
|
|
141
154
|
private removeBackdrop;
|
|
142
155
|
private createEventListeners;
|
|
@@ -145,7 +158,7 @@ declare class AXContextMenuComponent extends NXComponent {
|
|
|
145
158
|
/** @ignore */
|
|
146
159
|
get __hostClass(): any;
|
|
147
160
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXContextMenuComponent, never>;
|
|
148
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXContextMenuComponent, "ax-context-menu", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "openOn": { "alias": "openOn"; "required": false; "isSignal": true; }; "closeOn": { "alias": "closeOn"; "required": false; "isSignal": true; }; "closeOnRouteChange": { "alias": "closeOnRouteChange"; "required": false; "isSignal": true; }; "originalItems": { "alias": "items"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, { "onItemClick": "onItemClick"; "onOpening": "onOpening"; "onClose": "onClose"; }, never, ["ax-menu-item,ax-divider,ax-title,ng-container"], true, never>;
|
|
161
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXContextMenuComponent, "ax-context-menu", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "openOn": { "alias": "openOn"; "required": false; "isSignal": true; }; "closeOn": { "alias": "closeOn"; "required": false; "isSignal": true; }; "closeOnRouteChange": { "alias": "closeOnRouteChange"; "required": false; "isSignal": true; }; "originalItems": { "alias": "items"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, { "onItemClick": "onItemClick"; "onOpening": "onOpening"; "onClose": "onClose"; }, never, ["ax-header", "ax-menu-item,ax-divider,ax-title,ng-container"], true, never>;
|
|
149
162
|
}
|
|
150
163
|
|
|
151
164
|
type AXMenuItemClickEvent = AXMenuItemClickBaseEvent<AXMenuItemComponent>;
|
|
@@ -175,8 +188,16 @@ declare class AXMenuItemComponent extends NXComponent implements OnDestroy {
|
|
|
175
188
|
private unsuscriber;
|
|
176
189
|
private renderer;
|
|
177
190
|
private injector;
|
|
191
|
+
private document;
|
|
178
192
|
private zIndexService;
|
|
179
193
|
private zToken;
|
|
194
|
+
private submenuPortalParent;
|
|
195
|
+
private submenuPortalNextSibling;
|
|
196
|
+
/** Survives submenu portaling when the DOM parent chain is broken. */
|
|
197
|
+
private linkedParent;
|
|
198
|
+
private mouseLeaveTimeout;
|
|
199
|
+
private submenuUnlistenEnter;
|
|
200
|
+
private submenuUnlistenLeave;
|
|
180
201
|
protected arrowIcon: _angular_core.Signal<string>;
|
|
181
202
|
onClick: _angular_core.OutputEmitterRef<AXMenuItemClickEvent>;
|
|
182
203
|
name: _angular_core.InputSignal<string>;
|
|
@@ -186,8 +207,8 @@ declare class AXMenuItemComponent extends NXComponent implements OnDestroy {
|
|
|
186
207
|
constructor();
|
|
187
208
|
private getText;
|
|
188
209
|
/**
|
|
189
|
-
* Resolves the parent menu item.
|
|
190
|
-
*
|
|
210
|
+
* Resolves the parent menu item. Prefers an explicit link (survives submenu portaling),
|
|
211
|
+
* then DI, then the DOM tree.
|
|
191
212
|
*/
|
|
192
213
|
getParentMenuItem(): AXMenuItemComponent | null;
|
|
193
214
|
/**
|
|
@@ -204,10 +225,20 @@ declare class AXMenuItemComponent extends NXComponent implements OnDestroy {
|
|
|
204
225
|
private schedulePositionCalculation;
|
|
205
226
|
/**
|
|
206
227
|
* Calculate the position of the submenu to avoid it going out of the viewport.
|
|
228
|
+
* Tall panels are height-clamped; the panel is portaled so parent overflow cannot clip it.
|
|
207
229
|
*/
|
|
208
230
|
private calculatePosition;
|
|
209
231
|
/** Measures submenu size using the same flex layout as the rendered menu. */
|
|
210
232
|
private measureSubmenuRect;
|
|
233
|
+
/** Moves the submenu under the context-menu backdrop (or body) to escape ancestor overflow. */
|
|
234
|
+
private portalSubmenu;
|
|
235
|
+
private restoreSubmenuPortal;
|
|
236
|
+
/** Keep this item open while the pointer is over its portaled submenu panel. */
|
|
237
|
+
private bindSubmenuPointerListeners;
|
|
238
|
+
private unbindSubmenuPointerListeners;
|
|
239
|
+
/** Links direct children so parent resolution still works after the panel is portaled. */
|
|
240
|
+
private linkChildItems;
|
|
241
|
+
private getInstanceFromElement;
|
|
211
242
|
/**
|
|
212
243
|
* Moves nested `ax-menu-item` nodes rendered by recursive `ngTemplateOutlet` templates
|
|
213
244
|
* into the submenu slot. Angular content queries do not traverse those embedded views.
|
|
@@ -225,10 +256,14 @@ declare class AXMenuItemComponent extends NXComponent implements OnDestroy {
|
|
|
225
256
|
private clampVerticalPosition;
|
|
226
257
|
handleClick(e: MouseEvent): void;
|
|
227
258
|
handleMouseEnter(event: MouseEvent): void;
|
|
228
|
-
private mouseLeaveTimeout;
|
|
229
259
|
handleMouseLeave(event: MouseEvent): void;
|
|
230
|
-
|
|
260
|
+
private handlePointerLeave;
|
|
261
|
+
private scheduleClose;
|
|
262
|
+
private clearCloseTimeout;
|
|
263
|
+
private clearAncestorCloseTimeouts;
|
|
264
|
+
/** True when the pointer is still inside this item's submenu tree (including portaled panels). */
|
|
231
265
|
private containsSubmenuPointer;
|
|
266
|
+
private isSelfOrAncestorOf;
|
|
232
267
|
ngOnDestroy(): void;
|
|
233
268
|
/** @ignore */
|
|
234
269
|
get __hostClass(): string[];
|
|
@@ -277,6 +312,7 @@ type AXMenuItemsClickEvent = AXMenuItemClickBaseEvent<AXMenuComponent>;
|
|
|
277
312
|
* @category Components
|
|
278
313
|
*/
|
|
279
314
|
declare class AXMenuComponent extends NXComponent {
|
|
315
|
+
protected readonly supportsHeader = false;
|
|
280
316
|
constructor();
|
|
281
317
|
orientation: _angular_core.InputSignal<AXOrientation>;
|
|
282
318
|
openOn: _angular_core.InputSignal<AXMenuOpenTrigger>;
|
|
@@ -294,7 +330,7 @@ declare class AXMenuComponent extends NXComponent {
|
|
|
294
330
|
*/
|
|
295
331
|
close(): void;
|
|
296
332
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMenuComponent, never>;
|
|
297
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMenuComponent, "ax-menu", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "openOn": { "alias": "openOn"; "required": false; "isSignal": true; }; "closeOn": { "alias": "closeOn"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "hasArrow": { "alias": "hasArrow"; "required": false; "isSignal": true; }; }, { "onItemClick": "onItemClick"; }, never, ["ax-menu-item,ax-divider,ax-title,ng-container"], true, never>;
|
|
333
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMenuComponent, "ax-menu", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "openOn": { "alias": "openOn"; "required": false; "isSignal": true; }; "closeOn": { "alias": "closeOn"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "hasArrow": { "alias": "hasArrow"; "required": false; "isSignal": true; }; }, { "onItemClick": "onItemClick"; }, never, ["ax-header", "ax-menu-item,ax-divider,ax-title,ng-container"], true, never>;
|
|
298
334
|
}
|
|
299
335
|
|
|
300
336
|
declare class AXMenuModule {
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { SafeHtml } from '@angular/platform-browser';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
|
|
5
|
+
type MessageStatus = 'pending' | 'send' | 'delivered' | 'failed';
|
|
6
|
+
|
|
7
|
+
declare class AXMessageStatusComponent {
|
|
8
|
+
#private;
|
|
9
|
+
status: i0.InputSignal<MessageStatus>;
|
|
10
|
+
private sanetizer;
|
|
11
|
+
protected htmlContent: i0.WritableSignal<SafeHtml>;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXMessageStatusComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXMessageStatusComponent, "ax-message-status", never, { "status": { "alias": "status"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
declare class AXMessageStatusModule {
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXMessageStatusModule, never>;
|
|
18
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXMessageStatusModule, never, [typeof i1.CommonModule], never>;
|
|
19
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AXMessageStatusModule>;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { AXMessageStatusComponent, AXMessageStatusModule };
|
|
23
|
+
export type { MessageStatus };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { OnInit } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
|
|
5
|
+
declare class AXMessageTimeComponent implements OnInit {
|
|
6
|
+
constructor();
|
|
7
|
+
time: i0.InputSignal<string>;
|
|
8
|
+
ngOnInit(): void;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXMessageTimeComponent, never>;
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXMessageTimeComponent, "ax-message-time", never, { "time": { "alias": "time"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
declare class AXMessageTimeModule {
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXMessageTimeModule, never>;
|
|
15
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXMessageTimeModule, never, [typeof i1.CommonModule], never>;
|
|
16
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AXMessageTimeModule>;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { AXMessageTimeComponent, AXMessageTimeModule };
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { TemplateRef } from '@angular/core';
|
|
3
|
+
import { AXMenuItem, AXContextMenuOpeningEvent, AXContextMenuItemsClickEvent } from '@acorex/components/menu';
|
|
4
|
+
import { AXEmoji } from '@acorex/core/constants';
|
|
5
|
+
import { MessageStatus } from '@acorex/components/message-status';
|
|
6
|
+
|
|
7
|
+
type AXMessageLayout = 'ping-pong' | 'stack';
|
|
8
|
+
type AXBubbleTail = 'none' | 'start' | 'end';
|
|
9
|
+
/** @deprecated Use AXMessageLayout. Kept for backward compatibility in data models. */
|
|
10
|
+
type AXMessageAlign = 'start' | 'end';
|
|
11
|
+
interface AXMessageTemplateContext<T> {
|
|
12
|
+
$implicit: T;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
declare class AXMessageComponent<T = unknown> {
|
|
16
|
+
templateData: _angular_core.InputSignal<T>;
|
|
17
|
+
itemTemplate: _angular_core.InputSignal<TemplateRef<AXMessageTemplateContext<T>>>;
|
|
18
|
+
layout: _angular_core.InputSignal<AXMessageLayout>;
|
|
19
|
+
/** Own message: aligned end in ping-pong and styled via inner ax-bubble. */
|
|
20
|
+
isown: _angular_core.InputSignal<boolean>;
|
|
21
|
+
text: _angular_core.InputSignal<string>;
|
|
22
|
+
avatarSrc: _angular_core.InputSignal<string>;
|
|
23
|
+
avatarSize: _angular_core.InputSignal<number>;
|
|
24
|
+
showAvatar: _angular_core.InputSignal<boolean>;
|
|
25
|
+
status: _angular_core.InputSignal<MessageStatus>;
|
|
26
|
+
time: _angular_core.InputSignal<string>;
|
|
27
|
+
/** Quick reactions shown in the context menu header. */
|
|
28
|
+
quickReactions: _angular_core.InputSignal<readonly AXEmoji[]>;
|
|
29
|
+
/** Context menu action items. Parent can also append via `contextMenuOpening`. */
|
|
30
|
+
contextMenuItems: _angular_core.InputSignal<readonly AXMenuItem[]>;
|
|
31
|
+
/** Whether right-click context menu is enabled on the bubble. */
|
|
32
|
+
contextMenuEnabled: _angular_core.InputSignal<boolean>;
|
|
33
|
+
/** Emoji size in pixels inside the context menu reaction bar. */
|
|
34
|
+
reactionSize: _angular_core.InputSignal<number>;
|
|
35
|
+
/** Emits when a quick reaction or picker emoji is selected from the context menu. */
|
|
36
|
+
reactionSelected: _angular_core.OutputEmitterRef<AXEmoji>;
|
|
37
|
+
/** Emits while the context menu opens so the parent can customize `event.items`. */
|
|
38
|
+
contextMenuOpening: _angular_core.OutputEmitterRef<AXContextMenuOpeningEvent>;
|
|
39
|
+
/** Emits when a context menu action item is clicked. */
|
|
40
|
+
menuItemClick: _angular_core.OutputEmitterRef<AXContextMenuItemsClickEvent>;
|
|
41
|
+
private readonly contextMenu;
|
|
42
|
+
protected readonly hasTemplate: _angular_core.Signal<boolean>;
|
|
43
|
+
protected readonly showReactionBar: _angular_core.Signal<boolean>;
|
|
44
|
+
protected readonly hostClass: _angular_core.Signal<string>;
|
|
45
|
+
protected onContextMenuOpening(event: AXContextMenuOpeningEvent): void;
|
|
46
|
+
protected onReactionSelected(emoji: AXEmoji): void;
|
|
47
|
+
protected onMenuItemClick(event: AXContextMenuItemsClickEvent): void;
|
|
48
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMessageComponent<any>, never>;
|
|
49
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMessageComponent<any>, "ax-message", never, { "templateData": { "alias": "templateData"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "isown": { "alias": "isown"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "avatarSrc": { "alias": "avatarSrc"; "required": false; "isSignal": true; }; "avatarSize": { "alias": "avatarSize"; "required": false; "isSignal": true; }; "showAvatar": { "alias": "showAvatar"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "time": { "alias": "time"; "required": false; "isSignal": true; }; "quickReactions": { "alias": "quickReactions"; "required": false; "isSignal": true; }; "contextMenuItems": { "alias": "contextMenuItems"; "required": false; "isSignal": true; }; "contextMenuEnabled": { "alias": "contextMenuEnabled"; "required": false; "isSignal": true; }; "reactionSize": { "alias": "reactionSize"; "required": false; "isSignal": true; }; }, { "reactionSelected": "reactionSelected"; "contextMenuOpening": "contextMenuOpening"; "menuItemClick": "menuItemClick"; }, never, ["*"], true, never>;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
declare class AXMessageModule {
|
|
53
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMessageModule, never>;
|
|
54
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXMessageModule, never, [typeof AXMessageComponent], [typeof AXMessageComponent]>;
|
|
55
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXMessageModule>;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export { AXMessageComponent, AXMessageModule };
|
|
59
|
+
export type { AXBubbleTail, AXMessageAlign, AXMessageLayout, AXMessageTemplateContext };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AXStyleColorType, AXStyleLookType, AXLocation, MXBaseComponent } from '@acorex/cdk/common';
|
|
2
2
|
import { AXOverlayRef } from '@acorex/cdk/overlay';
|
|
3
3
|
import * as _angular_core from '@angular/core';
|
|
4
|
-
import { TemplateRef, Type, OnInit, InjectionToken } from '@angular/core';
|
|
4
|
+
import { TemplateRef, Type, ElementRef, OnInit, InjectionToken } from '@angular/core';
|
|
5
5
|
|
|
6
6
|
type AXNotificationContentType = string | TemplateRef<unknown> | Type<unknown>;
|
|
7
7
|
interface AXNotificationButtonItem {
|
|
@@ -26,6 +26,14 @@ interface AXNotificationOptions {
|
|
|
26
26
|
timeOut?: number;
|
|
27
27
|
timeOutProgress?: boolean;
|
|
28
28
|
pauseOnHover?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Element used to resolve inherited visual context for overlays rendered
|
|
31
|
+
* outside the originating DOM subtree.
|
|
32
|
+
*
|
|
33
|
+
* This affects Appearance, Light/Dark theme, Contrast, Size, and supported
|
|
34
|
+
* Density context. It does not affect overlay positioning.
|
|
35
|
+
*/
|
|
36
|
+
contextElement?: HTMLElement | ElementRef<HTMLElement>;
|
|
29
37
|
}
|
|
30
38
|
interface AXNotificationData {
|
|
31
39
|
buttons?: AXNotificationButtonItem[];
|
|
@@ -50,6 +58,7 @@ interface AXNotificationInternalRef {
|
|
|
50
58
|
id: string;
|
|
51
59
|
overlayRef: AXOverlayRef<unknown>;
|
|
52
60
|
config: AXNotificationData;
|
|
61
|
+
contextElement?: HTMLElement | ElementRef<HTMLElement>;
|
|
53
62
|
close: () => void;
|
|
54
63
|
}
|
|
55
64
|
|
|
@@ -124,6 +133,7 @@ declare class AXNotificationService {
|
|
|
124
133
|
private notificationCounterRef;
|
|
125
134
|
private moreNotificationsColor;
|
|
126
135
|
private moreNotificationsLocation;
|
|
136
|
+
private moreNotificationsContextElement;
|
|
127
137
|
private reserveCounter;
|
|
128
138
|
show(config: AXNotificationOptions): AXNotificationRef;
|
|
129
139
|
private displayNotification;
|
|
@@ -27,6 +27,7 @@ declare class AXNumberBoxComponent extends AXNumberBoxComponent_base {
|
|
|
27
27
|
changeOnScroll: _angular_core.InputSignal<boolean>;
|
|
28
28
|
step: _angular_core.InputSignal<number>;
|
|
29
29
|
protected mode: _angular_core.WritableSignal<"digits" | "thousandsSeparator" | "decimal">;
|
|
30
|
+
protected decimalPlaces: _angular_core.Signal<number>;
|
|
30
31
|
private input;
|
|
31
32
|
protected stringValue: _angular_core.WritableSignal<string>;
|
|
32
33
|
private translationService;
|
|
@@ -37,11 +38,12 @@ declare class AXNumberBoxComponent extends AXNumberBoxComponent_base {
|
|
|
37
38
|
result: boolean;
|
|
38
39
|
message?: undefined;
|
|
39
40
|
}>;
|
|
40
|
-
protected internalValueChanged(value: number | undefined): void;
|
|
41
|
+
protected internalValueChanged(value: number | undefined | null): void;
|
|
41
42
|
private plusValue;
|
|
42
43
|
private minusValue;
|
|
43
44
|
private getNumericValue;
|
|
44
45
|
private getSteppedValue;
|
|
46
|
+
private formatDisplayValue;
|
|
45
47
|
private clampToRange;
|
|
46
48
|
private getFractionDigits;
|
|
47
49
|
protected handleOnKeydownEvent(e: KeyboardEvent): void;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { OnDestroy, ElementRef, ComponentRef, TemplateRef, EventEmitter } from '@angular/core';
|
|
3
3
|
import { MXBaseComponent, AXPlacementType, AXEvent } from '@acorex/cdk/common';
|
|
4
|
+
import { AXOverlayVisualContextScope } from '@acorex/cdk/overlay';
|
|
4
5
|
import { AXComponentType } from '@acorex/core/components';
|
|
5
6
|
import * as i1 from '@angular/common';
|
|
6
7
|
|
|
@@ -39,6 +40,8 @@ declare class AXPopoverComponent extends MXBaseComponent implements OnDestroy {
|
|
|
39
40
|
private _disabled;
|
|
40
41
|
readonly width: i0.InputSignal<string>;
|
|
41
42
|
readonly disablePanelClass: i0.InputSignal<boolean>;
|
|
43
|
+
/** Propagate theme/size only — floating dropdown panels opt out of appearance/contrast. */
|
|
44
|
+
readonly visualContextScope: i0.InputSignal<AXOverlayVisualContextScope>;
|
|
42
45
|
private translateService;
|
|
43
46
|
/**
|
|
44
47
|
* Gets or sets whether the popover is disabled.
|
|
@@ -183,6 +186,14 @@ declare class AXPopoverComponent extends MXBaseComponent implements OnDestroy {
|
|
|
183
186
|
private setupScrollListener;
|
|
184
187
|
/** @ignore */
|
|
185
188
|
private removeScrollListener;
|
|
189
|
+
/**
|
|
190
|
+
* True when document-level scroll is a side-effect of focusing an editable control
|
|
191
|
+
* inside the overlay (soft keyboard / visual viewport adjustment), mainly on iOS Safari.
|
|
192
|
+
* @ignore
|
|
193
|
+
*/
|
|
194
|
+
private isKeyboardInducedDocumentScroll;
|
|
195
|
+
/** @ignore */
|
|
196
|
+
private isDocumentScrollTarget;
|
|
186
197
|
/**
|
|
187
198
|
* Checks whether the given element lives inside a child overlay
|
|
188
199
|
* (an overlay stacked on top of this popover, e.g. a selectbox dropdown).
|
|
@@ -240,7 +251,7 @@ declare class AXPopoverComponent extends MXBaseComponent implements OnDestroy {
|
|
|
240
251
|
/** @ignore */
|
|
241
252
|
ngOnDestroy(): void;
|
|
242
253
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPopoverComponent, never>;
|
|
243
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXPopoverComponent, "ax-popover", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "disablePanelClass": { "alias": "disablePanelClass"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; }; "offsetX": { "alias": "offsetX"; "required": false; }; "offsetY": { "alias": "offsetY"; "required": false; }; "target": { "alias": "target"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "content": { "alias": "content"; "required": false; }; "openOn": { "alias": "openOn"; "required": false; }; "closeOn": { "alias": "closeOn"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "openAfter": { "alias": "openAfter"; "required": false; }; "closeAfter": { "alias": "closeAfter"; "required": false; }; "closeOnScroll": { "alias": "closeOnScroll"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "adaptivityEnabled": { "alias": "adaptivityEnabled"; "required": false; }; }, { "onOpened": "onOpened"; "onClosed": "onClosed"; }, never, ["*"], true, never>;
|
|
254
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXPopoverComponent, "ax-popover", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "disablePanelClass": { "alias": "disablePanelClass"; "required": false; "isSignal": true; }; "visualContextScope": { "alias": "visualContextScope"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; }; "offsetX": { "alias": "offsetX"; "required": false; }; "offsetY": { "alias": "offsetY"; "required": false; }; "target": { "alias": "target"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "content": { "alias": "content"; "required": false; }; "openOn": { "alias": "openOn"; "required": false; }; "closeOn": { "alias": "closeOn"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "openAfter": { "alias": "openAfter"; "required": false; }; "closeAfter": { "alias": "closeAfter"; "required": false; }; "closeOnScroll": { "alias": "closeOnScroll"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "adaptivityEnabled": { "alias": "adaptivityEnabled"; "required": false; }; }, { "onOpened": "onOpened"; "onClosed": "onClosed"; }, never, ["*"], true, never>;
|
|
244
255
|
}
|
|
245
256
|
|
|
246
257
|
declare class AXPopoverModule {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { TemplateRef, ViewContainerRef, StaticProvider, OnInit, OnDestroy } from '@angular/core';
|
|
2
|
+
import { TemplateRef, ViewContainerRef, StaticProvider, ElementRef, OnInit, OnDestroy } from '@angular/core';
|
|
3
3
|
import * as i2 from '@acorex/cdk/common';
|
|
4
4
|
import { NXComponent, MXBaseComponent, AXComponentClosedPromise } from '@acorex/cdk/common';
|
|
5
5
|
import { AXComponentType, AXComponentInputs } from '@acorex/core/components';
|
|
@@ -55,6 +55,14 @@ interface AXPopupConfig {
|
|
|
55
55
|
* extra content inputs that depend on the ref.
|
|
56
56
|
*/
|
|
57
57
|
_bindContentInputs?: (ref: AXPopupRef) => Record<string, unknown>;
|
|
58
|
+
/**
|
|
59
|
+
* Element used to resolve inherited visual context for overlays rendered
|
|
60
|
+
* outside the originating DOM subtree.
|
|
61
|
+
*
|
|
62
|
+
* This affects Appearance, Light/Dark theme, Contrast, Size, and supported
|
|
63
|
+
* Density context. It does not affect overlay positioning.
|
|
64
|
+
*/
|
|
65
|
+
contextElement?: HTMLElement | ElementRef<HTMLElement>;
|
|
58
66
|
}
|
|
59
67
|
interface AXPopupData {
|
|
60
68
|
title: string;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { AXEmoji } from '@acorex/core/constants';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* A single aggregated reaction shown by {@link AXReactionComponent}.
|
|
6
|
+
*/
|
|
7
|
+
interface AXReactionItem {
|
|
8
|
+
/** Emoji metadata rendered with {@link AXEmojiComponent}. */
|
|
9
|
+
emoji: AXEmoji;
|
|
10
|
+
/** Number of users who reacted with this emoji. */
|
|
11
|
+
count: number;
|
|
12
|
+
/** Whether the current user has selected this reaction. */
|
|
13
|
+
selected?: boolean;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Telegram-style reaction chips for chat messages.
|
|
18
|
+
* Renders emojis with {@link AXEmojiComponent} and opens {@link AXEmojiPickerComponent}
|
|
19
|
+
* inside {@link AXPopoverComponent} when editable.
|
|
20
|
+
*
|
|
21
|
+
* @category Components
|
|
22
|
+
*/
|
|
23
|
+
declare class AXReactionComponent {
|
|
24
|
+
/**
|
|
25
|
+
* Aggregated reactions to display.
|
|
26
|
+
*
|
|
27
|
+
* @defaultValue []
|
|
28
|
+
*/
|
|
29
|
+
readonly items: _angular_core.InputSignal<readonly AXReactionItem[]>;
|
|
30
|
+
/**
|
|
31
|
+
* Rendered emoji size in pixels.
|
|
32
|
+
*
|
|
33
|
+
* @defaultValue 18
|
|
34
|
+
*/
|
|
35
|
+
readonly size: _angular_core.InputSignal<number>;
|
|
36
|
+
/**
|
|
37
|
+
* When true, reactions are interactive and an add button opens the emoji picker popover.
|
|
38
|
+
*
|
|
39
|
+
* @defaultValue false
|
|
40
|
+
*/
|
|
41
|
+
readonly editable: _angular_core.InputSignal<boolean>;
|
|
42
|
+
/**
|
|
43
|
+
* When true, the emoji picker popover is opened.
|
|
44
|
+
*
|
|
45
|
+
* @defaultValue false
|
|
46
|
+
*/
|
|
47
|
+
readonly showPicker: _angular_core.InputSignal<boolean>;
|
|
48
|
+
/**
|
|
49
|
+
* Emits when the user selects a new reaction or an unselected existing one.
|
|
50
|
+
*/
|
|
51
|
+
readonly add: _angular_core.OutputEmitterRef<AXEmoji>;
|
|
52
|
+
/**
|
|
53
|
+
* Emits when the user removes their own reaction.
|
|
54
|
+
*/
|
|
55
|
+
readonly remove: _angular_core.OutputEmitterRef<AXEmoji>;
|
|
56
|
+
private readonly pickerPopover;
|
|
57
|
+
/** Whether the emoji picker popover is currently open. */
|
|
58
|
+
protected readonly pickerOpen: _angular_core.WritableSignal<boolean>;
|
|
59
|
+
/** Whether the add button should appear pressed while the picker is open. */
|
|
60
|
+
protected readonly isPickerVisible: _angular_core.Signal<boolean>;
|
|
61
|
+
constructor();
|
|
62
|
+
/** Toggles a reaction without mutating counts; parent owns state. */
|
|
63
|
+
protected onItemClick(item: AXReactionItem): void;
|
|
64
|
+
/** Opens or closes the emoji picker popover. */
|
|
65
|
+
protected togglePicker(event?: Event): void;
|
|
66
|
+
/** Forwards a picker selection as `add` and closes the popover. */
|
|
67
|
+
protected onPickerSelected(emoji: AXEmoji): void;
|
|
68
|
+
/** Syncs the add-button pressed state when the popover opens. */
|
|
69
|
+
protected onPickerOpened(): void;
|
|
70
|
+
/** Syncs the add-button pressed state when the popover closes. */
|
|
71
|
+
protected onPickerClosed(): void;
|
|
72
|
+
/** Accessible name for an existing reaction chip. */
|
|
73
|
+
protected itemAriaLabel(item: AXReactionItem): string;
|
|
74
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXReactionComponent, never>;
|
|
75
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXReactionComponent, "ax-reaction", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "showPicker": { "alias": "showPicker"; "required": false; "isSignal": true; }; }, { "add": "add"; "remove": "remove"; }, never, never, true, never>;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
declare class AXReactionModule {
|
|
79
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXReactionModule, never>;
|
|
80
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXReactionModule, never, [typeof AXReactionComponent], [typeof AXReactionComponent]>;
|
|
81
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXReactionModule>;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export { AXReactionComponent, AXReactionModule };
|
|
85
|
+
export type { AXReactionItem };
|
|
@@ -115,7 +115,6 @@ declare class AXSchedulerComponent extends NXComponent implements OnInit {
|
|
|
115
115
|
private translationService;
|
|
116
116
|
private eventService;
|
|
117
117
|
private translationRevision;
|
|
118
|
-
private viewModeSelectbox;
|
|
119
118
|
private calendarPopover;
|
|
120
119
|
private _calendarDayCellTemplate;
|
|
121
120
|
private _calendarMonthCellTemplate;
|
|
@@ -133,8 +132,8 @@ declare class AXSchedulerComponent extends NXComponent implements OnInit {
|
|
|
133
132
|
appointments: _angular_core.Signal<AXSchedulerAppointment[]>;
|
|
134
133
|
protected readonly rtl: _angular_core.Signal<boolean>;
|
|
135
134
|
protected isFullScreen: _angular_core.WritableSignal<boolean>;
|
|
136
|
-
protected viewsDataSource: _angular_core.
|
|
137
|
-
id:
|
|
135
|
+
protected viewsDataSource: _angular_core.Signal<{
|
|
136
|
+
id: AXSchedulerView;
|
|
138
137
|
text: string;
|
|
139
138
|
}[]>;
|
|
140
139
|
private prevDate;
|
|
@@ -186,7 +185,6 @@ declare class AXSchedulerComponent extends NXComponent implements OnInit {
|
|
|
186
185
|
*/
|
|
187
186
|
private getWeekReanchorDate;
|
|
188
187
|
private syncCurrentDateAfterLocaleChange;
|
|
189
|
-
private fillDataSource;
|
|
190
188
|
private getGridDateRange;
|
|
191
189
|
currentDateText: _angular_core.Signal<string>;
|
|
192
190
|
calendarDepth: _angular_core.Signal<"day" | "month" | "year">;
|
|
@@ -12,7 +12,7 @@ import { Observable } from 'rxjs';
|
|
|
12
12
|
import * as i1 from '@angular/common';
|
|
13
13
|
import * as i3 from '@angular/forms';
|
|
14
14
|
import * as i4 from '@acorex/components/check-box';
|
|
15
|
-
import * as i5 from '@acorex/components/
|
|
15
|
+
import * as i5 from '@acorex/components/tag';
|
|
16
16
|
import * as i6 from '@acorex/components/decorators';
|
|
17
17
|
import * as i7 from '@acorex/core/translation';
|
|
18
18
|
import * as i8 from '@acorex/components/popover';
|
|
@@ -22,8 +22,10 @@ import * as i11 from '@acorex/components/text-box';
|
|
|
22
22
|
|
|
23
23
|
declare const AXSelectBoxComponent_base: polytype.Polytype.ClusteredConstructor<[typeof MXDropdownBoxBaseComponent, typeof MXSelectionValueComponent, typeof MXLookComponent]>;
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
25
|
+
* @deprecated Use `combo-box` when your data is a simple array. Use `lookup` when you need advanced features and `AXDataSource` support.
|
|
26
|
+
* This component is deprecated and no longer supported.
|
|
27
|
+
*
|
|
28
|
+
* @category Components
|
|
27
29
|
*/
|
|
28
30
|
declare class AXSelectBoxComponent extends AXSelectBoxComponent_base implements OnDestroy {
|
|
29
31
|
#private;
|
|
@@ -56,6 +58,13 @@ declare class AXSelectBoxComponent extends AXSelectBoxComponent_base implements
|
|
|
56
58
|
protected _dropdownWidth: _angular_core.WritableSignal<string>;
|
|
57
59
|
/** @ignore */
|
|
58
60
|
protected _dropdownHeight: _angular_core.WritableSignal<string>;
|
|
61
|
+
/**
|
|
62
|
+
* Pixel height for the popover list and CDK viewport. Uses the sized height
|
|
63
|
+
* when known, otherwise the standard `maxVisibleItems × itemHeight` viewport.
|
|
64
|
+
* Always a pixel value so virtual scroll has a definite size on first open.
|
|
65
|
+
* @ignore
|
|
66
|
+
*/
|
|
67
|
+
protected _panelMinHeight: _angular_core.Signal<string>;
|
|
59
68
|
/** @ignore */
|
|
60
69
|
protected _listDataSource: AXDataSource<any>;
|
|
61
70
|
/** @ignore */
|
|
@@ -159,6 +168,10 @@ declare class AXSelectBoxComponent extends AXSelectBoxComponent_base implements
|
|
|
159
168
|
/** @ignore */
|
|
160
169
|
protected _handleItemSelected(e: AXItemSelectedEvent): void;
|
|
161
170
|
private resetSearchAfterSelection;
|
|
171
|
+
private _getListItemPx;
|
|
172
|
+
private _getMaxVisibleItems;
|
|
173
|
+
/** Standard popover list height: `maxVisibleItems` rows (default 5). */
|
|
174
|
+
private _getStandardListHeightPx;
|
|
162
175
|
/** @ignore */
|
|
163
176
|
private setDropdownSize;
|
|
164
177
|
/**
|
|
@@ -189,9 +202,13 @@ declare class AXSelectBoxComponent extends AXSelectBoxComponent_base implements
|
|
|
189
202
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSelectBoxComponent, "ax-select-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "minValue": { "alias": "minValue"; "required": false; }; "maxValue": { "alias": "maxValue"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "type": { "alias": "type"; "required": false; }; "look": { "alias": "look"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "disabledField": { "alias": "disabledField"; "required": false; }; "textTemplate": { "alias": "textTemplate"; "required": false; }; "selectedItems": { "alias": "selectedItems"; "required": false; }; "isItemTruncated": { "alias": "isItemTruncated"; "required": false; "isSignal": true; }; "showItemTooltip": { "alias": "showItemTooltip"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; }; "minRecordsForSearch": { "alias": "minRecordsForSearch"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "selectedTemplate": { "alias": "selectedTemplate"; "required": false; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; }; "dropdownWidth": { "alias": "dropdownWidth"; "required": false; "isSignal": true; }; "searchBoxAutoFocus": { "alias": "searchBoxAutoFocus"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onOpened": "onOpened"; "onClosed": "onClosed"; "onItemSelected": "onItemSelected"; "onItemClick": "onItemClick"; }, ["searchBox"], ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-search-box", "ax-footer", "ax-validation-rule"], true, never>;
|
|
190
203
|
}
|
|
191
204
|
|
|
205
|
+
/**
|
|
206
|
+
* @deprecated Use `combo-box` when your data is a simple array. Use `lookup` when you need advanced features and `AXDataSource` support.
|
|
207
|
+
* This module is deprecated and no longer supported.
|
|
208
|
+
*/
|
|
192
209
|
declare class AXSelectBoxModule {
|
|
193
210
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSelectBoxModule, never>;
|
|
194
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXSelectBoxModule, never, [typeof i1.CommonModule, typeof i2.AXCommonModule, typeof i3.FormsModule, typeof i4.AXCheckBoxModule, typeof i5.
|
|
211
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXSelectBoxModule, never, [typeof i1.CommonModule, typeof i2.AXCommonModule, typeof i3.FormsModule, typeof i4.AXCheckBoxModule, typeof i5.AXTagModule, typeof i6.AXDecoratorModule, typeof i7.AXTranslationModule, typeof i8.AXPopoverModule, typeof i9.AXLoadingModule, typeof i10.A11yModule, typeof i11.AXTextBoxModule, typeof i12.AXDropdownModule, typeof i13.AXListModule, typeof AXSelectBoxComponent], [typeof AXSelectBoxComponent]>;
|
|
195
212
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXSelectBoxModule>;
|
|
196
213
|
}
|
|
197
214
|
|
|
@@ -80,7 +80,7 @@ declare class AXSelectionListComponent extends MXSelectionValueComponent {
|
|
|
80
80
|
/** @ignore */
|
|
81
81
|
private get __hostClass();
|
|
82
82
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXSelectionListComponent, never>;
|
|
83
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXSelectionListComponent, "ax-selection-list", never, { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "
|
|
83
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXSelectionListComponent, "ax-selection-list", never, { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "value": { "alias": "value"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "disabledField": { "alias": "disabledField"; "required": false; }; "readonlyField": { "alias": "readonlyField"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "customTemplate": { "alias": "customTemplate"; "required": false; "isSignal": true; }; "showControl": { "alias": "showControl"; "required": false; }; "items": { "alias": "items"; "required": false; }; "look": { "alias": "look"; "required": false; }; }, { "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; }, never, ["ax-validation-rule"], true, never>;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
declare class AXSelectionListModule {
|