@acorex/cdk 19.15.0-next.21 → 19.15.0-next.24

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.
@@ -0,0 +1,3 @@
1
+ # @acorex/cdk/clipboard
2
+
3
+ Secondary entry point of `@acorex/cdk`. It can be used by importing from `@acorex/cdk/clipboard`.
@@ -0,0 +1,2 @@
1
+ export * from './lib/clipboard.service';
2
+ export * from './lib/copy-clipboard.directive';
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class AXClipBoardService {
3
+ copy(text: string): Promise<void>;
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXClipBoardService, never>;
5
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXClipBoardService>;
6
+ }
@@ -1,4 +1,5 @@
1
1
  import { ElementRef } from '@angular/core';
2
+ import { AXClipBoardService } from './clipboard.service';
2
3
  import * as i0 from "@angular/core";
3
4
  /**
4
5
  * Directive to copy provided context to the clipboard on click,
@@ -13,6 +14,7 @@ import * as i0 from "@angular/core";
13
14
  */
14
15
  export declare class AXCopyClipboardDirective {
15
16
  elementRef: ElementRef<any>;
17
+ clipboardService: AXClipBoardService;
16
18
  /**
17
19
  * Required string input signal for the context to copy.
18
20
  * Bound via: axCopyClipboard="textSignal"
@@ -31,10 +33,6 @@ export declare class AXCopyClipboardDirective {
31
33
  * Trigger copy when the host element is clicked.
32
34
  */
33
35
  onHostClick(): Promise<void>;
34
- /**
35
- * Copy the string to the clipboard.
36
- */
37
- private copyToClipboard;
38
36
  static ɵfac: i0.ɵɵFactoryDeclaration<AXCopyClipboardDirective, never>;
39
37
  static ɵdir: i0.ɵɵDirectiveDeclaration<AXCopyClipboardDirective, "[axCopyClipboard]", never, { "context": { "alias": "axCopyClipboard"; "required": true; "isSignal": true; }; }, { "copied": "copied"; }, never, never, true, never>;
40
38
  }
@@ -1,9 +1,11 @@
1
1
  import * as i0 from "@angular/core";
