@db-ux/ngx-core-components 4.13.1-angular-signal-forms6-a1510bb → 4.13.1-angular-signal-forms9-42cbbed

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.
@@ -144,8 +144,36 @@ const stringPropVisible = (givenString, showString) => {
144
144
  return toBool(showString) && Boolean(givenString);
145
145
  };
146
146
  const getSearchInput = (element) => element.querySelector(`input[type="search"]`);
147
+ // WeakMap to store generated keys for option objects without mutating them.
148
+ // Used only as a last resort for options that have neither id, value, nor label.
149
+ const optionKeyMap = new WeakMap();
147
150
  const getOptionKey = (option, prefix) => {
148
- const key = option.id ?? option.value ?? uuid();
151
+ // 1. Consumer-provided id stable and unique (best case).
152
+ if (option.id) {
153
+ return `${prefix}${option.id}`;
154
+ }
155
+ // 2. Data-based key from value and/or label — stable across object
156
+ // recreations (e.g. inline options={[...]} on every render).
157
+ // Combining both fields maximizes uniqueness: two options may share
158
+ // a value but users couldn't distinguish identical labels, so in
159
+ // practice the combination is unique.
160
+ // We prefix each segment with its length to avoid ambiguous
161
+ // concatenations (e.g. 'a-b'+'c' vs 'a'+'b-c').
162
+ const value = option.value !== undefined && option.value !== '' ? String(option.value) : '';
163
+ const label = option.label ?? '';
164
+ if (value || label) {
165
+ return `${prefix}${value.length}:${value}.${label}`;
166
+ }
167
+ // 3. Last resort for truly anonymous options (no id, no value, no label).
168
+ // WeakMap ties a generated uuid to the object reference so the key
169
+ // persists as long as the same object is reused. If the consumer
170
+ // recreates these objects every render, keys will be unstable — but
171
+ // that's an unsolvable edge case without any data to anchor to.
172
+ let key = optionKeyMap.get(option);
173
+ if (!key) {
174
+ key = uuid();
175
+ optionKeyMap.set(option, key);
176
+ }
149
177
  return `${prefix}${key}`;
150
178
  };
151
179
  const isKeyboardEvent = (event) => event.key !== undefined;
@@ -1459,7 +1487,7 @@ class DBCheckbox {
1459
1487
  }
1460
1488
  // If Signal Forms says "valid" but native validation disagrees, reset _valid
1461
1489
  // so native validation can take over via CSS :user-invalid selectors
1462
- if (this._valid() === 'valid' && this._ref()?.nativeElement && !this._ref()?.nativeElement?.validity?.valid) {
1490
+ if (this._valid() === 'valid' && this._ref()?.nativeElement?.validity && !this._ref()?.nativeElement?.validity?.valid) {
1463
1491
  this._valid.set(undefined);
1464
1492
  this._validMessage.set('');
1465
1493
  }
@@ -1720,6 +1748,13 @@ class DBCheckbox {
1720
1748
  }
1721
1749
  }
1722
1750
  }
1751
+ /**
1752
+ * Reflect Signal Forms hidden state to the host element.
1753
+ * This intentionally intercepts Angular's native [hidden] binding —
1754
+ * consumers using [hidden]="condition" will hide the component via
1755
+ * :host([hidden]) { display: none !important }.
1756
+ */
1757
+ get isHidden() { return this.hidden(); }
1723
1758
  /** @legacy CVA - will be removed in a future major version */
