@dereekb/dbx-form 13.9.0 → 13.10.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.
@@ -2886,21 +2886,27 @@ function dbxForgeWebsiteUrlValidator(config) {
2886
2886
  }
2887
2887
 
2888
2888
  /**
2889
- * Creates a forge field definition for a single-line text input.
2889
+ * Single-line text input. Supports text/email/password input types, autocomplete attribute, regex pattern validation, and idempotent string transforms (trim, case changes, etc.).
2890
2890
  *
2891
2891
  * @param config - Text field configuration including key, label, validation, and transform options
2892
2892
  * @returns A text input field with type `'input'`
2893
2893
  *
2894
+ * @dbxFormField
2895
+ * @dbxFormSlug text
2896
+ * @dbxFormTier field-factory
2897
+ * @dbxFormProduces string
2898
+ * @dbxFormArrayOutput no
2899
+ * @dbxFormNgFormType input
2900
+ * @dbxFormWrapperPattern unwrapped
2901
+ * @dbxFormConfigInterface DbxForgeTextFieldConfig
2894
2902
  * @example
2895
2903
  * ```typescript
2896
- * const field = dbxForgeTextField({
2904
+ * const emailField = dbxForgeTextField({
2897
2905
  * key: 'email',
2898
2906
  * label: 'Email',
2899
2907
  * required: true,
2900
- * props: {
2901
- * type: 'email',
2902
- * placeholder: 'user@example.com'
2903
- * }
2908
+ * inputType: 'email',
2909
+ * props: { placeholder: 'user@example.com' }
2904
2910
  * });
2905
2911
  * ```
2906
2912
  */
@@ -2933,14 +2939,27 @@ const dbxForgeTextField = dbxForgeFieldFunction({
2933
2939
  });
2934
2940
 
2935
2941
  /**
2936
- * Creates a forge field definition for a multi-line textarea input.
2942
+ * Multi-line textarea input. Supports row count, autocomplete attribute, pattern validation (RegExp → string conversion), and default value.
2937
2943
  *
2938
2944
  * @param config - Textarea field configuration including key, label, rows, and validation options
2939
2945
  * @returns A textarea field with type `'textarea'`
2940
2946
  *
2947
+ * @dbxFormField
2948
+ * @dbxFormSlug text-area
2949
+ * @dbxFormTier field-factory
2950
+ * @dbxFormProduces string
2951
+ * @dbxFormArrayOutput no
2952
+ * @dbxFormNgFormType textarea
2953
+ * @dbxFormWrapperPattern unwrapped
2954
+ * @dbxFormConfigInterface DbxForgeTextAreaFieldConfig
2941
2955
  * @example
2942
2956
  * ```typescript
2943
- * const field = dbxForgeTextAreaField({ key: 'bio', label: 'Biography', rows: 5, maxLength: 500 });
2957
+ * const bioField = dbxForgeTextAreaField({
2958
+ * key: 'bio',
2959
+ * label: 'Biography',
2960
+ * rows: 5,
2961
+ * maxLength: 500
2962
+ * });
2944
2963
  * ```
2945
2964
  */
2946
2965
  const dbxForgeTextAreaField = dbxForgeFieldFunction({
@@ -2971,14 +2990,20 @@ const dbxForgeTextAreaField = dbxForgeFieldFunction({
2971
2990
 
2972
2991
  // MARK: Name Field
2973
2992
  /**
2974
- * Creates a forge text field pre-configured for a person's full name.
2993
+ * Pre-configured text field for capturing a full name with sensible min/max length defaults.
2975
2994
  *
2976
2995
  * @param config - Optional overrides; defaults to key `'name'`, label `'Name'`
2977
2996
  * @returns A {@link MatInputField} for name input
2978
2997
  *
2998
+ * @dbxFormField
2999
+ * @dbxFormSlug name
3000
+ * @dbxFormProduces string
3001
+ * @dbxFormArrayOutput no
3002
+ * @dbxFormFieldDerivative text
3003
+ * @dbxFormConfigInterface DbxForgeNameFieldConfig
2979
3004
  * @example
2980
3005
  * ```typescript
2981
- * const field = dbxForgeNameField({ required: true });
3006
+ * dbxForgeNameField({ key: 'fullName', label: 'Full Name', required: true })
2982
3007
  * ```
2983
3008
  */
2984
3009
  function dbxForgeNameField(config = {}) {
@@ -2994,16 +3019,22 @@ function dbxForgeNameField(config = {}) {
2994
3019
  });
2995
3020
  }
2996
3021
  /**
2997
- * Creates a forge text field pre-configured for email address input.
3022
+ * Text field pre-configured with email input type and email validator. Prefer this over configuring `dbxForgeTextField` with `inputType: "email"` directly.
2998
3023
  *
2999
3024
  * Uses the `'email'` input type for built-in browser validation.
3000
3025
  *
3001
3026
  * @param config - Optional overrides; defaults to key `'email'`, label `'Email Address'`
3002
3027
  * @returns A {@link MatInputField} with email input type
3003
3028
  *
3029
+ * @dbxFormField
3030
+ * @dbxFormSlug email
3031
+ * @dbxFormProduces string
3032
+ * @dbxFormArrayOutput no
3033
+ * @dbxFormFieldDerivative text
3034
+ * @dbxFormConfigInterface DbxForgeEmailFieldConfig
3004
3035
  * @example
3005
3036
  * ```typescript
3006
- * const field = dbxForgeEmailField({ required: true });
3037
+ * dbxForgeEmailField({ key: 'email', label: 'Email', required: true })
3007
3038
  * ```
3008
3039
  */
3009
3040
  function dbxForgeEmailField(config = {}) {
@@ -3020,14 +3051,20 @@ function dbxForgeEmailField(config = {}) {
3020
3051
  });
3021
3052
  }
3022
3053
  /**
3023
- * Creates a forge text field pre-configured for city name input.
3054
+ * City name input enforcing `ADDRESS_CITY_MAX_LENGTH`. Typically used inside the address composite set.
3024
3055
  *
3025
3056
  * @param config - Optional overrides; defaults to key `'city'`, label `'City'`
3026
3057
  * @returns A {@link MatInputField} for city input
3027
3058
  *
3059
+ * @dbxFormField
3060
+ * @dbxFormSlug city
3061
+ * @dbxFormProduces string
3062
+ * @dbxFormArrayOutput no
3063
+ * @dbxFormFieldDerivative text
3064
+ * @dbxFormConfigInterface DbxForgeCityFieldConfig
3028
3065
  * @example
3029
3066
  * ```typescript
3030
- * const field = dbxForgeCityField({ required: true });
3067
+ * dbxForgeCityField({ required: true })
3031
3068
  * ```
3032
3069
  */
3033
3070
  function dbxForgeCityField(config = {}) {
@@ -3042,16 +3079,20 @@ function dbxForgeCityField(config = {}) {
3042
3079
  });
3043
3080
  }
3044
3081
  /**
3045
- * Creates a forge text field pre-configured for US state input with optional state code validation.
3046
- *
3047
- * When `asCode` is true, enforces the 2-letter state code pattern and auto-uppercases input.
3082
+ * US state input. When `asCode: true`, validates two-letter codes and auto-uppercases input via an idempotent transform.
3048
3083
  *
3049
3084
  * @param config - Optional overrides; defaults to key `'state'`, label `'State'`
3050
3085
  * @returns A {@link MatInputField} for state input
3051
3086
  *
3087
+ * @dbxFormField
3088
+ * @dbxFormSlug state
3089
+ * @dbxFormProduces string
3090
+ * @dbxFormArrayOutput no
3091
+ * @dbxFormFieldDerivative text
3092
+ * @dbxFormConfigInterface DbxForgeStateFieldConfig
3052
3093
  * @example
3053
3094
  * ```typescript
3054
- * const field = dbxForgeStateField({ asCode: true, required: true });
3095
+ * dbxForgeStateField({ asCode: true, required: true })
3055
3096
  * ```
3056
3097
  */
3057
3098
  function dbxForgeStateField(config = {}) {
@@ -3071,14 +3112,20 @@ function dbxForgeStateField(config = {}) {
3071
3112
  });
3072
3113
  }
3073
3114
  /**
3074
- * Creates a forge text field pre-configured for country name input.
3115
+ * Country name input enforcing `ADDRESS_COUNTRY_MAX_LENGTH`. Typically used inside the address composite set.
3075
3116
  *
3076
3117
  * @param config - Optional overrides; defaults to key `'country'`, label `'Country'`
3077
3118
  * @returns A {@link MatInputField} for country input
3078
3119
  *
3120
+ * @dbxFormField
3121
+ * @dbxFormSlug country
3122
+ * @dbxFormProduces string
3123
+ * @dbxFormArrayOutput no
3124
+ * @dbxFormFieldDerivative text
3125
+ * @dbxFormConfigInterface DbxForgeCountryFieldConfig
3079
3126
  * @example
3080
3127
  * ```typescript
3081
- * const field = dbxForgeCountryField({ required: true });
3128
+ * dbxForgeCountryField({ required: true })
3082
3129
  * ```
3083
3130
  */
3084
3131
  function dbxForgeCountryField(config = {}) {
@@ -3093,14 +3140,20 @@ function dbxForgeCountryField(config = {}) {
3093
3140
  });
3094
3141
  }
3095
3142
  /**
3096
- * Creates a forge text field pre-configured for US zip code input with pattern validation.
3143
+ * US zip code input with pattern validation and max-length enforcement.
3097
3144
  *
3098
3145
  * @param config - Optional overrides; defaults to key `'zip'`, label `'Zip Code'`
3099
3146
  * @returns A {@link MatInputField} for zip code input
3100
3147
  *
3148
+ * @dbxFormField
3149
+ * @dbxFormSlug zip-code
3150
+ * @dbxFormProduces string
3151
+ * @dbxFormArrayOutput no
3152
+ * @dbxFormFieldDerivative text
3153
+ * @dbxFormConfigInterface DbxForgeZipCodeFieldConfig
3101
3154
  * @example
3102
3155
  * ```typescript
3103
- * const field = dbxForgeZipCodeField({ required: true });
3156
+ * dbxForgeZipCodeField({ required: true })
3104
3157
  * ```
3105
3158
  */
