{"version":3,"file":"usitsdasdesign-dds-ng-list.mjs","sources":["../../src/app/dds/list/directives/action.directive.ts","../../src/app/dds/list/directives/control.directive.ts","../../src/app/dds/list/directives/image.directive.ts","../../src/app/dds/list/constants.ts","../../src/app/dds/list/services/list.service.ts","../../src/app/dds/list/list/list.component.ts","../../src/app/dds/list/list/list.component.html","../../src/app/dds/list/list-item/list-item.component.ts","../../src/app/dds/list/list-item/list-item.component.html","../../src/app/dds/list/list.module.ts","../../src/app/dds/list/usitsdasdesign-dds-ng-list.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n@Directive({\n  selector: '[action], dds-button',\n  standalone: true,\n})\nexport class ActionDirective { }\n","import { Directive } from '@angular/core';\n\n@Directive({\n  selector: '[control]',\n  standalone: true,\n})\nexport class ControlDirective { }\n","import { Directive } from '@angular/core';\n\n@Directive({\n  selector: '[image]',\n  standalone: true,\n})\nexport class ImageDirective { }\n","import { ThemeClassesMap, ThemeMapEnum } from '@usitsdasdesign/dds-ng/core/theme';\nimport { Size } from '@usitsdasdesign/dds-ng/shared';\n\nexport const themeClassesMap: ThemeClassesMap = {\n  [ThemeMapEnum.Size]: {\n    [Size.lg]: 'dds-list-item_lg',\n    [Size.md]: 'dds-list-item_md',\n    [Size.sm]: 'dds-list-item_sm',\n  },\n};\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { ListItemComponent } from '../list-item/list-item.component';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ListService {\n  public items = new BehaviorSubject<ListItemComponent[]>([]);\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, forwardRef, Input, QueryList } from '@angular/core';\nimport { DestroyCtor, DestroyMixin, I18nCtor, I18nMixin } from '@usitsdasdesign/dds-ng/core/common-behaviors';\nimport { I18nModule, I18nService, ITranslation } from '@usitsdasdesign/dds-ng/shared/i18n';\nimport { ListItemComponent } from '../list-item/list-item.component';\nimport { ListService } from '../services/list.service';\n\nconst ListBase: DestroyCtor & I18nCtor = DestroyMixin(I18nMixin());\n\n@Component({\n  selector: 'dds-list',\n  templateUrl: './list.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  providers: [ListService],\n  imports: [CommonModule, I18nModule],\n})\nexport class ListComponent extends ListBase {\n  // A QueryList of ListItemComponent instances that are descendants of this component.\n  @ContentChildren(forwardRef(() => ListItemComponent), { descendants: true }) items: QueryList<ListItemComponent>;\n\n  // A custom CSS class to apply to the list.\n  @Input() customClass: string | undefined;\n\n  // A boolean indicating whether the list should use an inverse color scheme.\n  @Input() isInverse: boolean | undefined;\n\n  // The ARIA role attribute for the list. Defaults to 'list'.\n  @Input() role: string | undefined = 'list';\n\n  // The ARIA label for the list, used for accessibility.\n  public listAriaLabel: string;\n\n  constructor(public cdr: ChangeDetectorRef, public i18n: I18nService, private listService: ListService) {\n    super();\n  }\n\n  // It updates the listService with the current list items.\n  public ngAfterContentInit(): void {\n    this.listService.items.next(Array.from(this.items));\n  }\n\n  // Sets the internationalization texts for the component.\n  protected setI18nTexts(translation: ITranslation): void {\n    this.listAriaLabel = translation?.LIST?.A11Y?.LIST_ARIA_LABEL || '';\n    this.cdr.detectChanges();\n  }\n}\n","<div class=\"dds-list {{customClass}}\"\n    [attr.aria-label]=\"listAriaLabel\"\n    [attr.role]=\"role\"\n    [ngClass]=\"{\n      'dds-list_inverse': isInverse\n    }\">\n  <ng-content></ng-content>\n  </div>\n","import { CommonModule } from '@angular/common';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ContentChildren,\n  EventEmitter,\n  forwardRef,\n  HostBinding,\n  Inject,\n  Input,\n  OnChanges,\n  Optional,\n  Output,\n  QueryList,\n  SimpleChanges,\n  SkipSelf,\n} from '@angular/core';\nimport { ButtonComponent } from '@usitsdasdesign/dds-ng/button';\nimport { CheckboxComponent } from '@usitsdasdesign/dds-ng/checkbox';\nimport { DestroyCtor, DestroyMixin, I18nCtor, I18nMixin } from '@usitsdasdesign/dds-ng/core/common-behaviors';\nimport { FocusHandlerModule } from '@usitsdasdesign/dds-ng/core/focus-handler';\nimport { ThemeClassesMap, ThemeModule } from '@usitsdasdesign/dds-ng/core/theme';\nimport { RadioComponent } from '@usitsdasdesign/dds-ng/radio';\nimport { AdditionalClass, ButtonKind, Size, Themes } from '@usitsdasdesign/dds-ng/shared';\nimport { DdsConfigService } from '@usitsdasdesign/dds-ng/shared/dds-config';\nimport { I18nModule, I18nService } from '@usitsdasdesign/dds-ng/shared/i18n';\nimport { ToggleComponent } from '@usitsdasdesign/dds-ng/toggle';\nimport { takeUntil } from 'rxjs';\nimport { themeClassesMap } from '../constants';\nimport { ActionDirective } from '../directives/action.directive';\nimport { ControlDirective } from '../directives/control.directive';\nimport { ImageDirective } from '../directives/image.directive';\nimport { ListComponent } from '../list/list.component';\nimport { ListService } from '../services/list.service';\n\nconst ListItemBase: DestroyCtor & I18nCtor = DestroyMixin(I18nMixin());\ninterface IListItem {\n  disabled?: boolean;\n}\n\n@Component({\n  selector: 'dds-list-item',\n  templateUrl: './list-item.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  host: { class: AdditionalClass.flex },\n  standalone: true,\n  providers: [ListService],\n  imports: [CommonModule, ThemeModule, FocusHandlerModule, I18nModule],\n})\nexport class ListItemComponent extends ListItemBase implements AfterContentInit, OnChanges {\n  // Binds the `fullWidth` class to the host element.\n  @HostBinding(`class.${AdditionalClass.fullWidth}`) width = true;\n\n  // Binds the `disabled` class to the host element and accepts an input to set the disabled state.\n  @HostBinding(`class.${AdditionalClass.disabled}`) @Input() disabled: boolean | undefined;\n\n  // Binds the `role` attribute to the host element and accepts an input to set the role.\n  @HostBinding(`attr.role`) @Input() role: string | undefined = 'listitem';\n\n  // The heading text of the list item.\n  @Input() heading: string | undefined;\n\n  // The text content of the list item.\n  @Input() text: string | undefined;\n\n  // Custom CSS class to be applied to the list item.\n  @Input() customClass: string | undefined;\n\n  // The size of the list item. Defaults to the size from the DDS configuration.\n  @Input() size: Size | string | undefined = this.ddsConfig.getConfig().size;\n\n  // Indicates whether the list item has a border.\n  @Input() hasBorder: boolean | undefined;\n\n  // Indicates whether the list item is clickable. Defaults to true.\n  @Input() isClickable: boolean | undefined = true;\n\n  // Indicates whether the list item is in inverse mode.\n  @Input() isInverse: boolean | undefined;\n\n  // Event emitter that emits when the list item is clicked.\n  @Output() clicked = new EventEmitter<Event>();\n\n  // Content child directive for control elements.\n  @ContentChild(ControlDirective) control: ControlDirective;\n\n  // Content child directive for image elements.\n  @ContentChild(ImageDirective) image: ImageDirective;\n\n  // Content child directive for action elements.\n  @ContentChild(ActionDirective) action: ActionDirective;\n\n  // Content children query list for button components.\n  @ContentChildren(ButtonComponent) buttons: QueryList<ButtonComponent>;\n\n  // Content children query list for checkbox components.\n  @ContentChildren(CheckboxComponent) checkboxes: QueryList<CheckboxComponent>;\n\n  // Content children query list for radio button components.\n  @ContentChildren(RadioComponent) radioBtns: QueryList<RadioComponent>;\n\n  // Content children query list for toggle components.\n  @ContentChildren(ToggleComponent) toggles: QueryList<ToggleComponent>;\n\n  // The theme configuration map.\n  public themeConfig: ThemeClassesMap = themeClassesMap;\n\n  // The ARIA label for the list item button.\n  public listItemBtnAriaLabel: string;\n\n  // The active index of the list item.\n  private activeIndex: number;\n\n  // The length of the list.\n  private listLength: number;\n\n  constructor(\n    private ddsConfig: DdsConfigService,\n    public cdr: ChangeDetectorRef,\n    public i18n: I18nService,\n    @Optional() @Inject(forwardRef(() => ListComponent)) public listComponent: ListComponent,\n    @SkipSelf() @Optional() private listService: ListService\n  ) {\n    super();\n  }\n\n  public ngOnChanges(changes: SimpleChanges): void {\n    if (changes.disabled) {\n      this.updDisabledState();\n    }\n  }\n\n  public ngAfterContentInit(): void {\n    this.setButtonsStyle();\n    this.updDisabledState();\n    this.listService.items.pipe(takeUntil(this.destroy)).subscribe((items) => {\n      if (items?.length) {\n        this.listLength = items.length;\n        this.activeIndex = items.indexOf(this);\n\n        this.listItemBtnAriaLabel = `${this.i18n.getTranslation()?.LIST?.A11Y?.LIST_ITEM_BTN_ARIA_LABEL} ${this.heading} ${this.activeIndex + 1} of ${this.listLength} list item`;\n        this.cdr.detectChanges();\n      }\n    });\n    this.cdr.detectChanges();\n  }\n\n  // Handles the click event on the list item.\n  public click(event: Event): void {\n    this.clicked.emit(event);\n  }\n\n  // Sets the style for the buttons within the list item.\n  private setButtonsStyle(): void {\n    if (this.buttons) {\n      this.buttons.forEach((button) => {\n        button.size = Size.sm;\n        button.kind = ButtonKind.silent;\n        button.theme = Themes.dark;\n        button.isInverse = this.isInverse || this.listComponent?.isInverse;\n      });\n    }\n  }\n\n  // Updates the disabled state of the list item and its child components.\n  private updDisabledState(): void {\n    this.setDisabledState(this.buttons);\n    this.setDisabledState(this.checkboxes);\n    this.setDisabledState(this.radioBtns);\n    this.setDisabledState(this.toggles);\n  }\n\n  // Sets the disabled state for a list of components.\n  private setDisabledState<T extends IListItem>(components: QueryList<T>): void {\n    if (components) {\n      components.forEach((button) => {\n        button.disabled = this.disabled;\n      });\n    }\n  }\n}\n","<div [ngClass]=\"{\n      'dds-list-item_has-border': hasBorder,\n      'dds-list-item_only-title': heading && !text,\n      'dds-list-item_clickable': isClickable,\n      'dds-list-item_disabled': disabled,\n      'dds-list-item_inverse': isInverse\n    }\"\n    [ddsTheme]=\"themeConfig\"\n    [size]=\"size\"\n    class=\"dds-list-item {{customClass}}\"\n    #listItem>\n\n  @if (isClickable) {\n    <button [ddsFocus]=\"listItem\"\n            [disabled]=\"disabled\"\n            [attr.aria-disabled]=\"disabled\"\n            [attr.aria-label]=\"listItemBtnAriaLabel\"\n            role=\"button\"\n            class=\"dds-list-item__button\"\n            (click)=\"click($event)\"></button>\n  }\n\n  @if (control || image) {\n    <div class=\"dds-list-item__left-content\">\n      <ng-content select=\"[control]\"></ng-content>\n      <ng-content select=\"[image]\"></ng-content>\n    </div>\n  }\n\n  <div class=\"dds-list-item__content\">\n    <div class=\"dds-list-item__head\">\n      <strong class=\"dds-list-item__heading\"\n              [innerHTML]=\"heading\"></strong>\n\n      @if (action) {\n        <div class=\"dds-list-item__actions\"\n             role=\"menu\">\n          <ng-content select=\"dds-button\"></ng-content>\n          <ng-content select=\"[action]\"></ng-content>\n        </div>\n      }\n    </div>\n\n    @if (text) {\n      <div class=\"dds-list-item__detail\">\n        <p class=\"dds-list-item__text\"\n           [innerHTML]=\"text\"></p>\n      </div>\n    }\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { ActionDirective } from './directives/action.directive';\nimport { ControlDirective } from './directives/control.directive';\nimport { ImageDirective } from './directives/image.directive';\nimport { ListItemComponent } from './list-item/list-item.component';\nimport { ListComponent } from './list/list.component';\nimport { ListService } from './services/list.service';\n\n@NgModule({\n  declarations: [],\n  imports: [ListComponent, ListItemComponent, ControlDirective, ImageDirective, ActionDirective],\n  exports: [ListComponent, ListItemComponent, ControlDirective, ImageDirective, ActionDirective],\n  providers: [ListService],\n})\nexport class ListModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.ListService","i3.ListService","i4"],"mappings":"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"}