@acorex/components 21.0.3-next.39 → 21.0.3-next.40
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/{conversation2 → conversation}/README.md +23 -23
- package/fesm2022/acorex-components-button.mjs +4 -4
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-YhVa42TC.mjs +13711 -0
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-YhVa42TC.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-audio-attachment.component-CLvS3W8F.mjs +119 -0
- package/fesm2022/acorex-components-conversation-audio-attachment.component-CLvS3W8F.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-audio-composer.payload-BHQJNyXz.mjs +59 -0
- package/fesm2022/acorex-components-conversation-audio-composer.payload-BHQJNyXz.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-audio-picker.component-BD_fN2Ip.mjs +432 -0
- package/fesm2022/acorex-components-conversation-audio-picker.component-BD_fN2Ip.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-audio-renderer.component-CcxVVprx.mjs +177 -0
- package/fesm2022/acorex-components-conversation-audio-renderer.component-CcxVVprx.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-audio.payload-Bag4aTut.mjs +54 -0
- package/fesm2022/acorex-components-conversation-audio.payload-Bag4aTut.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-C28hl7iD.mjs +101 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-C28hl7iD.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-conversation-audio.file-type-CfGSVnMA.mjs +100 -0
- package/fesm2022/acorex-components-conversation-conversation-audio.file-type-CfGSVnMA.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-conversation-file.file-type-DB-2xhaC.mjs +121 -0
- package/fesm2022/acorex-components-conversation-conversation-file.file-type-DB-2xhaC.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-conversation-image.file-type-C02OzZZB.mjs +84 -0
- package/fesm2022/acorex-components-conversation-conversation-image.file-type-C02OzZZB.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-conversation-info-media-view.component-Mhk7JE6K.mjs +238 -0
- package/fesm2022/acorex-components-conversation-conversation-info-media-view.component-Mhk7JE6K.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-conversation-info-panel.component-CNaM5ajR.mjs +1080 -0
- package/fesm2022/acorex-components-conversation-conversation-info-panel.component-CNaM5ajR.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-conversation-video.file-type-Pescv4Vu.mjs +102 -0
- package/fesm2022/acorex-components-conversation-conversation-video.file-type-Pescv4Vu.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-conversation-voice.file-type-DDd47o4r.mjs +90 -0
- package/fesm2022/acorex-components-conversation-conversation-voice.file-type-DDd47o4r.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-emoji-categories-C7Gm95V0.mjs +1840 -0
- package/fesm2022/acorex-components-conversation-emoji-categories-C7Gm95V0.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-fallback-renderer.component-CYh_6O6j.mjs +44 -0
- package/fesm2022/acorex-components-conversation-fallback-renderer.component-CYh_6O6j.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-file-composer.payload-Dy7aG-EH.mjs +64 -0
- package/fesm2022/acorex-components-conversation-file-composer.payload-Dy7aG-EH.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-file-picker.component-DCVgl33l.mjs +468 -0
- package/fesm2022/acorex-components-conversation-file-picker.component-DCVgl33l.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-file-renderer.component-DgCi06Mg.mjs +125 -0
- package/fesm2022/acorex-components-conversation-file-renderer.component-DgCi06Mg.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-file.payload-DyFxTQYn.mjs +50 -0
- package/fesm2022/acorex-components-conversation-file.payload-DyFxTQYn.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-format-media-DUD4vA6F.mjs +21 -0
- package/fesm2022/acorex-components-conversation-format-media-DUD4vA6F.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-image-attachment.component-CLMGxXPl.mjs +77 -0
- package/fesm2022/acorex-components-conversation-image-attachment.component-CLMGxXPl.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-image-picker.component-CS343UDa.mjs +407 -0
- package/fesm2022/acorex-components-conversation-image-picker.component-CS343UDa.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-image-renderer.component-Cy0TA6cL.mjs +83 -0
- package/fesm2022/acorex-components-conversation-image-renderer.component-Cy0TA6cL.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-index-3V2b14I0.mjs +184 -0
- package/fesm2022/acorex-components-conversation-index-3V2b14I0.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-index-MCvfr9Zd.mjs +266 -0
- package/fesm2022/acorex-components-conversation-index-MCvfr9Zd.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-location-picker.component-DcNQzuoU.mjs +149 -0
- package/fesm2022/acorex-components-conversation-location-picker.component-DcNQzuoU.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-location-renderer.component-Cw2PB0LM.mjs +118 -0
- package/fesm2022/acorex-components-conversation-location-renderer.component-Cw2PB0LM.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-media-formatters-DV3wEEno.mjs +17 -0
- package/fesm2022/acorex-components-conversation-media-formatters-DV3wEEno.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-media-playback-info-bar-banner.component-DbWUl6M2.mjs +140 -0
- package/fesm2022/acorex-components-conversation-media-playback-info-bar-banner.component-DbWUl6M2.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-message-renderer-copy-host.component-oXTr_Lfq.mjs +33 -0
- package/fesm2022/acorex-components-conversation-message-renderer-copy-host.component-oXTr_Lfq.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-message-renderer-state.component-Dp-JdHWr.mjs +172 -0
- package/fesm2022/acorex-components-conversation-message-renderer-state.component-Dp-JdHWr.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-Du8Lj9Sp.mjs +224 -0
- package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-Du8Lj9Sp.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-pagination-demo-data-oIT_YJmN.mjs +81 -0
- package/fesm2022/acorex-components-conversation-pagination-demo-data-oIT_YJmN.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-picker-header.component-BneIFjXq.mjs +91 -0
- package/fesm2022/acorex-components-conversation-picker-header.component-BneIFjXq.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-picker-toolbar.component-BthRvEeE.mjs +537 -0
- package/fesm2022/acorex-components-conversation-picker-toolbar.component-BthRvEeE.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-picker-upload-C-PlKPaU.mjs +163 -0
- package/fesm2022/acorex-components-conversation-picker-upload-C-PlKPaU.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-playback-banner-sync-D8FFKde6.mjs +68 -0
- package/fesm2022/acorex-components-conversation-playback-banner-sync-D8FFKde6.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-renderer-shared.styles-Digah3Zn.mjs +95 -0
- package/fesm2022/acorex-components-conversation-renderer-shared.styles-Digah3Zn.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-search.component-B-nc6xiA.mjs +187 -0
- package/fesm2022/acorex-components-conversation-search.component-B-nc6xiA.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-send-message-media-BRklgfV7.mjs +170 -0
- package/fesm2022/acorex-components-conversation-send-message-media-BRklgfV7.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-shared-storage.seed-J9PA4l3c.mjs +750 -0
- package/fesm2022/acorex-components-conversation-shared-storage.seed-J9PA4l3c.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-sticker-renderer.component-BmBwy7Ig.mjs +103 -0
- package/fesm2022/acorex-components-conversation-sticker-renderer.component-BmBwy7Ig.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-system-renderer.component-uie3tm5N.mjs +55 -0
- package/fesm2022/acorex-components-conversation-system-renderer.component-uie3tm5N.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-text-renderer.component-DNAquHYK.mjs +109 -0
- package/fesm2022/acorex-components-conversation-text-renderer.component-DNAquHYK.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-video-attachment.component-CGaUhnSb.mjs +105 -0
- package/fesm2022/acorex-components-conversation-video-attachment.component-CGaUhnSb.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-video-composer.payload-DMqRkafr.mjs +62 -0
- package/fesm2022/acorex-components-conversation-video-composer.payload-DMqRkafr.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-video-picker.component-DPwSBnoH.mjs +446 -0
- package/fesm2022/acorex-components-conversation-video-picker.component-DPwSBnoH.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-video-renderer.component-DKa9mUe2.mjs +181 -0
- package/fesm2022/acorex-components-conversation-video-renderer.component-DKa9mUe2.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-video.payload-C8QaqxuX.mjs +54 -0
- package/fesm2022/acorex-components-conversation-video.payload-C8QaqxuX.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-voice-composer.payload-DLVow7ex.mjs +17 -0
- package/fesm2022/acorex-components-conversation-voice-composer.payload-DLVow7ex.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-voice-recorder.component-D_rdANZN.mjs +344 -0
- package/fesm2022/acorex-components-conversation-voice-recorder.component-D_rdANZN.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-voice-renderer.component-BY5FJcT8.mjs +270 -0
- package/fesm2022/acorex-components-conversation-voice-renderer.component-BY5FJcT8.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation.mjs +2 -0
- package/fesm2022/acorex-components-conversation.mjs.map +1 -0
- package/fesm2022/acorex-components-kbd.mjs +2 -2
- package/fesm2022/acorex-components-kbd.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler-picker.mjs +22 -14
- package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +4 -13
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +2 -2
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/package.json +6 -10
- package/types/{acorex-components-conversation2.d.ts → acorex-components-conversation.d.ts} +1127 -1928
- package/types/acorex-components-scheduler-picker.d.ts +2 -0
- package/types/acorex-components-side-menu.d.ts +1 -3
- package/fesm2022/acorex-components-conversation2.mjs +0 -22347
- package/fesm2022/acorex-components-conversation2.mjs.map +0 -1
- package/fesm2022/acorex-components-sidebar.mjs +0 -275
- package/fesm2022/acorex-components-sidebar.mjs.map +0 -1
- package/sidebar/README.md +0 -5
- package/types/acorex-components-sidebar.d.ts +0 -132
|
@@ -1,275 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive, model, input, computed, ViewEncapsulation, ChangeDetectionStrategy, Component, output, contentChild, NgModule } from '@angular/core';
|
|
3
|
-
import { NXComponent, AXComponent } from '@acorex/cdk/common';
|
|
4
|
-
import { AXAvatarComponent } from '@acorex/components/avatar';
|
|
5
|
-
import { AXDecoratorGenericComponent } from '@acorex/components/decorators';
|
|
6
|
-
import { AXImageComponent } from '@acorex/components/image';
|
|
7
|
-
import * as i1 from '@acorex/components/tooltip';
|
|
8
|
-
import { AXTooltipModule } from '@acorex/components/tooltip';
|
|
9
|
-
|
|
10
|
-
/** Marks projected header content inside `ax-sidebar`. */
|
|
11
|
-
class AXSidebarHeaderDirective {
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSidebarHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
13
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: AXSidebarHeaderDirective, isStandalone: true, selector: "[axSidebarHeader]", ngImport: i0 }); }
|
|
14
|
-
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSidebarHeaderDirective, decorators: [{
|
|
16
|
-
type: Directive,
|
|
17
|
-
args: [{ selector: '[axSidebarHeader]' }]
|
|
18
|
-
}] });
|
|
19
|
-
/** Marks projected navigation content (typically `ax-side-menu`) inside `ax-sidebar`. */
|
|
20
|
-
class AXSidebarNavigationDirective {
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSidebarNavigationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
22
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: AXSidebarNavigationDirective, isStandalone: true, selector: "[axSidebarNavigation]", ngImport: i0 }); }
|
|
23
|
-
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSidebarNavigationDirective, decorators: [{
|
|
25
|
-
type: Directive,
|
|
26
|
-
args: [{ selector: '[axSidebarNavigation]' }]
|
|
27
|
-
}] });
|
|
28
|
-
/** Marks projected footer utility content inside `ax-sidebar`. */
|
|
29
|
-
class AXSidebarFooterDirective {
|
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSidebarFooterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
31
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: AXSidebarFooterDirective, isStandalone: true, selector: "[axSidebarFooter]", ngImport: i0 }); }
|
|
32
|
-
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSidebarFooterDirective, decorators: [{
|
|
34
|
-
type: Directive,
|
|
35
|
-
args: [{ selector: '[axSidebarFooter]' }]
|
|
36
|
-
}] });
|
|
37
|
-
/** Marks the user utility slot inside `ax-sidebar`. */
|
|
38
|
-
class AXSidebarUserSlotDirective {
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSidebarUserSlotDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
40
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: AXSidebarUserSlotDirective, isStandalone: true, selector: "[axSidebarUser]", ngImport: i0 }); }
|
|
41
|
-
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSidebarUserSlotDirective, decorators: [{
|
|
43
|
-
type: Directive,
|
|
44
|
-
args: [{ selector: '[axSidebarUser]' }]
|
|
45
|
-
}] });
|
|
46
|
-
/** Marks the collapse utility slot inside `ax-sidebar`. */
|
|
47
|
-
class AXSidebarCollapseSlotDirective {
|
|
48
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSidebarCollapseSlotDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
49
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: AXSidebarCollapseSlotDirective, isStandalone: true, selector: "[axSidebarCollapse]", ngImport: i0 }); }
|
|
50
|
-
}
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSidebarCollapseSlotDirective, decorators: [{
|
|
52
|
-
type: Directive,
|
|
53
|
-
args: [{ selector: '[axSidebarCollapse]' }]
|
|
54
|
-
}] });
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Layout shell for an enterprise sidebar with full and compact widths,
|
|
58
|
-
* sticky header/utility regions, and a scrollable navigation slot.
|
|
59
|
-
*
|
|
60
|
-
* @category Components
|
|
61
|
-
*/
|
|
62
|
-
class AXSidebarComponent extends NXComponent {
|
|
63
|
-
constructor() {
|
|
64
|
-
super(...arguments);
|
|
65
|
-
/**
|
|
66
|
-
* Sidebar display mode shared with collapse and side-menu consumers.
|
|
67
|
-
*
|
|
68
|
-
* @defaultValue 'full'
|
|
69
|
-
*/
|
|
70
|
-
this.mode = model('full', ...(ngDevMode ? [{ debugName: "mode" }] : /* istanbul ignore next */ []));
|
|
71
|
-
/**
|
|
72
|
-
* Accessible name for the sidebar landmark.
|
|
73
|
-
*
|
|
74
|
-
* @defaultValue 'Sidebar'
|
|
75
|
-
*/
|
|
76
|
-
this.ariaLabel = input('Sidebar', ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
|
|
77
|
-
/**
|
|
78
|
-
* Optional id of the navigation region for `aria-controls` wiring from collapse.
|
|
79
|
-
*/
|
|
80
|
-
this.navigationId = input(null, ...(ngDevMode ? [{ debugName: "navigationId" }] : /* istanbul ignore next */ []));
|
|
81
|
-
this.isFull = computed(() => this.mode() === 'full', ...(ngDevMode ? [{ debugName: "isFull" }] : /* istanbul ignore next */ []));
|
|
82
|
-
this.isCompact = computed(() => this.mode() === 'compact', ...(ngDevMode ? [{ debugName: "isCompact" }] : /* istanbul ignore next */ []));
|
|
83
|
-
this.hostClass = computed(() => {
|
|
84
|
-
return [`ax-sidebar`, `ax-mode-${this.mode()}`].join(' ');
|
|
85
|
-
}, ...(ngDevMode ? [{ debugName: "hostClass" }] : /* istanbul ignore next */ []));
|
|
86
|
-
}
|
|
87
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSidebarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
88
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: AXSidebarComponent, isStandalone: true, selector: "ax-sidebar", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, navigationId: { classPropertyName: "navigationId", publicName: "navigationId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { mode: "modeChange" }, host: { properties: { "class": "hostClass()", "attr.aria-expanded": "isFull()" } }, providers: [{ provide: AXComponent, useExisting: AXSidebarComponent }], usesInheritance: true, ngImport: i0, template: "<aside class=\"ax-sidebar-shell\" [attr.aria-label]=\"ariaLabel()\">\n <header class=\"ax-sidebar-header\">\n <ng-content select=\"[axSidebarHeader], ax-header\"></ng-content>\n </header>\n\n <nav\n class=\"ax-sidebar-navigation\"\n [attr.id]=\"navigationId()\"\n [attr.aria-label]=\"ariaLabel()\"\n >\n <ng-content select=\"ax-side-menu, [axSidebarNavigation]\"></ng-content>\n <ng-content></ng-content>\n </nav>\n\n <footer class=\"ax-sidebar-utility\">\n <ng-content select=\"ax-sidebar-user, [axSidebarUser]\"></ng-content>\n <ng-content select=\"ax-sidebar-collapse, [axSidebarCollapse]\"></ng-content>\n <ng-content select=\"[axSidebarFooter], ax-footer\"></ng-content>\n </footer>\n</aside>\n", styles: ["@layer base{:root{--ax-comp-sidebar-width-full: 17rem;--ax-comp-sidebar-width-compact: 4.5rem;--ax-comp-sidebar-header-height: 4rem;--ax-comp-sidebar-nav-padding: .5rem;--ax-comp-sidebar-utility-padding: .5rem;--ax-comp-sidebar-item-height: 2.5rem;--ax-comp-sidebar-child-item-height: 2.25rem;--ax-comp-sidebar-item-radius: var(--ax-sys-border-radius);--ax-comp-sidebar-icon-container-size: 1.5rem;--ax-comp-sidebar-icon-size: 1rem;--ax-comp-sidebar-icon-radius: .375rem;--ax-comp-sidebar-child-indent: 2rem;--ax-comp-sidebar-flyout-width: 17.5rem;--ax-comp-sidebar-transition-duration: var(--ax-sys-transition-duration, .15s);--ax-comp-sidebar-transition-timing: var(--ax-sys-transition-timing-function, cubic-bezier(.4, 0, .2, 1))}}@layer components{ax-sidebar{display:block;height:100%;color:rgba(var(--ax-comp-sidebar-text-color, var(--ax-sys-color-on-surface)));background-color:rgba(var(--ax-comp-sidebar-bg-color, var(--ax-sys-color-surface)));border-inline-end:1px solid rgba(var(--ax-comp-sidebar-border-color, var(--ax-sys-color-border-lightest-surface)))}ax-sidebar .ax-sidebar-shell{display:flex;flex-direction:column;width:var(--ax-comp-sidebar-width-full);min-width:var(--ax-comp-sidebar-width-full);max-width:var(--ax-comp-sidebar-width-full);height:100dvh;overflow:hidden;transition-property:width,min-width,max-width;transition-duration:var(--ax-comp-sidebar-transition-duration);transition-timing-function:var(--ax-comp-sidebar-transition-timing)}ax-sidebar .ax-sidebar-header{display:flex;flex-shrink:0;align-items:center;height:var(--ax-comp-sidebar-header-height);min-height:var(--ax-comp-sidebar-header-height);padding-inline:1.25rem}ax-sidebar .ax-sidebar-navigation{display:flex;flex:1 1 auto;flex-direction:column;gap:.25rem;min-height:0;padding:var(--ax-comp-sidebar-nav-padding);overflow-x:hidden;overflow-y:auto}ax-sidebar .ax-sidebar-utility{display:flex;flex-shrink:0;flex-direction:column;gap:.25rem;padding:var(--ax-comp-sidebar-utility-padding);background-color:inherit;border-block-start:1px solid rgba(var(--ax-comp-sidebar-border-color, var(--ax-sys-color-border-lightest-surface)))}ax-sidebar.ax-mode-compact .ax-sidebar-shell{width:var(--ax-comp-sidebar-width-compact);min-width:var(--ax-comp-sidebar-width-compact);max-width:var(--ax-comp-sidebar-width-compact)}ax-sidebar.ax-mode-compact .ax-sidebar-header{justify-content:center;padding-inline:.5rem}ax-sidebar.ax-mode-compact .ax-sidebar-navigation,ax-sidebar.ax-mode-compact .ax-sidebar-utility{align-items:center}@media(prefers-reduced-motion:reduce){ax-sidebar .ax-sidebar-shell{transition:none}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
89
|
-
}
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSidebarComponent, decorators: [{
|
|
91
|
-
type: Component,
|
|
92
|
-
args: [{ selector: 'ax-sidebar', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
93
|
-
'[class]': 'hostClass()',
|
|
94
|
-
'[attr.aria-expanded]': 'isFull()',
|
|
95
|
-
}, providers: [{ provide: AXComponent, useExisting: AXSidebarComponent }], template: "<aside class=\"ax-sidebar-shell\" [attr.aria-label]=\"ariaLabel()\">\n <header class=\"ax-sidebar-header\">\n <ng-content select=\"[axSidebarHeader], ax-header\"></ng-content>\n </header>\n\n <nav\n class=\"ax-sidebar-navigation\"\n [attr.id]=\"navigationId()\"\n [attr.aria-label]=\"ariaLabel()\"\n >\n <ng-content select=\"ax-side-menu, [axSidebarNavigation]\"></ng-content>\n <ng-content></ng-content>\n </nav>\n\n <footer class=\"ax-sidebar-utility\">\n <ng-content select=\"ax-sidebar-user, [axSidebarUser]\"></ng-content>\n <ng-content select=\"ax-sidebar-collapse, [axSidebarCollapse]\"></ng-content>\n <ng-content select=\"[axSidebarFooter], ax-footer\"></ng-content>\n </footer>\n</aside>\n", styles: ["@layer base{:root{--ax-comp-sidebar-width-full: 17rem;--ax-comp-sidebar-width-compact: 4.5rem;--ax-comp-sidebar-header-height: 4rem;--ax-comp-sidebar-nav-padding: .5rem;--ax-comp-sidebar-utility-padding: .5rem;--ax-comp-sidebar-item-height: 2.5rem;--ax-comp-sidebar-child-item-height: 2.25rem;--ax-comp-sidebar-item-radius: var(--ax-sys-border-radius);--ax-comp-sidebar-icon-container-size: 1.5rem;--ax-comp-sidebar-icon-size: 1rem;--ax-comp-sidebar-icon-radius: .375rem;--ax-comp-sidebar-child-indent: 2rem;--ax-comp-sidebar-flyout-width: 17.5rem;--ax-comp-sidebar-transition-duration: var(--ax-sys-transition-duration, .15s);--ax-comp-sidebar-transition-timing: var(--ax-sys-transition-timing-function, cubic-bezier(.4, 0, .2, 1))}}@layer components{ax-sidebar{display:block;height:100%;color:rgba(var(--ax-comp-sidebar-text-color, var(--ax-sys-color-on-surface)));background-color:rgba(var(--ax-comp-sidebar-bg-color, var(--ax-sys-color-surface)));border-inline-end:1px solid rgba(var(--ax-comp-sidebar-border-color, var(--ax-sys-color-border-lightest-surface)))}ax-sidebar .ax-sidebar-shell{display:flex;flex-direction:column;width:var(--ax-comp-sidebar-width-full);min-width:var(--ax-comp-sidebar-width-full);max-width:var(--ax-comp-sidebar-width-full);height:100dvh;overflow:hidden;transition-property:width,min-width,max-width;transition-duration:var(--ax-comp-sidebar-transition-duration);transition-timing-function:var(--ax-comp-sidebar-transition-timing)}ax-sidebar .ax-sidebar-header{display:flex;flex-shrink:0;align-items:center;height:var(--ax-comp-sidebar-header-height);min-height:var(--ax-comp-sidebar-header-height);padding-inline:1.25rem}ax-sidebar .ax-sidebar-navigation{display:flex;flex:1 1 auto;flex-direction:column;gap:.25rem;min-height:0;padding:var(--ax-comp-sidebar-nav-padding);overflow-x:hidden;overflow-y:auto}ax-sidebar .ax-sidebar-utility{display:flex;flex-shrink:0;flex-direction:column;gap:.25rem;padding:var(--ax-comp-sidebar-utility-padding);background-color:inherit;border-block-start:1px solid rgba(var(--ax-comp-sidebar-border-color, var(--ax-sys-color-border-lightest-surface)))}ax-sidebar.ax-mode-compact .ax-sidebar-shell{width:var(--ax-comp-sidebar-width-compact);min-width:var(--ax-comp-sidebar-width-compact);max-width:var(--ax-comp-sidebar-width-compact)}ax-sidebar.ax-mode-compact .ax-sidebar-header{justify-content:center;padding-inline:.5rem}ax-sidebar.ax-mode-compact .ax-sidebar-navigation,ax-sidebar.ax-mode-compact .ax-sidebar-utility{align-items:center}@media(prefers-reduced-motion:reduce){ax-sidebar .ax-sidebar-shell{transition:none}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
|
|
96
|
-
}], propDecorators: { mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }, { type: i0.Output, args: ["modeChange"] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], navigationId: [{ type: i0.Input, args: [{ isSignal: true, alias: "navigationId", required: false }] }] } });
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* Reusable user/account row for sidebar utility areas.
|
|
100
|
-
* Renders expanded identity content or a compact avatar with tooltip.
|
|
101
|
-
*
|
|
102
|
-
* @category Components
|
|
103
|
-
*/
|
|
104
|
-
class AXSidebarUserComponent extends NXComponent {
|
|
105
|
-
constructor() {
|
|
106
|
-
super(...arguments);
|
|
107
|
-
this.avatarSrc = input(null, ...(ngDevMode ? [{ debugName: "avatarSrc" }] : /* istanbul ignore next */ []));
|
|
108
|
-
this.avatarAlt = input('User avatar', ...(ngDevMode ? [{ debugName: "avatarAlt" }] : /* istanbul ignore next */ []));
|
|
109
|
-
this.initials = input(null, ...(ngDevMode ? [{ debugName: "initials" }] : /* istanbul ignore next */ []));
|
|
110
|
-
this.name = input('', ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
|
|
111
|
-
this.description = input('', ...(ngDevMode ? [{ debugName: "description" }] : /* istanbul ignore next */ []));
|
|
112
|
-
this.status = input(null, ...(ngDevMode ? [{ debugName: "status" }] : /* istanbul ignore next */ []));
|
|
113
|
-
this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
114
|
-
this.compact = input(false, ...(ngDevMode ? [{ debugName: "compact" }] : /* istanbul ignore next */ []));
|
|
115
|
-
this.tooltip = input(null, ...(ngDevMode ? [{ debugName: "tooltip" }] : /* istanbul ignore next */ []));
|
|
116
|
-
this.ariaLabel = input(null, ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
|
|
117
|
-
this.userClick = output();
|
|
118
|
-
this.actionClick = output();
|
|
119
|
-
this.projectedAvatar = contentChild(AXAvatarComponent, ...(ngDevMode ? [{ debugName: "projectedAvatar" }] : /* istanbul ignore next */ []));
|
|
120
|
-
this.hasProjectedAvatar = computed(() => !!this.projectedAvatar(), ...(ngDevMode ? [{ debugName: "hasProjectedAvatar" }] : /* istanbul ignore next */ []));
|
|
121
|
-
this.tooltipContent = computed(() => {
|
|
122
|
-
if (!this.compact()) {
|
|
123
|
-
return null;
|
|
124
|
-
}
|
|
125
|
-
return this.tooltip()?.trim() || this.name()?.trim() || this.ariaLabel()?.trim() || null;
|
|
126
|
-
}, ...(ngDevMode ? [{ debugName: "tooltipContent" }] : /* istanbul ignore next */ []));
|
|
127
|
-
this.accessibleLabel = computed(() => {
|
|
128
|
-
return (this.ariaLabel()?.trim() ||
|
|
129
|
-
[this.name(), this.description()].filter(Boolean).join(', ') ||
|
|
130
|
-
this.avatarAlt());
|
|
131
|
-
}, ...(ngDevMode ? [{ debugName: "accessibleLabel" }] : /* istanbul ignore next */ []));
|
|
132
|
-
this.displayInitials = computed(() => {
|
|
133
|
-
const provided = this.initials()?.trim();
|
|
134
|
-
if (provided) {
|
|
135
|
-
return provided.slice(0, 2).toUpperCase();
|
|
136
|
-
}
|
|
137
|
-
const name = this.name().trim();
|
|
138
|
-
if (!name) {
|
|
139
|
-
return '';
|
|
140
|
-
}
|
|
141
|
-
const parts = name.split(/\s+/).filter(Boolean);
|
|
142
|
-
if (parts.length === 1) {
|
|
143
|
-
return parts[0].slice(0, 2).toUpperCase();
|
|
144
|
-
}
|
|
145
|
-
return `${parts[0][0] ?? ''}${parts[1][0] ?? ''}`.toUpperCase();
|
|
146
|
-
}, ...(ngDevMode ? [{ debugName: "displayInitials" }] : /* istanbul ignore next */ []));
|
|
147
|
-
this.hostClass = computed(() => {
|
|
148
|
-
const classes = ['ax-sidebar-user'];
|
|
149
|
-
if (this.compact()) {
|
|
150
|
-
classes.push('ax-mode-compact');
|
|
151
|
-
}
|
|
152
|
-
if (this.disabled()) {
|
|
153
|
-
classes.push('ax-state-disabled');
|
|
154
|
-
}
|
|
155
|
-
return classes.join(' ');
|
|
156
|
-
}, ...(ngDevMode ? [{ debugName: "hostClass" }] : /* istanbul ignore next */ []));
|
|
157
|
-
}
|
|
158
|
-
handleUserClick(nativeEvent) {
|
|
159
|
-
if (this.disabled()) {
|
|
160
|
-
nativeEvent.preventDefault();
|
|
161
|
-
nativeEvent.stopPropagation();
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
this.userClick.emit({
|
|
165
|
-
component: this,
|
|
166
|
-
htmlElement: this.nativeElement,
|
|
167
|
-
nativeEvent,
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
handleActionClick(nativeEvent) {
|
|
171
|
-
nativeEvent.stopPropagation();
|
|
172
|
-
if (this.disabled()) {
|
|
173
|
-
nativeEvent.preventDefault();
|
|
174
|
-
return;
|
|
175
|
-
}
|
|
176
|
-
this.actionClick.emit({
|
|
177
|
-
component: this,
|
|
178
|
-
htmlElement: this.nativeElement,
|
|
179
|
-
nativeEvent,
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSidebarUserComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
183
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXSidebarUserComponent, isStandalone: true, selector: "ax-sidebar-user", inputs: { avatarSrc: { classPropertyName: "avatarSrc", publicName: "avatarSrc", isSignal: true, isRequired: false, transformFunction: null }, avatarAlt: { classPropertyName: "avatarAlt", publicName: "avatarAlt", isSignal: true, isRequired: false, transformFunction: null }, initials: { classPropertyName: "initials", publicName: "initials", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { userClick: "userClick", actionClick: "actionClick" }, host: { properties: { "class": "hostClass()", "attr.aria-disabled": "disabled() || null" } }, providers: [{ provide: AXComponent, useExisting: AXSidebarUserComponent }], queries: [{ propertyName: "projectedAvatar", first: true, predicate: AXAvatarComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<button\n type=\"button\"\n class=\"ax-sidebar-user-trigger\"\n [axTooltip]=\"tooltipContent()\"\n axTooltipPlacement=\"end\"\n [attr.aria-label]=\"accessibleLabel()\"\n [disabled]=\"disabled()\"\n (click)=\"handleUserClick($event)\"\n>\n <span class=\"ax-sidebar-user-avatar\">\n <ng-content select=\"ax-avatar, ax-prefix\"></ng-content>\n @if (!hasProjectedAvatar()) {\n @if (avatarSrc()) {\n <ax-avatar [size]=\"32\" shape=\"rounded\">\n <ax-image [src]=\"avatarSrc()\" [alt]=\"avatarAlt()\"></ax-image>\n </ax-avatar>\n } @else if (displayInitials()) {\n <ax-avatar [size]=\"32\" shape=\"rounded\">\n <ax-text>{{ displayInitials() }}</ax-text>\n </ax-avatar>\n } @else {\n <ax-avatar [size]=\"32\" shape=\"rounded\"></ax-avatar>\n }\n }\n </span>\n\n @if (!compact()) {\n <span class=\"ax-sidebar-user-text\">\n <ng-content select=\"ax-text, ax-title, ax-subtitle\"></ng-content>\n @if (name()) {\n <span class=\"ax-sidebar-user-name\">{{ name() }}</span>\n }\n @if (description()) {\n <span class=\"ax-sidebar-user-description\">{{ description() }}</span>\n }\n @if (status()) {\n <span class=\"ax-sidebar-user-status\">{{ status() }}</span>\n }\n </span>\n\n <span class=\"ax-sidebar-user-suffix\" (click)=\"handleActionClick($event)\">\n <ng-content select=\"ax-suffix\"></ng-content>\n </span>\n }\n</button>\n", styles: ["@layer components{ax-sidebar-user{display:block;width:100%;color:inherit}ax-sidebar-user .ax-sidebar-user-trigger{display:flex;align-items:center;width:100%;height:3.5rem;padding-inline:.75rem;gap:.75rem;overflow:hidden;color:inherit;text-align:start;cursor:pointer;background:transparent;border:0;border-radius:var(--ax-comp-sidebar-item-radius, var(--ax-sys-border-radius));outline:none;transition-property:background-color,color,opacity;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-sidebar-user .ax-sidebar-user-trigger:hover:not(:disabled){background-color:rgba(var(--ax-comp-sidebar-hover-bg-color, var(--ax-sys-color-lighter-surface, var(--ax-sys-color-surface))))}ax-sidebar-user .ax-sidebar-user-trigger:focus-visible{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-primary-surface))}ax-sidebar-user .ax-sidebar-user-trigger:disabled{cursor:not-allowed;opacity:.5}ax-sidebar-user .ax-sidebar-user-avatar{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:2rem;height:2rem}ax-sidebar-user .ax-sidebar-user-avatar ax-avatar{font-size:.75rem;line-height:1rem}ax-sidebar-user .ax-sidebar-user-text{display:flex;flex:1 1 auto;flex-direction:column;gap:.125rem;min-width:0;overflow:hidden}ax-sidebar-user .ax-sidebar-user-name{overflow:hidden;font-size:.875rem;font-weight:500;line-height:1.25rem;text-overflow:ellipsis;white-space:nowrap}ax-sidebar-user .ax-sidebar-user-description,ax-sidebar-user .ax-sidebar-user-status{overflow:hidden;font-size:.75rem;line-height:1rem;text-overflow:ellipsis;white-space:nowrap;opacity:.7}ax-sidebar-user .ax-sidebar-user-suffix{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1rem;height:1rem;font-size:1rem;line-height:1}ax-sidebar-user.ax-mode-compact{width:3.5rem}ax-sidebar-user.ax-mode-compact .ax-sidebar-user-trigger{justify-content:center;width:3.5rem;height:3.5rem;padding-inline:0;gap:0}ax-sidebar-user.ax-state-disabled .ax-sidebar-user-trigger{pointer-events:none}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "shape", "look"], outputs: ["sizeChange"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "directive", type: i1.AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
184
|
-
}
|
|
185
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSidebarUserComponent, decorators: [{
|
|
186
|
-
type: Component,
|
|
187
|
-
args: [{ selector: 'ax-sidebar-user', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
188
|
-
'[class]': 'hostClass()',
|
|
189
|
-
'[attr.aria-disabled]': 'disabled() || null',
|
|
190
|
-
}, providers: [{ provide: AXComponent, useExisting: AXSidebarUserComponent }], imports: [AXAvatarComponent, AXDecoratorGenericComponent, AXImageComponent, AXTooltipModule], template: "<button\n type=\"button\"\n class=\"ax-sidebar-user-trigger\"\n [axTooltip]=\"tooltipContent()\"\n axTooltipPlacement=\"end\"\n [attr.aria-label]=\"accessibleLabel()\"\n [disabled]=\"disabled()\"\n (click)=\"handleUserClick($event)\"\n>\n <span class=\"ax-sidebar-user-avatar\">\n <ng-content select=\"ax-avatar, ax-prefix\"></ng-content>\n @if (!hasProjectedAvatar()) {\n @if (avatarSrc()) {\n <ax-avatar [size]=\"32\" shape=\"rounded\">\n <ax-image [src]=\"avatarSrc()\" [alt]=\"avatarAlt()\"></ax-image>\n </ax-avatar>\n } @else if (displayInitials()) {\n <ax-avatar [size]=\"32\" shape=\"rounded\">\n <ax-text>{{ displayInitials() }}</ax-text>\n </ax-avatar>\n } @else {\n <ax-avatar [size]=\"32\" shape=\"rounded\"></ax-avatar>\n }\n }\n </span>\n\n @if (!compact()) {\n <span class=\"ax-sidebar-user-text\">\n <ng-content select=\"ax-text, ax-title, ax-subtitle\"></ng-content>\n @if (name()) {\n <span class=\"ax-sidebar-user-name\">{{ name() }}</span>\n }\n @if (description()) {\n <span class=\"ax-sidebar-user-description\">{{ description() }}</span>\n }\n @if (status()) {\n <span class=\"ax-sidebar-user-status\">{{ status() }}</span>\n }\n </span>\n\n <span class=\"ax-sidebar-user-suffix\" (click)=\"handleActionClick($event)\">\n <ng-content select=\"ax-suffix\"></ng-content>\n </span>\n }\n</button>\n", styles: ["@layer components{ax-sidebar-user{display:block;width:100%;color:inherit}ax-sidebar-user .ax-sidebar-user-trigger{display:flex;align-items:center;width:100%;height:3.5rem;padding-inline:.75rem;gap:.75rem;overflow:hidden;color:inherit;text-align:start;cursor:pointer;background:transparent;border:0;border-radius:var(--ax-comp-sidebar-item-radius, var(--ax-sys-border-radius));outline:none;transition-property:background-color,color,opacity;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-sidebar-user .ax-sidebar-user-trigger:hover:not(:disabled){background-color:rgba(var(--ax-comp-sidebar-hover-bg-color, var(--ax-sys-color-lighter-surface, var(--ax-sys-color-surface))))}ax-sidebar-user .ax-sidebar-user-trigger:focus-visible{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-primary-surface))}ax-sidebar-user .ax-sidebar-user-trigger:disabled{cursor:not-allowed;opacity:.5}ax-sidebar-user .ax-sidebar-user-avatar{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:2rem;height:2rem}ax-sidebar-user .ax-sidebar-user-avatar ax-avatar{font-size:.75rem;line-height:1rem}ax-sidebar-user .ax-sidebar-user-text{display:flex;flex:1 1 auto;flex-direction:column;gap:.125rem;min-width:0;overflow:hidden}ax-sidebar-user .ax-sidebar-user-name{overflow:hidden;font-size:.875rem;font-weight:500;line-height:1.25rem;text-overflow:ellipsis;white-space:nowrap}ax-sidebar-user .ax-sidebar-user-description,ax-sidebar-user .ax-sidebar-user-status{overflow:hidden;font-size:.75rem;line-height:1rem;text-overflow:ellipsis;white-space:nowrap;opacity:.7}ax-sidebar-user .ax-sidebar-user-suffix{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1rem;height:1rem;font-size:1rem;line-height:1}ax-sidebar-user.ax-mode-compact{width:3.5rem}ax-sidebar-user.ax-mode-compact .ax-sidebar-user-trigger{justify-content:center;width:3.5rem;height:3.5rem;padding-inline:0;gap:0}ax-sidebar-user.ax-state-disabled .ax-sidebar-user-trigger{pointer-events:none}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
|
|
191
|
-
}], propDecorators: { avatarSrc: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatarSrc", required: false }] }], avatarAlt: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatarAlt", required: false }] }], initials: [{ type: i0.Input, args: [{ isSignal: true, alias: "initials", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], compact: [{ type: i0.Input, args: [{ isSignal: true, alias: "compact", required: false }] }], tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], userClick: [{ type: i0.Output, args: ["userClick"] }], actionClick: [{ type: i0.Output, args: ["actionClick"] }], projectedAvatar: [{ type: i0.ContentChild, args: [i0.forwardRef(() => AXAvatarComponent), { isSignal: true }] }] } });
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* Sticky utility control that toggles sidebar full/compact mode.
|
|
195
|
-
*
|
|
196
|
-
* @category Components
|
|
197
|
-
*/
|
|
198
|
-
class AXSidebarCollapseComponent extends NXComponent {
|
|
199
|
-
constructor() {
|
|
200
|
-
super(...arguments);
|
|
201
|
-
/**
|
|
202
|
-
* Current sidebar mode. Two-way bindable via `[(mode)]`.
|
|
203
|
-
*
|
|
204
|
-
* @defaultValue 'full'
|
|
205
|
-
*/
|
|
206
|
-
this.mode = model('full', ...(ngDevMode ? [{ debugName: "mode" }] : /* istanbul ignore next */ []));
|
|
207
|
-
this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
208
|
-
this.fullLabel = input('Collapse', ...(ngDevMode ? [{ debugName: "fullLabel" }] : /* istanbul ignore next */ []));
|
|
209
|
-
this.compactLabel = input('Expand', ...(ngDevMode ? [{ debugName: "compactLabel" }] : /* istanbul ignore next */ []));
|
|
210
|
-
this.ariaLabel = input(null, ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
|
|
211
|
-
this.ariaControls = input(null, ...(ngDevMode ? [{ debugName: "ariaControls" }] : /* istanbul ignore next */ []));
|
|
212
|
-
this.isFull = computed(() => this.mode() === 'full', ...(ngDevMode ? [{ debugName: "isFull" }] : /* istanbul ignore next */ []));
|
|
213
|
-
this.isCompact = computed(() => this.mode() === 'compact', ...(ngDevMode ? [{ debugName: "isCompact" }] : /* istanbul ignore next */ []));
|
|
214
|
-
this.label = computed(() => (this.isFull() ? this.fullLabel() : this.compactLabel()), ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
215
|
-
this.accessibleLabel = computed(() => this.ariaLabel()?.trim() || this.label(), ...(ngDevMode ? [{ debugName: "accessibleLabel" }] : /* istanbul ignore next */ []));
|
|
216
|
-
this.tooltipContent = computed(() => (this.isCompact() ? this.accessibleLabel() : null), ...(ngDevMode ? [{ debugName: "tooltipContent" }] : /* istanbul ignore next */ []));
|
|
217
|
-
this.hostClass = computed(() => {
|
|
218
|
-
const classes = ['ax-sidebar-collapse', `ax-mode-${this.mode()}`];
|
|
219
|
-
if (this.disabled()) {
|
|
220
|
-
classes.push('ax-state-disabled');
|
|
221
|
-
}
|
|
222
|
-
return classes.join(' ');
|
|
223
|
-
}, ...(ngDevMode ? [{ debugName: "hostClass" }] : /* istanbul ignore next */ []));
|
|
224
|
-
}
|
|
225
|
-
toggleMode() {
|
|
226
|
-
if (this.disabled()) {
|
|
227
|
-
return;
|
|
228
|
-
}
|
|
229
|
-
this.mode.update((current) => (current === 'full' ? 'compact' : 'full'));
|
|
230
|
-
}
|
|
231
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSidebarCollapseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
232
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXSidebarCollapseComponent, isStandalone: true, selector: "ax-sidebar-collapse", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, fullLabel: { classPropertyName: "fullLabel", publicName: "fullLabel", isSignal: true, isRequired: false, transformFunction: null }, compactLabel: { classPropertyName: "compactLabel", publicName: "compactLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaControls: { classPropertyName: "ariaControls", publicName: "ariaControls", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { mode: "modeChange" }, host: { properties: { "class": "hostClass()" } }, providers: [{ provide: AXComponent, useExisting: AXSidebarCollapseComponent }], usesInheritance: true, ngImport: i0, template: "<button\n type=\"button\"\n class=\"ax-sidebar-collapse-trigger\"\n [axTooltip]=\"tooltipContent()\"\n axTooltipPlacement=\"end\"\n [attr.aria-label]=\"accessibleLabel()\"\n [attr.aria-expanded]=\"isFull()\"\n [attr.aria-controls]=\"ariaControls()\"\n [disabled]=\"disabled()\"\n (click)=\"toggleMode()\"\n>\n <span class=\"ax-sidebar-collapse-icon\" aria-hidden=\"true\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\">\n @if (isFull()) {\n <path\n d=\"M10.5 3.5 6 8l4.5 4.5\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n } @else {\n <path\n d=\"M5.5 3.5 10 8l-4.5 4.5\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n }\n </svg>\n </span>\n @if (isFull()) {\n <span class=\"ax-sidebar-collapse-label\">{{ label() }}</span>\n }\n</button>\n", styles: ["@layer components{ax-sidebar-collapse{display:block;width:100%;color:inherit}ax-sidebar-collapse .ax-sidebar-collapse-trigger{display:flex;align-items:center;width:100%;height:2.5rem;padding-inline:.75rem;gap:.75rem;overflow:hidden;color:inherit;text-align:start;cursor:pointer;background:transparent;border:0;border-radius:var(--ax-comp-sidebar-item-radius, var(--ax-sys-border-radius, .5rem));outline:none;transition-property:background-color,color,opacity;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-sidebar-collapse .ax-sidebar-collapse-trigger:hover:not(:disabled){background-color:rgba(var(--ax-comp-sidebar-hover-bg-color, var(--ax-sys-color-lighter-surface, var(--ax-sys-color-surface))))}ax-sidebar-collapse .ax-sidebar-collapse-trigger:focus-visible{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-primary-surface))}ax-sidebar-collapse .ax-sidebar-collapse-trigger:disabled{cursor:not-allowed;opacity:.5}ax-sidebar-collapse .ax-sidebar-collapse-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:var(--ax-comp-sidebar-icon-radius, .375rem)}ax-sidebar-collapse .ax-sidebar-collapse-icon svg{width:1rem;height:1rem}ax-sidebar-collapse .ax-sidebar-collapse-label{overflow:hidden;font-size:.875rem;font-weight:400;line-height:1.25rem;text-overflow:ellipsis;white-space:nowrap}ax-sidebar-collapse.ax-mode-compact{width:3.5rem}ax-sidebar-collapse.ax-mode-compact .ax-sidebar-collapse-trigger{justify-content:center;width:3.5rem;padding-inline:0;gap:0}ax-sidebar-collapse.ax-state-disabled .ax-sidebar-collapse-trigger{pointer-events:none}[dir=rtl] ax-sidebar-collapse .ax-sidebar-collapse-icon{scale:-1 1}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: AXTooltipModule }, { kind: "directive", type: i1.AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
233
|
-
}
|
|
234
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSidebarCollapseComponent, decorators: [{
|
|
235
|
-
type: Component,
|
|
236
|
-
args: [{ selector: 'ax-sidebar-collapse', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
237
|
-
'[class]': 'hostClass()',
|
|
238
|
-
}, providers: [{ provide: AXComponent, useExisting: AXSidebarCollapseComponent }], imports: [AXTooltipModule], template: "<button\n type=\"button\"\n class=\"ax-sidebar-collapse-trigger\"\n [axTooltip]=\"tooltipContent()\"\n axTooltipPlacement=\"end\"\n [attr.aria-label]=\"accessibleLabel()\"\n [attr.aria-expanded]=\"isFull()\"\n [attr.aria-controls]=\"ariaControls()\"\n [disabled]=\"disabled()\"\n (click)=\"toggleMode()\"\n>\n <span class=\"ax-sidebar-collapse-icon\" aria-hidden=\"true\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\">\n @if (isFull()) {\n <path\n d=\"M10.5 3.5 6 8l4.5 4.5\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n } @else {\n <path\n d=\"M5.5 3.5 10 8l-4.5 4.5\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n }\n </svg>\n </span>\n @if (isFull()) {\n <span class=\"ax-sidebar-collapse-label\">{{ label() }}</span>\n }\n</button>\n", styles: ["@layer components{ax-sidebar-collapse{display:block;width:100%;color:inherit}ax-sidebar-collapse .ax-sidebar-collapse-trigger{display:flex;align-items:center;width:100%;height:2.5rem;padding-inline:.75rem;gap:.75rem;overflow:hidden;color:inherit;text-align:start;cursor:pointer;background:transparent;border:0;border-radius:var(--ax-comp-sidebar-item-radius, var(--ax-sys-border-radius, .5rem));outline:none;transition-property:background-color,color,opacity;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-sidebar-collapse .ax-sidebar-collapse-trigger:hover:not(:disabled){background-color:rgba(var(--ax-comp-sidebar-hover-bg-color, var(--ax-sys-color-lighter-surface, var(--ax-sys-color-surface))))}ax-sidebar-collapse .ax-sidebar-collapse-trigger:focus-visible{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-primary-surface))}ax-sidebar-collapse .ax-sidebar-collapse-trigger:disabled{cursor:not-allowed;opacity:.5}ax-sidebar-collapse .ax-sidebar-collapse-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:var(--ax-comp-sidebar-icon-radius, .375rem)}ax-sidebar-collapse .ax-sidebar-collapse-icon svg{width:1rem;height:1rem}ax-sidebar-collapse .ax-sidebar-collapse-label{overflow:hidden;font-size:.875rem;font-weight:400;line-height:1.25rem;text-overflow:ellipsis;white-space:nowrap}ax-sidebar-collapse.ax-mode-compact{width:3.5rem}ax-sidebar-collapse.ax-mode-compact .ax-sidebar-collapse-trigger{justify-content:center;width:3.5rem;padding-inline:0;gap:0}ax-sidebar-collapse.ax-state-disabled .ax-sidebar-collapse-trigger{pointer-events:none}[dir=rtl] ax-sidebar-collapse .ax-sidebar-collapse-icon{scale:-1 1}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
|
|
239
|
-
}], propDecorators: { mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }, { type: i0.Output, args: ["modeChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], fullLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullLabel", required: false }] }], compactLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "compactLabel", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaControls: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaControls", required: false }] }] } });
|
|
240
|
-
|
|
241
|
-
const COMPONENTS = [AXSidebarComponent, AXSidebarUserComponent, AXSidebarCollapseComponent];
|
|
242
|
-
const DIRECTIVES = [
|
|
243
|
-
AXSidebarHeaderDirective,
|
|
244
|
-
AXSidebarNavigationDirective,
|
|
245
|
-
AXSidebarFooterDirective,
|
|
246
|
-
AXSidebarUserSlotDirective,
|
|
247
|
-
AXSidebarCollapseSlotDirective,
|
|
248
|
-
];
|
|
249
|
-
class AXSidebarModule {
|
|
250
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSidebarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
251
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: AXSidebarModule, imports: [AXSidebarComponent, AXSidebarUserComponent, AXSidebarCollapseComponent, AXSidebarHeaderDirective,
|
|
252
|
-
AXSidebarNavigationDirective,
|
|
253
|
-
AXSidebarFooterDirective,
|
|
254
|
-
AXSidebarUserSlotDirective,
|
|
255
|
-
AXSidebarCollapseSlotDirective], exports: [AXSidebarComponent, AXSidebarUserComponent, AXSidebarCollapseComponent, AXSidebarHeaderDirective,
|
|
256
|
-
AXSidebarNavigationDirective,
|
|
257
|
-
AXSidebarFooterDirective,
|
|
258
|
-
AXSidebarUserSlotDirective,
|
|
259
|
-
AXSidebarCollapseSlotDirective] }); }
|
|
260
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSidebarModule, imports: [AXSidebarUserComponent, AXSidebarCollapseComponent] }); }
|
|
261
|
-
}
|
|
262
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSidebarModule, decorators: [{
|
|
263
|
-
type: NgModule,
|
|
264
|
-
args: [{
|
|
265
|
-
imports: [...COMPONENTS, ...DIRECTIVES],
|
|
266
|
-
exports: [...COMPONENTS, ...DIRECTIVES],
|
|
267
|
-
}]
|
|
268
|
-
}] });
|
|
269
|
-
|
|
270
|
-
/**
|
|
271
|
-
* Generated bundle index. Do not edit.
|
|
272
|
-
*/
|
|
273
|
-
|
|
274
|
-
export { AXSidebarCollapseComponent, AXSidebarCollapseSlotDirective, AXSidebarComponent, AXSidebarFooterDirective, AXSidebarHeaderDirective, AXSidebarModule, AXSidebarNavigationDirective, AXSidebarUserComponent, AXSidebarUserSlotDirective };
|
|
275
|
-
//# sourceMappingURL=acorex-components-sidebar.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-sidebar.mjs","sources":["../../../../packages/components/sidebar/src/lib/sidebar.directives.ts","../../../../packages/components/sidebar/src/lib/sidebar.component.ts","../../../../packages/components/sidebar/src/lib/sidebar.component.html","../../../../packages/components/sidebar/src/lib/sidebar-user/sidebar-user.component.ts","../../../../packages/components/sidebar/src/lib/sidebar-user/sidebar-user.component.html","../../../../packages/components/sidebar/src/lib/sidebar-collapse/sidebar-collapse.component.ts","../../../../packages/components/sidebar/src/lib/sidebar-collapse/sidebar-collapse.component.html","../../../../packages/components/sidebar/src/lib/sidebar.module.ts","../../../../packages/components/sidebar/src/acorex-components-sidebar.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n/** Marks projected header content inside `ax-sidebar`. */\n@Directive({ selector: '[axSidebarHeader]' })\nexport class AXSidebarHeaderDirective {}\n\n/** Marks projected navigation content (typically `ax-side-menu`) inside `ax-sidebar`. */\n@Directive({ selector: '[axSidebarNavigation]' })\nexport class AXSidebarNavigationDirective {}\n\n/** Marks projected footer utility content inside `ax-sidebar`. */\n@Directive({ selector: '[axSidebarFooter]' })\nexport class AXSidebarFooterDirective {}\n\n/** Marks the user utility slot inside `ax-sidebar`. */\n@Directive({ selector: '[axSidebarUser]' })\nexport class AXSidebarUserSlotDirective {}\n\n/** Marks the collapse utility slot inside `ax-sidebar`. */\n@Directive({ selector: '[axSidebarCollapse]' })\nexport class AXSidebarCollapseSlotDirective {}\n","import { AXComponent, NXComponent } from '@acorex/cdk/common';\nimport { ChangeDetectionStrategy, Component, computed, input, model, ViewEncapsulation } from '@angular/core';\nimport { AXSidebarMode } from './sidebar.types';\n\n/**\n * Layout shell for an enterprise sidebar with full and compact widths,\n * sticky header/utility regions, and a scrollable navigation slot.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'hostClass()',\n '[attr.aria-expanded]': 'isFull()',\n },\n providers: [{ provide: AXComponent, useExisting: AXSidebarComponent }],\n})\nexport class AXSidebarComponent extends NXComponent {\n /**\n * Sidebar display mode shared with collapse and side-menu consumers.\n *\n * @defaultValue 'full'\n */\n mode = model<AXSidebarMode>('full');\n\n /**\n * Accessible name for the sidebar landmark.\n *\n * @defaultValue 'Sidebar'\n */\n readonly ariaLabel = input('Sidebar');\n\n /**\n * Optional id of the navigation region for `aria-controls` wiring from collapse.\n */\n readonly navigationId = input<string | null>(null);\n\n protected readonly isFull = computed(() => this.mode() === 'full');\n protected readonly isCompact = computed(() => this.mode() === 'compact');\n\n protected readonly hostClass = computed(() => {\n return [`ax-sidebar`, `ax-mode-${this.mode()}`].join(' ');\n });\n}\n","<aside class=\"ax-sidebar-shell\" [attr.aria-label]=\"ariaLabel()\">\n <header class=\"ax-sidebar-header\">\n <ng-content select=\"[axSidebarHeader], ax-header\"></ng-content>\n </header>\n\n <nav\n class=\"ax-sidebar-navigation\"\n [attr.id]=\"navigationId()\"\n [attr.aria-label]=\"ariaLabel()\"\n >\n <ng-content select=\"ax-side-menu, [axSidebarNavigation]\"></ng-content>\n <ng-content></ng-content>\n </nav>\n\n <footer class=\"ax-sidebar-utility\">\n <ng-content select=\"ax-sidebar-user, [axSidebarUser]\"></ng-content>\n <ng-content select=\"ax-sidebar-collapse, [axSidebarCollapse]\"></ng-content>\n <ng-content select=\"[axSidebarFooter], ax-footer\"></ng-content>\n </footer>\n</aside>\n","import { AXClickEvent, AXComponent, NXComponent } from '@acorex/cdk/common';\nimport { AXAvatarComponent } from '@acorex/components/avatar';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXImageComponent } from '@acorex/components/image';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n input,\n output,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * Reusable user/account row for sidebar utility areas.\n * Renders expanded identity content or a compact avatar with tooltip.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-sidebar-user',\n templateUrl: './sidebar-user.component.html',\n styleUrls: ['./sidebar-user.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'hostClass()',\n '[attr.aria-disabled]': 'disabled() || null',\n },\n providers: [{ provide: AXComponent, useExisting: AXSidebarUserComponent }],\n imports: [AXAvatarComponent, AXDecoratorGenericComponent, AXImageComponent, AXTooltipModule],\n})\nexport class AXSidebarUserComponent extends NXComponent {\n readonly avatarSrc = input<string | null>(null);\n readonly avatarAlt = input('User avatar');\n readonly initials = input<string | null>(null);\n readonly name = input('');\n readonly description = input('');\n readonly status = input<string | null>(null);\n readonly disabled = input(false);\n readonly compact = input(false);\n readonly tooltip = input<string | null>(null);\n readonly ariaLabel = input<string | null>(null);\n\n readonly userClick = output<AXClickEvent>();\n readonly actionClick = output<AXClickEvent>();\n\n private readonly projectedAvatar = contentChild(AXAvatarComponent);\n\n protected readonly hasProjectedAvatar = computed(() => !!this.projectedAvatar());\n\n protected readonly tooltipContent = computed(() => {\n if (!this.compact()) {\n return null;\n }\n return this.tooltip()?.trim() || this.name()?.trim() || this.ariaLabel()?.trim() || null;\n });\n\n protected readonly accessibleLabel = computed(() => {\n return (\n this.ariaLabel()?.trim() ||\n [this.name(), this.description()].filter(Boolean).join(', ') ||\n this.avatarAlt()\n );\n });\n\n protected readonly displayInitials = computed(() => {\n const provided = this.initials()?.trim();\n if (provided) {\n return provided.slice(0, 2).toUpperCase();\n }\n const name = this.name().trim();\n if (!name) {\n return '';\n }\n const parts = name.split(/\\s+/).filter(Boolean);\n if (parts.length === 1) {\n return parts[0].slice(0, 2).toUpperCase();\n }\n return `${parts[0][0] ?? ''}${parts[1][0] ?? ''}`.toUpperCase();\n });\n\n protected readonly hostClass = computed(() => {\n const classes = ['ax-sidebar-user'];\n if (this.compact()) {\n classes.push('ax-mode-compact');\n }\n if (this.disabled()) {\n classes.push('ax-state-disabled');\n }\n return classes.join(' ');\n });\n\n protected handleUserClick(nativeEvent: MouseEvent) {\n if (this.disabled()) {\n nativeEvent.preventDefault();\n nativeEvent.stopPropagation();\n return;\n }\n this.userClick.emit({\n component: this,\n htmlElement: this.nativeElement,\n nativeEvent,\n });\n }\n\n protected handleActionClick(nativeEvent: MouseEvent) {\n nativeEvent.stopPropagation();\n if (this.disabled()) {\n nativeEvent.preventDefault();\n return;\n }\n this.actionClick.emit({\n component: this,\n htmlElement: this.nativeElement,\n nativeEvent,\n });\n }\n}\n","<button\n type=\"button\"\n class=\"ax-sidebar-user-trigger\"\n [axTooltip]=\"tooltipContent()\"\n axTooltipPlacement=\"end\"\n [attr.aria-label]=\"accessibleLabel()\"\n [disabled]=\"disabled()\"\n (click)=\"handleUserClick($event)\"\n>\n <span class=\"ax-sidebar-user-avatar\">\n <ng-content select=\"ax-avatar, ax-prefix\"></ng-content>\n @if (!hasProjectedAvatar()) {\n @if (avatarSrc()) {\n <ax-avatar [size]=\"32\" shape=\"rounded\">\n <ax-image [src]=\"avatarSrc()\" [alt]=\"avatarAlt()\"></ax-image>\n </ax-avatar>\n } @else if (displayInitials()) {\n <ax-avatar [size]=\"32\" shape=\"rounded\">\n <ax-text>{{ displayInitials() }}</ax-text>\n </ax-avatar>\n } @else {\n <ax-avatar [size]=\"32\" shape=\"rounded\"></ax-avatar>\n }\n }\n </span>\n\n @if (!compact()) {\n <span class=\"ax-sidebar-user-text\">\n <ng-content select=\"ax-text, ax-title, ax-subtitle\"></ng-content>\n @if (name()) {\n <span class=\"ax-sidebar-user-name\">{{ name() }}</span>\n }\n @if (description()) {\n <span class=\"ax-sidebar-user-description\">{{ description() }}</span>\n }\n @if (status()) {\n <span class=\"ax-sidebar-user-status\">{{ status() }}</span>\n }\n </span>\n\n <span class=\"ax-sidebar-user-suffix\" (click)=\"handleActionClick($event)\">\n <ng-content select=\"ax-suffix\"></ng-content>\n </span>\n }\n</button>\n","import { AXComponent, NXComponent } from '@acorex/cdk/common';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { ChangeDetectionStrategy, Component, computed, input, model, ViewEncapsulation } from '@angular/core';\nimport { AXSidebarMode } from '../sidebar.types';\n\n/**\n * Sticky utility control that toggles sidebar full/compact mode.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-sidebar-collapse',\n templateUrl: './sidebar-collapse.component.html',\n styleUrls: ['./sidebar-collapse.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'hostClass()',\n },\n providers: [{ provide: AXComponent, useExisting: AXSidebarCollapseComponent }],\n imports: [AXTooltipModule],\n})\nexport class AXSidebarCollapseComponent extends NXComponent {\n /**\n * Current sidebar mode. Two-way bindable via `[(mode)]`.\n *\n * @defaultValue 'full'\n */\n mode = model<AXSidebarMode>('full');\n\n readonly disabled = input(false);\n readonly fullLabel = input('Collapse');\n readonly compactLabel = input('Expand');\n readonly ariaLabel = input<string | null>(null);\n readonly ariaControls = input<string | null>(null);\n\n protected readonly isFull = computed(() => this.mode() === 'full');\n protected readonly isCompact = computed(() => this.mode() === 'compact');\n\n protected readonly label = computed(() => (this.isFull() ? this.fullLabel() : this.compactLabel()));\n\n protected readonly accessibleLabel = computed(() => this.ariaLabel()?.trim() || this.label());\n\n protected readonly tooltipContent = computed(() => (this.isCompact() ? this.accessibleLabel() : null));\n\n protected readonly hostClass = computed(() => {\n const classes = ['ax-sidebar-collapse', `ax-mode-${this.mode()}`];\n if (this.disabled()) {\n classes.push('ax-state-disabled');\n }\n return classes.join(' ');\n });\n\n protected toggleMode() {\n if (this.disabled()) {\n return;\n }\n this.mode.update((current) => (current === 'full' ? 'compact' : 'full'));\n }\n}\n","<button\n type=\"button\"\n class=\"ax-sidebar-collapse-trigger\"\n [axTooltip]=\"tooltipContent()\"\n axTooltipPlacement=\"end\"\n [attr.aria-label]=\"accessibleLabel()\"\n [attr.aria-expanded]=\"isFull()\"\n [attr.aria-controls]=\"ariaControls()\"\n [disabled]=\"disabled()\"\n (click)=\"toggleMode()\"\n>\n <span class=\"ax-sidebar-collapse-icon\" aria-hidden=\"true\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\">\n @if (isFull()) {\n <path\n d=\"M10.5 3.5 6 8l4.5 4.5\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n } @else {\n <path\n d=\"M5.5 3.5 10 8l-4.5 4.5\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n }\n </svg>\n </span>\n @if (isFull()) {\n <span class=\"ax-sidebar-collapse-label\">{{ label() }}</span>\n }\n</button>\n","import { NgModule } from '@angular/core';\nimport {\n AXSidebarCollapseSlotDirective,\n AXSidebarFooterDirective,\n AXSidebarHeaderDirective,\n AXSidebarNavigationDirective,\n AXSidebarUserSlotDirective,\n} from './sidebar.directives';\nimport { AXSidebarComponent } from './sidebar.component';\nimport { AXSidebarCollapseComponent } from './sidebar-collapse/sidebar-collapse.component';\nimport { AXSidebarUserComponent } from './sidebar-user/sidebar-user.component';\n\nconst COMPONENTS = [AXSidebarComponent, AXSidebarUserComponent, AXSidebarCollapseComponent];\nconst DIRECTIVES = [\n AXSidebarHeaderDirective,\n AXSidebarNavigationDirective,\n AXSidebarFooterDirective,\n AXSidebarUserSlotDirective,\n AXSidebarCollapseSlotDirective,\n];\n\n@NgModule({\n imports: [...COMPONENTS, ...DIRECTIVES],\n exports: [...COMPONENTS, ...DIRECTIVES],\n})\nexport class AXSidebarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/sidebar/README.md
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
# @acorex/components/sidebar
|
|
2
|
-
|
|
3
|
-
Secondary entry point of `@acorex/components`. It can be used by importing from `@acorex/components/sidebar`.
|
|
4
|
-
|
|
5
|
-
Provides the enterprise sidebar shell (`ax-sidebar`), user account row (`ax-sidebar-user`), and collapse control (`ax-sidebar-collapse`). Use together with `@acorex/components/side-menu` for navigation.
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { NXComponent, AXClickEvent } from '@acorex/cdk/common';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Display mode for the sidebar shell and related utility components.
|
|
6
|
-
* Kept aligned with `AXSideMenu` mode values for shared binding.
|
|
7
|
-
*/
|
|
8
|
-
type AXSidebarMode = 'full' | 'compact';
|
|
9
|
-
|
|
10
|
-
/** Marks projected header content inside `ax-sidebar`. */
|
|
11
|
-
declare class AXSidebarHeaderDirective {
|
|
12
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSidebarHeaderDirective, never>;
|
|
13
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXSidebarHeaderDirective, "[axSidebarHeader]", never, {}, {}, never, never, true, never>;
|
|
14
|
-
}
|
|
15
|
-
/** Marks projected navigation content (typically `ax-side-menu`) inside `ax-sidebar`. */
|
|
16
|
-
declare class AXSidebarNavigationDirective {
|
|
17
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSidebarNavigationDirective, never>;
|
|
18
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXSidebarNavigationDirective, "[axSidebarNavigation]", never, {}, {}, never, never, true, never>;
|
|
19
|
-
}
|
|
20
|
-
/** Marks projected footer utility content inside `ax-sidebar`. */
|
|
21
|
-
declare class AXSidebarFooterDirective {
|
|
22
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSidebarFooterDirective, never>;
|
|
23
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXSidebarFooterDirective, "[axSidebarFooter]", never, {}, {}, never, never, true, never>;
|
|
24
|
-
}
|
|
25
|
-
/** Marks the user utility slot inside `ax-sidebar`. */
|
|
26
|
-
declare class AXSidebarUserSlotDirective {
|
|
27
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSidebarUserSlotDirective, never>;
|
|
28
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXSidebarUserSlotDirective, "[axSidebarUser]", never, {}, {}, never, never, true, never>;
|
|
29
|
-
}
|
|
30
|
-
/** Marks the collapse utility slot inside `ax-sidebar`. */
|
|
31
|
-
declare class AXSidebarCollapseSlotDirective {
|
|
32
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSidebarCollapseSlotDirective, never>;
|
|
33
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXSidebarCollapseSlotDirective, "[axSidebarCollapse]", never, {}, {}, never, never, true, never>;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Layout shell for an enterprise sidebar with full and compact widths,
|
|
38
|
-
* sticky header/utility regions, and a scrollable navigation slot.
|
|
39
|
-
*
|
|
40
|
-
* @category Components
|
|
41
|
-
*/
|
|
42
|
-
declare class AXSidebarComponent extends NXComponent {
|
|
43
|
-
/**
|
|
44
|
-
* Sidebar display mode shared with collapse and side-menu consumers.
|
|
45
|
-
*
|
|
46
|
-
* @defaultValue 'full'
|
|
47
|
-
*/
|
|
48
|
-
mode: _angular_core.ModelSignal<AXSidebarMode>;
|
|
49
|
-
/**
|
|
50
|
-
* Accessible name for the sidebar landmark.
|
|
51
|
-
*
|
|
52
|
-
* @defaultValue 'Sidebar'
|
|
53
|
-
*/
|
|
54
|
-
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
55
|
-
/**
|
|
56
|
-
* Optional id of the navigation region for `aria-controls` wiring from collapse.
|
|
57
|
-
*/
|
|
58
|
-
readonly navigationId: _angular_core.InputSignal<string>;
|
|
59
|
-
protected readonly isFull: _angular_core.Signal<boolean>;
|
|
60
|
-
protected readonly isCompact: _angular_core.Signal<boolean>;
|
|
61
|
-
protected readonly hostClass: _angular_core.Signal<string>;
|
|
62
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSidebarComponent, never>;
|
|
63
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSidebarComponent, "ax-sidebar", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "navigationId": { "alias": "navigationId"; "required": false; "isSignal": true; }; }, { "mode": "modeChange"; }, never, ["[axSidebarHeader], ax-header", "ax-side-menu, [axSidebarNavigation]", "*", "ax-sidebar-user, [axSidebarUser]", "ax-sidebar-collapse, [axSidebarCollapse]", "[axSidebarFooter], ax-footer"], true, never>;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Reusable user/account row for sidebar utility areas.
|
|
68
|
-
* Renders expanded identity content or a compact avatar with tooltip.
|
|
69
|
-
*
|
|
70
|
-
* @category Components
|
|
71
|
-
*/
|
|
72
|
-
declare class AXSidebarUserComponent extends NXComponent {
|
|
73
|
-
readonly avatarSrc: _angular_core.InputSignal<string>;
|
|
74
|
-
readonly avatarAlt: _angular_core.InputSignal<string>;
|
|
75
|
-
readonly initials: _angular_core.InputSignal<string>;
|
|
76
|
-
readonly name: _angular_core.InputSignal<string>;
|
|
77
|
-
readonly description: _angular_core.InputSignal<string>;
|
|
78
|
-
readonly status: _angular_core.InputSignal<string>;
|
|
79
|
-
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
80
|
-
readonly compact: _angular_core.InputSignal<boolean>;
|
|
81
|
-
readonly tooltip: _angular_core.InputSignal<string>;
|
|
82
|
-
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
83
|
-
readonly userClick: _angular_core.OutputEmitterRef<AXClickEvent>;
|
|
84
|
-
readonly actionClick: _angular_core.OutputEmitterRef<AXClickEvent>;
|
|
85
|
-
private readonly projectedAvatar;
|
|
86
|
-
protected readonly hasProjectedAvatar: _angular_core.Signal<boolean>;
|
|
87
|
-
protected readonly tooltipContent: _angular_core.Signal<string>;
|
|
88
|
-
protected readonly accessibleLabel: _angular_core.Signal<string>;
|
|
89
|
-
protected readonly displayInitials: _angular_core.Signal<string>;
|
|
90
|
-
protected readonly hostClass: _angular_core.Signal<string>;
|
|
91
|
-
protected handleUserClick(nativeEvent: MouseEvent): void;
|
|
92
|
-
protected handleActionClick(nativeEvent: MouseEvent): void;
|
|
93
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSidebarUserComponent, never>;
|
|
94
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSidebarUserComponent, "ax-sidebar-user", never, { "avatarSrc": { "alias": "avatarSrc"; "required": false; "isSignal": true; }; "avatarAlt": { "alias": "avatarAlt"; "required": false; "isSignal": true; }; "initials": { "alias": "initials"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "userClick": "userClick"; "actionClick": "actionClick"; }, ["projectedAvatar"], ["ax-avatar, ax-prefix", "ax-text, ax-title, ax-subtitle", "ax-suffix"], true, never>;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Sticky utility control that toggles sidebar full/compact mode.
|
|
99
|
-
*
|
|
100
|
-
* @category Components
|
|
101
|
-
*/
|
|
102
|
-
declare class AXSidebarCollapseComponent extends NXComponent {
|
|
103
|
-
/**
|
|
104
|
-
* Current sidebar mode. Two-way bindable via `[(mode)]`.
|
|
105
|
-
*
|
|
106
|
-
* @defaultValue 'full'
|
|
107
|
-
*/
|
|
108
|
-
mode: _angular_core.ModelSignal<AXSidebarMode>;
|
|
109
|
-
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
110
|
-
readonly fullLabel: _angular_core.InputSignal<string>;
|
|
111
|
-
readonly compactLabel: _angular_core.InputSignal<string>;
|
|
112
|
-
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
113
|
-
readonly ariaControls: _angular_core.InputSignal<string>;
|
|
114
|
-
protected readonly isFull: _angular_core.Signal<boolean>;
|
|
115
|
-
protected readonly isCompact: _angular_core.Signal<boolean>;
|
|
116
|
-
protected readonly label: _angular_core.Signal<string>;
|
|
117
|
-
protected readonly accessibleLabel: _angular_core.Signal<string>;
|
|
118
|
-
protected readonly tooltipContent: _angular_core.Signal<string>;
|
|
119
|
-
protected readonly hostClass: _angular_core.Signal<string>;
|
|
120
|
-
protected toggleMode(): void;
|
|
121
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSidebarCollapseComponent, never>;
|
|
122
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSidebarCollapseComponent, "ax-sidebar-collapse", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "fullLabel": { "alias": "fullLabel"; "required": false; "isSignal": true; }; "compactLabel": { "alias": "compactLabel"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaControls": { "alias": "ariaControls"; "required": false; "isSignal": true; }; }, { "mode": "modeChange"; }, never, never, true, never>;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
declare class AXSidebarModule {
|
|
126
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSidebarModule, never>;
|
|
127
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXSidebarModule, never, [typeof AXSidebarComponent, typeof AXSidebarUserComponent, typeof AXSidebarCollapseComponent, typeof AXSidebarHeaderDirective, typeof AXSidebarNavigationDirective, typeof AXSidebarFooterDirective, typeof AXSidebarUserSlotDirective, typeof AXSidebarCollapseSlotDirective], [typeof AXSidebarComponent, typeof AXSidebarUserComponent, typeof AXSidebarCollapseComponent, typeof AXSidebarHeaderDirective, typeof AXSidebarNavigationDirective, typeof AXSidebarFooterDirective, typeof AXSidebarUserSlotDirective, typeof AXSidebarCollapseSlotDirective]>;
|
|
128
|
-
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXSidebarModule>;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
export { AXSidebarCollapseComponent, AXSidebarCollapseSlotDirective, AXSidebarComponent, AXSidebarFooterDirective, AXSidebarHeaderDirective, AXSidebarModule, AXSidebarNavigationDirective, AXSidebarUserComponent, AXSidebarUserSlotDirective };
|
|
132
|
-
export type { AXSidebarMode };
|