2
- export declare class AXCollapseGrouplDirective {
2
+ export declare class AXCollapseGroupDirective {
3
3
  #private;
4
- accordion: import("@angular/core").InputSignal<boolean>;
4
+ accordion: import("@angular/core").ModelSignal<boolean>;
5
+ activeIndex: import("@angular/core").ModelSignal<any>;
6
+ private activeId;
5
7
  private content;
6
- private activeIndex;
7
- static ɵfac: i0.ɵɵFactoryDeclaration<AXCollapseGrouplDirective, never>;
8
- static ɵdir: i0.ɵɵDirectiveDeclaration<AXCollapseGrouplDirective, "[axCollapseGroup]", ["axCollapseGroup"], { "accordion": { "alias": "accordion"; "required": false; "isSignal": true; }; }, {}, ["content"], never, true, never>;
8
+ activeIndexChange: import("@angular/core").OutputEmitterRef<number>;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXCollapseGroupDirective, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXCollapseGroupDirective, "[axCollapseGroup]", ["axCollapseGroup"], { "accordion": { "alias": "accordion"; "required": false; "isSignal": true; }; "activeIndex": { "alias": "activeIndex"; "required": false; "isSignal": true; }; }, { "accordion": "accordionChange"; "activeIndex": "activeIndexChange"; "activeIndexChange": "activeIndexChange"; }, ["content"], never, true, never>;
9
11
  }
@@ -1,8 +1,10 @@
1
1
  import * as i0 from "@angular/core";
2
- export declare class AXCollapseItemContentlDirective {
2
+ export declare class AXCollapseItemContentDirective {
3
3
  #private;
4
4
  private elm;
5
- collapseContent: import("@angular/core").WritableSignal<boolean>;
6
- static ɵfac: i0.ɵɵFactoryDeclaration<AXCollapseItemContentlDirective, never>;
7
- static ɵdir: i0.ɵɵDirectiveDeclaration<AXCollapseItemContentlDirective, "[axCollapseItemContent]", ["axCollapseItemContent"], {}, {}, never, never, true, never>;
5
+ private parent;
6
+ collapseContent: import("@angular/core").Signal<boolean>;
7
+ transition: import("@angular/core").InputSignal<number>;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXCollapseItemContentDirective, never>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXCollapseItemContentDirective, "[axCollapseItemContent]", ["axCollapseItemContent"], { "transition": { "alias": "transition"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8
10
  }
@@ -1,5 +1,5 @@
1
1
  import * as i0 from "@angular/core";
2
- export declare class AXCollapseItemHeaderlDirective {
3
- static ɵfac: i0.ɵɵFactoryDeclaration<AXCollapseItemHeaderlDirective, never>;
4
- static ɵdir: i0.ɵɵDirectiveDeclaration<AXCollapseItemHeaderlDirective, "[axCollapseItemHeader]", ["axCollapseItemHeader"], {}, {}, never, never, true, never>;
2
+ export declare class AXCollapseItemHeaderDirective {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXCollapseItemHeaderDirective, never>;
4
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXCollapseItemHeaderDirective, "[axCollapseItemHeader]", ["axCollapseItemHeader"], {}, {}, never, never, true, never>;
5
5
  }
@@ -1,13 +1,13 @@
1
+ import { AXClickEvent } from '@acorex/cdk/common';
1
2
  import * as i0 from "@angular/core";
2
- export declare class AXCollapseItemlDirective {
3
+ export declare class AXCollapseItemDirective {
3
4
  #private;
4
- private content;
5
5
  private close;
6
- collapse: import("@angular/core").WritableSignal<boolean>;
7
- onclick: import("@angular/core").OutputEmitterRef<{
8
- component: AXCollapseItemlDirective;
9
- }>;
6
+ private elm;
10
7
  id: import("@angular/core").WritableSignal<number>;
11
- static ɵfac: i0.ɵɵFactoryDeclaration<AXCollapseItemlDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<AXCollapseItemlDirective, "[axCollapseItem]", ["axCollapseItem"], {}, { "onclick": "onclick"; }, ["content", "close"], never, true, never>;
8
+ collapse: import("@angular/core").ModelSignal<boolean>;
9
+ onClick: import("@angular/core").OutputEmitterRef<AXClickEvent>;
10
+ collapseOnItemClick: import("@angular/core").InputSignal<boolean>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXCollapseItemDirective, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXCollapseItemDirective, "[axCollapseItem]", ["axCollapseItem"], { "collapse": { "alias": "collapse"; "required": false; "isSignal": true; }; "collapseOnItemClick": { "alias": "collapseOnItemClick"; "required": false; "isSignal": true; }; }, { "collapse": "collapseChange"; "onClick": "onClick"; }, ["close"], never, true, never>;
13
13
  }
@@ -5,8 +5,8 @@ import * as i3 from "./collapse-directive/collapse-item-content.directive";
5
5
  import * as i4 from "./collapse-directive/collapse-item-header.directive";
6
6
  import * as i5 from "./collapse-directive/collapse-item.directive";
7
7
  import * as i6 from "./collapse-directive/collapse-close-button.directive";
8
- export declare class AXCollapseModule {
9
- static ɵfac: i0.ɵɵFactoryDeclaration<AXCollapseModule, never>;
10
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXCollapseModule, never, [typeof i1.CommonModule, typeof i2.AXCollapseGrouplDirective, typeof i3.AXCollapseItemContentlDirective, typeof i4.AXCollapseItemHeaderlDirective, typeof i5.AXCollapseItemlDirective, typeof i6.AXCollapseCloseButtonDirective], [typeof i2.AXCollapseGrouplDirective, typeof i3.AXCollapseItemContentlDirective, typeof i4.AXCollapseItemHeaderlDirective, typeof i5.AXCollapseItemlDirective, typeof i6.AXCollapseCloseButtonDirective]>;
11
- static ɵinj: i0.ɵɵInjectorDeclaration<AXCollapseModule>;
8
+ export declare class AXCollapseCdkModule {
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXCollapseCdkModule, never>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXCollapseCdkModule, never, [typeof i1.CommonModule, typeof i2.AXCollapseGroupDirective, typeof i3.AXCollapseItemContentDirective, typeof i4.AXCollapseItemHeaderDirective, typeof i5.AXCollapseItemDirective, typeof i6.AXCollapseCloseButtonDirective], [typeof i2.AXCollapseGroupDirective, typeof i3.AXCollapseItemContentDirective, typeof i4.AXCollapseItemHeaderDirective, typeof i5.AXCollapseItemDirective, typeof i6.AXCollapseCloseButtonDirective]>;
11
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXCollapseCdkModule>;
12
12
  }
package/common/index.d.ts CHANGED
@@ -22,7 +22,6 @@ export * from './lib/components/look-component.class';
22
22
  export * from './lib/components/selection-base.component.class';
23
23
  export * from './lib/components/value-component.class';
24
24
  export * from './lib/directives/auto-focus.directive';
25
- export * from './lib/directives/copy-clipboard.directive';
26
25
  export * from './lib/directives/delayed-value-changed.directive';
27
26
  export * from './lib/directives/hotkey.directive';
28
27
  export * from './lib/directives/infinite-scroll.directive';
@@ -1,25 +1,33 @@
1
1
  import { AXClickEvent } from '@acorex/cdk/common';
2
+ import { OnDestroy } from '@angular/core';
3
+ import { BehaviorSubject } from 'rxjs';
2
4
  import * as i0 from "@angular/core";
3
- export declare class AXDrawerItemDirective {
5
+ export type AXDrawerMode = 'push' | 'overlay';
6
+ export type AXDrawerLocation = 'start' | 'end' | 'top' | 'bottom';
7
+ export declare class AXDrawerItemDirective implements OnDestroy {
4
8
  #private;
5
9
  private el;
6
10
  private htmlElem;
7
11
  private parent;
8
12
  private collapseState;
13
+ private resizeObserver;
9
14
  collapseStateChanged: import("@angular/core").OutputEmitterRef<boolean>;
10
- location: import("@angular/core").ModelSignal<"start" | "end" | "top" | "bottom">;
15
+ location: import("@angular/core").ModelSignal<AXDrawerLocation>;
11
16
  collapsed: import("@angular/core").ModelSignal<boolean>;
12
17
  backDrop: import("@angular/core").ModelSignal<boolean>;
13
- mode: import("@angular/core").ModelSignal<"push" | "overlay">;
18
+ mode: import("@angular/core").ModelSignal<AXDrawerMode>;
14
19
  transition: import("@angular/core").ModelSignal<number>;
15
20
  closeOnBackdropClick: import("@angular/core").ModelSignal<boolean>;
16
21
  backdropClass: import("@angular/core").ModelSignal<string>;
17
22
  onBackdropClick: import("@angular/core").OutputEmitterRef<AXClickEvent>;
23
+ isDirectiveInit: BehaviorSubject<boolean>;
18
24
  show(): void;
19
25
  hide(): void;
20
26
  toggle(): void;
21
27
  private addBackdrop;
22
28
  private removeBackdrop;
29
+ private removeBackDropOnResize;
30
+ ngOnDestroy(): void;
23
31
  static ɵfac: i0.ɵɵFactoryDeclaration<AXDrawerItemDirective, never>;
24
32
  static ɵdir: i0.ɵɵDirectiveDeclaration<AXDrawerItemDirective, "[axDrawerItem]", ["axDrawerItem"], { "location": { "alias": "location"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "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; }; }, { "collapseStateChanged": "collapseStateChanged"; "location": "locationChange"; "collapsed": "collapsedChange"; "backDrop": "backDropChange"; "mode": "modeChange"; "transition": "transitionChange"; "closeOnBackdropClick": "closeOnBackdropClickChange"; "backdropClass": "backdropClassChange"; "onBackdropClick": "onBackdropClick"; }, never, never, true, never>;
25
33
  }
@@ -0,0 +1,90 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, inject, ElementRef, input, output, HostListener, Directive } from '@angular/core';
3
+
4
+ class AXClipBoardService {
5
+ copy(text) {
6
+ if (!text) {
7
+ return Promise.reject('No text provided to copy');
8
+ }
9
+ if (!navigator.clipboard?.writeText) {
10
+ return Promise.reject('Permission denied to access clipboard');
11
+ }
12
+ return navigator.clipboard.writeText(text);
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXClipBoardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
15
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXClipBoardService }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXClipBoardService, decorators: [{
18
+ type: Injectable
19
+ }] });
20
+
21
+ /**
22
+ * Directive to copy provided context to the clipboard on click,
23
+ * using Angular's input signal injection for the context.
24
+ * Emits copy status via a writable signal property.
25
+ *
26
+ * Usage:
27
+ * <button
28
+ * axCopyClipboard
29
+ * [copiedSignal]="copiedSignal"
30
+ * >Copy</button>
31
+ */
32
+ class AXCopyClipboardDirective {
33
+ constructor() {
34
+ this.elementRef = inject(ElementRef);
35
+ this.clipboardService = inject(AXClipBoardService);
36
+ /**
37
+ * Required string input signal for the context to copy.
38
+ * Bound via: axCopyClipboard="textSignal"
39
+ */
40
+ this.context = input.required({ alias: 'axCopyClipboard' });
41
+ /**
42
+ * WritableSignal to capture copy success (true) or failure (false).
43
+ * Can be bound: [copiedSignal]="myWritableSignal"
44
+ */
45
+ this.copied = output();
46
+ }
47
+ /**
48
+ * Trigger copy when the host element is clicked.
49
+ */
50
+ async onHostHover() {
51
+ this.elementRef.nativeElement.style.cursor = 'pointer';
52
+ }
53
+ /**
54
+ * Trigger copy when the host element is clicked.
55
+ */
56
+ async onHostClick() {
57
+ try {
58
+ const text = this.context();
59
+ await this.clipboardService.copy(text);
60
+ console.log(this.elementRef.nativeElement);
61
+ this.copied.emit(true);
62
+ }
63
+ catch (err) {
64
+ console.error('Copy failed', err);
65
+ this.copied.emit(false);
66
+ }
67
+ }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCopyClipboardDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
69
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.13", type: AXCopyClipboardDirective, isStandalone: true, selector: "[axCopyClipboard]", inputs: { context: { classPropertyName: "context", publicName: "axCopyClipboard", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { copied: "copied" }, host: { listeners: { "mouseenter": "onHostHover()", "click": "onHostClick()" } }, providers: [AXClipBoardService], ngImport: i0 }); }
70
+ }
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCopyClipboardDirective, decorators: [{
72
+ type: Directive,
73
+ args: [{
74
+ selector: '[axCopyClipboard]',
75
+ providers: [AXClipBoardService],
76
+ }]
77
+ }], propDecorators: { onHostHover: [{
78
+ type: HostListener,
79
+ args: ['mouseenter']
80
+ }], onHostClick: [{
81
+ type: HostListener,
82
+ args: ['click']
83
+ }] } });
84
+
85
+ /**
86
+ * Generated bundle index. Do not edit.
87
+ */
88
+
89
+ export { AXClipBoardService, AXCopyClipboardDirective };
90
+ //# sourceMappingURL=acorex-cdk-clipboard.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-cdk-clipboard.mjs","sources":["../../../../packages/cdk/clipboard/src/lib/clipboard.service.ts","../../../../packages/cdk/clipboard/src/lib/copy-clipboard.directive.ts","../../../../packages/cdk/clipboard/src/acorex-cdk-clipboard.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class AXClipBoardService {\n public copy(text: string): Promise<void> {\n if (!text) {\n return Promise.reject('No text provided to copy');\n }\n\n if (!navigator.clipboard?.writeText) {\n return Promise.reject('Permission denied to access clipboard');\n }\n\n return navigator.clipboard.writeText(text);\n }\n}\n","import { Directive, ElementRef, HostListener, inject, input, output } from '@angular/core';\nimport { AXClipBoardService } from './clipboard.service';\n\n/**\n * Directive to copy provided context to the clipboard on click,\n * using Angular's input signal injection for the context.\n * Emits copy status via a writable signal property.\n *\n * Usage:\n * <button\n * axCopyClipboard\n * [copiedSignal]=\"copiedSignal\"\n * >Copy</button>\n */\n@Directive({\n selector: '[axCopyClipboard]',\n providers: [AXClipBoardService],\n})\nexport class AXCopyClipboardDirective {\n elementRef = inject(ElementRef);\n clipboardService = inject(AXClipBoardService);\n /**\n * Required string input signal for the context to copy.\n * Bound via: axCopyClipboard=\"textSignal\"\n */\n context = input.required<string>({ alias: 'axCopyClipboard' });\n\n /**\n * WritableSignal to capture copy success (true) or failure (false).\n * Can be bound: [copiedSignal]=\"myWritableSignal\"\n */\n copied = output<boolean>();\n\n /**\n * Trigger copy when the host element is clicked.\n */\n @HostListener('mouseenter')\n async onHostHover(): Promise<void> {\n (this.elementRef.nativeElement as HTMLElement).style.cursor = 'pointer';\n }\n\n /**\n * Trigger copy when the host element is clicked.\n */\n @HostListener('click')\n async onHostClick(): Promise<void> {\n try {\n const text = this.context();\n await this.clipboardService.copy(text);\n console.log(this.elementRef.nativeElement);\n\n this.copied.emit(true);\n } catch (err) {\n console.error('Copy failed', err);\n this.copied.emit(false);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAGa,kBAAkB,CAAA;AACtB,IAAA,IAAI,CAAC,IAAY,EAAA;QACtB,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC;;AAGnD,QAAA,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE;AACnC,YAAA,OAAO,OAAO,CAAC,MAAM,CAAC,uCAAuC,CAAC;;QAGhE,OAAO,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC;;+GAVjC,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAlB,kBAAkB,EAAA,CAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B;;;ACCD;;;;;;;;;;AAUG;MAKU,wBAAwB,CAAA;AAJrC,IAAA,WAAA,GAAA;AAKE,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC7C;;;AAGG;QACH,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC,QAAQ,CAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;AAE9D;;;AAGG;QACH,IAAM,CAAA,MAAA,GAAG,MAAM,EAAW;AA0B3B;AAxBC;;AAEG;AAEH,IAAA,MAAM,WAAW,GAAA;QACd,IAAI,CAAC,UAAU,CAAC,aAA6B,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS;;AAGzE;;AAEG;AAEH,IAAA,MAAM,WAAW,GAAA;AACf,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE;YAC3B,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;AAE1C,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;;QACtB,OAAO,GAAG,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC;AACjC,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;;;+GApChB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,OAAA,EAAA,eAAA,EAAA,EAAA,EAAA,SAAA,EAFxB,CAAC,kBAAkB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEpB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;oBAC7B,SAAS,EAAE,CAAC,kBAAkB,CAAC;AAChC,iBAAA;8BAoBO,WAAW,EAAA,CAAA;sBADhB,YAAY;uBAAC,YAAY;gBASpB,WAAW,EAAA,CAAA;sBADhB,YAAY;uBAAC,OAAO;;;AC5CvB;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, output, afterNextRender, Directive, signal, effect, contentChild, input, contentChildren, NgModule } from '@angular/core';
2
+ import { inject, ElementRef, output, afterNextRender, Directive, contentChild, signal, model, input, contentChildren, effect, computed, NgModule } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
4
 
5
5
  class AXCollapseCloseButtonDirective {
@@ -23,57 +23,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
23
23
  args: [{ selector: '[axCollapseCloseButton]' }]
24
24
  }] });
25
25
 
26
- class AXCollapseItemContentlDirective {
26
+ class AXCollapseItemDirective {
27
27
  constructor() {
28
- this.elm = inject(ElementRef);
29
- this.collapseContent = signal(true);
30
- this.#eff = effect(() => {
31
- this.elm.nativeElement.style.transition = '.5s all ease-in-out';
32
- if (this.collapseContent()) {
33
- this.elm.nativeElement.style.opacity = '0';
34
- this.elm.nativeElement.style.height = '0';
35
- }
36
- else {
37
- this.elm.nativeElement.style.opacity = '1';
38
- this.elm.nativeElement.style.height = '100%';
39
- }
40
- });
41
- }
42
- #eff;
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseItemContentlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
44
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.13", type: AXCollapseItemContentlDirective, isStandalone: true, selector: "[axCollapseItemContent]", exportAs: ["axCollapseItemContent"], ngImport: i0 }); }
45
- }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseItemContentlDirective, decorators: [{
47
- type: Directive,
48
- args: [{
49
- selector: '[axCollapseItemContent]',
50
- exportAs: 'axCollapseItemContent',
51
- }]
52
- }] });
53
-
54
- class AXCollapseItemlDirective {
55
- constructor() {
56
- this.content = contentChild(AXCollapseItemContentlDirective);
57
28
  this.close = contentChild(AXCollapseCloseButtonDirective);
58
- this.collapse = signal(true);
59
- this.onclick = output();
29
+ this.elm = inject(ElementRef);
60
30
  this.id = signal(Math.random());
61
- this.#init = effect(() => {
62
- this.content().collapseContent.set(this.collapse());
63
- });
64
- this.#init2 = effect(() => {
65
- this.close().onclick.subscribe(() => {
66
- this.collapse.update((prev) => !prev);
67
- this.onclick.emit({ component: this });
31
+ this.collapse = model(true);
32
+ this.onClick = output();
33
+ this.collapseOnItemClick = input(true);
34
+ this.#init = afterNextRender(() => {
35
+ this.close()?.onclick.subscribe(() => {
36
+ this.onClick.emit({ component: this });
37
+ if (!this.collapseOnItemClick()) {
38
+ this.collapse.update((prev) => !prev);
39
+ }
68
40
  });
41
+ if (this.collapseOnItemClick()) {
42
+ this.elm.nativeElement.onclick = () => {
43
+ this.collapse.update((prev) => !prev);
44
+ this.onClick.emit({ component: this });
45
+ };
46
+ }
69
47
  });
