@dereekb/dbx-components-mcp 13.10.6 → 13.10.8

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.
@@ -12,17 +12,12 @@
12
12
  "produces": "string",
13
13
  "arrayOutput": "no",
14
14
  "description": "Password input (HTML `type=\"password\"`) with secure autocomplete defaults.\n\nDefaults to the key `'password'` and label `'Password'` unless overridden.",
15
- "sourcePath": "template/login.ts",
16
15
  "example": "dbxForgeTextPasswordField({ key: 'password', required: true })",
17
16
  "properties": [],
18
17
  "composesFromSlugs": [
19
18
  "text"
20
19
  ],
21
- "configInterface": "DbxForgeTextPasswordFieldConfig",
22
- "sourceLocation": {
23
- "file": "src/lib/forge/template/login.ts",
24
- "line": 54
25
- }
20
+ "configInterface": "DbxForgeTextPasswordFieldConfig"
26
21
  },
27
22
  {
28
23
  "slug": "verify-password-field",
@@ -31,17 +26,12 @@
31
26
  "produces": "string",
32
27
  "arrayOutput": "no",
33
28
  "description": "Companion to `password-field` for sign-up flows. Defaults `autocomplete` to `new-password`. Pair with `password-with-verify-fields` for cross-field equality validation.\n\nDefaults to the key `'verifyPassword'` and label `'Verify Password'` unless overridden.",
34
- "sourcePath": "template/login.ts",
35
29
  "example": "dbxForgeTextVerifyPasswordField({ key: 'verifyPassword' })",
36
30
  "properties": [],
37
31
  "composesFromSlugs": [
38
32
  "password-field"
39
33
  ],
40
- "configInterface": "DbxForgeTextPasswordFieldConfig",
41
- "sourceLocation": {
42
- "file": "src/lib/forge/template/login.ts",
43
- "line": 85
44
- }
34
+ "configInterface": "DbxForgeTextPasswordFieldConfig"
45
35
  },
