@acorex/cdk 19.15.0-next.26 → 19.15.0-next.28

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.
@@ -2,10 +2,9 @@ import * as i0 from "@angular/core";
2
2
  export declare class AXAccordionGroupDirective {
3
3
  #private;
4
4
  accordion: import("@angular/core").ModelSignal<boolean>;
5
- activeIndex: import("@angular/core").ModelSignal<any>;
5
+ activeIndex: import("@angular/core").ModelSignal<number | number[]>;
6
6
  private activeId;
7
7
  private content;
8
- activeIndexChange: import("@angular/core").OutputEmitterRef<number>;
9
8
  static ɵfac: i0.ɵɵFactoryDeclaration<AXAccordionGroupDirective, never>;
10
- static ɵdir: i0.ɵɵDirectiveDeclaration<AXAccordionGroupDirective, "[axAccordionGroup]", ["axAccordionGroup"], { "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
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXAccordionGroupDirective, "[axAccordionGroup]", ["axAccordionGroup"], { "accordion": { "alias": "accordion"; "required": false; "isSignal": true; }; "activeIndex": { "alias": "activeIndex"; "required": false; "isSignal": true; }; }, { "accordion": "accordionChange"; "activeIndex": "activeIndexChange"; }, ["content"], never, true, never>;
11
10
  }
@@ -3,7 +3,7 @@ export declare class AXAccordionItemContentDirective {
3
3
  #private;
4
4
  private elm;
5
5
  private parent;
6
- collapseContent: import("@angular/core").Signal<boolean>;
6
+ private collapseContent;
7
7
  transition: import("@angular/core").InputSignal<number>;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<AXAccordionItemContentDirective, never>;
9
9
  static ɵdir: i0.ɵɵDirectiveDeclaration<AXAccordionItemContentDirective, "[axAccordionItemContent]", ["axAccordionItemContent"], { "transition": { "alias": "transition"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -5,9 +5,9 @@ export declare class AXAccordionItemDirective {
5
5
  private close;
6
6
  private elm;
7
7
  id: import("@angular/core").WritableSignal<number>;
8
- collapse: import("@angular/core").ModelSignal<boolean>;
8
+ isCollapsed: import("@angular/core").ModelSignal<boolean>;
9
9
  onClick: import("@angular/core").OutputEmitterRef<AXClickEvent>;
10
- collapseOnItemClick: import("@angular/core").InputSignal<boolean>;
10
+ toggleOnItemClick: import("@angular/core").InputSignal<boolean>;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<AXAccordionItemDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<AXAccordionItemDirective, "[axAccordionItem]", ["axAccordionItem"], { "collapse": { "alias": "collapse"; "required": false; "isSignal": true; }; "collapseOnItemClick": { "alias": "collapseOnItemClick"; "required": false; "isSignal": true; }; }, { "collapse": "collapseChange"; "onClick": "onClick"; }, ["close"], never, true, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXAccordionItemDirective, "[axAccordionItem]", ["axAccordionItem"], { "isCollapsed": { "alias": "isCollapsed"; "required": false; "isSignal": true; }; "toggleOnItemClick": { "alias": "toggleOnItemClick"; "required": false; "isSignal": true; }; }, { "isCollapsed": "isCollapsedChange"; "onClick": "onClick"; }, ["close"], never, true, never>;
13
13
  }
@@ -1,5 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, ElementRef, output, afterNextRender, Directive, contentChild, signal, model, input, contentChildren, effect, computed, NgModule } from '@angular/core';
3
+ import { castArray } from 'lodash-es';
3
4
  import { CommonModule } from '@angular/common';
4
5
 
5
6
  class AXAccordionCloseButtonDirective {
@@ -28,19 +29,19 @@ class AXAccordionItemDirective {
28
29
  this.close = contentChild(AXAccordionCloseButtonDirective);
29
30
  this.elm = inject(ElementRef);
30
31
  this.id = signal(Math.random());
31
- this.collapse = model(true);
32
+ this.isCollapsed = model(true);
32
33
  this.onClick = output();
33
- this.collapseOnItemClick = input(true);
34
+ this.toggleOnItemClick = input(true);
34
35
  this.#init = afterNextRender(() => {
35
36
  this.close()?.onclick.subscribe(() => {
36
37
  this.onClick.emit({ component: this });
37
- if (!this.collapseOnItemClick()) {
38
- this.collapse.update((prev) => !prev);
38
+ if (!this.toggleOnItemClick()) {
39
+ this.isCollapsed.update((prev) => !prev);
39
40
  }
40
41
  });
41
- if (this.collapseOnItemClick()) {
42
+ if (this.toggleOnItemClick()) {
42
43
  this.elm.nativeElement.onclick = () => {
43
- this.collapse.update((prev) => !prev);
44
+ this.isCollapsed.update((prev) => !prev);
44
45
  this.onClick.emit({ component: this });
45
46
  };
46
47
  }
@@ -48,7 +49,7 @@ class AXAccordionItemDirective {
48
49
  }
49
50
  #init;
50
51
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXAccordionItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
51
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.14", type: AXAccordionItemDirective, isStandalone: true, selector: "[axAccordionItem]", 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: AXAccordionCloseButtonDirective, descendants: true, isSignal: true }], exportAs: ["axAccordionItem"], ngImport: i0 }); }
52
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.14", type: AXAccordionItemDirective, isStandalone: true, selector: "[axAccordionItem]", inputs: { isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null }, toggleOnItemClick: { classPropertyName: "toggleOnItemClick", publicName: "toggleOnItemClick", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isCollapsed: "isCollapsedChange", onClick: "onClick" }, queries: [{ propertyName: "close", first: true, predicate: AXAccordionCloseButtonDirective, descendants: true, isSignal: true }], exportAs: ["axAccordionItem"], ngImport: i0 }); }
52
53
  }
53
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXAccordionItemDirective, decorators: [{
54
55
  type: Directive,
@@ -64,7 +65,6 @@ class AXAccordionGroupDirective {
64
65
  this.activeIndex = model(null);
65
66
  this.activeId = signal(null);
66
67
  this.content = contentChildren(AXAccordionItemDirective);
67
- this.activeIndexChange = output();
68
68
  this.#init = afterNextRender(() => {
69
69
  this.content().forEach((element) => {
70
70
  element.onClick.subscribe((e) => {
@@ -72,34 +72,34 @@ class AXAccordionGroupDirective {
72
72
  });
73
73
  });
74
74
  });
75
- this.#eff = effect(() => {
76
- this.activeIndex.set(this.content().findIndex((item) => item.id() === this.activeId()));
77
- this.activeIndexChange.emit(this.activeIndex());
78
- });
79
75
  this.#eff2 = effect(() => {
80
- this.content()
81
- .find((_, index) => index === this.activeIndex())
82
- ?.collapse.set(false);
76
+ const activeIndexes = castArray(this.activeIndex());
77
+ this.content().forEach((item, index) => {
78
+ if (activeIndexes.includes(index)) {
79
+ setTimeout(() => {
80
+ item.isCollapsed.set(false);
81
+ });
82
+ }
83
+ });
83
84
  });
84
85
  this.#eff3 = effect(() => {
85
86
  if (!this.accordion())
86
87
  return;
87
88
  this.content().forEach((element) => {
88
89
  if (this.activeId() === element.id()) {
89
- element.collapse.set(false);
90
+ element.isCollapsed.set(false);
90
91
  }
91
92
  else {
92
- element.collapse.set(true);
93
+ element.isCollapsed.set(true);
93
94
  }
94
95
  });
95
96
  });
96
97
  }
97
98
  #init;
98
- #eff;
99
99
  #eff2;
100
100
  #eff3;
101
101
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXAccordionGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
102
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.14", type: AXAccordionGroupDirective, isStandalone: true, selector: "[axAccordionGroup]", 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: AXAccordionItemDirective, isSignal: true }], exportAs: ["axAccordionGroup"], ngImport: i0 }); }
102
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.14", type: AXAccordionGroupDirective, isStandalone: true, selector: "[axAccordionGroup]", 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" }, queries: [{ propertyName: "content", predicate: AXAccordionItemDirective, isSignal: true }], exportAs: ["axAccordionGroup"], ngImport: i0 }); }
103
103
  }