1724
1759
  writeValue(value) {
1725
1760
  this.checked.set(!!value);
@@ -1740,8 +1775,6 @@ class DBCheckbox {
1740
1775
  setDisabledState(disabled) {
1741
1776
  this.disabled.set(disabled);
1742
1777
  }
1743
- /** Reflect Signal Forms hidden state to the host element */
1744
- get isHidden() { return this.hidden(); }
1745
1778
  ngAfterViewInit() {
1746
1779
  const element = this._ref()?.nativeElement;
1747
1780
  this.enableAttributePassing(element, "db-checkbox");
@@ -2693,6 +2726,13 @@ class DBCustomSelectListItem {
2693
2726
  }
2694
2727
  }
2695
2728
  }
2729
+ /**
2730
+ * Reflect Signal Forms hidden state to the host element.
2731
+ * This intentionally intercepts Angular's native [hidden] binding —
2732
+ * consumers using [hidden]="condition" will hide the component via
2733
+ * :host([hidden]) { display: none !important }.
2734
+ */
2735
+ get isHidden() { return this.hidden(); }
2696
2736
  /** @legacy CVA - will be removed in a future major version */
2697
2737
  writeValue(value) {
2698
2738
  this.checked.set(!!value);
@@ -2713,8 +2753,6 @@ class DBCustomSelectListItem {
2713
2753
  setDisabledState(disabled) {
2714
2754
  this.disabled.set(disabled);
2715
2755
  }
2716
- /** Reflect Signal Forms hidden state to the host element */
2717
- get isHidden() { return this.hidden(); }
2718
2756
  ngAfterViewInit() {
2719
2757
  const element = this._ref()?.nativeElement;
2720
2758
  this.enableAttributePassing(element, "db-custom-select-list-item");
@@ -2959,7 +2997,7 @@ class DBInput {
2959
2997
  }
2960
2998
  // If Signal Forms says "valid" but native validation disagrees, reset _valid
2961
2999
  // so native validation can take over via CSS :user-invalid selectors
2962
- if (this._valid() === 'valid' && this._ref()?.nativeElement && !this._ref()?.nativeElement?.validity?.valid) {
3000
+ if (this._valid() === 'valid' && this._ref()?.nativeElement?.validity && !this._ref()?.nativeElement?.validity?.valid) {
2963
3001
  this._valid.set(undefined);
2964
3002
  this._validMessage.set('');
2965
3003
  }
@@ -3265,6 +3303,13 @@ class DBInput {
3265
3303
  }
3266
3304
  }
3267
3305
  }
3306
+ /**
3307
+ * Reflect Signal Forms hidden state to the host element.
3308
+ * This intentionally intercepts Angular's native [hidden] binding —
3309
+ * consumers using [hidden]="condition" will hide the component via
3310
+ * :host([hidden]) { display: none !important }.
3311
+ */
3312
+ get isHidden() { return this.hidden(); }
3268
3313
  /** @legacy CVA - will be removed in a future major version */
3269
3314
  writeValue(value) {
3270
3315
  this.value.set(value);
@@ -3285,8 +3330,6 @@ class DBInput {
3285
3330
  setDisabledState(disabled) {
3286
3331
  this.disabled.set(disabled);
3287
3332
  }
3288
- /** Reflect Signal Forms hidden state to the host element */
3289
- get isHidden() { return this.hidden(); }
3290
3333
  ngAfterViewInit() {
3291
3334
  const element = this._ref()?.nativeElement;
3292
3335
  this.enableAttributePassing(element, "db-input");
@@ -4006,11 +4049,11 @@ class DBCustomSelect {
4006
4049
  this._invalidMessage.set(signalFormErrors[0].message ?? DEFAULT_INVALID_MESSAGE);
4007
4050
  this._validMessage.set('');
4008
4051
  this._valid.set('invalid');
4052
+ this._validity.set('invalid');
4009
4053
  if (hasVoiceOver()) {
4010
4054
  this._voiceOverFallback.set(this._invalidMessage());
4011
4055
  void delay(() => this._voiceOverFallback.set(""), 1000);
4012
4056
  }
4013
- this._validity.set('invalid');
4014
4057
  return; // Signal Forms errors take priority
4015
4058
  }
4016
4059
  else if (Array.isArray(signalFormErrors) && signalFormErrors.length === 0 && this._valid() === 'invalid') {
@@ -4022,7 +4065,7 @@ class DBCustomSelect {
4022
4065
  }
4023
4066
  // If Signal Forms says "valid" but native validation disagrees, reset _valid
4024
4067
  // so native validation can take over via CSS :user-invalid selectors
4025
- if (this._valid() === 'valid' && this._ref()?.nativeElement && !this._ref()?.nativeElement?.validity?.valid) {
4068
+ if (this._valid() === 'valid' && this._ref()?.nativeElement?.validity && !this._ref()?.nativeElement?.validity?.valid) {
4026
4069
  this._valid.set(undefined);
4027
4070
  this._validity.set(undefined);
4028
4071
  this._validMessage.set('');
@@ -4588,28 +4631,33 @@ class DBCustomSelect {
4588
4631
  this._valid = signal(undefined, ...(ngDevMode ? [{ debugName: "_valid" }] : /* istanbul ignore next */ []));
4589
4632
  /** Signal Forms alias — maps to 'values' for FormValueControl duck-typing */
4590
4633
  this.value = model(...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
4591
- /** @internal Flag to prevent circular sync between value↔values */
4592
- this._syncing = false;
4634
+ /**
4635
+ * @internal Tracks the origin of the last write to prevent infinite ping-pong.
4636
+ * Convergence is guaranteed by Angular's signal equality check
4637
+ * (setting a signal to the same value does not re-notify dependents).
4638
+ */
4639
+ this._syncSource = 'none';
4593
4640
  /** @internal Sync value → values (Signal Forms writes to value) */
4594
4641
  this._syncValueToValues = effect(() => {
4595
4642
  const v = this.value();
4596
- if (this._syncing)
4643
+ if (this._syncSource === 'values') {
4644
+ this._syncSource = 'none';
4597
4645
  return;
4598
- this._syncing = true;
4646
+ }
4647
+ this._syncSource = 'value';
4599
4648
  if (v !== undefined) {
4600
4649
  this.values.set(Array.isArray(v) ? v : v ? [v] : []);
4601
4650
  }
4602
- this._syncing = false;
4603
4651
  }, ...(ngDevMode ? [{ debugName: "_syncValueToValues" }] : /* istanbul ignore next */ []));
4604
4652
  /** @internal Sync values → value (CVA/user interaction writes to values) */
4605
4653
  this._syncValuesToValue = effect(() => {
4606
4654
  const vals = this.values();
4607
- if (this._syncing)
4655
+ if (this._syncSource === 'value') {
4656
+ this._syncSource = 'none';
4608
4657
  return;
4609
- this._syncing = true;
4610
- const current = vals && vals.length > 0 ? vals : undefined;
4611
- this.value.set(current);
4612
- this._syncing = false;
4658
+ }
4659
+ this._syncSource = 'values';
4660
+ this.value.set(vals ?? []);
4613
4661
  }, ...(ngDevMode ? [{ debugName: "_syncValuesToValue" }] : /* istanbul ignore next */ []));
4614
4662
  if (typeof window !== "undefined") {
4615
4663
  effect(() => {
@@ -4933,6 +4981,13 @@ class DBCustomSelect {
4933
4981
  }
4934
4982
  }
4935
4983
  }
4984
+ /**
4985
+ * Reflect Signal Forms hidden state to the host element.
4986
+ * This intentionally intercepts Angular's native [hidden] binding —
4987
+ * consumers using [hidden]="condition" will hide the component via
4988
+ * :host([hidden]) { display: none !important }.
4989
+ */
4990
+ get isHidden() { return this.hidden(); }
4936
4991
  /** @legacy CVA - will be removed in a future major version */
4937
4992
  writeValue(value) {
4938
4993
  this.values.set(value);
@@ -4953,8 +5008,6 @@ class DBCustomSelect {
4953
5008
  setDisabledState(disabled) {
4954
5009
  this.disabled.set(disabled);
4955
5010
  }
4956
- /** Reflect Signal Forms hidden state to the host element */
4957
- get isHidden() { return this.hidden(); }
4958
5011
  ngAfterViewInit() {
4959
5012
  const element = this._ref()?.nativeElement;
4960
5013
  this.enableAttributePassing(element, "db-custom-select");
@@ -7794,6 +7847,13 @@ class DBRadio {
7794
7847
  }
7795
7848
  }
7796
7849
  }
7850
+ /**
7851
+ * Reflect Signal Forms hidden state to the host element.
7852
+ * This intentionally intercepts Angular's native [hidden] binding —
7853
+ * consumers using [hidden]="condition" will hide the component via
7854
+ * :host([hidden]) { display: none !important }.
7855
+ */
7856
+ get isHidden() { return this.hidden(); }
7797
7857
  /** @legacy CVA - will be removed in a future major version */
7798
7858
  writeValue(value) {
7799
7859
  if (value) {
@@ -7816,8 +7876,6 @@ class DBRadio {
7816
7876
  setDisabledState(disabled) {
7817
7877
  this.disabled.set(disabled);
7818
7878
  }
7819
- /** Reflect Signal Forms hidden state to the host element */
7820
- get isHidden() { return this.hidden(); }
7821
7879
  ngAfterViewInit() {
7822
7880
  const element = this._ref()?.nativeElement;
7823
7881
  this.enableAttributePassing(element, "db-radio");
@@ -8037,7 +8095,7 @@ class DBSelect {
8037
8095
  }
8038
8096
  // If Signal Forms says "valid" but native validation disagrees, reset _valid
8039
8097
  // so native validation can take over via CSS :user-invalid selectors
8040
- if (this._valid() === 'valid' && this._ref()?.nativeElement && !this._ref()?.nativeElement?.validity?.valid) {
8098
+ if (this._valid() === 'valid' && this._ref()?.nativeElement?.validity && !this._ref()?.nativeElement?.validity?.valid) {
8041
8099
  this._valid.set(undefined);
8042
8100
  this._validMessage.set('');
8043
8101
  }
@@ -8336,6 +8394,13 @@ class DBSelect {
8336
8394
  }
8337
8395
  }
8338
8396
  }
8397
+ /**
8398
+ * Reflect Signal Forms hidden state to the host element.
8399
+ * This intentionally intercepts Angular's native [hidden] binding —
8400
+ * consumers using [hidden]="condition" will hide the component via
8401
+ * :host([hidden]) { display: none !important }.
8402
+ */
8403
+ get isHidden() { return this.hidden(); }
8339
8404
  /** @legacy CVA - will be removed in a future major version */
8340
8405
  writeValue(value) {
8341
8406
  this.value.set(value);
@@ -8356,8 +8421,6 @@ class DBSelect {
8356
8421
  setDisabledState(disabled) {
8357
8422
  this.disabled.set(disabled);
8358
8423
  }
8359
- /** Reflect Signal Forms hidden state to the host element */
8360
- get isHidden() { return this.hidden(); }
8361
8424
  ngAfterViewInit() {
8362
8425
  const element = this._ref()?.nativeElement;
8363
8426
  this.enableAttributePassing(element, "db-select");
@@ -8746,7 +8809,7 @@ class DBSwitch {
8746
8809
  }
8747
8810
  // If Signal Forms says "valid" but native validation disagrees, reset _valid
8748
8811
  // so native validation can take over via CSS :user-invalid selectors
8749
- if (this._valid() === 'valid' && this._ref()?.nativeElement && !this._ref()?.nativeElement?.validity?.valid) {
8812
+ if (this._valid() === 'valid' && this._ref()?.nativeElement?.validity && !this._ref()?.nativeElement?.validity?.valid) {
8750
8813
  this._valid.set(undefined);
8751
8814
  this._validMessage.set('');
8752
8815
  }
@@ -8989,6 +9052,13 @@ class DBSwitch {
8989
9052
  }
8990
9053
  }
8991
9054
  }
9055
+ /**
9056
+ * Reflect Signal Forms hidden state to the host element.
9057
+ * This intentionally intercepts Angular's native [hidden] binding —
9058
+ * consumers using [hidden]="condition" will hide the component via
9059
+ * :host([hidden]) { display: none !important }.
9060
+ */
9061
+ get isHidden() { return this.hidden(); }
8992
9062
  /** @legacy CVA - will be removed in a future major version */
8993
9063
  writeValue(value) {
8994
9064
  this.checked.set(!!value);
@@ -9009,8 +9079,6 @@ class DBSwitch {
9009
9079
  setDisabledState(disabled) {
9010
9080
  this.disabled.set(disabled);
9011
9081
  }
9012
- /** Reflect Signal Forms hidden state to the host element */
9013
- get isHidden() { return this.hidden(); }
9014
9082
  ngAfterViewInit() {
9015
9083
  const element = this._ref()?.nativeElement;
9016
9084
  this.enableAttributePassing(element, "db-switch");
@@ -9311,6 +9379,13 @@ class DBTabItem {
9311
9379
  }
9312
9380
  }
9313
9381
  }
9382
+ /**
9383
+ * Reflect Signal Forms hidden state to the host element.
9384
+ * This intentionally intercepts Angular's native [hidden] binding —
9385
+ * consumers using [hidden]="condition" will hide the component via
9386
+ * :host([hidden]) { display: none !important }.
9387
+ */
9388
+ get isHidden() { return this.hidden(); }
9314
9389
  /** @legacy CVA - will be removed in a future major version */
9315
9390
  writeValue(value) {
9316
9391
  this.checked.set(!!value);
@@ -9331,8 +9406,6 @@ class DBTabItem {
9331
9406
  setDisabledState(disabled) {
9332
9407
  this.disabled.set(disabled);
9333
9408
  }
9334
- /** Reflect Signal Forms hidden state to the host element */
9335
- get isHidden() { return this.hidden(); }
9336
9409
  ngAfterViewInit() {
9337
9410
  const element = this._ref()?.nativeElement;
9338
9411
  this.enableAttributePassing(element, "db-tab-item");
@@ -9625,6 +9698,7 @@ class DBTableDataCell {
9625
9698
  this.cls = cls;
9626
9699
  this.getNumber = getNumber;
9627
9700
  this.id = input(...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
9701
+ this.propOverrides = input(...(ngDevMode ? [undefined, { debugName: "propOverrides" }] : /* istanbul ignore next */ []));
9628
9702
  this.className = input(...(ngDevMode ? [undefined, { debugName: "className" }] : /* istanbul ignore next */ []));
9629
9703
  this.horizontalAlignment = input(...(ngDevMode ? [undefined, { debugName: "horizontalAlignment" }] : /* istanbul ignore next */ []));
9630
9704
  this.verticalAlignment = input(...(ngDevMode ? [undefined, { debugName: "verticalAlignment" }] : /* istanbul ignore next */ []));
@@ -9681,9 +9755,9 @@ class DBTableDataCell {
9681
9755
  this.enableAttributePassing(element, "db-table-data-cell");
9682
9756
  }
9683
9757
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DBTableDataCell, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9684
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.17", type: DBTableDataCell, isStandalone: true, selector: "db-table-data-cell", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, horizontalAlignment: { classPropertyName: "horizontalAlignment", publicName: "horizontalAlignment", isSignal: true, isRequired: false, transformFunction: null }, verticalAlignment: { classPropertyName: "verticalAlignment", publicName: "verticalAlignment", isSignal: true, isRequired: false, transformFunction: null }, colSpan: { classPropertyName: "colSpan", publicName: "colSpan", isSignal: true, isRequired: false, transformFunction: null }, colspan: { classPropertyName: "colspan", publicName: "colspan", isSignal: true, isRequired: false, transformFunction: null }, rowSpan: { classPropertyName: "rowSpan", publicName: "rowSpan", isSignal: true, isRequired: false, transformFunction: null }, rowspan: { classPropertyName: "rowspan", publicName: "rowspan", isSignal: true, isRequired: false, transformFunction: null }, headers: { classPropertyName: "headers", publicName: "headers", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `<td
9758
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.17", type: DBTableDataCell, isStandalone: true, selector: "db-table-data-cell", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, propOverrides: { classPropertyName: "propOverrides", publicName: "propOverrides", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, horizontalAlignment: { classPropertyName: "horizontalAlignment", publicName: "horizontalAlignment", isSignal: true, isRequired: false, transformFunction: null }, verticalAlignment: { classPropertyName: "verticalAlignment", publicName: "verticalAlignment", isSignal: true, isRequired: false, transformFunction: null }, colSpan: { classPropertyName: "colSpan", publicName: "colSpan", isSignal: true, isRequired: false, transformFunction: null }, colspan: { classPropertyName: "colspan", publicName: "colspan", isSignal: true, isRequired: false, transformFunction: null }, rowSpan: { classPropertyName: "rowSpan", publicName: "rowSpan", isSignal: true, isRequired: false, transformFunction: null }, rowspan: { classPropertyName: "rowspan", publicName: "rowspan", isSignal: true, isRequired: false, transformFunction: null }, headers: { classPropertyName: "headers", publicName: "headers", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `<td
9685
9759
  #_ref
9686
- [attr.id]="id()"
9760
+ [attr.id]="id() ?? propOverrides()?.id"
9687
9761
  [class]="cls('db-table-data-cell', className())"
9688
9762
  [attr.data-horizontal-alignment]="horizontalAlignment()"
9689
9763
  [attr.data-vertical-alignment]="verticalAlignment()"
@@ -9698,7 +9772,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
9698
9772
  type: Component,
9699
9773
  args: [{ selector: "db-table-data-cell", standalone: true, imports: [CommonModule], template: `<td
9700
9774
  #_ref
9701
- [attr.id]="id()"
9775
+ [attr.id]="id() ?? propOverrides()?.id"
9702
9776
  [class]="cls('db-table-data-cell', className())"
9703
9777
  [attr.data-horizontal-alignment]="horizontalAlignment()"
9704
9778
  [attr.data-vertical-alignment]="verticalAlignment()"
@@ -9708,7 +9782,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
9708
9782
  >
9709
9783
  <ng-content></ng-content>
9710
9784
  </td> `, styles: [":host{display:contents}\n"] }]
9711
- }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], horizontalAlignment: [{ type: i0.Input, args: [{ isSignal: true, alias: "horizontalAlignment", required: false }] }], verticalAlignment: [{ type: i0.Input, args: [{ isSignal: true, alias: "verticalAlignment", required: false }] }], colSpan: [{ type: i0.Input, args: [{ isSignal: true, alias: "colSpan", required: false }] }], colspan: [{ type: i0.Input, args: [{ isSignal: true, alias: "colspan", required: false }] }], rowSpan: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowSpan", required: false }] }], rowspan: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowspan", required: false }] }], headers: [{ type: i0.Input, args: [{ isSignal: true, alias: "headers", required: false }] }], _ref: [{ type: i0.ViewChild, args: ["_ref", { isSignal: true }] }] } });
9785
+ }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], propOverrides: [{ type: i0.Input, args: [{ isSignal: true, alias: "propOverrides", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], horizontalAlignment: [{ type: i0.Input, args: [{ isSignal: true, alias: "horizontalAlignment", required: false }] }], verticalAlignment: [{ type: i0.Input, args: [{ isSignal: true, alias: "verticalAlignment", required: false }] }], colSpan: [{ type: i0.Input, args: [{ isSignal: true, alias: "colSpan", required: false }] }], colspan: [{ type: i0.Input, args: [{ isSignal: true, alias: "colspan", required: false }] }], rowSpan: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowSpan", required: false }] }], rowspan: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowspan", required: false }] }], headers: [{ type: i0.Input, args: [{ isSignal: true, alias: "headers", required: false }] }], _ref: [{ type: i0.ViewChild, args: ["_ref", { isSignal: true }] }] } });
9712
9786
 
9713
9787
  const defaultProps$8 = {};
9714
9788
  class DBTableHeaderCell {
@@ -9717,6 +9791,7 @@ class DBTableHeaderCell {
9717
9791
  this.getBooleanAsString = getBooleanAsString;
9718
9792
  this.getNumber = getNumber;
9719
9793
  this.id = input(...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
9794
+ this.propOverrides = input(...(ngDevMode ? [undefined, { debugName: "propOverrides" }] : /* istanbul ignore next */ []));
9720
9795
  this.className = input(...(ngDevMode ? [undefined, { debugName: "className" }] : /* istanbul ignore next */ []));
9721
9796
  this.horizontalAlignment = input(...(ngDevMode ? [undefined, { debugName: "horizontalAlignment" }] : /* istanbul ignore next */ []));
9722
9797
  this.verticalAlignment = input(...(ngDevMode ? [undefined, { debugName: "verticalAlignment" }] : /* istanbul ignore next */ []));
@@ -9776,9 +9851,9 @@ class DBTableHeaderCell {
9776
9851
  this.enableAttributePassing(element, "db-table-header-cell");
9777
9852
  }
9778
9853
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DBTableHeaderCell, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9779
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.17", type: DBTableHeaderCell, isStandalone: true, selector: "db-table-header-cell", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, horizontalAlignment: { classPropertyName: "horizontalAlignment", publicName: "horizontalAlignment", isSignal: true, isRequired: false, transformFunction: null }, verticalAlignment: { classPropertyName: "verticalAlignment", publicName: "verticalAlignment", isSignal: true, isRequired: false, transformFunction: null }, noText: { classPropertyName: "noText", publicName: "noText", isSignal: true, isRequired: false, transformFunction: null }, scope: { classPropertyName: "scope", publicName: "scope", isSignal: true, isRequired: false, transformFunction: null }, colSpan: { classPropertyName: "colSpan", publicName: "colSpan", isSignal: true, isRequired: false, transformFunction: null }, colspan: { classPropertyName: "colspan", publicName: "colspan", isSignal: true, isRequired: false, transformFunction: null }, rowSpan: { classPropertyName: "rowSpan", publicName: "rowSpan", isSignal: true, isRequired: false, transformFunction: null }, rowspan: { classPropertyName: "rowspan", publicName: "rowspan", isSignal: true, isRequired: false, transformFunction: null }, headers: { classPropertyName: "headers", publicName: "headers", isSignal: true, isRequired: false, transformFunction: null }, abbr: { classPropertyName: "abbr", publicName: "abbr", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `<th
9854
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.17", type: DBTableHeaderCell, isStandalone: true, selector: "db-table-header-cell", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, propOverrides: { classPropertyName: "propOverrides", publicName: "propOverrides", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, horizontalAlignment: { classPropertyName: "horizontalAlignment", publicName: "horizontalAlignment", isSignal: true, isRequired: false, transformFunction: null }, verticalAlignment: { classPropertyName: "verticalAlignment", publicName: "verticalAlignment", isSignal: true, isRequired: false, transformFunction: null }, noText: { classPropertyName: "noText", publicName: "noText", isSignal: true, isRequired: false, transformFunction: null }, scope: { classPropertyName: "scope", publicName: "scope", isSignal: true, isRequired: false, transformFunction: null }, colSpan: { classPropertyName: "colSpan", publicName: "colSpan", isSignal: true, isRequired: false, transformFunction: null }, colspan: { classPropertyName: "colspan", publicName: "colspan", isSignal: true, isRequired: false, transformFunction: null }, rowSpan: { classPropertyName: "rowSpan", publicName: "rowSpan", isSignal: true, isRequired: false, transformFunction: null }, rowspan: { classPropertyName: "rowspan", publicName: "rowspan", isSignal: true, isRequired: false, transformFunction: null }, headers: { classPropertyName: "headers", publicName: "headers", isSignal: true, isRequired: false, transformFunction: null }, abbr: { classPropertyName: "abbr", publicName: "abbr", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `<th
9780
9855
  #_ref
9781
- [attr.id]="id()"
9856
+ [attr.id]="id() ?? propOverrides()?.id"
9782
9857
  [class]="cls('db-table-header-cell', className())"
9783
9858
  [attr.data-horizontal-alignment]="horizontalAlignment()"
9784
9859
  [attr.data-vertical-alignment]="verticalAlignment()"
@@ -9796,7 +9871,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
9796
9871
  type: Component,
9797
9872
  args: [{ selector: "db-table-header-cell", standalone: true, imports: [CommonModule], template: `<th
9798
9873
  #_ref
9799
- [attr.id]="id()"
9874
+ [attr.id]="id() ?? propOverrides()?.id"
9800
9875
  [class]="cls('db-table-header-cell', className())"
9801
9876
  [attr.data-horizontal-alignment]="horizontalAlignment()"
9802
9877
  [attr.data-vertical-alignment]="verticalAlignment()"
@@ -9809,7 +9884,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
9809
9884
  >
9810
9885
  <ng-content></ng-content>
9811
9886
  </th> `, styles: [":host{display:contents}\n"] }]
9812
- }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], horizontalAlignment: [{ type: i0.Input, args: [{ isSignal: true, alias: "horizontalAlignment", required: false }] }], verticalAlignment: [{ type: i0.Input, args: [{ isSignal: true, alias: "verticalAlignment", required: false }] }], noText: [{ type: i0.Input, args: [{ isSignal: true, alias: "noText", required: false }] }], scope: [{ type: i0.Input, args: [{ isSignal: true, alias: "scope", required: false }] }], colSpan: [{ type: i0.Input, args: [{ isSignal: true, alias: "colSpan", required: false }] }], colspan: [{ type: i0.Input, args: [{ isSignal: true, alias: "colspan", required: false }] }], rowSpan: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowSpan", required: false }] }], rowspan: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowspan", required: false }] }], headers: [{ type: i0.Input, args: [{ isSignal: true, alias: "headers", required: false }] }], abbr: [{ type: i0.Input, args: [{ isSignal: true, alias: "abbr", required: false }] }], _ref: [{ type: i0.ViewChild, args: ["_ref", { isSignal: true }] }] } });
9887
+ }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], propOverrides: [{ type: i0.Input, args: [{ isSignal: true, alias: "propOverrides", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], horizontalAlignment: [{ type: i0.Input, args: [{ isSignal: true, alias: "horizontalAlignment", required: false }] }], verticalAlignment: [{ type: i0.Input, args: [{ isSignal: true, alias: "verticalAlignment", required: false }] }], noText: [{ type: i0.Input, args: [{ isSignal: true, alias: "noText", required: false }] }], scope: [{ type: i0.Input, args: [{ isSignal: true, alias: "scope", required: false }] }], colSpan: [{ type: i0.Input, args: [{ isSignal: true, alias: "colSpan", required: false }] }], colspan: [{ type: i0.Input, args: [{ isSignal: true, alias: "colspan", required: false }] }], rowSpan: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowSpan", required: false }] }], rowspan: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowspan", required: false }] }], headers: [{ type: i0.Input, args: [{ isSignal: true, alias: "headers", required: false }] }], abbr: [{ type: i0.Input, args: [{ isSignal: true, alias: "abbr", required: false }] }], _ref: [{ type: i0.ViewChild, args: ["_ref", { isSignal: true }] }] } });
9813
9888
 