46
36
  {
47
37
  "slug": "password-with-verify-fields",
@@ -50,7 +40,6 @@
50
40
  "produces": "FieldDef[]",
51
41
  "arrayOutput": "no",
52
42
  "description": "Password + verify-password pair with cross-field equality validation wired up. Drop-in for sign-up flows.\n\nThe verify password field uses an expression-based custom validator that compares the\nverify field value against the primary password field's value via `formValue`.",
53
- "sourcePath": "template/login.ts",
54
43
  "example": "dbxForgeTextPasswordWithVerifyField({ password: { required: true } })",
55
44
  "properties": [
56
45
  {
@@ -70,11 +59,7 @@
70
59
  "password-field",
71
60
  "verify-password-field"
72
61
  ],
73
- "configInterface": "DbxForgeTextPasswordWithVerifyFieldConfig",
74
- "sourceLocation": {
75
- "file": "src/lib/forge/template/login.ts",
76
- "line": 131
77
- }
62
+ "configInterface": "DbxForgeTextPasswordWithVerifyFieldConfig"
78
63
  },
79
64
  {
80
65
  "slug": "username-password-login-fields",
@@ -83,7 +68,6 @@
83
68
  "produces": "FieldDef[]",
84
69
  "arrayOutput": "no",
85
70
  "description": "Complete login/signup field set: username, password, and optional verify-password. Drop into the top-level `fields: []`.\n\nWhen `verifyPassword` is provided, a second password field is added with a custom\nvalidator that ensures both password values match.",
86
- "sourcePath": "template/login.ts",
87
71
  "example": "dbxForgeUsernamePasswordLoginFields({ username: 'email', verifyPassword: true })",
88
72
  "properties": [
89
73
  {
@@ -110,11 +94,7 @@
110
94
  "password-field",
111
95
  "verify-password-field"
112
96
  ],
113
- "configInterface": "DbxForgeUsernameLoginFieldsConfig",
114
- "sourceLocation": {
115
- "file": "src/lib/forge/template/login.ts",
116
- "line": 229
117
- }
97
+ "configInterface": "DbxForgeUsernameLoginFieldsConfig"
118
98
  },
119
99
  {
120
100
  "slug": "username-login-field",
@@ -123,7 +103,6 @@
123
103
  "produces": "string",
124
104
  "arrayOutput": "no",
125
105
  "description": "Username field for login forms. Accepts `\"email\"` or `\"username\"` as shorthand presets, or a full config object.\n\nSupports email or plain text input based on the provided configuration.",
126
- "sourcePath": "template/login.ts",
127
106
  "example": "dbxForgeUsernameLoginField({ username: 'email' })",
128
107
  "properties": [
129
108
  {
@@ -142,11 +121,7 @@
142
121
  "composesFromSlugs": [
143
122
  "text"
144
123
  ],
145
- "configInterface": "DbxForgeUsernameLoginFieldUsernameConfigInput",
146
- "sourceLocation": {
147
- "file": "src/lib/forge/template/login.ts",
148
- "line": 270
149
- }
124
+ "configInterface": "DbxForgeUsernameLoginFieldUsernameConfigInput"
150
125
  },
151
126
  {
152
127
  "slug": "checklist",
@@ -155,17 +130,12 @@
155
130
  "produces": "T[]",
156
131
  "arrayOutput": "yes",
157
132
  "description": "Multi-checkbox group. Use for small static option sets where every option is visible at once.",
158
- "sourcePath": "field/checklist/checklist.field.ts",
159
133
  "example": "dbxForgeChecklistField<string>({ key: 'flags', props: { options: [{ value: 'a', label: 'A' }, { value: 'b', label: 'B' }] } })",
160
134
  "properties": [],
161
135
  "wrapperPattern": "unwrapped",
162
136
  "ngFormType": "multi-checkbox",
163
137
  "generic": "<T = unknown>",
164
- "configInterface": "DbxForgeChecklistFieldConfig<T>",
165
- "sourceLocation": {
166
- "file": "src/lib/forge/field/checklist/checklist.field.ts",
167
- "line": 41
168
- }
138
+ "configInterface": "DbxForgeChecklistFieldConfig<T>"
169
139
  },
170
140
  {
171
141
  "slug": "component-field",
@@ -174,7 +144,6 @@
174
144
  "produces": "T",
175
145
  "arrayOutput": "no",
176
146
  "description": "Escape hatch — injects any Angular component as the field renderer via DbxInjection. Use when no existing form field fits.\n\nUses {@link DbxInjectionComponent} to dynamically inject any Angular component\ninto the form. Generates a unique key when none is provided so that ng-forge's\nfield reconciliation treats each config change as a new field instance.",
177
- "sourcePath": "field/component/component.field.ts",
178
147
  "example": "dbxForgeComponentField<MyValue>({ key: 'custom', props: { component: MyCustomComp } })",
179
148
  "properties": [
180
149
  {
@@ -205,11 +174,7 @@
205
174
  "wrapperPattern": "unwrapped",
206
175
  "ngFormType": "component",
207
176
  "generic": "<T = unknown>",
208
- "configInterface": "DbxForgeComponentFieldConfig<T>",
209
- "sourceLocation": {
210
- "file": "src/lib/forge/field/component/component.field.ts",
211
- "line": 71
212
- }
177
+ "configInterface": "DbxForgeComponentFieldConfig<T>"
213
178
  },
214
179
  {
215
180
  "slug": "value-selection",
@@ -218,7 +183,6 @@
218
183
  "produces": "T",
219
184
  "arrayOutput": "no",
220
185
  "description": "Single-select dropdown over a static or async value list. Simpler than `source-select` when metadata lookup is unnecessary.\n\nThe component uses `<mat-form-field>` with `[formField]` for native ng-forge value binding,\nproper Material rendering, and built-in logic (hidden/disabled/readonly) support.\n\nSupports static arrays, Observable option sources, and `ValueSelectionOptionClear` entries.",
221
- "sourcePath": "field/selection/selection.field.ts",
222
186
  "example": "dbxForgeValueSelectionField<string>({ key: 'status', props: { options: [{ value: 'active', label: 'Active' }] } })",
223
187
  "properties": [
224
188
  {
@@ -243,11 +207,7 @@
243
207
  "wrapperPattern": "material-form-field-wrapped",
244
208
  "ngFormType": "dbx-value-selection",
245
209
  "generic": "<T = unknown>",
246
- "configInterface": "DbxForgeValueSelectionFieldConfig<T>",
247
- "sourceLocation": {
248
- "file": "src/lib/forge/field/selection/selection.field.ts",
249
- "line": 56
250
- }
210
+ "configInterface": "DbxForgeValueSelectionFieldConfig<T>"
251
211
  },
252
212
  {
253
213
  "slug": "text-editor",
@@ -256,7 +216,6 @@
256
216
  "produces": "string",
257
217
  "arrayOutput": "no",
258
218
  "description": "Rich HTML text editor (ngx-editor). Output is the serialized HTML string.\n\nUses ngx-editor under the hood, outputting HTML format.\nThe field defaults to an empty string.",
259
- "sourcePath": "field/texteditor/texteditor.field.ts",
260
219
  "example": "dbxForgeTextEditorField({ key: 'content', label: 'Body', maxLength: 10000 })",
261
220
  "properties": [
262
221
  {
@@ -280,11 +239,7 @@
280
239
  ],
281
240
  "wrapperPattern": "unwrapped",
282
241
  "ngFormType": "texteditor",
283
- "configInterface": "DbxForgeTextEditorFieldConfig",
284
- "sourceLocation": {
285
- "file": "src/lib/forge/field/texteditor/texteditor.field.ts",
286
- "line": 34
287
- }
242
+ "configInterface": "DbxForgeTextEditorFieldConfig"
288
243
  },
289
244
  {
290
245
  "slug": "row",
@@ -293,7 +248,6 @@
293
248
  "produces": "RowField",
294
249
  "arrayOutput": "no",
295
250
  "description": "Flex row that lays child fields out in columns. Child fields typically carry a `col` property (1–12) for grid placement.\n\nUses the `@ng-forge/dynamic-forms` `RowField` type with a 12-column grid system.\nEach child field can specify a `col` value (1-12) for responsive sizing.",
296
- "sourcePath": "field/wrapper/wrapper.ts",
297
251
  "example": "dbxForgeRow({ fields: [ { ...dbxForgeTextField({ key: 'first' }), col: 6 }, { ...dbxForgeTextField({ key: 'last' }), col: 6 } ] })",
298
252
  "properties": [
299
253
  {
@@ -304,11 +258,7 @@
304
258
  }
305
259
  ],
306
260
  "returns": "RowField",
307
- "configInterface": "DbxForgeRowConfig",
308
- "sourceLocation": {
309
- "file": "src/lib/forge/field/wrapper/wrapper.ts",
310
- "line": 58
311
- }
261
+ "configInterface": "DbxForgeRowConfig"
312
262
  },
313
263
  {
314
264
  "slug": "group",
@@ -317,15 +267,10 @@
317
267
  "produces": "GroupField",
318
268
  "arrayOutput": "no",
319
269
  "description": "Creates a plain ng-forge `group` field. A group produces a nested object in\nthe form value under its `key`, so the key is semantically significant and\nmust be chosen deliberately.\n\nFor visual-only grouping (conditional visibility, layout wrappers, shared\nCSS class) that should NOT introduce a nested object in the form value, use\n{@link dbxForgeContainer} instead — that is what ng-forge's `container`\nfield type is for.\n\nFor sections with headers, use the section wrapper type instead.",
320
- "sourcePath": "field/wrapper/wrapper.ts",
321
270
  "example": "// Groups the address sub-fields under an `address` property in the form value.\nconst group = dbxForgeGroup({\n key: 'address',\n fields: [\n dbxForgeTextField({ key: 'city', label: 'City' }),\n dbxForgeTextField({ key: 'state', label: 'State' })\n ]\n});\n\n// Resulting form value shape:\n// { address: { city: '...', state: '...' } }",
322
271
  "properties": [],
323
272
  "returns": "GroupField",
324
- "configInterface": "DbxForgeGroupConfig",
325
- "sourceLocation": {
326
- "file": "src/lib/forge/field/wrapper/wrapper.ts",
327
- "line": 125
328
- }
273
+ "configInterface": "DbxForgeGroupConfig"
329
274
  },
330
275
  {
331
276
  "slug": "toggle-wrapper",
@@ -334,7 +279,6 @@
334
279
  "produces": "ContainerField",
335
280
  "arrayOutput": "no",
336
281
  "description": "Wraps content fields in a Material slide toggle — the toggle state controls conditional visibility of the inner fields.\n\nUses ng-forge's built-in `toggle` field type (MatSlideToggle) and\n`FieldValueCondition` for conditional visibility. The toggle boolean value\nIS part of the form model. The hidden content is wrapped in a `container`\n(not a `group`), so the wrapped fields sit at the same level as the toggle\nin the form value — they are NOT nested under an extra object.\n\nStructure produced:\n```\nContainer (outer, with flex wrapper)\n ├── toggle field (type: 'toggle', boolean value)\n └── Container (content, hidden when toggle === false)\n```\n\nThis is the forge equivalent of the formly `formlyToggleWrapper`.",
337
- "sourcePath": "field/wrapper/wrapper.ts",
338
282
  "example": "const toggle = dbxForgeToggleWrapper({\n key: 'showAdvanced',\n label: 'Show advanced options',\n fields: [\n dbxForgeTextField({ key: 'advanced1', label: 'Option 1' }),\n dbxForgeTextField({ key: 'advanced2', label: 'Option 2' })\n ]\n});\n\n// Resulting form value (flat — no nesting under the container):\n// { showAdvanced: true, advanced1: '...', advanced2: '...' }",
339
283
  "properties": [
340
284
  {
@@ -379,11 +323,7 @@
379
323
  "toggle",
380
324
  "group"
381
325
  ],
382
- "configInterface": "DbxForgeToggleWrapperConfig",
383
- "sourceLocation": {
384
- "file": "src/lib/forge/field/wrapper/wrapper.ts",
385
- "line": 291
386
- }
326
+ "configInterface": "DbxForgeToggleWrapperConfig"
387
327
  },
388
328
  {
389
329
  "slug": "expand-wrapper",
@@ -392,7 +332,6 @@
392
332
  "produces": "ContainerField",
393
333
  "arrayOutput": "no",
394
334
  "description": "Wraps content fields behind a button or text \"expand\" control. Use for optional sections like \"Show advanced options\".\n\nUses a custom `dbx-forge-expand` field type for the expand trigger and\n`FieldValueCondition` for conditional visibility on the content. The\nexpand boolean value IS part of the form model. The hidden content is\nwrapped in a `container` (not a `group`), so the wrapped fields sit at the\nsame level as the expand control in the form value — they are NOT nested\nunder an extra object.\n\nStructure produced:\n```\nContainer (outer, with flex wrapper)\n ├── expand field (type: 'dbx-forge-expand', boolean value)\n └── Container (content, hidden when expand field === false)\n```\n\nThis is the forge equivalent of the formly `formlyExpandWrapper`.",
395
- "sourcePath": "field/wrapper/wrapper.ts",
396
335
  "example": "const expand = dbxForgeExpandWrapper({\n key: 'showMore',\n label: 'Show more options',\n buttonType: 'button',\n fields: [\n dbxForgeTextField({ key: 'extra1', label: 'Extra 1' }),\n dbxForgeTextField({ key: 'extra2', label: 'Extra 2' })\n ]\n});\n\n// Resulting form value (flat — no nesting under the container):\n// { showMore: true, extra1: '...', extra2: '...' }",
397
336
  "properties": [
398
337
  {
@@ -442,11 +381,7 @@
442
381
  "composesFromSlugs": [
443
382
  "group"
444
383
  ],
445
- "configInterface": "DbxForgeExpandWrapperConfig",
446
- "sourceLocation": {
447
- "file": "src/lib/forge/field/wrapper/wrapper.ts",
448
- "line": 415
449
- }
384
+ "configInterface": "DbxForgeExpandWrapperConfig"
450
385
  },
451
386
  {
452
387
  "slug": "list-selection",
@@ -455,7 +390,6 @@
455
390
  "produces": "K[]",
456
391
  "arrayOutput": "yes",
457
392
  "description": "Multi-select backed by a lazy-loadable custom list component. Use when you need complete control over item layout and pagination.",
458
- "sourcePath": "field/selection/list/list.field.ts",
459
393
  "example": "dbxForgeListSelectionField<Item, MyListComponent, string>({ key: 'items', props: { listComponentClass, readKey: (i) => i.id, state$ } })",
460
394
  "properties": [
461
395
  {
@@ -492,11 +426,7 @@
492
426
  "wrapperPattern": "material-form-field-wrapped",
493
427
  "ngFormType": "dbx-list-selection",
494
428
  "generic": "<T = unknown, C extends AbstractDbxSelectionListWrapperDirective<T> = AbstractDbxSelectionListWrapperDirective<T>, K extends PrimativeKey = PrimativeKey>",
495
- "configInterface": "DbxForgeListSelectionFieldConfig<T, C, K>",
496
- "sourceLocation": {
497
- "file": "src/lib/forge/field/selection/list/list.field.ts",
498
- "line": 83
499
- }
429
+ "configInterface": "DbxForgeListSelectionFieldConfig<T, C, K>"
500
430
  },
501
431
  {
502
432
  "slug": "pickable-chip",
@@ -505,7 +435,6 @@
505
435
  "produces": "T | T[]",
506
436
  "arrayOutput": "optional",
507
437
  "description": "Selection field rendering selected values as Material chips. Defaults to multi-select; flip to single-select via the underlying props.",
508
- "sourcePath": "field/selection/pickable/pickable-chip.field.ts",
509
438
  "example": "dbxForgePickableChipField<Tag>({ key: 'tags', label: 'Tags', props: { loadValues: () => loadTags$, displayForValue: displayTag } })",
510
439
  "properties": [
511
440
  {
@@ -608,11 +537,7 @@
608
537
  "wrapperPattern": "material-form-field-wrapped",
609
538
  "ngFormType": "dbx-pickable-chip",
610
539
  "generic": "<T = unknown, M = unknown, H extends PrimativeKey = PrimativeKey>",
611
- "configInterface": "DbxForgePickableChipFieldConfig<T, M, H>",
612
- "sourceLocation": {
613
- "file": "src/lib/forge/field/selection/pickable/pickable-chip.field.ts",
614
- "line": 37
615
- }
540
+ "configInterface": "DbxForgePickableChipFieldConfig<T, M, H>"
616
541
  },
617
542
  {
618
543
  "slug": "pickable-list",
@@ -621,7 +546,6 @@
621
546
  "produces": "T | T[]",
622
547
  "arrayOutput": "optional",
623
548
  "description": "Scrollable-list variant of `pickable-chip` — same API, different presentation. Prefer this when the option set is large.",
624
- "sourcePath": "field/selection/pickable/pickable-list.field.ts",
625
549
  "example": "dbxForgePickableListField<Item>({ key: 'items', props: { loadValues, displayForValue } })",
626
550
  "properties": [
627
551
  {
@@ -724,11 +648,7 @@
724
648
  "wrapperPattern": "material-form-field-wrapped",
725
649
  "ngFormType": "dbx-pickable-list",
726
650
  "generic": "<T = unknown, M = unknown, H extends PrimativeKey = PrimativeKey>",
727
- "configInterface": "DbxForgePickableListFieldConfig<T, M, H>",
728
- "sourceLocation": {
729
- "file": "src/lib/forge/field/selection/pickable/pickable-list.field.ts",
730
- "line": 37
731
- }
651
+ "configInterface": "DbxForgePickableListFieldConfig<T, M, H>"
732
652
  },
733
653
  {
734
654
  "slug": "searchable-string-chip",
@@ -737,7 +657,6 @@
737
657
  "produces": "string | string[]",
738
658
  "arrayOutput": "optional",
739
659
  "description": "String-value specialization of `searchable-chip`. `allowStringValues` is forced true — use for free-form tag entry.\n\nAlways sets `allowStringValues: true` on the inner field props so pressing Enter\n(or typing a separator key) commits the typed value as a chip.",
740
- "sourcePath": "field/selection/searchable/searchable-chip.field.ts",
741
660
  "example": "dbxForgeSearchableStringChipField({ key: 'tags', props: { search, displayForValue } })",
742
661
  "properties": [
743
662
  {
@@ -749,11 +668,7 @@
749
668
  ],
750
669
  "wrapperPattern": "material-form-field-wrapped",
751
670
  "ngFormType": "dbx-searchable-chip",
752
- "configInterface": "DbxForgeSearchableStringChipFieldConfig",
753
- "sourceLocation": {
754
- "file": "src/lib/forge/field/selection/searchable/searchable-chip.field.ts",
755
- "line": 102
756
- }
671
+ "configInterface": "DbxForgeSearchableStringChipFieldConfig"
757
672
  },
758
673
  {
759
674
  "slug": "searchable-chip",
@@ -762,7 +677,6 @@
762
677
  "produces": "T | T[]",
763
678
  "arrayOutput": "optional",
764
679
  "description": "Multi-value autocomplete with chips. Defaults to multi-select; supports free-form text entry when `allowStringValues` is set.",
765
- "sourcePath": "field/selection/searchable/searchable-chip.field.ts",
766
680
  "example": "dbxForgeSearchableChipField<Tag>({ key: 'tags', props: { search, displayForValue } })",
767
681
  "properties": [
768
682
  {
@@ -871,11 +785,7 @@
871
785
  "wrapperPattern": "material-form-field-wrapped",
872
786
  "ngFormType": "dbx-searchable-chip",
873
787
  "generic": "<T = unknown, M = unknown, H extends PrimativeKey = PrimativeKey>",
874
- "configInterface": "DbxForgeSearchableChipFieldConfig<T, M, H>",
875
- "sourceLocation": {
876
- "file": "src/lib/forge/field/selection/searchable/searchable-chip.field.ts",
877
- "line": 60
878
- }
788
+ "configInterface": "DbxForgeSearchableChipFieldConfig<T, M, H>"
879
789
  },
880
790
  {
881
791
  "slug": "searchable-text",
@@ -884,7 +794,6 @@
884
794
  "produces": "T",
885
795
  "arrayOutput": "no",
886
796
  "description": "Single-value autocomplete field with search-as-you-type. Optionally allows free-form typed strings as values.",
887
- "sourcePath": "field/selection/searchable/searchable-text.field.ts",
888
797
  "example": "dbxForgeSearchableTextField<User>({ key: 'user', props: { search, displayForValue } })",
889
798
  "properties": [
890
799
  {
@@ -981,11 +890,7 @@
981
890
  "wrapperPattern": "material-form-field-wrapped",
982
891
  "ngFormType": "dbx-searchable-text",
983
892
  "generic": "<T = unknown, M = unknown, H extends PrimativeKey = PrimativeKey>",
984
- "configInterface": "DbxForgeSearchableTextFieldConfig<T, M, H>",
985
- "sourceLocation": {
986
- "file": "src/lib/forge/field/selection/searchable/searchable-text.field.ts",
987
- "line": 78
988
- }
893
+ "configInterface": "DbxForgeSearchableTextFieldConfig<T, M, H>"
989
894
  },
990
895
  {
991
896
  "slug": "source-select",
@@ -994,7 +899,6 @@
994
899
  "produces": "T | T[]",
995
900
  "arrayOutput": "optional",
996
901
  "description": "Selection field that stores just the value key (`T`) but resolves full metadata (`M`) async for display. Use for reference fields where the form should store only the id.\n\nThe component uses `<mat-form-field>` with `[formField]` for native ng-forge value binding,\nproper Material rendering, and built-in logic (hidden/disabled/readonly) support.",
997
- "sourcePath": "field/selection/sourceselect/sourceselect.field.ts",
998
902
  "example": "dbxForgeSourceSelectField<string, User>({ key: 'userId', props: { valueReader: (u) => u.id, metaLoader, displayForValue } })",
999
903
  "properties": [
1000
904
  {
@@ -1067,11 +971,7 @@
1067
971
  "wrapperPattern": "unwrapped",
1068
972
  "ngFormType": "dbx-source-select",
1069
973
  "generic": "<T extends PrimativeKey = PrimativeKey, M = unknown>",
1070
- "configInterface": "DbxForgeSourceSelectFieldConfig<T, M>",
1071
- "sourceLocation": {
1072
- "file": "src/lib/forge/field/selection/sourceselect/sourceselect.field.ts",
1073
- "line": 73
1074
- }
974
+ "configInterface": "DbxForgeSourceSelectFieldConfig<T, M>"
1075
975
  },
1076
976
  {
1077
977
  "slug": "array-field",
@@ -1080,7 +980,6 @@
1080
980
  "produces": "ArrayField",
1081
981
  "arrayOutput": "yes",
1082
982
  "description": "Repeatable array wrapper with add/remove/drag-to-reorder controls. Template fields are cloned per item. Internally built with `dbxForgeFieldFunction` but categorized as a primitive because composites wrap it.\n\nWraps the array with {@link DbxForgeArrayFieldWrapperComponent} for label/hint,\nand wraps each template item in a ContainerField with\n{@link DbxForgeArrayFieldElementWrapperComponent} for per-item drag handle,\nlabel, and remove button.",
1083
- "sourcePath": "field/value/array/array.field.ts",
1084
983
  "example": "dbxForgeArrayField({ key: 'tags', template: [dbxForgeTextField({ key: 'value' })] })",
1085
984
  "properties": [
1086
985
  {
@@ -1103,11 +1002,7 @@
1103
1002
  }
1104
1003
  ],
1105
1004
  "returns": "ArrayField",
1106
- "configInterface": "DbxForgeArrayFieldConfig",
1107
- "sourceLocation": {
1108
- "file": "src/lib/forge/field/value/array/array.field.ts",
1109
- "line": 56
1110
- }
1005
+ "configInterface": "DbxForgeArrayFieldConfig"
1111
1006
  },
1112
1007
  {
1113
1008
  "slug": "toggle",
@@ -1116,7 +1011,6 @@
1116
1011
  "produces": "boolean",
1117
1012
  "arrayOutput": "no",
1118
1013
  "description": "Material slide toggle. Renders inside the shared form-field wrapper by default so\nit visually matches surrounding outlined form fields and uses the standard error\nsubscript chrome; pass `styledBox: false` to opt out.",
1119
- "sourcePath": "field/value/boolean/boolean.field.ts",
1120
1014
  "example": "dbxForgeToggleField({ key: 'active', label: 'Active', value: true })",
1121
1015
  "properties": [
1122
1016
  {
@@ -1140,11 +1034,7 @@
1140
1034
  ],
1141
1035
  "wrapperPattern": "material-form-field-wrapped",
1142
1036
  "ngFormType": "toggle",
1143
- "configInterface": "DbxForgeToggleFieldConfig",
1144
- "sourceLocation": {
1145
- "file": "src/lib/forge/field/value/boolean/boolean.field.ts",
1146
- "line": 66
1147
- }
1037
+ "configInterface": "DbxForgeToggleFieldConfig"
1148
1038
  },
1149
1039
  {
1150
1040
  "slug": "checkbox",
@@ -1153,7 +1043,6 @@
1153
1043
  "produces": "boolean",
1154
1044
  "arrayOutput": "no",
1155
1045
  "description": "Material checkbox. Shares the form-field-wrapper opt-out with toggle.",
1156
- "sourcePath": "field/value/boolean/boolean.field.ts",
1157
1046
  "example": "dbxForgeCheckboxField({ key: 'agree', label: 'I agree to the terms' })",
1158
1047
  "properties": [
1159
1048
  {
@@ -1177,11 +1066,7 @@
1177
1066
  ],
1178
1067
  "wrapperPattern": "material-form-field-wrapped",
1179
1068
  "ngFormType": "checkbox",
1180
- "configInterface": "DbxForgeCheckboxFieldConfig",
1181
- "sourceLocation": {
1182
- "file": "src/lib/forge/field/value/boolean/boolean.field.ts",
1183
- "line": 133
1184
- }
1069
+ "configInterface": "DbxForgeCheckboxFieldConfig"
1185
1070
  },
1186
1071
  {
1187
1072
  "slug": "date",
@@ -1190,16 +1075,11 @@
1190
1075
  "produces": "Date",
1191
1076
  "arrayOutput": "no",
1192
1077
  "description": "Material datepicker (date-only, no time). For time-of-day picking use the `date-time` field; for ranges use `date-range-row` or `date-time-range-row`.\n\nUses the native ng-forge MatDatepickerField.",
1193
- "sourcePath": "field/value/date/date.field.ts",
1194
1078
  "example": "dbxForgeDateField({ key: 'startDate', label: 'Start Date', required: true })",
1195
1079
  "properties": [],
1196
1080
  "wrapperPattern": "unwrapped",
1197
1081
  "ngFormType": "datepicker",
1198
- "configInterface": "DbxForgeDateFieldConfig",
1199
- "sourceLocation": {
1200
- "file": "src/lib/forge/field/value/date/date.field.ts",
1201
- "line": 32
1202
- }
1082
+ "configInterface": "DbxForgeDateFieldConfig"
1203
1083
  },
1204
1084
  {
1205
1085
  "slug": "date-range-row",
@@ -1208,7 +1088,6 @@
1208
1088
  "produces": "RowField",
1209
1089
  "arrayOutput": "no",
1210
1090
  "description": "Two-column row of start/end date-time fields configured for date-only picking. Use when you need a paired start/end date range laid out horizontally.\n\nComposite builder that creates a pair of date pickers for selecting a date range (start and end dates)\narranged in a flex row. The pickers are synchronized so the start date stays before the end date.\n\nThis is the forge equivalent of formly's `formlyDateRangeField()`.",
1211
- "sourcePath": "field/value/date/daterange.field.ts",
1212
1091
  "example": "dbxForgeDateRangeRow({ required: true, start: { key: 'from', label: 'From' }, end: { key: 'to', label: 'To' } })",
1213
1092
  "properties": [
1214
1093
  {
@@ -1241,11 +1120,7 @@
1241
1120
  "date-time",
1242
1121
  "row"
1243
1122
  ],
1244
- "configInterface": "DbxForgeDateRangeRowConfig",
1245
- "sourceLocation": {
1246
- "file": "src/lib/forge/field/value/date/daterange.field.ts",
1247
- "line": 60
1248
- }
1123
+ "configInterface": "DbxForgeDateRangeRowConfig"
1249
1124
  },
1250
1125
  {
1251
1126
  "slug": "date-time",
@@ -1254,7 +1129,6 @@
1254
1129
  "produces": "DateTimeValue",
1255
1130
  "arrayOutput": "no",
1256
1131
  "description": "Combined date-time picker with timezone, value mode (DATE_STRING / TIMESTAMP / Date), and time mode (REQUIRED / OPTIONAL / NONE). Powers `date-range-row` and `date-time-range-row`.\n\nFull parity with formly `dateTimeField()` — supports timezone, valueMode, timeMode,\npickerConfig, presets, and all other features via the `props` slot.",
1257
- "sourcePath": "field/value/date/datetime.field.ts",
1258
1132
  "example": "dbxForgeDateTimeField({ key: 'when', label: 'When', timezone: 'America/New_York' })",
1259
1133
  "properties": [
1260
1134
  {
@@ -1422,11 +1296,7 @@
1422
1296
  ],
1423
1297
  "wrapperPattern": "unwrapped",
1424
1298
  "ngFormType": "datetime",
1425
- "configInterface": "DbxForgeDateTimeFieldConfig",
1426
- "sourceLocation": {
1427
- "file": "src/lib/forge/field/value/date/datetime.field.ts",
1428
- "line": 72
1429
- }
1299
+ "configInterface": "DbxForgeDateTimeFieldConfig"
1430
1300
  },
1431
1301
  {
1432
1302
  "slug": "date-time-range-row",
@@ -1435,7 +1305,6 @@
1435
1305
  "produces": "RowField",
1436
1306
  "arrayOutput": "no",
1437
1307
  "description": "Two-column row of time-only pickers for selecting a time range within a single day.\n\nThis is the forge equivalent of formly's `formlyDateTimeRangeField()`.",
1438
- "sourcePath": "field/value/date/datetimerange.field.ts",
1439
1308
  "example": "dbxForgeDateTimeRangeRow({ start: { label: 'From' }, end: { label: 'Until' } })",
1440
1309
  "properties": [
1441
1310
  {
@@ -1468,11 +1337,7 @@
1468
1337
  "date-time",
1469
1338
  "row"
1470
1339
  ],
1471
- "configInterface": "DbxForgeDateTimeRangeRowConfig",
1472
- "sourceLocation": {
1473
- "file": "src/lib/forge/field/value/date/datetimerange.field.ts",
1474
- "line": 56
1475
- }
1340
+ "configInterface": "DbxForgeDateTimeRangeRowConfig"
1476
1341
  },
1477
1342
  {
1478
1343
  "slug": "fixed-date-range",
@@ -1481,7 +1346,6 @@
1481
1346
  "produces": "DbxForgeFixedDateRangeValue",
1482
1347
  "arrayOutput": "no",
1483
1348
  "description": "Inline calendar-style date-range picker with fixed range length (e.g. \"7 days from start\"). Wrapped in a Material form-field container with a custom selection strategy.\n\nUses an inline `<mat-calendar>` with a custom selection strategy, matching the formly\n`fixedDateRangeField()` behavior. Supports multiple selection modes, timezone conversion,\ndate range input configuration, and optional text inputs.",
1484
- "sourcePath": "field/value/date/fixeddaterange.field.ts",
1485
1349
  "example": "dbxForgeFixedDateRangeField({ key: 'range', label: 'Date Range' })",
1486
1350
  "properties": [
1487
1351
  {
@@ -1553,11 +1417,7 @@
1553
1417
  ],
1554
1418
  "wrapperPattern": "material-form-field-wrapped",
1555
1419
  "ngFormType": "fixeddaterange",
1556
- "configInterface": "DbxForgeFixedDateRangeFieldConfig",
1557
- "sourceLocation": {
1558
- "file": "src/lib/forge/field/value/date/fixeddaterange.field.ts",
1559
- "line": 51
1560
- }
1420
+ "configInterface": "DbxForgeFixedDateRangeFieldConfig"
1561
1421
  },
1562
1422
  {
1563
1423
  "slug": "time-duration",
@@ -1566,7 +1426,6 @@
1566
1426
  "produces": "TimeDurationValue",
1567
1427
  "arrayOutput": "no",
1568
1428
  "description": "Duration input with popover picker. Output shape varies by `valueMode` — number (ms/s/…), string, or structured object.\n\nUses a custom ng-forge ValueFieldComponent that provides a text input\naccepting duration strings (e.g. \"2h30m\") and a popover picker.",
1569
- "sourcePath": "field/value/duration/duration.field.ts",
1570
1429
  "example": "dbxForgeTimeDurationField({ key: 'duration', label: 'Duration', outputUnit: 'm' })",
1571
1430
  "properties": [
1572
1431
  {
@@ -1602,11 +1461,7 @@
1602
1461
  ],
1603
1462
  "wrapperPattern": "unwrapped",
1604
1463
  "ngFormType": "timeduration",
1605
- "configInterface": "DbxForgeTimeDurationFieldConfig",
1606
- "sourceLocation": {
1607
- "file": "src/lib/forge/field/value/duration/duration.field.ts",
1608
- "line": 75
1609
- }
1464
+ "configInterface": "DbxForgeTimeDurationFieldConfig"
1610
1465
  },
1611
1466
  {
1612
1467
  "slug": "dollar-amount",
@@ -1615,7 +1470,6 @@
1615
1470
  "produces": "number",
1616
1471
  "arrayOutput": "no",
1617
1472
  "description": "Forge number field pre-configured for dollar amount input with cent-level precision. Pre-sets `transform.precision` to `DOLLAR_AMOUNT_PRECISION` so values round to whole cents.",
1618
- "sourcePath": "field/value/number/number.field.ts",
1619
1473
  "example": "const field = dbxForgeDollarAmountField({ key: 'price', label: 'Price', min: 0, required: true });",
1620
1474
  "properties": [
1621
1475
  {
@@ -1658,11 +1512,7 @@
1658
1512
  "composesFromSlugs": [
1659
1513
  "number"
1660
1514
  ],
1661
- "configInterface": "DbxForgeDollarAmountFieldConfig",
1662
- "sourceLocation": {
1663
- "file": "src/lib/forge/field/value/number/number.field.ts",
1664
- "line": 144
1665
- }
1515
+ "configInterface": "DbxForgeDollarAmountFieldConfig"
1666
1516
  },
1667
1517
  {
1668
1518
  "slug": "number",
@@ -1671,7 +1521,6 @@
1671
1521
  "produces": "number",
1672
1522
  "arrayOutput": "no",
1673
1523
  "description": "Numeric input (HTML `type=\"number\"`). Supports min/max/step constraints, optional step enforcement (divisibility validator), and idempotent number transforms.\n\nWhen `step` is provided, sets the HTML `step` attribute on the input via `meta`.\nWhen both `step` and `enforceStep` are set, adds a custom divisibility validator.",
1674
- "sourcePath": "field/value/number/number.field.ts",
1675
1524
  "example": "dbxForgeNumberField({ key: 'quantity', label: 'Quantity', min: 1, max: 100, step: 1, enforceStep: true })",
1676
1525
  "properties": [
1677
1526
  {
@@ -1713,11 +1562,7 @@
1713
1562
  ],
1714
1563
  "wrapperPattern": "unwrapped",
1715
1564
  "ngFormType": "input",
1716
- "configInterface": "DbxForgeNumberFieldConfig",
1717
- "sourceLocation": {
1718
- "file": "src/lib/forge/field/value/number/number.field.ts",
1719
- "line": 72
1720
- }
1565
+ "configInterface": "DbxForgeNumberFieldConfig"
1721
1566
  },
1722
1567
  {
1723
1568
  "slug": "number-slider",
@@ -1726,7 +1571,6 @@
1726
1571
  "produces": "number",
1727
1572
  "arrayOutput": "no",
1728
1573
  "description": "Material slider wrapped in a form-field container. Supports thumb label, tick interval, and step-derived tick spacing.\n\nThe wrapper provides the Material outlined form-field appearance (notched outline with\nfloating label, hint/error subscript). The inner slider uses the ng-forge built-in\n`slider` type.",
1729
- "sourcePath": "field/value/number/slider.field.ts",
1730
1574
  "example": "dbxForgeNumberSliderField({ key: 'rating', label: 'Rating', min: 0, max: 10, step: 1 })",
1731
1575
  "properties": [
1732
1576
  {
@@ -1744,11 +1588,7 @@
1744
1588
  ],
1745
1589
  "wrapperPattern": "material-form-field-wrapped",
1746
1590
  "ngFormType": "slider",
1747
- "configInterface": "DbxForgeNumberSliderFieldConfig",
1748
- "sourceLocation": {
1749
- "file": "src/lib/forge/field/value/number/slider.field.ts",
1750
- "line": 46
1751
- }
1591
+ "configInterface": "DbxForgeNumberSliderFieldConfig"
1752
1592
  },
1753
1593
  {
1754
1594
  "slug": "phone",
@@ -1757,7 +1597,6 @@
1757
1597
  "produces": "string",
1758
1598
  "arrayOutput": "no",
1759
1599
  "description": "International phone number input backed by ngx-mat-input-tel. Supports preferred-country lists, search, and optional extension input.\n\nUses the custom 'phone' field type which renders the ngx-mat-input-tel component\nbridged to Signal Forms.",
1760
- "sourcePath": "field/value/phone/phone.field.ts",
1761
1600
  "example": "dbxForgePhoneField({ key: 'phone', label: 'Phone', preferredCountries: ['US', 'CA'] })",
1762
1601
  "properties": [
1763
1602
  {
@@ -1835,11 +1674,7 @@
1835
1674
  ],
1836
1675
  "wrapperPattern": "unwrapped",
1837
1676
  "ngFormType": "phone",
1838
- "configInterface": "DbxForgePhoneFieldConfig",
1839
- "sourceLocation": {
1840
- "file": "src/lib/forge/field/value/phone/phone.field.ts",
1841
- "line": 78
1842
- }
1677
+ "configInterface": "DbxForgePhoneFieldConfig"
1843
1678
  },
1844
1679
  {
1845
1680
  "slug": "name",
@@ -1848,17 +1683,12 @@
1848
1683
  "produces": "string",
1849
1684
  "arrayOutput": "no",
1850
1685
  "description": "Pre-configured text field for capturing a full name with sensible min/max length defaults.",
1851
- "sourcePath": "field/value/text/text.additional.field.ts",
1852
1686
  "example": "dbxForgeNameField({ key: 'fullName', label: 'Full Name', required: true })",
1853
1687
  "properties": [],
1854
1688
  "composesFromSlugs": [
1855
1689
  "text"
1856
1690
  ],
1857
- "configInterface": "DbxForgeNameFieldConfig",
1858
- "sourceLocation": {
1859
- "file": "src/lib/forge/field/value/text/text.additional.field.ts",
1860
- "line": 24
1861
- }
1691
+ "configInterface": "DbxForgeNameFieldConfig"
1862
1692
  },
1863
1693
  {
1864
1694
  "slug": "email",
@@ -1867,7 +1697,6 @@
1867
1697
  "produces": "string",
1868
1698
  "arrayOutput": "no",
1869
1699
  "description": "Text field pre-configured with email input type and email validator. Prefer this over configuring `dbxForgeTextField` with `inputType: \"email\"` directly.\n\nUses the `'email'` input type for built-in browser validation.",
1870
- "sourcePath": "field/value/text/text.additional.field.ts",
1871
1700
  "example": "dbxForgeEmailField({ key: 'email', label: 'Email', required: true })",
1872
1701
  "properties": [
1873
1702
  {
@@ -1916,11 +1745,7 @@
1916
1745
  "composesFromSlugs": [
1917
1746
  "text"
1918
1747
  ],
1919
- "configInterface": "DbxForgeEmailFieldConfig",
1920
- "sourceLocation": {
1921
- "file": "src/lib/forge/field/value/text/text.additional.field.ts",
1922
- "line": 74
1923
- }
1748
+ "configInterface": "DbxForgeEmailFieldConfig"
1924
1749
  },
1925
1750
  {
1926
1751
  "slug": "city",
@@ -1929,7 +1754,6 @@
1929
1754
  "produces": "string",
1930
1755
  "arrayOutput": "no",
1931
1756
  "description": "City name input enforcing `ADDRESS_CITY_MAX_LENGTH`. Typically used inside the address composite set.",
1932
- "sourcePath": "field/value/text/text.additional.field.ts",
1933
1757
  "example": "dbxForgeCityField({ required: true })",
1934
1758
  "properties": [
1935
1759
  {
@@ -1954,11 +1778,7 @@
1954
1778
  "composesFromSlugs": [
1955
1779
  "text"
1956
1780
  ],
1957
- "configInterface": "DbxForgeCityFieldConfig",
1958
- "sourceLocation": {
1959
- "file": "src/lib/forge/field/value/text/text.additional.field.ts",
1960
- "line": 112
1961
- }
1781
+ "configInterface": "DbxForgeCityFieldConfig"
1962
1782
  },
1963
1783
  {
1964
1784
  "slug": "state",
@@ -1967,7 +1787,6 @@
1967
1787
  "produces": "string",
1968
1788
  "arrayOutput": "no",
1969
1789
  "description": "US state input. When `asCode: true`, validates two-letter codes and auto-uppercases input via an idempotent transform.",
1970
- "sourcePath": "field/value/text/text.additional.field.ts",
1971
1790
  "example": "dbxForgeStateField({ asCode: true, required: true })",
1972
1791
  "properties": [
1973
1792
  {
@@ -1980,11 +1799,7 @@
1980
1799
  "composesFromSlugs": [
1981
1800
  "text"
1982
1801
  ],
1983
- "configInterface": "DbxForgeStateFieldConfig",
1984
- "sourceLocation": {
1985
- "file": "src/lib/forge/field/value/text/text.additional.field.ts",
1986
- "line": 153
1987
- }
1802
+ "configInterface": "DbxForgeStateFieldConfig"
1988
1803
  },
1989
1804
  {
1990
1805
  "slug": "country",
@@ -1993,7 +1808,6 @@
1993
1808
  "produces": "string",
1994
1809
  "arrayOutput": "no",
1995
1810
  "description": "Country name input enforcing `ADDRESS_COUNTRY_MAX_LENGTH`. Typically used inside the address composite set.",
1996
- "sourcePath": "field/value/text/text.additional.field.ts",
1997
1811
  "example": "dbxForgeCountryField({ required: true })",
1998
1812
  "properties": [
1999
1813
  {
@@ -2018,11 +1832,7 @@
2018
1832
  "composesFromSlugs": [
2019
1833
  "text"
2020
1834
  ],
2021
- "configInterface": "DbxForgeCountryFieldConfig",
2022
- "sourceLocation": {
2023
- "file": "src/lib/forge/field/value/text/text.additional.field.ts",
2024
- "line": 195
2025
- }
1835
+ "configInterface": "DbxForgeCountryFieldConfig"
2026
1836
  },
2027
1837
  {
2028
1838
  "slug": "zip-code",
@@ -2031,7 +1841,6 @@
2031
1841
  "produces": "string",
2032
1842
  "arrayOutput": "no",
2033
1843
  "description": "US zip code input with pattern validation and max-length enforcement.",
2034
- "sourcePath": "field/value/text/text.additional.field.ts",
2035
1844
  "example": "dbxForgeZipCodeField({ required: true })",
2036
1845
  "properties": [
2037
1846
  {
@@ -2056,11 +1865,7 @@
2056
1865
  "composesFromSlugs": [
2057
1866
  "text"
2058
1867
  ],
2059
- "configInterface": "DbxForgeZipCodeFieldConfig",
2060
- "sourceLocation": {
2061
- "file": "src/lib/forge/field/value/text/text.additional.field.ts",
2062
- "line": 231
2063
- }
1868
+ "configInterface": "DbxForgeZipCodeFieldConfig"
2064
1869
  },
2065
1870
  {
2066
1871
  "slug": "lat-lng",
@@ -2069,17 +1874,12 @@
2069
1874
  "produces": "string",
2070
1875
  "arrayOutput": "no",
2071
1876
  "description": "Latitude/longitude coordinate input with decimal-degree pattern validation.",
2072
- "sourcePath": "field/value/text/text.additional.field.ts",
2073
1877
  "example": "dbxForgeLatLngTextField({ key: 'coords', label: 'Coordinates' })",
2074
1878
  "properties": [],
2075
1879
  "composesFromSlugs": [
2076
1880
  "text"
2077
1881
  ],
2078
- "configInterface": "DbxForgeLatLngTextFieldConfig",
2079
- "sourceLocation": {
2080
- "file": "src/lib/forge/field/value/text/text.additional.field.ts",
2081
- "line": 268
2082
- }
1882
+ "configInterface": "DbxForgeLatLngTextFieldConfig"
2083
1883
  },
2084
1884
  {
2085
1885
  "slug": "address-line",
@@ -2088,7 +1888,6 @@
2088
1888
  "produces": "string",
2089
1889
  "arrayOutput": "no",
2090
1890
  "description": "Street address line input. The `line` prop controls which line (1 or 2) — it affects key and label generation.",
2091
- "sourcePath": "field/value/text/text.address.field.ts",
2092
1891
  "example": "dbxForgeAddressLineField({ line: 2 })",
2093
1892
  "properties": [
2094
1893
  {
@@ -2101,11 +1900,7 @@
2101
1900
  "composesFromSlugs": [
2102
1901
  "text"
2103
1902
  ],
2104
- "configInterface": "DbxForgeAddressLineFieldConfig",
2105
- "sourceLocation": {
2106
- "file": "src/lib/forge/field/value/text/text.address.field.ts",
2107
- "line": 69
2108
- }
1903
+ "configInterface": "DbxForgeAddressLineFieldConfig"
2109
1904
  },
2110
1905
  {
2111
1906
  "slug": "address-fields",
@@ -2114,7 +1909,6 @@
2114
1909
  "produces": "FieldDef[]",
2115
1910
  "arrayOutput": "no",
2116
1911
  "description": "Flat array of address fields (line(s), city, state, zip, optional country) with a sensible flex layout. Drop directly into a parent `fields: []`.",
2117
- "sourcePath": "field/value/text/text.address.field.ts",
2118
1912
  "example": "dbxForgeAddressFields({ required: true, includeCountry: false })",
2119
1913
  "properties": [
2120
1914
  {
@@ -2179,11 +1973,7 @@
2179
1973
  "zip-code",
2180
1974
  "country"
2181
1975
  ],
2182
- "configInterface": "DbxForgeAddressFieldsConfig",
2183
- "sourceLocation": {
2184
- "file": "src/lib/forge/field/value/text/text.address.field.ts",
2185
- "line": 102
2186
- }
1976
+ "configInterface": "DbxForgeAddressFieldsConfig"
2187
1977
  },
2188
1978
  {
2189
1979
  "slug": "address-group",
@@ -2192,7 +1982,6 @@
2192
1982
  "produces": "GroupField",
2193
1983
  "arrayOutput": "no",
2194
1984
  "description": "Wraps `address-fields` in a `GroupField` so the address is stored as a nested object under one key. Prefer this when the rest of the form doesn't want address fields flattened.",
2195
- "sourcePath": "field/value/text/text.address.field.ts",
2196
1985
  "example": "dbxForgeAddressGroup({ key: 'billingAddress' })",
2197
1986
  "properties": [
2198
1987
  {
@@ -2261,11 +2050,7 @@
2261
2050
  "address-fields",
2262
2051
  "group"
2263
2052
  ],
2264
- "configInterface": "DbxForgeAddressGroupConfig",
2265
- "sourceLocation": {
2266
- "file": "src/lib/forge/field/value/text/text.address.field.ts",
2267
- "line": 153
2268
- }
2053
+ "configInterface": "DbxForgeAddressGroupConfig"
2269
2054
  },
2270
2055
  {
2271
2056
  "slug": "address-list",
@@ -2274,7 +2059,6 @@
2274
2059
  "produces": "ArrayField",
2275
2060
  "arrayOutput": "yes",
2276
2061
  "description": "Repeatable array of addresses built on top of `array-field` + `address-group`. Keeps the `Field` suffix because it returns a single composite field whose value is an array of addresses.",
2277
- "sourcePath": "field/value/text/text.address.field.ts",
2278
2062
  "example": "dbxForgeAddressListField({ maxAddresses: 3 })",
2279
2063
  "properties": [
2280
2064
  {
@@ -2349,11 +2133,7 @@
2349
2133
  "address-group",
2350
2134
  "array-field"
2351
2135
  ],
2352
- "configInterface": "DbxForgeAddressListFieldConfig",
2353
- "sourceLocation": {
2354
- "file": "src/lib/forge/field/value/text/text.address.field.ts",
2355
- "line": 193
2356
- }
2136
+ "configInterface": "DbxForgeAddressListFieldConfig"
2357
2137
  },
2358
2138
  {
2359
2139
  "slug": "text",
@@ -2362,7 +2142,6 @@
2362
2142
  "produces": "string",
2363
2143
  "arrayOutput": "no",
2364
2144
  "description": "Single-line text input. Supports text/email/password input types, autocomplete attribute, regex pattern validation, and idempotent string transforms (trim, case changes, etc.).",
2365
- "sourcePath": "field/value/text/text.field.ts",
2366
2145
  "example": "const emailField = dbxForgeTextField({\n key: 'email',\n label: 'Email',\n required: true,\n inputType: 'email',\n props: { placeholder: 'user@example.com' }\n});",
2367
2146
  "properties": [
2368
2147
  {
@@ -2386,11 +2165,7 @@
2386
2165
  ],
2387
2166
  "wrapperPattern": "unwrapped",
2388
2167
  "ngFormType": "input",
2389
- "configInterface": "DbxForgeTextFieldConfig",
2390
- "sourceLocation": {
2391
- "file": "src/lib/forge/field/value/text/text.field.ts",
2392
- "line": 79
2393
- }
2168
+ "configInterface": "DbxForgeTextFieldConfig"
2394
2169
  },
2395
2170
  {
2396
2171
  "slug": "text-area",
@@ -2399,7 +2174,6 @@
2399
2174
  "produces": "string",
2400
2175
  "arrayOutput": "no",
2401
2176
  "description": "Multi-line textarea input. Supports row count, autocomplete attribute, pattern validation (RegExp → string conversion), and default value.",
2402
- "sourcePath": "field/value/text/textarea.field.ts",
2403
2177
  "example": "const bioField = dbxForgeTextAreaField({\n key: 'bio',\n label: 'Biography',\n rows: 5,\n maxLength: 500\n});",
2404
2178
  "properties": [
2405
2179
  {
@@ -2423,11 +2197,7 @@
2423
2197
  ],
2424
2198
  "wrapperPattern": "unwrapped",
2425
2199
  "ngFormType": "textarea",
2426
- "configInterface": "DbxForgeTextAreaFieldConfig",
2427
- "sourceLocation": {
2428
- "file": "src/lib/forge/field/value/text/textarea.field.ts",
2429
- "line": 47
2430
- }
2200
+ "configInterface": "DbxForgeTextAreaFieldConfig"
2431
2201
  },
2432
2202
  {
2433
2203
  "slug": "flex-layout",
@@ -2436,7 +2206,6 @@
2436
2206
  "produces": "GroupField",
2437
2207
  "arrayOutput": "no",
2438
2208
  "description": "Creates a responsive flex layout container that arranges child fields horizontally\nwith configurable sizing, breakpoints, and responsive behavior.\n\nEach child field gets a `dbx-flex-N` CSS class applied (merged with any existing className).\nThe container hosts the `dbx-forge-flex` wrapper, which renders the `dbxFlexGroup`\ndirective for responsive breakpoint handling.\n\nA `container` is used (not a `group`) because flex layout is purely visual —\nthe wrapped fields should remain at the same level in the form value, not be\nnested under an extra object.\n\nThis is the forge equivalent of {@link formlyFlexLayoutWrapper}.",
2439
- "sourcePath": "field/wrapper/flex/flex.wrapper.ts",
2440
2209
  "example": "// Simple: all fields get default size (2)\ndbxForgeFlexLayout({ fields: [dbxForgeCityField({}), dbxForgeStateField({}), dbxForgeZipCodeField({})] })\n\n// Resulting form value shape (flat — no wrapper property):\n// { city: '...', state: '...', zip: '...' }\n\n// With per-field sizing and breakpoint\ndbxForgeFlexLayout({\n breakpoint: 'small',\n size: 1,\n fields: [\n { field: dbxForgeCityField({}), size: 4 },\n dbxForgeStateField({}),\n dbxForgeZipCodeField({})\n ]\n})\n\n// Full config\ndbxForgeFlexLayout({ breakpoint: 'large', breakToColumn: true, relative: true, size: 1, fields: [...] })",
2441
2210
  "properties": [
2442
2211
  {
@@ -2456,11 +2225,7 @@
2456
2225
  "composesFromSlugs": [
2457
2226
  "group"
2458
2227
  ],
2459
- "configInterface": "DbxForgeFlexLayoutConfig",
2460
- "sourceLocation": {
2461
- "file": "src/lib/forge/field/wrapper/flex/flex.wrapper.ts",
2462
- "line": 131
2463
- }
2228
+ "configInterface": "DbxForgeFlexLayoutConfig"
2464
2229
  },
2465
2230
  {
2466
2231
  "slug": "section-wrapper",
@@ -2469,7 +2234,6 @@
2469
2234
  "produces": "WrapperConfig",
2470
2235
  "arrayOutput": "no",
2471
2236
  "description": "Section wrapper config — attach via a field's `wrappers: []` array for a semantic section with header and optional card elevation.",
2472
- "sourcePath": "field/wrapper/section/section.wrapper.ts",
2473
2237
  "example": "dbxForgeSectionWrapper({ headerConfig: { text: 'Contact Details' } })",
2474
2238
  "properties": [
2475
2239
  {
@@ -2498,11 +2262,7 @@
2498
2262
  }
2499
2263
  ],
2500
2264
  "returns": "WrapperConfig",
2501
- "configInterface": "DbxForgeSectionWrapper",
2502
- "sourceLocation": {
2503
- "file": "src/lib/forge/field/wrapper/section/section.wrapper.ts",
2504
- "line": 62
2505
- }
2265
+ "configInterface": "DbxForgeSectionWrapper"
2506
2266
  },
2507
2267
  {
2508
2268
  "slug": "subsection-wrapper",
@@ -2511,7 +2271,6 @@
2511
2271
  "produces": "WrapperConfig",
2512
2272
  "arrayOutput": "no",
2513
2273
  "description": "Subsection variant of `section-wrapper` — defaults to heading level 4 and `subsection: true`.",
2514
- "sourcePath": "field/wrapper/section/section.wrapper.ts",
2515
2274
  "example": "dbxForgeSubsectionWrapper({ headerConfig: { text: 'Options' } })",
2516
2275
  "properties": [
2517
2276
  {
@@ -2540,11 +2299,7 @@
2540
2299
  }
2541
2300
  ],
2542
2301
  "returns": "WrapperConfig",
2543
- "configInterface": "DbxForgeSectionWrapper",
2544
- "sourceLocation": {
2545
- "file": "src/lib/forge/field/wrapper/section/section.wrapper.ts",
2546
- "line": 85
2547
- }
2302
+ "configInterface": "DbxForgeSectionWrapper"
2548
2303
  },
2549
2304
  {
2550
2305
  "slug": "style-wrapper",
@@ -2553,7 +2308,6 @@
2553
2308
  "produces": "WrapperConfig",
2554
2309
  "arrayOutput": "no",
2555
2310
  "description": "Style wrapper config — applies dynamic CSS classes (`ngClass`) and/or inline styles (`ngStyle`) to any field via its `wrappers: []`.",
2556
- "sourcePath": "field/wrapper/style/style.wrapper.ts",
2557
2311
  "example": "dbxForgeStyleWrapper({ classGetter: 'highlighted' })",
2558
2312
  "properties": [
2559
2313
  {
@@ -2576,11 +2330,7 @@
2576
2330
  }
2577
2331
  ],
2578
2332
  "returns": "WrapperConfig",
2579
- "configInterface": "DbxForgeStyleWrapper",
2580
- "sourceLocation": {
2581
- "file": "src/lib/forge/field/wrapper/style/style.wrapper.ts",
2582
- "line": 63
2583
- }
2333
+ "configInterface": "DbxForgeStyleWrapper"
2584
2334
  }
2585
2335
  ]
2586
2336
  }