@acorex/components 22.4.18 → 22.4.21
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-calendar.mjs +1 -1
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-combo-box.mjs +44 -2
- package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +139 -31
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-data-list.mjs +1 -1
- package/fesm2022/acorex-components-data-list.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +97 -51
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +2 -2
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +8 -8
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-kanban.mjs +1 -1
- package/fesm2022/acorex-components-kanban.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +1 -1
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-lookup.mjs +40 -2
- package/fesm2022/acorex-components-lookup.mjs.map +1 -1
- package/fesm2022/acorex-components-media-viewer.mjs +1 -1
- package/fesm2022/acorex-components-media-viewer.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-scheduler.mjs +8 -8
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +1 -1
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-sidebar.mjs +2 -2
- package/fesm2022/acorex-components-sidebar.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +48 -4
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +1 -1
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/package.json +3 -3
- package/types/acorex-components-combo-box.d.ts +5 -0
- package/types/acorex-components-comment.d.ts +59 -17
- package/types/acorex-components-data-table.d.ts +5 -0
- package/types/acorex-components-lookup.d.ts +5 -0
- package/types/acorex-components-tooltip.d.ts +11 -1
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acorex/components",
|
|
3
|
-
"version": "22.4.
|
|
3
|
+
"version": "22.4.21",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@acorex/core": "22.4.
|
|
6
|
-
"@acorex/cdk": "22.4.
|
|
5
|
+
"@acorex/core": "22.4.21",
|
|
6
|
+
"@acorex/cdk": "22.4.21",
|
|
7
7
|
"@angular/aria": ">=22.1.0",
|
|
8
8
|
"polytype": ">=0.17.0",
|
|
9
9
|
"hammerjs": ">=2.0.8",
|
|
@@ -246,6 +246,11 @@ declare class AXComboBoxComponent extends NXValueComponent implements FormValueC
|
|
|
246
246
|
protected onSheetSearchKeydown(e: AXHtmlEvent<KeyboardEvent>): void;
|
|
247
247
|
/** Blocks typing when the trigger is not editable (keeps Tab / keyboard open working). */
|
|
248
248
|
protected onBeforeInput(event: Event): void;
|
|
249
|
+
/**
|
|
250
|
+
* On pointer down, select the committed label so the next keystroke replaces it
|
|
251
|
+
* instead of editing character-by-character (single-select searchable trigger).
|
|
252
|
+
*/
|
|
253
|
+
protected onTriggerPointerDown(event: PointerEvent): void;
|
|
249
254
|
/**
|
|
250
255
|
* Combobox `expanded` two-way binding. On actionsheet with in-sheet search, ignore collapse
|
|
251
256
|
* so focusing the search field (Aria combobox blur) does not close the popup. Dismiss is owned
|
|
@@ -140,8 +140,12 @@ declare class AXCommentItemComponent {
|
|
|
140
140
|
/** Data item used by `ax-comment-view`. When set, the default layout is rendered internally. */
|
|
141
141
|
readonly item: _angular_core.InputSignal<AXCommentItem>;
|
|
142
142
|
readonly replyCount: _angular_core.InputSignal<number>;
|
|
143
|
-
/**
|
|
144
|
-
readonly repliesExpanded: _angular_core.
|
|
143
|
+
/** Whether nested replies are visible. A later parent value replaces a local toggle. */
|
|
144
|
+
readonly repliesExpanded: _angular_core.InputSignal<boolean>;
|
|
145
|
+
readonly repliesExpandedChange: _angular_core.OutputEmitterRef<boolean>;
|
|
146
|
+
protected readonly expanded: _angular_core.WritableSignal<boolean>;
|
|
147
|
+
private seenExpanded;
|
|
148
|
+
private hasSeenExpanded;
|
|
145
149
|
/** Whether replies for this item are currently being loaded. */
|
|
146
150
|
readonly loading: _angular_core.InputSignal<boolean>;
|
|
147
151
|
/**
|
|
@@ -160,7 +164,13 @@ declare class AXCommentItemComponent {
|
|
|
160
164
|
protected readonly itemActions: _angular_core.Signal<AXMenuItem[]>;
|
|
161
165
|
protected readonly showOverflowMenu: _angular_core.Signal<boolean>;
|
|
162
166
|
protected readonly overflowItems: _angular_core.Signal<AXButtonItemListItem[]>;
|
|
167
|
+
protected readonly templateContexts: _angular_core.Signal<AXCommentItemTemplateContext[]>;
|
|
163
168
|
constructor();
|
|
169
|
+
/**
|
|
170
|
+
* Recreates the custom item template when the rendered snapshot changes.
|
|
171
|
+
* The outlet otherwise keeps the first context on screen.
|
|
172
|
+
*/
|
|
173
|
+
protected templateContextKey(ctx: AXCommentItemTemplateContext): string;
|
|
164
174
|
protected getColor(data: AXCommentItem): AXStyleColorType;
|
|
165
175
|
protected showEdited(data: AXCommentItem): boolean;
|
|
166
176
|
protected getInitials(data: AXCommentItem): string;
|
|
@@ -181,8 +191,9 @@ declare class AXCommentItemComponent {
|
|
|
181
191
|
* Collapses the nested replies section.
|
|
182
192
|
*/
|
|
183
193
|
hideReplies(): void;
|
|
194
|
+
private setExpanded;
|
|
184
195
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXCommentItemComponent, never>;
|
|
185
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXCommentItemComponent, "ax-comment-item", never, { "item": { "alias": "item"; "required": false; "isSignal": true; }; "replyCount": { "alias": "replyCount"; "required": false; "isSignal": true; }; "repliesExpanded": { "alias": "repliesExpanded"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "itemContext": { "alias": "itemContext"; "required": false; "isSignal": true; }; }, { "
|
|
196
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXCommentItemComponent, "ax-comment-item", never, { "item": { "alias": "item"; "required": false; "isSignal": true; }; "replyCount": { "alias": "replyCount"; "required": false; "isSignal": true; }; "repliesExpanded": { "alias": "repliesExpanded"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "itemContext": { "alias": "itemContext"; "required": false; "isSignal": true; }; }, { "repliesExpandedChange": "repliesExpandedChange"; "likeChange": "likeChange"; "replyClick": "replyClick"; "actionClick": "actionClick"; }, ["projectedAvatar"], ["ax-avatar", "ax-title", "ax-subtitle", "ax-badge", "ax-comment-edited", "ax-comment-date", "ax-comment-menu-options", "ax-content", "ax-comment-like", "ax-comment-reply-text", "ax-comment-item", "ax-comment-reply-more", "*"], true, never>;
|
|
186
197
|
}
|
|
187
198
|
|
|
188
199
|
/**
|
|
@@ -213,10 +224,18 @@ declare class AXCommentEditedComponent {
|
|
|
213
224
|
* @category Components
|
|
214
225
|
*/
|
|
215
226
|
declare class AXCommentLikeComponent {
|
|
216
|
-
like
|
|
227
|
+
/** Current like state from the parent. Later parent values replace a local toggle. */
|
|
228
|
+
readonly like: _angular_core.InputSignal<boolean>;
|
|
229
|
+
readonly likeChange: _angular_core.OutputEmitterRef<boolean>;
|
|
230
|
+
private readonly optimistic;
|
|
231
|
+
private seenLike;
|
|
232
|
+
private hasSeenLike;
|
|
233
|
+
/** Parent value, unless the user just toggled and the parent has not caught up. */
|
|
234
|
+
protected readonly pressed: _angular_core.Signal<boolean>;
|
|
235
|
+
constructor();
|
|
217
236
|
protected toggleLike(): void;
|
|
218
237
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXCommentLikeComponent, never>;
|
|
219
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXCommentLikeComponent, "ax-comment-like", never, { "like": { "alias": "like"; "required": true; "isSignal": true; }; }, { "
|
|
238
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXCommentLikeComponent, "ax-comment-like", never, { "like": { "alias": "like"; "required": true; "isSignal": true; }; }, { "likeChange": "likeChange"; }, never, ["*"], true, never>;
|
|
220
239
|
}
|
|
221
240
|
|
|
222
241
|
/**
|
|
@@ -276,6 +295,24 @@ declare class AXCommentReplyTextComponent {
|
|
|
276
295
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXCommentReplyTextComponent, "ax-comment-reply-text", never, {}, {}, never, never, true, never>;
|
|
277
296
|
}
|
|
278
297
|
|
|
298
|
+
/**
|
|
299
|
+
* Callbacks the recursive thread uses from `ax-comment-view`.
|
|
300
|
+
* Kept as a token so the thread component does not import the view class.
|
|
301
|
+
*/
|
|
302
|
+
interface AXCommentThreadHost {
|
|
303
|
+
trackItem(item: AXCommentItem): string;
|
|
304
|
+
getId(item: AXCommentItem): string;
|
|
305
|
+
getReplies(item: AXCommentItem): AXCommentItem[];
|
|
306
|
+
getReplyCount(item: AXCommentItem): number;
|
|
307
|
+
isExpanded(item: AXCommentItem): boolean;
|
|
308
|
+
isItemLoading(item: AXCommentItem): boolean;
|
|
309
|
+
getTemplateContext(item: AXCommentItem, level: number): AXCommentItemTemplateContext;
|
|
310
|
+
onRepliesExpandedChange(item: AXCommentItem, expanded: boolean): Promise<void>;
|
|
311
|
+
toggleLike(item: AXCommentItem, liked?: boolean): void;
|
|
312
|
+
replyTo(item: AXCommentItem, event?: Event): void;
|
|
313
|
+
emitAction(item: AXCommentItem, action: AXMenuItem): void;
|
|
314
|
+
}
|
|
315
|
+
|
|
279
316
|
/**
|
|
280
317
|
* Renders a comment thread from a datasource (array or lazy callback).
|
|
281
318
|
* Provide `itemTemplate` or `<ng-template axCommentItem>` to customize item UI;
|
|
@@ -283,7 +320,7 @@ declare class AXCommentReplyTextComponent {
|
|
|
283
320
|
*
|
|
284
321
|
* @category Components
|
|
285
322
|
*/
|
|
286
|
-
declare class AXCommentViewComponent {
|
|
323
|
+
declare class AXCommentViewComponent implements AXCommentThreadHost {
|
|
287
324
|
/** Comment data — a static array or a lazy-loading function. */
|
|
288
325
|
readonly datasource: _angular_core.ModelSignal<AXCommentDataSource>;
|
|
289
326
|
/**
|
|
@@ -301,7 +338,7 @@ declare class AXCommentViewComponent {
|
|
|
301
338
|
private readonly _isLoading;
|
|
302
339
|
readonly isLoading: _angular_core.Signal<boolean>;
|
|
303
340
|
private loadGeneration;
|
|
304
|
-
private
|
|
341
|
+
private readonly emptyReplies;
|
|
305
342
|
private readonly isLazyDataSource;
|
|
306
343
|
protected readonly hasDatasource: _angular_core.Signal<boolean>;
|
|
307
344
|
protected readonly resolvedTemplate: _angular_core.Signal<TemplateRef<AXCommentItemTemplateContext>>;
|
|
@@ -357,16 +394,21 @@ declare class AXCommentViewComponent {
|
|
|
357
394
|
* @returns Promise that resolves when expansion and any lazy load are complete.
|
|
358
395
|
*/
|
|
359
396
|
setExpanded(id: string, expanded: boolean): Promise<void>;
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
397
|
+
getId(item: AXCommentItem): string;
|
|
398
|
+
/**
|
|
399
|
+
* Identity includes the fields the row renders. A same-id edit, like, or reply
|
|
400
|
+
* must refresh the row instead of leaving the previous snapshot on screen.
|
|
401
|
+
*/
|
|
402
|
+
trackItem(item: AXCommentItem): string;
|
|
403
|
+
getReplies(item: AXCommentItem): AXCommentItem[];
|
|
404
|
+
getReplyCount(item: AXCommentItem): number;
|
|
405
|
+
isExpanded(item: AXCommentItem): boolean;
|
|
406
|
+
isItemLoading(item: AXCommentItem): boolean;
|
|
407
|
+
getTemplateContext(item: AXCommentItem, level: number): AXCommentItemTemplateContext;
|
|
408
|
+
onRepliesExpandedChange(item: AXCommentItem, expanded: boolean): Promise<void>;
|
|
409
|
+
toggleLike(item: AXCommentItem, liked?: boolean): void;
|
|
410
|
+
replyTo(item: AXCommentItem, event?: Event): void;
|
|
411
|
+
emitAction(item: AXCommentItem, action: AXMenuItem): void;
|
|
370
412
|
private applyDatasource;
|
|
371
413
|
private loadRootItems;
|
|
372
414
|
private hydrateExpanded;
|
|
@@ -769,6 +769,7 @@ declare class AXRowSelectColumnComponent extends AXDataTableColumnComponent {
|
|
|
769
769
|
* @defaultValue `false`
|
|
770
770
|
*/
|
|
771
771
|
advanceSelect: i0.InputSignal<boolean>;
|
|
772
|
+
private readonly syncAdvanceSelectColumnWidth;
|
|
772
773
|
/**
|
|
773
774
|
* @ignore
|
|
774
775
|
*/
|
|
@@ -1440,6 +1441,10 @@ declare class AXDataTableComponent extends AXBaseDataTable implements OnInit, Af
|
|
|
1440
1441
|
*/
|
|
1441
1442
|
private measureColumnContentWidth;
|
|
1442
1443
|
private isCommandColumn;
|
|
1444
|
+
/**
|
|
1445
|
+
* Select-column header chevron is absolutely positioned, so DOM auto-fit under-reports width.
|
|
1446
|
+
*/
|
|
1447
|
+
private measureSelectColumnWidth;
|
|
1443
1448
|
/**
|
|
1444
1449
|
* Command buttons are a fixed icon size inside the table. Cloning them outside
|
|
1445
1450
|
* `ax-data-table` drops that size and measures default button padding instead.
|
|
@@ -568,6 +568,11 @@ declare class AXLookupComponent<T = AXLookupItem> extends NXValueComponent imple
|
|
|
568
568
|
protected onSelectAllHeaderMouseDown(event: Event): void;
|
|
569
569
|
/** Blocks typing when the trigger is not editable (keeps Tab / keyboard open working). */
|
|
570
570
|
protected onBeforeInput(event: Event): void;
|
|
571
|
+
/**
|
|
572
|
+
* On pointer down, select the committed label so the next keystroke replaces it
|
|
573
|
+
* instead of editing character-by-character (single-select searchable trigger).
|
|
574
|
+
*/
|
|
575
|
+
protected onTriggerPointerDown(event: PointerEvent): void;
|
|
571
576
|
/**
|
|
572
577
|
* Returns focus to the search field when list navigation requests it.
|
|
573
578
|
*/
|
|
@@ -30,6 +30,12 @@ declare class AXTooltipDirective {
|
|
|
30
30
|
axTooltipDisabled: i0.InputSignal<boolean>;
|
|
31
31
|
content: i0.InputSignal<string | TemplateRef<unknown>>;
|
|
32
32
|
context: i0.InputSignal<unknown>;
|
|
33
|
+
/**
|
|
34
|
+
* When true, the tooltip opens on hover only if the host or a descendant is horizontally truncated.
|
|
35
|
+
*
|
|
36
|
+
* @defaultValue false
|
|
37
|
+
*/
|
|
38
|
+
axTooltipOverflowOnly: i0.InputSignal<boolean>;
|
|
33
39
|
private _placement;
|
|
34
40
|
get placement(): AXPlacementType;
|
|
35
41
|
set placement(v: AXPlacementType);
|
|
@@ -48,8 +54,12 @@ declare class AXTooltipDirective {
|
|
|
48
54
|
private popoverRef;
|
|
49
55
|
private ensurePopover;
|
|
50
56
|
close(): void;
|
|
57
|
+
/** @ignore */
|
|
58
|
+
protected onHostMouseEnter(): void;
|
|
59
|
+
private isOverflowing;
|
|
60
|
+
private elementOverflows;
|
|
51
61
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXTooltipDirective, never>;
|
|
52
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<AXTooltipDirective, "[axTooltip]", never, { "axTooltipDisabled": { "alias": "axTooltipDisabled"; "required": false; "isSignal": true; }; "content": { "alias": "axTooltip"; "required": false; "isSignal": true; }; "context": { "alias": "axTooltipContext"; "required": false; "isSignal": true; }; "placement": { "alias": "axTooltipPlacement"; "required": false; }; "offsetX": { "alias": "axTooltipOffsetX"; "required": false; }; "offsetY": { "alias": "axTooltipOffsetY"; "required": false; }; "openAfter": { "alias": "axTooltipOpenAfter"; "required": false; }; "closeAfter": { "alias": "axTooltipCloseAfter"; "required": false; }; }, {}, never, never, true, never>;
|
|
62
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AXTooltipDirective, "[axTooltip]", never, { "axTooltipDisabled": { "alias": "axTooltipDisabled"; "required": false; "isSignal": true; }; "content": { "alias": "axTooltip"; "required": false; "isSignal": true; }; "context": { "alias": "axTooltipContext"; "required": false; "isSignal": true; }; "axTooltipOverflowOnly": { "alias": "axTooltipOverflowOnly"; "required": false; "isSignal": true; }; "placement": { "alias": "axTooltipPlacement"; "required": false; }; "offsetX": { "alias": "axTooltipOffsetX"; "required": false; }; "offsetY": { "alias": "axTooltipOffsetY"; "required": false; }; "openAfter": { "alias": "axTooltipOpenAfter"; "required": false; }; "closeAfter": { "alias": "axTooltipCloseAfter"; "required": false; }; }, {}, never, never, true, never>;
|
|
53
63
|
}
|
|
54
64
|
|
|
55
65
|
declare class AXTooltipModule {
|