9814
9889
  const defaultProps$7 = {};
9815
9890
  class DBTableRow {
@@ -9824,6 +9899,7 @@ class DBTableRow {
9824
9899
  this.getBooleanAsString = getBooleanAsString;
9825
9900
  this.uuid = uuid;
9826
9901
  this.id = input(...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
9902
+ this.propOverrides = input(...(ngDevMode ? [undefined, { debugName: "propOverrides" }] : /* istanbul ignore next */ []));
9827
9903
  this.className = input(...(ngDevMode ? [undefined, { debugName: "className" }] : /* istanbul ignore next */ []));
9828
9904
  this.interactive = input(...(ngDevMode ? [undefined, { debugName: "interactive" }] : /* istanbul ignore next */ []));
9829
9905
  this.subHeaderEmphasis = input(...(ngDevMode ? [undefined, { debugName: "subHeaderEmphasis" }] : /* istanbul ignore next */ []));
@@ -9876,9 +9952,9 @@ class DBTableRow {
9876
9952
  this.enableAttributePassing(element, "db-table-row");
9877
9953
  }
9878
9954
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DBTableRow, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9879
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: DBTableRow, isStandalone: true, selector: "db-table-row", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, interactive: { classPropertyName: "interactive", publicName: "interactive", isSignal: true, isRequired: false, transformFunction: null }, subHeaderEmphasis: { classPropertyName: "subHeaderEmphasis", publicName: "subHeaderEmphasis", isSignal: true, isRequired: false, transformFunction: null }, cells: { classPropertyName: "cells", publicName: "cells", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `<tr
9955
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: DBTableRow, isStandalone: true, selector: "db-table-row", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, propOverrides: { classPropertyName: "propOverrides", publicName: "propOverrides", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, interactive: { classPropertyName: "interactive", publicName: "interactive", isSignal: true, isRequired: false, transformFunction: null }, subHeaderEmphasis: { classPropertyName: "subHeaderEmphasis", publicName: "subHeaderEmphasis", isSignal: true, isRequired: false, transformFunction: null }, cells: { classPropertyName: "cells", publicName: "cells", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `<tr
9880
9956
  #_ref
9881
- [attr.id]="id()"
9957
+ [attr.id]="id() ?? propOverrides()?.id"
9882
9958
  [class]="cls('db-table-row', className())"
9883
9959
  [attr.data-interactive]="getBooleanAsString(interactive())"
9884
9960
  [attr.data-sub-header-emphasis]="subHeaderEmphasis()"
@@ -9956,13 +10032,13 @@ class DBTableRow {
9956
10032
  } } }@else{
9957
10033
  <ng-content></ng-content>
9958
10034
  }
9959
- </tr> `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DBTableDataCell, selector: "db-table-data-cell", inputs: ["id", "className", "horizontalAlignment", "verticalAlignment", "colSpan", "colspan", "rowSpan", "rowspan", "headers"] }, { kind: "component", type: DBLink, selector: "db-link", inputs: ["id", "propOverrides", "className", "href", "target", "rel", "role", "referrerpolicy", "referrerPolicy", "hreflang", "disabled", "size", "showIcon", "variant", "content", "wrap", "text"] }, { kind: "component", type: DBTableHeaderCell, selector: "db-table-header-cell", inputs: ["id", "className", "horizontalAlignment", "verticalAlignment", "noText", "scope", "colSpan", "colspan", "rowSpan", "rowspan", "headers", "abbr"] }] }); }
10035
+ </tr> `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DBTableDataCell, selector: "db-table-data-cell", inputs: ["id", "propOverrides", "className", "horizontalAlignment", "verticalAlignment", "colSpan", "colspan", "rowSpan", "rowspan", "headers"] }, { kind: "component", type: DBLink, selector: "db-link", inputs: ["id", "propOverrides", "className", "href", "target", "rel", "role", "referrerpolicy", "referrerPolicy", "hreflang", "disabled", "size", "showIcon", "variant", "content", "wrap", "text"] }, { kind: "component", type: DBTableHeaderCell, selector: "db-table-header-cell", inputs: ["id", "propOverrides", "className", "horizontalAlignment", "verticalAlignment", "noText", "scope", "colSpan", "colspan", "rowSpan", "rowspan", "headers", "abbr"] }] }); }
9960
10036
  }
