@db-ux/ngx-core-components 2.0.8 → 2.0.10-popover-d7e8b9a

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.
@@ -42,78 +42,6 @@ const cls = (...args) => {
42
42
  }
43
43
  return result.trim();
44
44
  };
45
- const visibleInVX = (el) => {
46
- const { left, right } = el.getBoundingClientRect();
47
- const { innerWidth } = window;
48
- return left >= 0 && right <= innerWidth;
49
- };
50
- const visibleInVY = (el) => {
51
- const { top, bottom } = el.getBoundingClientRect();
52
- const { innerHeight } = window;
53
- return top >= 0 && bottom <= innerHeight;
54
- };
55
- const isInView = (el) => {
56
- const { top, bottom, left, right } = el.getBoundingClientRect();
57
- const { innerHeight, innerWidth } = window;
58
- let outTop = top < 0;
59
- let outBottom = bottom > innerHeight;
60
- let outLeft = left < 0;
61
- let outRight = right > innerWidth;
62
- // We need to check if it was already outside
63
- const outsideY = el.hasAttribute('data-outside-vy');
64
- const outsideX = el.hasAttribute('data-outside-vx');
65
- const parentRect = el?.parentElement?.getBoundingClientRect();
66
- if (parentRect) {
67
- if (outsideY) {
68
- const position = el.getAttribute('data-outside-vy');
69
- if (position === 'top') {
70
- outTop = parentRect.top - (bottom - parentRect.bottom) < 0;
71
- }
72
- else {
73
- outBottom = parentRect.bottom + (parentRect.top - top) > innerHeight;
74
- }
75
- }
76
- if (outsideX) {
77
- const position = el.getAttribute('data-outside-vx');
78
- if (position === 'left') {
79
- outLeft = parentRect.left - (right - parentRect.right) < 0;
80
- }
81
- else {
82
- outRight = parentRect.right + (parentRect.left - left) > innerWidth;
83
- }
84
- }
85
- }
86
- return {
87
- outTop,
88
- outBottom,
89
- outLeft,
90
- outRight
91
- };
92
- };
93
- const handleDataOutside = (el) => {
94
- const { outTop, outBottom, outLeft, outRight } = isInView(el);
95
- let dataOutsidePair = {};
96
- if (outTop || outBottom) {
97
- dataOutsidePair = {
98
- vy: outTop ? 'top' : 'bottom'
99
- };
100
- el.setAttribute('data-outside-vy', dataOutsidePair.vy);
101
- }
102
- else {
103
- el.removeAttribute('data-outside-vy');
104
- }
105
- if (outLeft || outRight) {
106
- dataOutsidePair = {
107
- ...dataOutsidePair,
108
- vx: outRight ? 'right' : 'left'
109
- };
110
- el.setAttribute('data-outside-vx', dataOutsidePair.vx);
111
- }
112
- else {
113
- el.removeAttribute('data-outside-vx');
114
- }
115
- return dataOutsidePair;
116
- };
117
45
  const isArrayOfStrings = (value) => Array.isArray(value) && value.every(item => typeof item === 'string');
118
46
  const appleOs = ['Mac', 'iPhone', 'iPad', 'iPod'];
119
47
  const hasVoiceOver = () => typeof window !== 'undefined' && appleOs.some(os => window.navigator.userAgent.includes(os));