70
48
  }
71
49
  #init;
72
- #init2;
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseItemlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
74
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.13", type: AXCollapseItemlDirective, isStandalone: true, selector: "[axCollapseItem]", outputs: { onclick: "onclick" }, queries: [{ propertyName: "content", first: true, predicate: AXCollapseItemContentlDirective, descendants: true, isSignal: true }, { propertyName: "close", first: true, predicate: AXCollapseCloseButtonDirective, descendants: true, isSignal: true }], exportAs: ["axCollapseItem"], ngImport: i0 }); }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
51
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.13", type: AXCollapseItemDirective, isStandalone: true, selector: "[axCollapseItem]", inputs: { collapse: { classPropertyName: "collapse", publicName: "collapse", isSignal: true, isRequired: false, transformFunction: null }, collapseOnItemClick: { classPropertyName: "collapseOnItemClick", publicName: "collapseOnItemClick", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { collapse: "collapseChange", onClick: "onClick" }, queries: [{ propertyName: "close", first: true, predicate: AXCollapseCloseButtonDirective, descendants: true, isSignal: true }], exportAs: ["axCollapseItem"], ngImport: i0 }); }
75
52
  }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseItemlDirective, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseItemDirective, decorators: [{
77
54
  type: Directive,
78
55
  args: [{
79
56
  selector: '[axCollapseItem]',
@@ -81,25 +58,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
81
58
  }]
82
59
  }] });