9961
10037
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DBTableRow, decorators: [{
9962
10038
  type: Component,
9963
10039
  args: [{ selector: "db-table-row", standalone: true, imports: [CommonModule, DBTableDataCell, DBLink, DBTableHeaderCell], template: `<tr
9964
10040
  #_ref
9965
- [attr.id]="id()"
10041
+ [attr.id]="id() ?? propOverrides()?.id"
9966
10042
  [class]="cls('db-table-row', className())"
9967
10043
  [attr.data-interactive]="getBooleanAsString(interactive())"
9968
10044
  [attr.data-sub-header-emphasis]="subHeaderEmphasis()"
@@ -10041,7 +10117,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
10041
10117
  <ng-content></ng-content>
10042
10118
  }
10043
10119
  </tr> `, styles: [":host{display:contents}\n"] }]
10044
- }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], interactive: [{ type: i0.Input, args: [{ isSignal: true, alias: "interactive", required: false }] }], subHeaderEmphasis: [{ type: i0.Input, args: [{ isSignal: true, alias: "subHeaderEmphasis", required: false }] }], cells: [{ type: i0.Input, args: [{ isSignal: true, alias: "cells", required: false }] }], _ref: [{ type: i0.ViewChild, args: ["_ref", { isSignal: true }] }] } });
10120
+ }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], propOverrides: [{ type: i0.Input, args: [{ isSignal: true, alias: "propOverrides", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], interactive: [{ type: i0.Input, args: [{ isSignal: true, alias: "interactive", required: false }] }], subHeaderEmphasis: [{ type: i0.Input, args: [{ isSignal: true, alias: "subHeaderEmphasis", required: false }] }], cells: [{ type: i0.Input, args: [{ isSignal: true, alias: "cells", required: false }] }], _ref: [{ type: i0.ViewChild, args: ["_ref", { isSignal: true }] }] } });
10045
10121
 