@@ -179,8 +107,8 @@ const getSearchInput = (element) => element.querySelector(`input[type="search"]`
179
107
  const defaultProps$z = {};
180
108
  class DBButton {
181
109
  handleClick(event) {
182
- event.stopPropagation();
183
110
  if (this.click) {
111
+ event.stopPropagation();
184
112
  this.click.emit(event);
185
113
  }
186
114
  }
@@ -247,8 +175,8 @@ class DBButton {
247
175
  const element = this._ref()?.nativeElement;
248
176
  this.enableAttributePassing(element, "db-button");
249
177
  }
250
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
251
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBButton, isStandalone: true, selector: "db-button", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, noText: { classPropertyName: "noText", publicName: "noText", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, describedbyid: { classPropertyName: "describedbyid", publicName: "describedbyid", isSignal: true, isRequired: false, transformFunction: null }, ariaexpanded: { classPropertyName: "ariaexpanded", publicName: "ariaexpanded", isSignal: true, isRequired: false, transformFunction: null }, ariapressed: { classPropertyName: "ariapressed", publicName: "ariapressed", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
178
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
179
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBButton, isStandalone: true, selector: "db-button", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, noText: { classPropertyName: "noText", publicName: "noText", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, describedbyid: { classPropertyName: "describedbyid", publicName: "describedbyid", isSignal: true, isRequired: false, transformFunction: null }, ariaexpanded: { classPropertyName: "ariaexpanded", publicName: "ariaexpanded", isSignal: true, isRequired: false, transformFunction: null }, ariapressed: { classPropertyName: "ariapressed", publicName: "ariapressed", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
252
180
  <button
253
181
  #_ref
254
182
  [attr.id]="id()"
@@ -277,7 +205,7 @@ class DBButton {
277
205
  </button>
278
206
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
279
207
  }
280
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBButton, decorators: [{
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBButton, decorators: [{
281
209
  type: Component,
282
210
  args: [{ selector: "db-button", standalone: true, imports: [CommonModule], template: `
283
211
  <button
@@ -477,8 +405,8 @@ class DBNotification {
477
405
  const element = this._ref()?.nativeElement;
478
406
  this.enableAttributePassing(element, "db-notification");
479
407
  }
480
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBNotification, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
481
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBNotification, isStandalone: true, selector: "db-notification", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, ariaLive: { classPropertyName: "ariaLive", publicName: "ariaLive", isSignal: true, isRequired: false, transformFunction: null }, semantic: { classPropertyName: "semantic", publicName: "semantic", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, linkVariant: { classPropertyName: "linkVariant", publicName: "linkVariant", isSignal: true, isRequired: false, transformFunction: null }, headline: { classPropertyName: "headline", publicName: "headline", isSignal: true, isRequired: false, transformFunction: null }, showHeadline: { classPropertyName: "showHeadline", publicName: "showHeadline", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, timestamp: { classPropertyName: "timestamp", publicName: "timestamp", isSignal: true, isRequired: false, transformFunction: null }, showTimestamp: { classPropertyName: "showTimestamp", publicName: "showTimestamp", isSignal: true, isRequired: false, transformFunction: null }, closeable: { classPropertyName: "closeable", publicName: "closeable", isSignal: true, isRequired: false, transformFunction: null }, closeButtonId: { classPropertyName: "closeButtonId", publicName: "closeButtonId", isSignal: true, isRequired: false, transformFunction: null }, closeButtonText: { classPropertyName: "closeButtonText", publicName: "closeButtonText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: "close" }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
408
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBNotification, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
409
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBNotification, isStandalone: true, selector: "db-notification", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, ariaLive: { classPropertyName: "ariaLive", publicName: "ariaLive", isSignal: true, isRequired: false, transformFunction: null }, semantic: { classPropertyName: "semantic", publicName: "semantic", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, linkVariant: { classPropertyName: "linkVariant", publicName: "linkVariant", isSignal: true, isRequired: false, transformFunction: null }, headline: { classPropertyName: "headline", publicName: "headline", isSignal: true, isRequired: false, transformFunction: null }, showHeadline: { classPropertyName: "showHeadline", publicName: "showHeadline", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, timestamp: { classPropertyName: "timestamp", publicName: "timestamp", isSignal: true, isRequired: false, transformFunction: null }, showTimestamp: { classPropertyName: "showTimestamp", publicName: "showTimestamp", isSignal: true, isRequired: false, transformFunction: null }, closeable: { classPropertyName: "closeable", publicName: "closeable", isSignal: true, isRequired: false, transformFunction: null }, closeButtonId: { classPropertyName: "closeButtonId", publicName: "closeButtonId", isSignal: true, isRequired: false, transformFunction: null }, closeButtonText: { classPropertyName: "closeButtonText", publicName: "closeButtonText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: "close" }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
482
410
  <article
483
411
  #_ref
484
412
  [attr.id]="id()"
@@ -518,7 +446,7 @@ class DBNotification {
518
446
  </article>
519
447
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DBButton, selector: "db-button", inputs: ["id", "className", "type", "disabled", "label", "icon", "showIcon", "size", "state", "width", "variant", "noText", "name", "form", "value", "describedbyid", "ariaexpanded", "ariapressed", "text"], outputs: ["click"] }] }); }
520
448
  }
521
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBNotification, decorators: [{
449
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBNotification, decorators: [{
522
450
  type: Component,
523
451
  args: [{ selector: "db-notification", standalone: true, imports: [CommonModule, DBButton], template: `
524
452
  <article
@@ -636,8 +564,8 @@ class DBBadge {
636
564
  const element = this._ref()?.nativeElement;
637
565
  this.enableAttributePassing(element, "db-badge");
638
566
  }
639
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBBadge, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
640
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBBadge, isStandalone: true, selector: "db-badge", inputs: { placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, semantic: { classPropertyName: "semantic", publicName: "semantic", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, emphasis: { classPropertyName: "emphasis", publicName: "emphasis", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
567
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBBadge, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
568
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBBadge, isStandalone: true, selector: "db-badge", inputs: { placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, semantic: { classPropertyName: "semantic", publicName: "semantic", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, emphasis: { classPropertyName: "emphasis", publicName: "emphasis", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
641
569
  <span
642
570
  #_ref
643
571
  [attr.id]="id()"
@@ -654,7 +582,7 @@ class DBBadge {
654
582
  </span>
655
583
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
656
584
  }
657
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBBadge, decorators: [{
585
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBBadge, decorators: [{
658
586
  type: Component,
659
587
  args: [{ selector: "db-badge", standalone: true, imports: [CommonModule], template: `
660
588
  <span
@@ -724,8 +652,8 @@ class DBBrand {
724
652
  const element = this._ref()?.nativeElement;
725
653
  this.enableAttributePassing(element, "db-brand");
726
654
  }
727
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBBrand, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
728
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBBrand, isStandalone: true, selector: "db-brand", inputs: { hideLogo: { classPropertyName: "hideLogo", publicName: "hideLogo", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
655
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBBrand, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
656
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBBrand, isStandalone: true, selector: "db-brand", inputs: { hideLogo: { classPropertyName: "hideLogo", publicName: "hideLogo", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
729
657
  <div
730
658
  #_ref
731
659
  [attr.data-icon]="hideLogo() ? 'none' : icon() ?? DEFAULT_ICON"
@@ -739,7 +667,7 @@ class DBBrand {
739
667
  </div>
740
668
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
741
669
  }
742
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBBrand, decorators: [{
670
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBBrand, decorators: [{
743
671
  type: Component,
744
672
  args: [{ selector: "db-brand", standalone: true, imports: [CommonModule], template: `
745
673
  <div
@@ -759,8 +687,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
759
687
  const defaultProps$v = {};
760
688
  class DBCard {
761
689
  handleClick(event) {
762
- event.stopPropagation();
763
690
  if (this.click) {
691
+ event.stopPropagation();
764
692
  this.click.emit(event);
765
693
  }
766
694
  }
@@ -810,8 +738,8 @@ class DBCard {
810
738
  const element = this._ref()?.nativeElement;
811
739
  this.enableAttributePassing(element, "db-card");
812
740
  }
813
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBCard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
814
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.10", type: DBCard, isStandalone: true, selector: "db-card", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, behavior: { classPropertyName: "behavior", publicName: "behavior", isSignal: true, isRequired: false, transformFunction: null }, elevationLevel: { classPropertyName: "elevationLevel", publicName: "elevationLevel", isSignal: true, isRequired: false, transformFunction: null }, spacing: { classPropertyName: "spacing", publicName: "spacing", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
741
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBCard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
742
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.12", type: DBCard, isStandalone: true, selector: "db-card", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, behavior: { classPropertyName: "behavior", publicName: "behavior", isSignal: true, isRequired: false, transformFunction: null }, elevationLevel: { classPropertyName: "elevationLevel", publicName: "elevationLevel", isSignal: true, isRequired: false, transformFunction: null }, spacing: { classPropertyName: "spacing", publicName: "spacing", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
815
743
  <div
816
744
  #_ref
817
745
  [attr.id]="id()"
@@ -827,7 +755,7 @@ class DBCard {
827
755
  </div>
828
756
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
829
757
  }
830
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBCard, decorators: [{
758
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBCard, decorators: [{
831
759
  type: Component,
832
760
  args: [{ selector: "db-card", standalone: true, imports: [CommonModule], template: `
833
761
  <div
@@ -907,8 +835,8 @@ class DBInfotext {
907
835
  const element = this._ref()?.nativeElement;
908
836
  this.enableAttributePassing(element, "db-infotext");
909
837
  }
910
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBInfotext, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
911
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBInfotext, isStandalone: true, selector: "db-infotext", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, semantic: { classPropertyName: "semantic", publicName: "semantic", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
838
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBInfotext, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
839
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBInfotext, isStandalone: true, selector: "db-infotext", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, semantic: { classPropertyName: "semantic", publicName: "semantic", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
912
840
  <span
913
841
  #_ref
914
842
  [attr.id]="id()"
@@ -924,7 +852,7 @@ class DBInfotext {
924
852
  </span>
925
853
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
926
854
  }
927
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBInfotext, decorators: [{
855
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBInfotext, decorators: [{
928
856
  type: Component,
929
857
  args: [{ selector: "db-infotext", standalone: true, imports: [CommonModule], template: `
930
858
  <span
@@ -1019,6 +947,7 @@ class DBCheckbox {
1019
947
  this.name = input();
1020
948
  this.disabled = model();
1021
949
  this.value = input();
950
+ this.ariaDescribedBy = input();
1022
951
  this.label = input();
1023
952
  this.messageIcon = input();
1024
953
  this.change = output();
@@ -1153,8 +1082,8 @@ class DBCheckbox {
1153
1082
  const element = this._ref()?.nativeElement;
1154
1083
  this.enableAttributePassing(element, "db-checkbox");
1155
1084
  }
1156
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBCheckbox, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
1157
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBCheckbox, isStandalone: true, selector: "db-checkbox", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, invalidMessage: { classPropertyName: "invalidMessage", publicName: "invalidMessage", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, showMessage: { classPropertyName: "showMessage", publicName: "showMessage", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, validMessage: { classPropertyName: "validMessage", publicName: "validMessage", isSignal: true, isRequired: false, transformFunction: null }, validation: { classPropertyName: "validation", publicName: "validation", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, showLabel: { classPropertyName: "showLabel", publicName: "showLabel", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, messageIcon: { classPropertyName: "messageIcon", publicName: "messageIcon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", disabled: "disabledChange", change: "change", blur: "blur", focus: "focus" }, providers: [{
1085
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBCheckbox, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
1086
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBCheckbox, isStandalone: true, selector: "db-checkbox", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, invalidMessage: { classPropertyName: "invalidMessage", publicName: "invalidMessage", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, showMessage: { classPropertyName: "showMessage", publicName: "showMessage", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, validMessage: { classPropertyName: "validMessage", publicName: "validMessage", isSignal: true, isRequired: false, transformFunction: null }, validation: { classPropertyName: "validation", publicName: "validation", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, showLabel: { classPropertyName: "showLabel", publicName: "showLabel", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedBy: { classPropertyName: "ariaDescribedBy", publicName: "ariaDescribedBy", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, messageIcon: { classPropertyName: "messageIcon", publicName: "messageIcon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", disabled: "disabledChange", change: "change", blur: "blur", focus: "focus" }, providers: [{
1158
1087
  provide: NG_VALUE_ACCESSOR,
1159
1088
  useExisting: DBCheckbox,
1160
1089
  multi: true
@@ -1179,7 +1108,7 @@ class DBCheckbox {
1179
1108
  (change)="handleChange($event)"
1180
1109
  (blur)="handleBlur($event)"
1181
1110
  (focus)="handleFocus($event)"
1182
- [attr.aria-describedby]="_descByIds()"
1111
+ [attr.aria-describedby]="ariaDescribedBy() ?? _descByIds()"
1183
1112
  />
1184
1113
  @if(label()){ {{label()}} }@else{
1185
1114
  <ng-content></ng-content>
@@ -1203,7 +1132,7 @@ class DBCheckbox {
1203
1132
  </div>
1204
1133
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DBInfotext, selector: "db-infotext", inputs: ["id", "className", "icon", "semantic", "size", "showIcon", "text"] }] }); }
1205
1134
  }
1206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBCheckbox, decorators: [{
1135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBCheckbox, decorators: [{
1207
1136
  type: Component,
1208
1137
  args: [{ providers: [{
1209
1138
  provide: NG_VALUE_ACCESSOR,
@@ -1230,7 +1159,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
1230
1159
  (change)="handleChange($event)"
1231
1160
  (blur)="handleBlur($event)"
1232
1161
  (focus)="handleFocus($event)"
1233
- [attr.aria-describedby]="_descByIds()"
1162
+ [attr.aria-describedby]="ariaDescribedBy() ?? _descByIds()"
1234
1163
  />
1235
1164
  @if(label()){ {{label()}} }@else{
1236
1165
  <ng-content></ng-content>
@@ -1303,8 +1232,8 @@ class DBDivider {
1303
1232
  const element = this._ref()?.nativeElement;
1304
1233
  this.enableAttributePassing(element, "db-divider");
1305
1234
  }
1306
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBDivider, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1307
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.10", type: DBDivider, isStandalone: true, selector: "db-divider", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, margin: { classPropertyName: "margin", publicName: "margin", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, emphasis: { classPropertyName: "emphasis", publicName: "emphasis", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
1235
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBDivider, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1236
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.12", type: DBDivider, isStandalone: true, selector: "db-divider", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, margin: { classPropertyName: "margin", publicName: "margin", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, emphasis: { classPropertyName: "emphasis", publicName: "emphasis", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
1308
1237
  <div
1309
1238
  #_ref
1310
1239
  [attr.id]="id()"
@@ -1316,7 +1245,7 @@ class DBDivider {
1316
1245
  ></div>
1317
1246
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
1318
1247
  }
1319
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBDivider, decorators: [{
1248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBDivider, decorators: [{
1320
1249
  type: Component,
1321
1250
  args: [{ selector: "db-divider", standalone: true, imports: [CommonModule], template: `
1322
1251
  <div
@@ -1440,8 +1369,8 @@ class DBDrawer {
1440
1369
  const element = this._ref()?.nativeElement;
1441
1370
  this.enableAttributePassing(element, "db-drawer");
1442
1371
  }
1443
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBDrawer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1444
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.10", type: DBDrawer, isStandalone: true, selector: "db-drawer", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, backdrop: { classPropertyName: "backdrop", publicName: "backdrop", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, spacing: { classPropertyName: "spacing", publicName: "spacing", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, closeButtonId: { classPropertyName: "closeButtonId", publicName: "closeButtonId", isSignal: true, isRequired: false, transformFunction: null }, closeButtonText: { classPropertyName: "closeButtonText", publicName: "closeButtonText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: "close" }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }, { propertyName: "dialogContainerRef", first: true, predicate: ["dialogContainerRef"], descendants: true, isSignal: true }], ngImport: i0, template: `
1372
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBDrawer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1373
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.12", type: DBDrawer, isStandalone: true, selector: "db-drawer", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, backdrop: { classPropertyName: "backdrop", publicName: "backdrop", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, spacing: { classPropertyName: "spacing", publicName: "spacing", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, closeButtonId: { classPropertyName: "closeButtonId", publicName: "closeButtonId", isSignal: true, isRequired: false, transformFunction: null }, closeButtonText: { classPropertyName: "closeButtonText", publicName: "closeButtonText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: "close" }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }, { propertyName: "dialogContainerRef", first: true, predicate: ["dialogContainerRef"], descendants: true, isSignal: true }], ngImport: i0, template: `
1445
1374
  <dialog
1446
1375
  class="db-drawer"
1447
1376
  [attr.id]="id()"
@@ -1479,7 +1408,7 @@ class DBDrawer {
1479
1408
  </dialog>
1480
1409
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DBButton, selector: "db-button", inputs: ["id", "className", "type", "disabled", "label", "icon", "showIcon", "size", "state", "width", "variant", "noText", "name", "form", "value", "describedbyid", "ariaexpanded", "ariapressed", "text"], outputs: ["click"] }] }); }
1481
1410
  }
1482
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBDrawer, decorators: [{
1411
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBDrawer, decorators: [{
1483
1412
  type: Component,
1484
1413
  args: [{ selector: "db-drawer", standalone: true, imports: [CommonModule, DBButton], template: `
1485
1414
  <dialog
@@ -1520,6 +1449,298 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
1520
1449
  `, styles: [":host{display:contents}\n"] }]
1521
1450
  }], ctorParameters: () => [] });
1522
1451
 
1452
+ // TODO: We should reevaluate this as soon as CSS Anchor Positioning is supported in all relevant browsers
1453
+ const isInView = (el) => {
1454
+ const { top, bottom, left, right } = el.getBoundingClientRect();
1455
+ const { innerHeight, innerWidth } = window;
1456
+ let outTop = top < 0;
1457
+ let outBottom = bottom > innerHeight;
1458
+ let outLeft = left < 0;
1459
+ let outRight = right > innerWidth;
1460
+ // We need to check if it was already outside
1461
+ const outsideY = el.dataset['outsideVy'];
1462
+ const outsideX = el.dataset['outsideVx'];
1463
+ const parentRect = el?.parentElement?.getBoundingClientRect();
1464
+ if (parentRect) {
1465
+ if (outsideY) {
1466
+ const position = el.dataset['outsideVy'];
1467
+ if (position === 'top') {
1468
+ outTop = parentRect.top - (bottom - parentRect.bottom) < 0;
1469
+ }
1470
+ else {
1471
+ outBottom = parentRect.bottom + (parentRect.top - top) > innerHeight;
1472
+ }
1473
+ }
1474
+ if (outsideX) {
1475
+ const position = el.dataset['outsideVx'];
1476
+ if (position === 'left') {
1477
+ outLeft = parentRect.left - (right - parentRect.right) < 0;
1478
+ }
1479
+ else {
1480
+ outRight = parentRect.right + (parentRect.left - left) > innerWidth;
1481
+ }
1482
+ }
1483
+ }
1484
+ return {
1485
+ outTop,
1486
+ outBottom,
1487
+ outLeft,
1488
+ outRight
1489
+ };
1490
+ };
1491
+ const handleDataOutside = (el) => {
1492
+ const { outTop, outBottom, outLeft, outRight } = isInView(el);
1493
+ let dataOutsidePair = {};
1494
+ if (outTop || outBottom) {
1495
+ dataOutsidePair = {
1496
+ vy: outTop ? 'top' : 'bottom'
1497
+ };
1498
+ el.dataset['outsideVy'] = dataOutsidePair.vy;
1499
+ }
1500
+ else {
1501
+ delete el.dataset['outsideVy'];
1502
+ }
1503
+ if (outLeft || outRight) {
1504
+ dataOutsidePair = {
1505
+ ...dataOutsidePair,
1506
+ vx: outRight ? 'right' : 'left'
1507
+ };
1508
+ el.dataset['outsideVx'] = dataOutsidePair.vx;
1509
+ }
1510
+ else {
1511
+ delete el.dataset['outsideVx'];
1512
+ }
1513
+ return dataOutsidePair;
1514
+ };
1515
+ const handleFixedDropdown = (element, parent, placement) => {
1516
+ // We skip this if we are in mobile it's already fixed
1517
+ if (getComputedStyle(element).zIndex === '9999')
1518
+ return;
1519
+ const { top, bottom, childHeight, childWidth, width, right, left, correctedPlacement } = getFloatingProps(element, parent, placement);
1520
+ const fullWidth = element.dataset['width'] === 'full';
1521
+ if (fullWidth) {
1522
+ element.style.inlineSize = `${width}px`;
1523
+ }
1524
+ if (correctedPlacement === 'top' || correctedPlacement === 'bottom' || correctedPlacement === 'top-start' || correctedPlacement === 'bottom-start') {
1525
+ element.style.insetInlineStart = `${left}px`;
1526
+ }
1527
+ else if (correctedPlacement === 'top-end' || correctedPlacement === 'bottom-end') {
1528
+ element.style.insetInlineStart = `${right - childWidth}px`;
1529
+ }
1530
+ if (correctedPlacement?.startsWith('top')) {
1531
+ element.style.insetBlockStart = `${top - childHeight}px`;
1532
+ }
1533
+ else if (correctedPlacement?.startsWith('bottom')) {
1534
+ element.style.insetBlockStart = `${bottom}px`;
1535
+ }
1536
+ element.style.position = 'fixed';
1537
+ };
1538
+ const getFloatingProps = (element, parent, placement) => {
1539
+ const childRect = element.getBoundingClientRect();
1540
+ const { top, height, bottom, right, left, width } = parent.getBoundingClientRect();
1541
+ const { innerHeight, innerWidth } = window;
1542
+ let childHeight = childRect.height;
1543
+ let childWidth = childRect.width;
1544
+ if (placement === 'bottom' || placement === 'top') {
1545
+ childWidth = childWidth / 2;
1546
+ }
1547
+ if (placement === 'left' || placement === 'right') {
1548
+ childHeight = childHeight / 2;
1549
+ }
1550
+ const outsideBottom = bottom + childHeight > innerHeight;
1551
+ const outsideTop = top - childHeight < 0;
1552
+ const outsideLeft = left - childWidth < 0;
1553
+ const outsideRight = right + childWidth > innerWidth;
1554
+ let correctedPlacement = placement;
1555
+ if (placement.startsWith('bottom')) {
1556
+ if (outsideBottom) {
1557
+ correctedPlacement = placement?.replace('bottom', 'top');
1558
+ if (outsideLeft && outsideRight) {
1559
+ correctedPlacement = 'top';
1560
+ }
1561
+ else if (outsideLeft) {
1562
+ correctedPlacement = 'top-start';
1563
+ }
1564
+ else if (outsideRight) {
1565
+ correctedPlacement = 'top-end';
1566
+ }
1567
+ }
1568
+ else {
1569
+ if (outsideLeft && outsideRight) {
1570
+ correctedPlacement = 'bottom';
1571
+ }
1572
+ else if (outsideLeft) {
1573
+ correctedPlacement = 'bottom-start';
1574
+ }
1575
+ else if (outsideRight) {
1576
+ correctedPlacement = 'bottom-end';
1577
+ }
1578
+ }
1579
+ }
1580
+ else if (placement.startsWith('top')) {
1581
+ if (outsideTop) {
1582
+ correctedPlacement = placement?.replace('top', 'bottom');
1583
+ if (outsideLeft && outsideRight) {
1584
+ correctedPlacement = 'bottom';
1585
+ }
1586
+ else if (outsideLeft) {
1587
+ correctedPlacement = 'bottom-start';
1588
+ }
1589
+ else if (outsideRight) {
1590
+ correctedPlacement = 'bottom-end';
1591
+ }
1592
+ }
1593
+ else {
1594
+ if (outsideLeft && outsideRight) {
1595
+ correctedPlacement = 'top';
1596
+ }
1597
+ else if (outsideLeft) {
1598
+ correctedPlacement = 'top-start';
1599
+ }
1600
+ else if (outsideRight) {
1601
+ correctedPlacement = 'top-end';
1602
+ }
1603
+ }
1604
+ }
1605
+ else if (placement.startsWith('left')) {
1606
+ if (outsideLeft) {
1607
+ correctedPlacement = placement?.replace('left', 'right');
1608
+ if (outsideBottom && outsideTop) {
1609
+ correctedPlacement = 'right';
1610
+ }
1611
+ else if (outsideBottom) {
1612
+ correctedPlacement = 'right-end';
1613
+ }
1614
+ else if (outsideTop) {
1615
+ correctedPlacement = 'right-start';
1616
+ }
1617
+ }
1618
+ else {
1619
+ if (outsideBottom && outsideTop) {
1620
+ correctedPlacement = 'left';
1621
+ }
1622
+ else if (outsideBottom) {
1623
+ correctedPlacement = 'left-end';
1624
+ }
1625
+ else if (outsideTop) {
1626
+ correctedPlacement = 'left-start';
1627
+ }
1628
+ }
1629
+ }
1630
+ else if (correctedPlacement.startsWith('right')) {
1631
+ if (outsideRight) {
1632
+ correctedPlacement = placement?.replace('right', 'left');
1633
+ if (outsideBottom && outsideTop) {
1634
+ correctedPlacement = 'left';
1635
+ }
1636
+ else if (outsideBottom) {
1637
+ correctedPlacement = 'left-end';
1638
+ }
1639
+ else if (outsideTop) {
1640
+ correctedPlacement = 'left-start';
1641
+ }
1642
+ }
1643
+ else {
1644
+ if (outsideBottom && outsideTop) {
1645
+ correctedPlacement = 'right';
1646
+ }
1647
+ else if (outsideBottom) {
1648
+ correctedPlacement = 'right-end';
1649
+ }
1650
+ else if (outsideTop) {
1651
+ correctedPlacement = 'right-start';
1652
+ }
1653
+ }
1654
+ }
1655
+ return {
1656
+ top,
1657
+ bottom,
1658
+ right,
1659
+ height,
1660
+ width,
1661
+ left,
1662
+ childHeight: childRect.height,
1663
+ childWidth: childRect.width,
1664
+ correctedPlacement,
1665
+ innerWidth,
1666
+ innerHeight
1667
+ };
1668
+ };
1669
+ const handleFixedPopover = (element, parent, placement) => {
1670
+ const distance = getComputedStyle(element).getPropertyValue('--db-popover-distance') ?? '0px';
1671
+ const { top, height, width, childHeight, childWidth, right, left, bottom, correctedPlacement, innerWidth, innerHeight } = getFloatingProps(element, parent, placement);
1672
+ // Tooltip arrow position
1673
+ if (childWidth > width && (correctedPlacement.startsWith('bottom') || correctedPlacement.startsWith('top'))) {
1674
+ const diff = width / 2 / childWidth * 100;
1675
+ if (correctedPlacement.endsWith('start')) {
1676
+ element.style.setProperty('--db-tooltip-arrow-inline-start', `${diff}%`);
1677
+ }
1678
+ else if (correctedPlacement.endsWith('end')) {
1679
+ element.style.setProperty('--db-tooltip-arrow-inline-start', `${100 - diff}%`);
1680
+ }
1681
+ }
1682
+ if (childHeight > height && (correctedPlacement.startsWith('left') || correctedPlacement.startsWith('bottom'))) {
1683
+ const diff = height / 2 / childHeight * 100;
1684
+ if (correctedPlacement.endsWith('start')) {
1685
+ element.style.setProperty('--db-tooltip-arrow-block-start', `${diff}%`);
1686
+ }
1687
+ else if (correctedPlacement.endsWith('end')) {
1688
+ element.style.setProperty('--db-tooltip-arrow-block-start', `${100 - diff}%`);
1689
+ }
1690
+ }
1691
+ // Popover position
1692
+ if (correctedPlacement === 'right' || correctedPlacement === 'left') {
1693
+ // center horizontally
1694
+ element.style.insetBlockStart = `${top + height / 2}px`;
1695
+ }
1696
+ else if (correctedPlacement === 'right-start' || correctedPlacement === 'left-start') {
1697
+ const end = top + childHeight;
1698
+ element.style.insetBlockStart = `${top}px`;
1699
+ element.style.insetBlockEnd = `${end > innerHeight ? innerHeight : end}px`;
1700
+ }
1701
+ else if (correctedPlacement === 'right-end' || correctedPlacement === 'left-end') {
1702
+ const start = bottom - childHeight;
1703
+ element.style.insetBlockStart = `${start < 0 ? 0 : start}px`;
1704
+ element.style.insetBlockEnd = `${bottom}px`;
1705
+ }
1706
+ else if (correctedPlacement === 'top' || correctedPlacement === 'bottom') {
1707
+ // center vertically
1708
+ element.style.insetInlineStart = `${left + width / 2}px`;
1709
+ }
1710
+ else if (correctedPlacement === 'top-start' || correctedPlacement === 'bottom-start') {
1711
+ const end = left + childWidth;
1712
+ element.style.insetInlineStart = `${left}px`;
1713
+ element.style.insetInlineEnd = `${end > innerWidth ? innerWidth : end}px`;
1714
+ }
1715
+ else if (correctedPlacement === 'top-end' || correctedPlacement === 'bottom-end') {
1716
+ const start = left - childWidth;
1717
+ element.style.insetInlineStart = `${right - childWidth}px`;
1718
+ element.style.insetInlineEnd = `${start < 0 ? 0 : start}px`;
1719
+ }
1720
+ if (correctedPlacement?.startsWith('right')) {
1721
+ const end = right + childWidth;
1722
+ element.style.insetInlineStart = `calc(${right}px + ${distance})`;
1723
+ element.style.insetInlineEnd = `calc(${end > innerWidth ? innerWidth : end}px + ${distance})`;
1724
+ }
1725
+ else if (correctedPlacement?.startsWith('left')) {
1726
+ const start = left - childWidth;
1727
+ element.style.insetInlineStart = `calc(${start < 0 ? 0 : start}px - ${distance})`;
1728
+ element.style.insetInlineEnd = `calc(${right}px - ${distance})`;
1729
+ }
1730
+ else if (correctedPlacement?.startsWith('top')) {
1731
+ const start = top - childHeight;
1732
+ element.style.insetBlockStart = `calc(${start < 0 ? 0 : start}px - ${distance})`;
1733
+ element.style.insetBlockEnd = `calc(${bottom}px - ${distance})`;
1734
+ }
1735
+ else if (correctedPlacement?.startsWith('bottom')) {
1736
+ const end = bottom + childHeight;
1737
+ element.style.insetBlockStart = `calc(${bottom}px + ${distance})`;
1738
+ element.style.insetBlockEnd = `calc(${end > innerHeight ? innerHeight : end}px + ${distance})`;
1739
+ }
1740
+ element.style.position = 'fixed';
1741
+ element.setAttribute('data-corrected-placement', correctedPlacement);
1742
+ };
1743
+
1523
1744
  const isEventTargetNavigationItem = (event) => {
1524
1745
  const { target } = event;
1525
1746
  return Boolean(!target?.classList?.contains('db-navigation-item-expand-button') && target?.parentElement?.classList.contains('db-navigation-item'));
@@ -1654,10 +1875,10 @@ var navigation = {
1654
1875
 
1655
1876
  /* Angular cannot handle multiple slots with the same name, we need to use Directives for this. */
1656
1877
  class SecondaryActionDirective {
1657
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SecondaryActionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1658
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.10", type: SecondaryActionDirective, isStandalone: true, selector: "[dbSecondaryAction]", ngImport: i0 }); }
1878
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: SecondaryActionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1879
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.12", type: SecondaryActionDirective, isStandalone: true, selector: "[dbSecondaryAction]", ngImport: i0 }); }
1659
1880
  }
1660
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: SecondaryActionDirective, decorators: [{
1881
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: SecondaryActionDirective, decorators: [{
1661
1882
  type: Directive,
1662
1883
  args: [{
1663
1884
  selector: '[dbSecondaryAction]',
@@ -1667,10 +1888,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
1667
1888
 
1668
1889
  /* Angular cannot handle multiple slots with the same name, we need to use Directives for this. */
1669
1890
  class MetaNavigationDirective {
1670
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MetaNavigationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1671
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.10", type: MetaNavigationDirective, isStandalone: true, selector: "[dbMetaNavigation]", ngImport: i0 }); }
1891
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: MetaNavigationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1892
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.12", type: MetaNavigationDirective, isStandalone: true, selector: "[dbMetaNavigation]", ngImport: i0 }); }
1672
1893
  }
1673
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MetaNavigationDirective, decorators: [{
1894
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: MetaNavigationDirective, decorators: [{
1674
1895
  type: Directive,
1675
1896
  args: [{
1676
1897
  selector: '[dbMetaNavigation]',
@@ -1680,10 +1901,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
1680
1901
 
1681
1902
  /* Angular cannot handle multiple slots with the same name, we need to use Directives for this. */
1682
1903
  class NavigationDirective {
1683
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NavigationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1684
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.10", type: NavigationDirective, isStandalone: true, selector: "[dbNavigation]", ngImport: i0 }); }
1904
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: NavigationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1905
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.12", type: NavigationDirective, isStandalone: true, selector: "[dbNavigation]", ngImport: i0 }); }
1685
1906
  }
1686
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NavigationDirective, decorators: [{
1907
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: NavigationDirective, decorators: [{
1687
1908
  type: Directive,
1688
1909
  args: [{
1689
1910
  selector: '[dbNavigation]',
@@ -1782,8 +2003,8 @@ class DBHeader {
1782
2003
  const element = this._ref()?.nativeElement;
1783
2004
  this.enableAttributePassing(element, "db-header");
1784
2005
  }
1785
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBHeader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1786
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.10", type: DBHeader, isStandalone: true, selector: "db-header", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, forceMobile: { classPropertyName: "forceMobile", publicName: "forceMobile", isSignal: true, isRequired: false, transformFunction: null }, drawerOpen: { classPropertyName: "drawerOpen", publicName: "drawerOpen", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, burgerMenuLabel: { classPropertyName: "burgerMenuLabel", publicName: "burgerMenuLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { toggle: "toggle" }, queries: [{ propertyName: "dbNavigation", first: true, predicate: NavigationDirective, descendants: true, read: TemplateRef }, { propertyName: "dbMetaNavigation", first: true, predicate: MetaNavigationDirective, descendants: true, read: TemplateRef }, { propertyName: "dbSecondaryAction", first: true, predicate: SecondaryActionDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
2006
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBHeader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2007
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.12", type: DBHeader, isStandalone: true, selector: "db-header", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, forceMobile: { classPropertyName: "forceMobile", publicName: "forceMobile", isSignal: true, isRequired: false, transformFunction: null }, drawerOpen: { classPropertyName: "drawerOpen", publicName: "drawerOpen", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, burgerMenuLabel: { classPropertyName: "burgerMenuLabel", publicName: "burgerMenuLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { toggle: "toggle" }, queries: [{ propertyName: "dbNavigation", first: true, predicate: NavigationDirective, descendants: true, read: TemplateRef }, { propertyName: "dbMetaNavigation", first: true, predicate: MetaNavigationDirective, descendants: true, read: TemplateRef }, { propertyName: "dbSecondaryAction", first: true, predicate: SecondaryActionDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
1787
2008
  <header
1788
2009
  #_ref
1789
2010
  [class]="cls('db-header', className())"
@@ -1846,7 +2067,7 @@ class DBHeader {
1846
2067
  </header>
1847
2068
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DBDrawer, selector: "db-drawer", inputs: ["open", "backdrop", "variant", "id", "className", "spacing", "width", "direction", "rounded", "closeButtonId", "closeButtonText"], outputs: ["close"] }, { kind: "component", type: DBButton, selector: "db-button", inputs: ["id", "className", "type", "disabled", "label", "icon", "showIcon", "size", "state", "width", "variant", "noText", "name", "form", "value", "describedbyid", "ariaexpanded", "ariapressed", "text"], outputs: ["click"] }] }); }
1848
2069
  }
1849
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBHeader, decorators: [{
2070
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBHeader, decorators: [{
1850
2071
  type: Component,
1851
2072
  args: [{ selector: "db-header", standalone: true, imports: [CommonModule, DBDrawer, DBButton], template: `
1852
2073
  <header
@@ -1969,8 +2190,8 @@ class DBIcon {
1969
2190
  const element = this._ref()?.nativeElement;
1970
2191
  this.enableAttributePassing(element, "db-icon");
1971
2192
  }
1972
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1973
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBIcon, isStandalone: true, selector: "db-icon", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, weight: { classPropertyName: "weight", publicName: "weight", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
2193
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2194
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBIcon, isStandalone: true, selector: "db-icon", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, weight: { classPropertyName: "weight", publicName: "weight", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
1974
2195
  <span
1975
2196
  aria-hidden="true"
1976
2197
  #_ref
@@ -1986,7 +2207,7 @@ class DBIcon {
1986
2207
  </span>
1987
2208
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
1988
2209
  }
1989
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBIcon, decorators: [{
2210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBIcon, decorators: [{
1990
2211
  type: Component,
1991
2212
  args: [{ selector: "db-icon", standalone: true, imports: [CommonModule], template: `
1992
2213
  <span
@@ -2247,8 +2468,8 @@ class DBInput {
2247
2468
  const element = this._ref()?.nativeElement;
2248
2469
  this.enableAttributePassing(element, "db-input");
2249
2470
  }
2250
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBInput, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
2251
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBInput, isStandalone: true, selector: "db-input", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, invalidMessage: { classPropertyName: "invalidMessage", publicName: "invalidMessage", isSignal: true, isRequired: false, transformFunction: null }, dataListId: { classPropertyName: "dataListId", publicName: "dataListId", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, showMessage: { classPropertyName: "showMessage", publicName: "showMessage", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, validMessage: { classPropertyName: "validMessage", publicName: "validMessage", isSignal: true, isRequired: false, transformFunction: null }, validation: { classPropertyName: "validation", publicName: "validation", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, dataList: { classPropertyName: "dataList", publicName: "dataList", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, showLabel: { classPropertyName: "showLabel", publicName: "showLabel", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconAfter: { classPropertyName: "iconAfter", publicName: "iconAfter", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null }, minlength: { classPropertyName: "minlength", publicName: "minlength", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: true, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedBy: { classPropertyName: "ariaDescribedBy", publicName: "ariaDescribedBy", isSignal: true, isRequired: false, transformFunction: null }, messageIcon: { classPropertyName: "messageIcon", publicName: "messageIcon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", disabled: "disabledChange", input: "input", change: "change", blur: "blur", focus: "focus" }, providers: [{
2471
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBInput, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
2472
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBInput, isStandalone: true, selector: "db-input", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, invalidMessage: { classPropertyName: "invalidMessage", publicName: "invalidMessage", isSignal: true, isRequired: false, transformFunction: null }, dataListId: { classPropertyName: "dataListId", publicName: "dataListId", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, showMessage: { classPropertyName: "showMessage", publicName: "showMessage", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, validMessage: { classPropertyName: "validMessage", publicName: "validMessage", isSignal: true, isRequired: false, transformFunction: null }, validation: { classPropertyName: "validation", publicName: "validation", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, dataList: { classPropertyName: "dataList", publicName: "dataList", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, showLabel: { classPropertyName: "showLabel", publicName: "showLabel", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconAfter: { classPropertyName: "iconAfter", publicName: "iconAfter", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null }, minlength: { classPropertyName: "minlength", publicName: "minlength", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: true, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedBy: { classPropertyName: "ariaDescribedBy", publicName: "ariaDescribedBy", isSignal: true, isRequired: false, transformFunction: null }, messageIcon: { classPropertyName: "messageIcon", publicName: "messageIcon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", disabled: "disabledChange", input: "input", change: "change", blur: "blur", focus: "focus" }, providers: [{
2252
2473
  provide: NG_VALUE_ACCESSOR,
2253
2474
  useExisting: DBInput,
2254
2475
  multi: true
@@ -2318,7 +2539,7 @@ class DBInput {
2318
2539
  </div>
2319
2540
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DBInfotext, selector: "db-infotext", inputs: ["id", "className", "icon", "semantic", "size", "showIcon", "text"] }] }); }
2320
2541
  }
2321
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBInput, decorators: [{
2542
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBInput, decorators: [{
2322
2543
  type: Component,
2323
2544
  args: [{ providers: [{
2324
2545
  provide: NG_VALUE_ACCESSOR,
@@ -2394,8 +2615,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
2394
2615
  const defaultProps$n = {};
2395
2616
  class DBLink {
2396
2617
  handleClick(event) {
2397
- event.stopPropagation();
2398
2618
  if (this.click) {
2619
+ event.stopPropagation();
2399
2620
  this.click.emit(event);
2400
2621
  }
2401
2622
  }
@@ -2458,8 +2679,8 @@ class DBLink {
2458
2679
  const element = this._ref()?.nativeElement;
2459
2680
  this.enableAttributePassing(element, "db-link");
2460
2681
  }
2461
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBLink, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2462
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBLink, isStandalone: true, selector: "db-link", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, rel: { classPropertyName: "rel", publicName: "rel", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, hreflang: { classPropertyName: "hreflang", publicName: "hreflang", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, current: { classPropertyName: "current", publicName: "current", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
2682
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBLink, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2683
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBLink, isStandalone: true, selector: "db-link", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, rel: { classPropertyName: "rel", publicName: "rel", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, hreflang: { classPropertyName: "hreflang", publicName: "hreflang", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, current: { classPropertyName: "current", publicName: "current", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
2463
2684
  <a
2464
2685
  #_ref
2465
2686
  [attr.id]="id()"
@@ -2486,7 +2707,7 @@ class DBLink {
2486
2707
  </a>
2487
2708
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
2488
2709
  }
2489
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBLink, decorators: [{
2710
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBLink, decorators: [{
2490
2711
  type: Component,
2491
2712
  args: [{ selector: "db-link", standalone: true, imports: [CommonModule], template: `
2492
2713
  <a
@@ -2592,8 +2813,8 @@ class DBPage {
2592
2813
  document.documentElement.classList.remove("db-page-document");
2593
2814
  }
2594
2815
  }
2595
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBPage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2596
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.10", type: DBPage, isStandalone: true, selector: "db-page", inputs: { fadeIn: { classPropertyName: "fadeIn", publicName: "fadeIn", isSignal: true, isRequired: false, transformFunction: null }, documentOverflow: { classPropertyName: "documentOverflow", publicName: "documentOverflow", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, mainClass: { classPropertyName: "mainClass", publicName: "mainClass", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
2816
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBPage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2817
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.12", type: DBPage, isStandalone: true, selector: "db-page", inputs: { fadeIn: { classPropertyName: "fadeIn", publicName: "fadeIn", isSignal: true, isRequired: false, transformFunction: null }, documentOverflow: { classPropertyName: "documentOverflow", publicName: "documentOverflow", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, mainClass: { classPropertyName: "mainClass", publicName: "mainClass", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
2597
2818
  <div
2598
2819
  #_ref
2599
2820
  [attr.id]="id()"
@@ -2610,7 +2831,7 @@ class DBPage {
2610
2831
  </div>
2611
2832
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
2612
2833
  }
2613
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBPage, decorators: [{
2834
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBPage, decorators: [{
2614
2835
  type: Component,
2615
2836
  args: [{ selector: "db-page", standalone: true, imports: [CommonModule], template: `
2616
2837
  <div
@@ -2665,6 +2886,7 @@ class DBRadio {
2665
2886
  this.name = input();
2666
2887
  this.disabled = model();
2667
2888
  this.describedbyid = input();
2889
+ this.ariaDescribedBy = input();
2668
2890
  this.value = model();
2669
2891
  this.required = input();
2670
2892
  this.label = input();
@@ -2746,8 +2968,8 @@ class DBRadio {
2746
2968
  const element = this._ref()?.nativeElement;
2747
2969
  this.enableAttributePassing(element, "db-radio");
2748
2970
  }
2749
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBRadio, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
2750
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBRadio, isStandalone: true, selector: "db-radio", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, showLabel: { classPropertyName: "showLabel", publicName: "showLabel", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, validation: { classPropertyName: "validation", publicName: "validation", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, describedbyid: { classPropertyName: "describedbyid", publicName: "describedbyid", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { disabled: "disabledChange", value: "valueChange", change: "change", blur: "blur", focus: "focus" }, providers: [{
2971
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBRadio, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
2972
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBRadio, isStandalone: true, selector: "db-radio", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, showLabel: { classPropertyName: "showLabel", publicName: "showLabel", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, validation: { classPropertyName: "validation", publicName: "validation", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, describedbyid: { classPropertyName: "describedbyid", publicName: "describedbyid", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedBy: { classPropertyName: "ariaDescribedBy", publicName: "ariaDescribedBy", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { disabled: "disabledChange", value: "valueChange", change: "change", blur: "blur", focus: "focus" }, providers: [{
2751
2973
  provide: NG_VALUE_ACCESSOR,
2752
2974
  useExisting: DBRadio,
2753
2975
  multi: true
@@ -2767,7 +2989,7 @@ class DBRadio {
2767
2989
  [attr.name]="name()"
2768
2990
  [checked]="getBoolean(checked(), 'checked')"
2769
2991
  [disabled]="getBoolean(disabled(), 'disabled')"
2770
- [attr.aria-describedby]="describedbyid()"
2992
+ [attr.aria-describedby]="describedbyid() ?? ariaDescribedBy()"
2771
2993
  [attr.value]="value()"
2772
2994
  [required]="getBoolean(required(), 'required')"
2773
2995
  (change)="handleChange($event)"
@@ -2780,7 +3002,7 @@ class DBRadio {
2780
3002
  </label>
2781
3003
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
2782
3004
  }
2783
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBRadio, decorators: [{
3005
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBRadio, decorators: [{
2784
3006
  type: Component,
2785
3007
  args: [{ providers: [{
2786
3008
  provide: NG_VALUE_ACCESSOR,
@@ -2802,7 +3024,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
2802
3024
  [attr.name]="name()"
2803
3025
  [checked]="getBoolean(checked(), 'checked')"
2804
3026
  [disabled]="getBoolean(disabled(), 'disabled')"
2805
- [attr.aria-describedby]="describedbyid()"
3027
+ [attr.aria-describedby]="describedbyid() ?? ariaDescribedBy()"
2806
3028
  [attr.value]="value()"
2807
3029
  [required]="getBoolean(required(), 'required')"
2808
3030
  (change)="handleChange($event)"
@@ -2866,8 +3088,8 @@ class DBSection {
2866
3088
  const element = this._ref()?.nativeElement;
2867
3089
  this.enableAttributePassing(element, "db-section");
2868
3090
  }
2869
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBSection, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2870
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.10", type: DBSection, isStandalone: true, selector: "db-section", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, spacing: { classPropertyName: "spacing", publicName: "spacing", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
3091
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBSection, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3092
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.12", type: DBSection, isStandalone: true, selector: "db-section", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, spacing: { classPropertyName: "spacing", publicName: "spacing", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
2871
3093
  <section
2872
3094
  #_ref
2873
3095
  [attr.id]="_id()"
@@ -2879,7 +3101,7 @@ class DBSection {
2879
3101
  </section>
2880
3102
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
2881
3103
  }
2882
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBSection, decorators: [{
3104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBSection, decorators: [{
2883
3105
  type: Component,
2884
3106
  args: [{ selector: "db-section", standalone: true, imports: [CommonModule], template: `
2885
3107
  <section
@@ -2929,8 +3151,8 @@ class DBSelect {
2929
3151
  }
2930
3152
  }
2931
3153
  handleClick(event) {
2932
- event.stopPropagation();
2933
3154
  if (this.click) {
3155
+ event.stopPropagation();
2934
3156
  this.click.emit(event);
2935
3157
  }
2936
3158
  }
@@ -2996,6 +3218,7 @@ class DBSelect {
2996
3218
  this.size = input();
2997
3219
  this.autocomplete = input();
2998
3220
  this.multiple = input();
3221
+ this.ariaDescribedBy = input();
2999
3222
  this.options = input();
3000
3223
  this.placeholder = input();
3001
3224
  this.messageIcon = input();
@@ -3120,8 +3343,8 @@ class DBSelect {
3120
3343
  const element = this._ref()?.nativeElement;
3121
3344
  this.enableAttributePassing(element, "db-select");
3122
3345
  }
3123
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBSelect, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
3124
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBSelect, isStandalone: true, selector: "db-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, invalidMessage: { classPropertyName: "invalidMessage", publicName: "invalidMessage", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, showMessage: { classPropertyName: "showMessage", publicName: "showMessage", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, validMessage: { classPropertyName: "validMessage", publicName: "validMessage", isSignal: true, isRequired: false, transformFunction: null }, validation: { classPropertyName: "validation", publicName: "validation", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, showLabel: { classPropertyName: "showLabel", publicName: "showLabel", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, messageIcon: { classPropertyName: "messageIcon", publicName: "messageIcon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", disabled: "disabledChange", click: "click", input: "input", change: "change", blur: "blur", focus: "focus" }, providers: [{
3346
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBSelect, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
3347
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBSelect, isStandalone: true, selector: "db-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, invalidMessage: { classPropertyName: "invalidMessage", publicName: "invalidMessage", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, showMessage: { classPropertyName: "showMessage", publicName: "showMessage", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, validMessage: { classPropertyName: "validMessage", publicName: "validMessage", isSignal: true, isRequired: false, transformFunction: null }, validation: { classPropertyName: "validation", publicName: "validation", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, showLabel: { classPropertyName: "showLabel", publicName: "showLabel", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedBy: { classPropertyName: "ariaDescribedBy", publicName: "ariaDescribedBy", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, messageIcon: { classPropertyName: "messageIcon", publicName: "messageIcon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", disabled: "disabledChange", click: "click", input: "input", change: "change", blur: "blur", focus: "focus" }, providers: [{
3125
3348
  provide: NG_VALUE_ACCESSOR,
3126
3349
  useExisting: DBSelect,
3127
3350
  multi: true
@@ -3151,7 +3374,7 @@ class DBSelect {
3151
3374
  (change)="handleChange($event)"
3152
3375
  (blur)="handleBlur($event)"
3153
3376
  (focus)="handleFocus($event)"
3154
- [attr.aria-describedby]="_descByIds()"
3377
+ [attr.aria-describedby]="ariaDescribedBy() ?? _descByIds()"
3155
3378
  >
3156
3379
  <option [attr.hidden]="true"></option>
3157
3380
  @if(options()){ @for (option of options();track i;let i = $index) {
@@ -3202,7 +3425,7 @@ class DBSelect {
3202
3425
  </div>
3203
3426
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DBInfotext, selector: "db-infotext", inputs: ["id", "className", "icon", "semantic", "size", "showIcon", "text"] }] }); }
3204
3427
  }
3205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBSelect, decorators: [{
3428
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBSelect, decorators: [{
3206
3429
  type: Component,
3207
3430
  args: [{ providers: [{
3208
3431
  provide: NG_VALUE_ACCESSOR,
@@ -3234,7 +3457,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
3234
3457
  (change)="handleChange($event)"
3235
3458
  (blur)="handleBlur($event)"
3236
3459
  (focus)="handleFocus($event)"
3237
- [attr.aria-describedby]="_descByIds()"
3460
+ [attr.aria-describedby]="ariaDescribedBy() ?? _descByIds()"
3238
3461
  >
3239
3462
  <option [attr.hidden]="true"></option>
3240
3463
  @if(options()){ @for (option of options();track i;let i = $index) {
@@ -3325,6 +3548,7 @@ class DBSwitch {
3325
3548
  this.value = input();
3326
3549
  this.disabled = model();
3327
3550
  this.describedbyid = input();
3551
+ this.ariaDescribedBy = input();
3328
3552
  this.validation = input();
3329
3553
  this.name = input();
3330
3554
  this.required = input();
@@ -3402,8 +3626,8 @@ class DBSwitch {
3402
3626
  const element = this._ref()?.nativeElement;
3403
3627
  this.enableAttributePassing(element, "db-switch");
3404
3628
  }
3405
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBSwitch, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
3406
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBSwitch, isStandalone: true, selector: "db-switch", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, visualAid: { classPropertyName: "visualAid", publicName: "visualAid", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, showLabel: { classPropertyName: "showLabel", publicName: "showLabel", isSignal: true, isRequired: false, transformFunction: null }, emphasis: { classPropertyName: "emphasis", publicName: "emphasis", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, describedbyid: { classPropertyName: "describedbyid", publicName: "describedbyid", isSignal: true, isRequired: false, transformFunction: null }, validation: { classPropertyName: "validation", publicName: "validation", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconAfter: { classPropertyName: "iconAfter", publicName: "iconAfter", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", disabled: "disabledChange", change: "change", blur: "blur", focus: "focus" }, providers: [{
3629
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBSwitch, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
3630
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBSwitch, isStandalone: true, selector: "db-switch", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, visualAid: { classPropertyName: "visualAid", publicName: "visualAid", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, showLabel: { classPropertyName: "showLabel", publicName: "showLabel", isSignal: true, isRequired: false, transformFunction: null }, emphasis: { classPropertyName: "emphasis", publicName: "emphasis", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, describedbyid: { classPropertyName: "describedbyid", publicName: "describedbyid", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedBy: { classPropertyName: "ariaDescribedBy", publicName: "ariaDescribedBy", isSignal: true, isRequired: false, transformFunction: null }, validation: { classPropertyName: "validation", publicName: "validation", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconAfter: { classPropertyName: "iconAfter", publicName: "iconAfter", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", disabled: "disabledChange", change: "change", blur: "blur", focus: "focus" }, providers: [{
3407
3631
  provide: NG_VALUE_ACCESSOR,
3408
3632
  useExisting: DBSwitch,
3409
3633
  multi: true
@@ -3425,7 +3649,7 @@ class DBSwitch {
3425
3649
  [checked]="getBoolean(checked(), 'checked')"
3426
3650
  [attr.value]="value()"
3427
3651
  [disabled]="getBoolean(disabled(), 'disabled')"
3428
- [attr.aria-describedby]="describedbyid()"
3652
+ [attr.aria-describedby]="describedbyid() ?? ariaDescribedBy()"
3429
3653
  [attr.aria-invalid]="validation() === 'invalid'"
3430
3654
  [attr.data-custom-validity]="validation()"
3431
3655
  [attr.name]="name()"
@@ -3442,7 +3666,7 @@ class DBSwitch {
3442
3666
  </label>
3443
3667
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
3444
3668
  }
3445
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBSwitch, decorators: [{
3669
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBSwitch, decorators: [{
3446
3670
  type: Component,
3447
3671
  args: [{ providers: [{
3448
3672
  provide: NG_VALUE_ACCESSOR,
@@ -3466,7 +3690,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
3466
3690
  [checked]="getBoolean(checked(), 'checked')"
3467
3691
  [attr.value]="value()"
3468
3692
  [disabled]="getBoolean(disabled(), 'disabled')"
3469
- [attr.aria-describedby]="describedbyid()"
3693
+ [attr.aria-describedby]="describedbyid() ?? ariaDescribedBy()"
3470
3694
  [attr.aria-invalid]="validation() === 'invalid'"
3471
3695
  [attr.data-custom-validity]="validation()"
3472
3696
  [attr.name]="name()"
@@ -3608,8 +3832,8 @@ class DBTabItem {
3608
3832
  const element = this._ref()?.nativeElement;
3609
3833
  this.enableAttributePassing(element, "db-tab-item");
3610
3834
  }
3611
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBTabItem, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
3612
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBTabItem, isStandalone: true, selector: "db-tab-item", inputs: { active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconAfter: { classPropertyName: "iconAfter", publicName: "iconAfter", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, noText: { classPropertyName: "noText", publicName: "noText", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, controls: { classPropertyName: "controls", publicName: "controls", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { disabled: "disabledChange", checked: "checkedChange", change: "change" }, providers: [{
3835
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBTabItem, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
3836
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBTabItem, isStandalone: true, selector: "db-tab-item", inputs: { active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconAfter: { classPropertyName: "iconAfter", publicName: "iconAfter", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, noText: { classPropertyName: "noText", publicName: "noText", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, controls: { classPropertyName: "controls", publicName: "controls", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { disabled: "disabledChange", checked: "checkedChange", change: "change" }, providers: [{
3613
3837
  provide: NG_VALUE_ACCESSOR,
3614
3838
  useExisting: DBTabItem,
3615
3839
  multi: true
@@ -3641,7 +3865,7 @@ class DBTabItem {
3641
3865
  </li>
3642
3866
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
3643
3867
  }
3644
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBTabItem, decorators: [{
3868
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBTabItem, decorators: [{
3645
3869
  type: Component,
3646
3870
  args: [{ providers: [{
3647
3871
  provide: NG_VALUE_ACCESSOR,
@@ -3771,8 +3995,8 @@ class DBTag {
3771
3995
  const element = this._ref()?.nativeElement;
3772
3996
  this.enableAttributePassing(element, "db-tag");
3773
3997
  }
3774
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBTag, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3775
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBTag, isStandalone: true, selector: "db-tag", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, removeButton: { classPropertyName: "removeButton", publicName: "removeButton", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, semantic: { classPropertyName: "semantic", publicName: "semantic", isSignal: true, isRequired: false, transformFunction: null }, emphasis: { classPropertyName: "emphasis", publicName: "emphasis", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, showCheckState: { classPropertyName: "showCheckState", publicName: "showCheckState", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, noText: { classPropertyName: "noText", publicName: "noText", isSignal: true, isRequired: false, transformFunction: null }, overflow: { classPropertyName: "overflow", publicName: "overflow", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, behavior: { classPropertyName: "behavior", publicName: "behavior", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { remove: "remove" }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
3998
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBTag, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3999
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBTag, isStandalone: true, selector: "db-tag", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, removeButton: { classPropertyName: "removeButton", publicName: "removeButton", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, semantic: { classPropertyName: "semantic", publicName: "semantic", isSignal: true, isRequired: false, transformFunction: null }, emphasis: { classPropertyName: "emphasis", publicName: "emphasis", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, showCheckState: { classPropertyName: "showCheckState", publicName: "showCheckState", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, noText: { classPropertyName: "noText", publicName: "noText", isSignal: true, isRequired: false, transformFunction: null }, overflow: { classPropertyName: "overflow", publicName: "overflow", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, behavior: { classPropertyName: "behavior", publicName: "behavior", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { remove: "remove" }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
3776
4000
  <div
3777
4001
  #_ref
3778
4002
  [attr.id]="id()"
@@ -3804,7 +4028,7 @@ class DBTag {
3804
4028
  </div>
3805
4029
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
3806
4030
  }
3807
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBTag, decorators: [{
4031
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBTag, decorators: [{
3808
4032
  type: Component,
3809
4033
  args: [{ selector: "db-tag", standalone: true, imports: [CommonModule], template: `
3810
4034
  <div
@@ -3937,6 +4161,7 @@ class DBTextarea {
3937
4161
  this.wrap = input();
3938
4162
  this.spellCheck = input();
3939
4163
  this.autocomplete = input();
4164
+ this.ariaDescribedBy = input();
3940
4165
  this.placeholder = input();
3941
4166
  this.rows = input();
3942
4167
  this.cols = input();
@@ -4049,8 +4274,8 @@ class DBTextarea {
4049
4274
  const element = this._ref()?.nativeElement;
4050
4275
  this.enableAttributePassing(element, "db-textarea");
4051
4276
  }
4052
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBTextarea, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
4053
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBTextarea, isStandalone: true, selector: "db-textarea", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, invalidMessage: { classPropertyName: "invalidMessage", publicName: "invalidMessage", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, showMessage: { classPropertyName: "showMessage", publicName: "showMessage", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, validMessage: { classPropertyName: "validMessage", publicName: "validMessage", isSignal: true, isRequired: false, transformFunction: null }, validation: { classPropertyName: "validation", publicName: "validation", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, showLabel: { classPropertyName: "showLabel", publicName: "showLabel", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, resize: { classPropertyName: "resize", publicName: "resize", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null }, minlength: { classPropertyName: "minlength", publicName: "minlength", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, wrap: { classPropertyName: "wrap", publicName: "wrap", isSignal: true, isRequired: false, transformFunction: null }, spellCheck: { classPropertyName: "spellCheck", publicName: "spellCheck", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, cols: { classPropertyName: "cols", publicName: "cols", isSignal: true, isRequired: false, transformFunction: null }, messageIcon: { classPropertyName: "messageIcon", publicName: "messageIcon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", disabled: "disabledChange", input: "input", change: "change", blur: "blur", focus: "focus" }, providers: [{
4277
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBTextarea, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
4278
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBTextarea, isStandalone: true, selector: "db-textarea", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, invalidMessage: { classPropertyName: "invalidMessage", publicName: "invalidMessage", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, showMessage: { classPropertyName: "showMessage", publicName: "showMessage", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, validMessage: { classPropertyName: "validMessage", publicName: "validMessage", isSignal: true, isRequired: false, transformFunction: null }, validation: { classPropertyName: "validation", publicName: "validation", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, showLabel: { classPropertyName: "showLabel", publicName: "showLabel", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, resize: { classPropertyName: "resize", publicName: "resize", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null }, minlength: { classPropertyName: "minlength", publicName: "minlength", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, wrap: { classPropertyName: "wrap", publicName: "wrap", isSignal: true, isRequired: false, transformFunction: null }, spellCheck: { classPropertyName: "spellCheck", publicName: "spellCheck", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedBy: { classPropertyName: "ariaDescribedBy", publicName: "ariaDescribedBy", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, cols: { classPropertyName: "cols", publicName: "cols", isSignal: true, isRequired: false, transformFunction: null }, messageIcon: { classPropertyName: "messageIcon", publicName: "messageIcon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", disabled: "disabledChange", input: "input", change: "change", blur: "blur", focus: "focus" }, providers: [{
4054
4279
  provide: NG_VALUE_ACCESSOR,
4055
4280
  useExisting: DBTextarea,
4056
4281
  multi: true
@@ -4082,7 +4307,7 @@ class DBTextarea {
4082
4307
  (blur)="handleBlur($event)"
4083
4308
  (focus)="handleFocus($event)"
4084
4309
  [attr.value]="value() ?? _value()"
4085
- [attr.aria-describedby]="_descByIds()"
4310
+ [attr.aria-describedby]="ariaDescribedBy() ?? _descByIds()"
4086
4311
  [attr.placeholder]="placeholder() ?? DEFAULT_PLACEHOLDER"
4087
4312
  [attr.rows]="getNumber(rows(), DEFAULT_ROWS)"
4088
4313
  [attr.cols]="getNumber(cols())"
@@ -4105,7 +4330,7 @@ class DBTextarea {
4105
4330
  </div>
4106
4331
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DBInfotext, selector: "db-infotext", inputs: ["id", "className", "icon", "semantic", "size", "showIcon", "text"] }] }); }
4107
4332
  }
4108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBTextarea, decorators: [{
4333
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBTextarea, decorators: [{
4109
4334
  type: Component,
4110
4335
  args: [{ providers: [{
4111
4336
  provide: NG_VALUE_ACCESSOR,
@@ -4139,7 +4364,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
4139
4364
  (blur)="handleBlur($event)"
4140
4365
  (focus)="handleFocus($event)"
4141
4366
  [attr.value]="value() ?? _value()"
4142
- [attr.aria-describedby]="_descByIds()"
4367
+ [attr.aria-describedby]="ariaDescribedBy() ?? _descByIds()"
4143
4368
  [attr.placeholder]="placeholder() ?? DEFAULT_PLACEHOLDER"
4144
4369
  [attr.rows]="getNumber(rows(), DEFAULT_ROWS)"
4145
4370
  [attr.cols]="getNumber(cols())"
@@ -4165,10 +4390,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
4165
4390
 
4166
4391
  /* Angular cannot handle multiple slots with the same name, we need to use Directives for this. */
4167
4392
  class NavigationContentDirective {
4168
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NavigationContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4169
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.10", type: NavigationContentDirective, isStandalone: true, selector: "[dbNavigationContent]", ngImport: i0 }); }
4393
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: NavigationContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4394
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.12", type: NavigationContentDirective, isStandalone: true, selector: "[dbNavigationContent]", ngImport: i0 }); }
4170
4395
  }
4171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NavigationContentDirective, decorators: [{
4396
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: NavigationContentDirective, decorators: [{
4172
4397
  type: Directive,
4173
4398
  args: [{
4174
4399
  selector: '[dbNavigationContent]',
@@ -4187,8 +4412,8 @@ class DBNavigationItem {
4187
4412
  }
4188
4413
  }
4189
4414
  handleClick(event) {
4190
- event.stopPropagation();
4191
4415
  if (this.click) {
4416
+ event.stopPropagation();
4192
4417
  this.click.emit(event);
4193
4418
  }
4194
4419
  if (this.hasAreaPopup()) {
@@ -4298,8 +4523,8 @@ class DBNavigationItem {
4298
4523
  const element = this._ref()?.nativeElement;
4299
4524
  this.enableAttributePassing(element, "db-navigation-item");
4300
4525
  }
4301
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBNavigationItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4302
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBNavigationItem, isStandalone: true, selector: "db-navigation-item", inputs: { subNavigationExpanded: { classPropertyName: "subNavigationExpanded", publicName: "subNavigationExpanded", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, wrap: { classPropertyName: "wrap", publicName: "wrap", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, backButtonId: { classPropertyName: "backButtonId", publicName: "backButtonId", isSignal: true, isRequired: false, transformFunction: null }, backButtonText: { classPropertyName: "backButtonText", publicName: "backButtonText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, queries: [{ propertyName: "dbNavigationContent", first: true, predicate: NavigationContentDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
4526
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBNavigationItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4527
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBNavigationItem, isStandalone: true, selector: "db-navigation-item", inputs: { subNavigationExpanded: { classPropertyName: "subNavigationExpanded", publicName: "subNavigationExpanded", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, wrap: { classPropertyName: "wrap", publicName: "wrap", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, backButtonId: { classPropertyName: "backButtonId", publicName: "backButtonId", isSignal: true, isRequired: false, transformFunction: null }, backButtonText: { classPropertyName: "backButtonText", publicName: "backButtonText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, queries: [{ propertyName: "dbNavigationContent", first: true, predicate: NavigationContentDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
4303
4528
  <li
4304
4529
  #_ref
4305
4530
  [attr.id]="id()"
@@ -4352,7 +4577,7 @@ class DBNavigationItem {
4352
4577
  </li>
4353
4578
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DBButton, selector: "db-button", inputs: ["id", "className", "type", "disabled", "label", "icon", "showIcon", "size", "state", "width", "variant", "noText", "name", "form", "value", "describedbyid", "ariaexpanded", "ariapressed", "text"], outputs: ["click"] }] }); }
4354
4579
  }
4355
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBNavigationItem, decorators: [{
4580
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBNavigationItem, decorators: [{
4356
4581
  type: Component,
4357
4582
  args: [{ selector: "db-navigation-item", standalone: true, imports: [CommonModule, DBButton], template: `
4358
4583
  <li
@@ -4513,8 +4738,8 @@ class DBAccordionItem {
4513
4738
  const element = this._ref()?.nativeElement;
4514
4739
  this.enableAttributePassing(element, "db-accordion-item");
4515
4740
  }
4516
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBAccordionItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4517
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBAccordionItem, isStandalone: true, selector: "db-accordion-item", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, defaultOpen: { classPropertyName: "defaultOpen", publicName: "defaultOpen", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, headlinePlain: { classPropertyName: "headlinePlain", publicName: "headlinePlain", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { toggle: "toggle" }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
4741
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBAccordionItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4742
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBAccordionItem, isStandalone: true, selector: "db-accordion-item", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, defaultOpen: { classPropertyName: "defaultOpen", publicName: "defaultOpen", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, headlinePlain: { classPropertyName: "headlinePlain", publicName: "headlinePlain", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { toggle: "toggle" }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
4518
4743
  <li [attr.id]="_id()" [class]="cls('db-accordion-item', className())">
4519
4744
  <details
4520
4745
  [attr.aria-disabled]="getBooleanAsString(disabled())"
@@ -4536,7 +4761,7 @@ class DBAccordionItem {
4536
4761
  </li>
4537
4762
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
4538
4763
  }
4539
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBAccordionItem, decorators: [{
4764
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBAccordionItem, decorators: [{
4540
4765
  type: Component,
4541
4766
  args: [{ selector: "db-accordion-item", standalone: true, imports: [CommonModule], template: `
4542
4767
  <li [attr.id]="_id()" [class]="cls('db-accordion-item', className())">
@@ -4709,8 +4934,8 @@ class DBAccordion {
4709
4934
  const element = this._ref()?.nativeElement;
4710
4935
  this.enableAttributePassing(element, "db-accordion");
4711
4936
  }
4712
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBAccordion, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4713
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBAccordion, isStandalone: true, selector: "db-accordion", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, behavior: { classPropertyName: "behavior", publicName: "behavior", isSignal: true, isRequired: false, transformFunction: null }, initOpenIndex: { classPropertyName: "initOpenIndex", publicName: "initOpenIndex", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
4937
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBAccordion, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4938
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBAccordion, isStandalone: true, selector: "db-accordion", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, behavior: { classPropertyName: "behavior", publicName: "behavior", isSignal: true, isRequired: false, transformFunction: null }, initOpenIndex: { classPropertyName: "initOpenIndex", publicName: "initOpenIndex", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
4714
4939
  <ul
4715
4940
  #_ref
4716
4941
  [attr.id]="_id()"
@@ -4730,7 +4955,7 @@ class DBAccordion {
4730
4955
  </ul>
4731
4956
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DBAccordionItem, selector: "db-accordion-item", inputs: ["id", "defaultOpen", "name", "className", "disabled", "headlinePlain", "text"], outputs: ["toggle"] }] }); }
4732
4957
  }
4733
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBAccordion, decorators: [{
4958
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBAccordion, decorators: [{
4734
4959
  type: Component,
4735
4960
  args: [{ selector: "db-accordion", standalone: true, imports: [CommonModule, DBAccordionItem], template: `
4736
4961
  <ul
@@ -4802,8 +5027,8 @@ class DBNavigation {
4802
5027
  const element = this._ref()?.nativeElement;
4803
5028
  this.enableAttributePassing(element, "db-navigation");
4804
5029
  }
4805
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBNavigation, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4806
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.10", type: DBNavigation, isStandalone: true, selector: "db-navigation", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, labelledBy: { classPropertyName: "labelledBy", publicName: "labelledBy", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
5030
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBNavigation, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5031
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.12", type: DBNavigation, isStandalone: true, selector: "db-navigation", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, labelledBy: { classPropertyName: "labelledBy", publicName: "labelledBy", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
4807
5032
  <nav
4808
5033
  #_ref
4809
5034
  [attr.id]="_id()"
@@ -4814,7 +5039,7 @@ class DBNavigation {
4814
5039
  </nav>
4815
5040
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
4816
5041
  }
4817
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBNavigation, decorators: [{
5042
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBNavigation, decorators: [{
4818
5043
  type: Component,
4819
5044
  args: [{ selector: "db-navigation", standalone: true, imports: [CommonModule], template: `
4820
5045
  <nav
@@ -4828,25 +5053,95 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
4828
5053
  `, styles: [":host{display:contents}\n"] }]
4829
5054
  }], ctorParameters: () => [] });
4830
5055
 
5056
+ class DocumentScrollListener {
5057
+ static { this.callbacks = {}; }
5058
+ static { this._instance = null; }
5059
+ static runCallbacks(event) {
5060
+ for (const callback of Object.values(DocumentScrollListener.callbacks)) {
5061
+ if (typeof callback === 'function') {
5062
+ callback(event);
5063
+ }
5064
+ }
5065
+ }
5066
+ constructor() {
5067
+ this.ticking = false;
5068
+ if (DocumentScrollListener._instance) {
5069
+ return DocumentScrollListener._instance;
5070
+ }
5071
+ DocumentScrollListener._instance = this;
5072
+ if (self.document) {
5073
+ self.document.addEventListener('scroll', event => {
5074
+ if (!this.ticking) {
5075
+ window.requestAnimationFrame(() => {
5076
+ DocumentScrollListener.runCallbacks(event);
5077
+ this.ticking = false;
5078
+ });
5079
+ this.ticking = true;
5080
+ }
5081
+ }, true);
5082
+ }
5083
+ }
5084
+ addCallback(callback) {
5085
+ const callbackID = uuid();
5086
+ DocumentScrollListener.callbacks[callbackID] = callback;
5087
+ return callbackID;
5088
+ }
5089
+ removeCallback(id) {
5090
+ delete DocumentScrollListener.callbacks[id];
5091
+ }
5092
+ }
5093
+
4831
5094
  const defaultProps$a = {};
4832
5095
  class DBPopover {
5096
+ handleEscape(event) {
5097
+ if (!event || event.key === "Escape") {
5098
+ // TODO: Recursive for any child
5099
+ for (const child of Array.from(this._ref()?.nativeElement.children)) {
5100
+ child.blur();
5101
+ }
5102
+ }
5103
+ }
4833
5104
  handleAutoPlacement() {
4834
- this.isExpanded.set(true);
4835
5105
  if (!this._ref()?.nativeElement)
4836
5106
  return;
4837
5107
  const article = this._ref()?.nativeElement.querySelector("article");
4838
- if (!article)
4839
- return;
4840
- handleDataOutside(article);
5108
+ if (article) {
5109
+ // This is a workaround for angular
5110
+ delay(() => {
5111
+ handleFixedPopover(article, this._ref()?.nativeElement, this.placement() ?? "bottom");
5112
+ }, 1);
5113
+ }
5114
+ }
5115
+ handleDocumentScroll(event) {
5116
+ if (event?.target?.contains &&
5117
+ event?.target?.contains(this._ref()?.nativeElement)) {
5118
+ this.handleAutoPlacement();
5119
+ }
5120
+ }
5121
+ handleEnter() {
5122
+ this.isExpanded.set(true);
5123
+ this._documentScrollListenerCallbackId.set(new DocumentScrollListener().addCallback((event) => this.handleDocumentScroll(event)));
5124
+ this.handleAutoPlacement();
5125
+ const child = this.getTrigger();
5126
+ if (child) {
5127
+ this._observer()?.observe(child);
5128
+ }
4841
5129
  }
4842
5130
  handleLeave(event) {
4843
- const element = event.target;
4844
- const parent = element.parentNode;
5131
+ const element = event?.target;
5132
+ const parent = element?.parentNode;
4845
5133
  if (!parent ||
4846
5134
  (element.parentNode.querySelector(":focus") !== element &&
4847
5135
  element.parentNode.querySelector(":focus-within") !== element &&
4848
5136
  element.parentNode.querySelector(":hover") !== element)) {
4849
5137
  this.isExpanded.set(false);
5138
+ if (this._documentScrollListenerCallbackId()) {
5139
+ new DocumentScrollListener().removeCallback(this._documentScrollListenerCallbackId());
5140
+ }
5141
+ const child = this.getTrigger();
5142
+ if (child) {
5143
+ this._observer()?.unobserve(child);
5144
+ }
4850
5145
  }
4851
5146
  }
4852
5147
  getTrigger() {
@@ -4870,6 +5165,7 @@ class DBPopover {
4870
5165
  constructor() {
4871
5166
  this.cls = cls;
4872
5167
  this.getBooleanAsString = getBooleanAsString;
5168
+ this.placement = input();
4873
5169
  this.id = input();
4874
5170
  this.className = input();
4875
5171
  this.spacing = input();
@@ -4878,21 +5174,36 @@ class DBPopover {
4878
5174
  this.open = input();
4879
5175
  this.delay = input();
4880
5176
  this.width = input();
4881
- this.placement = input();
4882
5177
  this._ref = viewChild("_ref");
4883
5178
  this.initialized = signal(false);
4884
5179
  this.isExpanded = signal(false);
5180
+ this._documentScrollListenerCallbackId = signal(undefined);
5181
+ this._observer = signal(undefined);
4885
5182
  effect(() => {
4886
5183
  // --- Mitosis: Workaround to make sure the effect() is triggered ---
4887
5184
  this._ref();
4888
5185
  this.initialized();
4889
5186
  // ---
4890
5187
  if (this._ref()?.nativeElement && this.initialized()) {
5188
+ this.initialized.set(false);
4891
5189
  const child = this.getTrigger();
4892
5190
  if (child) {
4893
5191
  child.ariaHasPopup = "true";
4894
5192
  }
4895
- this.initialized.set(false);
5193
+ this.handleAutoPlacement();
5194
+ this._ref()?.nativeElement.addEventListener("keydown", (event) => this.handleEscape(event));
5195
+ ["mouseenter", "focusin"].forEach((event) => {
5196
+ this._ref()?.nativeElement.addEventListener(event, () => this.handleEnter());
5197
+ });
5198
+ ["mouseleave", "focusout"].forEach((event) => {
5199
+ this._ref()?.nativeElement.addEventListener(event, () => this.handleLeave());
5200
+ });
5201
+ this._observer.set(new IntersectionObserver((payload) => {
5202
+ const entry = payload.find(({ target }) => target === this.getTrigger());
5203
+ if (entry && !entry.isIntersecting) {
5204
+ this.handleEscape(false);
5205
+ }
5206
+ }));
4896
5207
  }
4897
5208
  }, {
4898
5209
  // Enable writing to signals inside effects
@@ -4951,17 +5262,9 @@ class DBPopover {
4951
5262
  const element = this._ref()?.nativeElement;
4952
5263
  this.enableAttributePassing(element, "db-popover");
4953
5264
  }
4954
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBPopover, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4955
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.10", type: DBPopover, isStandalone: true, selector: "db-popover", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, spacing: { classPropertyName: "spacing", publicName: "spacing", isSignal: true, isRequired: false, transformFunction: null }, gap: { classPropertyName: "gap", publicName: "gap", isSignal: true, isRequired: false, transformFunction: null }, animation: { classPropertyName: "animation", publicName: "animation", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, delay: { classPropertyName: "delay", publicName: "delay", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
4956
- <div
4957
- #_ref
4958
- [attr.id]="id()"
4959
- [class]="cls('db-popover', className())"
4960
- (focus)="handleAutoPlacement()"
4961
- (blur)="handleLeave($event)"
4962
- (mouseenter)="handleAutoPlacement()"
4963
- (mouseleave)="handleLeave($event)"
4964
- >
5265
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBPopover, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5266
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.12", type: DBPopover, isStandalone: true, selector: "db-popover", inputs: { placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, spacing: { classPropertyName: "spacing", publicName: "spacing", isSignal: true, isRequired: false, transformFunction: null }, gap: { classPropertyName: "gap", publicName: "gap", isSignal: true, isRequired: false, transformFunction: null }, animation: { classPropertyName: "animation", publicName: "animation", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, delay: { classPropertyName: "delay", publicName: "delay", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
5267
+ <div #_ref [attr.id]="id()" [class]="cls('db-popover', className())">
4965
5268
  <ng-content select="[trigger]"></ng-content>
4966
5269
  <article
4967
5270
  class="db-popover-content"
@@ -4978,18 +5281,10 @@ class DBPopover {
4978
5281
  </div>
4979
5282
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
4980
5283
  }
4981
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBPopover, decorators: [{
5284
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBPopover, decorators: [{
4982
5285
  type: Component,
4983
5286
  args: [{ selector: "db-popover", standalone: true, imports: [CommonModule], template: `
4984
- <div
4985
- #_ref
4986
- [attr.id]="id()"
4987
- [class]="cls('db-popover', className())"
4988
- (focus)="handleAutoPlacement()"
4989
- (blur)="handleLeave($event)"
4990
- (mouseenter)="handleAutoPlacement()"
4991
- (mouseleave)="handleLeave($event)"
4992
- >
5287
+ <div #_ref [attr.id]="id()" [class]="cls('db-popover', className())">
4993
5288
  <ng-content select="[trigger]"></ng-content>
4994
5289
  <article
4995
5290
  class="db-popover-content"
@@ -5012,42 +5307,88 @@ class DBTooltip {
5012
5307
  handleClick(event) {
5013
5308
  event.stopPropagation();
5014
5309
  }
5015
- handleAutoPlacement() {
5016
- if (this._ref()?.nativeElement)
5017
- handleDataOutside(this._ref()?.nativeElement);
5310
+ handleEscape(event) {
5311
+ if ((!event || event.key === "Escape") &&
5312
+ this._ref()?.nativeElement &&
5313
+ getComputedStyle(this._ref()?.nativeElement).visibility === "visible") {
5314
+ this.getParent().blur();
5315
+ }
5316
+ }
5317
+ getParent() {
5318
+ let parent = this._ref()?.nativeElement.parentElement;
5319
+ if (parent && parent.localName.includes("tooltip")) {
5320
+ // Angular workaround
5321
+ parent = parent.parentElement;
5322
+ }
5323
+ return parent;
5324
+ }
5325
+ handleAutoPlacement(parent) {
5326
+ if (!parent)
5327
+ return;
5328
+ if (this._ref()?.nativeElement) {
5329
+ // This is a workaround for angular
5330
+ delay(() => {
5331
+ handleFixedPopover(this._ref()?.nativeElement, parent, this.placement() ?? "bottom");
5332
+ }, 1);
5333
+ }
5334
+ }
5335
+ handleDocumentScroll(event, parent) {
5336
+ if (event?.target?.contains &&
5337
+ event?.target?.contains(this._ref()?.nativeElement)) {
5338
+ this.handleAutoPlacement(parent);
5339
+ }
5340
+ }
5341
+ handleLeave() {
5342
+ if (this._documentScrollListenerCallbackId()) {
5343
+ new DocumentScrollListener().removeCallback(this._documentScrollListenerCallbackId());
5344
+ }
5345
+ this._observer()?.unobserve(this.getParent());
5346
+ }
5347
+ handleEnter(parent) {
5348
+ this._documentScrollListenerCallbackId.set(new DocumentScrollListener().addCallback((event) => this.handleDocumentScroll(event, parent)));
5349
+ this.handleAutoPlacement(parent);
5350
+ this._observer()?.observe(this.getParent());
5018
5351
  }
5019
5352
  constructor() {
5020
5353
  this.cls = cls;
5021
5354
  this.getBooleanAsString = getBooleanAsString;
5022
5355
  this.id = input();
5356
+ this.placement = input();
5023
5357
  this.className = input();
5024
5358
  this.emphasis = input();
5025
5359
  this.animation = input();
5026
5360
  this.delay = input();
5027
5361
  this.width = input();
5028
5362
  this.showArrow = input();
5029
- this.placement = input();
5030
5363
  this._ref = viewChild("_ref");
5031
5364
  this._id = signal(DEFAULT_ID);
5032
5365
  this.initialized = signal(false);
5366
+ this._documentScrollListenerCallbackId = signal(undefined);
5367
+ this._observer = signal(undefined);
5033
5368
  effect(() => {
5034
5369
  // --- Mitosis: Workaround to make sure the effect() is triggered ---
5035
5370
  this._ref();
5036
5371
  this.initialized();
5037
5372
  // ---
5038
5373
  if (this._ref()?.nativeElement && this.initialized() && this._id()) {
5039
- let parent = this._ref()?.nativeElement.parentElement;
5040
- if (parent && parent.localName.includes("tooltip")) {
5041
- // Angular workaround
5042
- parent = parent.parentElement;
5043
- }
5374
+ const parent = this.getParent();
5044
5375
  if (parent) {
5045
- ["mouseenter", "focus"].forEach((event) => {
5046
- parent.addEventListener(event, () => this.handleAutoPlacement());
5376
+ ["mouseenter", "focusin"].forEach((event) => {
5377
+ parent.addEventListener(event, () => this.handleEnter(parent));
5378
+ });
5379
+ parent.addEventListener("keydown", (event) => this.handleEscape(event));
5380
+ ["mouseleave", "focusout"].forEach((event) => {
5381
+ parent.addEventListener(event, () => this.handleLeave());
5047
5382
  });
5048
5383
  parent.setAttribute("data-has-tooltip", "true");
5049
5384
  parent.setAttribute("aria-describedby", this._id());
5050
5385
  }
5386
+ this._observer.set(new IntersectionObserver((payload) => {
5387
+ const entry = payload.find(({ target }) => target === this.getParent());
5388
+ if (entry && !entry.isIntersecting) {
5389
+ this.handleEscape(false);
5390
+ }
5391
+ }));
5051
5392
  this.initialized.set(false);
5052
5393
  }
5053
5394
  }, {
@@ -5094,8 +5435,8 @@ class DBTooltip {
5094
5435
  const element = this._ref()?.nativeElement;
5095
5436
  this.enableAttributePassing(element, "db-tooltip");
5096
5437
  }
5097
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBTooltip, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5098
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.10", type: DBTooltip, isStandalone: true, selector: "db-tooltip", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, emphasis: { classPropertyName: "emphasis", publicName: "emphasis", isSignal: true, isRequired: false, transformFunction: null }, animation: { classPropertyName: "animation", publicName: "animation", isSignal: true, isRequired: false, transformFunction: null }, delay: { classPropertyName: "delay", publicName: "delay", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, showArrow: { classPropertyName: "showArrow", publicName: "showArrow", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
5438
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBTooltip, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5439
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.12", type: DBTooltip, isStandalone: true, selector: "db-tooltip", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, emphasis: { classPropertyName: "emphasis", publicName: "emphasis", isSignal: true, isRequired: false, transformFunction: null }, animation: { classPropertyName: "animation", publicName: "animation", isSignal: true, isRequired: false, transformFunction: null }, delay: { classPropertyName: "delay", publicName: "delay", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, showArrow: { classPropertyName: "showArrow", publicName: "showArrow", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
5099
5440
  <i
5100
5441
  role="tooltip"
5101
5442
  aria-hidden="true"
@@ -5115,7 +5456,7 @@ class DBTooltip {
5115
5456
  </i>
5116
5457
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
5117
5458
  }
5118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBTooltip, decorators: [{
5459
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBTooltip, decorators: [{
5119
5460
  type: Component,
5120
5461
  args: [{ selector: "db-tooltip", standalone: true, imports: [CommonModule], template: `
5121
5462
  <i
@@ -5186,8 +5527,8 @@ class DBTabList {
5186
5527
  const element = this._ref()?.nativeElement;
5187
5528
  this.enableAttributePassing(element, "db-tab-list");
5188
5529
  }
5189
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBTabList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5190
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.10", type: DBTabList, isStandalone: true, selector: "db-tab-list", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
5530
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBTabList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5531
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.12", type: DBTabList, isStandalone: true, selector: "db-tab-list", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
5191
5532
  <div #_ref [attr.id]="_id()" [class]="cls('db-tab-list', className())">
5192
5533
  <ul role="tablist">
5193
5534
  <ng-content></ng-content>
@@ -5195,7 +5536,7 @@ class DBTabList {
5195
5536
  </div>
5196
5537
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
5197
5538
  }
5198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBTabList, decorators: [{
5539
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBTabList, decorators: [{
5199
5540
  type: Component,
5200
5541
  args: [{ selector: "db-tab-list", standalone: true, imports: [CommonModule], template: `
5201
5542
  <div #_ref [attr.id]="_id()" [class]="cls('db-tab-list', className())">
@@ -5253,8 +5594,8 @@ class DBTabPanel {
5253
5594
  const element = this._ref()?.nativeElement;
5254
5595
  this.enableAttributePassing(element, "db-tab-panel");
5255
5596
  }
5256
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBTabPanel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5257
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBTabPanel, isStandalone: true, selector: "db-tab-panel", inputs: { className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, labelledBy: { classPropertyName: "labelledBy", publicName: "labelledBy", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
5597
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBTabPanel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5598
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBTabPanel, isStandalone: true, selector: "db-tab-panel", inputs: { className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, labelledBy: { classPropertyName: "labelledBy", publicName: "labelledBy", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
5258
5599
  <section
5259
5600
  role="tabpanel"
5260
5601
  #_ref
@@ -5267,7 +5608,7 @@ class DBTabPanel {
5267
5608
  </section>
5268
5609
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
5269
5610
  }
5270
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBTabPanel, decorators: [{
5611
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBTabPanel, decorators: [{
5271
5612
  type: Component,
5272
5613
  args: [{ selector: "db-tab-panel", standalone: true, imports: [CommonModule], template: `
5273
5614
  <section
@@ -5483,8 +5824,8 @@ class DBTabs {
5483
5824
  const element = this._ref()?.nativeElement;
5484
5825
  this.enableAttributePassing(element, "db-tabs");
5485
5826
  }
5486
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBTabs, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5487
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBTabs, isStandalone: true, selector: "db-tabs", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: false, transformFunction: null }, arrowScrollDistance: { classPropertyName: "arrowScrollDistance", publicName: "arrowScrollDistance", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, behavior: { classPropertyName: "behavior", publicName: "behavior", isSignal: true, isRequired: false, transformFunction: null }, initialSelectedMode: { classPropertyName: "initialSelectedMode", publicName: "initialSelectedMode", isSignal: true, isRequired: false, transformFunction: null }, initialSelectedIndex: { classPropertyName: "initialSelectedIndex", publicName: "initialSelectedIndex", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, alignment: { classPropertyName: "alignment", publicName: "alignment", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { indexChange: "indexChange", tabSelect: "tabSelect" }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
5827
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBTabs, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5828
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBTabs, isStandalone: true, selector: "db-tabs", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: false, transformFunction: null }, arrowScrollDistance: { classPropertyName: "arrowScrollDistance", publicName: "arrowScrollDistance", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, behavior: { classPropertyName: "behavior", publicName: "behavior", isSignal: true, isRequired: false, transformFunction: null }, initialSelectedMode: { classPropertyName: "initialSelectedMode", publicName: "initialSelectedMode", isSignal: true, isRequired: false, transformFunction: null }, initialSelectedIndex: { classPropertyName: "initialSelectedIndex", publicName: "initialSelectedIndex", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, alignment: { classPropertyName: "alignment", publicName: "alignment", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { indexChange: "indexChange", tabSelect: "tabSelect" }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
5488
5829
  <div
5489
5830
  #_ref
5490
5831
  [attr.id]="_id()"
@@ -5537,7 +5878,7 @@ class DBTabs {
5537
5878
  </div>
5538
5879
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DBButton, selector: "db-button", inputs: ["id", "className", "type", "disabled", "label", "icon", "showIcon", "size", "state", "width", "variant", "noText", "name", "form", "value", "describedbyid", "ariaexpanded", "ariapressed", "text"], outputs: ["click"] }, { kind: "component", type: DBTabList, selector: "db-tab-list", inputs: ["id", "className"] }, { kind: "component", type: DBTabItem, selector: "db-tab-item", inputs: ["active", "name", "className", "id", "icon", "iconAfter", "showIcon", "noText", "disabled", "controls", "checked", "label"], outputs: ["disabledChange", "checkedChange", "change"] }, { kind: "component", type: DBTabPanel, selector: "db-tab-panel", inputs: ["className", "id", "labelledBy", "content"] }] }); }
5539
5880
  }
5540
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBTabs, decorators: [{
5881
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBTabs, decorators: [{
5541
5882
  type: Component,
5542
5883
  args: [{ selector: "db-tabs", standalone: true, imports: [CommonModule, DBButton, DBTabList, DBTabItem, DBTabPanel], template: `
5543
5884
  <div
@@ -5667,8 +6008,8 @@ class DBStack {
5667
6008
  const element = this._ref()?.nativeElement;
5668
6009
  this.enableAttributePassing(element, "db-stack");
5669
6010
  }
5670
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBStack, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5671
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.10", type: DBStack, isStandalone: true, selector: "db-stack", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, gap: { classPropertyName: "gap", publicName: "gap", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, alignment: { classPropertyName: "alignment", publicName: "alignment", isSignal: true, isRequired: false, transformFunction: null }, justifyContent: { classPropertyName: "justifyContent", publicName: "justifyContent", isSignal: true, isRequired: false, transformFunction: null }, wrap: { classPropertyName: "wrap", publicName: "wrap", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
6011
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBStack, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6012
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.12", type: DBStack, isStandalone: true, selector: "db-stack", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, gap: { classPropertyName: "gap", publicName: "gap", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, alignment: { classPropertyName: "alignment", publicName: "alignment", isSignal: true, isRequired: false, transformFunction: null }, justifyContent: { classPropertyName: "justifyContent", publicName: "justifyContent", isSignal: true, isRequired: false, transformFunction: null }, wrap: { classPropertyName: "wrap", publicName: "wrap", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
5672
6013
  <div
5673
6014
  #_ref
5674
6015
  [attr.id]="id()"
@@ -5684,7 +6025,7 @@ class DBStack {
5684
6025
  </div>
5685
6026
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
5686
6027
  }
5687
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBStack, decorators: [{
6028
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBStack, decorators: [{
5688
6029
  type: Component,
5689
6030
  args: [{ selector: "db-stack", standalone: true, imports: [CommonModule], template: `
5690
6031
  <div
@@ -5749,8 +6090,8 @@ class DBCustomSelectList {
5749
6090
  const element = this._ref()?.nativeElement;
5750
6091
  this.enableAttributePassing(element, "db-custom-select-list");
5751
6092
  }
5752
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBCustomSelectList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5753
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.10", type: DBCustomSelectList, isStandalone: true, selector: "db-custom-select-list", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
6093
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBCustomSelectList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6094
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.12", type: DBCustomSelectList, isStandalone: true, selector: "db-custom-select-list", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
5754
6095
  <div
5755
6096
  [attr.role]="multiple() ? 'group' : 'radiogroup'"
5756
6097
  [attr.aria-label]="label()"
@@ -5764,7 +6105,7 @@ class DBCustomSelectList {
5764
6105
  </div>
5765
6106
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
5766
6107
  }
5767
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBCustomSelectList, decorators: [{
6108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBCustomSelectList, decorators: [{
5768
6109
  type: Component,
5769
6110
  args: [{ selector: "db-custom-select-list", standalone: true, imports: [CommonModule], template: `
5770
6111
  <div
@@ -5883,8 +6224,8 @@ class DBCustomSelectListItem {
5883
6224
  const element = this._ref()?.nativeElement;
5884
6225
  this.enableAttributePassing(element, "db-custom-select-list-item");
5885
6226
  }
5886
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBCustomSelectListItem, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
5887
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBCustomSelectListItem, isStandalone: true, selector: "db-custom-select-list-item", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, isGroupTitle: { classPropertyName: "isGroupTitle", publicName: "isGroupTitle", isSignal: true, isRequired: false, transformFunction: null }, showDivider: { classPropertyName: "showDivider", publicName: "showDivider", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, groupTitle: { classPropertyName: "groupTitle", publicName: "groupTitle", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", disabled: "disabledChange", change: "change" }, providers: [{
6227
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBCustomSelectListItem, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
6228
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBCustomSelectListItem, isStandalone: true, selector: "db-custom-select-list-item", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, isGroupTitle: { classPropertyName: "isGroupTitle", publicName: "isGroupTitle", isSignal: true, isRequired: false, transformFunction: null }, showDivider: { classPropertyName: "showDivider", publicName: "showDivider", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, groupTitle: { classPropertyName: "groupTitle", publicName: "groupTitle", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", disabled: "disabledChange", change: "change" }, providers: [{
5888
6229
  provide: NG_VALUE_ACCESSOR,
5889
6230
  useExisting: DBCustomSelectListItem,
5890
6231
  multi: true
@@ -5925,7 +6266,7 @@ class DBCustomSelectListItem {
5925
6266
  </li>
5926
6267
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
5927
6268
  }
5928
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBCustomSelectListItem, decorators: [{
6269
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBCustomSelectListItem, decorators: [{
5929
6270
  type: Component,
5930
6271
  args: [{ providers: [{
5931
6272
  provide: NG_VALUE_ACCESSOR,
@@ -6014,8 +6355,8 @@ class DBCustomSelectDropdown {
6014
6355
  const element = this._ref()?.nativeElement;
6015
6356
  this.enableAttributePassing(element, "db-custom-select-dropdown");
6016
6357
  }
6017
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBCustomSelectDropdown, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6018
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.10", type: DBCustomSelectDropdown, isStandalone: true, selector: "db-custom-select-dropdown", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
6358
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBCustomSelectDropdown, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6359
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.12", type: DBCustomSelectDropdown, isStandalone: true, selector: "db-custom-select-dropdown", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
6019
6360
  <article
6020
6361
  data-spacing="none"
6021
6362
  #_ref
@@ -6027,7 +6368,7 @@ class DBCustomSelectDropdown {
6027
6368
  </article>
6028
6369
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
6029
6370
  }
6030
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBCustomSelectDropdown, decorators: [{
6371
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBCustomSelectDropdown, decorators: [{
6031
6372
  type: Component,
6032
6373
  args: [{ selector: "db-custom-select-dropdown", standalone: true, imports: [CommonModule], template: `
6033
6374
  <article
@@ -6046,19 +6387,19 @@ class DocumentClickListener {
6046
6387
  static { this.callbacks = {}; }
6047
6388
  static { this._instance = null; }
6048
6389
  static runCallbacks(event) {
6049
- Object.values(DocumentClickListener.callbacks).forEach(callback => {
6390
+ for (const callback of Object.values(DocumentClickListener.callbacks)) {
6050
6391
  if (typeof callback === 'function') {
6051
6392
  callback(event);
6052
6393
  }
6053
- });
6394
+ }
6054
6395
  }
6055
6396
  constructor() {
6056
6397
  if (DocumentClickListener._instance) {
6057
6398
  return DocumentClickListener._instance;
6058
6399
  }
6059
6400
  DocumentClickListener._instance = this;
6060
- if (document) {
6061
- document.addEventListener('click', event => DocumentClickListener.runCallbacks(event));
6401
+ if (self.document) {
6402
+ self.document.addEventListener('click', event => DocumentClickListener.runCallbacks(event));
6062
6403
  }
6063
6404
  }
6064
6405
  addCallback(callback) {
@@ -6076,6 +6417,12 @@ const defaultProps$1 = {
6076
6417
  showClearSelection: true,
6077
6418
  };
6078
6419
  class DBCustomSelect {
6420
+ handleDocumentScroll(event) {
6421
+ if (event?.target?.contains &&
6422
+ event?.target?.contains(this.detailsRef()?.nativeElement)) {
6423
+ this.handleAutoPlacement();
6424
+ }
6425
+ }
6079
6426
  hasValidState() {
6080
6427
  return !!(this.validMessage() ?? this.validation() === "valid");
6081
6428
  }
@@ -6117,15 +6464,27 @@ class DBCustomSelect {
6117
6464
  }
6118
6465
  handleDropdownToggle(event) {
6119
6466
  if (this.dropdownToggle) {
6467
+ event.stopPropagation();
6120
6468
  this.dropdownToggle.emit(event);
6121
6469
  }
6122
6470
  if (event.target.open) {
6123
6471
  this._documentClickListenerCallbackId.set(new DocumentClickListener().addCallback((event) => this.handleDocumentClose(event)));
6472
+ this._documentScrollListenerCallbackId.set(new DocumentScrollListener().addCallback((event) => this.handleDocumentScroll(event)));
6473
+ this.handleAutoPlacement();
6474
+ this._observer()?.observe(this.detailsRef()?.nativeElement);
6475
+ if (!event.target.dataset.test) {
6476
+ // We need this workaround for snapshot testing
6477
+ this.handleOpenByKeyboardFocus();
6478
+ }
6124
6479
  }
6125
6480
  else {
6126
6481
  if (this._documentClickListenerCallbackId()) {
6127
6482
  new DocumentClickListener().removeCallback(this._documentClickListenerCallbackId());
6128
6483
  }
6484
+ if (this._documentScrollListenerCallbackId()) {
6485
+ new DocumentScrollListener().removeCallback(this._documentScrollListenerCallbackId());
6486
+ }
6487
+ this._observer()?.unobserve(this.detailsRef()?.nativeElement);
6129
6488
  }
6130
6489
  }
6131
6490
  getNativeSelectValue() {
@@ -6160,11 +6519,14 @@ class DBCustomSelect {
6160
6519
  return (option.id ?? option.value ?? uuid()).toString();
6161
6520
  }
6162
6521
  getTagRemoveLabel(index) {
6163
- return this.removeTagsTexts() && this.removeTagsTexts().length > index
6164
- ? this.removeTagsTexts().at(index)
6165
- : `${DEFAULT_REMOVE} ${this._selectedOptions()
6522
+ if (this.removeTagsTexts() && this.removeTagsTexts().length > index) {
6523
+ return this.removeTagsTexts().at(index);
6524
+ }
6525
+ else {
6526
+ return `${DEFAULT_REMOVE} ${this._selectedOptions()
6166
6527
  ? this.getOptionLabel(this._selectedOptions()[index])
6167
6528
  : ""}`;
6529
+ }
6168
6530
  }
6169
6531
  handleTagRemove(option, event) {
6170
6532
  event.stopPropagation();
@@ -6175,16 +6537,17 @@ class DBCustomSelect {
6175
6537
  if (this.detailsRef()?.nativeElement) {
6176
6538
  const dropdown = this.detailsRef()?.nativeElement.querySelector("article");
6177
6539
  if (dropdown) {
6540
+ // This is a workaround for Angular
6178
6541
  delay(() => {
6179
- handleDataOutside(dropdown);
6180
- }, 100);
6542
+ handleFixedDropdown(dropdown, this.detailsRef()?.nativeElement, this.placement() ?? "bottom");
6543
+ }, 1);
6181
6544
  }
6182
6545
  }
6183
6546
  }
6184
6547
  handleArrowDownUp(event) {
6185
6548
  if (this.detailsRef()?.nativeElement?.open) {
6186
- if (document) {
6187
- const activeElement = document.activeElement;
6549
+ if (self.document) {
6550
+ const activeElement = self.document.activeElement;
6188
6551
  if (activeElement) {
6189
6552
  // 1. we check if we are currently focusing a checkbox in the dropdown
6190
6553
  const isCheckbox = activeElement.getAttribute("type") === "checkbox" ||
@@ -6244,8 +6607,6 @@ class DBCustomSelect {
6244
6607
  }
6245
6608
  }
6246
6609
  }
6247
- event.stopPropagation();
6248
- event.preventDefault();
6249
6610
  }
6250
6611
  else if (event.key === "ArrowDown" || event.key === "ArrowRight") {
6251
6612
  // Open dropdown with arrows see https://www.w3.org/WAI/ARIA/apg/patterns/combobox/#keyboardinteraction
@@ -6254,14 +6615,13 @@ class DBCustomSelect {
6254
6615
  this.detailsRef().nativeElement.open = true;
6255
6616
  }
6256
6617
  this.handleOpenByKeyboardFocus();
6257
- event.stopPropagation();
6258
- event.preventDefault();
6259
6618
  }
6619
+ event.stopPropagation();
6620
+ event.preventDefault();
6260
6621
  }
6261
6622
  handleKeyboardPress(event) {
6262
- if (event.key === "Escape" &&
6263
- this.detailsRef()?.nativeElement &&
6264
- this.detailsRef()?.nativeElement?.open) {
6623
+ event.stopPropagation();
6624
+ if (event.key === "Escape" && this.detailsRef()?.nativeElement?.open) {
6265
6625
  this.handleClose("close");
6266
6626
  this.handleSummaryFocus();
6267
6627
  }
@@ -6282,25 +6642,29 @@ class DBCustomSelect {
6282
6642
  event?.relatedTarget) {
6283
6643
  const relatedTarget = event.relatedTarget;
6284
6644
  if (!this.detailsRef()?.nativeElement.contains(relatedTarget)) {
6285
- this.detailsRef().nativeElement.open = false;
6645
+ // We need to use delay here because the combination of `contains`
6646
+ // and changing the DOM element causes a race condition inside browser
6647
+ delay(() => (this.detailsRef().nativeElement.open = false), 1);
6286
6648
  }
6287
6649
  }
6288
6650
  }
6289
6651
  }
6290
6652
  handleDocumentClose(event) {
6291
- // stencil is sending a custom event which wraps the pointer event into details
6292
- const target = event.target;
6293
- if (this.detailsRef()?.nativeElement?.open &&
6294
- !this.detailsRef()?.nativeElement.contains(target)) {
6295
- this.detailsRef().nativeElement.open = false;
6653
+ if (event) {
6654
+ // stencil is sending a custom event which wraps the pointer event into details
6655
+ const target = event.target;
6656
+ if (this.detailsRef()?.nativeElement?.open &&
6657
+ !this.detailsRef()?.nativeElement.contains(target)) {
6658
+ this.detailsRef().nativeElement.open = false;
6659
+ }
6296
6660
  }
6297
6661
  }
6298
6662
  handleOptionSelected(values) {
6299
6663
  const skip = new Date().getTime() - this._internalChangeTimestamp() < 200;
6300
6664
  if (skip)
6301
6665
  return;
6666
+ this._values.set(values);
6302
6667
  if (this.optionSelected) {
6303
- this._values.set(values);
6304
6668
  this.optionSelected.emit(values ?? []);
6305
6669
  }
6306
6670
  handleFrameworkEventAngular(this, {
@@ -6326,7 +6690,8 @@ class DBCustomSelect {
6326
6690
  }
6327
6691
  }
6328
6692
  }
6329
- handleSelectAll() {
6693
+ handleSelectAll(event) {
6694
+ event.stopPropagation();
6330
6695
  if (this._values()?.length === this.amountOptions()) {
6331
6696
  this.handleOptionSelected([]);
6332
6697
  }
@@ -6357,12 +6722,12 @@ class DBCustomSelect {
6357
6722
  delay(() => {
6358
6723
  // Takes some time until element can be focused
6359
6724
  checkbox.focus();
6360
- }, 100);
6725
+ }, 1);
6361
6726
  }
6362
6727
  }
6363
6728
  }
6364
6729
  }
6365
- handleOpenByKeyboardFocus(onlySearch) {
6730
+ handleOpenByKeyboardFocus() {
6366
6731
  if (this.detailsRef()?.nativeElement) {
6367
6732
  // Focus search if possible
6368
6733
  const search = getSearchInput(this.detailsRef()?.nativeElement);
@@ -6370,9 +6735,9 @@ class DBCustomSelect {
6370
6735
  delay(() => {
6371
6736
  // Takes some time until element can be focused
6372
6737
  search.focus();
6373
- }, 100);
6738
+ }, 1);
6374
6739
  }
6375
- else if (!onlySearch) {
6740
+ else {
6376
6741
  // Focus first checkbox otherwise
6377
6742
  this.handleFocusFirstDropdownCheckbox();
6378
6743
  }
@@ -6381,22 +6746,31 @@ class DBCustomSelect {
6381
6746
  handleSearch(event) {
6382
6747
  event.stopPropagation();
6383
6748
  const filterText = event.target.value;
6384
- this._options.set(!this.options() || !filterText || filterText.length === 0
6385
- ? this.options()
6386
- : this.options().filter((option) => !option.isGroupTitle &&
6749
+ if (!this.options() || !filterText || filterText.length === 0) {
6750
+ this._options.set(this.options());
6751
+ }
6752
+ else {
6753
+ this._options.set(this.options().filter((option) => !option.isGroupTitle &&
6387
6754
  this.getOptionLabel(option)
6388
6755
  .toLowerCase()
6389
6756
  .includes(filterText.toLowerCase())));
6757
+ }
6390
6758
  }
6391
- handleClearAll() {
6759
+ handleClearAll(event) {
6760
+ event.stopPropagation();
6392
6761
  this.handleOptionSelected([]);
6393
6762
  this.handleSummaryFocus();
6394
6763
  }
6395
6764
  handleSummaryFocus() {
6396
- this.detailsRef()?.nativeElement?.querySelector("summary")?.focus();
6765
+ if (this.detailsRef()?.nativeElement) {
6766
+ (this.detailsRef()?.nativeElement)
6767
+ .querySelector("summary")
6768
+ ?.focus();
6769
+ }
6397
6770
  }
6398
- satisfyReact() {
6399
- // This is an empty function to satisfy React
6771
+ satisfyReact(event) {
6772
+ // This is a function to satisfy React
6773
+ event.stopPropagation();
6400
6774
  }
6401
6775
  trackByOption0(_, option) {
6402
6776
  return "native-select-option-" + this.getOptionKey(option);
@@ -6422,6 +6796,7 @@ class DBCustomSelect {
6422
6796
  this.invalidMessage = input();
6423
6797
  this.message = input();
6424
6798
  this.showMessage = input();
6799
+ this.ariaDescribedBy = input();
6425
6800
  this.showNoResults = input();
6426
6801
  this.multiple = input();
6427
6802
  this.showSelectAll = input();
@@ -6435,10 +6810,10 @@ class DBCustomSelect {
6435
6810
  this.required = input();
6436
6811
  this.selectAllLabel = input();
6437
6812
  this.removeTagsTexts = input();
6813
+ this.placement = input();
6438
6814
  this.className = input();
6439
6815
  this.formFieldWidth = input();
6440
6816
  this.variant = input();
6441
- this.placement = input();
6442
6817
  this.showLabel = input();
6443
6818
  this.icon = input();
6444
6819
  this.showIcon = input();
@@ -6491,6 +6866,8 @@ class DBCustomSelect {
6491
6866
  this._hasNoOptions = signal(false);
6492
6867
  this._documentClickListenerCallbackId = signal(undefined);
6493
6868
  this._internalChangeTimestamp = signal(0);
6869
+ this._documentScrollListenerCallbackId = signal(undefined);
6870
+ this._observer = signal(undefined);
6494
6871
  this.selectAllChecked = signal(false);
6495
6872
  this.selectAllIndeterminate = signal(false);
6496
6873
  effect(() => {
@@ -6498,19 +6875,6 @@ class DBCustomSelect {
6498
6875
  this.detailsRef();
6499
6876
  // ---
6500
6877
  if (this.detailsRef()?.nativeElement) {
6501
- const summary = this.detailsRef()?.nativeElement.querySelector("summary");
6502
- if (summary) {
6503
- summary.addEventListener("click", () => {
6504
- this.handleAutoPlacement();
6505
- this.handleOpenByKeyboardFocus(true);
6506
- });
6507
- summary.addEventListener("keydown", (event) => {
6508
- if (event.code === "Space" &&
6509
- !this.detailsRef()?.nativeElement?.open) {
6510
- this.handleOpenByKeyboardFocus();
6511
- }
6512
- });
6513
- }
6514
6878
  this.detailsRef()?.nativeElement.addEventListener("focusout", (event) => this.handleClose(event));
6515
6879
  }
6516
6880
  }, {
@@ -6545,7 +6909,7 @@ class DBCustomSelect {
6545
6909
  if (this.detailsRef()?.nativeElement) {
6546
6910
  const summary = this.detailsRef()?.nativeElement.querySelector("summary");
6547
6911
  if (summary) {
6548
- summary.setAttribute("aria-describedby", this._descByIds() || "");
6912
+ summary.setAttribute("aria-describedby", this.ariaDescribedBy() ?? (this._descByIds() || ""));
6549
6913
  }
6550
6914
  }
6551
6915
  }, {
@@ -6572,7 +6936,7 @@ class DBCustomSelect {
6572
6936
  this.multiple();
6573
6937
  // ---
6574
6938
  this.selectAllEnabled.set(Boolean(this.multiple() &&
6575
- (this.showSelectAll() || this.amountOptions() > 5)));
6939
+ (this.showSelectAll() ?? this.amountOptions() > 5)));
6576
6940
  }, {
6577
6941
  // Enable writing to signals inside effects
6578
6942
  });
@@ -6581,7 +6945,7 @@ class DBCustomSelect {
6581
6945
  this.showSearch();
6582
6946
  this.amountOptions();
6583
6947
  // ---
6584
- this.searchEnabled.set(this.showSearch() || this.amountOptions() > 9);
6948
+ this.searchEnabled.set(this.showSearch() ?? this.amountOptions() > 9);
6585
6949
  }, {
6586
6950
  // Enable writing to signals inside effects
6587
6951
  });
@@ -6643,11 +7007,11 @@ class DBCustomSelect {
6643
7007
  });
6644
7008
  effect(() => {
6645
7009
  // --- Mitosis: Workaround to make sure the effect() is triggered ---
6646
- this._options();
7010
+ this.options();
6647
7011
  this._values();
6648
7012
  // ---
6649
- if (this._options()?.length) {
6650
- this._selectedOptions.set(this._options()?.filter((option) => {
7013
+ if (this.options()?.length) {
7014
+ this._selectedOptions.set(this.options()?.filter((option) => {
6651
7015
  if (!option.value || !this._values()?.["includes"]) {
6652
7016
  return false;
6653
7017
  }
@@ -6774,13 +7138,23 @@ class DBCustomSelect {
6774
7138
  this._selectedLabelsId.set(mId + "-selected-labels");
6775
7139
  this._infoTextId.set(mId + "-info");
6776
7140
  this._invalidMessage.set(this.invalidMessage() || DEFAULT_INVALID_MESSAGE);
7141
+ this._observer.set(new IntersectionObserver((payload) => {
7142
+ if (this.detailsRef()?.nativeElement) {
7143
+ const entry = payload.find(({ target }) => target === this.detailsRef()?.nativeElement);
7144
+ if (entry &&
7145
+ !entry.isIntersecting &&
7146
+ this.detailsRef()?.nativeElement.open) {
7147
+ this.detailsRef().nativeElement.open = false;
7148
+ }
7149
+ }
7150
+ }));
6777
7151
  }
6778
7152
  ngAfterViewInit() {
6779
7153
  const element = this._ref()?.nativeElement;
6780
7154
  this.enableAttributePassing(element, "db-custom-select");
6781
7155
  }
6782
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBCustomSelect, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
6783
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: DBCustomSelect, isStandalone: true, selector: "db-custom-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, invalidMessage: { classPropertyName: "invalidMessage", publicName: "invalidMessage", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, showMessage: { classPropertyName: "showMessage", publicName: "showMessage", isSignal: true, isRequired: false, transformFunction: null }, showNoResults: { classPropertyName: "showNoResults", publicName: "showNoResults", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, showSelectAll: { classPropertyName: "showSelectAll", publicName: "showSelectAll", isSignal: true, isRequired: false, transformFunction: null }, showSearch: { classPropertyName: "showSearch", publicName: "showSearch", isSignal: true, isRequired: false, transformFunction: null }, values: { classPropertyName: "values", publicName: "values", isSignal: true, isRequired: false, transformFunction: null }, validation: { classPropertyName: "validation", publicName: "validation", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, selectedType: { classPropertyName: "selectedType", publicName: "selectedType", isSignal: true, isRequired: false, transformFunction: null }, amountText: { classPropertyName: "amountText", publicName: "amountText", isSignal: true, isRequired: false, transformFunction: null }, validMessage: { classPropertyName: "validMessage", publicName: "validMessage", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, selectAllLabel: { classPropertyName: "selectAllLabel", publicName: "selectAllLabel", isSignal: true, isRequired: false, transformFunction: null }, removeTagsTexts: { classPropertyName: "removeTagsTexts", publicName: "removeTagsTexts", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, formFieldWidth: { classPropertyName: "formFieldWidth", publicName: "formFieldWidth", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, showLabel: { classPropertyName: "showLabel", publicName: "showLabel", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, dropdownWidth: { classPropertyName: "dropdownWidth", publicName: "dropdownWidth", isSignal: true, isRequired: false, transformFunction: null }, searchLabel: { classPropertyName: "searchLabel", publicName: "searchLabel", isSignal: true, isRequired: false, transformFunction: null }, searchPlaceholder: { classPropertyName: "searchPlaceholder", publicName: "searchPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, showLoading: { classPropertyName: "showLoading", publicName: "showLoading", isSignal: true, isRequired: false, transformFunction: null }, ariaListLabel: { classPropertyName: "ariaListLabel", publicName: "ariaListLabel", isSignal: true, isRequired: false, transformFunction: null }, noResultsText: { classPropertyName: "noResultsText", publicName: "noResultsText", isSignal: true, isRequired: false, transformFunction: null }, loadingText: { classPropertyName: "loadingText", publicName: "loadingText", isSignal: true, isRequired: false, transformFunction: null }, mobileCloseButtonText: { classPropertyName: "mobileCloseButtonText", publicName: "mobileCloseButtonText", isSignal: true, isRequired: false, transformFunction: null }, showClearSelection: { classPropertyName: "showClearSelection", publicName: "showClearSelection", isSignal: true, isRequired: false, transformFunction: null }, clearSelectionText: { classPropertyName: "clearSelectionText", publicName: "clearSelectionText", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, messageIcon: { classPropertyName: "messageIcon", publicName: "messageIcon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { values: "valuesChange", disabled: "disabledChange", amountChange: "amountChange", dropdownToggle: "dropdownToggle", optionSelected: "optionSelected" }, providers: [{
7156
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBCustomSelect, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
7157
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: DBCustomSelect, isStandalone: true, selector: "db-custom-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, invalidMessage: { classPropertyName: "invalidMessage", publicName: "invalidMessage", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, showMessage: { classPropertyName: "showMessage", publicName: "showMessage", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedBy: { classPropertyName: "ariaDescribedBy", publicName: "ariaDescribedBy", isSignal: true, isRequired: false, transformFunction: null }, showNoResults: { classPropertyName: "showNoResults", publicName: "showNoResults", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, showSelectAll: { classPropertyName: "showSelectAll", publicName: "showSelectAll", isSignal: true, isRequired: false, transformFunction: null }, showSearch: { classPropertyName: "showSearch", publicName: "showSearch", isSignal: true, isRequired: false, transformFunction: null }, values: { classPropertyName: "values", publicName: "values", isSignal: true, isRequired: false, transformFunction: null }, validation: { classPropertyName: "validation", publicName: "validation", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, selectedType: { classPropertyName: "selectedType", publicName: "selectedType", isSignal: true, isRequired: false, transformFunction: null }, amountText: { classPropertyName: "amountText", publicName: "amountText", isSignal: true, isRequired: false, transformFunction: null }, validMessage: { classPropertyName: "validMessage", publicName: "validMessage", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, selectAllLabel: { classPropertyName: "selectAllLabel", publicName: "selectAllLabel", isSignal: true, isRequired: false, transformFunction: null }, removeTagsTexts: { classPropertyName: "removeTagsTexts", publicName: "removeTagsTexts", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, formFieldWidth: { classPropertyName: "formFieldWidth", publicName: "formFieldWidth", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, showLabel: { classPropertyName: "showLabel", publicName: "showLabel", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, dropdownWidth: { classPropertyName: "dropdownWidth", publicName: "dropdownWidth", isSignal: true, isRequired: false, transformFunction: null }, searchLabel: { classPropertyName: "searchLabel", publicName: "searchLabel", isSignal: true, isRequired: false, transformFunction: null }, searchPlaceholder: { classPropertyName: "searchPlaceholder", publicName: "searchPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, showLoading: { classPropertyName: "showLoading", publicName: "showLoading", isSignal: true, isRequired: false, transformFunction: null }, ariaListLabel: { classPropertyName: "ariaListLabel", publicName: "ariaListLabel", isSignal: true, isRequired: false, transformFunction: null }, noResultsText: { classPropertyName: "noResultsText", publicName: "noResultsText", isSignal: true, isRequired: false, transformFunction: null }, loadingText: { classPropertyName: "loadingText", publicName: "loadingText", isSignal: true, isRequired: false, transformFunction: null }, mobileCloseButtonText: { classPropertyName: "mobileCloseButtonText", publicName: "mobileCloseButtonText", isSignal: true, isRequired: false, transformFunction: null }, showClearSelection: { classPropertyName: "showClearSelection", publicName: "showClearSelection", isSignal: true, isRequired: false, transformFunction: null }, clearSelectionText: { classPropertyName: "clearSelectionText", publicName: "clearSelectionText", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, messageIcon: { classPropertyName: "messageIcon", publicName: "messageIcon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { values: "valuesChange", disabled: "disabledChange", amountChange: "amountChange", dropdownToggle: "dropdownToggle", optionSelected: "optionSelected" }, providers: [{
6784
7158
  provide: NG_VALUE_ACCESSOR,
6785
7159
  useExisting: DBCustomSelect,
6786
7160
  multi: true
@@ -6811,9 +7185,9 @@ class DBCustomSelect {
6811
7185
  [attr.multiple]="getBoolean(multiple(), 'multiple')"
6812
7186
  [disabled]="getBoolean(disabled(), 'disabled')"
6813
7187
  [attr.required]="getBoolean(required(), 'required')"
6814
- (change)="satisfyReact()"
7188
+ (change)="satisfyReact($event)"
6815
7189
  >
6816
- @if(_options()?.length){ @for (option of _options();track
7190
+ @if(options()?.length){ @for (option of options();track
6817
7191
  trackByOption0(i,option);let i = $index) {
6818
7192
  <option [disabled]="option.disabled" [attr.value]="option.value">
6819
7193
  {{getOptionLabel(option)}}
@@ -6894,7 +7268,7 @@ class DBCustomSelect {
6894
7268
  #selectAllRef
6895
7269
  [attr.form]="_id()"
6896
7270
  [checked]="selectAllChecked()"
6897
- (change)="handleSelectAll()"
7271
+ (change)="handleSelectAll($event)"
6898
7272
  />
6899
7273
  {{getSelectAllLabel()}}
6900
7274
  </label>
@@ -6948,7 +7322,7 @@ class DBCustomSelect {
6948
7322
  [noText]="true"
6949
7323
  [name]="_id()"
6950
7324
  [form]="_id()"
6951
- (click)="handleClearAll()"
7325
+ (click)="handleClearAll($event)"
6952
7326
  >
6953
7327
  {{clearSelectionText()}}
6954
7328
  <db-tooltip placement="top">{{clearSelectionText()}}</db-tooltip>
@@ -6976,9 +7350,9 @@ class DBCustomSelect {
6976
7350
  {{_voiceOverFallback()}}
6977
7351
  </span>
6978
7352
  </div>
6979
- `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DBTag, selector: "db-tag", inputs: ["disabled", "removeButton", "id", "className", "semantic", "emphasis", "icon", "showCheckState", "showIcon", "noText", "overflow", "text", "behavior"], outputs: ["remove"] }, { kind: "component", type: DBCustomSelectDropdown, selector: "db-custom-select-dropdown", inputs: ["id", "className", "width"] }, { kind: "component", type: DBInput, selector: "db-input", inputs: ["id", "invalidMessage", "dataListId", "message", "showMessage", "value", "validMessage", "validation", "required", "minLength", "maxLength", "pattern", "dataList", "className", "variant", "showLabel", "showIcon", "icon", "iconAfter", "label", "name", "type", "placeholder", "disabled", "step", "maxlength", "minlength", "max", "min", "readOnly", "readonly", "form", "size", "autocomplete", "autofocus", "ariaDescribedBy", "messageIcon"], outputs: ["valueChange", "disabledChange", "input", "change", "blur", "focus"] }, { kind: "component", type: DBCustomSelectList, selector: "db-custom-select-list", inputs: ["multiple", "label", "id", "className"] }, { kind: "component", type: DBCustomSelectListItem, selector: "db-custom-select-list-item", inputs: ["id", "isGroupTitle", "showDivider", "type", "checked", "className", "groupTitle", "icon", "showIcon", "name", "disabled", "value", "label"], outputs: ["checkedChange", "disabledChange", "change"] }, { kind: "component", type: DBInfotext, selector: "db-infotext", inputs: ["id", "className", "icon", "semantic", "size", "showIcon", "text"] }, { kind: "component", type: DBButton, selector: "db-button", inputs: ["id", "className", "type", "disabled", "label", "icon", "showIcon", "size", "state", "width", "variant", "noText", "name", "form", "value", "describedbyid", "ariaexpanded", "ariapressed", "text"], outputs: ["click"] }, { kind: "component", type: DBTooltip, selector: "db-tooltip", inputs: ["id", "className", "emphasis", "animation", "delay", "width", "showArrow", "placement"] }] }); }
7353
+ `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DBTag, selector: "db-tag", inputs: ["disabled", "removeButton", "id", "className", "semantic", "emphasis", "icon", "showCheckState", "showIcon", "noText", "overflow", "text", "behavior"], outputs: ["remove"] }, { kind: "component", type: DBCustomSelectDropdown, selector: "db-custom-select-dropdown", inputs: ["id", "className", "width"] }, { kind: "component", type: DBInput, selector: "db-input", inputs: ["id", "invalidMessage", "dataListId", "message", "showMessage", "value", "validMessage", "validation", "required", "minLength", "maxLength", "pattern", "dataList", "className", "variant", "showLabel", "showIcon", "icon", "iconAfter", "label", "name", "type", "placeholder", "disabled", "step", "maxlength", "minlength", "max", "min", "readOnly", "readonly", "form", "size", "autocomplete", "autofocus", "ariaDescribedBy", "messageIcon"], outputs: ["valueChange", "disabledChange", "input", "change", "blur", "focus"] }, { kind: "component", type: DBCustomSelectList, selector: "db-custom-select-list", inputs: ["multiple", "label", "id", "className"] }, { kind: "component", type: DBCustomSelectListItem, selector: "db-custom-select-list-item", inputs: ["id", "isGroupTitle", "showDivider", "type", "checked", "className", "groupTitle", "icon", "showIcon", "name", "disabled", "value", "label"], outputs: ["checkedChange", "disabledChange", "change"] }, { kind: "component", type: DBInfotext, selector: "db-infotext", inputs: ["id", "className", "icon", "semantic", "size", "showIcon", "text"] }, { kind: "component", type: DBButton, selector: "db-button", inputs: ["id", "className", "type", "disabled", "label", "icon", "showIcon", "size", "state", "width", "variant", "noText", "name", "form", "value", "describedbyid", "ariaexpanded", "ariapressed", "text"], outputs: ["click"] }, { kind: "component", type: DBTooltip, selector: "db-tooltip", inputs: ["id", "placement", "className", "emphasis", "animation", "delay", "width", "showArrow"] }] }); }
6980
7354
  }
6981
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBCustomSelect, decorators: [{
7355
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBCustomSelect, decorators: [{
6982
7356
  type: Component,
6983
7357
  args: [{ providers: [{
6984
7358
  provide: NG_VALUE_ACCESSOR,
@@ -7021,9 +7395,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
7021
7395
  [attr.multiple]="getBoolean(multiple(), 'multiple')"
7022
7396
  [disabled]="getBoolean(disabled(), 'disabled')"
7023
7397
  [attr.required]="getBoolean(required(), 'required')"
7024
- (change)="satisfyReact()"
7398
+ (change)="satisfyReact($event)"
7025
7399
  >
7026
- @if(_options()?.length){ @for (option of _options();track
7400
+ @if(options()?.length){ @for (option of options();track
7027
7401
  trackByOption0(i,option);let i = $index) {
7028
7402
  <option [disabled]="option.disabled" [attr.value]="option.value">
7029
7403
  {{getOptionLabel(option)}}
@@ -7104,7 +7478,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
7104
7478
  #selectAllRef
7105
7479
  [attr.form]="_id()"
7106
7480
  [checked]="selectAllChecked()"
7107
- (change)="handleSelectAll()"
7481
+ (change)="handleSelectAll($event)"
7108
7482
  />
7109
7483
  {{getSelectAllLabel()}}
7110
7484
  </label>
@@ -7158,7 +7532,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
7158
7532
  [noText]="true"
7159
7533
  [name]="_id()"
7160
7534
  [form]="_id()"
7161
- (click)="handleClearAll()"
7535
+ (click)="handleClearAll($event)"
7162
7536
  >
7163
7537
  {{clearSelectionText()}}
7164
7538
  <db-tooltip placement="top">{{clearSelectionText()}}</db-tooltip>
@@ -7233,8 +7607,8 @@ class DBCustomSelectFormField {
7233
7607
  const element = this._ref()?.nativeElement;
7234
7608
  this.enableAttributePassing(element, "db-custom-select-form-field");
7235
7609
  }
7236
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBCustomSelectFormField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7237
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.10", type: DBCustomSelectFormField, isStandalone: true, selector: "db-custom-select-form-field", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
7610
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBCustomSelectFormField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7611
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.12", type: DBCustomSelectFormField, isStandalone: true, selector: "db-custom-select-form-field", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
7238
7612
  <summary
7239
7613
  #_ref
7240
7614
  [attr.id]="id()"
@@ -7244,7 +7618,7 @@ class DBCustomSelectFormField {
7244
7618
  </summary>
7245
7619
  `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
7246
7620
  }
7247
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DBCustomSelectFormField, decorators: [{
7621
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: DBCustomSelectFormField, decorators: [{
7248
7622
  type: Component,
7249
7623
  args: [{ selector: "db-custom-select-form-field", standalone: true, imports: [CommonModule], template: `
7250
7624
  <summary
@@ -7261,5 +7635,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
7261
7635
  * Generated bundle index. Do not edit.
7262
7636
  */
7263
7637
 
7264
- export { AlignmentList, AutoCompleteList, COLOR, COLORS, COLORS_SIMPLE, COLOR_CONST, COLOR_SIMPLE, DBAccordion, DBAccordionItem, DBBadge, DBBrand, DBButton, DBCard, DBCheckbox, DBCustomSelect, DBCustomSelectDropdown, DBCustomSelectFormField, DBCustomSelectList, DBCustomSelectListItem, DBDivider, DBDrawer, DBHeader, DBIcon, DBInfotext, DBInput, DBLink, DBNavigation, DBNavigationItem, DBNotification, DBPage, DBPopover, DBRadio, DBSection, DBSelect, DBStack, DBSwitch, DBTabItem, DBTabList, DBTabPanel, DBTabs, DBTag, DBTextarea, DBTooltip, DEFAULT_BACK, DEFAULT_BURGER_MENU, DEFAULT_CLOSE_BUTTON, DEFAULT_DATALIST_ID_SUFFIX, DEFAULT_ICON, DEFAULT_ID, DEFAULT_INVALID_MESSAGE, DEFAULT_INVALID_MESSAGE_ID_SUFFIX, DEFAULT_LABEL, DEFAULT_LABEL_ID_SUFFIX, DEFAULT_MESSAGE, DEFAULT_MESSAGE_ID_SUFFIX, DEFAULT_PLACEHOLDER, DEFAULT_PLACEHOLDER_ID_SUFFIX, DEFAULT_REMOVE, DEFAULT_ROWS, DEFAULT_SELECTED, DEFAULT_SELECT_ID_SUFFIX, DEFAULT_VALID_MESSAGE, DEFAULT_VALID_MESSAGE_ID_SUFFIX, DEFAULT_VIEWPORT, DENSITIES, DENSITY, DENSITY_CONST, DESKTOP_VIEWPORT, EmphasisList, GapSpacingList, LabelVariantList, LinkCurrentList, LinkReferrerPolicyList, LinkTargetList, MarginList, MaxWidthList, MetaNavigationDirective, NavigationContentDirective, NavigationDirective, NavigationItemSafeTriangle, OrientationList, PlacementHorizontalList, PlacementList, PlacementVerticalList, PopoverDelayList, PopoverWidthList, SEMANTIC, SEMANTICS, SecondaryActionDirective, SemanticList, SizeList, SpacingList, TESTING_VIEWPORTS, ValidationList, WidthList, addAttributeToChildren, cls, delay, getBoolean, getBooleanAsString, getHideProp, getInputValue, getNumber, getSearchInput, handleDataOutside, hasVoiceOver, isArrayOfStrings, isEventTargetNavigationItem, isInView, stringPropVisible, uuid, visibleInVX, visibleInVY };
7638
+ export { AlignmentList, AutoCompleteList, COLOR, COLORS, COLORS_SIMPLE, COLOR_CONST, COLOR_SIMPLE, DBAccordion, DBAccordionItem, DBBadge, DBBrand, DBButton, DBCard, DBCheckbox, DBCustomSelect, DBCustomSelectDropdown, DBCustomSelectFormField, DBCustomSelectList, DBCustomSelectListItem, DBDivider, DBDrawer, DBHeader, DBIcon, DBInfotext, DBInput, DBLink, DBNavigation, DBNavigationItem, DBNotification, DBPage, DBPopover, DBRadio, DBSection, DBSelect, DBStack, DBSwitch, DBTabItem, DBTabList, DBTabPanel, DBTabs, DBTag, DBTextarea, DBTooltip, DEFAULT_BACK, DEFAULT_BURGER_MENU, DEFAULT_CLOSE_BUTTON, DEFAULT_DATALIST_ID_SUFFIX, DEFAULT_ICON, DEFAULT_ID, DEFAULT_INVALID_MESSAGE, DEFAULT_INVALID_MESSAGE_ID_SUFFIX, DEFAULT_LABEL, DEFAULT_LABEL_ID_SUFFIX, DEFAULT_MESSAGE, DEFAULT_MESSAGE_ID_SUFFIX, DEFAULT_PLACEHOLDER, DEFAULT_PLACEHOLDER_ID_SUFFIX, DEFAULT_REMOVE, DEFAULT_ROWS, DEFAULT_SELECTED, DEFAULT_SELECT_ID_SUFFIX, DEFAULT_VALID_MESSAGE, DEFAULT_VALID_MESSAGE_ID_SUFFIX, DEFAULT_VIEWPORT, DENSITIES, DENSITY, DENSITY_CONST, DESKTOP_VIEWPORT, EmphasisList, GapSpacingList, LabelVariantList, LinkCurrentList, LinkReferrerPolicyList, LinkTargetList, MarginList, MaxWidthList, MetaNavigationDirective, NavigationContentDirective, NavigationDirective, NavigationItemSafeTriangle, OrientationList, PlacementHorizontalList, PlacementList, PlacementVerticalList, PopoverDelayList, PopoverWidthList, SEMANTIC, SEMANTICS, SecondaryActionDirective, SemanticList, SizeList, SpacingList, TESTING_VIEWPORTS, ValidationList, WidthList, addAttributeToChildren, cls, delay, getBoolean, getBooleanAsString, getHideProp, getInputValue, getNumber, getSearchInput, hasVoiceOver, isArrayOfStrings, isEventTargetNavigationItem, stringPropVisible, uuid };
7265
7639
  //# sourceMappingURL=db-ux-ngx-core-components.mjs.map