@telcomdev/ui 0.1.39 → 0.1.41

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.
@@ -1,5 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
- import { ChangeDetectionStrategy, Component, Injectable, inject, HostBinding, Input, booleanAttribute, EventEmitter, Output, ViewChild, Injector, ChangeDetectorRef, signal, input, model, output, computed, forwardRef, InjectionToken, ElementRef, HostListener, Directive, EnvironmentInjector, DestroyRef, ContentChild, effect, TemplateRef, ViewChildren, ContentChildren, ViewContainerRef, Renderer2, numberAttribute } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, Injectable, inject, HostBinding, Input, EventEmitter, signal, Output, ChangeDetectorRef, ContentChildren, booleanAttribute, ViewChild, Injector, input, model, output, computed, forwardRef, InjectionToken, ElementRef, HostListener, Directive, EnvironmentInjector, DestroyRef, ContentChild, effect, TemplateRef, ViewChildren, ViewContainerRef, Renderer2, numberAttribute } from '@angular/core';
3
+ import { Subscription, take, filter } from 'rxjs';
3
4
  import * as i1 from '@angular/forms';
4
5
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
5
6
  import { FORM_FIELD } from '@angular/forms/signals';
@@ -10,7 +11,6 @@ import { CdkConnectedOverlay, CdkOverlayOrigin, ScrollStrategyOptions, Overlay }
10
11
  import { DIALOG_DATA, Dialog } from '@angular/cdk/dialog';