10046
10122
  const defaultProps$6 = {};
10047
10123
  class DBTableBody {
@@ -10052,6 +10128,7 @@ class DBTableBody {
10052
10128
  this.cls = cls;
10053
10129
  this.uuid = uuid;
10054
10130
  this.id = input(...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
10131
+ this.propOverrides = input(...(ngDevMode ? [undefined, { debugName: "propOverrides" }] : /* istanbul ignore next */ []));
10055
10132
  this.className = input(...(ngDevMode ? [undefined, { debugName: "className" }] : /* istanbul ignore next */ []));
10056
10133
  this.rows = input(...(ngDevMode ? [undefined, { debugName: "rows" }] : /* istanbul ignore next */ []));
10057
10134
  this._ref = viewChild("_ref", ...(ngDevMode ? [{ debugName: "_ref" }] : /* istanbul ignore next */ []));
@@ -10102,9 +10179,9 @@ class DBTableBody {
10102
10179
  this.enableAttributePassing(element, "db-table-body");
10103
10180
  }
10104
10181
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DBTableBody, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10105
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: DBTableBody, isStandalone: true, selector: "db-table-body", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `<tbody
10182
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: DBTableBody, isStandalone: true, selector: "db-table-body", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, propOverrides: { classPropertyName: "propOverrides", publicName: "propOverrides", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `<tbody
10106
10183
  #_ref
10107
- [attr.id]="id()"
10184
+ [attr.id]="id() ?? propOverrides()?.id"
10108
10185
  [class]="cls('db-table-body', className())"
10109
10186
  >
10110
10187
  @if(rows()){ @for (row of rows();track trackByRow0(index, row);let index =
@@ -10118,13 +10195,13 @@ class DBTableBody {
10118
10195
  } }@else{
10119
10196
  <ng-content></ng-content>
10120
10197
  }
10121
- </tbody> `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DBTableRow, selector: "db-table-row", inputs: ["id", "className", "interactive", "subHeaderEmphasis", "cells"] }] }); }
10198
+ </tbody> `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DBTableRow, selector: "db-table-row", inputs: ["id", "propOverrides", "className", "interactive", "subHeaderEmphasis", "cells"] }] }); }
10122
10199
  }
