@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.
- package/fesm2022/dereekb-dbx-form.mjs +647 -255
- package/fesm2022/dereekb-dbx-form.mjs.map +1 -1
- package/package.json +8 -8
- package/types/dereekb-dbx-form.d.ts +660 -254
|
@@ -2886,21 +2886,27 @@ function dbxForgeWebsiteUrlValidator(config) {
|
|
|
2886
2886
|
}
|
|
2887
2887
|
|
|
2888
2888
|
/**
|
|
2889
|
-
*
|
|
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
|
|
2904
|
+
* const emailField = dbxForgeTextField({
|
|
2897
2905
|
* key: 'email',
|
|
2898
2906
|
* label: 'Email',
|
|
2899
2907
|
* required: true,
|
|
2900
|
-
*
|
|
2901
|
-
*
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
|
3207
|
+
let _dbxForgeContainerCounter = 0;
|
|
3149
3208
|
let _dbxForgeToggleCounter = 0;
|
|
3150
3209
|
let _dbxForgeExpandCounter = 0;
|
|
3151
3210
|
/**
|
|
3152
|
-
*
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
3182
|
-
*
|
|
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
|
|
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
|
-
|
|
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: '
|
|
3194
|
-
key: inputKey ?? `
|
|
3343
|
+
type: 'container',
|
|
3344
|
+
key: inputKey ?? `_container_${_dbxForgeContainerCounter++}`,
|
|
3345
|
+
wrappers: wrappers ?? []
|
|
3195
3346
|
};
|
|
3196
3347
|
}
|
|
3197
3348
|
/**
|
|
3198
|
-
*
|
|
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
|
|
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
|
-
* └──
|
|
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
|
|
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
|
|
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
|
|
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,
|
|
3420
|
+
fields: [toggleField, contentContainer],
|
|
3253
3421
|
className: config.className ?? 'dbx-forge-toggle-wrapper'
|
|
3254
3422
|
});
|
|
3255
3423
|
}
|
|
3256
3424
|
/**
|
|
3257
|
-
*
|
|
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
|
|
3261
|
-
*
|
|
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
|
-
* └──
|
|
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
|
|
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
|
|
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,
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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.
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|