@odx/angular 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/cdk/expandable/lib/directives/expandable-container.directive.d.ts +20 -0
  3. package/cdk/expandable/lib/directives/expandable-item.directive.d.ts +10 -6
  4. package/cdk/expandable/lib/directives/index.d.ts +1 -1
  5. package/cdk/expandable/lib/expandable.module.d.ts +1 -1
  6. package/cdk/expandable/lib/expandable.tokens.d.ts +2 -1
  7. package/cdk/expandable/lib/facade/expandable-container.d.ts +6 -3
  8. package/cdk/expandable/lib/facade/expandable-item.d.ts +6 -3
  9. package/components/accordion/lib/accordion.component.d.ts +3 -3
  10. package/components/accordion/lib/components/accordion-item/accordion-item.component.d.ts +4 -3
  11. package/components/list/lib/components/expandable-list-item/expandable-list-item.component.d.ts +4 -7
  12. package/components/list/lib/components/list-item/list-item.component.d.ts +1 -1
  13. package/components/list/lib/list.component.d.ts +3 -4
  14. package/components/rich-list/lib/components/rich-list-item/rich-list-item.component.d.ts +4 -3
  15. package/components/rich-list/lib/rich-list.component.d.ts +3 -4
  16. package/esm2022/cdk/expandable/lib/directives/expandable-container.directive.mjs +59 -0
  17. package/esm2022/cdk/expandable/lib/directives/expandable-item.directive.mjs +27 -10
  18. package/esm2022/cdk/expandable/lib/directives/index.mjs +2 -2
  19. package/esm2022/cdk/expandable/lib/expandable.tokens.mjs +2 -1
  20. package/esm2022/cdk/expandable/lib/facade/expandable-container.mjs +1 -1
  21. package/esm2022/cdk/expandable/lib/facade/expandable-item.mjs +1 -1
  22. package/esm2022/components/accordion/lib/accordion.component.mjs +9 -11
  23. package/esm2022/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +17 -17
  24. package/esm2022/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +16 -31
  25. package/esm2022/components/list/lib/components/list-item/list-item.component.mjs +7 -8
  26. package/esm2022/components/list/lib/list.component.mjs +11 -15
  27. package/esm2022/components/rich-list/lib/components/rich-list-item/rich-list-item.component.mjs +17 -17
  28. package/esm2022/components/rich-list/lib/rich-list.component.mjs +9 -12
  29. package/fesm2022/odx-angular-cdk-expandable.mjs +84 -57
  30. package/fesm2022/odx-angular-cdk-expandable.mjs.map +1 -1
  31. package/fesm2022/odx-angular-components-accordion.mjs +22 -25
  32. package/fesm2022/odx-angular-components-accordion.mjs.map +1 -1
  33. package/fesm2022/odx-angular-components-list.mjs +26 -47
  34. package/fesm2022/odx-angular-components-list.mjs.map +1 -1
  35. package/fesm2022/odx-angular-components-rich-list.mjs +22 -26
  36. package/fesm2022/odx-angular-components-rich-list.mjs.map +1 -1
  37. package/package.json +1 -1
  38. package/cdk/expandable/lib/directives/extandable-container.directive.d.ts +0 -13
  39. package/esm2022/cdk/expandable/lib/directives/extandable-container.directive.mjs +0 -50
@@ -1,47 +1,32 @@
1
- import { __decorate, __metadata } from "tslib";
1
+ import { __decorate } from "tslib";
2
2
  import { transition, trigger, useAnimation } from '@angular/animations';
3
- import { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
3
+ import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';
4
4
  import { CoreModule, DisabledController } from '@odx/angular';
5
5
  import { collapse, expand } from '@odx/angular/animations';
6
- import { InteractiveDirective } from '@odx/angular/cdk/a11y';
7
6
  import { ExpandableItemDirective } from '@odx/angular/cdk/expandable';
7
+ import { ActionGroupComponent } from '@odx/angular/components/action-group';
8
+ import { ButtonComponent } from '@odx/angular/components/button';
8
9
  import { IconComponent } from '@odx/angular/components/icon';
9
- import { CSSComponent, CSSModifier } from '@odx/angular/internal';
10
+ import { CSSComponent } from '@odx/angular/internal';
10
11
  import { injectElement } from '@odx/angular/utils';
11
12
  import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/common";
13
- export let ExpandableListItemComponent = class ExpandableListItemComponent extends ExpandableItemDirective {
13
+ import * as i1 from "@odx/angular/cdk/expandable";
14
+ import * as i2 from "@angular/common";
15
+ export let ExpandableListItemComponent = class ExpandableListItemComponent {
14
16
  constructor() {
15
- super(...arguments);
16
- this.disabledController = DisabledController.inject();
17
+ this.expandableItem = inject(ExpandableItemDirective);
17
18
  this.element = injectElement();
18
- this.danger = false;
19
19
  }
20
- get isDisabled() {
21
- return !!this.disabledController?.disabled;
22
- }
23
- get isExpanded() {
24
- return !this.isDisabled && this.expanded;
25
- }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExpandableListItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.12", type: ExpandableListItemComponent, isStandalone: true, selector: "odx-expandable-list-item", inputs: { danger: ["danger", "danger", booleanAttribute] }, host: { properties: { "class.odx-expandable-list-item--expanded": "isExpanded", "class.odx-expandable-list-item--danger": "danger", "attr.title": "null" } }, providers: [DisabledController.connect()], usesInheritance: true, ngImport: i0, template: "<div\n role=\"button\"\n class=\"odx-expandable-list-item__header odx-list-item\"\n [attr.tabindex]=\"isDisabled ? -1 : 0\"\n [class.is-disabled]=\"isDisabled\"\n [class.odx-list-item--danger]=\"danger\"\n [class.odx-list-item--selected]=\"isExpanded\"\n (odxCdkInteractive)=\"toggle()\"\n>\n <div class=\"odx-expandable-list-item__content\">\n <ng-content></ng-content>\n </div>\n <odx-icon name=\"chevron-down\" iconSet=\"core\" class=\"odx-expandable-list-item__expand-icon\"></odx-icon>\n</div>\n\n<div class=\"odx-expandable-list-item__slot\" @expandSlotAnimation *ngIf=\"isExpanded\">\n <ng-content select=\"odx-list\"></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: InteractiveDirective, selector: "[odxCdkInteractive]", outputs: ["odxCdkInteractive"] }, { kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet"] }], animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExpandableListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ExpandableListItemComponent, isStandalone: true, selector: "odx-expandable-list-item", host: { properties: { "class.odx-expandable-list-item--expanded": "expandableItem.expanded" } }, providers: [DisabledController.connect()], hostDirectives: [{ directive: i1.ExpandableItemDirective, inputs: ["expanded", "expanded", "id", "id"] }], ngImport: i0, template: "<div class=\"odx-expandable-list-item__header\">\n <ng-content select=\"odx-list-item, [odxListItem]\" />\n <odx-action-group class=\"odx-expandable-list-item__action\">\n <button odxButton (click)=\"expandableItem.toggle()\">\n <odx-icon name=\"chevron-down\" iconSet=\"core\"></odx-icon>\n </button>\n </odx-action-group>\n</div>\n<div @expandSlotAnimation class=\"odx-expandable-list-item__slot\" *ngIf=\"expandableItem.expanded\">\n <ng-content select=\"odx-list\" />\n</div>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet"] }, { kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }], animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
28
22
  };
29
- __decorate([
30
- CSSModifier(),
31
- __metadata("design:type", Object)
32
- ], ExpandableListItemComponent.prototype, "danger", void 0);
33
23
  ExpandableListItemComponent = __decorate([
34
24
  CSSComponent('expandable-list-item')
35
25
  ], ExpandableListItemComponent);