11
12
  import { CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop';
12
13
  import { ComponentPortal } from '@angular/cdk/portal';
13
- import { take, filter } from 'rxjs';
14
14
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
15
15
  import { Router, NavigationEnd, RouterLink } from '@angular/router';
16
16
 
@@ -353,6 +353,84 @@ const TD_ICONOS = {
353
353
  calculator: {
354
354
  path: 'M6 2h12a2 2 0 0 1 2 2v18H4V4a2 2 0 0 1 2-2Zm0 2v5h12V4H6Zm2 8h2v2H8v-2Zm4 0h2v2h-2v-2Zm4 0h2v2h-2v-2Zm-8 4h2v2H8v-2Zm4 0h2v2h-2v-2Zm4 0h2v4h-2v-4Z',
355
355
  },
356
+ money: {
357
+ path: 'M3 6h18v12H3V6Zm2 2v8h14V8H5Zm7 1a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm0 2a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM6 9h2v2H6V9Zm10 4h2v2h-2v-2Z',
358
+ },
359
+ currency_exchange: {
360
+ path: 'M7 4h10l-2.5-2.5L16 0l5 5-5 5-1.5-1.5L17 6H7v4l-2-2V4h2Zm10 16H7l2.5 2.5L8 24l-5-5 5-5 1.5 1.5L7 18h10v-4l2 2v4h-2Z',
361
+ },
362
+ bank_transfer: {
363
+ path: 'M4 5h10v2H4v4l-2-2V5h2Zm6 6h10v-4l2 2v4h-2v2H10v-2Zm-6 2h2v7h2l-3 3-3-3h2v-7Zm12 0h2v7h2l-3 3-3-3h2v-7Z',
364
+ },
365
+ savings: {
366
+ path: 'M4 9h14a3 3 0 0 1 3 3v6H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2Zm0 2v5h15v-4a1 1 0 0 0-1-1H4Zm3-3V6a4 4 0 0 1 4-4h5a4 4 0 0 1 4 4v2h-2V6a2 2 0 0 0-2-2h-5a2 2 0 0 0-2 2v2H7Zm11 7h2v2h-2v-2Z',
367
+ },
368
+ investment: {
369
+ path: 'M4 20h16v2H2V4h2v16Zm2-3 4-5 3 3 5-7 1.6 1.2-6.3 8.8-3-3-2.7 3.4L6 17Z',
370
+ },
371
+ portfolio: {
372
+ path: 'M4 5h16v16H4V5Zm2 2v12h12V7H6Zm2 2h3v3H8V9Zm5 0h3v2h-3V9Zm0 4h3v2h-3v-2Zm-5 2h3v2H8v-2Z',
373
+ },
374
+ budget: {
375
+ path: 'M4 3h16a2 2 0 0 1 2 2v16H2V5a2 2 0 0 1 2-2Zm0 2v14h16V5H4Zm2 3h12v2H6V8Zm0 4h4v2H6v-2Zm6 0h6v2h-6v-2Zm-6 4h6v2H6v-2Zm8 0h4v2h-4v-2Z',
376
+ },
377
+ income: {
378
+ path: 'M4 19h16v2H4a2 2 0 0 1-2-2V5h2v14Zm3-3H5v-5h2v5Zm4 0H9V7h2v9Zm4 0h-2V9h2v7Zm4 0h-2V4h2v12Z',
379
+ },
380
+ expense: {
381
+ path: 'M4 3h16v18H4V3Zm2 2v14h12V5H6Zm3 3h6v2H9V8Zm0 4h6v2H9v-2Zm0 4h4v2H9v-2Z',
382
+ },
383
+ cash_flow: {
384
+ path: 'M4 4h7l-2-2 1.4-1.4 4.4 4.4-4.4 4.4L9 8l2-2H4v4l-2-2V4h2Zm16 10h-7l2 2-1.4 1.4-4.4-4.4 4.4-4.4L15 10l-2 2h7V8l2 2v4h-2Z',
385
+ },
386
+ debt: {
387
+ path: 'M5 3h14v18H5V3Zm2 2v14h10V5H7Zm2 3h6v2H9V8Zm0 4h6v2H9v-2Zm0 4h3v2H9v-2Z',
388
+ },
389
+ loan: {
390
+ path: 'M4 5h16v14H4V5Zm2 2v10h12V7H6Zm2 2h3v3H8V9Zm5 0h3v2h-3V9Zm0 4h3v2h-3v-2Zm-5 0h3v2H8v-2Z',
391
+ },
392
+ loan_application: {
393
+ path: 'M6 2h9l5 5v15H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm8 2H6v16h12V8h-4V4Zm-4 7h6v2h-6v-2Zm0 4h4v2h-4v-2Zm8-1 3 3-3 3-1.4-1.4 1.6-1.6-1.6-1.6L18 14Z',
394
+ },
395
+ loan_approved: {
396
+ path: 'M12 2 4 5v6c0 5.05 3.41 9.74 8 11 4.59-1.26 8-5.95 8-11V5l-8-3Zm-1 14-4-4 1.4-1.4 2.6 2.58 5.6-5.58L18 9l-7 7Z',
397
+ },
398
+ loan_pending: {
399
+ path: 'M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20Zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-1 3h2v5l3 2-1 1.7-4-2.7V7Z',
400
+ },
401
+ loan_rejected: {
402
+ path: 'M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20Zm0 2a8 8 0 1 0 0 16 8 8 0 0 0-16Zm-3.3 3.3L12 10.6l3.3-3.3 1.4 1.4-3.3 3.3 3.3 3.3-1.4 1.4-3.3-3.3-3.3 3.3-1.4-1.4 3.3-3.3-3.3-3.3 1.4-1.4Z',
403
+ },
404
+ installment: {
405
+ path: 'M5 2h14v20H5V2Zm2 2v16h10V4H7Zm2 3h6v2H9V7Zm0 4h2v2H9v-2Zm4 0h2v2h-2v-2Zm-4 4h2v2H9v-2Zm4 0h2v2h-2v-2Z',
406
+ },
407
+ amortization: {
408
+ path: 'M3 5h18v14H3V5Zm2 2v10h14V7H5Zm2 2h3v2H7V9Zm5 0h5v2h-5V9ZM7 13h5v2H7v-2Zm7 0h3v2h-3v-2Z',
409
+ },
410
+ interest: {
411
+ path: 'M7 2h10a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm0 2v16h10V4H7Zm2 3h2v2H9V7Zm4 0h2v2h-2V7ZM9 11h2v2H9v-2Zm4 0h2v2h-2v-2ZM9 15h6v2H9v-2Z',
412
+ },
413
+ percentage: {
414
+ path: 'M7 5a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm10 10a2 2 0 1 1 0 4 2 2 0 0 1 0-4ZM6 19 18 5l1.5 1.3-12 14L6 19Z',
415
+ },
416
+ credit_score: {
417
+ path: 'M3 5h18v14H3V5Zm2 2v10h14V7H5Zm2 2h4v2H7V9Zm0 4h7v2H7v-2Zm10-4h2v2h-2V9Z',
418
+ },
419
+ collateral: {
420
+ path: 'M3 10 12 3l9 7v10H3V10Zm2 1v7h14v-7l-7-5.45L5 11Zm5 2h4v5h-4v-5Z',
421
+ },
422
+ guarantor: {
423
+ path: 'M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0 2c-3.87 0-7 2.24-7 5v3h14v-3c0-2.76-3.13-5-7-5Zm9-3a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm0 2c-1.15 0-2.2.25-3.08.68 1.33.85 2.3 2.02 2.78 3.32H22v-1c0-1.66-1.79-3-4-3Z',
424
+ },
425
+ financial_statement: {
426
+ path: 'M4 3h16v18H4V3Zm2 2v14h12V5H6Zm2 3h8v2H8V8Zm0 4h3v2H8v-2Zm5 0h3v2h-3v-2Zm-5 4h8v2H8v-2Z',
427
+ },
428
+ chart_up: {
429
+ path: 'M4 19h16v2H4a2 2 0 0 1-2-2V5h2v14Zm2-3 4-5 3 3 5-7 1.6 1.2-6.3 8.8-3-3-2.7 3.4L6 16Z',
430
+ },
431
+ chart_down: {
432
+ path: 'M4 5h16v2H4v14h16v2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Zm3 4 2.7 3.4 3-3 6.3 8.8-1.6 1.2-5-7-3 3-4-5L7 9Z',
433
+ },
356
434
  warehouse: {
357
435
  path: 'M3 9 12 3l9 6v12H3V9Zm2 1.07V19h14v-8.93l-7-4.67-7 4.67ZM7 12h10v7H7v-7Zm2 2v1h6v-1H9Zm0 3v2h6v-2H9Z',
358
436
  },
@@ -1853,6 +1931,160 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
1853
1931
  args: ['style.--td-icon-size']
1854
1932
  }] } });
