@acorex/cdk 19.12.0-next.2 → 19.12.0-next.3

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.
@@ -7,18 +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
- backdropColor: import("@angular/core").InputSignal<string>;
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
- onBackdropClicked: import("@angular/core").OutputEmitterRef<void>;
16
+ onBackdropClick: import("@angular/core").OutputEmitterRef<MouseEvent>;
17
17
  onDrawerClosed: import("@angular/core").OutputEmitterRef<void>;
18
18
  show(): void;
19
19
  hide(): void;
20
20
  toggle(): void;
21
21
  private addBackdropClickListener;
22
22
  static ɵfac: i0.ɵɵFactoryDeclaration<AXDrawerItemDirective, never>;
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; }; "backdropColor": { "alias": "backdropColor"; "required": false; "isSignal": true; }; }, { "onBackdropClicked": "onBackdropClicked"; "onDrawerClosed": "onDrawerClosed"; }, never, never, true, never>;
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>;
24
24
  }
@@ -32,19 +32,19 @@ class AXDrawerItemDirective {
32
32
  this.mode = input('overlay');
33
33
  this.transition = input('0.5');
34
34
  this.closeOnBackdropClick = input(false);
35
- this.backdropColor = input('rgba(0,0,0,0.5)');
35
+ this.backdropClass = input('ax-bg-black/45');
36
36
  this.el = inject(ElementRef);
37
37
  this.htmlElem = signal(null);
38
38
  this.rect = signal(null);
39
39
  this.showState = signal(null);
40
40
  this.parent = inject(AXDrawerContainerDirective);
41
- this.onBackdropClicked = output();
41
+ this.onBackdropClick = output();
42
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`;
46
46
  this.parent.el.nativeElement.style.transition = `${this.transition()}s all ease`;
47
- if (this.backDrop()) {
47
+ if (this.backDrop() && this.mode() === 'overlay') {
48
48
  this.addBackdropClickListener();
49
49
  }
50
50
  if (this.mode() === 'push') {
@@ -106,8 +106,8 @@ class AXDrawerItemDirective {
106
106
  this.htmlElem().style.marginBlockStart = '0px';
107
107
  }
108
108
  }
109
- if (this.backDrop()) {
110
- this.parent.el.nativeElement.style.backgroundColor = this.backdropColor();
109
+ if (this.backDrop() && this.mode() === 'overlay') {
110
+ this.parent.el.nativeElement.classList.add(...this.backdropClass().split(' '));
111
111
  }
112
112
  this.showState.set(true);
113
113
  }
@@ -140,8 +140,8 @@ class AXDrawerItemDirective {
140
140
  this.htmlElem().style.marginBlockStart = `-${this.rect().height}px`;
141
141
  }
142
142
  }
143
- if (this.backDrop()) {
144
- this.parent.el.nativeElement.style.backgroundColor = 'transparent';
143
+ if (this.backDrop() && this.mode() === 'overlay') {
144
+ this.parent.el.nativeElement.classList.remove(...this.backdropClass().split(' '));
145
145
  }
146
146
  this.showState.set(false);
147
147
  this.onDrawerClosed.emit();
@@ -158,7 +158,8 @@ 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.onBackdropClicked.emit();
161
+ this.onBackdropClick.emit(event);
162
+ this.onBackdropClick.emit(event);
162
163
  if (this.closeOnBackdropClick()) {
163
164
  this.hide();
164
165
  }
@@ -166,7 +167,7 @@ class AXDrawerItemDirective {
166
167
  });
167
168
  }
168
169
  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 }, backdropColor: { classPropertyName: "backdropColor", publicName: "backdropColor", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onBackdropClicked: "onBackdropClicked", onDrawerClosed: "onDrawerClosed" }, exportAs: ["axDrawerItem"], ngImport: i0 }); }
170
+ 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
171
  }
171
172
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXDrawerItemDirective, decorators: [{
172
173
  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 } 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 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 onBackdropClicked = output();\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).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.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.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() && this.mode() === 'overlay') {\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() && this.mode() === 'overlay') {\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() && this.mode() === 'overlay') {\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 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,3 @@
1
+ # @acorex/cdk/focus-trap
2
+
3
+ Secondary entry point of `@acorex/cdk`. It can be used by importing from `@acorex/cdk/focus-trap`.
@@ -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.12.0-next.2",
3
+ "version": "19.12.0-next.3",
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"