10123
10200
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DBTableBody, decorators: [{
10124
10201
  type: Component,
10125
10202
  args: [{ selector: "db-table-body", standalone: true, imports: [CommonModule, DBTableRow], template: `<tbody
10126
10203
  #_ref
10127
- [attr.id]="id()"
10204
+ [attr.id]="id() ?? propOverrides()?.id"
10128
10205
  [class]="cls('db-table-body', className())"
10129
10206
  >
10130
10207
  @if(rows()){ @for (row of rows();track trackByRow0(index, row);let index =
@@ -10139,7 +10216,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
10139
10216
  <ng-content></ng-content>
10140
10217
  }
10141
10218
  </tbody> `, styles: [":host{display:contents}\n"] }]
10142
- }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }], _ref: [{ type: i0.ViewChild, args: ["_ref", { isSignal: true }] }] } });
10219
+ }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], propOverrides: [{ type: i0.Input, args: [{ isSignal: true, alias: "propOverrides", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }], _ref: [{ type: i0.ViewChild, args: ["_ref", { isSignal: true }] }] } });
10143
10220
 
10144
10221
  const defaultProps$5 = {};
10145
10222
  class DBTableFooter {
@@ -10150,6 +10227,7 @@ class DBTableFooter {
10150
10227
  this.cls = cls;
10151
10228
  this.uuid = uuid;
10152
10229
  this.id = input(...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
10230
+ this.propOverrides = input(...(ngDevMode ? [undefined, { debugName: "propOverrides" }] : /* istanbul ignore next */ []));
10153
10231
  this.className = input(...(ngDevMode ? [undefined, { debugName: "className" }] : /* istanbul ignore next */ []));
10154
10232
  this.rows = input(...(ngDevMode ? [undefined, { debugName: "rows" }] : /* istanbul ignore next */ []));
10155
10233
  this._ref = viewChild("_ref", ...(ngDevMode ? [{ debugName: "_ref" }] : /* istanbul ignore next */ []));
@@ -10200,9 +10278,9 @@ class DBTableFooter {
10200
10278
  this.enableAttributePassing(element, "db-table-footer");
10201
10279
  }
10202
10280
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DBTableFooter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10203
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: DBTableFooter, isStandalone: true, selector: "db-table-footer", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `<tfoot
10281
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: DBTableFooter, isStandalone: true, selector: "db-table-footer", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, propOverrides: { classPropertyName: "propOverrides", publicName: "propOverrides", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `<tfoot
10204
10282
  #_ref
10205
- [attr.id]="id()"
10283
+ [attr.id]="id() ?? propOverrides()?.id"
10206
10284
  [class]="cls('db-table-footer', className())"
10207
10285
  >
10208
10286
  @if(rows()){ @for (row of rows();track trackByRow0(index, row);let index =
@@ -10216,13 +10294,13 @@ class DBTableFooter {
10216
10294
  } }@else{
10217
10295
  <ng-content></ng-content>
10218
10296
  }
10219
- </tfoot> `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DBTableRow, selector: "db-table-row", inputs: ["id", "className", "interactive", "subHeaderEmphasis", "cells"] }] }); }
10297
+ </tfoot> `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DBTableRow, selector: "db-table-row", inputs: ["id", "propOverrides", "className", "interactive", "subHeaderEmphasis", "cells"] }] }); }
10220
10298
  }
10221
10299
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DBTableFooter, decorators: [{
10222
10300
  type: Component,
10223
10301
  args: [{ selector: "db-table-footer", standalone: true, imports: [CommonModule, DBTableRow], template: `<tfoot
10224
10302
  #_ref
10225
- [attr.id]="id()"
10303
+ [attr.id]="id() ?? propOverrides()?.id"
10226
10304
  [class]="cls('db-table-footer', className())"
10227
10305
  >
10228
10306
  @if(rows()){ @for (row of rows();track trackByRow0(index, row);let index =
@@ -10237,7 +10315,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
10237
10315
  <ng-content></ng-content>
10238
10316
  }
10239
10317
  </tfoot> `, styles: [":host{display:contents}\n"] }]
10240
- }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }], _ref: [{ type: i0.ViewChild, args: ["_ref", { isSignal: true }] }] } });
10318
+ }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], propOverrides: [{ type: i0.Input, args: [{ isSignal: true, alias: "propOverrides", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }], _ref: [{ type: i0.ViewChild, args: ["_ref", { isSignal: true }] }] } });
10241
10319
 