36
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExpandableListItemComponent, decorators: [{
37
27
  type: Component,
38
- args: [{ standalone: true, selector: 'odx-expandable-list-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DisabledController.connect()], imports: [InteractiveDirective, CoreModule, IconComponent], host: {
39
- '[class.odx-expandable-list-item--expanded]': 'isExpanded',
40
- '[class.odx-expandable-list-item--danger]': 'danger',
41
- '[attr.title]': 'null',
42
- }, animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])], template: "<div\n role=\"button\"\n class=\"odx-expandable-list-item__header odx-list-item\"\n [attr.tabindex]=\"isDisabled ? -1 : 0\"\n [class.is-disabled]=\"isDisabled\"\n [class.odx-list-item--danger]=\"danger\"\n [class.odx-list-item--selected]=\"isExpanded\"\n (odxCdkInteractive)=\"toggle()\"\n>\n <div class=\"odx-expandable-list-item__content\">\n <ng-content></ng-content>\n </div>\n <odx-icon name=\"chevron-down\" iconSet=\"core\" class=\"odx-expandable-list-item__expand-icon\"></odx-icon>\n</div>\n\n<div class=\"odx-expandable-list-item__slot\" @expandSlotAnimation *ngIf=\"isExpanded\">\n <ng-content select=\"odx-list\"></ng-content>\n</div>\n" }]
43
- }], propDecorators: { danger: [{
44
- type: Input,
45
- args: [{ transform: booleanAttribute }]
46
- }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kYWJsZS1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvZXhwYW5kYWJsZS1saXN0LWl0ZW0vZXhwYW5kYWJsZS1saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvZXhwYW5kYWJsZS1saXN0LWl0ZW0vZXhwYW5kYWJsZS1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQWtCNUMsV0FBTSwyQkFBMkIsR0FBakMsTUFBTSwyQkFBNEIsU0FBUSx1QkFBdUI7SUFBakU7O1FBQ1ksdUJBQWtCLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEQsWUFBTyxHQUFHLGFBQWEsRUFBZSxDQUFDO1FBSWhELFdBQU0sR0FBRyxLQUFLLENBQUM7S0FTdkI7SUFQQyxJQUFXLFVBQVU7UUFDbkIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDM0MsQ0FBQzsrR0FkVSwyQkFBMkI7bUdBQTNCLDJCQUEyQixtR0FLbEIsZ0JBQWdCLDhLQWR6QixDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDLGlEQ2pCM0Msd3BCQWtCQSw0Q0RBWSxvQkFBb0IsK0ZBQUUsVUFBVSxtSUFBRSxhQUFhLHNGQU03QyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7QUFRckk7SUFGTixXQUFXLEVBQUU7OzJEQUVRO0FBTlgsMkJBQTJCO0lBaEJ2QyxZQUFZLENBQUMsc0JBQXNCLENBQUM7R0FnQnhCLDJCQUEyQixDQWV2Qzs0RkFmWSwyQkFBMkI7a0JBZnZDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLDBCQUEwQixpQkFFckIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDLFdBQ2hDLENBQUMsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxRQUNwRDt3QkFDSiw0Q0FBNEMsRUFBRSxZQUFZO3dCQUMxRCwwQ0FBMEMsRUFBRSxRQUFRO3dCQUNwRCxjQUFjLEVBQUUsTUFBTTtxQkFDdkIsY0FDVyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs4QkFRckksTUFBTTtzQkFEWixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHJhbnNpdGlvbiwgdHJpZ2dlciwgdXNlQW5pbWF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVNb2R1bGUsIERpc2FibGVkQ29udHJvbGxlciB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBjb2xsYXBzZSwgZXhwYW5kIH0gZnJvbSAnQG9keC9hbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgSW50ZXJhY3RpdmVEaXJlY3RpdmUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRXhwYW5kYWJsZUl0ZW1EaXJlY3RpdmUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2V4cGFuZGFibGUnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50LCBDU1NNb2RpZmllciB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBpbmplY3RFbGVtZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcblxuQENTU0NvbXBvbmVudCgnZXhwYW5kYWJsZS1saXN0LWl0ZW0nKVxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnb2R4LWV4cGFuZGFibGUtbGlzdC1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICdleHBhbmRhYmxlLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtEaXNhYmxlZENvbnRyb2xsZXIuY29ubmVjdCgpXSxcbiAgaW1wb3J0czogW0ludGVyYWN0aXZlRGlyZWN0aXZlLCBDb3JlTW9kdWxlLCBJY29uQ29tcG9uZW50XSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3Mub2R4LWV4cGFuZGFibGUtbGlzdC1pdGVtLS1leHBhbmRlZF0nOiAnaXNFeHBhbmRlZCcsXG4gICAgJ1tjbGFzcy5vZHgtZXhwYW5kYWJsZS1saXN0LWl0ZW0tLWRhbmdlcl0nOiAnZGFuZ2VyJyxcbiAgICAnW2F0dHIudGl0bGVdJzogJ251bGwnLFxuICB9LFxuICBhbmltYXRpb25zOiBbdHJpZ2dlcignZXhwYW5kU2xvdEFuaW1hdGlvbicsIFt0cmFuc2l0aW9uKCc6ZW50ZXInLCBbdXNlQW5pbWF0aW9uKGV4cGFuZCldKSwgdHJhbnNpdGlvbignOmxlYXZlJywgW3VzZUFuaW1hdGlvbihjb2xsYXBzZSldKV0pXSxcbn0pXG5leHBvcnQgY2xhc3MgRXhwYW5kYWJsZUxpc3RJdGVtQ29tcG9uZW50IGV4dGVuZHMgRXhwYW5kYWJsZUl0ZW1EaXJlY3RpdmUge1xuICBwcml2YXRlIHJlYWRvbmx5IGRpc2FibGVkQ29udHJvbGxlciA9IERpc2FibGVkQ29udHJvbGxlci5pbmplY3QoKTtcbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3RFbGVtZW50PEhUTUxFbGVtZW50PigpO1xuXG4gIEBDU1NNb2RpZmllcigpXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgZGFuZ2VyID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZGlzYWJsZWRDb250cm9sbGVyPy5kaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNFeHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNEaXNhYmxlZCAmJiB0aGlzLmV4cGFuZGVkO1xuICB9XG59XG4iLCI8ZGl2XG4gIHJvbGU9XCJidXR0b25cIlxuICBjbGFzcz1cIm9keC1leHBhbmRhYmxlLWxpc3QtaXRlbV9faGVhZGVyIG9keC1saXN0LWl0ZW1cIlxuICBbYXR0ci50YWJpbmRleF09XCJpc0Rpc2FibGVkID8gLTEgOiAwXCJcbiAgW2NsYXNzLmlzLWRpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxuICBbY2xhc3Mub2R4LWxpc3QtaXRlbS0tZGFuZ2VyXT1cImRhbmdlclwiXG4gIFtjbGFzcy5vZHgtbGlzdC1pdGVtLS1zZWxlY3RlZF09XCJpc0V4cGFuZGVkXCJcbiAgKG9keENka0ludGVyYWN0aXZlKT1cInRvZ2dsZSgpXCJcbj5cbiAgPGRpdiBjbGFzcz1cIm9keC1leHBhbmRhYmxlLWxpc3QtaXRlbV9fY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxvZHgtaWNvbiBuYW1lPVwiY2hldnJvbi1kb3duXCIgaWNvblNldD1cImNvcmVcIiBjbGFzcz1cIm9keC1leHBhbmRhYmxlLWxpc3QtaXRlbV9fZXhwYW5kLWljb25cIj48L29keC1pY29uPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJvZHgtZXhwYW5kYWJsZS1saXN0LWl0ZW1fX3Nsb3RcIiBAZXhwYW5kU2xvdEFuaW1hdGlvbiAqbmdJZj1cImlzRXhwYW5kZWRcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwib2R4LWxpc3RcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
28
+ args: [{ standalone: true, selector: 'odx-expandable-list-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CoreModule, ButtonComponent, IconComponent, ActionGroupComponent], providers: [DisabledController.connect()], hostDirectives: [{ directive: ExpandableItemDirective, inputs: ['expanded', 'id'] }], host: {
29
+ '[class.odx-expandable-list-item--expanded]': 'expandableItem.expanded',
30
+ }, animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])], template: "<div class=\"odx-expandable-list-item__header\">\n <ng-content select=\"odx-list-item, [odxListItem]\" />\n <odx-action-group class=\"odx-expandable-list-item__action\">\n <button odxButton (click)=\"expandableItem.toggle()\">\n <odx-icon name=\"chevron-down\" iconSet=\"core\"></odx-icon>\n </button>\n </odx-action-group>\n</div>\n<div @expandSlotAnimation class=\"odx-expandable-list-item__slot\" *ngIf=\"expandableItem.expanded\">\n <ng-content select=\"odx-list\" />\n</div>\n" }]
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kYWJsZS1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvZXhwYW5kYWJsZS1saXN0LWl0ZW0vZXhwYW5kYWJsZS1saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvZXhwYW5kYWJsZS1saXN0LWl0ZW0vZXhwYW5kYWJsZS1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFpQjVDLFdBQU0sMkJBQTJCLEdBQWpDLE1BQU0sMkJBQTJCO0lBQWpDO1FBQ2MsbUJBQWMsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUNwRCxZQUFPLEdBQUcsYUFBYSxFQUFlLENBQUM7S0FDeEQ7K0dBSFksMkJBQTJCO21HQUEzQiwyQkFBMkIsd0tBUDNCLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUMscUlDbkIzQyxrZkFXQSwyQ0RPWSxVQUFVLG1JQUFFLGVBQWUseUdBQUUsYUFBYSxvR0FBRSxvQkFBb0Isb0VBTTlELENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOztBQUVqSSwyQkFBMkI7SUFmdkMsWUFBWSxDQUFDLHNCQUFzQixDQUFDO0dBZXhCLDJCQUEyQixDQUd2Qzs0RkFIWSwyQkFBMkI7a0JBZHZDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLDBCQUEwQixpQkFFckIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLFVBQVUsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixDQUFDLGFBQ2hFLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUMsa0JBQ3pCLENBQUMsRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsUUFDOUU7d0JBQ0osNENBQTRDLEVBQUUseUJBQXlCO3FCQUN4RSxjQUNXLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHJhbnNpdGlvbiwgdHJpZ2dlciwgdXNlQW5pbWF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3JlTW9kdWxlLCBEaXNhYmxlZENvbnRyb2xsZXIgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgY29sbGFwc2UsIGV4cGFuZCB9IGZyb20gJ0BvZHgvYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEV4cGFuZGFibGVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9leHBhbmRhYmxlJztcbmltcG9ydCB7IEFjdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvYWN0aW9uLWdyb3VwJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvaWNvbic7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgaW5qZWN0RWxlbWVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5cbkBDU1NDb21wb25lbnQoJ2V4cGFuZGFibGUtbGlzdC1pdGVtJylcbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ29keC1leHBhbmRhYmxlLWxpc3QtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnZXhwYW5kYWJsZS1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0NvcmVNb2R1bGUsIEJ1dHRvbkNvbXBvbmVudCwgSWNvbkNvbXBvbmVudCwgQWN0aW9uR3JvdXBDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtEaXNhYmxlZENvbnRyb2xsZXIuY29ubmVjdCgpXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFt7IGRpcmVjdGl2ZTogRXhwYW5kYWJsZUl0ZW1EaXJlY3RpdmUsIGlucHV0czogWydleHBhbmRlZCcsICdpZCddIH1dLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5vZHgtZXhwYW5kYWJsZS1saXN0LWl0ZW0tLWV4cGFuZGVkXSc6ICdleHBhbmRhYmxlSXRlbS5leHBhbmRlZCcsXG4gIH0sXG4gIGFuaW1hdGlvbnM6IFt0cmlnZ2VyKCdleHBhbmRTbG90QW5pbWF0aW9uJywgW3RyYW5zaXRpb24oJzplbnRlcicsIFt1c2VBbmltYXRpb24oZXhwYW5kKV0pLCB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbdXNlQW5pbWF0aW9uKGNvbGxhcHNlKV0pXSldLFxufSlcbmV4cG9ydCBjbGFzcyBFeHBhbmRhYmxlTGlzdEl0ZW1Db21wb25lbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXhwYW5kYWJsZUl0ZW0gPSBpbmplY3QoRXhwYW5kYWJsZUl0ZW1EaXJlY3RpdmUpO1xuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQ8SFRNTEVsZW1lbnQ+KCk7XG59XG4iLCI8ZGl2IGNsYXNzPVwib2R4LWV4cGFuZGFibGUtbGlzdC1pdGVtX19oZWFkZXJcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwib2R4LWxpc3QtaXRlbSwgW29keExpc3RJdGVtXVwiIC8+XG4gIDxvZHgtYWN0aW9uLWdyb3VwIGNsYXNzPVwib2R4LWV4cGFuZGFibGUtbGlzdC1pdGVtX19hY3Rpb25cIj5cbiAgICA8YnV0dG9uIG9keEJ1dHRvbiAoY2xpY2spPVwiZXhwYW5kYWJsZUl0ZW0udG9nZ2xlKClcIj5cbiAgICAgIDxvZHgtaWNvbiBuYW1lPVwiY2hldnJvbi1kb3duXCIgaWNvblNldD1cImNvcmVcIj48L29keC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L29keC1hY3Rpb24tZ3JvdXA+XG48L2Rpdj5cbjxkaXYgQGV4cGFuZFNsb3RBbmltYXRpb24gY2xhc3M9XCJvZHgtZXhwYW5kYWJsZS1saXN0LWl0ZW1fX3Nsb3RcIiAqbmdJZj1cImV4cGFuZGFibGVJdGVtLmV4cGFuZGVkXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIm9keC1saXN0XCIgLz5cbjwvZGl2PlxuIl19
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
2
+ import { booleanAttribute, ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';
3
3
  import { WithDisabledState, WithTabIndex } from '@odx/angular';
4
4
  import { CSSComponent, CSSModifier } from '@odx/angular/internal';
5
5
  import { injectElement } from '@odx/angular/utils';
@@ -12,27 +12,26 @@ export let ListItemComponent = class ListItemComponent {
12
12
  this.selected = false;
13
13
  }
14
14
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.12", type: ListItemComponent, isStandalone: true, selector: "[odxListItem]", inputs: { danger: ["danger", "danger", booleanAttribute], selected: ["selected", "selected", booleanAttribute] }, hostDirectives: [{ directive: i1.WithDisabledState }, { directive: i1.WithTabIndex }], ngImport: i0, template: "<ng-content select=\"[odxListPrefix]\"></ng-content>\n<div class=\"odx-list-item__content\">\n <ng-content></ng-content>\n</div>\n<ng-content select=\"[odxListSuffix]\"></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.12", type: ListItemComponent, isStandalone: true, selector: "odx-list-item, [odxListItem]", inputs: { danger: ["danger", "danger", booleanAttribute], selected: ["selected", "selected", booleanAttribute] }, host: { properties: { "class.is-selected": "this.selected" } }, hostDirectives: [{ directive: i1.WithDisabledState }, { directive: i1.WithTabIndex }], ngImport: i0, template: "<ng-content select=\"[odxListPrefix], [odxListItemPrefix]\" />\n<div class=\"odx-list-item__content\">\n <ng-content />\n</div>\n<ng-content select=\"[odxListSuffix], [odxListItemSuffix]\" />\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
16
16
  };