104
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXAccordionGroupDirective, decorators: [{
105
105
  type: Directive,
@@ -113,8 +113,12 @@ class AXAccordionItemContentDirective {
113
113
  constructor() {
114
114
  this.elm = inject(ElementRef);
115
115
  this.parent = inject(AXAccordionItemDirective);
116
- this.collapseContent = computed(() => this.parent.collapse());
116
+ this.collapseContent = computed(() => this.parent.isCollapsed());
117
117
  this.transition = input(150);
118
+ this.#init = afterNextRender(() => {
119
+ const el = this.elm.nativeElement;
120
+ el.style.display = 'none';
121
+ });
118
122
  this.#eff = effect(() => {
119
123
  const el = this.elm.nativeElement;
120
124
  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)`;
@@ -127,6 +131,7 @@ class AXAccordionItemContentDirective {
127
131
  });
128
132
  }
129
133
  else {
134
+ el.style.display = 'block';
130
135
  el.style.opacity = '1';
131
136
  el.style.height = el.scrollHeight + 'px';
132
137
  const onTransitionEnd = (event) => {
@@ -138,6 +143,7 @@ class AXAccordionItemContentDirective {
138
143
  }
139
144
  });
140
145
  }
146
+ #init;
141
147
  #eff;
142
148
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AXAccordionItemContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
143
149
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.14", type: AXAccordionItemContentDirective, isStandalone: true, selector: "[axAccordionItemContent]", inputs: { transition: { classPropertyName: "transition", publicName: "transition", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["axAccordionItemContent"], ngImport: i0 }); }
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-cdk-accordion.mjs","sources":["../../../../packages/cdk/accordion/src/lib/accordion-directive/accordion-close-button.directive.ts","../../../../packages/cdk/accordion/src/lib/accordion-directive/accordion-item.directive.ts","../../../../packages/cdk/accordion/src/lib/accordion-directive/accordion-group.directive.ts","../../../../packages/cdk/accordion/src/lib/accordion-directive/accordion-item-content.directive.ts","../../../../packages/cdk/accordion/src/lib/accordion-directive/accordion-item-header.directive.ts","../../../../packages/cdk/accordion/src/lib/accordion.module.ts","../../../../packages/cdk/accordion/src/acorex-cdk-accordion.ts"],"sourcesContent":["import { afterNextRender, Directive, ElementRef, inject, output } from '@angular/core';\n\n@Directive({ selector: '[axAccordionCloseButton]' })\nexport class AXAccordionCloseButtonDirective {\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 { AXAccordionCloseButtonDirective } from './accordion-close-button.directive';\n\n@Directive({\n selector: '[axAccordionItem]',\n exportAs: 'axAccordionItem',\n})\nexport class AXAccordionItemDirective {\n private close = contentChild(AXAccordionCloseButtonDirective);\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 { AXAccordionItemDirective } from './accordion-item.directive';\n\n@Directive({\n selector: '[axAccordionGroup]',\n exportAs: 'axAccordionGroup',\n})\nexport class AXAccordionGroupDirective {\n accordion = model(true);\n activeIndex = model(null);\n private activeId = signal(null);\n private content = contentChildren(AXAccordionItemDirective);\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 { AXAccordionItemDirective } from './accordion-item.directive';\n\n@Directive({\n selector: '[axAccordionItemContent]',\n exportAs: 'axAccordionItemContent',\n})\nexport class AXAccordionItemContentDirective {\n private elm = inject(ElementRef);\n private parent = inject(AXAccordionItemDirective);\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: '[axAccordionItemHeader]',\n exportAs: 'axAccordionItemHeader',\n})\nexport class AXAccordionItemHeaderDirective {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXAccordionCloseButtonDirective } from './accordion-directive/accordion-close-button.directive';\nimport { AXAccordionGroupDirective } from './accordion-directive/accordion-group.directive';\nimport { AXAccordionItemContentDirective } from './accordion-directive/accordion-item-content.directive';\nimport { AXAccordionItemHeaderDirective } from './accordion-directive/accordion-item-header.directive';\nimport { AXAccordionItemDirective } from './accordion-directive/accordion-item.directive';\n\nconst COMPONENT = [\n AXAccordionGroupDirective,\n AXAccordionItemContentDirective,\n AXAccordionItemHeaderDirective,\n AXAccordionItemDirective,\n AXAccordionCloseButtonDirective,\n];\nconst MODULES = [CommonModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXAccordionCdkModule {}\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-accordion.mjs","sources":["../../../../packages/cdk/accordion/src/lib/accordion-directive/accordion-close-button.directive.ts","../../../../packages/cdk/accordion/src/lib/accordion-directive/accordion-item.directive.ts","../../../../packages/cdk/accordion/src/lib/accordion-directive/accordion-group.directive.ts","../../../../packages/cdk/accordion/src/lib/accordion-directive/accordion-item-content.directive.ts","../../../../packages/cdk/accordion/src/lib/accordion-directive/accordion-item-header.directive.ts","../../../../packages/cdk/accordion/src/lib/accordion.module.ts","../../../../packages/cdk/accordion/src/acorex-cdk-accordion.ts"],"sourcesContent":["import { afterNextRender, Directive, ElementRef, inject, output } from '@angular/core';\n\n@Directive({ selector: '[axAccordionCloseButton]' })\nexport class AXAccordionCloseButtonDirective {\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 { AXAccordionCloseButtonDirective } from './accordion-close-button.directive';\n\n@Directive({\n selector: '[axAccordionItem]',\n exportAs: 'axAccordionItem',\n})\nexport class AXAccordionItemDirective {\n private close = contentChild(AXAccordionCloseButtonDirective);\n private elm = inject(ElementRef);\n id = signal(Math.random());\n isCollapsed = model(true);\n onClick = output<AXClickEvent>();\n toggleOnItemClick = input(true);\n\n #init = afterNextRender(() => {\n this.close()?.onclick.subscribe(() => {\n this.onClick.emit({ component: this });\n if (!this.toggleOnItemClick()) {\n this.isCollapsed.update((prev) => !prev);\n }\n });\n\n if (this.toggleOnItemClick()) {\n (this.elm.nativeElement as HTMLElement).onclick = () => {\n this.isCollapsed.update((prev) => !prev);\n this.onClick.emit({ component: this });\n };\n }\n });\n}\n","import { afterNextRender, contentChildren, Directive, effect, model, signal } from '@angular/core';\nimport { castArray } from 'lodash-es';\nimport { AXAccordionItemDirective } from './accordion-item.directive';\n\n@Directive({\n selector: '[axAccordionGroup]',\n exportAs: 'axAccordionGroup',\n})\nexport class AXAccordionGroupDirective {\n accordion = model(true);\n activeIndex = model<number | number[]>(null);\n\n private activeId = signal<number>(null);\n private content = contentChildren(AXAccordionItemDirective);\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 #eff2 = effect(() => {\n const activeIndexes = castArray(this.activeIndex());\n this.content().forEach((item, index) => {\n if (activeIndexes.includes(index)) {\n setTimeout(() => {\n item.isCollapsed.set(false);\n });\n }\n });\n });\n\n #eff3 = effect(() => {\n if (!this.accordion()) return;\n this.content().forEach((element) => {\n if (this.activeId() === element.id()) {\n element.isCollapsed.set(false);\n } else {\n element.isCollapsed.set(true);\n }\n });\n });\n}\n","import { afterNextRender, computed, Directive, effect, ElementRef, inject, input } from '@angular/core';\nimport { AXAccordionItemDirective } from './accordion-item.directive';\n\n@Directive({\n selector: '[axAccordionItemContent]',\n exportAs: 'axAccordionItemContent',\n})\nexport class AXAccordionItemContentDirective {\n private elm = inject(ElementRef);\n private parent = inject(AXAccordionItemDirective);\n private collapseContent = computed(() => this.parent.isCollapsed());\n transition = input<number>(150);\n\n #init = afterNextRender(() => {\n const el = this.elm.nativeElement as HTMLElement;\n el.style.display = 'none';\n });\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.display = 'block';\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: '[axAccordionItemHeader]',\n exportAs: 'axAccordionItemHeader',\n})\nexport class AXAccordionItemHeaderDirective {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXAccordionCloseButtonDirective } from './accordion-directive/accordion-close-button.directive';\nimport { AXAccordionGroupDirective } from './accordion-directive/accordion-group.directive';\nimport { AXAccordionItemContentDirective } from './accordion-directive/accordion-item-content.directive';\nimport { AXAccordionItemHeaderDirective } from './accordion-directive/accordion-item-header.directive';\nimport { AXAccordionItemDirective } from './accordion-directive/accordion-item.directive';\n\nconst COMPONENT = [\n AXAccordionGroupDirective,\n AXAccordionItemContentDirective,\n AXAccordionItemHeaderDirective,\n AXAccordionItemDirective,\n AXAccordionCloseButtonDirective,\n];\nconst MODULES = [CommonModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXAccordionCdkModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-cdk-selection.mjs","sources":["../../../../packages/cdk/selection/src/lib/selection-item.directive.ts","../../../../packages/cdk/selection/src/lib/selection-group.directive.ts","../../../../packages/cdk/selection/src/lib/selection.module.ts","../../../../packages/cdk/selection/src/acorex-cdk-selection.ts"],"sourcesContent":["import { afterNextRender, Directive, ElementRef, inject, input, output, signal } from '@angular/core';\n\n@Directive({\n selector: '[axSelectionItem]',\n exportAs: 'axSelectionItem',\n})\nexport class AXSelectionItemDirective {\n private elm = inject(ElementRef);\n isActive = signal(false);\n onClick = output<{ sender: AXSelectionItemDirective }>();\n key = input.required<string | number>();\n disable = input(false);\n\n #init = afterNextRender(() => {\n (this.elm.nativeElement as HTMLElement).onclick = () => {\n if (this.disable()) return;\n this.onClick.emit({ sender: this });\n };\n });\n\n public toggle() {\n if (this.disable()) return;\n this.isActive.update((prev) => !prev);\n }\n public select() {\n if (this.disable()) return;\n this.isActive.set(true);\n }\n public unselect() {\n if (this.disable()) return;\n this.isActive.set(false);\n }\n}\n","import { AXSelectionValueChangedEvent } from '@acorex/cdk/common';\nimport { contentChildren, Directive, effect, input, output, signal } from '@angular/core';\nimport { AXSelectionItemDirective } from './selection-item.directive';\n\nexport type AXSelectionGroupSelectedKeys = string | string[] | number | number[];\n\n@Directive({\n selector: '[axSelectionGroup]',\n exportAs: 'axSelectionGroup',\n})\nexport class AXSelectionGroupDirective {\n private content = contentChildren(AXSelectionItemDirective, { descendants: true });\n private activeIndex = signal(null);\n multiple = input(false);\n disable = input(false);\n selectedKeys = input<AXSelectionGroupSelectedKeys>();\n onSelectionChanged = output<AXSelectionValueChangedEvent>();\n selectionItemsClass = contentChildren(AXSelectionItemDirective, { descendants: true });\n\n #init = effect(() => {\n this.selectionItemsClass().forEach((element) => {\n element.onClick.subscribe((e) => {\n if (this.disable()) return;\n this.activeIndex.set(e.sender.key());\n if (this.multiple()) {\n element.toggle();\n } else {\n this.selectionItemsClass().forEach((element) => {\n if (element.key() !== this.activeIndex()) {\n element.unselect();\n }\n });\n element.select();\n }\n });\n });\n });\n\n #effect = effect(() => {\n if (!this.selectedKeys()) return;\n\n if (typeof this.selectedKeys() === 'string' || typeof this.selectedKeys() === 'number') {\n this.content().forEach((element) => {\n element.isActive.set(false);\n if (this.selectedKeys() === element.key()) {\n element.isActive.set(true);\n }\n });\n } else if (this.selectedKeys() instanceof Array) {\n (this.selectedKeys() as Array<string>).forEach((index) => {\n this.content().forEach((element) => {\n element.isActive.set(false);\n if (index === element.key()) {\n element.isActive.set(true);\n }\n });\n });\n }\n });\n\n #effect2 = effect(() => {\n if (!this.selectedKeys()) {\n this.selectionItemsClass()[0]?.isActive.set(true);\n }\n });\n\n #effect3 = effect(() => {\n if (!this.activeIndex()) return;\n if (this.multiple()) {\n const selectedKeys = [];\n this.selectionItemsClass().forEach((item) => {\n if (item.isActive()) {\n selectedKeys.push(item.key());\n }\n });\n this.onSelectionChanged.emit({ component: this, selectedKeys: selectedKeys });\n } else {\n this.onSelectionChanged.emit({ component: this, selectedKeys: [this.activeIndex()] });\n }\n });\n\n activeItemByIndex(...restParams: number[]) {\n this.selectionItemsClass().forEach((item) => item.isActive.set(false));\n restParams.forEach((item) => {\n this.selectionItemsClass()[item].isActive.set(true);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXSelectionGroupDirective } from './selection-group.directive';\nimport { AXSelectionItemDirective } from './selection-item.directive';\n\nconst COMPONENT = [AXSelectionGroupDirective, AXSelectionItemDirective];\nconst MODULES = [CommonModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXSelectionCdkModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAMa,wBAAwB,CAAA;AAJrC,IAAA,WAAA,GAAA;AAKU,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;AAChC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;QACxB,IAAO,CAAA,OAAA,GAAG,MAAM,EAAwC;AACxD,QAAA,IAAA,CAAA,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAmB;AACvC,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;AAEtB,QAAA,IAAA,CAAA,KAAK,GAAG,eAAe,CAAC,MAAK;YAC1B,IAAI,CAAC,GAAG,CAAC,aAA6B,CAAC,OAAO,GAAG,MAAK;gBACrD,IAAI,IAAI,CAAC,OAAO,EAAE;oBAAE;gBACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACrC,aAAC;AACH,SAAC,CAAC;AAcH;AAnBC,IAAA,KAAK;IAOE,MAAM,GAAA;QACX,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;;IAEhC,MAAM,GAAA;QACX,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;;IAElB,QAAQ,GAAA;QACb,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;;+GAxBf,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,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,QAAQ,EAAE,iBAAiB;AAC5B,iBAAA;;;MCKY,yBAAyB,CAAA;AAJtC,IAAA,WAAA,GAAA;QAKU,IAAO,CAAA,OAAA,GAAG,eAAe,CAAC,wBAAwB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAC1E,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;AAClC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;AACvB,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;QACtB,IAAY,CAAA,YAAA,GAAG,KAAK,EAAgC;QACpD,IAAkB,CAAA,kBAAA,GAAG,MAAM,EAAgC;QAC3D,IAAmB,CAAA,mBAAA,GAAG,eAAe,CAAC,wBAAwB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAEtF,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,MAAK;YAClB,IAAI,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;gBAC7C,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;oBAC9B,IAAI,IAAI,CAAC,OAAO,EAAE;wBAAE;AACpB,oBAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;AACpC,oBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;wBACnB,OAAO,CAAC,MAAM,EAAE;;yBACX;wBACL,IAAI,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;4BAC7C,IAAI,OAAO,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE;gCACxC,OAAO,CAAC,QAAQ,EAAE;;AAEtB,yBAAC,CAAC;wBACF,OAAO,CAAC,MAAM,EAAE;;AAEpB,iBAAC,CAAC;AACJ,aAAC,CAAC;AACJ,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,MAAK;AACpB,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBAAE;AAE1B,YAAA,IAAI,OAAO,IAAI,CAAC,YAAY,EAAE,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,YAAY,EAAE,KAAK,QAAQ,EAAE;gBACtF,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;AACjC,oBAAA,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;oBAC3B,IAAI,IAAI,CAAC,YAAY,EAAE,KAAK,OAAO,CAAC,GAAG,EAAE,EAAE;AACzC,wBAAA,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;;AAE9B,iBAAC,CAAC;;AACG,iBAAA,IAAI,IAAI,CAAC,YAAY,EAAE,YAAY,KAAK,EAAE;gBAC9C,IAAI,CAAC,YAAY,EAAoB,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;oBACvD,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;AACjC,wBAAA,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;AAC3B,wBAAA,IAAI,KAAK,KAAK,OAAO,CAAC,GAAG,EAAE,EAAE;AAC3B,4BAAA,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;;AAE9B,qBAAC,CAAC;AACJ,iBAAC,CAAC;;AAEN,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,MAAK;AACrB,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;AACxB,gBAAA,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;;AAErD,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,MAAK;AACrB,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBAAE;AACzB,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACnB,MAAM,YAAY,GAAG,EAAE;gBACvB,IAAI,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC1C,oBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;wBACnB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;;AAEjC,iBAAC,CAAC;AACF,gBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;;iBACxE;gBACL,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;;AAEzF,SAAC,CAAC;AAQH;AApEC,IAAA,KAAK;AAmBL,IAAA,OAAO;AAsBP,IAAA,QAAQ;AAMR,IAAA,QAAQ;IAeR,iBAAiB,CAAC,GAAG,UAAoB,EAAA;QACvC,IAAI,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACtE,QAAA,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC1B,YAAA,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;AACrD,SAAC,CAAC;;+GA3EO,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EACF,wBAAwB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,SAAA,EAMpB,wBAAwB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAPnD,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,kBAAkB;AAC7B,iBAAA;;;ACJD,MAAM,SAAS,GAAG,CAAC,yBAAyB,EAAE,wBAAwB,CAAC;AACvE,MAAM,OAAO,GAAG,CAAC,YAAY,CAAC;MAOjB,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAApB,oBAAoB,EAAA,OAAA,EAAA,CAPhB,YAAY,EADV,yBAAyB,EAAE,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAAnD,yBAAyB,EAAE,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAQzD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAJlB,OAAO,CAAA,EAAA,CAAA,CAAA;;4FAIT,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC;AACnC,oBAAA,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;AACvB,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA;;;ACZD;;AAEG;;;;"}
1
+ {"version":3,"file":"acorex-cdk-selection.mjs","sources":["../../../../packages/cdk/selection/src/lib/selection-item.directive.ts","../../../../packages/cdk/selection/src/lib/selection-group.directive.ts","../../../../packages/cdk/selection/src/lib/selection.module.ts","../../../../packages/cdk/selection/src/acorex-cdk-selection.ts"],"sourcesContent":["import { afterNextRender, Directive, ElementRef, inject, input, output, signal } from '@angular/core';\n\n@Directive({\n selector: '[axSelectionItem]',\n exportAs: 'axSelectionItem',\n})\nexport class AXSelectionItemDirective {\n private elm = inject(ElementRef);\n isActive = signal(false);\n onClick = output<{ sender: AXSelectionItemDirective }>();\n key = input.required<string | number>();\n disable = input(false);\n\n #init = afterNextRender(() => {\n (this.elm.nativeElement as HTMLElement).onclick = () => {\n if (this.disable()) return;\n this.onClick.emit({ sender: this });\n };\n });\n\n public toggle() {\n if (this.disable()) return;\n this.isActive.update((prev) => !prev);\n }\n public select() {\n if (this.disable()) return;\n this.isActive.set(true);\n }\n public unselect() {\n if (this.disable()) return;\n this.isActive.set(false);\n }\n}\n","import { AXSelectionValueChangedEvent } from '@acorex/cdk/common';\nimport { contentChildren, Directive, effect, input, output, signal } from '@angular/core';\nimport { AXSelectionItemDirective } from './selection-item.directive';\n\nexport type AXSelectionGroupSelectedKeys = string | string[] | number | number[];\n\n@Directive({\n selector: '[axSelectionGroup]',\n exportAs: 'axSelectionGroup',\n})\nexport class AXSelectionGroupDirective {\n private content = contentChildren(AXSelectionItemDirective, { descendants: true });\n private activeIndex = signal<number | string>(null);\n multiple = input(false);\n disable = input(false);\n selectedKeys = input<AXSelectionGroupSelectedKeys>();\n onSelectionChanged = output<AXSelectionValueChangedEvent>();\n selectionItemsClass = contentChildren(AXSelectionItemDirective, { descendants: true });\n\n #init = effect(() => {\n this.selectionItemsClass().forEach((element) => {\n element.onClick.subscribe((e) => {\n if (this.disable()) return;\n this.activeIndex.set(e.sender.key());\n if (this.multiple()) {\n element.toggle();\n } else {\n this.selectionItemsClass().forEach((element) => {\n if (element.key() !== this.activeIndex()) {\n element.unselect();\n }\n });\n element.select();\n }\n });\n });\n });\n\n #effect = effect(() => {\n if (!this.selectedKeys()) return;\n\n if (typeof this.selectedKeys() === 'string' || typeof this.selectedKeys() === 'number') {\n this.content().forEach((element) => {\n element.isActive.set(false);\n if (this.selectedKeys() === element.key()) {\n element.isActive.set(true);\n }\n });\n } else if (this.selectedKeys() instanceof Array) {\n (this.selectedKeys() as Array<string>).forEach((index) => {\n this.content().forEach((element) => {\n element.isActive.set(false);\n if (index === element.key()) {\n element.isActive.set(true);\n }\n });\n });\n }\n });\n\n #effect2 = effect(() => {\n if (!this.selectedKeys()) {\n this.selectionItemsClass()[0]?.isActive.set(true);\n }\n });\n\n #effect3 = effect(() => {\n if (!this.activeIndex()) return;\n if (this.multiple()) {\n const selectedKeys = [];\n this.selectionItemsClass().forEach((item) => {\n if (item.isActive()) {\n selectedKeys.push(item.key());\n }\n });\n this.onSelectionChanged.emit({ component: this, selectedKeys: selectedKeys });\n } else {\n this.onSelectionChanged.emit({ component: this, selectedKeys: [this.activeIndex()] });\n }\n });\n\n activeItemByIndex(...restParams: number[]) {\n this.selectionItemsClass().forEach((item) => item.isActive.set(false));\n restParams.forEach((item) => {\n this.selectionItemsClass()[item].isActive.set(true);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXSelectionGroupDirective } from './selection-group.directive';\nimport { AXSelectionItemDirective } from './selection-item.directive';\n\nconst COMPONENT = [AXSelectionGroupDirective, AXSelectionItemDirective];\nconst MODULES = [CommonModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXSelectionCdkModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/cdk",
3
- "version": "19.15.0-next.26",
3
+ "version": "19.15.0-next.28",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^19.0.0",
6
6
  "@angular/core": "^19.0.0",