10242
10320
  const defaultProps$4 = {};
10243
10321
  class DBTableHead {
@@ -10273,6 +10351,7 @@ class DBTableHead {
10273
10351
  this.cls = cls;
10274
10352
  this.uuid = uuid;
10275
10353
  this.id = input(...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
10354
+ this.propOverrides = input(...(ngDevMode ? [undefined, { debugName: "propOverrides" }] : /* istanbul ignore next */ []));
10276
10355
  this.className = input(...(ngDevMode ? [undefined, { debugName: "className" }] : /* istanbul ignore next */ []));
10277
10356
  this.rows = input(...(ngDevMode ? [undefined, { debugName: "rows" }] : /* istanbul ignore next */ []));
10278
10357
  this._ref = viewChild("_ref", ...(ngDevMode ? [{ debugName: "_ref" }] : /* istanbul ignore next */ []));
@@ -10330,9 +10409,9 @@ class DBTableHead {
10330
10409
  this.observer()?.disconnect();
10331
10410
  }
10332
10411
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DBTableHead, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10333
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: DBTableHead, isStandalone: true, selector: "db-table-head", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `<thead
10412
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: DBTableHead, isStandalone: true, selector: "db-table-head", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, propOverrides: { classPropertyName: "propOverrides", publicName: "propOverrides", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `<thead
10334
10413
  #_ref
10335
- [attr.id]="id()"
10414
+ [attr.id]="id() ?? propOverrides()?.id"
10336
10415
  [class]="cls('db-table-head', className())"
10337
10416
  >
10338
10417
  @if(rows()){ @for (row of rows();track trackByRow0(index, row);let index =
@@ -10347,13 +10426,13 @@ class DBTableHead {
10347
10426
  } }@else{
10348
10427
  <ng-content></ng-content>
10349
10428
  }
10350
- </thead> `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DBTableRow, selector: "db-table-row", inputs: ["id", "className", "interactive", "subHeaderEmphasis", "cells"] }] }); }
10429
+ </thead> `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DBTableRow, selector: "db-table-row", inputs: ["id", "propOverrides", "className", "interactive", "subHeaderEmphasis", "cells"] }] }); }
10351
10430
  }
10352
10431
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DBTableHead, decorators: [{
10353
10432
  type: Component,
10354
10433
  args: [{ selector: "db-table-head", standalone: true, imports: [CommonModule, DBTableRow], template: `<thead
10355
10434
  #_ref
10356
- [attr.id]="id()"
10435
+ [attr.id]="id() ?? propOverrides()?.id"
10357
10436
  [class]="cls('db-table-head', className())"
10358
10437
  >
10359
10438
  @if(rows()){ @for (row of rows();track trackByRow0(index, row);let index =
@@ -10369,7 +10448,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
10369
10448
  <ng-content></ng-content>
10370
10449
  }
10371
10450
  </thead> `, styles: [":host{display:contents}\n"] }]
10372
- }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }], _ref: [{ type: i0.ViewChild, args: ["_ref", { isSignal: true }] }] } });
10451
+ }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], propOverrides: [{ type: i0.Input, args: [{ isSignal: true, alias: "propOverrides", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }], _ref: [{ type: i0.ViewChild, args: ["_ref", { isSignal: true }] }] } });
10373
10452
 
10374
10453
  const defaultProps$3 = {};
