@ng-forge/dynamic-forms-bootstrap 0.1.3 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-forge/dynamic-forms-bootstrap",
3
- "version": "0.1.3",
3
+ "version": "0.2.0",
4
4
  "description": "Bootstrap 5 integration for @ng-forge/dynamic-forms. Pre-built Bootstrap form components.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -28,10 +28,10 @@
28
28
  "node": ">=18"
29
29
  },
30
30
  "peerDependencies": {
31
- "@angular/common": "~21.0.5",
32
- "@angular/core": "~21.0.5",
33
- "@angular/forms": "~21.0.5",
34
- "@ng-forge/dynamic-forms": "~0.1.3",
31
+ "@angular/common": ">=21.0.6",
32
+ "@angular/core": ">=21.0.6",
33
+ "@angular/forms": ">=21.0.6",
34
+ "@ng-forge/dynamic-forms": "~0.2.0",
35
35
  "rxjs": ">=7.0.0"
36
36
  },
37
37
  "module": "fesm2022/ng-forge-dynamic-forms-bootstrap.mjs",
@@ -201,6 +201,25 @@ declare class BsInputFieldComponent implements BsInputComponent {
201
201
  private bootstrapConfig;
202
202
  readonly field: _angular_core.InputSignal<FieldTree<string>>;
203
203
  readonly key: _angular_core.InputSignal<string>;
204
+ /**
205
+ * Reference to the native input element.
206
+ * Used to imperatively sync the readonly attribute since Angular Signal Forms'
207
+ * [field] directive doesn't sync FieldState.readonly() to the DOM.
208
+ */
209
+ private readonly inputRef;
210
+ /**
211
+ * Computed signal that extracts the readonly state from the field.
212
+ * Used by the effect to reactively sync the readonly attribute to the DOM.
213
+ */
214
+ private readonly isReadonly;
215
+ /**
216
+ * Workaround: Angular Signal Forms' [field] directive does NOT sync the readonly
217
+ * attribute to the DOM. This effect imperatively sets/removes the readonly attribute
218
+ * on the native input element whenever the readonly state changes.
219
+ *
220
+ * Uses afterRenderEffect to ensure DOM is ready before manipulating attributes.
221
+ */
222
+ private readonly syncReadonlyToDom;
204
223
  readonly label: _angular_core.InputSignal<DynamicText | undefined>;
205
224
  readonly placeholder: _angular_core.InputSignal<DynamicText | undefined>;
206
225
  readonly className: _angular_core.InputSignal<string>;