17
17
  __decorate([
18
18
  CSSModifier(),
19
19
  __metadata("design:type", Object)
20
20
  ], ListItemComponent.prototype, "danger", void 0);
21
- __decorate([
22
- CSSModifier(),
23
- __metadata("design:type", Object)
24
- ], ListItemComponent.prototype, "selected", void 0);
25
21
  ListItemComponent = __decorate([
26
22
  CSSComponent('list-item')
27
23
  ], ListItemComponent);
28
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListItemComponent, decorators: [{
29
25
  type: Component,
30
- args: [{ standalone: true, selector: '[odxListItem]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [WithDisabledState, WithTabIndex], template: "<ng-content select=\"[odxListPrefix]\"></ng-content>\n<div class=\"odx-list-item__content\">\n <ng-content></ng-content>\n</div>\n<ng-content select=\"[odxListSuffix]\"></ng-content>\n" }]
26
+ args: [{ standalone: true, selector: 'odx-list-item, [odxListItem]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [WithDisabledState, WithTabIndex], template: "<ng-content select=\"[odxListPrefix], [odxListItemPrefix]\" />\n<div class=\"odx-list-item__content\">\n <ng-content />\n</div>\n<ng-content select=\"[odxListSuffix], [odxListItemSuffix]\" />\n" }]
31
27
  }], propDecorators: { danger: [{
32
28
  type: Input,
33
29
  args: [{ transform: booleanAttribute }]
34
30
  }], selected: [{
31
+ type: HostBinding,
32
+ args: ['class.is-selected']
33
+ }, {
35
34
  type: Input,
36
35
  args: [{ transform: booleanAttribute }]
37
36
  }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2xpc3Qvc3JjL2xpYi9jb21wb25lbnRzL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBWTVDLFdBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWlCO0lBQXZCO1FBQ1csWUFBTyxHQUFHLGFBQWEsRUFBZSxDQUFDO1FBSWhELFdBQU0sR0FBRyxLQUFLLENBQUM7UUFJZixhQUFRLEdBQUcsS0FBSyxDQUFDO0tBQ3pCOytHQVZZLGlCQUFpQjttR0FBakIsaUJBQWlCLHdGQUlSLGdCQUFnQixzQ0FJaEIsZ0JBQWdCLG9IQ3ZCdEMsMkxBS0E7O0FEZVM7SUFGTixXQUFXLEVBQUU7O2lEQUVRO0FBSWY7SUFGTixXQUFXLEVBQUU7O21EQUVVO0FBVGIsaUJBQWlCO0lBVjdCLFlBQVksQ0FBQyxXQUFXLENBQUM7R0FVYixpQkFBaUIsQ0FVN0I7NEZBVlksaUJBQWlCO2tCQVQ3QixTQUFTO2lDQUNJLElBQUksWUFFTixlQUFlLGlCQUVWLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sa0JBQy9CLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxDQUFDOzhCQU8xQyxNQUFNO3NCQURaLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSy9CLFFBQVE7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2l0aERpc2FibGVkU3RhdGUsIFdpdGhUYWJJbmRleCB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQsIENTU01vZGlmaWVyIH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGluamVjdEVsZW1lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuXG5AQ1NTQ29tcG9uZW50KCdsaXN0LWl0ZW0nKVxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW29keExpc3RJdGVtXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdERpcmVjdGl2ZXM6IFtXaXRoRGlzYWJsZWRTdGF0ZSwgV2l0aFRhYkluZGV4XSxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW1Db21wb25lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQ8SFRNTEVsZW1lbnQ+KCk7XG5cbiAgQENTU01vZGlmaWVyKClcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBkYW5nZXIgPSBmYWxzZTtcblxuICBAQ1NTTW9kaWZpZXIoKVxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIHNlbGVjdGVkID0gZmFsc2U7XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJbb2R4TGlzdFByZWZpeF1cIj48L25nLWNvbnRlbnQ+XG48ZGl2IGNsYXNzPVwib2R4LWxpc3QtaXRlbV9fY29udGVudFwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxuZy1jb250ZW50IHNlbGVjdD1cIltvZHhMaXN0U3VmZml4XVwiPjwvbmctY29udGVudD5cbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2xpc3Qvc3JjL2xpYi9jb21wb25lbnRzL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQVc1QyxXQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjtJQUF2QjtRQUNXLFlBQU8sR0FBRyxhQUFhLEVBQWUsQ0FBQztRQUloRCxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBSWYsYUFBUSxHQUFHLEtBQUssQ0FBQztLQUN6QjsrR0FWWSxpQkFBaUI7bUdBQWpCLGlCQUFpQix1R0FJUixnQkFBZ0Isc0NBSWhCLGdCQUFnQixvTEN0QnRDLG9NQUtBOztBRGNTO0lBRk4sV0FBVyxFQUFFOztpREFFUTtBQUxYLGlCQUFpQjtJQVQ3QixZQUFZLENBQUMsV0FBVyxDQUFDO0dBU2IsaUJBQWlCLENBVTdCOzRGQVZZLGlCQUFpQjtrQkFSN0IsU0FBUztpQ0FDSSxJQUFJLFlBQ04sOEJBQThCLGlCQUV6QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGtCQUMvQixDQUFDLGlCQUFpQixFQUFFLFlBQVksQ0FBQzs4QkFPMUMsTUFBTTtzQkFEWixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUsvQixRQUFRO3NCQUZkLFdBQVc7dUJBQUMsbUJBQW1COztzQkFDL0IsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdpdGhEaXNhYmxlZFN0YXRlLCBXaXRoVGFiSW5kZXggfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50LCBDU1NNb2RpZmllciB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBpbmplY3RFbGVtZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcblxuQENTU0NvbXBvbmVudCgnbGlzdC1pdGVtJylcbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ29keC1saXN0LWl0ZW0sIFtvZHhMaXN0SXRlbV0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3REaXJlY3RpdmVzOiBbV2l0aERpc2FibGVkU3RhdGUsIFdpdGhUYWJJbmRleF0sXG59KVxuZXhwb3J0IGNsYXNzIExpc3RJdGVtQ29tcG9uZW50IHtcbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3RFbGVtZW50PEhUTUxFbGVtZW50PigpO1xuXG4gIEBDU1NNb2RpZmllcigpXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgZGFuZ2VyID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1zZWxlY3RlZCcpXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgc2VsZWN0ZWQgPSBmYWxzZTtcbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cIltvZHhMaXN0UHJlZml4XSwgW29keExpc3RJdGVtUHJlZml4XVwiIC8+XG48ZGl2IGNsYXNzPVwib2R4LWxpc3QtaXRlbV9fY29udGVudFwiPlxuICA8bmctY29udGVudCAvPlxuPC9kaXY+XG48bmctY29udGVudCBzZWxlY3Q9XCJbb2R4TGlzdFN1ZmZpeF0sIFtvZHhMaXN0SXRlbVN1ZmZpeF1cIiAvPlxuIl19
@@ -1,26 +1,22 @@
1
- var ListComponent_1;
2
- import { __decorate, __metadata } from "tslib";
3
- import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';
4
- import { ExpandableContainerDirective, ODX_EXPANDABLE_CONTAINER } from '@odx/angular/cdk/expandable';
1
+ import { __decorate } from "tslib";
2
+ import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
3
+ import { ExpandableContainerDirective } from '@odx/angular/cdk/expandable';
5
4
  import { CSSComponent } from '@odx/angular/internal';
6
5
  import { injectElement } from '@odx/angular/utils';
7
6
  import * as i0 from "@angular/core";
8
- export let ListComponent = class ListComponent extends ExpandableContainerDirective {
9
- static { ListComponent_1 = this; }
7
+ import * as i1 from "@odx/angular/cdk/expandable";
8
+ export let ListComponent = class ListComponent {
10
9
  constructor() {
11
- super();
12
10
  this.element = injectElement();
13
- this.multiple = true;
14
11
  }
15
12
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ListComponent, isStandalone: true, selector: "odx-list", providers: [{ provide: ODX_EXPANDABLE_CONTAINER, useExisting: forwardRef(() => ListComponent_1) }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[odxListItem], odx-expandable-list-item\"></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ListComponent, isStandalone: true, selector: "odx-list", hostDirectives: [{ directive: i1.ExpandableContainerDirective, inputs: ["multiple", "multiple"] }], ngImport: i0, template: "<ng-content select=\"odx-list, odx-list-item, [odxListItem], odx-expandable-list-item\" />\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
17
14
  };
18
- ListComponent = ListComponent_1 = __decorate([
19
- CSSComponent('list'),
20
- __metadata("design:paramtypes", [])
15
+ ListComponent = __decorate([
16
+ CSSComponent('list')
21
17
  ], ListComponent);
22
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListComponent, decorators: [{
23
19
  type: Component,
24
- args: [{ selector: 'odx-list', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: ODX_EXPANDABLE_CONTAINER, useExisting: forwardRef(() => ListComponent) }], template: "<ng-content select=\"[odxListItem], odx-expandable-list-item\"></ng-content>\n" }]
25
- }], ctorParameters: function () { return []; } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9saXN0L3NyYy9saWIvbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9saXN0L3NyYy9saWIvbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBVzVDLFdBQU0sYUFBYSxHQUFuQixNQUFNLGFBQWMsU0FBUSw0QkFBNEI7O0lBRzdEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFITSxZQUFPLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFJeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQzsrR0FOVSxhQUFhO21HQUFiLGFBQWEsdURBRmIsQ0FBQyxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWEsQ0FBQyxFQUFFLENBQUMsaURDWmxHLGdGQUNBOztBRGFhLGFBQWE7SUFUekIsWUFBWSxDQUFDLE1BQU0sQ0FBQzs7R0FTUixhQUFhLENBT3pCOzRGQVBZLGFBQWE7a0JBUnpCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksaUJBRUQsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXhwYW5kYWJsZUNvbnRhaW5lckRpcmVjdGl2ZSwgT0RYX0VYUEFOREFCTEVfQ09OVEFJTkVSIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9leHBhbmRhYmxlJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBpbmplY3RFbGVtZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcblxuQENTU0NvbXBvbmVudCgnbGlzdCcpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZHgtbGlzdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogT0RYX0VYUEFOREFCTEVfQ09OVEFJTkVSLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMaXN0Q29tcG9uZW50KSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdENvbXBvbmVudCBleHRlbmRzIEV4cGFuZGFibGVDb250YWluZXJEaXJlY3RpdmUge1xuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubXVsdGlwbGUgPSB0cnVlO1xuICB9XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJbb2R4TGlzdEl0ZW1dLCBvZHgtZXhwYW5kYWJsZS1saXN0LWl0ZW1cIj48L25nLWNvbnRlbnQ+XG4iXX0=
20
+ args: [{ selector: 'odx-list', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [{ directive: ExpandableContainerDirective, inputs: ['multiple'] }], template: "<ng-content select=\"odx-list, odx-list-item, [odxListItem], odx-expandable-list-item\" />\n" }]
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9saXN0L3NyYy9saWIvbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9saXN0L3NyYy9saWIvbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFXNUMsV0FBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYTtJQUFuQjtRQUNXLFlBQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQztLQUMzQzsrR0FGWSxhQUFhO21HQUFiLGFBQWEsd0tDZDFCLDhGQUNBOztBRGFhLGFBQWE7SUFUekIsWUFBWSxDQUFDLE1BQU0sQ0FBQztHQVNSLGFBQWEsQ0FFekI7NEZBRlksYUFBYTtrQkFSekIsU0FBUzsrQkFDRSxVQUFVLGNBQ1IsSUFBSSxpQkFFRCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGtCQUMvQixDQUFDLEVBQUUsU0FBUyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXhwYW5kYWJsZUNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvZXhwYW5kYWJsZSc7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgaW5qZWN0RWxlbWVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5cbkBDU1NDb21wb25lbnQoJ2xpc3QnKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2R4LWxpc3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0RGlyZWN0aXZlczogW3sgZGlyZWN0aXZlOiBFeHBhbmRhYmxlQ29udGFpbmVyRGlyZWN0aXZlLCBpbnB1dHM6IFsnbXVsdGlwbGUnXSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdENvbXBvbmVudCB7XG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwib2R4LWxpc3QsIG9keC1saXN0LWl0ZW0sIFtvZHhMaXN0SXRlbV0sIG9keC1leHBhbmRhYmxlLWxpc3QtaXRlbVwiIC8+XG4iXX0=
@@ -1,45 +1,45 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { transition, trigger, useAnimation } from '@angular/animations';
3
- import { ChangeDetectionStrategy, Component, EventEmitter, Output, ViewEncapsulation } from '@angular/core';
3
+ import { ChangeDetectionStrategy, Component, EventEmitter, Output, ViewEncapsulation, inject } from '@angular/core';
4
4
  import { CoreModule } from '@odx/angular';
5
5
  import { collapse, expand } from '@odx/angular/animations';
6
6
  import { A11yModule } from '@odx/angular/cdk/a11y';
7
7
  import { ExpandableItemDirective } from '@odx/angular/cdk/expandable';
8
8
  import { IconComponent } from '@odx/angular/components/icon';
9
9
  import { CSSComponent } from '@odx/angular/internal';
10
- import { getUniqueId, injectElement } from '@odx/angular/utils';
10
+ import { injectElement } from '@odx/angular/utils';
11
11
  import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/common";
13
- import * as i2 from "@odx/angular/cdk/a11y";
14
- export let RichListItemComponent = class RichListItemComponent extends ExpandableItemDirective {
12
+ import * as i1 from "@odx/angular/cdk/expandable";
13
+ import * as i2 from "@angular/common";
14
+ import * as i3 from "@odx/angular/cdk/a11y";
15
+ export let RichListItemComponent = class RichListItemComponent {
15
16
  constructor() {
16
- super(...arguments);
17
+ this.expandableItem = inject(ExpandableItemDirective, { self: true });
17
18
  this.element = injectElement();
18
- this.id = getUniqueId('odx-rich-list-item');
19
19
  this.expandedChange = new EventEmitter();
20
20
  }
21
21
  get titleId() {
22
- return `${this.id}-title`;
22
+ return `${this.expandableItem.id}-title`;
23
23
  }
24
24
  get slotId() {
25
- return `${this.id}-slot`;
25
+ return `${this.expandableItem.id}-slot`;
26
26
  }
27
27
  onAnimationEnd() {
28
- this.expandedChange.emit(this.expanded);
28
+ this.expandedChange.emit(this.expandableItem.expanded);
29
29
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RichListItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RichListItemComponent, isStandalone: true, selector: "odx-rich-list-item", outputs: { expandedChange: "expandedChange" }, host: { properties: { "class.odx-rich-list-item--expanded": "expanded", "attr.id": "id" } }, usesInheritance: true, ngImport: i0, template: "<div\n class=\"odx-rich-list-item__panel\"\n [attr.id]=\"titleId\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"slotId\"\n (odxCdkInteractive)=\"toggle()\"\n>\n <odx-icon class=\"odx-rich-list-item__icon\" name=\"chevron-right\" iconSet=\"core\"></odx-icon>\n <ng-content select=\"odx-rich-list-item-title\"></ng-content>\n</div>\n<div\n class=\"odx-rich-list-item__slot\"\n [attr.id]=\"slotId\"\n [attr.aria-labelledby]=\"titleId\"\n @expandSlotAnimation\n (@expandSlotAnimation.done)=\"onAnimationEnd()\"\n *ngIf=\"expanded\"\n>\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.InteractiveDirective, selector: "[odxCdkInteractive]", outputs: ["odxCdkInteractive"] }, { kind: "ngmodule", type: CoreModule }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet"] }], animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RichListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RichListItemComponent, isStandalone: true, selector: "odx-rich-list-item", outputs: { expandedChange: "expandedChange" }, host: { properties: { "class.odx-rich-list-item--expanded": "expandableItem.expanded", "attr.id": "expandableItem.id" } }, hostDirectives: [{ directive: i1.ExpandableItemDirective, inputs: ["expanded", "expanded", "id", "id"] }], ngImport: i0, template: "<div\n class=\"odx-rich-list-item__panel\"\n [attr.id]=\"titleId\"\n [attr.aria-expanded]=\"expandableItem.expanded\"\n [attr.aria-controls]=\"slotId\"\n (odxCdkInteractive)=\"expandableItem.toggle()\"\n>\n <odx-icon class=\"odx-rich-list-item__icon\" name=\"chevron-right\" iconSet=\"core\"></odx-icon>\n <ng-content select=\"odx-rich-list-item-title\"></ng-content>\n</div>\n<div\n class=\"odx-rich-list-item__slot\"\n [attr.id]=\"slotId\"\n [attr.aria-labelledby]=\"titleId\"\n @expandSlotAnimation\n (@expandSlotAnimation.done)=\"onAnimationEnd()\"\n *ngIf=\"expandableItem.expanded\"\n>\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.InteractiveDirective, selector: "[odxCdkInteractive]", outputs: ["odxCdkInteractive"] }, { kind: "ngmodule", type: CoreModule }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet"] }], animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
32
32
  };
33
33
  RichListItemComponent = __decorate([
34
34
  CSSComponent('rich-list-item')
35
35
  ], RichListItemComponent);
36
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RichListItemComponent, decorators: [{
37
37
  type: Component,
38
- args: [{ selector: 'odx-rich-list-item', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [A11yModule, CoreModule, IconComponent], host: {
39
- '[class.odx-rich-list-item--expanded]': 'expanded',
40
- '[attr.id]': 'id',
41
- }, animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])], template: "<div\n class=\"odx-rich-list-item__panel\"\n [attr.id]=\"titleId\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"slotId\"\n (odxCdkInteractive)=\"toggle()\"\n>\n <odx-icon class=\"odx-rich-list-item__icon\" name=\"chevron-right\" iconSet=\"core\"></odx-icon>\n <ng-content select=\"odx-rich-list-item-title\"></ng-content>\n</div>\n<div\n class=\"odx-rich-list-item__slot\"\n [attr.id]=\"slotId\"\n [attr.aria-labelledby]=\"titleId\"\n @expandSlotAnimation\n (@expandSlotAnimation.done)=\"onAnimationEnd()\"\n *ngIf=\"expanded\"\n>\n <ng-content></ng-content>\n</div>\n" }]
38
+ args: [{ selector: 'odx-rich-list-item', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [A11yModule, CoreModule, IconComponent], hostDirectives: [{ directive: ExpandableItemDirective, inputs: ['expanded', 'id'] }], host: {
39
+ '[class.odx-rich-list-item--expanded]': 'expandableItem.expanded',
40
+ '[attr.id]': 'expandableItem.id',
41
+ }, animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])], template: "<div\n class=\"odx-rich-list-item__panel\"\n [attr.id]=\"titleId\"\n [attr.aria-expanded]=\"expandableItem.expanded\"\n [attr.aria-controls]=\"slotId\"\n (odxCdkInteractive)=\"expandableItem.toggle()\"\n>\n <odx-icon class=\"odx-rich-list-item__icon\" name=\"chevron-right\" iconSet=\"core\"></odx-icon>\n <ng-content select=\"odx-rich-list-item-title\"></ng-content>\n</div>\n<div\n class=\"odx-rich-list-item__slot\"\n [attr.id]=\"slotId\"\n [attr.aria-labelledby]=\"titleId\"\n @expandSlotAnimation\n (@expandSlotAnimation.done)=\"onAnimationEnd()\"\n *ngIf=\"expandableItem.expanded\"\n>\n <ng-content></ng-content>\n</div>\n" }]
42
42
  }], propDecorators: { expandedChange: [{
43
43
  type: Output
44
44
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvcmljaC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9yaWNoLWxpc3QtaXRlbS9yaWNoLWxpc3QtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9yaWNoLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL3JpY2gtbGlzdC1pdGVtL3JpY2gtbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFnQnpELFdBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXNCLFNBQVEsdUJBQXVCO0lBQTNEOztRQUNXLFlBQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUNqQixPQUFFLEdBQUcsV0FBVyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFHekQsbUJBQWMsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQWFuRTtJQVhDLElBQVcsT0FBTztRQUNoQixPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsUUFBUSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDOytHQWpCVSxxQkFBcUI7bUdBQXJCLHFCQUFxQixpUEN4QmxDLHdsQkFvQkEsMkNESFksVUFBVSx5UEFBRSxVQUFVLCtCQUFFLGFBQWEsc0ZBS25DLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOztBQUVqSSxxQkFBcUI7SUFkakMsWUFBWSxDQUFDLGdCQUFnQixDQUFDO0dBY2xCLHFCQUFxQixDQWtCakM7NEZBbEJZLHFCQUFxQjtrQkFiakMsU0FBUzsrQkFDRSxvQkFBb0IsY0FFbEIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsUUFDMUM7d0JBQ0osc0NBQXNDLEVBQUUsVUFBVTt3QkFDbEQsV0FBVyxFQUFFLElBQUk7cUJBQ2xCLGNBQ1csQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7OEJBT3JJLGNBQWM7c0JBRHBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0cmFuc2l0aW9uLCB0cmlnZ2VyLCB1c2VBbmltYXRpb24gfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBjb2xsYXBzZSwgZXhwYW5kIH0gZnJvbSAnQG9keC9hbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBFeHBhbmRhYmxlSXRlbURpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvZXhwYW5kYWJsZSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvaWNvbic7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgZ2V0VW5pcXVlSWQsIGluamVjdEVsZW1lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuXG5AQ1NTQ29tcG9uZW50KCdyaWNoLWxpc3QtaXRlbScpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZHgtcmljaC1saXN0LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcmljaC1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW0ExMXlNb2R1bGUsIENvcmVNb2R1bGUsIEljb25Db21wb25lbnRdLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5vZHgtcmljaC1saXN0LWl0ZW0tLWV4cGFuZGVkXSc6ICdleHBhbmRlZCcsXG4gICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gIH0sXG4gIGFuaW1hdGlvbnM6IFt0cmlnZ2VyKCdleHBhbmRTbG90QW5pbWF0aW9uJywgW3RyYW5zaXRpb24oJzplbnRlcicsIFt1c2VBbmltYXRpb24oZXhwYW5kKV0pLCB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbdXNlQW5pbWF0aW9uKGNvbGxhcHNlKV0pXSldLFxufSlcbmV4cG9ydCBjbGFzcyBSaWNoTGlzdEl0ZW1Db21wb25lbnQgZXh0ZW5kcyBFeHBhbmRhYmxlSXRlbURpcmVjdGl2ZSB7XG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgaWQgPSBnZXRVbmlxdWVJZCgnb2R4LXJpY2gtbGlzdC1pdGVtJyk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBleHBhbmRlZENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBnZXQgdGl0bGVJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmlkfS10aXRsZWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNsb3RJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmlkfS1zbG90YDtcbiAgfVxuXG4gIHB1YmxpYyBvbkFuaW1hdGlvbkVuZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZGVkQ2hhbmdlLmVtaXQodGhpcy5leHBhbmRlZCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJvZHgtcmljaC1saXN0LWl0ZW1fX3BhbmVsXCJcbiAgW2F0dHIuaWRdPVwidGl0bGVJZFwiXG4gIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxuICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cInNsb3RJZFwiXG4gIChvZHhDZGtJbnRlcmFjdGl2ZSk9XCJ0b2dnbGUoKVwiXG4+XG4gIDxvZHgtaWNvbiBjbGFzcz1cIm9keC1yaWNoLWxpc3QtaXRlbV9faWNvblwiIG5hbWU9XCJjaGV2cm9uLXJpZ2h0XCIgaWNvblNldD1cImNvcmVcIj48L29keC1pY29uPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJvZHgtcmljaC1saXN0LWl0ZW0tdGl0bGVcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXZcbiAgY2xhc3M9XCJvZHgtcmljaC1saXN0LWl0ZW1fX3Nsb3RcIlxuICBbYXR0ci5pZF09XCJzbG90SWRcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwidGl0bGVJZFwiXG4gIEBleHBhbmRTbG90QW5pbWF0aW9uXG4gIChAZXhwYW5kU2xvdEFuaW1hdGlvbi5kb25lKT1cIm9uQW5pbWF0aW9uRW5kKClcIlxuICAqbmdJZj1cImV4cGFuZGVkXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvcmljaC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9yaWNoLWxpc3QtaXRlbS9yaWNoLWxpc3QtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9yaWNoLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL3JpY2gtbGlzdC1pdGVtL3JpY2gtbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBaUI1QyxXQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQUEzQjtRQUNjLG1CQUFjLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDcEUsWUFBTyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBR25DLG1CQUFjLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7S0FhbkU7SUFYQyxJQUFXLE9BQU87UUFDaEIsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxRQUFRLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQzFDLENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekQsQ0FBQzsrR0FqQlUscUJBQXFCO21HQUFyQixxQkFBcUIsbVdDekJsQyxxb0JBb0JBLDJDREhZLFVBQVUseVBBQUUsVUFBVSwrQkFBRSxhQUFhLHNGQU1uQyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7QUFFakkscUJBQXFCO0lBZmpDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQztHQWVsQixxQkFBcUIsQ0FrQmpDOzRGQWxCWSxxQkFBcUI7a0JBZGpDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBRWxCLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxXQUM1QixDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUFDLGtCQUNoQyxDQUFDLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQzlFO3dCQUNKLHNDQUFzQyxFQUFFLHlCQUF5Qjt3QkFDakUsV0FBVyxFQUFFLG1CQUFtQjtxQkFDakMsY0FDVyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs4QkFPckksY0FBYztzQkFEcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRyYW5zaXRpb24sIHRyaWdnZXIsIHVzZUFuaW1hdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgY29sbGFwc2UsIGV4cGFuZCB9IGZyb20gJ0BvZHgvYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRXhwYW5kYWJsZUl0ZW1EaXJlY3RpdmUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2V4cGFuZGFibGUnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGluamVjdEVsZW1lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuXG5AQ1NTQ29tcG9uZW50KCdyaWNoLWxpc3QtaXRlbScpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZHgtcmljaC1saXN0LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcmljaC1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW0ExMXlNb2R1bGUsIENvcmVNb2R1bGUsIEljb25Db21wb25lbnRdLFxuICBob3N0RGlyZWN0aXZlczogW3sgZGlyZWN0aXZlOiBFeHBhbmRhYmxlSXRlbURpcmVjdGl2ZSwgaW5wdXRzOiBbJ2V4cGFuZGVkJywgJ2lkJ10gfV0sXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLm9keC1yaWNoLWxpc3QtaXRlbS0tZXhwYW5kZWRdJzogJ2V4cGFuZGFibGVJdGVtLmV4cGFuZGVkJyxcbiAgICAnW2F0dHIuaWRdJzogJ2V4cGFuZGFibGVJdGVtLmlkJyxcbiAgfSxcbiAgYW5pbWF0aW9uczogW3RyaWdnZXIoJ2V4cGFuZFNsb3RBbmltYXRpb24nLCBbdHJhbnNpdGlvbignOmVudGVyJywgW3VzZUFuaW1hdGlvbihleHBhbmQpXSksIHRyYW5zaXRpb24oJzpsZWF2ZScsIFt1c2VBbmltYXRpb24oY29sbGFwc2UpXSldKV0sXG59KVxuZXhwb3J0IGNsYXNzIFJpY2hMaXN0SXRlbUNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBleHBhbmRhYmxlSXRlbSA9IGluamVjdChFeHBhbmRhYmxlSXRlbURpcmVjdGl2ZSwgeyBzZWxmOiB0cnVlIH0pO1xuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGV4cGFuZGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIGdldCB0aXRsZUlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuZXhwYW5kYWJsZUl0ZW0uaWR9LXRpdGxlYDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2xvdElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuZXhwYW5kYWJsZUl0ZW0uaWR9LXNsb3RgO1xuICB9XG5cbiAgcHVibGljIG9uQW5pbWF0aW9uRW5kKCk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWRDaGFuZ2UuZW1pdCh0aGlzLmV4cGFuZGFibGVJdGVtLmV4cGFuZGVkKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cIm9keC1yaWNoLWxpc3QtaXRlbV9fcGFuZWxcIlxuICBbYXR0ci5pZF09XCJ0aXRsZUlkXCJcbiAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJleHBhbmRhYmxlSXRlbS5leHBhbmRlZFwiXG4gIFthdHRyLmFyaWEtY29udHJvbHNdPVwic2xvdElkXCJcbiAgKG9keENka0ludGVyYWN0aXZlKT1cImV4cGFuZGFibGVJdGVtLnRvZ2dsZSgpXCJcbj5cbiAgPG9keC1pY29uIGNsYXNzPVwib2R4LXJpY2gtbGlzdC1pdGVtX19pY29uXCIgbmFtZT1cImNoZXZyb24tcmlnaHRcIiBpY29uU2V0PVwiY29yZVwiPjwvb2R4LWljb24+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIm9keC1yaWNoLWxpc3QtaXRlbS10aXRsZVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuPGRpdlxuICBjbGFzcz1cIm9keC1yaWNoLWxpc3QtaXRlbV9fc2xvdFwiXG4gIFthdHRyLmlkXT1cInNsb3RJZFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJ0aXRsZUlkXCJcbiAgQGV4cGFuZFNsb3RBbmltYXRpb25cbiAgKEBleHBhbmRTbG90QW5pbWF0aW9uLmRvbmUpPVwib25BbmltYXRpb25FbmQoKVwiXG4gICpuZ0lmPVwiZXhwYW5kYWJsZUl0ZW0uZXhwYW5kZWRcIlxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
@@ -1,25 +1,22 @@
1
- var RichListComponent_1;
2
1
  import { __decorate } from "tslib";
3
- import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';
4
- import { ExpandableContainerDirective, ODX_EXPANDABLE_CONTAINER } from '@odx/angular/cdk/expandable';
2
+ import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
3
+ import { ExpandableContainerDirective } from '@odx/angular/cdk/expandable';
5
4
  import { CSSComponent } from '@odx/angular/internal';
6
5
  import { injectElement } from '@odx/angular/utils';
7
6
  import * as i0 from "@angular/core";
8
- export let RichListComponent = class RichListComponent extends ExpandableContainerDirective {
7
+ import * as i1 from "@odx/angular/cdk/expandable";
8
+ export let RichListComponent = class RichListComponent {
9
9
  constructor() {
10
- super(...arguments);
11
- this.multiple = true;
12
10
  this.element = injectElement();
13
11
  }
14
- static { RichListComponent_1 = this; }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RichListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RichListComponent, isStandalone: true, selector: "odx-rich-list", providers: [{ provide: ODX_EXPANDABLE_CONTAINER, useExisting: forwardRef(() => RichListComponent_1) }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"odx-rich-list-item\"></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RichListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RichListComponent, isStandalone: true, selector: "odx-rich-list", hostDirectives: [{ directive: i1.ExpandableContainerDirective, inputs: ["multiple", "multiple"] }], ngImport: i0, template: "<ng-content select=\"odx-rich-list-item\"></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
17
14
  };
18
- RichListComponent = RichListComponent_1 = __decorate([
15
+ RichListComponent = __decorate([
19
16
  CSSComponent('rich-list')
20
17
  ], RichListComponent);
21
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RichListComponent, decorators: [{
22
19
  type: Component,
23
- args: [{ selector: 'odx-rich-list', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: ODX_EXPANDABLE_CONTAINER, useExisting: forwardRef(() => RichListComponent) }], template: "<ng-content select=\"odx-rich-list-item\"></ng-content>\n" }]
20
+ args: [{ selector: 'odx-rich-list', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, hostDirectives: [{ directive: ExpandableContainerDirective, inputs: ['multiple'] }], template: "<ng-content select=\"odx-rich-list-item\"></ng-content>\n" }]
24
21
  }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3JpY2gtbGlzdC9zcmMvbGliL3JpY2gtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9yaWNoLWxpc3Qvc3JjL2xpYi9yaWNoLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQVc1QyxXQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFrQixTQUFRLDRCQUE0QjtJQUE1RDs7UUFDVyxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQztLQUMzQzs7K0dBSFksaUJBQWlCO21HQUFqQixpQkFBaUIsNERBRmpCLENBQUMsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBaUIsQ0FBQyxFQUFFLENBQUMsaURDWnRHLDJEQUNBOztBRGFhLGlCQUFpQjtJQVQ3QixZQUFZLENBQUMsV0FBVyxDQUFDO0dBU2IsaUJBQWlCLENBRzdCOzRGQUhZLGlCQUFpQjtrQkFSN0IsU0FBUzsrQkFDRSxlQUFlLGNBRWIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCLENBQUMsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZm9yd2FyZFJlZiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV4cGFuZGFibGVDb250YWluZXJEaXJlY3RpdmUsIE9EWF9FWFBBTkRBQkxFX0NPTlRBSU5FUiB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvZXhwYW5kYWJsZSc7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgaW5qZWN0RWxlbWVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5cbkBDU1NDb21wb25lbnQoJ3JpY2gtbGlzdCcpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZHgtcmljaC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JpY2gtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE9EWF9FWFBBTkRBQkxFX0NPTlRBSU5FUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmljaExpc3RDb21wb25lbnQpIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBSaWNoTGlzdENvbXBvbmVudCBleHRlbmRzIEV4cGFuZGFibGVDb250YWluZXJEaXJlY3RpdmUge1xuICBwdWJsaWMgb3ZlcnJpZGUgbXVsdGlwbGUgPSB0cnVlO1xuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cIm9keC1yaWNoLWxpc3QtaXRlbVwiPjwvbmctY29udGVudD5cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL3JpY2gtbGlzdC9zcmMvbGliL3JpY2gtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9yaWNoLWxpc3Qvc3JjL2xpYi9yaWNoLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBVzVDLFdBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWlCO0lBQXZCO1FBQ1csWUFBTyxHQUFHLGFBQWEsRUFBRSxDQUFDO0tBQzNDOytHQUZZLGlCQUFpQjttR0FBakIsaUJBQWlCLDZLQ2Q5QiwyREFDQTs7QURhYSxpQkFBaUI7SUFUN0IsWUFBWSxDQUFDLFdBQVcsQ0FBQztHQVNiLGlCQUFpQixDQUU3Qjs0RkFGWSxpQkFBaUI7a0JBUjdCLFNBQVM7K0JBQ0UsZUFBZSxjQUViLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxrQkFDckIsQ0FBQyxFQUFFLFNBQVMsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV4cGFuZGFibGVDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2V4cGFuZGFibGUnO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGluamVjdEVsZW1lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuXG5AQ1NTQ29tcG9uZW50KCdyaWNoLWxpc3QnKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2R4LXJpY2gtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yaWNoLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdERpcmVjdGl2ZXM6IFt7IGRpcmVjdGl2ZTogRXhwYW5kYWJsZUNvbnRhaW5lckRpcmVjdGl2ZSwgaW5wdXRzOiBbJ211bHRpcGxlJ10gfV0sXG59KVxuZXhwb3J0IGNsYXNzIFJpY2hMaXN0Q29tcG9uZW50IHtcbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3RFbGVtZW50KCk7XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJvZHgtcmljaC1saXN0LWl0ZW1cIj48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -1,95 +1,122 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, ChangeDetectorRef, booleanAttribute, Directive, Input, NgModule } from '@angular/core';
2
+ import { InjectionToken, inject, booleanAttribute, Directive, Input, ChangeDetectorRef, NgModule } from '@angular/core';
3
3
  import { getUniqueId } from '@odx/angular/utils';
4
4
 
5
5
  const ODX_EXPANDABLE_CONTAINER = new InjectionToken('@odx/angular/cdk/expandable::ExpandableContainer');
6
+ const ODX_EXPANDABLE_ITEM = new InjectionToken('@odx/angular/cdk/expandable::ExpandableItem');
7
+
8
+ class ExpandableContainerDirective {
9
+ constructor() {
10
+ this.expandedItems = new Set();
11
+ this.parentItem = inject(ODX_EXPANDABLE_ITEM, { optional: true, skipSelf: true });
12
+ this.parentContainer = inject(ODX_EXPANDABLE_CONTAINER, { optional: true, skipSelf: true });
13
+ this.multiple = this.parentContainer?.multiple ?? false;
14
+ }
15
+ ngOnInit() {
16
+ this.parentItem?.addChild(this);
17
+ }
18
+ ngOnDestroy() {
19
+ this.parentItem?.removeChild(this);
20
+ }
21
+ collapseAll() {
22
+ this.expandedItems.forEach((item) => item.collapse());
23
+ }
24
+ collapse(item) {
25
+ this.expandedItems.delete(item);
26
+ }
27
+ expand(item) {
28
+ if (!this.multiple) {
29
+ this.collapseAll();
30
+ }
31
+ this.expandedItems.add(item);
32
+ }
33
+ toggle(item, forceState) {
34
+ const shouldExpand = forceState ?? !this.isExpanded(item);
35
+ if (shouldExpand) {
36
+ this.expand(item);
37
+ }
38
+ else {
39
+ this.collapse(item);
40
+ }
41
+ }
42
+ isExpanded(item) {
43
+ return this.expandedItems.has(item);
44
+ }
45
+ hasExpandedItem() {
46
+ return this.expandedItems.size > 0;
47
+ }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExpandableContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
49
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "16.2.12", type: ExpandableContainerDirective, isStandalone: true, selector: "[odxExpandableContainer]", inputs: { multiple: ["multiple", "multiple", booleanAttribute] }, providers: [{ provide: ODX_EXPANDABLE_CONTAINER, useExisting: ExpandableContainerDirective }], exportAs: ["odxExpandableContainer"], ngImport: i0 }); }
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExpandableContainerDirective, decorators: [{
52
+ type: Directive,
53
+ args: [{
54
+ standalone: true,
55
+ selector: '[odxExpandableContainer]',
56
+ exportAs: 'odxExpandableContainer',
57
+ providers: [{ provide: ODX_EXPANDABLE_CONTAINER, useExisting: ExpandableContainerDirective }],
58
+ }]
59
+ }], propDecorators: { multiple: [{
60
+ type: Input,
61
+ args: [{ transform: booleanAttribute }]
62
+ }] } });
6
63
 
7
64
  class ExpandableItemDirective {
8
65
  constructor() {
9
- this.container = inject(ODX_EXPANDABLE_CONTAINER, { optional: true, skipSelf: true });
10
66
  this.changeDetectorRef = inject(ChangeDetectorRef);
67
+ this.childContainers = new Set();
68
+ this.container = inject(ODX_EXPANDABLE_CONTAINER, { optional: true, skipSelf: true });
11
69
  this._expanded = false;
12
70
  this.id = getUniqueId('odx-expandable-item');
13
71
  }
14
72
  set expanded(value) {
73
+ if (this._expanded === value)
74
+ return;
15
75
  this._expanded = value;
16
76
  if (this._expanded) {
17
- this.container?.open(this);
77
+ this.container?.expand(this);
18
78
  }
19
79
  else {
20
- this.container?.close(this);
80
+ this.closeAllChildren();
81
+ this.container?.collapse(this);
21
82
  }
22
83
  this.changeDetectorRef.markForCheck();
23
84
  }
24
85
  get expanded() {
25
- return this._expanded;
86
+ return this.container?.isExpanded(this) ?? this._expanded;
26
87
  }
27
88
  toggle(forceState) {
28
89
  this.expanded = forceState ?? !this.expanded;
29
90
  }
30
- open() {
91
+ expand() {
31
92
  this.toggle(true);
32
93
  }
33
- close() {
94
+ collapse() {
34
95
  this.toggle(false);
35
96
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExpandableItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
37
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "16.2.12", type: ExpandableItemDirective, isStandalone: true, selector: "[odxExpandableItem]", inputs: { expanded: ["expanded", "expanded", booleanAttribute] }, ngImport: i0 }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExpandableItemDirective, decorators: [{
40
- type: Directive,
41
- args: [{
42
- standalone: true,
43
- selector: '[odxExpandableItem]',
44
- }]
45
- }], propDecorators: { expanded: [{
46
- type: Input,
47
- args: [{ transform: booleanAttribute }]
48
- }] } });
49
-
50
- class ExpandableContainerDirective {
51
- constructor() {
52
- this.openItems = {};
53
- this.multiple = false;
54
- }
55
- close(item) {
56
- delete this.openItems[item.id];
97
+ addChild(container) {
98
+ this.childContainers.add(container);
57
99
  }
58
- closeAll() {
59
- for (const item of Object.values(this.openItems)) {
60
- item.close();
61
- }
100
+ removeChild(container) {
101
+ this.childContainers.delete(container);
62
102
  }
63
- open(item) {
64
- if (!this.multiple) {
65
- this.closeAll();
66
- }
67
- this.openItems[item.id] = item;
68
- }
69
- hasExpandedItem() {
70
- return Object.values(this.openItems).length > 0;
103
+ closeAllChildren() {
104
+ this.childContainers.forEach((container) => container.collapseAll());
71
105
  }
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExpandableContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
73
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "16.2.12", type: ExpandableContainerDirective, isStandalone: true, selector: "[odxExpandableContainer]", inputs: { multiple: ["multiple", "multiple", booleanAttribute] }, providers: [
74
- {
75
- provide: ODX_EXPANDABLE_CONTAINER,
76
- useExisting: ExpandableContainerDirective,
77
- },
78
- ], ngImport: i0 }); }
106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExpandableItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
107
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "16.2.12", type: ExpandableItemDirective, isStandalone: true, selector: "[odxExpandableItem]", inputs: { id: "id", expanded: ["expanded", "expanded", booleanAttribute] }, providers: [{ provide: ODX_EXPANDABLE_ITEM, useExisting: ExpandableItemDirective }], exportAs: ["odxExpandableItem"], ngImport: i0 }); }
79
108
  }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExpandableContainerDirective, decorators: [{
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExpandableItemDirective, decorators: [{
81
110
  type: Directive,
82
111
  args: [{
83
112
  standalone: true,
84
- selector: '[odxExpandableContainer]',
85
- providers: [
86
- {
87
- provide: ODX_EXPANDABLE_CONTAINER,
88
- useExisting: ExpandableContainerDirective,
89
- },
90
- ],
113
+ selector: '[odxExpandableItem]',
114
+ exportAs: 'odxExpandableItem',
115
+ providers: [{ provide: ODX_EXPANDABLE_ITEM, useExisting: ExpandableItemDirective }],
91
116
  }]
92
- }], propDecorators: { multiple: [{
117
+ }], propDecorators: { id: [{
118
+ type: Input
119
+ }], expanded: [{
93
120
  type: Input,
94
121
  args: [{ transform: booleanAttribute }]
95
122
  }] } });
@@ -112,5 +139,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
112
139
  * Generated bundle index. Do not edit.
113
140
  */
114
141
 
115
- export { ExpandableContainerDirective, ExpandableItemDirective, ExpandableModule, ODX_EXPANDABLE_CONTAINER };
142
+ export { ExpandableContainerDirective, ExpandableItemDirective, ExpandableModule, ODX_EXPANDABLE_CONTAINER, ODX_EXPANDABLE_ITEM };
116
143
  //# sourceMappingURL=odx-angular-cdk-expandable.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-cdk-expandable.mjs","sources":["../../../../libs/angular/cdk/expandable/src/lib/expandable.tokens.ts","../../../../libs/angular/cdk/expandable/src/lib/directives/expandable-item.directive.ts","../../../../libs/angular/cdk/expandable/src/lib/directives/extandable-container.directive.ts","../../../../libs/angular/cdk/expandable/src/lib/expandable.module.ts","../../../../libs/angular/cdk/expandable/src/odx-angular-cdk-expandable.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { ExpandableContainer } from './facade';\n\nexport const ODX_EXPANDABLE_CONTAINER = new InjectionToken<ExpandableContainer>('@odx/angular/cdk/expandable::ExpandableContainer');\n","import { booleanAttribute, ChangeDetectorRef, Directive, inject, Input } from '@angular/core';\nimport { getUniqueId } from '@odx/angular/utils';\nimport { ODX_EXPANDABLE_CONTAINER } from '../expandable.tokens';\nimport { ExpandableItem } from '../facade';\n\n@Directive({\n standalone: true,\n selector: '[odxExpandableItem]',\n})\nexport class ExpandableItemDirective implements ExpandableItem {\n private readonly container = inject(ODX_EXPANDABLE_CONTAINER, { optional: true, skipSelf: true });\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private _expanded = false;\n\n public readonly id = getUniqueId('odx-expandable-item');\n\n @Input({ transform: booleanAttribute })\n public set expanded(value: boolean) {\n this._expanded = value;\n if (this._expanded) {\n this.container?.open(this);\n } else {\n this.container?.close(this);\n }\n this.changeDetectorRef.markForCheck();\n }\n public get expanded(): boolean {\n return this._expanded;\n }\n\n public toggle(forceState?: boolean): void {\n this.expanded = forceState ?? !this.expanded;\n }\n\n public open(): void {\n this.toggle(true);\n }\n\n public close(): void {\n this.toggle(false);\n }\n}\n","import { booleanAttribute, Directive, Input } from '@angular/core';\nimport { ODX_EXPANDABLE_CONTAINER } from '../expandable.tokens';\nimport { ExpandableContainer, ExpandableItem } from '../facade';\n\n@Directive({\n standalone: true,\n selector: '[odxExpandableContainer]',\n providers: [\n {\n provide: ODX_EXPANDABLE_CONTAINER,\n useExisting: ExpandableContainerDirective,\n },\n ],\n})\nexport class ExpandableContainerDirective implements ExpandableContainer {\n private openItems: Record<string, ExpandableItem> = {};\n\n @Input({ transform: booleanAttribute })\n public multiple = false;\n\n public close(item: ExpandableItem): void {\n delete this.openItems[item.id];\n }\n\n public closeAll(): void {\n for (const item of Object.values(this.openItems)) {\n item.close();\n }\n }\n\n public open(item: ExpandableItem): void {\n if (!this.multiple) {\n this.closeAll();\n }\n this.openItems[item.id] = item;\n }\n\n public hasExpandedItem(): boolean {\n return Object.values(this.openItems).length > 0;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ExpandableContainerDirective, ExpandableItemDirective } from './directives';\n\nconst modules = [ExpandableContainerDirective, ExpandableItemDirective];\n\n@NgModule({\n imports: modules,\n exports: modules,\n})\nexport class ExpandableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-cdk-expandable.mjs","sources":["../../../../libs/angular/cdk/expandable/src/lib/expandable.tokens.ts","../../../../libs/angular/cdk/expandable/src/lib/directives/expandable-container.directive.ts","../../../../libs/angular/cdk/expandable/src/lib/directives/expandable-item.directive.ts","../../../../libs/angular/cdk/expandable/src/lib/expandable.module.ts","../../../../libs/angular/cdk/expandable/src/odx-angular-cdk-expandable.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { ExpandableContainer, ExpandableItem } from './facade';\n\nexport const ODX_EXPANDABLE_CONTAINER = new InjectionToken<ExpandableContainer>('@odx/angular/cdk/expandable::ExpandableContainer');\nexport const ODX_EXPANDABLE_ITEM = new InjectionToken<ExpandableItem>('@odx/angular/cdk/expandable::ExpandableItem');\n","import { booleanAttribute, Directive, inject, Input, OnDestroy, OnInit } from '@angular/core';\nimport { ODX_EXPANDABLE_CONTAINER, ODX_EXPANDABLE_ITEM } from '../expandable.tokens';\nimport type { ExpandableContainer, ExpandableItem } from '../facade';\n\n@Directive({\n standalone: true,\n selector: '[odxExpandableContainer]',\n exportAs: 'odxExpandableContainer',\n providers: [{ provide: ODX_EXPANDABLE_CONTAINER, useExisting: ExpandableContainerDirective }],\n})\nexport class ExpandableContainerDirective implements ExpandableContainer, OnInit, OnDestroy {\n private readonly expandedItems = new Set<ExpandableItem>();\n private readonly parentItem = inject(ODX_EXPANDABLE_ITEM, { optional: true, skipSelf: true });\n private readonly parentContainer = inject(ODX_EXPANDABLE_CONTAINER, { optional: true, skipSelf: true });\n\n @Input({ transform: booleanAttribute })\n public multiple = this.parentContainer?.multiple ?? false;\n\n public ngOnInit(): void {\n this.parentItem?.addChild(this);\n }\n\n public ngOnDestroy(): void {\n this.parentItem?.removeChild(this);\n }\n\n public collapseAll(): void {\n this.expandedItems.forEach((item) => item.collapse());\n }\n\n public collapse(item: ExpandableItem): void {\n this.expandedItems.delete(item);\n }\n\n public expand(item: ExpandableItem): void {\n if (!this.multiple) {\n this.collapseAll();\n }\n this.expandedItems.add(item);\n }\n\n public toggle(item: ExpandableItem, forceState?: boolean): void {\n const shouldExpand = forceState ?? !this.isExpanded(item);\n if (shouldExpand) {\n this.expand(item);\n } else {\n this.collapse(item);\n }\n }\n\n public isExpanded(item: ExpandableItem): boolean {\n return this.expandedItems.has(item);\n }\n\n public hasExpandedItem(): boolean {\n return this.expandedItems.size > 0;\n }\n}\n","import { booleanAttribute, ChangeDetectorRef, Directive, inject, Input } from '@angular/core';\nimport { getUniqueId } from '@odx/angular/utils';\nimport { ODX_EXPANDABLE_CONTAINER, ODX_EXPANDABLE_ITEM } from '../expandable.tokens';\nimport type { ExpandableContainer, ExpandableItem } from '../facade';\n\n@Directive({\n standalone: true,\n selector: '[odxExpandableItem]',\n exportAs: 'odxExpandableItem',\n providers: [{ provide: ODX_EXPANDABLE_ITEM, useExisting: ExpandableItemDirective }],\n})\nexport class ExpandableItemDirective implements ExpandableItem {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly childContainers = new Set<ExpandableContainer>();\n private readonly container = inject(ODX_EXPANDABLE_CONTAINER, { optional: true, skipSelf: true });\n private _expanded = false;\n\n @Input()\n public id = getUniqueId('odx-expandable-item');\n\n @Input({ transform: booleanAttribute })\n public set expanded(value: boolean) {\n if (this._expanded === value) return;\n this._expanded = value;\n if (this._expanded) {\n this.container?.expand(this);\n } else {\n this.closeAllChildren();\n this.container?.collapse(this);\n }\n this.changeDetectorRef.markForCheck();\n }\n public get expanded(): boolean {\n return this.container?.isExpanded(this) ?? this._expanded;\n }\n\n public toggle(forceState?: boolean): void {\n this.expanded = forceState ?? !this.expanded;\n }\n\n public expand(): void {\n this.toggle(true);\n }\n\n public collapse(): void {\n this.toggle(false);\n }\n\n public addChild(container: ExpandableContainer): void {\n this.childContainers.add(container);\n }\n\n public removeChild(container: ExpandableContainer): void {\n this.childContainers.delete(container);\n }\n\n private closeAllChildren(): void {\n this.childContainers.forEach((container) => container.collapseAll());\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ExpandableContainerDirective, ExpandableItemDirective } from './directives';\n\nconst modules = [ExpandableContainerDirective, ExpandableItemDirective];\n\n@NgModule({\n imports: modules,\n exports: modules,\n})\nexport class ExpandableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAGa,wBAAwB,GAAG,IAAI,cAAc,CAAsB,kDAAkD,EAAE;MACvH,mBAAmB,GAAG,IAAI,cAAc,CAAiB,6CAA6C;;MCMtG,4BAA4B,CAAA;AANzC,IAAA,WAAA,GAAA;AAOmB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;AAC1C,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7E,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAGjG,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,IAAI,KAAK,CAAC;AAyC3D,KAAA;IAvCQ,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;KACjC;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;KACpC;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;KACvD;AAEM,IAAA,QAAQ,CAAC,IAAoB,EAAA;AAClC,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KACjC;AAEM,IAAA,MAAM,CAAC,IAAoB,EAAA;AAChC,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,SAAA;AACD,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KAC9B;IAEM,MAAM,CAAC,IAAoB,EAAE,UAAoB,EAAA;QACtD,MAAM,YAAY,GAAG,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1D,QAAA,IAAI,YAAY,EAAE;AAChB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACnB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrB,SAAA;KACF;AAEM,IAAA,UAAU,CAAC,IAAoB,EAAA;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACrC;IAEM,eAAe,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;KACpC;+GA9CU,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EAKnB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAgB,CAPzB,EAAA,EAAA,SAAA,EAAA,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC,EAAA,QAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAElF,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,QAAQ,EAAE,wBAAwB;oBAClC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAA8B,4BAAA,EAAE,CAAC;AAC9F,iBAAA,CAAA;8BAOQ,QAAQ,EAAA,CAAA;sBADd,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;;;MCJ3B,uBAAuB,CAAA;AANpC,IAAA,WAAA,GAAA;AAOmB,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC9C,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,GAAG,EAAuB,CAAC;AACjD,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAGnB,QAAA,IAAA,CAAA,EAAE,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAC;AAyChD,KAAA;IAvCC,IACW,QAAQ,CAAC,KAAc,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK;YAAE,OAAO;AACrC,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9B,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACxB,YAAA,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;AAChC,SAAA;AACD,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KACvC;AACD,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC;KAC3D;AAEM,IAAA,MAAM,CAAC,UAAoB,EAAA;QAChC,IAAI,CAAC,QAAQ,GAAG,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;KAC9C;IAEM,MAAM,GAAA;AACX,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KACnB;IAEM,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACpB;AAEM,IAAA,QAAQ,CAAC,SAA8B,EAAA;AAC5C,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KACrC;AAEM,IAAA,WAAW,CAAC,SAA8B,EAAA;AAC/C,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;KACxC;IAEO,gBAAgB,GAAA;AACtB,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;KACtE;+GA/CU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EASd,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAgB,CAXzB,EAAA,EAAA,SAAA,EAAA,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAExE,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,QAAQ,EAAE,mBAAmB;oBAC7B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAyB,uBAAA,EAAE,CAAC;AACpF,iBAAA,CAAA;8BAQQ,EAAE,EAAA,CAAA;sBADR,KAAK;gBAIK,QAAQ,EAAA,CAAA;sBADlB,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;;;ACjBxC,MAAM,OAAO,GAAG,CAAC,4BAA4B,EAAE,uBAAuB,CAAC,CAAC;MAM3D,gBAAgB,CAAA;+GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,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,gBAAgB,YANZ,4BAA4B,EAAE,uBAAuB,CAArD,EAAA,OAAA,EAAA,CAAA,4BAA4B,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA,EAAA;gHAMzD,gBAAgB,EAAA,CAAA,CAAA,EAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,OAAO;AAChB,oBAAA,OAAO,EAAE,OAAO;AACjB,iBAAA,CAAA;;;ACRD;;AAEG;;;;"}