@acorex/cdk 19.12.0 → 19.13.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/drawer/lib/drawer-container.directive.d.ts +1 -3
- package/drawer/lib/drawer-item.directive.d.ts +4 -2
- package/fesm2022/acorex-cdk-drawer.mjs +10 -10
- package/fesm2022/acorex-cdk-drawer.mjs.map +1 -1
- package/fesm2022/acorex-cdk-focus-trap.mjs +71 -0
- package/fesm2022/acorex-cdk-focus-trap.mjs.map +1 -0
- package/focus-trap/README.md +3 -0
- package/focus-trap/index.d.ts +1 -0
- package/focus-trap/lib/focus-trap.directive.d.ts +16 -0
- package/package.json +5 -1
|
@@ -3,8 +3,6 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
export declare class AXDrawerContainerDirective {
|
|
4
4
|
#private;
|
|
5
5
|
el: ElementRef<any>;
|
|
6
|
-
onBackdropClicked: import("@angular/core").OutputEmitterRef<void>;
|
|
7
|
-
onDrawerClosed: import("@angular/core").OutputEmitterRef<void>;
|
|
8
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXDrawerContainerDirective, never>;
|
|
9
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<AXDrawerContainerDirective, "[axDrawerContainer]", ["axDrawerContainer"], {}, {
|
|
7
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AXDrawerContainerDirective, "[axDrawerContainer]", ["axDrawerContainer"], {}, {}, never, never, true, never>;
|
|
10
8
|
}
|
|
@@ -7,16 +7,18 @@ export declare class AXDrawerItemDirective {
|
|
|
7
7
|
mode: import("@angular/core").InputSignal<"push" | "overlay">;
|
|
8
8
|
transition: import("@angular/core").InputSignal<string>;
|
|
9
9
|
closeOnBackdropClick: import("@angular/core").InputSignal<boolean>;
|
|
10
|
-
|
|
10
|
+
backdropClass: import("@angular/core").InputSignal<string>;
|
|
11
11
|
private el;
|
|
12
12
|
private htmlElem;
|
|
13
13
|
private rect;
|
|
14
14
|
private showState;
|
|
15
15
|
private parent;
|
|
16
|
+
onBackdropClick: import("@angular/core").OutputEmitterRef<MouseEvent>;
|
|
17
|
+
onDrawerClosed: import("@angular/core").OutputEmitterRef<void>;
|
|
16
18
|
show(): void;
|
|
17
19
|
hide(): void;
|
|
18
20
|
toggle(): void;
|
|
19
21
|
private addBackdropClickListener;
|
|
20
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXDrawerItemDirective, never>;
|
|
21
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<AXDrawerItemDirective, "[axDrawerItem]", ["axDrawerItem"], { "drawerLocation": { "alias": "drawerLocation"; "required": false; "isSignal": true; }; "initialState": { "alias": "initialState"; "required": false; "isSignal": true; }; "backDrop": { "alias": "backDrop"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "transition": { "alias": "transition"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "
|
|
23
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AXDrawerItemDirective, "[axDrawerItem]", ["axDrawerItem"], { "drawerLocation": { "alias": "drawerLocation"; "required": false; "isSignal": true; }; "initialState": { "alias": "initialState"; "required": false; "isSignal": true; }; "backDrop": { "alias": "backDrop"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "transition": { "alias": "transition"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "backdropClass": { "alias": "backdropClass"; "required": false; "isSignal": true; }; }, { "onBackdropClick": "onBackdropClick"; "onDrawerClosed": "onDrawerClosed"; }, never, never, true, never>;
|
|
22
24
|
}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ElementRef,
|
|
2
|
+
import { inject, ElementRef, afterNextRender, Directive, input, signal, output, NgModule } from '@angular/core';
|
|
3
3
|
|
|
4
4
|
class AXDrawerContainerDirective {
|
|
5
5
|
constructor() {
|
|
6
6
|
this.el = inject(ElementRef);
|
|
7
|
-
this.onBackdropClicked = output();
|
|
8
|
-
this.onDrawerClosed = output();
|
|
9
7
|
this.#init = afterNextRender(() => {
|
|
10
8
|
const htmlElem = this.el.nativeElement;
|
|
11
9
|
htmlElem.style.position = 'relative';
|
|
@@ -16,7 +14,7 @@ class AXDrawerContainerDirective {
|
|
|
16
14
|
}
|
|
17
15
|
#init;
|
|
18
16
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXDrawerContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
19
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.5", type: AXDrawerContainerDirective, isStandalone: true, selector: "[axDrawerContainer]",
|
|
17
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.5", type: AXDrawerContainerDirective, isStandalone: true, selector: "[axDrawerContainer]", exportAs: ["axDrawerContainer"], ngImport: i0 }); }
|
|
20
18
|
}
|
|
21
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXDrawerContainerDirective, decorators: [{
|
|
22
20
|
type: Directive,
|
|
@@ -34,12 +32,14 @@ class AXDrawerItemDirective {
|
|
|
34
32
|
this.mode = input('overlay');
|
|
35
33
|
this.transition = input('0.5');
|
|
36
34
|
this.closeOnBackdropClick = input(false);
|
|
37
|
-
this.
|
|
35
|
+
this.backdropClass = input('ax-bg-black/45');
|
|
38
36
|
this.el = inject(ElementRef);
|
|
39
37
|
this.htmlElem = signal(null);
|
|
40
38
|
this.rect = signal(null);
|
|
41
39
|
this.showState = signal(null);
|
|
42
40
|
this.parent = inject(AXDrawerContainerDirective);
|
|
41
|
+
this.onBackdropClick = output();
|
|
42
|
+
this.onDrawerClosed = output();
|
|
43
43
|
this.#init = afterNextRender(() => {
|
|
44
44
|
this.htmlElem.set(this.el.nativeElement);
|
|
45
45
|
this.htmlElem().style.transition = `${this.transition()}s all ease`;
|
|
@@ -107,7 +107,7 @@ class AXDrawerItemDirective {
|
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
if (this.backDrop()) {
|
|
110
|
-
this.parent.el.nativeElement.
|
|
110
|
+
this.parent.el.nativeElement.classList.add(...this.backdropClass().split(' '));
|
|
111
111
|
}
|
|
112
112
|
this.showState.set(true);
|
|
113
113
|
}
|
|
@@ -141,10 +141,10 @@ class AXDrawerItemDirective {
|
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
if (this.backDrop()) {
|
|
144
|
-
this.parent.el.nativeElement.
|
|
144
|
+
this.parent.el.nativeElement.classList.remove(...this.backdropClass().split(' '));
|
|
145
145
|
}
|
|
146
146
|
this.showState.set(false);
|
|
147
|
-
this.
|
|
147
|
+
this.onDrawerClosed.emit();
|
|
148
148
|
}
|
|
149
149
|
toggle() {
|
|
150
150
|
if (this.showState()) {
|
|
@@ -158,7 +158,7 @@ class AXDrawerItemDirective {
|
|
|
158
158
|
const backdropElement = this.parent.el.nativeElement;
|
|
159
159
|
backdropElement.addEventListener('pointerdown', (event) => {
|
|
160
160
|
if (!this.htmlElem().contains(event.target) && this.showState()) {
|
|
161
|
-
this.
|
|
161
|
+
this.onBackdropClick.emit(event);
|
|
162
162
|
if (this.closeOnBackdropClick()) {
|
|
163
163
|
this.hide();
|
|
164
164
|
}
|
|
@@ -166,7 +166,7 @@ class AXDrawerItemDirective {
|
|
|
166
166
|
});
|
|
167
167
|
}
|
|
168
168
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXDrawerItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
169
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.5", type: AXDrawerItemDirective, isStandalone: true, selector: "[axDrawerItem]", inputs: { drawerLocation: { classPropertyName: "drawerLocation", publicName: "drawerLocation", isSignal: true, isRequired: false, transformFunction: null }, initialState: { classPropertyName: "initialState", publicName: "initialState", isSignal: true, isRequired: false, transformFunction: null }, backDrop: { classPropertyName: "backDrop", publicName: "backDrop", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, transition: { classPropertyName: "transition", publicName: "transition", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdropClick: { classPropertyName: "closeOnBackdropClick", publicName: "closeOnBackdropClick", isSignal: true, isRequired: false, transformFunction: null },
|
|
169
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.5", type: AXDrawerItemDirective, isStandalone: true, selector: "[axDrawerItem]", inputs: { drawerLocation: { classPropertyName: "drawerLocation", publicName: "drawerLocation", isSignal: true, isRequired: false, transformFunction: null }, initialState: { classPropertyName: "initialState", publicName: "initialState", isSignal: true, isRequired: false, transformFunction: null }, backDrop: { classPropertyName: "backDrop", publicName: "backDrop", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, transition: { classPropertyName: "transition", publicName: "transition", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdropClick: { classPropertyName: "closeOnBackdropClick", publicName: "closeOnBackdropClick", isSignal: true, isRequired: false, transformFunction: null }, backdropClass: { classPropertyName: "backdropClass", publicName: "backdropClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onBackdropClick: "onBackdropClick", onDrawerClosed: "onDrawerClosed" }, exportAs: ["axDrawerItem"], ngImport: i0 }); }
|
|
170
170
|
}
|
|
171
171
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXDrawerItemDirective, decorators: [{
|
|
172
172
|
type: Directive,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-cdk-drawer.mjs","sources":["../../../../libs/cdk/drawer/src/lib/drawer-container.directive.ts","../../../../libs/cdk/drawer/src/lib/drawer-item.directive.ts","../../../../libs/cdk/drawer/src/lib/drawer.module.ts","../../../../libs/cdk/drawer/src/acorex-cdk-drawer.ts"],"sourcesContent":["import { afterNextRender, Directive, ElementRef, inject, output } from '@angular/core';\n\n@Directive({\n selector: '[axDrawerContainer]',\n exportAs: 'axDrawerContainer',\n})\nexport class AXDrawerContainerDirective {\n el = inject(ElementRef);\n\n onBackdropClicked = output();\n onDrawerClosed = output();\n\n #init = afterNextRender(() => {\n const htmlElem = this.el.nativeElement as HTMLElement;\n htmlElem.style.position = 'relative';\n htmlElem.style.overflow = 'hidden';\n htmlElem.style.display = 'flex';\n htmlElem.style.touchAction = 'none';\n });\n}\n","import { afterNextRender, Directive, ElementRef, inject, input, signal } from '@angular/core';\nimport { AXDrawerContainerDirective } from './drawer-container.directive';\n\n@Directive({\n selector: '[axDrawerItem]',\n exportAs: 'axDrawerItem',\n})\nexport class AXDrawerItemDirective {\n drawerLocation = input<'left' | 'right' | 'top' | 'bottom'>('left');\n initialState = input<'show' | 'hide'>('hide');\n backDrop = input(true);\n mode = input<'push' | 'overlay'>('overlay');\n transition = input('0.5');\n closeOnBackdropClick = input(false);\n backdropColor = input('rgba(0,0,0,0.5)');\n private el = inject(ElementRef);\n private htmlElem = signal<HTMLElement>(null);\n private rect = signal<DOMRect>(null);\n private showState = signal(null);\n private parent = inject(AXDrawerContainerDirective);\n\n #init = afterNextRender(() => {\n this.htmlElem.set(this.el.nativeElement as HTMLElement);\n this.htmlElem().style.transition = `${this.transition()}s all ease`;\n this.parent.el.nativeElement.style.transition = `${this.transition()}s all ease`;\n\n if (this.backDrop()) {\n this.addBackdropClickListener();\n }\n\n if (this.mode() === 'push') {\n switch (this.drawerLocation()) {\n case 'right':\n this.htmlElem().style.order = '999';\n this.parent.el.nativeElement.style.justifyContent = 'space-between';\n break;\n case 'left':\n this.htmlElem().style.order = '-999';\n break;\n case 'bottom':\n this.htmlElem().style.order = '999';\n this.parent.el.nativeElement.style.flexDirection = 'column';\n break;\n case 'top':\n this.htmlElem().style.order = '-999';\n this.parent.el.nativeElement.style.flexDirection = 'column';\n break;\n }\n }\n\n this.rect.set(this.htmlElem().getClientRects()[0]);\n\n if (this.mode() === 'overlay') {\n this.htmlElem().style.position = 'absolute';\n this.htmlElem().style.top = '0px';\n }\n\n if (this.initialState() === 'show') {\n this.show();\n }\n if (this.initialState() === 'hide') {\n this.hide();\n }\n });\n\n public show() {\n if (this.mode() === 'overlay') {\n if (this.drawerLocation() === 'left') {\n this.htmlElem().style.left = `0px`;\n }\n\n if (this.drawerLocation() === 'right') {\n this.htmlElem().style.right = `0px`;\n }\n\n if (this.drawerLocation() === 'top' || this.drawerLocation() === 'bottom') {\n this.htmlElem().style.top = `0px`;\n }\n }\n\n if (this.mode() === 'push') {\n if (this.drawerLocation() === 'left') {\n this.htmlElem().style.marginInlineStart = '0px';\n }\n\n if (this.drawerLocation() === 'right') {\n this.htmlElem().style.marginInlineEnd = '0px';\n }\n\n if (this.drawerLocation() === 'bottom') {\n this.htmlElem().style.marginBlockStart = '0px';\n }\n\n if (this.drawerLocation() === 'top') {\n this.htmlElem().style.marginBlockStart = '0px';\n }\n }\n\n if (this.backDrop()) {\n (this.parent.el.nativeElement as HTMLElement).style.backgroundColor = this.backdropColor();\n }\n\n this.showState.set(true);\n }\n\n public hide() {\n if (this.mode() === 'overlay') {\n if (this.drawerLocation() === 'left') {\n this.htmlElem().style.left = `-${this.rect().width}px`;\n }\n\n if (this.drawerLocation() === 'right') {\n this.htmlElem().style.right = `-${this.rect().width}px`;\n }\n\n if (this.drawerLocation() === 'top') {\n this.htmlElem().style.top = `-${this.rect().height}px`;\n }\n\n if (this.drawerLocation() === 'bottom') {\n this.htmlElem().style.top = `${this.rect().height}px`;\n }\n }\n\n if (this.mode() === 'push') {\n if (this.drawerLocation() === 'right') {\n this.htmlElem().style.marginInlineEnd = `-${this.rect().width}px`;\n }\n\n if (this.drawerLocation() === 'left') {\n this.htmlElem().style.marginInlineStart = `-${this.rect().width}px`;\n }\n\n if (this.drawerLocation() === 'bottom') {\n this.htmlElem().style.marginBlockStart = `${this.rect().height}px`;\n }\n\n if (this.drawerLocation() === 'top') {\n this.htmlElem().style.marginBlockStart = `-${this.rect().height}px`;\n }\n }\n\n if (this.backDrop()) {\n (this.parent.el.nativeElement as HTMLElement).style.backgroundColor = 'transparent';\n }\n\n this.showState.set(false);\n this.parent.onDrawerClosed.emit();\n }\n\n public toggle() {\n if (this.showState()) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n private addBackdropClickListener() {\n const backdropElement = this.parent.el.nativeElement as HTMLElement;\n backdropElement.addEventListener('pointerdown', (event: MouseEvent) => {\n if (!this.htmlElem().contains(event.target as Node) && this.showState()) {\n this.parent.onBackdropClicked.emit();\n if (this.closeOnBackdropClick()) {\n this.hide();\n }\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AXDrawerContainerDirective } from './drawer-container.directive';\nimport { AXDrawerItemDirective } from './drawer-item.directive';\n\nconst COMPONENT = [AXDrawerContainerDirective, AXDrawerItemDirective];\n\nconst MODULES = [];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDrawerDirectiveModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-cdk-drawer.mjs","sources":["../../../../libs/cdk/drawer/src/lib/drawer-container.directive.ts","../../../../libs/cdk/drawer/src/lib/drawer-item.directive.ts","../../../../libs/cdk/drawer/src/lib/drawer.module.ts","../../../../libs/cdk/drawer/src/acorex-cdk-drawer.ts"],"sourcesContent":["import { afterNextRender, Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[axDrawerContainer]',\n exportAs: 'axDrawerContainer',\n})\nexport class AXDrawerContainerDirective {\n el = inject(ElementRef);\n\n #init = afterNextRender(() => {\n const htmlElem = this.el.nativeElement as HTMLElement;\n htmlElem.style.position = 'relative';\n htmlElem.style.overflow = 'hidden';\n htmlElem.style.display = 'flex';\n htmlElem.style.touchAction = 'none';\n });\n}\n","import { afterNextRender, Directive, ElementRef, inject, input, output, signal } from '@angular/core';\nimport { AXDrawerContainerDirective } from './drawer-container.directive';\n\n@Directive({\n selector: '[axDrawerItem]',\n exportAs: 'axDrawerItem',\n})\nexport class AXDrawerItemDirective {\n drawerLocation = input<'left' | 'right' | 'top' | 'bottom'>('left');\n initialState = input<'show' | 'hide'>('hide');\n backDrop = input(true);\n mode = input<'push' | 'overlay'>('overlay');\n transition = input('0.5');\n closeOnBackdropClick = input(false);\n backdropClass = input('ax-bg-black/45');\n private el = inject(ElementRef);\n private htmlElem = signal<HTMLElement>(null);\n private rect = signal<DOMRect>(null);\n private showState = signal(null);\n private parent = inject(AXDrawerContainerDirective);\n\n onBackdropClick = output<MouseEvent>();\n onDrawerClosed = output();\n\n #init = afterNextRender(() => {\n this.htmlElem.set(this.el.nativeElement as HTMLElement);\n this.htmlElem().style.transition = `${this.transition()}s all ease`;\n this.parent.el.nativeElement.style.transition = `${this.transition()}s all ease`;\n\n if (this.backDrop()) {\n this.addBackdropClickListener();\n }\n\n if (this.mode() === 'push') {\n switch (this.drawerLocation()) {\n case 'right':\n this.htmlElem().style.order = '999';\n this.parent.el.nativeElement.style.justifyContent = 'space-between';\n break;\n case 'left':\n this.htmlElem().style.order = '-999';\n break;\n case 'bottom':\n this.htmlElem().style.order = '999';\n this.parent.el.nativeElement.style.flexDirection = 'column';\n break;\n case 'top':\n this.htmlElem().style.order = '-999';\n this.parent.el.nativeElement.style.flexDirection = 'column';\n break;\n }\n }\n\n this.rect.set(this.htmlElem().getClientRects()[0]);\n\n if (this.mode() === 'overlay') {\n this.htmlElem().style.position = 'absolute';\n this.htmlElem().style.top = '0px';\n }\n\n if (this.initialState() === 'show') {\n this.show();\n }\n if (this.initialState() === 'hide') {\n this.hide();\n }\n });\n\n public show() {\n if (this.mode() === 'overlay') {\n if (this.drawerLocation() === 'left') {\n this.htmlElem().style.left = `0px`;\n }\n\n if (this.drawerLocation() === 'right') {\n this.htmlElem().style.right = `0px`;\n }\n\n if (this.drawerLocation() === 'top' || this.drawerLocation() === 'bottom') {\n this.htmlElem().style.top = `0px`;\n }\n }\n\n if (this.mode() === 'push') {\n if (this.drawerLocation() === 'left') {\n this.htmlElem().style.marginInlineStart = '0px';\n }\n\n if (this.drawerLocation() === 'right') {\n this.htmlElem().style.marginInlineEnd = '0px';\n }\n\n if (this.drawerLocation() === 'bottom') {\n this.htmlElem().style.marginBlockStart = '0px';\n }\n\n if (this.drawerLocation() === 'top') {\n this.htmlElem().style.marginBlockStart = '0px';\n }\n }\n\n if (this.backDrop()) {\n (this.parent.el.nativeElement as HTMLElement).classList.add(...this.backdropClass().split(' '));\n }\n\n this.showState.set(true);\n }\n\n public hide() {\n if (this.mode() === 'overlay') {\n if (this.drawerLocation() === 'left') {\n this.htmlElem().style.left = `-${this.rect().width}px`;\n }\n\n if (this.drawerLocation() === 'right') {\n this.htmlElem().style.right = `-${this.rect().width}px`;\n }\n\n if (this.drawerLocation() === 'top') {\n this.htmlElem().style.top = `-${this.rect().height}px`;\n }\n\n if (this.drawerLocation() === 'bottom') {\n this.htmlElem().style.top = `${this.rect().height}px`;\n }\n }\n\n if (this.mode() === 'push') {\n if (this.drawerLocation() === 'right') {\n this.htmlElem().style.marginInlineEnd = `-${this.rect().width}px`;\n }\n\n if (this.drawerLocation() === 'left') {\n this.htmlElem().style.marginInlineStart = `-${this.rect().width}px`;\n }\n\n if (this.drawerLocation() === 'bottom') {\n this.htmlElem().style.marginBlockStart = `${this.rect().height}px`;\n }\n\n if (this.drawerLocation() === 'top') {\n this.htmlElem().style.marginBlockStart = `-${this.rect().height}px`;\n }\n }\n\n if (this.backDrop()) {\n (this.parent.el.nativeElement as HTMLElement).classList.remove(...this.backdropClass().split(' '));\n }\n\n this.showState.set(false);\n this.onDrawerClosed.emit();\n }\n\n public toggle() {\n if (this.showState()) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n private addBackdropClickListener() {\n const backdropElement = this.parent.el.nativeElement as HTMLElement;\n backdropElement.addEventListener('pointerdown', (event: MouseEvent) => {\n if (!this.htmlElem().contains(event.target as Node) && this.showState()) {\n this.onBackdropClick.emit(event);\n if (this.closeOnBackdropClick()) {\n this.hide();\n }\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AXDrawerContainerDirective } from './drawer-container.directive';\nimport { AXDrawerItemDirective } from './drawer-item.directive';\n\nconst COMPONENT = [AXDrawerContainerDirective, AXDrawerItemDirective];\n\nconst MODULES = [];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDrawerDirectiveModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, ElementRef, signal, afterNextRender, HostListener, Directive } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
class AXFocusTrapDirective {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.el = inject(ElementRef);
|
|
7
|
+
this.focusableElements = [];
|
|
8
|
+
this.nativeElement = signal(null);
|
|
9
|
+
this.observer = new MutationObserver(() => this.setFocusableElements());
|
|
10
|
+
this.#init = afterNextRender(() => {
|
|
11
|
+
this.nativeElement.set(this.el.nativeElement);
|
|
12
|
+
this.setFocusableElements();
|
|
13
|
+
this.observer.observe(this.el.nativeElement, { childList: true, subtree: true });
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
#init;
|
|
17
|
+
ngOnDestroy() {
|
|
18
|
+
this.observer.disconnect();
|
|
19
|
+
}
|
|
20
|
+
setFocusableElements() {
|
|
21
|
+
const focusableSelectors = [
|
|
22
|
+
'a[href]',
|
|
23
|
+
'button:not([disabled])',
|
|
24
|
+
'textarea:not([disabled])',
|
|
25
|
+
'input:not([disabled])',
|
|
26
|
+
'select:not([disabled])',
|
|
27
|
+
'[tabindex]:not([tabindex="-1"])',
|
|
28
|
+
];
|
|
29
|
+
this.focusableElements = Array.from(this.nativeElement().querySelectorAll(focusableSelectors.join(',')))
|
|
30
|
+
.filter((el) => !el.hasAttribute('disabled'))
|
|
31
|
+
.map((el) => el);
|
|
32
|
+
if (this.focusableElements.length) {
|
|
33
|
+
this.firstElement = this.focusableElements[0];
|
|
34
|
+
this.lastElement = this.focusableElements[this.focusableElements.length - 1];
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
handleKeyboardEvent(event) {
|
|
38
|
+
if (event.key !== 'Tab' || this.focusableElements.length === 0)
|
|
39
|
+
return;
|
|
40
|
+
if (event.shiftKey) {
|
|
41
|
+
if (document.activeElement === this.firstElement) {
|
|
42
|
+
this.lastElement.focus();
|
|
43
|
+
event.preventDefault();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
if (document.activeElement === this.lastElement) {
|
|
48
|
+
this.firstElement.focus();
|
|
49
|
+
event.preventDefault();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXFocusTrapDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
54
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.5", type: AXFocusTrapDirective, isStandalone: true, selector: "[axFocusTrap]", host: { listeners: { "keydown": "handleKeyboardEvent($event)" } }, ngImport: i0 }); }
|
|
55
|
+
}
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXFocusTrapDirective, decorators: [{
|
|
57
|
+
type: Directive,
|
|
58
|
+
args: [{
|
|
59
|
+
selector: '[axFocusTrap]',
|
|
60
|
+
}]
|
|
61
|
+
}], propDecorators: { handleKeyboardEvent: [{
|
|
62
|
+
type: HostListener,
|
|
63
|
+
args: ['keydown', ['$event']]
|
|
64
|
+
}] } });
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Generated bundle index. Do not edit.
|
|
68
|
+
*/
|
|
69
|
+
|
|
70
|
+
export { AXFocusTrapDirective };
|
|
71
|
+
//# sourceMappingURL=acorex-cdk-focus-trap.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-cdk-focus-trap.mjs","sources":["../../../../libs/cdk/focus-trap/src/lib/focus-trap.directive.ts","../../../../libs/cdk/focus-trap/src/acorex-cdk-focus-trap.ts"],"sourcesContent":["import { afterNextRender, Directive, ElementRef, HostListener, inject, OnDestroy, signal } from '@angular/core';\n\n@Directive({\n selector: '[axFocusTrap]',\n})\nexport class AXFocusTrapDirective implements OnDestroy {\n private el = inject(ElementRef);\n private focusableElements: HTMLElement[] = [];\n private firstElement!: HTMLElement;\n private lastElement!: HTMLElement;\n private nativeElement = signal<HTMLElement>(null);\n private observer = new MutationObserver(() => this.setFocusableElements());\n\n #init = afterNextRender(() => {\n this.nativeElement.set(this.el.nativeElement);\n this.setFocusableElements();\n this.observer.observe(this.el.nativeElement, { childList: true, subtree: true });\n });\n\n ngOnDestroy(): void {\n this.observer.disconnect();\n }\n\n private setFocusableElements() {\n const focusableSelectors = [\n 'a[href]',\n 'button:not([disabled])',\n 'textarea:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n ];\n\n this.focusableElements = Array.from(this.nativeElement().querySelectorAll(focusableSelectors.join(',')))\n .filter((el: Element) => !el.hasAttribute('disabled'))\n .map((el) => el as HTMLElement);\n\n if (this.focusableElements.length) {\n this.firstElement = this.focusableElements[0];\n this.lastElement = this.focusableElements[this.focusableElements.length - 1];\n }\n }\n\n @HostListener('keydown', ['$event'])\n handleKeyboardEvent(event: KeyboardEvent): void {\n if (event.key !== 'Tab' || this.focusableElements.length === 0) return;\n\n if (event.shiftKey) {\n if (document.activeElement === this.firstElement) {\n this.lastElement.focus();\n event.preventDefault();\n }\n } else {\n if (document.activeElement === this.lastElement) {\n this.firstElement.focus();\n event.preventDefault();\n }\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib/focus-trap.directive';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { OnDestroy } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class AXFocusTrapDirective implements OnDestroy {
|
|
4
|
+
#private;
|
|
5
|
+
private el;
|
|
6
|
+
private focusableElements;
|
|
7
|
+
private firstElement;
|
|
8
|
+
private lastElement;
|
|
9
|
+
private nativeElement;
|
|
10
|
+
private observer;
|
|
11
|
+
ngOnDestroy(): void;
|
|
12
|
+
private setFocusableElements;
|
|
13
|
+
handleKeyboardEvent(event: KeyboardEvent): void;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXFocusTrapDirective, never>;
|
|
15
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AXFocusTrapDirective, "[axFocusTrap]", never, {}, {}, never, never, true, never>;
|
|
16
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acorex/cdk",
|
|
3
|
-
"version": "19.
|
|
3
|
+
"version": "19.13.0-next.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": ">=19.0.0",
|
|
6
6
|
"@angular/core": ">=19.0.0",
|
|
@@ -39,6 +39,10 @@
|
|
|
39
39
|
"types": "./drawer/index.d.ts",
|
|
40
40
|
"default": "./fesm2022/acorex-cdk-drawer.mjs"
|
|
41
41
|
},
|
|
42
|
+
"./focus-trap": {
|
|
43
|
+
"types": "./focus-trap/index.d.ts",
|
|
44
|
+
"default": "./fesm2022/acorex-cdk-focus-trap.mjs"
|
|
45
|
+
},
|
|
42
46
|
"./list-navigation": {
|
|
43
47
|
"types": "./list-navigation/index.d.ts",
|
|
44
48
|
"default": "./fesm2022/acorex-cdk-list-navigation.mjs"
|