83
60
 
84
- class AXCollapseGrouplDirective {
61
+ class AXCollapseGroupDirective {
85
62
  constructor() {
86
- this.accordion = input(false);
87
- this.content = contentChildren(AXCollapseItemlDirective);
88
- this.activeIndex = signal(0);
89
- this.#eff = afterNextRender(() => {
90
- if (!this.accordion())
91
- return;
63
+ this.accordion = model(true);
64
+ this.activeIndex = model(null);
65
+ this.activeId = signal(null);
66
+ this.content = contentChildren(AXCollapseItemDirective);
67
+ this.activeIndexChange = output();
68
+ this.#init = afterNextRender(() => {
92
69
  this.content().forEach((element) => {
93
- element.onclick.subscribe((e) => {
94
- this.activeIndex.set(e.component.id());
70
+ element.onClick.subscribe((e) => {
71
+ this.activeId.set(e.component.id());
95
72
  });
96
73
  });
97
74
  });
75
+ this.#eff = effect(() => {
76
+ this.activeIndex.set(this.content().findIndex((item) => item.id() === this.activeId()));
77
+ this.activeIndexChange.emit(this.activeIndex());
78
+ });
98
79
  this.#eff2 = effect(() => {
80
+ this.content()
81
+ .find((_, index) => index === this.activeIndex())
82
+ ?.collapse.set(false);
83
+ });
84
+ this.#eff3 = effect(() => {
99
85
  if (!this.accordion())