1855
1933
 
1934
+ let accordionItemSequence = 0;
1935
+ class TdAccordionItem {
1936
+ title = 'Sección';
1937
+ description = '';
1938
+ icon = '';
1939
+ disabled = false;
1940
+ set expanded(value) {
1941
+ this.expandedState.set(value);
1942
+ }
1943
+ get expanded() {
1944
+ return this.expandedState();
1945
+ }
1946
+ expandedChange = new EventEmitter();
1947
+ toggleEvent = new EventEmitter();
1948
+ expandedState = signal(false, /* @ts-ignore */
1949
+ ...(ngDevMode ? [{ debugName: "expandedState" }] : /* istanbul ignore next */ []));
1950
+ panelId = `td-accordion-panel-${++accordionItemSequence}`;
1951
+ toggle() {
1952
+ if (this.disabled)
1953
+ return;
1954
+ this.expandedState.update((value) => !value);
1955
+ this.expandedChange.emit(this.expandedState());
1956
+ this.toggleEvent.emit(this);
1957
+ }
1958
+ setExpanded(value) {
1959
+ this.expandedState.set(value);
1960
+ }
1961
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TdAccordionItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
1962
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: TdAccordionItem, isStandalone: true, selector: "td-accordion-item", inputs: { title: "title", description: "description", icon: "icon", disabled: "disabled", expanded: "expanded" }, outputs: { expandedChange: "expandedChange" }, ngImport: i0, template: `
1963
+ <section class="td-accordion-item" [class.td-accordion-item--open]="expandedState()" [class.td-accordion-item--disabled]="disabled">
1964
+ <button
1965
+ type="button"
1966
+ class="td-accordion-item__trigger"
1967
+ [disabled]="disabled"
1968
+ [attr.aria-expanded]="expandedState()"
1969
+ [attr.aria-controls]="panelId"
1970
+ (click)="toggle()"
1971
+ >
1972
+ @if (icon) {
1973
+ <td-icon class="td-accordion-item__icon" [nombre]="icon" />
1974
+ }
1975
+ <span class="td-accordion-item__titles">
1976
+ <strong>{{ title }}</strong>
1977
+ @if (description) {
1978
+ <small>{{ description }}</small>
1979
+ }
1980
+ </span>
1981
+ <td-icon class="td-accordion-item__chevron" nombre="chevron_down" />
1982
+ </button>
1983
+
1984
+ <div class="td-accordion-item__panel" [id]="panelId" [attr.aria-hidden]="!expandedState()">
1985
+ <div class="td-accordion-item__content">
1986
+ <ng-content />
1987
+ </div>
1988
+ </div>
1989
+ </section>
1990
+ `, isInline: true, styles: [":host{display:block;min-width:0;font-family:var(--td-font-family, Inter, ui-sans-serif, system-ui, sans-serif)}*{box-sizing:border-box}.td-accordion{--td-accordion-surface: var(--td-color-surface, #fff);--td-accordion-soft: var(--td-color-surface-soft, #f8fafc);--td-accordion-border: var(--td-color-border, #dfe4ee);--td-accordion-text: var(--td-color-text, #263147);--td-accordion-muted: var(--td-color-text-muted, #748096);--td-accordion-trigger-height: 3.25rem;--td-accordion-trigger-padding-block: .7rem;display:grid;min-width:0;gap:.55rem;color:var(--td-accordion-text)}.td-accordion--dark{--td-accordion-surface: var(--td-accordion-dark-surface, #19191f);--td-accordion-soft: var(--td-accordion-dark-soft, #202028);--td-accordion-border: var(--td-accordion-dark-border, #34343e);--td-accordion-text: var(--td-accordion-dark-text, #ededf0);--td-accordion-muted: var(--td-accordion-dark-muted, #a1a1aa);color-scheme:dark}.td-accordion--dense{--td-accordion-trigger-height: 2.75rem;--td-accordion-trigger-padding-block: .5rem}.td-accordion-item{min-width:0;overflow:hidden;border:1px solid var(--td-accordion-border);border-radius:var(--td-radius-lg, .9rem);background:var(--td-accordion-surface);transition:border-color .14s ease,box-shadow .14s ease}.td-accordion--flat .td-accordion-item{border-inline:0;border-radius:0}.td-accordion-item--open{border-color:color-mix(in srgb,var(--td-color-primary, #5746d8) 38%,var(--td-accordion-border));box-shadow:var(--td-shadow-xs, 0 6px 18px rgba(31, 42, 68, .06))}.td-accordion-item__trigger{display:flex;width:100%;min-width:0;min-height:var(--td-accordion-trigger-height, 3.25rem);align-items:center;gap:.65rem;border:0;padding:var(--td-accordion-trigger-padding-block, .7rem) .85rem;color:inherit;background:transparent;text-align:left;cursor:pointer}.td-accordion-item__trigger:hover:not(:disabled){background:var(--td-accordion-soft)}.td-accordion-item__trigger:focus-visible{outline:2px solid var(--td-color-primary, #5746d8);outline-offset:-2px}.td-accordion-item__trigger:disabled{opacity:.52;cursor:not-allowed}.td-accordion-item__icon{flex:0 0 auto;color:var(--td-color-primary, #5746d8)}.td-accordion-item__titles{display:grid;min-width:0;flex:1 1 auto;gap:.15rem}.td-accordion-item__titles strong,.td-accordion-item__titles small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-accordion-item__titles strong{font-size:.82rem}.td-accordion-item__titles small{color:var(--td-accordion-muted);font-size:.7rem}.td-accordion-item__chevron{flex:0 0 auto;color:var(--td-accordion-muted);transition:transform .18s ease}.td-accordion-item--open .td-accordion-item__chevron{transform:rotate(180deg)}.td-accordion-item__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .18s ease}.td-accordion-item--open .td-accordion-item__panel{grid-template-rows:1fr}.td-accordion-item__content{min-height:0;overflow:hidden;padding:0 1rem;color:var(--td-accordion-muted);font-size:.78rem;line-height:1.55}.td-accordion-item--open .td-accordion-item__content{padding-bottom:1rem}@media(max-width:768px){.td-accordion-item__trigger{min-height:var(--td-accordion-trigger-height, 2.75rem)}.td-accordion-item__titles strong{font-size:.86rem}.td-accordion-item__content{font-size:.8rem}}@media(prefers-reduced-motion:reduce){.td-accordion-item,.td-accordion-item__chevron,.td-accordion-item__panel{transition:none}}\n"], dependencies: [{ kind: "component", type: TdIcon, selector: "td-icon", inputs: ["nombre", "titulo", "tamano"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1991
+ }
1992
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TdAccordionItem, decorators: [{
1993
+ type: Component,
1994
+ args: [{ selector: 'td-accordion-item', imports: [TdIcon], template: `
1995
+ <section class="td-accordion-item" [class.td-accordion-item--open]="expandedState()" [class.td-accordion-item--disabled]="disabled">
1996
+ <button
1997
+ type="button"
1998
+ class="td-accordion-item__trigger"
1999
+ [disabled]="disabled"
2000
+ [attr.aria-expanded]="expandedState()"
2001
+ [attr.aria-controls]="panelId"
2002
+ (click)="toggle()"
2003
+ >
2004
+ @if (icon) {
2005
+ <td-icon class="td-accordion-item__icon" [nombre]="icon" />
2006
+ }
2007
+ <span class="td-accordion-item__titles">
2008
+ <strong>{{ title }}</strong>
2009
+ @if (description) {
2010
+ <small>{{ description }}</small>
2011
+ }
2012
+ </span>
2013
+ <td-icon class="td-accordion-item__chevron" nombre="chevron_down" />
2014
+ </button>
2015
+
2016
+ <div class="td-accordion-item__panel" [id]="panelId" [attr.aria-hidden]="!expandedState()">
2017
+ <div class="td-accordion-item__content">
2018
+ <ng-content />
2019
+ </div>
2020
+ </div>
2021
+ </section>
2022
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;min-width:0;font-family:var(--td-font-family, Inter, ui-sans-serif, system-ui, sans-serif)}*{box-sizing:border-box}.td-accordion{--td-accordion-surface: var(--td-color-surface, #fff);--td-accordion-soft: var(--td-color-surface-soft, #f8fafc);--td-accordion-border: var(--td-color-border, #dfe4ee);--td-accordion-text: var(--td-color-text, #263147);--td-accordion-muted: var(--td-color-text-muted, #748096);--td-accordion-trigger-height: 3.25rem;--td-accordion-trigger-padding-block: .7rem;display:grid;min-width:0;gap:.55rem;color:var(--td-accordion-text)}.td-accordion--dark{--td-accordion-surface: var(--td-accordion-dark-surface, #19191f);--td-accordion-soft: var(--td-accordion-dark-soft, #202028);--td-accordion-border: var(--td-accordion-dark-border, #34343e);--td-accordion-text: var(--td-accordion-dark-text, #ededf0);--td-accordion-muted: var(--td-accordion-dark-muted, #a1a1aa);color-scheme:dark}.td-accordion--dense{--td-accordion-trigger-height: 2.75rem;--td-accordion-trigger-padding-block: .5rem}.td-accordion-item{min-width:0;overflow:hidden;border:1px solid var(--td-accordion-border);border-radius:var(--td-radius-lg, .9rem);background:var(--td-accordion-surface);transition:border-color .14s ease,box-shadow .14s ease}.td-accordion--flat .td-accordion-item{border-inline:0;border-radius:0}.td-accordion-item--open{border-color:color-mix(in srgb,var(--td-color-primary, #5746d8) 38%,var(--td-accordion-border));box-shadow:var(--td-shadow-xs, 0 6px 18px rgba(31, 42, 68, .06))}.td-accordion-item__trigger{display:flex;width:100%;min-width:0;min-height:var(--td-accordion-trigger-height, 3.25rem);align-items:center;gap:.65rem;border:0;padding:var(--td-accordion-trigger-padding-block, .7rem) .85rem;color:inherit;background:transparent;text-align:left;cursor:pointer}.td-accordion-item__trigger:hover:not(:disabled){background:var(--td-accordion-soft)}.td-accordion-item__trigger:focus-visible{outline:2px solid var(--td-color-primary, #5746d8);outline-offset:-2px}.td-accordion-item__trigger:disabled{opacity:.52;cursor:not-allowed}.td-accordion-item__icon{flex:0 0 auto;color:var(--td-color-primary, #5746d8)}.td-accordion-item__titles{display:grid;min-width:0;flex:1 1 auto;gap:.15rem}.td-accordion-item__titles strong,.td-accordion-item__titles small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-accordion-item__titles strong{font-size:.82rem}.td-accordion-item__titles small{color:var(--td-accordion-muted);font-size:.7rem}.td-accordion-item__chevron{flex:0 0 auto;color:var(--td-accordion-muted);transition:transform .18s ease}.td-accordion-item--open .td-accordion-item__chevron{transform:rotate(180deg)}.td-accordion-item__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .18s ease}.td-accordion-item--open .td-accordion-item__panel{grid-template-rows:1fr}.td-accordion-item__content{min-height:0;overflow:hidden;padding:0 1rem;color:var(--td-accordion-muted);font-size:.78rem;line-height:1.55}.td-accordion-item--open .td-accordion-item__content{padding-bottom:1rem}@media(max-width:768px){.td-accordion-item__trigger{min-height:var(--td-accordion-trigger-height, 2.75rem)}.td-accordion-item__titles strong{font-size:.86rem}.td-accordion-item__content{font-size:.8rem}}@media(prefers-reduced-motion:reduce){.td-accordion-item,.td-accordion-item__chevron,.td-accordion-item__panel{transition:none}}\n"] }]
2023
+ }], propDecorators: { title: [{
2024
+ type: Input
2025
+ }], description: [{
2026
+ type: Input
2027
+ }], icon: [{
2028
+ type: Input
2029
+ }], disabled: [{
2030
+ type: Input
2031
+ }], expanded: [{
2032
+ type: Input
2033
+ }], expandedChange: [{
2034
+ type: Output
2035
+ }] } });
2036
+ class TdAccordion {
2037
+ itemList;
2038
+ multiple = false;
2039
+ bordered = true;
2040
+ dense = false;
2041
+ dark = false;
2042
+ subscriptions = new Subscription();
2043
+ itemsSubscription = new Subscription();
2044
+ changeDetector = inject(ChangeDetectorRef);
2045
+ ngAfterContentInit() {
2046
+ this.subscribeToItems();
2047
+ this.subscriptions.add(this.itemList.changes.subscribe(() => this.subscribeToItems()));
2048
+ }
2049
+ ngOnDestroy() {
2050
+ this.itemsSubscription.unsubscribe();
2051
+ this.subscriptions.unsubscribe();
2052
+ }
2053
+ subscribeToItems() {
2054
+ this.itemsSubscription.unsubscribe();
2055
+ this.itemsSubscription = new Subscription();
2056
+ for (const item of this.itemList.toArray()) {
2057
+ this.itemsSubscription.add(item.expandedChange.subscribe(() => this.handleToggle(item)));
2058
+ }
2059
+ }
2060
+ handleToggle(opened) {
2061
+ if (this.multiple || !opened.expanded)
2062
+ return;
2063
+ for (const item of this.itemList.toArray()) {
2064
+ if (item !== opened)
2065
+ item.setExpanded(false);
2066
+ }
2067
+ this.changeDetector.markForCheck();
2068
+ }
2069
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TdAccordion, deps: [], target: i0.ɵɵFactoryTarget.Component });
2070
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.4", type: TdAccordion, isStandalone: true, selector: "td-accordion", inputs: { multiple: "multiple", bordered: "bordered", dense: "dense", dark: "dark" }, queries: [{ propertyName: "itemList", predicate: TdAccordionItem }], ngImport: i0, template: `<div class="td-accordion" [class.td-accordion--dark]="dark" [class.td-accordion--flat]="!bordered" [class.td-accordion--dense]="dense"><ng-content /></div>`, isInline: true, styles: [":host{display:block;min-width:0;font-family:var(--td-font-family, Inter, ui-sans-serif, system-ui, sans-serif)}*{box-sizing:border-box}.td-accordion{--td-accordion-surface: var(--td-color-surface, #fff);--td-accordion-soft: var(--td-color-surface-soft, #f8fafc);--td-accordion-border: var(--td-color-border, #dfe4ee);--td-accordion-text: var(--td-color-text, #263147);--td-accordion-muted: var(--td-color-text-muted, #748096);--td-accordion-trigger-height: 3.25rem;--td-accordion-trigger-padding-block: .7rem;display:grid;min-width:0;gap:.55rem;color:var(--td-accordion-text)}.td-accordion--dark{--td-accordion-surface: var(--td-accordion-dark-surface, #19191f);--td-accordion-soft: var(--td-accordion-dark-soft, #202028);--td-accordion-border: var(--td-accordion-dark-border, #34343e);--td-accordion-text: var(--td-accordion-dark-text, #ededf0);--td-accordion-muted: var(--td-accordion-dark-muted, #a1a1aa);color-scheme:dark}.td-accordion--dense{--td-accordion-trigger-height: 2.75rem;--td-accordion-trigger-padding-block: .5rem}.td-accordion-item{min-width:0;overflow:hidden;border:1px solid var(--td-accordion-border);border-radius:var(--td-radius-lg, .9rem);background:var(--td-accordion-surface);transition:border-color .14s ease,box-shadow .14s ease}.td-accordion--flat .td-accordion-item{border-inline:0;border-radius:0}.td-accordion-item--open{border-color:color-mix(in srgb,var(--td-color-primary, #5746d8) 38%,var(--td-accordion-border));box-shadow:var(--td-shadow-xs, 0 6px 18px rgba(31, 42, 68, .06))}.td-accordion-item__trigger{display:flex;width:100%;min-width:0;min-height:var(--td-accordion-trigger-height, 3.25rem);align-items:center;gap:.65rem;border:0;padding:var(--td-accordion-trigger-padding-block, .7rem) .85rem;color:inherit;background:transparent;text-align:left;cursor:pointer}.td-accordion-item__trigger:hover:not(:disabled){background:var(--td-accordion-soft)}.td-accordion-item__trigger:focus-visible{outline:2px solid var(--td-color-primary, #5746d8);outline-offset:-2px}.td-accordion-item__trigger:disabled{opacity:.52;cursor:not-allowed}.td-accordion-item__icon{flex:0 0 auto;color:var(--td-color-primary, #5746d8)}.td-accordion-item__titles{display:grid;min-width:0;flex:1 1 auto;gap:.15rem}.td-accordion-item__titles strong,.td-accordion-item__titles small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-accordion-item__titles strong{font-size:.82rem}.td-accordion-item__titles small{color:var(--td-accordion-muted);font-size:.7rem}.td-accordion-item__chevron{flex:0 0 auto;color:var(--td-accordion-muted);transition:transform .18s ease}.td-accordion-item--open .td-accordion-item__chevron{transform:rotate(180deg)}.td-accordion-item__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .18s ease}.td-accordion-item--open .td-accordion-item__panel{grid-template-rows:1fr}.td-accordion-item__content{min-height:0;overflow:hidden;padding:0 1rem;color:var(--td-accordion-muted);font-size:.78rem;line-height:1.55}.td-accordion-item--open .td-accordion-item__content{padding-bottom:1rem}@media(max-width:768px){.td-accordion-item__trigger{min-height:var(--td-accordion-trigger-height, 2.75rem)}.td-accordion-item__titles strong{font-size:.86rem}.td-accordion-item__content{font-size:.8rem}}@media(prefers-reduced-motion:reduce){.td-accordion-item,.td-accordion-item__chevron,.td-accordion-item__panel{transition:none}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2071
+ }
2072
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TdAccordion, decorators: [{
2073
+ type: Component,
2074
+ args: [{ selector: 'td-accordion', template: `<div class="td-accordion" [class.td-accordion--dark]="dark" [class.td-accordion--flat]="!bordered" [class.td-accordion--dense]="dense"><ng-content /></div>`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;min-width:0;font-family:var(--td-font-family, Inter, ui-sans-serif, system-ui, sans-serif)}*{box-sizing:border-box}.td-accordion{--td-accordion-surface: var(--td-color-surface, #fff);--td-accordion-soft: var(--td-color-surface-soft, #f8fafc);--td-accordion-border: var(--td-color-border, #dfe4ee);--td-accordion-text: var(--td-color-text, #263147);--td-accordion-muted: var(--td-color-text-muted, #748096);--td-accordion-trigger-height: 3.25rem;--td-accordion-trigger-padding-block: .7rem;display:grid;min-width:0;gap:.55rem;color:var(--td-accordion-text)}.td-accordion--dark{--td-accordion-surface: var(--td-accordion-dark-surface, #19191f);--td-accordion-soft: var(--td-accordion-dark-soft, #202028);--td-accordion-border: var(--td-accordion-dark-border, #34343e);--td-accordion-text: var(--td-accordion-dark-text, #ededf0);--td-accordion-muted: var(--td-accordion-dark-muted, #a1a1aa);color-scheme:dark}.td-accordion--dense{--td-accordion-trigger-height: 2.75rem;--td-accordion-trigger-padding-block: .5rem}.td-accordion-item{min-width:0;overflow:hidden;border:1px solid var(--td-accordion-border);border-radius:var(--td-radius-lg, .9rem);background:var(--td-accordion-surface);transition:border-color .14s ease,box-shadow .14s ease}.td-accordion--flat .td-accordion-item{border-inline:0;border-radius:0}.td-accordion-item--open{border-color:color-mix(in srgb,var(--td-color-primary, #5746d8) 38%,var(--td-accordion-border));box-shadow:var(--td-shadow-xs, 0 6px 18px rgba(31, 42, 68, .06))}.td-accordion-item__trigger{display:flex;width:100%;min-width:0;min-height:var(--td-accordion-trigger-height, 3.25rem);align-items:center;gap:.65rem;border:0;padding:var(--td-accordion-trigger-padding-block, .7rem) .85rem;color:inherit;background:transparent;text-align:left;cursor:pointer}.td-accordion-item__trigger:hover:not(:disabled){background:var(--td-accordion-soft)}.td-accordion-item__trigger:focus-visible{outline:2px solid var(--td-color-primary, #5746d8);outline-offset:-2px}.td-accordion-item__trigger:disabled{opacity:.52;cursor:not-allowed}.td-accordion-item__icon{flex:0 0 auto;color:var(--td-color-primary, #5746d8)}.td-accordion-item__titles{display:grid;min-width:0;flex:1 1 auto;gap:.15rem}.td-accordion-item__titles strong,.td-accordion-item__titles small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-accordion-item__titles strong{font-size:.82rem}.td-accordion-item__titles small{color:var(--td-accordion-muted);font-size:.7rem}.td-accordion-item__chevron{flex:0 0 auto;color:var(--td-accordion-muted);transition:transform .18s ease}.td-accordion-item--open .td-accordion-item__chevron{transform:rotate(180deg)}.td-accordion-item__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .18s ease}.td-accordion-item--open .td-accordion-item__panel{grid-template-rows:1fr}.td-accordion-item__content{min-height:0;overflow:hidden;padding:0 1rem;color:var(--td-accordion-muted);font-size:.78rem;line-height:1.55}.td-accordion-item--open .td-accordion-item__content{padding-bottom:1rem}@media(max-width:768px){.td-accordion-item__trigger{min-height:var(--td-accordion-trigger-height, 2.75rem)}.td-accordion-item__titles strong{font-size:.86rem}.td-accordion-item__content{font-size:.8rem}}@media(prefers-reduced-motion:reduce){.td-accordion-item,.td-accordion-item__chevron,.td-accordion-item__panel{transition:none}}\n"] }]
2075
+ }], propDecorators: { itemList: [{
2076
+ type: ContentChildren,
2077
+ args: [TdAccordionItem]
2078
+ }], multiple: [{
2079
+ type: Input
2080
+ }], bordered: [{
2081
+ type: Input
2082
+ }], dense: [{
2083
+ type: Input
2084
+ }], dark: [{
2085
+ type: Input
2086
+ }] } });
2087
+
1856
2088
  class TdBadge {
1857
2089
  tone = 'primary';
1858
2090
  variant = 'soft';
@@ -3889,7 +4121,7 @@ class TdDialog {
3889
4121
  const fullscreen = size === 'pantalla' || (mobile && size !== 'pequeno');
3890
4122
  const width = fullscreen ? '100%' : config.ancho ?? this.widthFor(size);
3891
4123
  const maxWidth = fullscreen ? '100%' : config.maxAncho ?? 'calc(100vw - 2rem)';
3892
- const maxHeight = fullscreen ? '100dvh' : config.maxAlto ?? 'calc(100dvh - 2rem)';
4124
+ const maxHeight = fullscreen ? '100dvh' : config.maxAlto ?? this.maxHeightFor(size);
3893
4125
  let publicRef;
3894
4126
  const cdkRef = this.dialog.open(TdDialogPanel, {
3895
4127
  data: { component, config, fullscreen },
@@ -3929,6 +4161,15 @@ class TdDialog {
3929
4161
  };
3930
4162
  return widths[size ?? 'mediano'];
3931
4163
  }
4164
+ maxHeightFor(size) {
4165
+ const maxHeights = {
4166
+ pequeno: 'min(70dvh, calc(100dvh - 2rem))',
4167
+ mediano: 'min(80dvh, calc(100dvh - 2rem))',
4168
+ grande: 'min(90dvh, calc(100dvh - 2rem))',
4169
+ pantalla: '100dvh',
4170
+ };
4171
+ return maxHeights[size ?? 'mediano'];
4172
+ }
3932
4173
  panelClasses(config, fullscreen) {
3933
4174
  const extra = Array.isArray(config.panelClass)
3934
4175
  ? config.panelClass
@@ -8754,5 +8995,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
8754
8995
  * Generated bundle index. Do not edit.
8755
8996
  */
8756
8997
 
8757
- export { TD_DIALOG_CONFIG, TD_DIALOG_DATA, TD_ICONOS, TD_ICONOS_NOMBRES, TD_THEME_DARK_COLORS, TD_THEME_LIGHT_COLORS, TdAlert, TdAlerta, TdAutocompleteSelect, TdBadge, TdButton, TdCheckbox, TdDataTable, TdDatePicker, TdDialog, TdDialogActions, TdDialogClose, TdDialogPrimary, TdDialogRef, TdFileUpload, TdFileViewer, TdFileViewerService, TdFooter, TdHeader, TdIcon, TdIconoRegistry, TdInput, TdLayout, TdLayoutContentSlot, TdLayoutFooterSlot, TdLayoutHeaderSlot, TdLayoutSidebarSlot, TdMenu, TdRadioGroup, TdSelect, TdSidebar, TdTab, TdTabs, TdTabsActions, TdTextarea, TdThemeService, TdTooltip, TelcomdevUi, createTdFormControlBridge };
8998
+ export { TD_DIALOG_CONFIG, TD_DIALOG_DATA, TD_ICONOS, TD_ICONOS_NOMBRES, TD_THEME_DARK_COLORS, TD_THEME_LIGHT_COLORS, TdAccordion, TdAccordionItem, TdAlert, TdAlerta, TdAutocompleteSelect, TdBadge, TdButton, TdCheckbox, TdDataTable, TdDatePicker, TdDialog, TdDialogActions, TdDialogClose, TdDialogPrimary, TdDialogRef, TdFileUpload, TdFileViewer, TdFileViewerService, TdFooter, TdHeader, TdIcon, TdIconoRegistry, TdInput, TdLayout, TdLayoutContentSlot, TdLayoutFooterSlot, TdLayoutHeaderSlot, TdLayoutSidebarSlot, TdMenu, TdRadioGroup, TdSelect, TdSidebar, TdTab, TdTabs, TdTabsActions, TdTextarea, TdThemeService, TdTooltip, TelcomdevUi, createTdFormControlBridge };
8758
8999
  //# sourceMappingURL=telcomdev-ui.mjs.map