3106
3159
  function dbxForgeZipCodeField(config = {}) {
@@ -3121,14 +3174,20 @@ function dbxForgeZipCodeField(config = {}) {
3121
3174
  */
3122
3175
  const DEFAULT_FORGE_LAT_LNG_TEXT_FIELD_PLACEHOLDER = '12.345,-67.8910';
3123
3176
  /**
3124
- * Creates a forge text field pre-configured for latitude/longitude coordinate input with pattern validation.
3177
+ * Latitude/longitude coordinate input with decimal-degree pattern validation.
3125
3178
  *
3126
3179
  * @param config - Optional overrides; defaults to key `'latLng'`
3127
3180
  * @returns A {@link MatInputField} for coordinate input
3128
3181
  *
3182
+ * @dbxFormField
3183
+ * @dbxFormSlug lat-lng
3184
+ * @dbxFormProduces string
3185
+ * @dbxFormArrayOutput no
3186
+ * @dbxFormFieldDerivative text
3187
+ * @dbxFormConfigInterface DbxForgeLatLngTextFieldConfig
3129
3188
  * @example
3130
3189
  * ```typescript
3131
- * const field = dbxForgeLatLngTextField();
3190
+ * dbxForgeLatLngTextField({ key: 'coords', label: 'Coordinates' })
3132
3191
  * ```
3133
3192
  */
3134
3193
  function dbxForgeLatLngTextField(config = {}) {
@@ -3145,11 +3204,11 @@ function dbxForgeLatLngTextField(config = {}) {
3145
3204
  const FORGE_EXPAND_FIELD_TYPE_NAME = 'dbx-forge-expand';
3146
3205
 
3147
3206
  let _dbxForgeRowCounter = 0;
3148
- let _dbxForgeGroupCounter = 0;
3207
+ let _dbxForgeContainerCounter = 0;
3149
3208
  let _dbxForgeToggleCounter = 0;
3150
3209
  let _dbxForgeExpandCounter = 0;
3151
3210
  /**
3152
- * Creates a forge row layout field that arranges child fields horizontally.
3211
+ * Flex row that lays child fields out in columns. Child fields typically carry a `col` property (1–12) for grid placement.
3153
3212
  *
3154
3213
  * Uses the `@ng-forge/dynamic-forms` `RowField` type with a 12-column grid system.
3155
3214
  * Each child field can specify a `col` value (1-12) for responsive sizing.
@@ -3157,14 +3216,17 @@ let _dbxForgeExpandCounter = 0;
3157
3216
  * @param config - Row layout configuration with fields and optional className
3158
3217
  * @returns A {@link RowField} with type `'row'`
3159
3218
  *
3219
+ * @dbxFormField
3220
+ * @dbxFormSlug row
3221
+ * @dbxFormTier primitive
3222
+ * @dbxFormProduces RowField
3223
+ * @dbxFormReturns RowField
3224
+ * @dbxFormArrayOutput no
3225
+ * @dbxFormConfigInterface DbxForgeRowConfig
3226
+ *
3160
3227
  * @example
3161
3228
  * ```typescript
3162
- * const row = dbxForgeRow({
3163
- * fields: [
3164
- * { ...dbxForgeTextField({ key: 'first', label: 'First' }), col: 6 },
3165
- * { ...dbxForgeTextField({ key: 'last', label: 'Last' }), col: 6 }
3166
- * ]
3167
- * });
3229
+ * dbxForgeRow({ fields: [ { ...dbxForgeTextField({ key: 'first' }), col: 6 }, { ...dbxForgeTextField({ key: 'last' }), col: 6 } ] })
3168
3230
  * ```
3169
3231
  */
3170
3232
  function dbxForgeRow(config) {
@@ -3176,52 +3238,156 @@ function dbxForgeRow(config) {
3176
3238
  };
3177
3239
  }
3178
3240
  /**
3179
- * Creates a plain forge group layout field.
3241
+ * Creates a plain ng-forge `group` field. A group produces a nested object in
3242
+ * the form value under its `key`, so the key is semantically significant and
3243
+ * must be chosen deliberately.
3180
3244
  *
3181
- * Groups collect child field values into a nested object when a `key` is provided.
3182
- * When used without a key, the group serves as a visual/logical grouping only.
3245
+ * For visual-only grouping (conditional visibility, layout wrappers, shared
3246
+ * CSS class) that should NOT introduce a nested object in the form value, use
3247
+ * {@link dbxForgeContainer} instead — that is what ng-forge's `container`
3248
+ * field type is for.
3183
3249
  *
3184
3250
  * For sections with headers, use the section wrapper type instead.
3185
3251
  *
3186
- * @param config - Group configuration with fields and optional key/className
3252
+ * @param config - Group configuration with fields and required key
3187
3253
  * @returns A {@link GroupField} with type `'group'`
3254
+ *
3255
+ * @dbxFormField
3256
+ * @dbxFormSlug group
3257
+ * @dbxFormTier primitive
3258
+ * @dbxFormProduces GroupField
3259
+ * @dbxFormReturns GroupField
3260
+ * @dbxFormArrayOutput no
3261
+ * @dbxFormConfigInterface DbxForgeGroupConfig
3262
+ *
3263
+ * @example
3264
+ * ```typescript
3265
+ * // Groups the address sub-fields under an `address` property in the form value.
3266
+ * const group = dbxForgeGroup({
3267
+ * key: 'address',
3268
+ * fields: [
3269
+ * dbxForgeTextField({ key: 'city', label: 'City' }),
3270
+ * dbxForgeTextField({ key: 'state', label: 'State' })
3271
+ * ]
3272
+ * });
3273
+ *
3274
+ * // Resulting form value shape:
3275
+ * // { address: { city: '...', state: '...' } }
3276
+ * ```
3277
+ *
3278
+ * @example
3279
+ * ```typescript
3280
+ * // Wrong: if the intent is purely visual (e.g. conditional visibility) and
3281
+ * // the fields should remain at the parent level in the form value, do NOT
3282
+ * // use a group — use dbxForgeContainer instead. Otherwise you end up with a
3283
+ * // spurious nested object:
3284
+ * // { _group_0: { city: '...', state: '...' } } // ← unwanted wrapper
3285
+ * ```
3188
3286
  */
3189
3287
  function dbxForgeGroup(config) {
3190
- const { key: inputKey, ...rest } = config;
3288
+ return {
3289
+ ...config,
3290
+ type: 'group'
3291
+ };
3292
+ }
3293
+ /**
3294
+ * Creates an ng-forge `container` field. Containers group child fields for
3295
+ * layout, conditional visibility, or wrapper application WITHOUT introducing
3296
+ * a nested object in the form value — child values remain at the same level
3297
+ * as the container itself.
3298
+ *
3299
+ * Use this (not {@link dbxForgeGroup}) whenever the grouping is purely visual
3300
+ * or structural. Use {@link dbxForgeGroup} when the intent is to nest the
3301
+ * child values under a named key in the form value.
3302
+ *
3303
+ * @param config - Container configuration with fields and optional key/wrappers
3304
+ * @returns A {@link ContainerField} with type `'container'`
3305
+ *
3306
+ * @example
3307
+ * ```typescript
3308
+ * // Visual-only grouping (e.g. to apply a CSS class or a wrapper). Children
3309
+ * // remain at the parent level in the form value — the container itself
3310
+ * // does not add a property.
3311
+ * const container = dbxForgeContainer({
3312
+ * className: 'dbx-highlight-group',
3313
+ * fields: [
3314
+ * dbxForgeTextField({ key: 'city', label: 'City' }),
3315
+ * dbxForgeTextField({ key: 'state', label: 'State' })
3316
+ * ]
3317
+ * });
3318
+ *
3319
+ * // Resulting form value shape (flat):
3320
+ * // { city: '...', state: '...' }
3321
+ * ```
3322
+ *
3323
+ * @example
3324
+ * ```typescript
3325
+ * // Conditional visibility without altering the value shape — a common use
3326
+ * // case that should NOT use dbxForgeGroup.
3327
+ * const container = dbxForgeContainer({
3328
+ * fields: [dbxForgeTextField({ key: 'jwks_uri', label: 'JWKS URI' })],
3329
+ * logic: [{
3330
+ * type: 'hidden',
3331
+ * condition: { type: 'fieldValue', fieldPath: 'authMethod', operator: 'notEquals', value: 'private_key_jwt' }
3332
+ * }]
3333
+ * });
3334
+ *
3335
+ * // Resulting form value shape (jwks_uri stays flat, not nested):
3336
+ * // { authMethod: '...', jwks_uri: '...' }
3337
+ * ```
3338
+ */
3339
+ function dbxForgeContainer(config) {
3340
+ const { key: inputKey, wrappers, ...rest } = config;
3191
3341
  return {
3192
3342
  ...rest,
3193
- type: 'group',
3194
- key: inputKey ?? `_group_${_dbxForgeGroupCounter++}`
3343
+ type: 'container',
3344
+ key: inputKey ?? `_container_${_dbxForgeContainerCounter++}`,
3345
+ wrappers: wrappers ?? []
3195
3346
  };
3196
3347
  }
3197
3348
  /**
3198
- * Creates a forge toggle wrapper that shows/hides content via a Material slide toggle.
3349
+ * Wraps content fields in a Material slide toggle the toggle state controls conditional visibility of the inner fields.
3199
3350
  *
3200
3351
  * Uses ng-forge's built-in `toggle` field type (MatSlideToggle) and
3201
3352
  * `FieldValueCondition` for conditional visibility. The toggle boolean value
3202
- * IS part of the form model (standard ng-forge pattern).
3353
+ * IS part of the form model. The hidden content is wrapped in a `container`
3354
+ * (not a `group`), so the wrapped fields sit at the same level as the toggle
3355
+ * in the form value — they are NOT nested under an extra object.
3203
3356
  *
3204
3357
  * Structure produced:
3205
3358
  * ```
3206
3359
  * Row (outer)
3207
3360
  * ├── toggle field (type: 'toggle', boolean value)
3208
- * └── Group (content, hidden when toggle === false)
3361
+ * └── Container (content, hidden when toggle === false)
3209
3362
  * ```
3210
3363
  *
3211
3364
  * This is the forge equivalent of the formly `formlyToggleWrapper`.
3212
3365
  *
3213
3366
  * @param config - Toggle wrapper configuration
3214
- * @returns A {@link RowField} containing the toggle and content group
3367
+ * @returns A {@link RowField} containing the toggle and content container
3368
+ *
3369
+ * @dbxFormField
3370
+ * @dbxFormSlug toggle-wrapper
3371
+ * @dbxFormTier composite-builder
3372
+ * @dbxFormSuffix Wrapper
3373
+ * @dbxFormProduces RowField
3374
+ * @dbxFormArrayOutput no
3375
+ * @dbxFormConfigInterface DbxForgeToggleWrapperConfig
3376
+ * @dbxFormComposesFrom toggle, group
3215
3377
  *
3216
3378
  * @example
3217
3379
  * ```typescript
3218
3380
  * const toggle = dbxForgeToggleWrapper({
3381
+ * key: 'showAdvanced',
3219
3382
  * label: 'Show advanced options',
3220
3383
  * fields: [
3221
3384
  * dbxForgeTextField({ key: 'advanced1', label: 'Option 1' }),
3222
3385
  * dbxForgeTextField({ key: 'advanced2', label: 'Option 2' })
3223
3386
  * ]
3224
3387
  * });
3388
+ *
3389
+ * // Resulting form value (flat — no nesting under the container):
3390
+ * // { showAdvanced: true, advanced1: '...', advanced2: '...' }
3225
3391
  * ```
3226
3392
  */
3227
3393
  function dbxForgeToggleWrapper(config) {
@@ -3233,7 +3399,9 @@ function dbxForgeToggleWrapper(config) {
3233
3399
  label: config.label ?? '',
3234
3400
  value: config.defaultOpen ?? false
3235
3401
  };
3236
- // Content group with conditional visibility based on toggle value
3402
+ // Content container with conditional visibility based on toggle value.
3403
+ // A container is used (not a group) so the wrapped fields stay at the same
3404
+ // level in the form value as the toggle itself.
3237
3405
  const hiddenCondition = {
3238
3406
  type: 'hidden',
3239
3407
  condition: {
@@ -3243,38 +3411,51 @@ function dbxForgeToggleWrapper(config) {
3243
3411
  value: false
3244
3412
  }
3245
3413
  };
3246
- const contentGroup = dbxForgeGroup({
3247
- key: config.contentKey,
3414
+ const contentContainer = dbxForgeContainer({
3415
+ ...(config.contentKey != null && { key: config.contentKey }),
3248
3416
  fields: config.fields,
3249
3417
  logic: [hiddenCondition]
3250
3418
  });
3251
3419
  return dbxForgeRow({
3252
- fields: [toggleField, contentGroup],
3420
+ fields: [toggleField, contentContainer],
3253
3421
  className: config.className ?? 'dbx-forge-toggle-wrapper'
3254
3422
  });
3255
3423
  }
3256
3424
  /**
3257
- * Creates a forge expand wrapper that shows/hides content via a button or text link.
3425
+ * Wraps content fields behind a button or text "expand" control. Use for optional sections like "Show advanced options".
3258
3426
  *
3259
3427
  * Uses a custom `dbx-forge-expand` field type for the expand trigger and
3260
- * `FieldValueCondition` for conditional visibility on the content group.
3261
- * The expand boolean value IS part of the form model.
3428
+ * `FieldValueCondition` for conditional visibility on the content. The
3429
+ * expand boolean value IS part of the form model. The hidden content is
3430
+ * wrapped in a `container` (not a `group`), so the wrapped fields sit at the
3431
+ * same level as the expand control in the form value — they are NOT nested
3432
+ * under an extra object.
3262
3433
  *
3263
3434
  * Structure produced:
3264
3435
  * ```
3265
3436
  * Row (outer)
3266
3437
  * ├── expand field (type: 'dbx-forge-expand', boolean value)
3267
- * └── Group (content, hidden when expand field === false)
3438
+ * └── Container (content, hidden when expand field === false)
3268
3439
  * ```
3269
3440
  *
3270
3441
  * This is the forge equivalent of the formly `formlyExpandWrapper`.
3271
3442
  *
3272
3443
  * @param config - Expand wrapper configuration
3273
- * @returns A {@link RowField} containing the expand control and content group
3444
+ * @returns A {@link RowField} containing the expand control and content container
3445
+ *
3446
+ * @dbxFormField
3447
+ * @dbxFormSlug expand-wrapper
3448
+ * @dbxFormTier composite-builder
3449
+ * @dbxFormSuffix Wrapper
3450
+ * @dbxFormProduces RowField
3451
+ * @dbxFormArrayOutput no
3452
+ * @dbxFormConfigInterface DbxForgeExpandWrapperConfig
3453
+ * @dbxFormComposesFrom group
3274
3454
  *
3275
3455
  * @example
3276
3456
  * ```typescript
3277
3457
  * const expand = dbxForgeExpandWrapper({
3458
+ * key: 'showMore',
3278
3459
  * label: 'Show more options',
3279
3460
  * buttonType: 'button',
3280
3461
  * fields: [
@@ -3282,6 +3463,9 @@ function dbxForgeToggleWrapper(config) {
3282
3463
  * dbxForgeTextField({ key: 'extra2', label: 'Extra 2' })
3283
3464
  * ]
3284
3465
  * });
3466
+ *
3467
+ * // Resulting form value (flat — no nesting under the container):
3468
+ * // { showMore: true, extra1: '...', extra2: '...' }
3285
3469
  * ```
3286
3470
  */
3287
3471
  function dbxForgeExpandWrapper(config) {
@@ -3305,13 +3489,13 @@ function dbxForgeExpandWrapper(config) {
3305
3489
  value: false
3306
3490
  }
3307
3491
  };
3308
- const contentGroup = dbxForgeGroup({
3309
- key: config.contentKey,
3492
+ const contentContainer = dbxForgeContainer({
3493
+ ...(config.contentKey != null && { key: config.contentKey }),
3310
3494
  fields: config.fields,
3311
3495
  logic: [hiddenCondition]
3312
3496
  });
3313
3497
  return dbxForgeRow({
3314
- fields: [expandField, contentGroup],
3498
+ fields: [expandField, contentContainer],
3315
3499
  className: config.className ?? 'dbx-forge-expand-wrapper'
3316
3500
  });
3317
3501
  }
@@ -3322,7 +3506,7 @@ const DBX_FORGE_ARRAY_FIELD_ELEMENT_WRAPPER_NAME = 'dbx-forge-array-field-elemen
3322
3506
 
3323
3507
  // MARK: Internal
3324
3508
  /**
3325
- * Creates a forge array field with add/remove controls and per-item rendering.
3509
+ * 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.
3326
3510
  *
3327
3511
  * Wraps the array with {@link DbxForgeArrayFieldWrapperComponent} for label/hint,
3328
3512
  * and wraps each template item in a ContainerField with
@@ -3332,17 +3516,17 @@ const DBX_FORGE_ARRAY_FIELD_ELEMENT_WRAPPER_NAME = 'dbx-forge-array-field-elemen
3332
3516
  * @param config - Array field configuration
3333
3517
  * @returns A {@link DbxForgeField}
3334
3518
  *
3519
+ * @dbxFormField
3520
+ * @dbxFormSlug array-field
3521
+ * @dbxFormTier primitive
3522
+ * @dbxFormProduces ArrayField
3523
+ * @dbxFormReturns ArrayField
3524
+ * @dbxFormArrayOutput yes
3525
+ * @dbxFormConfigInterface DbxForgeArrayFieldConfig
3526
+ *
3335
3527
  * @example
3336
3528
  * ```typescript
3337
- * const field = dbxForgeArrayField({
3338
- * key: 'phones',
3339
- * label: 'Phone Numbers',
3340
- * addText: 'Add Phone',
3341
- * template: [
3342
- * dbxForgeTextField({ key: 'number', label: 'Number' }),
3343
- * dbxForgeTextField({ key: 'label', label: 'Label' })
3344
- * ]
3345
- * });
3529
+ * dbxForgeArrayField({ key: 'tags', template: [dbxForgeTextField({ key: 'value' })] })
3346
3530
  * ```
3347
3531
  */
3348
3532
  const dbxForgeArrayField = dbxForgeFieldFunction({
@@ -3392,15 +3576,20 @@ const dbxForgeArrayField = dbxForgeFieldFunction({
3392
3576
  });
3393
3577
 
3394
3578
  /**
3395
- * Creates a forge text field for a single address line.
3579
+ * Street address line input. The `line` prop controls which line (1 or 2) — it affects key and label generation.
3396
3580
  *
3397
3581
  * @param config - Optional overrides; line number determines key and label
3398
3582
  * @returns A {@link MatInputField} for address line input
3399
3583
  *
3584
+ * @dbxFormField
3585
+ * @dbxFormSlug address-line
3586
+ * @dbxFormProduces string
3587
+ * @dbxFormArrayOutput no
3588
+ * @dbxFormFieldDerivative text
3589
+ * @dbxFormConfigInterface DbxForgeAddressLineFieldConfig
3400
3590
  * @example
3401
3591
  * ```typescript
3402
- * const line1 = dbxForgeAddressLineField({ line: 1, required: true });
3403
- * const line2 = dbxForgeAddressLineField({ line: 2 });
3592
+ * dbxForgeAddressLineField({ line: 2 })
3404
3593
  * ```
3405
3594
  */
3406
3595
  function dbxForgeAddressLineField(config = {}) {
@@ -3417,15 +3606,20 @@ function dbxForgeAddressLineField(config = {}) {
3417
3606
  });
3418
3607
  }
3419
3608
  /**
3420
- * Creates the full set of address form fields (lines, city, state, zip, and optionally country)
3421
- * arranged in a flex row layout.
3609
+ * Flat array of address fields (line(s), city, state, zip, optional country) with a sensible flex layout. Drop directly into a parent `fields: []`.
3422
3610
  *
3423
3611
  * @param config - Address fields configuration
3424
3612
  * @returns Array of forge field definitions for a complete address form section
3425
3613
  *
3614
+ * @dbxFormField
3615
+ * @dbxFormSlug address-fields
3616
+ * @dbxFormProduces FieldDef[]
3617
+ * @dbxFormArrayOutput no
3618
+ * @dbxFormFieldTemplate address-line, city, state, zip-code, country
3619
+ * @dbxFormConfigInterface DbxForgeAddressFieldsConfig
3426
3620
  * @example
3427
3621
  * ```typescript
3428
- * const fields = dbxForgeAddressFields({ required: true, includeCountry: false });
3622
+ * dbxForgeAddressFields({ required: true, includeCountry: false })
3429
3623
  * ```
3430
3624
  */
3431
3625
  function dbxForgeAddressFields(config = {}) {
@@ -3453,14 +3647,22 @@ function dbxForgeAddressFields(config = {}) {
3453
3647
  return fields;
3454
3648
  }
3455
3649
  /**
3456
- * Composite builder that wraps the full set of address sub-fields in a group.
3650
+ * 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.
3457
3651
  *
3458
3652
  * @param config - Optional overrides; defaults to key `'address'`
3459
3653
  * @returns A {@link GroupField} containing address fields
3460
3654
  *
3655
+ * @dbxFormField
3656
+ * @dbxFormSlug address-group
3657
+ * @dbxFormTier composite-builder
3658
+ * @dbxFormSuffix Group
3659
+ * @dbxFormProduces GroupField
3660
+ * @dbxFormArrayOutput no
3661
+ * @dbxFormConfigInterface DbxForgeAddressGroupConfig
3662
+ * @dbxFormComposesFrom address-fields, group
3461
3663
  * @example
3462
3664
  * ```typescript
3463
- * const group = dbxForgeAddressGroup({ required: true, includeCountry: true });
3665
+ * dbxForgeAddressGroup({ key: 'billingAddress' })
3464
3666
  * ```
3465
3667
  */
3466
3668
  function dbxForgeAddressGroup(config = {}) {
@@ -3471,15 +3673,22 @@ function dbxForgeAddressGroup(config = {}) {
3471
3673
  });
3472
3674
  }
3473
3675
  /**
3474
- * Creates a draggable repeat-array field that allows the user to add, remove,
3475
- * and reorder multiple addresses.
3676
+ * 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.
3476
3677
  *
3477
3678
  * @param config - Optional overrides; defaults to key `'addresses'`, max 6 entries
3478
3679
  * @returns A {@link DbxForgeArrayFieldDef} for multiple addresses
3479
3680
  *
3681
+ * @dbxFormField
3682
+ * @dbxFormSlug address-list
3683
+ * @dbxFormTier composite-builder
3684
+ * @dbxFormSuffix Field
3685
+ * @dbxFormProduces ArrayField
3686
+ * @dbxFormArrayOutput yes
3687
+ * @dbxFormConfigInterface DbxForgeAddressListFieldConfig
3688
+ * @dbxFormComposesFrom address-group, array-field
3480
3689
  * @example
3481
3690
  * ```typescript
3482
- * const field = dbxForgeAddressListField({ maxAddresses: 3, required: true });
3691
+ * dbxForgeAddressListField({ maxAddresses: 3 })
3483
3692
  * ```
3484
3693
  */
3485
3694
  function dbxForgeAddressListField(config = {}) {
@@ -3502,7 +3711,7 @@ function dbxForgeAddressListField(config = {}) {
3502
3711
  */
3503
3712
  const FORGE_IS_DIVISIBLE_BY_VALIDATION_KEY = 'isDivisibleBy';
3504
3713
  /**
3505
- * Creates a forge field definition for a numeric input.
3714
+ * Numeric input (HTML `type="number"`). Supports min/max/step constraints, optional step enforcement (divisibility validator), and idempotent number transforms.
3506
3715
  *
3507
3716
  * When `step` is provided, sets the HTML `step` attribute on the input via `meta`.
3508
3717
  * When both `step` and `enforceStep` are set, adds a custom divisibility validator.
@@ -3510,9 +3719,17 @@ const FORGE_IS_DIVISIBLE_BY_VALIDATION_KEY = 'isDivisibleBy';
3510
3719
  * @param config - Number field configuration
3511
3720
  * @returns A validated {@link MatInputField} with input type `'number'`
3512
3721
  *
3722
+ * @dbxFormField
3723
+ * @dbxFormSlug number
3724
+ * @dbxFormTier field-factory
3725
+ * @dbxFormProduces number
3726
+ * @dbxFormArrayOutput no
3727
+ * @dbxFormNgFormType input
3728
+ * @dbxFormWrapperPattern unwrapped
3729
+ * @dbxFormConfigInterface DbxForgeNumberFieldConfig
3513
3730
  * @example
3514
3731
  * ```typescript
3515
- * const field = dbxForgeNumberField({ key: 'quantity', label: 'Quantity', min: 1, max: 100, step: 1 });
3732
+ * dbxForgeNumberField({ key: 'quantity', label: 'Quantity', min: 1, max: 100, step: 1, enforceStep: true })
3516
3733
  * ```
3517
3734
  */
3518
3735
  const dbxForgeNumberField = dbxForgeFieldFunction({
@@ -3557,11 +3774,17 @@ const dbxForgeNumberField = dbxForgeFieldFunction({
3557
3774
  })
3558
3775
  });
3559
3776
  /**
3560
- * Creates a forge number field pre-configured for dollar amount input with cent-level precision.
3777
+ * 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.
3561
3778
  *
3562
3779
  * @param config - Number field configuration (precision is overridden to dollar amount precision)
3563
3780
  * @returns A {@link MatInputField} for dollar amount input
3564
3781
  *
3782
+ * @dbxFormField
3783
+ * @dbxFormSlug dollar-amount
3784
+ * @dbxFormProduces number
3785
+ * @dbxFormArrayOutput no
3786
+ * @dbxFormFieldDerivative number
3787
+ * @dbxFormConfigInterface DbxForgeDollarAmountFieldConfig
3565
3788
  * @example
3566
3789
  * ```typescript
3567
3790
  * const field = dbxForgeDollarAmountField({ key: 'price', label: 'Price', min: 0, required: true });
@@ -3599,19 +3822,26 @@ function configureDbxForgeFormFieldWrapper(instance) {
3599
3822
  }
3600
3823
 
3601
3824
  /**
3602
- * Creates a forge field definition for a Material slider wrapped in a form-field wrapper.
3825
+ * Material slider wrapped in a form-field container. Supports thumb label, tick interval, and step-derived tick spacing.
3603
3826
  *
3604
3827
  * The wrapper provides the Material outlined form-field appearance (notched outline with
3605
3828
  * floating label, hint/error subscript). The inner slider uses the ng-forge built-in
3606
- * `slider` type. The wrapper key uses `_` prefix so `stripForgeInternalKeys` flattens
3607
- * the child slider's value into the parent form.
3829
+ * `slider` type.
3608
3830
  *
3609
3831
  * @param config - Slider field configuration including max (required), thumb label, and tick interval
3610
3832
  * @returns A {@link DbxForgeFormFieldWrapperDef} wrapping a slider field
3611
3833
  *
3834
+ * @dbxFormField
3835
+ * @dbxFormSlug number-slider
3836
+ * @dbxFormTier field-factory
3837
+ * @dbxFormProduces number
3838
+ * @dbxFormArrayOutput no
3839
+ * @dbxFormNgFormType slider
3840
+ * @dbxFormWrapperPattern material-form-field-wrapped
3841
+ * @dbxFormConfigInterface DbxForgeNumberSliderFieldConfig
3612
3842
  * @example
3613
3843
  * ```typescript
3614
- * const field = dbxForgeNumberSliderField({ key: 'rating', label: 'Rating', min: 0, max: 10, step: 1 });
3844
+ * dbxForgeNumberSliderField({ key: 'rating', label: 'Rating', min: 0, max: 10, step: 1 })
3615
3845
  * ```
3616
3846
  */
3617
3847
  const dbxForgeNumberSliderField = dbxForgeFieldFunction({
@@ -3645,14 +3875,22 @@ const dbxForgeNumberSliderField = dbxForgeFieldFunction({
3645
3875
  */
3646
3876
  const FORGE_STYLED_BOX_CLASS = 'dbx-forge-styled-box';
3647
3877
  /**
3648
- * Creates a forge field definition for a Material slide toggle.
3878
+ * Material slide toggle. Renders inside a styled outline box by default so it visually matches surrounding outlined form fields; pass `styledBox: false` to opt out.
3649
3879
  *
3650
3880
  * @param config - Toggle field configuration
3651
3881
  * @returns A validated {@link MatToggleField} with type `'toggle'`
3652
3882
  *
3883
+ * @dbxFormField
3884
+ * @dbxFormSlug toggle
3885
+ * @dbxFormTier field-factory
3886
+ * @dbxFormProduces boolean
3887
+ * @dbxFormArrayOutput no
3888
+ * @dbxFormNgFormType toggle
3889
+ * @dbxFormWrapperPattern unwrapped
3890
+ * @dbxFormConfigInterface DbxForgeToggleFieldConfig
3653
3891
  * @example
3654
3892
  * ```typescript
3655
- * const field = dbxForgeToggleField({ key: 'active', label: 'Active', value: true });
3893
+ * dbxForgeToggleField({ key: 'active', label: 'Active', value: true })
3656
3894
  * ```
3657
3895
  */
3658
3896
  const dbxForgeToggleField = dbxForgeFieldFunction({
@@ -3665,14 +3903,23 @@ const dbxForgeToggleField = dbxForgeFieldFunction({
3665
3903
  })
3666
3904
  });
3667
3905
  /**
3668
- * Creates a forge field definition for a Material checkbox.
3906
+ * Material checkbox. Shares the styled-outline-box opt-out with toggle.
3669
3907
  *
3670
3908
  * @param config - Checkbox field configuration
3671
3909
  * @returns A validated {@link MatCheckboxField} with type `'checkbox'`
3672
3910
  *
3911
+ * @dbxFormField
3912
+ * @dbxFormSlug checkbox
3913
+ * @dbxFormTier field-factory
3914
+ * @dbxFormProduces boolean
3915
+ * @dbxFormArrayOutput no
3916
+ * @dbxFormNgFormType checkbox
3917
+ * @dbxFormWrapperPattern unwrapped
3918
+ * @dbxFormConfigInterface DbxForgeCheckboxFieldConfig
3919
+ *
3673
3920
  * @example
3674
3921
  * ```typescript
3675
- * const field = dbxForgeCheckboxField({ key: 'agree', label: 'I agree to the terms' });
3922
+ * dbxForgeCheckboxField({ key: 'agree', label: 'I agree to the terms' })
3676
3923
  * ```
3677
3924
  */
3678
3925
  const dbxForgeCheckboxField = dbxForgeFieldFunction({
@@ -4895,16 +5142,25 @@ function navigateDate(currentDate, step, config) {
4895
5142
  }
4896
5143
 
4897
5144
  /**
4898
- * Creates a forge field definition for a date picker input.
5145
+ * 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`.
4899
5146
  *
4900
5147
  * Uses the native ng-forge MatDatepickerField.
4901
5148
  *
4902
5149
  * @param config - Date field configuration including key, label, and date constraints
4903
5150
  * @returns A validated {@link MatDatepickerField}
4904
5151
  *
5152
+ * @dbxFormField
5153
+ * @dbxFormSlug date
5154
+ * @dbxFormTier field-factory
5155
+ * @dbxFormProduces Date
5156
+ * @dbxFormArrayOutput no
5157
+ * @dbxFormNgFormType datepicker
5158
+ * @dbxFormWrapperPattern unwrapped
5159
+ * @dbxFormConfigInterface DbxForgeDateFieldConfig
5160
+ *
4905
5161
  * @example
4906
5162
  * ```typescript
4907
- * const field = dbxForgeDateField({ key: 'startDate', label: 'Start Date', required: true });
5163
+ * dbxForgeDateField({ key: 'startDate', label: 'Start Date', required: true })
4908
5164
  * ```
4909
5165
  */
4910
5166
  const dbxForgeDateField = dbxForgeFieldFunction({
@@ -4918,7 +5174,7 @@ const dbxForgeDateField = dbxForgeFieldFunction({
4918
5174
  */
4919
5175
  const FORGE_DATETIME_FIELD_TYPE = 'datetime';
4920
5176
  /**
4921
- * Creates a forge field definition for a combined date-time picker.
5177
+ * 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`.
4922
5178
  *
4923
5179
  * Full parity with formly `dateTimeField()` — supports timezone, valueMode, timeMode,
4924
5180
  * pickerConfig, presets, and all other features via the `props` slot.
@@ -4926,18 +5182,19 @@ const FORGE_DATETIME_FIELD_TYPE = 'datetime';
4926
5182
  * @param config - Date-time field configuration
4927
5183
  * @returns A {@link DbxForgeDateTimeFieldDef}
4928
5184
  *
5185
+ * @dbxFormField
5186
+ * @dbxFormSlug date-time
5187
+ * @dbxFormTier field-factory
5188
+ * @dbxFormProduces DateTimeValue
5189
+ * @dbxFormArrayOutput no
5190
+ * @dbxFormNgFormType datetime
5191
+ * @dbxFormWrapperPattern unwrapped
5192
+ * @dbxFormConfigInterface DbxForgeDateTimeFieldConfig
5193
+ * @dbxFormPropsInterface DbxForgeDateTimeFieldComponentProps
5194
+ *
4929
5195
  * @example
4930
5196
  * ```typescript
4931
- * const field = dbxForgeDateTimeField({
4932
- * key: 'eventStart',
4933
- * label: 'Start',
4934
- * required: true,
4935
- * props: {
4936
- * timezone: 'America/New_York',
4937
- * valueMode: DbxDateTimeValueMode.DATE_STRING,
4938
- * timeMode: DbxDateTimeFieldTimeMode.OPTIONAL
4939
- * }
4940
- * });
5197
+ * dbxForgeDateTimeField({ key: 'when', label: 'When', timezone: 'America/New_York' })
4941
5198
  * ```
4942
5199
  */
4943
5200
  const dbxForgeDateTimeField = dbxForgeFieldFunction({
@@ -4946,6 +5203,8 @@ const dbxForgeDateTimeField = dbxForgeFieldFunction({
4946
5203
  });
4947
5204
 
4948
5205
  /**
5206
+ * 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.
5207
+ *
4949
5208
  * Composite builder that creates a pair of date pickers for selecting a date range (start and end dates)
4950
5209
  * arranged in a flex row. The pickers are synchronized so the start date stays before the end date.
4951
5210
  *
@@ -4954,14 +5213,18 @@ const dbxForgeDateTimeField = dbxForgeFieldFunction({
4954
5213
  * @param config - Date range configuration with optional shared props and start/end overrides
4955
5214
  * @returns A {@link RowField} containing the start and end date field pair
4956
5215
  *
5216
+ * @dbxFormField
5217
+ * @dbxFormSlug date-range-row
5218
+ * @dbxFormTier composite-builder
5219
+ * @dbxFormSuffix Row
5220
+ * @dbxFormProduces RowField
5221
+ * @dbxFormArrayOutput no
5222
+ * @dbxFormConfigInterface DbxForgeDateRangeRowConfig
5223
+ * @dbxFormComposesFrom date-time, row
5224
+ *
4957
5225
  * @example
4958
5226
  * ```typescript
4959
- * const row = dbxForgeDateRangeRow({
4960
- * required: true,
4961
- * props: { timezone: 'America/New_York' },
4962
- * start: { key: 'from' },
4963
- * end: { key: 'to' }
4964
- * });
5227
+ * dbxForgeDateRangeRow({ required: true, start: { key: 'from', label: 'From' }, end: { key: 'to', label: 'To' } })
4965
5228
  * ```
4966
5229
  */
4967
5230
  function dbxForgeDateRangeRow(config = {}) {
@@ -5004,17 +5267,25 @@ function dbxForgeDateRangeRow(config = {}) {
5004
5267
  }
5005
5268
 
5006
5269
  /**
5007
- * Composite builder that creates a pair of time-only pickers for selecting a time range (start and end times)
5008
- * arranged in a flex row.
5270
+ * Two-column row of time-only pickers for selecting a time range within a single day.
5009
5271
  *
5010
5272
  * This is the forge equivalent of formly's `formlyDateTimeRangeField()`.
5011
5273
  *
5012
5274
  * @param inputConfig - Time range configuration with optional shared props and start/end overrides
5013
5275
  * @returns A {@link RowField} containing the start and end time field pair
5014
5276
  *
5277
+ * @dbxFormField
5278
+ * @dbxFormSlug date-time-range-row
5279
+ * @dbxFormTier composite-builder
5280
+ * @dbxFormSuffix Row
5281
+ * @dbxFormProduces RowField
5282
+ * @dbxFormArrayOutput no
5283
+ * @dbxFormConfigInterface DbxForgeDateTimeRangeRowConfig
5284
+ * @dbxFormComposesFrom date-time, row
5285
+ *
5015
5286
  * @example
5016
5287
  * ```typescript
5017
- * const row = dbxForgeDateTimeRangeRow({ required: true });
5288
+ * dbxForgeDateTimeRangeRow({ start: { label: 'From' }, end: { label: 'Until' } })
5018
5289
  * ```
5019
5290
  */
5020
5291
  function dbxForgeDateTimeRangeRow(inputConfig = {}) {
@@ -5063,31 +5334,28 @@ function dbxForgeDateTimeRangeRow(inputConfig = {}) {
5063
5334
  */
5064
5335
  const FORGE_FIXEDDATERANGE_FIELD_TYPE = 'fixeddaterange';
5065
5336
  /**
5066
- * Creates a forge field definition for a fixed date range picker wrapped in a Material-style
5067
- * outlined container with a notched outline and floating label.
5337
+ * 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.
5068
5338
  *
5069
5339
  * Uses an inline `<mat-calendar>` with a custom selection strategy, matching the formly
5070
5340
  * `fixedDateRangeField()` behavior. Supports multiple selection modes, timezone conversion,
5071
5341
  * date range input configuration, and optional text inputs.
5072
5342
  *
5073
- * The field is wrapped by `configureDbxForgeFormFieldWrapper` which provides the Material outlined
5074
- * container, equivalent to formly's `['style', 'form-field']` wrappers.
5075
- *
5076
5343
  * @param config - Fixed date range field configuration
5077
5344
  * @returns A {@link DbxForgeFixedDateRangeFieldDef}
5078
5345
  *
5346
+ * @dbxFormField
5347
+ * @dbxFormSlug fixed-date-range
5348
+ * @dbxFormTier field-factory
5349
+ * @dbxFormProduces DbxForgeFixedDateRangeValue
5350
+ * @dbxFormArrayOutput no
5351
+ * @dbxFormNgFormType fixeddaterange
5352
+ * @dbxFormWrapperPattern material-form-field-wrapped
5353
+ * @dbxFormConfigInterface DbxForgeFixedDateRangeFieldConfig
5354
+ * @dbxFormPropsInterface DbxForgeFixedDateRangeFieldComponentProps
5355
+ *
5079
5356
  * @example
5080
5357
  * ```typescript
5081
- * const field = dbxForgeFixedDateRangeField({
5082
- * key: 'dateRange',
5083
- * label: 'Fixed Date Range',
5084
- * required: true,
5085
- * props: {
5086
- * dateRangeInput: { type: DateRangeType.WEEKS_RANGE, distance: 1 },
5087
- * pickerConfig: { limits: { min: 'today_start', max: addMonths(endOfMonth(new Date()), 1) } },
5088
- * valueMode: DbxDateTimeValueMode.DATE_STRING
5089
- * }
5090
- * });
5358
+ * dbxForgeFixedDateRangeField({ key: 'range', label: 'Date Range' })
5091
5359
  * ```
5092
5360
  */
5093
5361
  const dbxForgeFixedDateRangeField = dbxForgeFieldFunction({
@@ -6555,7 +6823,7 @@ var fixeddaterange_field_component = /*#__PURE__*/Object.freeze({
6555
6823
  */
6556
6824
  const FORGE_TIMEDURATION_FIELD_TYPE = 'timeduration';
6557
6825
  /**
6558
- * Creates a forge field definition for a time duration input.
6826
+ * Duration input with popover picker. Output shape varies by `valueMode` — number (ms/s/…), string, or structured object.
6559
6827
  *
6560
6828
  * Uses a custom ng-forge ValueFieldComponent that provides a text input
6561
6829
  * accepting duration strings (e.g. "2h30m") and a popover picker.
@@ -6563,15 +6831,18 @@ const FORGE_TIMEDURATION_FIELD_TYPE = 'timeduration';
6563
6831
  * @param config - Time duration field configuration
6564
6832
  * @returns A {@link DbxForgeTimeDurationFieldDef}
6565
6833
  *
6834
+ * @dbxFormField
6835
+ * @dbxFormSlug time-duration
6836
+ * @dbxFormTier field-factory
6837
+ * @dbxFormProduces TimeDurationValue
6838
+ * @dbxFormArrayOutput no
6839
+ * @dbxFormNgFormType timeduration
6840
+ * @dbxFormWrapperPattern unwrapped
6841
+ * @dbxFormConfigInterface DbxForgeTimeDurationFieldConfig
6842
+ *
6566
6843
  * @example
6567
6844
  * ```typescript
6568
- * const field = dbxForgeTimeDurationField({
6569
- * key: 'timeout',
6570
- * label: 'Timeout',
6571
- * outputUnit: 'min',
6572
- * min: 0,
6573
- * max: 480
6574
- * });
6845
+ * dbxForgeTimeDurationField({ key: 'duration', label: 'Duration', outputUnit: 'm' })
6575
6846
  * ```
6576
6847
  */
6577
6848
  const dbxForgeTimeDurationField = dbxForgeFieldFunction({
@@ -7109,7 +7380,7 @@ var duration_field_component = /*#__PURE__*/Object.freeze({
7109
7380
  */
7110
7381
  const FORGE_PHONE_FIELD_TYPE = 'phone';
7111
7382
  /**
7112
- * Creates a forge field definition for an international phone number input.
7383
+ * International phone number input backed by ngx-mat-input-tel. Supports preferred-country lists, search, and optional extension input.
7113
7384
  *
7114
7385
  * Uses the custom 'phone' field type which renders the ngx-mat-input-tel component
7115
7386
  * bridged to Signal Forms.
@@ -7117,9 +7388,18 @@ const FORGE_PHONE_FIELD_TYPE = 'phone';
7117
7388
  * @param config - Phone field configuration
7118
7389
  * @returns A forge field definition for the phone input
7119
7390
  *
7391
+ * @dbxFormField
7392
+ * @dbxFormSlug phone
7393
+ * @dbxFormTier field-factory
7394
+ * @dbxFormProduces string
7395
+ * @dbxFormArrayOutput no
7396
+ * @dbxFormNgFormType phone
7397
+ * @dbxFormWrapperPattern unwrapped
7398
+ * @dbxFormConfigInterface DbxForgePhoneFieldConfig
7399
+ *
7120
7400
  * @example
7121
7401
  * ```typescript
7122
- * const field = dbxForgePhoneField({ key: 'phone', label: 'Phone Number', required: true });
7402
+ * dbxForgePhoneField({ key: 'phone', label: 'Phone', preferredCountries: ['US', 'CA'] })
7123
7403
  * ```
7124
7404
  */
7125
7405
  const dbxForgePhoneField = dbxForgeFieldFunction({
@@ -7592,7 +7872,7 @@ var selection_field_component = /*#__PURE__*/Object.freeze({
7592
7872
 
7593
7873
  // MARK: Factory
7594
7874
  /**
7595
- * Creates a forge field definition for a Material select (dropdown) field.
7875
+ * Single-select dropdown over a static or async value list. Simpler than `source-select` when metadata lookup is unnecessary.
7596
7876
  *
7597
7877
  * The component uses `<mat-form-field>` with `[formField]` for native ng-forge value binding,
7598
7878
  * proper Material rendering, and built-in logic (hidden/disabled/readonly) support.
@@ -7602,26 +7882,19 @@ var selection_field_component = /*#__PURE__*/Object.freeze({
7602
7882
  * @param config - Selection field configuration
7603
7883
  * @returns A forge field definition for the value selection component
7604
7884
  *
7885
+ * @dbxFormField
7886
+ * @dbxFormSlug value-selection
7887
+ * @dbxFormTier field-factory
7888
+ * @dbxFormProduces T
7889
+ * @dbxFormArrayOutput no
7890
+ * @dbxFormNgFormType dbx-value-selection
7891
+ * @dbxFormWrapperPattern material-form-field-wrapped
7892
+ * @dbxFormConfigInterface DbxForgeValueSelectionFieldConfig<T>
7893
+ * @dbxFormGeneric <T = unknown>
7894
+ *
7605
7895
  * @example
7606
7896
  * ```typescript
7607
- * // Static options
7608
- * const field = dbxForgeValueSelectionField({
7609
- * key: 'color',
7610
- * label: 'Color',
7611
- * props: {
7612
- * options: [{ label: 'Red', value: 'red' }, { label: 'Blue', value: 'blue' }]
7613
- * }
7614
- * });
7615
- *
7616
- * // Observable options
7617
- * const field = dbxForgeValueSelectionField({
7618
- * key: 'status',
7619
- * label: 'Status',
7620
- * props: {
7621
- * options: status$.pipe(map(statuses => statuses.map(s => ({ label: s.name, value: s.id })))),
7622
- * addClearOption: 'No Selection'
7623
- * }
7624
- * });
7897
+ * dbxForgeValueSelectionField<string>({ key: 'status', props: { options: [{ value: 'active', label: 'Active' }] } })
7625
7898
  * ```
7626
7899
  */
7627
7900
  const dbxForgeValueSelectionField = dbxForgeFieldFunction({
@@ -7872,21 +8145,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
7872
8145
  */
7873
8146
  const DBX_FORGE_SEARCHABLE_TEXT_FIELD_TYPE_NAME = 'dbx-searchable-text';
7874
8147
  /**
7875
- * Creates a forge field definition for a searchable text field with autocomplete.
8148
+ * Single-value autocomplete field with search-as-you-type. Optionally allows free-form typed strings as values.
7876
8149
  *
7877
8150
  * @param config - Searchable text field configuration
7878
8151
  * @returns A {@link DbxForgeFormFieldWrapperFieldDef} wrapping a searchable text field
7879
8152
  *
8153
+ * @dbxFormField
8154
+ * @dbxFormSlug searchable-text
8155
+ * @dbxFormTier field-factory
8156
+ * @dbxFormProduces T
8157
+ * @dbxFormArrayOutput no
8158
+ * @dbxFormNgFormType dbx-searchable-text
8159
+ * @dbxFormWrapperPattern material-form-field-wrapped
8160
+ * @dbxFormConfigInterface DbxForgeSearchableTextFieldConfig<T, M, H>
8161
+ * @dbxFormGeneric <T = unknown, M = unknown, H extends PrimativeKey = PrimativeKey>
8162
+ *
7880
8163
  * @example
7881
8164
  * ```typescript
7882
- * const field = dbxForgeSearchableTextField({
7883
- * key: 'assignee',
7884
- * label: 'Assignee',
7885
- * props: {
7886
- * search: (text) => mySearchService.search(text),
7887
- * displayForValue: (values) => of(values.map(v => ({ ...v, label: v.meta?.name ?? '' })))
7888
- * }
7889
- * });
8165
+ * dbxForgeSearchableTextField<User>({ key: 'user', props: { search, displayForValue } })
7890
8166
  * ```
7891
8167
  */
7892
8168
  const dbxForgeSearchableTextField = dbxForgeFieldFunction({
@@ -7904,22 +8180,24 @@ const dbxForgeSearchableTextField = dbxForgeFieldFunction({
7904
8180
  */
7905
8181
  const DBX_FORGE_SEARCHABLE_CHIP_FIELD_TYPE_NAME = 'dbx-searchable-chip';
7906
8182
  /**
7907
- * Creates a forge field definition for a searchable chip field with autocomplete and chips.
8183
+ * Multi-value autocomplete with chips. Defaults to multi-select; supports free-form text entry when `allowStringValues` is set.
7908
8184
  *
7909
8185
  * @param config - Searchable chip field configuration
7910
8186
  * @returns A {@link DbxForgeFormFieldWrapperFieldDef} wrapping a searchable chip field
7911
8187
  *
8188
+ * @dbxFormField
8189
+ * @dbxFormSlug searchable-chip
8190
+ * @dbxFormTier field-factory
8191
+ * @dbxFormProduces T | T[]
8192
+ * @dbxFormArrayOutput optional
8193
+ * @dbxFormNgFormType dbx-searchable-chip
8194
+ * @dbxFormWrapperPattern material-form-field-wrapped
8195
+ * @dbxFormConfigInterface DbxForgeSearchableChipFieldConfig<T, M, H>
8196
+ * @dbxFormGeneric <T = unknown, M = unknown, H extends PrimativeKey = PrimativeKey>
8197
+ *
7912
8198
  * @example
7913
8199
  * ```typescript
7914
- * const field = dbxForgeSearchableChipField({
7915
- * key: 'tags',
7916
- * label: 'Tags',
7917
- * props: {
7918
- * search: (text) => tagService.search(text),
7919
- * displayForValue: (values) => of(values.map(v => ({ ...v, label: v.meta?.name ?? '' }))),
7920
- * allowStringValues: true
7921
- * }
7922
- * });
8200
+ * dbxForgeSearchableChipField<Tag>({ key: 'tags', props: { search, displayForValue } })
7923
8201
  * ```
7924
8202
  */
7925
8203
  const dbxForgeSearchableChipField = dbxForgeFieldFunction({
@@ -7931,13 +8209,27 @@ const dbxForgeSearchableChipField = dbxForgeFieldFunction({
7931
8209
  })
7932
8210
  });
7933
8211
  /**
7934
- * Creates a forge searchable chip field pre-configured for string values.
8212
+ * String-value specialization of `searchable-chip`. `allowStringValues` is forced true — use for free-form tag entry.
7935
8213
  *
7936
8214
  * Always sets `allowStringValues: true` on the inner field props so pressing Enter
7937
8215
  * (or typing a separator key) commits the typed value as a chip.
7938
8216
  *
7939
8217
  * @param config - String-specific searchable chip field configuration (omits allowStringValues)
7940
8218
  * @returns A {@link DbxForgeFormFieldWrapperFieldDef} wrapping a searchable chip field
8219
+ *
8220
+ * @dbxFormField
8221
+ * @dbxFormSlug searchable-string-chip
8222
+ * @dbxFormTier field-factory
8223
+ * @dbxFormProduces string | string[]
8224
+ * @dbxFormArrayOutput optional
8225
+ * @dbxFormNgFormType dbx-searchable-chip
8226
+ * @dbxFormWrapperPattern material-form-field-wrapped
8227
+ * @dbxFormConfigInterface DbxForgeSearchableStringChipFieldConfig
8228
+ *
8229
+ * @example
8230
+ * ```typescript
8231
+ * dbxForgeSearchableStringChipField({ key: 'tags', props: { search, displayForValue } })
8232
+ * ```
7941
8233
  */
7942
8234
  function dbxForgeSearchableStringChipField(config) {
7943
8235
  return dbxForgeSearchableChipField({
@@ -8495,20 +8787,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
8495
8787
  }], propDecorators: { field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }], key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], tabIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabIndex", required: false }] }], props: [{ type: i0.Input, args: [{ isSignal: true, alias: "props", required: false }] }], meta: [{ type: i0.Input, args: [{ isSignal: true, alias: "meta", required: false }] }], validationMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "validationMessages", required: false }] }], defaultValidationMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValidationMessages", required: false }] }] } });
8496
8788
 
8497
8789
  /**
8498
- * Creates a forge field definition for a pickable chip field.
8790
+ * Selection field rendering selected values as Material chips. Defaults to multi-select; flip to single-select via the underlying props.
8499
8791
  *
8500
8792
  * @param config - Pickable chip field configuration
8501
8793
  * @returns A {@link DbxForgeFormFieldWrapperFieldDef} wrapping a pickable chip field
8502
8794
  *
8795
+ * @dbxFormField
8796
+ * @dbxFormSlug pickable-chip
8797
+ * @dbxFormTier field-factory
8798
+ * @dbxFormProduces T | T[]
8799
+ * @dbxFormArrayOutput optional
8800
+ * @dbxFormNgFormType dbx-pickable-chip
8801
+ * @dbxFormWrapperPattern material-form-field-wrapped
8802
+ * @dbxFormConfigInterface DbxForgePickableChipFieldConfig<T, M, H>
8803
+ * @dbxFormPropsInterface DbxForgePickableFieldProps
8804
+ * @dbxFormGeneric <T = unknown, M = unknown, H extends PrimativeKey = PrimativeKey>
8805
+ *
8503
8806
  * @example
8504
8807
  * ```typescript
8505
- * const field = dbxForgePickableChipField({
8506
- * key: 'tags',
8507
- * label: 'Tags',
8508
- * loadValues: () => tags$,
8509
- * displayForValue: (values) => of(values.map(v => ({ ...v, label: v.meta?.label ?? '' }))),
8510
- * hashForValue: (tag) => tag.id
8511
- * });
8808
+ * dbxForgePickableChipField<Tag>({ key: 'tags', label: 'Tags', props: { loadValues: () => loadTags$, displayForValue: displayTag } })
8512
8809
  * ```
8513
8810
  */
8514
8811
  const dbxForgePickableChipField = dbxForgeFieldFunction({
@@ -8521,20 +8818,25 @@ const dbxForgePickableChipField = dbxForgeFieldFunction({
8521
8818
  });
8522
8819
 
8523
8820
  /**
8524
- * Creates a forge field definition for a pickable list field.
8821
+ * Scrollable-list variant of `pickable-chip` same API, different presentation. Prefer this when the option set is large.
8525
8822
  *
8526
8823
  * @param config - Pickable list field configuration
8527
8824
  * @returns A {@link DbxForgeFormFieldWrapperFieldDef} wrapping a pickable list field
8528
8825
  *
8826
+ * @dbxFormField
8827
+ * @dbxFormSlug pickable-list
8828
+ * @dbxFormTier field-factory
8829
+ * @dbxFormProduces T | T[]
8830
+ * @dbxFormArrayOutput optional
8831
+ * @dbxFormNgFormType dbx-pickable-list
8832
+ * @dbxFormWrapperPattern material-form-field-wrapped
8833
+ * @dbxFormConfigInterface DbxForgePickableListFieldConfig<T, M, H>
8834
+ * @dbxFormPropsInterface DbxForgePickableFieldProps
8835
+ * @dbxFormGeneric <T = unknown, M = unknown, H extends PrimativeKey = PrimativeKey>
8836
+ *
8529
8837
  * @example
8530
8838
  * ```typescript
8531
- * const field = dbxForgePickableListField({
8532
- * key: 'categories',
8533
- * label: 'Categories',
8534
- * loadValues: () => categories$,
8535
- * displayForValue: (values) => of(values.map(v => ({ ...v, label: v.meta?.label ?? '' }))),
8536
- * hashForValue: (cat) => cat.id
8537
- * });
8839
+ * dbxForgePickableListField<Item>({ key: 'items', props: { loadValues, displayForValue } })
8538
8840
  * ```
8539
8841
  */
8540
8842
  const dbxForgePickableListField = dbxForgeFieldFunction({
@@ -8628,7 +8930,7 @@ var pickableList_field_component = /*#__PURE__*/Object.freeze({
8628
8930
  */
8629
8931
  const FORGE_SOURCE_SELECT_FIELD_TYPE = 'dbx-source-select';
8630
8932
  /**
8631
- * Creates a forge field definition for a source select field.
8933
+ * 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.
8632
8934
  *
8633
8935
  * The component uses `<mat-form-field>` with `[formField]` for native ng-forge value binding,
8634
8936
  * proper Material rendering, and built-in logic (hidden/disabled/readonly) support.
@@ -8636,17 +8938,19 @@ const FORGE_SOURCE_SELECT_FIELD_TYPE = 'dbx-source-select';
8636
8938
  * @param config - Source select field configuration
8637
8939
  * @returns A {@link DbxForgeSourceSelectFieldDef}
8638
8940
  *
8941
+ * @dbxFormField
8942
+ * @dbxFormSlug source-select
8943
+ * @dbxFormTier field-factory
8944
+ * @dbxFormProduces T | T[]
8945
+ * @dbxFormArrayOutput optional
8946
+ * @dbxFormNgFormType dbx-source-select
8947
+ * @dbxFormWrapperPattern unwrapped
8948
+ * @dbxFormConfigInterface DbxForgeSourceSelectFieldConfig<T, M>
8949
+ * @dbxFormGeneric <T extends PrimativeKey = PrimativeKey, M = unknown>
8950
+ *
8639
8951
  * @example
8640
8952
  * ```typescript
8641
- * const field = dbxForgeSourceSelectField({
8642
- * key: 'source',
8643
- * label: 'Source',
8644
- * props: {
8645
- * valueReader: (meta) => meta.id,
8646
- * metaLoader: (values) => myService.loadMeta(values),
8647
- * displayForValue: (values) => of(values.map(v => ({ ...v, label: v.meta.name })))
8648
- * }
8649
- * });
8953
+ * dbxForgeSourceSelectField<string, User>({ key: 'userId', props: { valueReader: (u) => u.id, metaLoader, displayForValue } })
8650
8954
  * ```
8651
8955
  */
8652
8956
  const dbxForgeSourceSelectField = dbxForgeFieldFunction({
@@ -9023,22 +9327,24 @@ var sourceselect_field_component = /*#__PURE__*/Object.freeze({
9023
9327
  */
9024
9328
  const FORGE_LIST_SELECTION_FIELD_TYPE = 'dbx-list-selection';
9025
9329
  /**
9026
- * Creates a forge field definition for a list selection field.
9330
+ * Multi-select backed by a lazy-loadable custom list component. Use when you need complete control over item layout and pagination.
9027
9331
  *
9028
9332
  * @param config - List selection field configuration
9029
9333
  * @returns A {@link DbxForgeFormFieldWrapperFieldDef} wrapping a list selection field
9030
9334
  *
9335
+ * @dbxFormField
9336
+ * @dbxFormSlug list-selection
9337
+ * @dbxFormTier field-factory
9338
+ * @dbxFormProduces K[]
9339
+ * @dbxFormArrayOutput yes
9340
+ * @dbxFormNgFormType dbx-list-selection
9341
+ * @dbxFormWrapperPattern material-form-field-wrapped
9342
+ * @dbxFormConfigInterface DbxForgeListSelectionFieldConfig<T, C, K>
9343
+ * @dbxFormGeneric <T = unknown, C extends AbstractDbxSelectionListWrapperDirective<T> = AbstractDbxSelectionListWrapperDirective<T>, K extends PrimativeKey = PrimativeKey>
9344
+ *
9031
9345
  * @example
9032
9346
  * ```typescript
9033
- * const field = dbxForgeListSelectionField({
9034
- * key: 'selectedItems',
9035
- * label: 'Items',
9036
- * props: {
9037
- * listComponentClass: of(MyListComponent),
9038
- * readKey: (item) => item.id,
9039
- * state$: items$
9040
- * }
9041
- * });
9347
+ * dbxForgeListSelectionField<Item, MyListComponent, string>({ key: 'items', props: { listComponentClass, readKey: (i) => i.id, state$ } })
9042
9348
  * ```
9043
9349
  */
9044
9350
  const dbxForgeListSelectionField = dbxForgeFieldFunction({
@@ -9197,21 +9503,24 @@ var list_field_component = /*#__PURE__*/Object.freeze({
9197
9503
  });
9198
9504
 
9199
9505
  /**
9200
- * Creates a forge field definition for a Material multi-checkbox (checklist) field.
9506
+ * Multi-checkbox group. Use for small static option sets where every option is visible at once.
9201
9507
  *
9202
9508
  * @param config - Checklist field configuration
9203
9509
  * @returns A validated {@link MatMultiCheckboxField} with type `'multi-checkbox'`
9204
9510
  *
9511
+ * @dbxFormField
9512
+ * @dbxFormSlug checklist
9513
+ * @dbxFormTier field-factory
9514
+ * @dbxFormProduces T[]
9515
+ * @dbxFormArrayOutput yes
9516
+ * @dbxFormNgFormType multi-checkbox
9517
+ * @dbxFormWrapperPattern unwrapped
9518
+ * @dbxFormConfigInterface DbxForgeChecklistFieldConfig<T>
9519
+ * @dbxFormGeneric <T = unknown>
9520
+ *
9205
9521
  * @example
9206
9522
  * ```typescript
9207
- * const field = dbxForgeChecklistField({
9208
- * key: 'tags',
9209
- * label: 'Tags',
9210
- * options: [
9211
- * { label: 'Frontend', value: 'frontend' },
9212
- * { label: 'Backend', value: 'backend' }
9213
- * ]
9214
- * });
9523
+ * dbxForgeChecklistField<string>({ key: 'flags', props: { options: [{ value: 'a', label: 'A' }, { value: 'b', label: 'B' }] } })
9215
9524
  * ```
9216
9525
  */
9217
9526
  const dbxForgeChecklistField = dbxForgeFieldFunction({
@@ -9293,7 +9602,7 @@ const _dbxForgeComponentField = dbxForgeFieldFunction({
9293
9602
  type: FORGE_COMPONENT_FIELD_TYPE
9294
9603
  });
9295
9604
  /**
9296
- * Creates a forge field definition that renders a custom Angular component.
9605
+ * Escape hatch injects any Angular component as the field renderer via DbxInjection. Use when no existing form field fits.
9297
9606
  *
9298
9607
  * Uses {@link DbxInjectionComponent} to dynamically inject any Angular component
9299
9608
  * into the form. Generates a unique key when none is provided so that ng-forge's
@@ -9302,12 +9611,19 @@ const _dbxForgeComponentField = dbxForgeFieldFunction({
9302
9611
  * @param config - Component field configuration
9303
9612
  * @returns A validated {@link DbxForgeComponentFieldDef}
9304
9613
  *
9614
+ * @dbxFormField
9615
+ * @dbxFormSlug component-field
9616
+ * @dbxFormTier field-factory
9617
+ * @dbxFormProduces T
9618
+ * @dbxFormArrayOutput no
9619
+ * @dbxFormNgFormType component
9620
+ * @dbxFormWrapperPattern unwrapped
9621
+ * @dbxFormConfigInterface DbxForgeComponentFieldConfig<T>
9622
+ * @dbxFormGeneric <T = unknown>
9623
+ *
9305
9624
  * @example
9306
9625
  * ```typescript
9307
- * const field = dbxForgeComponentField({
9308
- * key: 'custom',
9309
- * props: { componentField: { componentClass: MyCustomFormComponent, data: { someInput: 'value' } } }
9310
- * });
9626
+ * dbxForgeComponentField<MyValue>({ key: 'custom', props: { component: MyCustomComp } })
9311
9627
  * ```
9312
9628
  */
9313
9629
  const dbxForgeComponentField = (config) => {
@@ -9436,7 +9752,7 @@ var texteditor_field_component = /*#__PURE__*/Object.freeze({
9436
9752
  });
9437
9753
 
9438
9754
  /**
9439
- * Creates a forge field definition for a rich text editor.
9755
+ * Rich HTML text editor (ngx-editor). Output is the serialized HTML string.
9440
9756
  *
9441
9757
  * Uses ngx-editor under the hood, outputting HTML format.
9442
9758
  * The field defaults to an empty string.
@@ -9444,9 +9760,18 @@ var texteditor_field_component = /*#__PURE__*/Object.freeze({
9444
9760
  * @param config - Text editor field configuration
9445
9761
  * @returns A validated {@link DbxForgeTextEditorFieldDef}
9446
9762
  *
9763
+ * @dbxFormField
9764
+ * @dbxFormSlug text-editor
9765
+ * @dbxFormTier field-factory
9766
+ * @dbxFormProduces string
9767
+ * @dbxFormArrayOutput no
9768
+ * @dbxFormNgFormType texteditor
9769
+ * @dbxFormWrapperPattern unwrapped
9770
+ * @dbxFormConfigInterface DbxForgeTextEditorFieldConfig
9771
+ *
9447
9772
  * @example
9448
9773
  * ```typescript
9449
- * const field = dbxForgeTextEditorField({ key: 'bio', label: 'Biography', maxLength: 2000 });
9774
+ * dbxForgeTextEditorField({ key: 'content', label: 'Body', maxLength: 10000 })
9450
9775
  * ```
9451
9776
  */
9452
9777
  const dbxForgeTextEditorField = dbxForgeFieldFunction({
@@ -9867,24 +10192,40 @@ function isFlexFieldConfig(input) {
9867
10192
  return input.field != null;
9868
10193
  }
9869
10194
  /**
9870
- * Creates a responsive flex layout group that arranges child fields horizontally
10195
+ * Creates a responsive flex layout container that arranges child fields horizontally
9871
10196
  * with configurable sizing, breakpoints, and responsive behavior.
9872
10197
  *
9873
10198
  * Each child field gets a `dbx-flex-N` CSS class applied (merged with any existing className).
9874
- * The group is wrapped with the `dbx-forge-flex` wrapper that renders the `dbxFlexGroup` directive
9875
- * for responsive breakpoint handling.
10199
+ * The container hosts the `dbx-forge-flex` wrapper, which renders the `dbxFlexGroup`
10200
+ * directive for responsive breakpoint handling.
10201
+ *
10202
+ * A `container` is used (not a `group`) because flex layout is purely visual —
10203
+ * the wrapped fields should remain at the same level in the form value, not be
10204
+ * nested under an extra object.
9876
10205
  *
9877
10206
  * This is the forge equivalent of {@link formlyFlexLayoutWrapper}.
9878
10207
  *
9879
10208
  * @param fieldConfigs - Array of field definitions or `{ field, size }` pairs with size overrides
9880
10209
  * @param config - Flex layout defaults including breakpoint, relative sizing, and default size
9881
- * @returns A {@link GroupField} with flex wrapper applied and sized children
10210
+ * @returns A {@link ContainerField} with the flex wrapper applied and sized children
10211
+ *
10212
+ * @dbxFormField
10213
+ * @dbxFormSlug flex-layout
10214
+ * @dbxFormTier composite-builder
10215
+ * @dbxFormSuffix Layout
10216
+ * @dbxFormProduces GroupField
10217
+ * @dbxFormArrayOutput no
10218
+ * @dbxFormConfigInterface DbxForgeFlexLayoutConfig
10219
+ * @dbxFormComposesFrom group
9882
10220
  *
9883
10221
  * @example
9884
10222
  * ```typescript
9885
10223
  * // Simple: all fields get default size (2)
9886
10224
  * dbxForgeFlexLayout([dbxForgeCityField({}), dbxForgeStateField({}), dbxForgeZipCodeField({})])
9887
10225
  *
10226
+ * // Resulting form value shape (flat — no wrapper property):
10227
+ * // { city: '...', state: '...', zip: '...' }
10228
+ *
9888
10229
  * // With per-field sizing and breakpoint
9889
10230
  * dbxForgeFlexLayout([
9890
10231
  * { field: dbxForgeCityField({}), size: 4 },
@@ -9910,7 +10251,7 @@ function dbxForgeFlexLayout(fieldConfigs, config = {}) {
9910
10251
  ...(relative != null && { relative }),
9911
10252
  ...(breakToColumn != null && { breakToColumn })
9912
10253
  };
9913
- return dbxForgeGroup({
10254
+ return dbxForgeContainer({
9914
10255
  fields: mappedFields,
9915
10256
  className: 'dbx-flex-group',
9916
10257
  wrappers: [flexWrapper]
@@ -10002,33 +10343,44 @@ var formfield_wrapper_component = /*#__PURE__*/Object.freeze({
10002
10343
  */
10003
10344
  const DBX_FORGE_SECTION_WRAPPER_TYPE_NAME = 'dbx-forge-section';
10004
10345
  /**
10005
- * Creates a section wrapper config for use in a field's `wrappers` array.
10346
+ * Section wrapper config attach via a field's `wrappers: []` array for a semantic section with header and optional card elevation.
10006
10347
  *
10007
10348
  * @param config - the section wrapper configuration without the `type` property
10008
10349
  * @returns a complete {@link DbxForgeSectionWrapper} config with the type set
10009
10350
  *
10351
+ * @dbxFormField
10352
+ * @dbxFormSlug section-wrapper
10353
+ * @dbxFormTier primitive
10354
+ * @dbxFormProduces WrapperConfig
10355
+ * @dbxFormReturns WrapperConfig
10356
+ * @dbxFormArrayOutput no
10357
+ * @dbxFormConfigInterface DbxForgeSectionWrapper
10358
+ *
10010
10359
  * @example
10011
10360
  * ```typescript
10012
- * dbxForgeNameField({
10013
- * wrappers: [dbxForgeSectionWrapper({ headerConfig: { header: 'Contact' } })]
10014
- * })
10361
+ * dbxForgeSectionWrapper({ headerConfig: { text: 'Contact Details' } })
10015
10362
  * ```
10016
10363
  */
10017
10364
  function dbxForgeSectionWrapper(config) {
10018
10365
  return { type: DBX_FORGE_SECTION_WRAPPER_TYPE_NAME, ...config };
10019
10366
  }
10020
10367
  /**
10021
- * Creates a subsection wrapper config for use in a field's `wrappers` array.
10022
- * Sets `subsection: true` and defaults heading level to 4.
10368
+ * Subsection variant of `section-wrapper` defaults to heading level 4 and `subsection: true`.
10023
10369
  *
10024
10370
  * @param config - the subsection wrapper configuration without the `type` and `subsection` properties
10025
10371
  * @returns a complete {@link DbxForgeSectionWrapper} config with `type` and `subsection: true` set
10026
10372
  *
10373
+ * @dbxFormField
10374
+ * @dbxFormSlug subsection-wrapper
10375
+ * @dbxFormTier primitive
10376
+ * @dbxFormProduces WrapperConfig
10377
+ * @dbxFormReturns WrapperConfig
10378
+ * @dbxFormArrayOutput no
10379
+ * @dbxFormConfigInterface DbxForgeSectionWrapper
10380
+ *
10027
10381
  * @example
10028
10382
  * ```typescript
10029
- * dbxForgeNameField({
10030
- * wrappers: [dbxForgeSubsectionWrapper({ headerConfig: { header: 'Name' } })]
10031
- * })
10383
+ * dbxForgeSubsectionWrapper({ headerConfig: { text: 'Options' } })
10032
10384
  * ```
10033
10385
  */
10034
10386
  function dbxForgeSubsectionWrapper(config) {
@@ -10072,16 +10424,22 @@ function dbxForgeInfoWrapper(config) {
10072
10424
  */
10073
10425
  const DBX_FORGE_STYLE_WRAPPER_TYPE_NAME = 'dbx-forge-style';
10074
10426
  /**
10075
- * Creates a style wrapper config for use in a field's `wrappers` array.
10427
+ * Style wrapper config applies dynamic CSS classes (`ngClass`) and/or inline styles (`ngStyle`) to any field via its `wrappers: []`.
10076
10428
  *
10077
10429
  * @param config - the style wrapper configuration without the `type` property
10078
10430
  * @returns a complete {@link DbxForgeStyleWrapper} config with the type set
10079
10431
  *
10432
+ * @dbxFormField
10433
+ * @dbxFormSlug style-wrapper
10434
+ * @dbxFormTier primitive
10435
+ * @dbxFormProduces WrapperConfig
10436
+ * @dbxFormReturns WrapperConfig
10437
+ * @dbxFormArrayOutput no
10438
+ * @dbxFormConfigInterface DbxForgeStyleWrapper
10439
+ *
10080
10440
  * @example
10081
10441
  * ```typescript
10082
- * dbxForgeNameField({
10083
- * wrappers: [dbxForgeStyleWrapper({ classGetter: 'highlight', styleGetter: { color: 'red' } })]
10084
- * })
10442
+ * dbxForgeStyleWrapper({ classGetter: 'highlighted' })
10085
10443
  * ```
10086
10444
  */
10087
10445
  function dbxForgeStyleWrapper(config) {
@@ -10509,16 +10867,23 @@ const DBX_FORGE_TEXT_PASSWORD_DEFAULT_AUTOCOMPLETE = 'current-password';
10509
10867
  */
10510
10868
  const DBX_FORGE_TEXT_VERIFY_PASSWORD_DEFAULT_AUTOCOMPLETE = 'new-password';
10511
10869
  /**
10512
- * Creates a forge text password field with the input type set to `'password'`.
10870
+ * Password input (HTML `type="password"`) with secure autocomplete defaults.
10513
10871
  *
10514
10872
  * Defaults to the key `'password'` and label `'Password'` unless overridden.
10515
10873
  *
10516
10874
  * @param config - Optional configuration for the password field
10517
10875
  * @returns A {@link MatInputField} with password input type
10518
10876
  *
10877
+ * @dbxFormField
10878
+ * @dbxFormSlug password-field
10879
+ * @dbxFormProduces string
10880
+ * @dbxFormArrayOutput no
10881
+ * @dbxFormFieldDerivative text
10882
+ * @dbxFormConfigInterface DbxForgeTextPasswordFieldConfig
10883
+ *
10519
10884
  * @example
10520
10885
  * ```typescript
10521
- * const field = dbxForgeTextPasswordField();
10886
+ * dbxForgeTextPasswordField({ key: 'password', required: true })
10522
10887
  * ```
10523
10888
  */
10524
10889
  function dbxForgeTextPasswordField(config) {
@@ -10532,16 +10897,23 @@ function dbxForgeTextPasswordField(config) {
10532
10897
  });
10533
10898
  }
10534
10899
  /**
10535
- * Creates a forge verify/confirm password field, typically used alongside a primary password field.
10900
+ * Companion to `password-field` for sign-up flows. Defaults `autocomplete` to `new-password`. Pair with `password-with-verify-fields` for cross-field equality validation.
10536
10901
  *
10537
10902
  * Defaults to the key `'verifyPassword'` and label `'Verify Password'` unless overridden.
10538
10903
  *
10539
10904
  * @param config - Optional configuration for the verify password field
10540
10905
  * @returns A {@link MatInputField} with password input type
10541
10906
  *
10907
+ * @dbxFormField
10908
+ * @dbxFormSlug verify-password-field
10909
+ * @dbxFormProduces string
10910
+ * @dbxFormArrayOutput no
10911
+ * @dbxFormFieldDerivative password-field
10912
+ * @dbxFormConfigInterface DbxForgeTextPasswordFieldConfig
10913
+ *
10542
10914
  * @example
10543
10915
  * ```typescript
10544
- * const field = dbxForgeTextVerifyPasswordField();
10916
+ * dbxForgeTextVerifyPasswordField({ key: 'verifyPassword' })
10545
10917
  * ```
10546
10918
  */
10547
10919
  function dbxForgeTextVerifyPasswordField(config) {
@@ -10554,8 +10926,7 @@ function dbxForgeTextVerifyPasswordField(config) {
10554
10926
  });
10555
10927
  }
10556
10928
  /**
10557
- * Creates a forge password and verify password pair with a custom validator on the verify field
10558
- * that ensures both values match.
10929
+ * Password + verify-password pair with cross-field equality validation wired up. Drop-in for sign-up flows.
10559
10930
  *
10560
10931
  * The verify password field uses an expression-based custom validator that compares the
10561
10932
  * verify field value against the primary password field's value via `formValue`.
@@ -10563,9 +10934,16 @@ function dbxForgeTextVerifyPasswordField(config) {
10563
10934
  * @param config - Configuration for the password and verify password fields
10564
10935
  * @returns A tuple of `[passwordField, verifyPasswordField]`
10565
10936
  *
10937
+ * @dbxFormField
10938
+ * @dbxFormSlug password-with-verify-fields
10939
+ * @dbxFormProduces FieldDef[]
10940
+ * @dbxFormArrayOutput no
10941
+ * @dbxFormFieldTemplate password-field, verify-password-field
10942
+ * @dbxFormConfigInterface DbxForgeTextPasswordWithVerifyFieldConfig
10943
+ *
10566
10944
  * @example
10567
10945
  * ```typescript
10568
- * const [passwordField, verifyPasswordField] = dbxForgeTextPasswordWithVerifyField();
10946
+ * dbxForgeTextPasswordWithVerifyField({ password: { required: true } })
10569
10947
  * ```
10570
10948
  */
10571
10949
  function dbxForgeTextPasswordWithVerifyField(config) {
@@ -10598,7 +10976,7 @@ function dbxForgeTextPasswordWithVerifyField(config) {
10598
10976
  return [passwordField, verifyPasswordField];
10599
10977
  }
10600
10978
  /**
10601
- * Creates an array of forge field definitions for a username/password login form.
10979
+ * Complete login/signup field set: username, password, and optional verify-password. Drop into the top-level `fields: []`.
10602
10980
  *
10603
10981
  * When `verifyPassword` is provided, a second password field is added with a custom
10604
10982
  * validator that ensures both password values match.
@@ -10606,9 +10984,16 @@ function dbxForgeTextPasswordWithVerifyField(config) {
10606
10984
  * @param config - Login fields configuration
10607
10985
  * @returns An array of forge field definitions for the login form
10608
10986
  *
10987
+ * @dbxFormField
10988
+ * @dbxFormSlug username-password-login-fields
10989
+ * @dbxFormProduces FieldDef[]
10990
+ * @dbxFormArrayOutput no
10991
+ * @dbxFormFieldTemplate username-login-field, password-field, verify-password-field
10992
+ * @dbxFormConfigInterface DbxForgeUsernameLoginFieldsConfig
10993
+ *
10609
10994
  * @example
10610
10995
  * ```typescript
10611
- * const fields = dbxForgeUsernamePasswordLoginFields({ username: 'email' });
10996
+ * dbxForgeUsernamePasswordLoginFields({ username: 'email', verifyPassword: true })
10612
10997
  * ```
10613
10998
  */
10614
10999
  function dbxForgeUsernamePasswordLoginFields(config) {
@@ -10629,16 +11014,23 @@ function dbxForgeUsernamePasswordLoginFields(config) {
10629
11014
  return result;
10630
11015
  }
10631
11016
  /**
10632
- * Creates a single forge username field for a login form.
11017
+ * Username field for login forms. Accepts `"email"` or `"username"` as shorthand presets, or a full config object.
10633
11018
  *
10634
11019
  * Supports email or plain text input based on the provided configuration.
10635
11020
  *
10636
11021
  * @param username - Either `'email'`, `'username'`, or a full config object
10637
11022
  * @returns A forge field definition for the username input
10638
11023
  *
11024
+ * @dbxFormField
11025
+ * @dbxFormSlug username-login-field
11026
+ * @dbxFormProduces string
11027
+ * @dbxFormArrayOutput no
11028
+ * @dbxFormFieldDerivative text
11029
+ * @dbxFormConfigInterface DbxForgeUsernameLoginFieldUsernameConfigInput
11030
+ *
10639
11031
  * @example
10640
11032
  * ```typescript
10641
- * const field = dbxForgeUsernameLoginField('email');
11033
+ * dbxForgeUsernameLoginField({ username: 'email' })
10642
11034
  * ```
10643
11035
  */
10644
11036
  function dbxForgeUsernameLoginField(username) {
@@ -17152,5 +17544,5 @@ function provideDbxFormConfiguration(config) {
17152
17544
  * Generated bundle index. Do not edit.
17153
17545
  */
17154
17546
 
17155
- export { APP_ACTION_FORM_DISABLED_KEY, AbstractAsyncForgeFormDirective, AbstractAsyncFormlyFormDirective, AbstractConfigAsyncForgeFormDirective, AbstractConfigAsyncFormlyFormDirective, AbstractDbxPickableItemFieldDirective, AbstractDbxSearchableFieldDisplayDirective, AbstractDbxSearchableValueFieldDirective, AbstractForgeFormDirective, AbstractForgePickableItemFieldDirective, AbstractForgeSearchableFieldDirective, AbstractFormExpandSectionWrapperDirective, AbstractFormlyFormDirective, AbstractSyncForgeFormDirective, AbstractSyncFormlyFormDirective, AutoTouchFieldWrapperComponent, ChecklistItemFieldDataSetBuilder, DBX_DATE_TIME_FIELD_DATE_NOT_IN_SCHEDULE_ERROR, DBX_DATE_TIME_FIELD_MENU_PRESETS_TOKEN, DBX_DATE_TIME_FIELD_TIME_NOT_IN_RANGE_ERROR, DBX_FORGE_ARRAY_FIELD_ELEMENT_WRAPPER_NAME, DBX_FORGE_ARRAY_FIELD_WRAPPER_NAME, DBX_FORGE_DEFAULT_PASSWORDS_MATCH_VALIDATION_MESSAGE, DBX_FORGE_FIELD_TYPES, DBX_FORGE_FIELD_WRAPPER_TYPES, DBX_FORGE_FLEX_WRAPPER_TYPE_NAME, DBX_FORGE_FORM_COMPONENT_TEMPLATE, DBX_FORGE_FORM_FIELD_WRAPPER_NAME, DBX_FORGE_INFO_WRAPPER_TYPE_NAME, DBX_FORGE_PASSWORDS_MATCH_VALIDATION_KIND, DBX_FORGE_SEARCHABLE_CHIP_FIELD_TYPE_NAME, DBX_FORGE_SEARCHABLE_TEXT_FIELD_TYPE_NAME, DBX_FORGE_SECTION_WRAPPER_TYPE_NAME, DBX_FORGE_STYLE_WRAPPER_TYPE_NAME, DBX_FORGE_TEXT_PASSWORD_DEFAULT_AUTOCOMPLETE, DBX_FORGE_TEXT_VERIFY_PASSWORD_DEFAULT_AUTOCOMPLETE, DBX_FORGE_WORKING_WRAPPER_TYPE_NAME, DBX_FORMLY_FORM_COMPONENT_TEMPLATE, DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN, DEFAULT_DATE_TIME_FIELD_MENU_PRESETS_PRESETS, DEFAULT_DURATION_PICKER_POPOVER_KEY, DEFAULT_FORGE_LAT_LNG_TEXT_FIELD_PLACEHOLDER, DEFAULT_FORM_DISABLED_KEY, DEFAULT_HAS_VALUE_FN, DEFAULT_LAT_LNG_TEXT_FIELD_PATTERN_MESSAGE, DEFAULT_LAT_LNG_TEXT_FIELD_PLACEHOLDER, DEFAULT_PREFERRED_COUNTRIES, DEFAULT_TRANSFORM_DEBOUNCE_TIME, DURATION_MAX_VALIDATION_MESSAGE, DURATION_MIN_VALIDATION_MESSAGE, DbxActionFormDirective, DbxActionFormSafetyDirective, DbxChecklistItemContentComponent, DbxChecklistItemFieldComponent, DbxDateTimeFieldComponent, DbxDateTimeFieldMenuPresetsService, DbxDateTimeFieldTimeMode, DbxDateTimeValueMode, DbxDefaultChecklistItemFieldDisplayComponent, DbxDefaultSearchableFieldDisplayComponent, DbxDurationPickerPopoverComponent, DbxFixedDateRangeFieldComponent, DbxFixedDateRangeFieldSelectionStrategy, DbxForgeActionDialogComponent, DbxForgeArrayFieldElementWrapperComponent, DbxForgeArrayFieldWrapperComponent, DbxForgeAsyncConfigFormComponent, DbxForgeComponentFieldComponent, DbxForgeDateRangeFieldComponent, DbxForgeDateTimeFieldComponent, DbxForgeDynamicFormSignalRef, DbxForgeFixedDateRangeFieldComponent, DbxForgeFixedDateRangeFieldSelectionStrategy, DbxForgeFormComponent, DbxForgeFormComponentImportsModule, DbxForgeFormContext, DbxForgeFormContextService, DbxForgeFormFieldWrapperComponent, DbxForgeGlobalDefaultConfigService, DbxForgeListSelectionFieldComponent, DbxForgePhoneFieldComponent, DbxForgePickableChipFieldComponent, DbxForgePickableListFieldComponent, DbxForgeSearchableChipFieldComponent, DbxForgeSearchableTextFieldComponent, DbxForgeSourceSelectFieldComponent, DbxForgeTextEditorFieldComponent, DbxForgeTimeDurationFieldComponent, DbxForgeWorkingWrapperComponent, DbxForm, DbxFormActionDialogComponent, DbxFormComponentFieldComponent, DbxFormExpandWrapperComponent, DbxFormExtensionModule, DbxFormFlexWrapperComponent, DbxFormFormlyArrayFieldModule, DbxFormFormlyBooleanFieldModule, DbxFormFormlyChecklistItemFieldModule, DbxFormFormlyComponentFieldModule, DbxFormFormlyDateFieldModule, DbxFormFormlyDbxListFieldModule, DbxFormFormlyDurationFieldModule, DbxFormFormlyFieldModule, DbxFormFormlyNumberFieldModule, DbxFormFormlyPhoneFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule, DbxFormFormlySourceSelectModule, DbxFormFormlyTextEditorFieldModule, DbxFormFormlyTextFieldModule, DbxFormFormlyWrapperModule, DbxFormInfoWrapperComponent, DbxFormLoadingSourceDirective, DbxFormLoginFieldModule, DbxFormModule, DbxFormRepeatArrayTypeComponent, DbxFormSearchFormComponent, DbxFormSectionWrapperComponent, DbxFormSourceDirective, DbxFormSourceSelectFieldComponent, DbxFormSpacerDirective, DbxFormState, DbxFormStyleWrapperComponent, DbxFormSubsectionWrapperComponent, DbxFormTextAvailableFieldModule, DbxFormTimezoneStringFieldModule, DbxFormToggleWrapperComponent, DbxFormValueChangeDirective, DbxFormWorkingWrapperComponent, DbxFormlyComponent, DbxFormlyContext, DbxFormlyFieldsContextDirective, DbxFormlyFormComponentImportsModule, DbxItemListFieldComponent, DbxMutableForm, DbxPhoneFieldComponent, DbxPickableChipListFieldComponent, DbxPickableListFieldComponent, DbxPickableListFieldItemListComponent, DbxPickableListFieldItemListViewComponent, DbxPickableListFieldItemListViewItemComponent, DbxSearchableChipFieldComponent, DbxSearchableFieldAutocompleteItemComponent, DbxSearchableTextFieldComponent, DbxTextEditorFieldComponent, DbxTimeDurationFieldComponent, FIELD_VALUES_ARE_EQUAL_VALIDATION_KEY, FIELD_VALUE_IS_AVAILABLE_ERROR_VALIDATION_KEY, FIELD_VALUE_IS_AVAILABLE_VALIDATION_KEY, FORGE_COMPONENT_FIELD_TYPE, FORGE_DATERANGE_FIELD_TYPE, FORGE_DATETIME_FIELD_TYPE, FORGE_EXPAND_FIELD_TYPE_NAME, FORGE_FIELD_VALUE_IS_AVAILABLE_VALIDATOR_NAME, FORGE_FIXEDDATERANGE_FIELD_TYPE, FORGE_INFO_BUTTON_FIELD_TYPE_NAME, FORGE_IS_DIVISIBLE_BY_VALIDATION_KEY, FORGE_LIST_SELECTION_FIELD_TYPE, FORGE_PHONE_FIELD_TYPE, FORGE_PICKABLE_CHIP_FIELD_TYPE, FORGE_PICKABLE_LIST_FIELD_TYPE, FORGE_SOURCE_SELECT_FIELD_TYPE, FORGE_STYLED_BOX_CLASS, FORGE_TEXT_EDITOR_FIELD_TYPE, FORGE_TIMEDURATION_FIELD_TYPE, FORGE_VALUE_SELECTION_FIELD_TYPE, INVALID_PHONE_NUMBER_EXTENSION_MESSAGE, INVALID_PHONE_NUMBER_MESSAGE, IS_DIVISIBLE_BY_VALIDATION_KEY, IS_NOT_WEBSITE_URL_VALIDATION_KEY, IS_NOT_WEBSITE_URL_WITH_EXPECTED_DOMAIN_VALIDATION_KEY, IS_NOT_WEBSITE_URL_WITH_PREFIX_VALIDATION_KEY, LABEL_STRING_MAX_LENGTH, MAX_LENGTH_VALIDATION_MESSAGE, MAX_VALIDATION_MESSAGE, MIN_LENGTH_VALIDATION_MESSAGE, MIN_VALIDATION_MESSAGE, PHONE_LABEL_MAX_LENGTH, REQUIRED_VALIDATION_MESSAGE, SEARCH_STRING_MAX_LENGTH, TAKE_NEXT_UPCOMING_TIME_CONFIG_OBS, addValueSelectionOptionFunction, addWrapperToFormlyFieldConfig, addressField, addressFormlyFields, addressLineField, addressListField, applyTimeOffset, autoTouchWrapper, buildCombinedDateTime, checkIsFieldFlexLayoutGroupFieldConfig, checkboxField, checklistItemField, chipTextField, cityField, componentField, computeDateKeyboardStep, computeErrorMessage, computeTimeKeyboardStep, configureDbxForgeFormFieldWrapper, configureForgeAutocompleteFieldMeta, copyFormConfigCustomFnConfig, countryField, dateRangeField, dateRangeFieldMapper, dateTimeField, dateTimeFieldCalc, dateTimeFieldMapper, dateTimePreset, dateTimeRangeField, dbxDateRangeIsSameDateRangeFieldValue, dbxDateTimeInputValueParseFactory, dbxDateTimeIsSameDateTimeFieldValue, dbxDateTimeOutputValueFactory, dbxForgeAddressFields, dbxForgeAddressGroup, dbxForgeAddressLineField, dbxForgeAddressListField, dbxForgeArrayField, dbxForgeBuildFieldDef, dbxForgeCheckboxField, dbxForgeChecklistField, dbxForgeCityField, dbxForgeComponentField, dbxForgeCountryField, dbxForgeDateField, dbxForgeDateRangeRow, dbxForgeDateTimeField, dbxForgeDateTimeRangeRow, dbxForgeDefaultValidationMessages, dbxForgeDollarAmountField, dbxForgeEmailField, dbxForgeExpandWrapper, dbxForgeFieldDisabled, dbxForgeFieldFunction, dbxForgeFieldFunctionConfigPropsWithHintBuilder, dbxForgeFieldFunctionConfigure, dbxForgeFinalizeFormConfig, dbxForgeFixedDateRangeField, dbxForgeFlexLayout, dbxForgeFormComponentProviders, dbxForgeGroup, dbxForgeInfoWrapper, dbxForgeLatLngTextField, dbxForgeListSelectionField, dbxForgeNameField, dbxForgeNumberField, dbxForgeNumberSliderField, dbxForgePhoneField, dbxForgePickableChipField, dbxForgePickableListField, dbxForgeRow, dbxForgeSearchableChipField, dbxForgeSearchableStringChipField, dbxForgeSearchableTextField, dbxForgeSectionWrapper, dbxForgeSourceSelectField, dbxForgeStateField, dbxForgeStyleWrapper, dbxForgeSubsectionWrapper, dbxForgeTextAreaField, dbxForgeTextEditorField, dbxForgeTextField, dbxForgeTextIsAvailableField, dbxForgeTextPasswordField, dbxForgeTextPasswordWithVerifyField, dbxForgeTextVerifyPasswordField, dbxForgeTimeDurationField, dbxForgeTimezoneStringField, dbxForgeToggleField, dbxForgeToggleWrapper, dbxForgeUsernameLoginField, dbxForgeUsernamePasswordLoginFields, dbxForgeValueSelectionField, dbxForgeWebsiteUrlField, dbxForgeZipCodeField, dbxFormSearchFormFields, dbxFormSourceObservable, dbxFormSourceObservableFromStream, dbxFormlyFormComponentProviders, dbxListField, defaultValidationMessages, disableAutofillAttributes, disableFormlyFieldAutofillAttributes, dollarAmountField, durationMaxValidationMessage, durationMinValidationMessage, emailField, expandWrapper, fieldAutocompleteAttributeValue, fieldValueIsAvailableValidator, fieldValuesAreEqualValidator, filterPartialPotentialFieldConfigValuesFromObject, filterPickableItemFieldValuesByLabel, filterPickableItemFieldValuesByLabelFilterFunction, filterPresets, fixedDateRangeField, fixedDateRangeFieldMapper, flexLayoutWrapper, formlyAddValueSelectionOptionFunction, formlyAddWrapperToFormlyFieldConfig, formlyAddressField, formlyAddressFormlyFields, formlyAddressLineField, formlyAddressListField, formlyAutoTouchWrapper, formlyCheckIsFieldFlexLayoutGroupFieldConfig, formlyCheckboxField, formlyChecklistItemField, formlyChipTextField, formlyCityField, formlyComponentField, formlyCountryField, formlyDateRangeField, formlyDateTimeField, formlyDateTimeRangeField, formlyDbxListField, formlyDollarAmountField, formlyEmailField, formlyExpandWrapper, formlyField, formlyFixedDateRangeField, formlyFlexLayoutWrapper, formlyHiddenField, formlyInfoWrapper, formlyLatLngTextField, formlyMakeMetaFilterSearchableFieldValueDisplayFn, formlyNameField, formlyNumberField, formlyNumberFieldTransformParser, formlyNumberSliderField, formlyPhoneAndLabelSectionField, formlyPhoneField, formlyPhoneListField, formlyPickableItemChipField, formlyPickableItemListField, formlyRepeatArrayField, formlySearchableChipField, formlySearchableStringChipField, formlySearchableTextField, formlySectionWrapper, formlySourceSelectField, formlyStateField, formlyStyleWrapper, formlySubsectionWrapper, formlyTextAreaField, formlyTextEditorField, formlyTextField, formlyTextFieldTransformParser, formlyTextIsAvailableField, formlyTextPasswordField, formlyTextPasswordWithVerifyFieldGroup, formlyTextVerifyPasswordField, formlyTimeDurationField, formlyTimeOnlyField, formlyTimezoneStringField, formlyToggleField, formlyToggleWrapper, formlyUsernameLoginField, formlyUsernamePasswordLoginFields, formlyValueSelectionField, formlyWebsiteUrlField, formlyWorkingWrapper, formlyWrappedPhoneAndLabelField, formlyZipCodeField, hiddenField, infoWrapper, isDbxDateTimeFieldTimeDateConfig, isDivisibleBy, isDomain, isE164PhoneNumber, isE164PhoneNumberWithValidExtension, isInRange, isPhoneExtension, isTruthy, isWebsiteUrlValidator, latLngTextField, makeMetaFilterSearchableFieldValueDisplayFn, maxLengthValidationMessage, maxValidationMessage, mergeDbxForgeFieldFormConfig, mergePickerConfig, mergePropsValueObjects, minLengthValidationMessage, minValidationMessage, nameField, navigateDate, numberField, numberFieldTransformParser, numberSliderField, partialPotentialFieldConfigKeys, partialPotentialFieldConfigKeysFilter, phoneAndLabelSectionField, phoneField, phoneFieldMapper, phoneListField, pickableItemChipField, pickableItemListField, pickableValueFieldValuesConfigForStaticLabeledValues, propsAndConfigForFieldConfig, propsValueForFieldConfig, provideDbxForgeFormContext, provideDbxForgeFormFieldDeclarations, provideDbxForm, provideDbxFormConfiguration, provideDbxFormFormlyFieldDeclarations, provideDbxMutableForm, provideFormlyContext, repeatArrayField, resolveForgeSelectionOptions, searchableChipField, searchableStringChipField, searchableTextField, sectionWrapper, sortPickableItemsByLabel, sortPickableItemsByLabelStringFunction, sourceSelectField, stateField, streamValueFromControl, stripEmptyForgeValues, stripForgeInternalKeys, styleWrapper, subsectionWrapper, syncConfigValueObs, textAreaField, textEditorField, textField, textFieldTransformParser, textIsAvailableField, textPasswordField, textPasswordWithVerifyFieldGroup, textVerifyPasswordField, timeDurationField, timeDurationFieldMapper, timeOnlyField, timezoneStringField, toggleDisableFormControl, toggleField, toggleWrapper, usernameLoginField, usernamePasswordLoginFields, validatorsForFieldConfig, valueSelectionField, websiteUrlField, workingWrapper, wrappedPhoneAndLabelField, zipCodeField };
17547
+ export { APP_ACTION_FORM_DISABLED_KEY, AbstractAsyncForgeFormDirective, AbstractAsyncFormlyFormDirective, AbstractConfigAsyncForgeFormDirective, AbstractConfigAsyncFormlyFormDirective, AbstractDbxPickableItemFieldDirective, AbstractDbxSearchableFieldDisplayDirective, AbstractDbxSearchableValueFieldDirective, AbstractForgeFormDirective, AbstractForgePickableItemFieldDirective, AbstractForgeSearchableFieldDirective, AbstractFormExpandSectionWrapperDirective, AbstractFormlyFormDirective, AbstractSyncForgeFormDirective, AbstractSyncFormlyFormDirective, AutoTouchFieldWrapperComponent, ChecklistItemFieldDataSetBuilder, DBX_DATE_TIME_FIELD_DATE_NOT_IN_SCHEDULE_ERROR, DBX_DATE_TIME_FIELD_MENU_PRESETS_TOKEN, DBX_DATE_TIME_FIELD_TIME_NOT_IN_RANGE_ERROR, DBX_FORGE_ARRAY_FIELD_ELEMENT_WRAPPER_NAME, DBX_FORGE_ARRAY_FIELD_WRAPPER_NAME, DBX_FORGE_DEFAULT_PASSWORDS_MATCH_VALIDATION_MESSAGE, DBX_FORGE_FIELD_TYPES, DBX_FORGE_FIELD_WRAPPER_TYPES, DBX_FORGE_FLEX_WRAPPER_TYPE_NAME, DBX_FORGE_FORM_COMPONENT_TEMPLATE, DBX_FORGE_FORM_FIELD_WRAPPER_NAME, DBX_FORGE_INFO_WRAPPER_TYPE_NAME, DBX_FORGE_PASSWORDS_MATCH_VALIDATION_KIND, DBX_FORGE_SEARCHABLE_CHIP_FIELD_TYPE_NAME, DBX_FORGE_SEARCHABLE_TEXT_FIELD_TYPE_NAME, DBX_FORGE_SECTION_WRAPPER_TYPE_NAME, DBX_FORGE_STYLE_WRAPPER_TYPE_NAME, DBX_FORGE_TEXT_PASSWORD_DEFAULT_AUTOCOMPLETE, DBX_FORGE_TEXT_VERIFY_PASSWORD_DEFAULT_AUTOCOMPLETE, DBX_FORGE_WORKING_WRAPPER_TYPE_NAME, DBX_FORMLY_FORM_COMPONENT_TEMPLATE, DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN, DEFAULT_DATE_TIME_FIELD_MENU_PRESETS_PRESETS, DEFAULT_DURATION_PICKER_POPOVER_KEY, DEFAULT_FORGE_LAT_LNG_TEXT_FIELD_PLACEHOLDER, DEFAULT_FORM_DISABLED_KEY, DEFAULT_HAS_VALUE_FN, DEFAULT_LAT_LNG_TEXT_FIELD_PATTERN_MESSAGE, DEFAULT_LAT_LNG_TEXT_FIELD_PLACEHOLDER, DEFAULT_PREFERRED_COUNTRIES, DEFAULT_TRANSFORM_DEBOUNCE_TIME, DURATION_MAX_VALIDATION_MESSAGE, DURATION_MIN_VALIDATION_MESSAGE, DbxActionFormDirective, DbxActionFormSafetyDirective, DbxChecklistItemContentComponent, DbxChecklistItemFieldComponent, DbxDateTimeFieldComponent, DbxDateTimeFieldMenuPresetsService, DbxDateTimeFieldTimeMode, DbxDateTimeValueMode, DbxDefaultChecklistItemFieldDisplayComponent, DbxDefaultSearchableFieldDisplayComponent, DbxDurationPickerPopoverComponent, DbxFixedDateRangeFieldComponent, DbxFixedDateRangeFieldSelectionStrategy, DbxForgeActionDialogComponent, DbxForgeArrayFieldElementWrapperComponent, DbxForgeArrayFieldWrapperComponent, DbxForgeAsyncConfigFormComponent, DbxForgeComponentFieldComponent, DbxForgeDateRangeFieldComponent, DbxForgeDateTimeFieldComponent, DbxForgeDynamicFormSignalRef, DbxForgeFixedDateRangeFieldComponent, DbxForgeFixedDateRangeFieldSelectionStrategy, DbxForgeFormComponent, DbxForgeFormComponentImportsModule, DbxForgeFormContext, DbxForgeFormContextService, DbxForgeFormFieldWrapperComponent, DbxForgeGlobalDefaultConfigService, DbxForgeListSelectionFieldComponent, DbxForgePhoneFieldComponent, DbxForgePickableChipFieldComponent, DbxForgePickableListFieldComponent, DbxForgeSearchableChipFieldComponent, DbxForgeSearchableTextFieldComponent, DbxForgeSourceSelectFieldComponent, DbxForgeTextEditorFieldComponent, DbxForgeTimeDurationFieldComponent, DbxForgeWorkingWrapperComponent, DbxForm, DbxFormActionDialogComponent, DbxFormComponentFieldComponent, DbxFormExpandWrapperComponent, DbxFormExtensionModule, DbxFormFlexWrapperComponent, DbxFormFormlyArrayFieldModule, DbxFormFormlyBooleanFieldModule, DbxFormFormlyChecklistItemFieldModule, DbxFormFormlyComponentFieldModule, DbxFormFormlyDateFieldModule, DbxFormFormlyDbxListFieldModule, DbxFormFormlyDurationFieldModule, DbxFormFormlyFieldModule, DbxFormFormlyNumberFieldModule, DbxFormFormlyPhoneFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule, DbxFormFormlySourceSelectModule, DbxFormFormlyTextEditorFieldModule, DbxFormFormlyTextFieldModule, DbxFormFormlyWrapperModule, DbxFormInfoWrapperComponent, DbxFormLoadingSourceDirective, DbxFormLoginFieldModule, DbxFormModule, DbxFormRepeatArrayTypeComponent, DbxFormSearchFormComponent, DbxFormSectionWrapperComponent, DbxFormSourceDirective, DbxFormSourceSelectFieldComponent, DbxFormSpacerDirective, DbxFormState, DbxFormStyleWrapperComponent, DbxFormSubsectionWrapperComponent, DbxFormTextAvailableFieldModule, DbxFormTimezoneStringFieldModule, DbxFormToggleWrapperComponent, DbxFormValueChangeDirective, DbxFormWorkingWrapperComponent, DbxFormlyComponent, DbxFormlyContext, DbxFormlyFieldsContextDirective, DbxFormlyFormComponentImportsModule, DbxItemListFieldComponent, DbxMutableForm, DbxPhoneFieldComponent, DbxPickableChipListFieldComponent, DbxPickableListFieldComponent, DbxPickableListFieldItemListComponent, DbxPickableListFieldItemListViewComponent, DbxPickableListFieldItemListViewItemComponent, DbxSearchableChipFieldComponent, DbxSearchableFieldAutocompleteItemComponent, DbxSearchableTextFieldComponent, DbxTextEditorFieldComponent, DbxTimeDurationFieldComponent, FIELD_VALUES_ARE_EQUAL_VALIDATION_KEY, FIELD_VALUE_IS_AVAILABLE_ERROR_VALIDATION_KEY, FIELD_VALUE_IS_AVAILABLE_VALIDATION_KEY, FORGE_COMPONENT_FIELD_TYPE, FORGE_DATERANGE_FIELD_TYPE, FORGE_DATETIME_FIELD_TYPE, FORGE_EXPAND_FIELD_TYPE_NAME, FORGE_FIELD_VALUE_IS_AVAILABLE_VALIDATOR_NAME, FORGE_FIXEDDATERANGE_FIELD_TYPE, FORGE_INFO_BUTTON_FIELD_TYPE_NAME, FORGE_IS_DIVISIBLE_BY_VALIDATION_KEY, FORGE_LIST_SELECTION_FIELD_TYPE, FORGE_PHONE_FIELD_TYPE, FORGE_PICKABLE_CHIP_FIELD_TYPE, FORGE_PICKABLE_LIST_FIELD_TYPE, FORGE_SOURCE_SELECT_FIELD_TYPE, FORGE_STYLED_BOX_CLASS, FORGE_TEXT_EDITOR_FIELD_TYPE, FORGE_TIMEDURATION_FIELD_TYPE, FORGE_VALUE_SELECTION_FIELD_TYPE, INVALID_PHONE_NUMBER_EXTENSION_MESSAGE, INVALID_PHONE_NUMBER_MESSAGE, IS_DIVISIBLE_BY_VALIDATION_KEY, IS_NOT_WEBSITE_URL_VALIDATION_KEY, IS_NOT_WEBSITE_URL_WITH_EXPECTED_DOMAIN_VALIDATION_KEY, IS_NOT_WEBSITE_URL_WITH_PREFIX_VALIDATION_KEY, LABEL_STRING_MAX_LENGTH, MAX_LENGTH_VALIDATION_MESSAGE, MAX_VALIDATION_MESSAGE, MIN_LENGTH_VALIDATION_MESSAGE, MIN_VALIDATION_MESSAGE, PHONE_LABEL_MAX_LENGTH, REQUIRED_VALIDATION_MESSAGE, SEARCH_STRING_MAX_LENGTH, TAKE_NEXT_UPCOMING_TIME_CONFIG_OBS, addValueSelectionOptionFunction, addWrapperToFormlyFieldConfig, addressField, addressFormlyFields, addressLineField, addressListField, applyTimeOffset, autoTouchWrapper, buildCombinedDateTime, checkIsFieldFlexLayoutGroupFieldConfig, checkboxField, checklistItemField, chipTextField, cityField, componentField, computeDateKeyboardStep, computeErrorMessage, computeTimeKeyboardStep, configureDbxForgeFormFieldWrapper, configureForgeAutocompleteFieldMeta, copyFormConfigCustomFnConfig, countryField, dateRangeField, dateRangeFieldMapper, dateTimeField, dateTimeFieldCalc, dateTimeFieldMapper, dateTimePreset, dateTimeRangeField, dbxDateRangeIsSameDateRangeFieldValue, dbxDateTimeInputValueParseFactory, dbxDateTimeIsSameDateTimeFieldValue, dbxDateTimeOutputValueFactory, dbxForgeAddressFields, dbxForgeAddressGroup, dbxForgeAddressLineField, dbxForgeAddressListField, dbxForgeArrayField, dbxForgeBuildFieldDef, dbxForgeCheckboxField, dbxForgeChecklistField, dbxForgeCityField, dbxForgeComponentField, dbxForgeContainer, dbxForgeCountryField, dbxForgeDateField, dbxForgeDateRangeRow, dbxForgeDateTimeField, dbxForgeDateTimeRangeRow, dbxForgeDefaultValidationMessages, dbxForgeDollarAmountField, dbxForgeEmailField, dbxForgeExpandWrapper, dbxForgeFieldDisabled, dbxForgeFieldFunction, dbxForgeFieldFunctionConfigPropsWithHintBuilder, dbxForgeFieldFunctionConfigure, dbxForgeFinalizeFormConfig, dbxForgeFixedDateRangeField, dbxForgeFlexLayout, dbxForgeFormComponentProviders, dbxForgeGroup, dbxForgeInfoWrapper, dbxForgeLatLngTextField, dbxForgeListSelectionField, dbxForgeNameField, dbxForgeNumberField, dbxForgeNumberSliderField, dbxForgePhoneField, dbxForgePickableChipField, dbxForgePickableListField, dbxForgeRow, dbxForgeSearchableChipField, dbxForgeSearchableStringChipField, dbxForgeSearchableTextField, dbxForgeSectionWrapper, dbxForgeSourceSelectField, dbxForgeStateField, dbxForgeStyleWrapper, dbxForgeSubsectionWrapper, dbxForgeTextAreaField, dbxForgeTextEditorField, dbxForgeTextField, dbxForgeTextIsAvailableField, dbxForgeTextPasswordField, dbxForgeTextPasswordWithVerifyField, dbxForgeTextVerifyPasswordField, dbxForgeTimeDurationField, dbxForgeTimezoneStringField, dbxForgeToggleField, dbxForgeToggleWrapper, dbxForgeUsernameLoginField, dbxForgeUsernamePasswordLoginFields, dbxForgeValueSelectionField, dbxForgeWebsiteUrlField, dbxForgeZipCodeField, dbxFormSearchFormFields, dbxFormSourceObservable, dbxFormSourceObservableFromStream, dbxFormlyFormComponentProviders, dbxListField, defaultValidationMessages, disableAutofillAttributes, disableFormlyFieldAutofillAttributes, dollarAmountField, durationMaxValidationMessage, durationMinValidationMessage, emailField, expandWrapper, fieldAutocompleteAttributeValue, fieldValueIsAvailableValidator, fieldValuesAreEqualValidator, filterPartialPotentialFieldConfigValuesFromObject, filterPickableItemFieldValuesByLabel, filterPickableItemFieldValuesByLabelFilterFunction, filterPresets, fixedDateRangeField, fixedDateRangeFieldMapper, flexLayoutWrapper, formlyAddValueSelectionOptionFunction, formlyAddWrapperToFormlyFieldConfig, formlyAddressField, formlyAddressFormlyFields, formlyAddressLineField, formlyAddressListField, formlyAutoTouchWrapper, formlyCheckIsFieldFlexLayoutGroupFieldConfig, formlyCheckboxField, formlyChecklistItemField, formlyChipTextField, formlyCityField, formlyComponentField, formlyCountryField, formlyDateRangeField, formlyDateTimeField, formlyDateTimeRangeField, formlyDbxListField, formlyDollarAmountField, formlyEmailField, formlyExpandWrapper, formlyField, formlyFixedDateRangeField, formlyFlexLayoutWrapper, formlyHiddenField, formlyInfoWrapper, formlyLatLngTextField, formlyMakeMetaFilterSearchableFieldValueDisplayFn, formlyNameField, formlyNumberField, formlyNumberFieldTransformParser, formlyNumberSliderField, formlyPhoneAndLabelSectionField, formlyPhoneField, formlyPhoneListField, formlyPickableItemChipField, formlyPickableItemListField, formlyRepeatArrayField, formlySearchableChipField, formlySearchableStringChipField, formlySearchableTextField, formlySectionWrapper, formlySourceSelectField, formlyStateField, formlyStyleWrapper, formlySubsectionWrapper, formlyTextAreaField, formlyTextEditorField, formlyTextField, formlyTextFieldTransformParser, formlyTextIsAvailableField, formlyTextPasswordField, formlyTextPasswordWithVerifyFieldGroup, formlyTextVerifyPasswordField, formlyTimeDurationField, formlyTimeOnlyField, formlyTimezoneStringField, formlyToggleField, formlyToggleWrapper, formlyUsernameLoginField, formlyUsernamePasswordLoginFields, formlyValueSelectionField, formlyWebsiteUrlField, formlyWorkingWrapper, formlyWrappedPhoneAndLabelField, formlyZipCodeField, hiddenField, infoWrapper, isDbxDateTimeFieldTimeDateConfig, isDivisibleBy, isDomain, isE164PhoneNumber, isE164PhoneNumberWithValidExtension, isInRange, isPhoneExtension, isTruthy, isWebsiteUrlValidator, latLngTextField, makeMetaFilterSearchableFieldValueDisplayFn, maxLengthValidationMessage, maxValidationMessage, mergeDbxForgeFieldFormConfig, mergePickerConfig, mergePropsValueObjects, minLengthValidationMessage, minValidationMessage, nameField, navigateDate, numberField, numberFieldTransformParser, numberSliderField, partialPotentialFieldConfigKeys, partialPotentialFieldConfigKeysFilter, phoneAndLabelSectionField, phoneField, phoneFieldMapper, phoneListField, pickableItemChipField, pickableItemListField, pickableValueFieldValuesConfigForStaticLabeledValues, propsAndConfigForFieldConfig, propsValueForFieldConfig, provideDbxForgeFormContext, provideDbxForgeFormFieldDeclarations, provideDbxForm, provideDbxFormConfiguration, provideDbxFormFormlyFieldDeclarations, provideDbxMutableForm, provideFormlyContext, repeatArrayField, resolveForgeSelectionOptions, searchableChipField, searchableStringChipField, searchableTextField, sectionWrapper, sortPickableItemsByLabel, sortPickableItemsByLabelStringFunction, sourceSelectField, stateField, streamValueFromControl, stripEmptyForgeValues, stripForgeInternalKeys, styleWrapper, subsectionWrapper, syncConfigValueObs, textAreaField, textEditorField, textField, textFieldTransformParser, textIsAvailableField, textPasswordField, textPasswordWithVerifyFieldGroup, textVerifyPasswordField, timeDurationField, timeDurationFieldMapper, timeOnlyField, timezoneStringField, toggleDisableFormControl, toggleField, toggleWrapper, usernameLoginField, usernamePasswordLoginFields, validatorsForFieldConfig, valueSelectionField, websiteUrlField, workingWrapper, wrappedPhoneAndLabelField, zipCodeField };
17156
17548
  //# sourceMappingURL=dereekb-dbx-form.mjs.map