100
86
  return;
101
87
  this.content().forEach((element) => {
102
- if (this.activeIndex() === element.id()) {
88
+ if (this.activeId() === element.id()) {
103
89
  element.collapse.set(false);
104
90
  }
105
91
  else {
@@ -108,12 +94,14 @@ class AXCollapseGrouplDirective {
108
94
  });
109
95
  });
110
96
  }
97
+ #init;
111
98
  #eff;
112
99
  #eff2;
113
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseGrouplDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
114
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.13", type: AXCollapseGrouplDirective, isStandalone: true, selector: "[axCollapseGroup]", inputs: { accordion: { classPropertyName: "accordion", publicName: "accordion", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "content", predicate: AXCollapseItemlDirective, isSignal: true }], exportAs: ["axCollapseGroup"], ngImport: i0 }); }
100
+ #eff3;
101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
102
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.13", type: AXCollapseGroupDirective, isStandalone: true, selector: "[axCollapseGroup]", inputs: { accordion: { classPropertyName: "accordion", publicName: "accordion", isSignal: true, isRequired: false, transformFunction: null }, activeIndex: { classPropertyName: "activeIndex", publicName: "activeIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { accordion: "accordionChange", activeIndex: "activeIndexChange", activeIndexChange: "activeIndexChange" }, queries: [{ propertyName: "content", predicate: AXCollapseItemDirective, isSignal: true }], exportAs: ["axCollapseGroup"], ngImport: i0 }); }
115
103
  }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseGrouplDirective, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseGroupDirective, decorators: [{
117
105
  type: Directive,
118
106
  args: [{
119
107
  selector: '[axCollapseGroup]',
@@ -121,11 +109,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
121
109
  }]
122
110
  }] });
123
111
 