10375
10454
  class DBTable {
@@ -10418,6 +10497,7 @@ class DBTable {
10418
10497
  this.showCaption = input(...(ngDevMode ? [undefined, { debugName: "showCaption" }] : /* istanbul ignore next */ []));
10419
10498
  this.stickyHeader = input(...(ngDevMode ? [undefined, { debugName: "stickyHeader" }] : /* istanbul ignore next */ []));
10420
10499
  this.id = input(...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
10500
+ this.propOverrides = input(...(ngDevMode ? [undefined, { debugName: "propOverrides" }] : /* istanbul ignore next */ []));
10421
10501
  this.captionPlain = input(...(ngDevMode ? [undefined, { debugName: "captionPlain" }] : /* istanbul ignore next */ []));
10422
10502
  this._ref = viewChild("_ref", ...(ngDevMode ? [{ debugName: "_ref" }] : /* istanbul ignore next */ []));
10423
10503
  this._data = signal(undefined, ...(ngDevMode ? [{ debugName: "_data" }] : /* istanbul ignore next */ []));
@@ -10546,7 +10626,7 @@ class DBTable {
10546
10626
  this.observer()?.disconnect();
10547
10627
  }
10548
10628
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DBTable, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10549
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: DBTable, isStandalone: true, selector: "db-table", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, mobileVariant: { classPropertyName: "mobileVariant", publicName: "mobileVariant", isSignal: true, isRequired: false, transformFunction: null }, columnSizes: { classPropertyName: "columnSizes", publicName: "columnSizes", 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 }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, divider: { classPropertyName: "divider", publicName: "divider", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, showCaption: { classPropertyName: "showCaption", publicName: "showCaption", isSignal: true, isRequired: false, transformFunction: null }, stickyHeader: { classPropertyName: "stickyHeader", publicName: "stickyHeader", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, captionPlain: { classPropertyName: "captionPlain", publicName: "captionPlain", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `<div
10629
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: DBTable, isStandalone: true, selector: "db-table", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, mobileVariant: { classPropertyName: "mobileVariant", publicName: "mobileVariant", isSignal: true, isRequired: false, transformFunction: null }, columnSizes: { classPropertyName: "columnSizes", publicName: "columnSizes", 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 }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, divider: { classPropertyName: "divider", publicName: "divider", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, showCaption: { classPropertyName: "showCaption", publicName: "showCaption", isSignal: true, isRequired: false, transformFunction: null }, stickyHeader: { classPropertyName: "stickyHeader", publicName: "stickyHeader", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, propOverrides: { classPropertyName: "propOverrides", publicName: "propOverrides", isSignal: true, isRequired: false, transformFunction: null }, captionPlain: { classPropertyName: "captionPlain", publicName: "captionPlain", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true, isSignal: true }], ngImport: i0, template: `<div
10550
10630
  [class]="cls('db-table', className())"
10551
10631
  [ngStyle]="_style()"
10552
10632
  [attr.data-width]="width()"
@@ -10557,7 +10637,7 @@ class DBTable {
10557
10637
  [attr.data-show-caption]="getBooleanAsString(showCaption())"
10558
10638
  [attr.data-sticky-header]="stickyHeader()"
10559
10639
  >
10560
- <table #_ref [attr.id]="id()">
10640
+ <table #_ref [attr.id]="id() ?? propOverrides()?.id">
10561
10641
  @if(captionPlain()){
10562
10642
  <caption>
10563
10643
  {{captionPlain()}}
@@ -10574,7 +10654,7 @@ class DBTable {
10574
10654
  <ng-content></ng-content>
10575
10655
  }
10576
10656
  </table>
10577
- </div> `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: DBTableHead, selector: "db-table-head", inputs: ["id", "className", "rows"] }, { kind: "component", type: DBTableBody, selector: "db-table-body", inputs: ["id", "className", "rows"] }, { kind: "component", type: DBTableFooter, selector: "db-table-footer", inputs: ["id", "className", "rows"] }] }); }
10657
+ </div> `, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: DBTableHead, selector: "db-table-head", inputs: ["id", "propOverrides", "className", "rows"] }, { kind: "component", type: DBTableBody, selector: "db-table-body", inputs: ["id", "propOverrides", "className", "rows"] }, { kind: "component", type: DBTableFooter, selector: "db-table-footer", inputs: ["id", "propOverrides", "className", "rows"] }] }); }
10578
10658
  }
10579
10659
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DBTable, decorators: [{
10580
10660
  type: Component,
@@ -10589,7 +10669,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
10589
10669
  [attr.data-show-caption]="getBooleanAsString(showCaption())"
10590
10670
  [attr.data-sticky-header]="stickyHeader()"
10591
10671
  >
10592
- <table #_ref [attr.id]="id()">
10672
+ <table #_ref [attr.id]="id() ?? propOverrides()?.id">
10593
10673
  @if(captionPlain()){
10594
10674
  <caption>
10595
10675
  {{captionPlain()}}
@@ -10607,7 +10687,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
10607
10687
  }
10608
10688
  </table>
10609
10689
  </div> `, styles: [":host{display:contents}\n"] }]
10610
- }], ctorParameters: () => [], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], mobileVariant: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileVariant", required: false }] }], columnSizes: [{ type: i0.Input, args: [{ isSignal: true, alias: "columnSizes", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], divider: [{ type: i0.Input, args: [{ isSignal: true, alias: "divider", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], showCaption: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCaption", required: false }] }], stickyHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "stickyHeader", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], captionPlain: [{ type: i0.Input, args: [{ isSignal: true, alias: "captionPlain", required: false }] }], _ref: [{ type: i0.ViewChild, args: ["_ref", { isSignal: true }] }] } });
10690
+ }], ctorParameters: () => [], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], mobileVariant: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileVariant", required: false }] }], columnSizes: [{ type: i0.Input, args: [{ isSignal: true, alias: "columnSizes", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], divider: [{ type: i0.Input, args: [{ isSignal: true, alias: "divider", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], showCaption: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCaption", required: false }] }], stickyHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "stickyHeader", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], propOverrides: [{ type: i0.Input, args: [{ isSignal: true, alias: "propOverrides", required: false }] }], captionPlain: [{ type: i0.Input, args: [{ isSignal: true, alias: "captionPlain", required: false }] }], _ref: [{ type: i0.ViewChild, args: ["_ref", { isSignal: true }] }] } });
10611
10691
 
10612
10692
  const defaultProps$2 = {};
10613
10693
  class DBTableCaption {
@@ -10633,6 +10713,7 @@ class DBTableCaption {
10633
10713
  constructor() {
10634
10714
  this.cls = cls;
10635
10715
  this.id = input(...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
10716
+ this.propOverrides = input(...(ngDevMode ? [undefined, { debugName: "propOverrides" }] : /* istanbul ignore next */ []));
10636
10717
  this.className = input(...(ngDevMode ? [undefined, { debugName: "className" }] : /* istanbul ignore next */ []));
10637
10718
  this._ref = viewChild("_ref", ...(ngDevMode ? [{ debugName: "_ref" }] : /* istanbul ignore next */ []));
10638
10719
  this.observer = signal(undefined, ...(ngDevMode ? [{ debugName: "observer" }] : /* istanbul ignore next */ []));
@@ -10689,9 +10770,9 @@ class DBTableCaption {
10689
10770
  this.observer()?.disconnect();
10690
10771
  }
10691
10772
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DBTableCaption, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10692
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.17", type: DBTableCaption, isStandalone: true, selector: "db-table-caption", 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: `<caption
10773
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.17", type: DBTableCaption, isStandalone: true, selector: "db-table-caption", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, propOverrides: { classPropertyName: "propOverrides", publicName: "propOverrides", 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: `<caption
10693
10774
  #_ref
10694
- [attr.id]="id()"
10775
+ [attr.id]="id() ?? propOverrides()?.id"
10695
10776
  [class]="cls('db-table-caption', className())"
10696
10777
  >
10697
10778
  <ng-content></ng-content>
@@ -10701,12 +10782,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
10701
10782
  type: Component,
10702
10783
  args: [{ selector: "db-table-caption", standalone: true, imports: [CommonModule], template: `<caption
10703
10784
  #_ref
10704
- [attr.id]="id()"
10785
+ [attr.id]="id() ?? propOverrides()?.id"
10705
10786
  [class]="cls('db-table-caption', className())"
10706
10787
  >
10707
10788
  <ng-content></ng-content>
10708
10789
  </caption> `, styles: [":host{display:contents}\n"] }]
10709
- }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], _ref: [{ type: i0.ViewChild, args: ["_ref", { isSignal: true }] }] } });
10790
+ }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], propOverrides: [{ type: i0.Input, args: [{ isSignal: true, alias: "propOverrides", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], _ref: [{ type: i0.ViewChild, args: ["_ref", { isSignal: true }] }] } });
10710
10791
 
10711
10792
  const DBTableHeaderCellScopeList = ['row', 'col', 'rowgroup', 'colgroup'];
10712
10793
 
@@ -11128,7 +11209,7 @@ class DBTextarea {
11128
11209
  }
11129
11210
  // If Signal Forms says "valid" but native validation disagrees, reset _valid
11130
11211
  // so native validation can take over via CSS :user-invalid selectors
11131
- if (this._valid() === 'valid' && this._ref()?.nativeElement && !this._ref()?.nativeElement?.validity?.valid) {
11212
+ if (this._valid() === 'valid' && this._ref()?.nativeElement?.validity && !this._ref()?.nativeElement?.validity?.valid) {
11132
11213
  this._valid.set(undefined);
11133
11214
  this._validMessage.set('');
11134
11215
  }
@@ -11397,6 +11478,13 @@ class DBTextarea {
11397
11478
  }
11398
11479
  }
11399
11480
  }
11481
+ /**
11482
+ * Reflect Signal Forms hidden state to the host element.
11483
+ * This intentionally intercepts Angular's native [hidden] binding —
11484
+ * consumers using [hidden]="condition" will hide the component via
11485
+ * :host([hidden]) { display: none !important }.
11486
+ */
11487
+ get isHidden() { return this.hidden(); }
11400
11488
  /** @legacy CVA - will be removed in a future major version */
11401
11489
  writeValue(value) {
11402
11490
  this.value.set(value);
@@ -11417,8 +11505,6 @@ class DBTextarea {
11417
11505
  setDisabledState(disabled) {
11418
11506
  this.disabled.set(disabled);
11419
11507
  }
11420
- /** Reflect Signal Forms hidden state to the host element */
11421
- get isHidden() { return this.hidden(); }
11422
11508
  ngAfterViewInit() {
11423
11509
  const element = this._ref()?.nativeElement;
11424
11510
  this.enableAttributePassing(element, "db-textarea");