124
- class AXCollapseItemHeaderlDirective {
125
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseItemHeaderlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
126
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.13", type: AXCollapseItemHeaderlDirective, isStandalone: true, selector: "[axCollapseItemHeader]", exportAs: ["axCollapseItemHeader"], ngImport: i0 }); }
112
+ class AXCollapseItemContentDirective {
113
+ constructor() {
114
+ this.elm = inject(ElementRef);
115
+ this.parent = inject(AXCollapseItemDirective);
116
+ this.collapseContent = computed(() => this.parent.collapse());
117
+ this.transition = input(150);
118
+ this.#eff = effect(() => {
119
+ const el = this.elm.nativeElement;
120
+ el.style.transition = `height ${this.transition()}ms cubic-bezier(0.4,0,0.2,1), opacity ${this.transition()}ms cubic-bezier(0.4,0,0.2,1)`;
121
+ el.style.overflow = 'hidden';
122
+ if (this.collapseContent()) {
123
+ el.style.opacity = '0';
124
+ el.style.height = el.scrollHeight + 'px';
125
+ requestAnimationFrame(() => {
126
+ el.style.height = '0';
127
+ });
128
+ }
129
+ else {
130
+ el.style.opacity = '1';
131
+ el.style.height = el.scrollHeight + 'px';
132
+ const onTransitionEnd = (event) => {
133
+ if (event.propertyName === 'height') {
134
+ el.style.height = 'auto';
135
+ }
136
+ };
137
+ el.addEventListener('transitionend', onTransitionEnd, { once: true });
138
+ }
139
+ });
140
+ }
141
+ #eff;
142
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseItemContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
143
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.13", type: AXCollapseItemContentDirective, isStandalone: true, selector: "[axCollapseItemContent]", inputs: { transition: { classPropertyName: "transition", publicName: "transition", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["axCollapseItemContent"], ngImport: i0 }); }
144
+ }
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseItemContentDirective, decorators: [{
146
+ type: Directive,
147
+ args: [{
148
+ selector: '[axCollapseItemContent]',
149
+ exportAs: 'axCollapseItemContent',
150
+ }]
151
+ }] });
152
+
153
+ class AXCollapseItemHeaderDirective {
154
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseItemHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
155
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.13", type: AXCollapseItemHeaderDirective, isStandalone: true, selector: "[axCollapseItemHeader]", exportAs: ["axCollapseItemHeader"], ngImport: i0 }); }
127
156
  }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseItemHeaderlDirective, decorators: [{
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseItemHeaderDirective, decorators: [{
129
158
  type: Directive,
130
159
  args: [{
131
160
  selector: '[axCollapseItemHeader]',
@@ -134,27 +163,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
134
163
  }] });
135
164
 
136
165
  const COMPONENT = [
137
- AXCollapseGrouplDirective,
138
- AXCollapseItemContentlDirective,
139
- AXCollapseItemHeaderlDirective,
140
- AXCollapseItemlDirective,
166
+ AXCollapseGroupDirective,
167
+ AXCollapseItemContentDirective,
168
+ AXCollapseItemHeaderDirective,
169
+ AXCollapseItemDirective,
141
170
  AXCollapseCloseButtonDirective,
142
171
  ];
143
172
  const MODULES = [CommonModule];
144
- class AXCollapseModule {
145
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
146
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseModule, imports: [CommonModule, AXCollapseGrouplDirective,
147
- AXCollapseItemContentlDirective,
148
- AXCollapseItemHeaderlDirective,
149
- AXCollapseItemlDirective,
150
- AXCollapseCloseButtonDirective], exports: [AXCollapseGrouplDirective,
151
- AXCollapseItemContentlDirective,
152
- AXCollapseItemHeaderlDirective,
153
- AXCollapseItemlDirective,
173
+ class AXCollapseCdkModule {
174
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseCdkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
175
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseCdkModule, imports: [CommonModule, AXCollapseGroupDirective,
176
+ AXCollapseItemContentDirective,
177
+ AXCollapseItemHeaderDirective,
178
+ AXCollapseItemDirective,
179
+ AXCollapseCloseButtonDirective], exports: [AXCollapseGroupDirective,
180
+ AXCollapseItemContentDirective,
181
+ AXCollapseItemHeaderDirective,
182
+ AXCollapseItemDirective,
154
183
  AXCollapseCloseButtonDirective] }); }
155
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseModule, imports: [MODULES] }); }
184
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseCdkModule, imports: [MODULES] }); }
156
185
  }
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseModule, decorators: [{
186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXCollapseCdkModule, decorators: [{
158
187
  type: NgModule,
159
188
  args: [{
160
189
  imports: [...MODULES, ...COMPONENT],
@@ -167,5 +196,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImpo
167
196
  * Generated bundle index. Do not edit.
168
197
  */
169
198
 
170
- export { AXCollapseCloseButtonDirective, AXCollapseGrouplDirective, AXCollapseItemContentlDirective, AXCollapseItemHeaderlDirective, AXCollapseItemlDirective, AXCollapseModule };
199
+ export { AXCollapseCdkModule, AXCollapseCloseButtonDirective, AXCollapseGroupDirective, AXCollapseItemContentDirective, AXCollapseItemDirective, AXCollapseItemHeaderDirective };
171
200
  //# sourceMappingURL=acorex-cdk-collapse.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-cdk-collapse.mjs","sources":["../../../../packages/cdk/collapse/src/lib/collapse-directive/collapse-close-button.directive.ts","../../../../packages/cdk/collapse/src/lib/collapse-directive/collapse-item-content.directive.ts","../../../../packages/cdk/collapse/src/lib/collapse-directive/collapse-item.directive.ts","../../../../packages/cdk/collapse/src/lib/collapse-directive/collapse-group.directive.ts","../../../../packages/cdk/collapse/src/lib/collapse-directive/collapse-item-header.directive.ts","../../../../packages/cdk/collapse/src/lib/collapse.module.ts","../../../../packages/cdk/collapse/src/acorex-cdk-collapse.ts"],"sourcesContent":["import { afterNextRender, Directive, ElementRef, inject, output } from '@angular/core';\n\n@Directive({ selector: '[axCollapseCloseButton]' })\nexport class AXCollapseCloseButtonDirective {\n private elm = inject(ElementRef);\n onclick = output<MouseEvent>();\n #init = afterNextRender(() => {\n if (this.elm.nativeElement) {\n (this.elm.nativeElement as HTMLElement).onclick = (e: MouseEvent) => {\n this.onclick.emit(e);\n };\n }\n });\n}\n","import { Directive, effect, ElementRef, inject, signal } from '@angular/core';\n\n@Directive({\n selector: '[axCollapseItemContent]',\n exportAs: 'axCollapseItemContent',\n})\nexport class AXCollapseItemContentlDirective {\n private elm = inject(ElementRef);\n collapseContent = signal(true);\n\n #eff = effect(() => {\n (this.elm.nativeElement as HTMLElement).style.transition = '.5s all ease-in-out';\n if (this.collapseContent()) {\n (this.elm.nativeElement as HTMLElement).style.opacity = '0';\n (this.elm.nativeElement as HTMLElement).style.height = '0';\n } else {\n (this.elm.nativeElement as HTMLElement).style.opacity = '1';\n (this.elm.nativeElement as HTMLElement).style.height = '100%';\n }\n });\n}\n","import { contentChild, Directive, effect, output, signal } from '@angular/core';\nimport { AXCollapseCloseButtonDirective } from './collapse-close-button.directive';\nimport { AXCollapseItemContentlDirective } from './collapse-item-content.directive';\n\n@Directive({\n selector: '[axCollapseItem]',\n exportAs: 'axCollapseItem',\n})\nexport class AXCollapseItemlDirective {\n private content = contentChild(AXCollapseItemContentlDirective);\n private close = contentChild(AXCollapseCloseButtonDirective);\n\n collapse = signal(true);\n onclick = output<{ component: AXCollapseItemlDirective }>();\n id = signal(Math.random());\n\n #init = effect(() => {\n this.content().collapseContent.set(this.collapse());\n });\n\n #init2 = effect(() => {\n this.close().onclick.subscribe(() => {\n this.collapse.update((prev) => !prev);\n this.onclick.emit({ component: this });\n });\n });\n}\n","import { afterNextRender, contentChildren, Directive, effect, input, signal } from '@angular/core';\nimport { AXCollapseItemlDirective } from './collapse-item.directive';\n\n@Directive({\n selector: '[axCollapseGroup]',\n exportAs: 'axCollapseGroup',\n})\nexport class AXCollapseGrouplDirective {\n accordion = input(false);\n private content = contentChildren(AXCollapseItemlDirective);\n private activeIndex = signal(0);\n\n #eff = afterNextRender(() => {\n if (!this.accordion()) return;\n this.content().forEach((element) => {\n element.onclick.subscribe((e) => {\n this.activeIndex.set(e.component.id());\n });\n });\n });\n\n #eff2 = effect(() => {\n if (!this.accordion()) return;\n this.content().forEach((element) => {\n if (this.activeIndex() === element.id()) {\n element.collapse.set(false);\n } else {\n element.collapse.set(true);\n }\n });\n });\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[axCollapseItemHeader]',\n exportAs: 'axCollapseItemHeader',\n})\nexport class AXCollapseItemHeaderlDirective {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXCollapseCloseButtonDirective } from './collapse-directive/collapse-close-button.directive';\nimport { AXCollapseGrouplDirective } from './collapse-directive/collapse-group.directive';\nimport { AXCollapseItemContentlDirective } from './collapse-directive/collapse-item-content.directive';\nimport { AXCollapseItemHeaderlDirective } from './collapse-directive/collapse-item-header.directive';\nimport { AXCollapseItemlDirective } from './collapse-directive/collapse-item.directive';\n\nconst COMPONENT = [\n AXCollapseGrouplDirective,\n AXCollapseItemContentlDirective,\n AXCollapseItemHeaderlDirective,\n AXCollapseItemlDirective,\n AXCollapseCloseButtonDirective,\n];\nconst MODULES = [CommonModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXCollapseModule {}\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-collapse.mjs","sources":["../../../../packages/cdk/collapse/src/lib/collapse-directive/collapse-close-button.directive.ts","../../../../packages/cdk/collapse/src/lib/collapse-directive/collapse-item.directive.ts","../../../../packages/cdk/collapse/src/lib/collapse-directive/collapse-group.directive.ts","../../../../packages/cdk/collapse/src/lib/collapse-directive/collapse-item-content.directive.ts","../../../../packages/cdk/collapse/src/lib/collapse-directive/collapse-item-header.directive.ts","../../../../packages/cdk/collapse/src/lib/collapse.module.ts","../../../../packages/cdk/collapse/src/acorex-cdk-collapse.ts"],"sourcesContent":["import { afterNextRender, Directive, ElementRef, inject, output } from '@angular/core';\n\n@Directive({ selector: '[axCollapseCloseButton]' })\nexport class AXCollapseCloseButtonDirective {\n private elm = inject(ElementRef);\n onclick = output<MouseEvent>();\n #init = afterNextRender(() => {\n if (this.elm.nativeElement) {\n (this.elm.nativeElement as HTMLElement).onclick = (e: MouseEvent) => {\n this.onclick.emit(e);\n };\n }\n });\n}\n","import { AXClickEvent } from '@acorex/cdk/common';\nimport {\n afterNextRender,\n contentChild,\n Directive,\n ElementRef,\n inject,\n input,\n model,\n output,\n signal,\n} from '@angular/core';\nimport { AXCollapseCloseButtonDirective } from './collapse-close-button.directive';\n\n@Directive({\n selector: '[axCollapseItem]',\n exportAs: 'axCollapseItem',\n})\nexport class AXCollapseItemDirective {\n private close = contentChild(AXCollapseCloseButtonDirective);\n private elm = inject(ElementRef);\n id = signal(Math.random());\n collapse = model(true);\n onClick = output<AXClickEvent>();\n collapseOnItemClick = input(true);\n\n #init = afterNextRender(() => {\n this.close()?.onclick.subscribe(() => {\n this.onClick.emit({ component: this });\n if (!this.collapseOnItemClick()) {\n this.collapse.update((prev) => !prev);\n }\n });\n\n if (this.collapseOnItemClick()) {\n (this.elm.nativeElement as HTMLElement).onclick = () => {\n this.collapse.update((prev) => !prev);\n this.onClick.emit({ component: this });\n };\n }\n });\n}\n","import { afterNextRender, contentChildren, Directive, effect, model, output, signal } from '@angular/core';\nimport { AXCollapseItemDirective } from './collapse-item.directive';\n\n@Directive({\n selector: '[axCollapseGroup]',\n exportAs: 'axCollapseGroup',\n})\nexport class AXCollapseGroupDirective {\n accordion = model(true);\n activeIndex = model(null);\n private activeId = signal(null);\n private content = contentChildren(AXCollapseItemDirective);\n\n activeIndexChange = output<number>();\n\n #init = afterNextRender(() => {\n this.content().forEach((element) => {\n element.onClick.subscribe((e) => {\n this.activeId.set(e.component.id());\n });\n });\n });\n\n #eff = effect(() => {\n this.activeIndex.set(this.content().findIndex((item) => item.id() === this.activeId()));\n this.activeIndexChange.emit(this.activeIndex());\n });\n\n #eff2 = effect(() => {\n this.content()\n .find((_, index) => index === this.activeIndex())\n ?.collapse.set(false);\n });\n\n #eff3 = effect(() => {\n if (!this.accordion()) return;\n this.content().forEach((element) => {\n if (this.activeId() === element.id()) {\n element.collapse.set(false);\n } else {\n element.collapse.set(true);\n }\n });\n });\n}\n","import { computed, Directive, effect, ElementRef, inject, input } from '@angular/core';\nimport { AXCollapseItemDirective } from './collapse-item.directive';\n\n@Directive({\n selector: '[axCollapseItemContent]',\n exportAs: 'axCollapseItemContent',\n})\nexport class AXCollapseItemContentDirective {\n private elm = inject(ElementRef);\n private parent = inject(AXCollapseItemDirective);\n collapseContent = computed(() => this.parent.collapse());\n transition = input<number>(150);\n\n #eff = effect(() => {\n const el = this.elm.nativeElement as HTMLElement;\n el.style.transition = `height ${this.transition()}ms cubic-bezier(0.4,0,0.2,1), opacity ${this.transition()}ms cubic-bezier(0.4,0,0.2,1)`;\n el.style.overflow = 'hidden';\n if (this.collapseContent()) {\n el.style.opacity = '0';\n el.style.height = el.scrollHeight + 'px';\n requestAnimationFrame(() => {\n el.style.height = '0';\n });\n } else {\n el.style.opacity = '1';\n el.style.height = el.scrollHeight + 'px';\n const onTransitionEnd = (event: TransitionEvent) => {\n if (event.propertyName === 'height') {\n el.style.height = 'auto';\n }\n };\n el.addEventListener('transitionend', onTransitionEnd, { once: true });\n }\n });\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[axCollapseItemHeader]',\n exportAs: 'axCollapseItemHeader',\n})\nexport class AXCollapseItemHeaderDirective {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXCollapseCloseButtonDirective } from './collapse-directive/collapse-close-button.directive';\nimport { AXCollapseGroupDirective } from './collapse-directive/collapse-group.directive';\nimport { AXCollapseItemContentDirective } from './collapse-directive/collapse-item-content.directive';\nimport { AXCollapseItemHeaderDirective } from './collapse-directive/collapse-item-header.directive';\nimport { AXCollapseItemDirective } from './collapse-directive/collapse-item.directive';\n\nconst COMPONENT = [\n AXCollapseGroupDirective,\n AXCollapseItemContentDirective,\n AXCollapseItemHeaderDirective,\n AXCollapseItemDirective,\n AXCollapseCloseButtonDirective,\n];\nconst MODULES = [CommonModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXCollapseCdkModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}