@lmb-it/kitsconcerto-native 0.1.291 → 0.1.293
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/apps/mobile/src/Core/Dropdown/index.cjs +30 -1
- package/apps/mobile/src/Core/Dropdown/index.cjs.map +1 -1
- package/apps/mobile/src/Core/Dropdown/index.js +30 -1
- package/apps/mobile/src/Core/Dropdown/index.js.map +1 -1
- package/hooks/useSeverityColors.cjs +66 -7
- package/hooks/useSeverityColors.cjs.map +1 -1
- package/hooks/useSeverityColors.js +66 -7
- package/hooks/useSeverityColors.js.map +1 -1
- package/index.d.ts +997 -914
- package/package.json +1 -1
- package/packages/types/src/Theme/defaultSeverityTheme.cjs +17 -0
- package/packages/types/src/Theme/defaultSeverityTheme.cjs.map +1 -1
- package/packages/types/src/Theme/defaultSeverityTheme.js +17 -0
- package/packages/types/src/Theme/defaultSeverityTheme.js.map +1 -1
- package/packages/types/src/Theme/defaultTheme.cjs +17 -0
- package/packages/types/src/Theme/defaultTheme.cjs.map +1 -1
- package/packages/types/src/Theme/defaultTheme.js +17 -0
- package/packages/types/src/Theme/defaultTheme.js.map +1 -1
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React$1 from 'react';
|
|
2
|
-
import React__default, { ReactNode, ReactElement, Ref, CSSProperties, RefObject,
|
|
2
|
+
import React__default, { ReactNode, ReactElement, Ref, CSSProperties, RefObject, MouseEventHandler, ElementType, JSX, PropsWithChildren, ComponentType, FunctionComponent, FC, Dispatch, SetStateAction, RefCallback } from 'react';
|
|
3
3
|
import * as react_native from 'react-native';
|
|
4
4
|
import { ViewStyle, ColorValue as ColorValue$1, ViewProps, TextProps as TextProps$1, ImageProps, Text as Text$1, ScrollViewProps, GestureResponderEvent, NativeSyntheticEvent, TextInputKeyPressEventData, TargetedEvent, NativeScrollEvent, StyleProp, TextInput } from 'react-native';
|
|
5
5
|
import * as _gluestack_ui_utils_nativewind_utils from '@gluestack-ui/utils/nativewind-utils';
|
|
@@ -119,7 +119,23 @@ export type INumberProps = IKitsInputNumber;
|
|
|
119
119
|
* Unified severity type used across all messaging components
|
|
120
120
|
* (KitsConfirm, KitsDialog, KitsToast).
|
|
121
121
|
*/
|
|
122
|
-
export type Severity = 'success' | 'info' | 'warning' | 'danger' | 'help' | 'secondary' | 'brand'
|
|
122
|
+
export type Severity = 'success' | 'info' | 'warning' | 'danger' | 'help' | 'secondary' | 'brand'
|
|
123
|
+
/**
|
|
124
|
+
* ⛔ ADDITIVE, AND IT RESOLVES FROM TOKENS RATHER THAN FROM `theme.severity`.
|
|
125
|
+
* A product that has not defined the pair is unaffected: the resolver
|
|
126
|
+
* falls back to `primary`, so this severity is only visible to a product
|
|
127
|
+
* that opts in by defining the tokens AND asking for it.
|
|
128
|
+
*
|
|
129
|
+
* It exists because `brand` is one colour for a whole product, and a
|
|
130
|
+
* product can need a second, different interactive colour without
|
|
131
|
+
* re-colouring the 110 buttons already wearing `brand`.
|
|
132
|
+
*
|
|
133
|
+
* Tokens: `primary-interactive` (fill) and `on-primary-interactive`
|
|
134
|
+
* (the ink on that fill). The ink is a SEPARATE token on purpose — a
|
|
135
|
+
* fill that flips between modes needs an ink that can flip with it, and
|
|
136
|
+
* one value cannot serve both.
|
|
137
|
+
*/
|
|
138
|
+
| 'primary-interactive';
|
|
123
139
|
/**
|
|
124
140
|
* Color slots resolved per-severity.
|
|
125
141
|
* Each value is a theme token reference (e.g. 'green.500'), NOT a raw hex value.
|
|
@@ -3022,434 +3038,19 @@ export type IDVPaginationRequest = IPaginationRequest;
|
|
|
3022
3038
|
*/
|
|
3023
3039
|
export type IDVPaginationResponse<ListData> = IPaginationResponse<ListData>;
|
|
3024
3040
|
|
|
3025
|
-
|
|
3026
|
-
|
|
3027
|
-
|
|
3028
|
-
|
|
3029
|
-
|
|
3030
|
-
|
|
3031
|
-
|
|
3032
|
-
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
|
|
3036
|
-
|
|
3037
|
-
|
|
3038
|
-
export type TIsoFormat = 'iso2' | 'iso3';
|
|
3039
|
-
export type TDynamicFlag = 'countries' | 'states' | 'currencies' | 'languages' | 'timezones' | 'careers' | 'industries';
|
|
3040
|
-
export type TAcceptedFileType = 'png' | 'jpg' | 'gif' | 'images' | 'pdf' | 'doc' | 'docx' | 'txt' | 'xls' | 'xlsx' | 'csv' | 'ppt' | 'pptx' | 'zip' | 'json' | 'audio' | 'video' | 'allFiles';
|
|
3041
|
-
export interface IOptionItem {
|
|
3042
|
-
value: string;
|
|
3043
|
-
label: ITranslatableText;
|
|
3044
|
-
/**
|
|
3045
|
-
* Optional base64 data URL for image-mode Checkbox/Radio options.
|
|
3046
|
-
* Format: `data:image/png;base64,...` or `data:image/jpeg;base64,...`.
|
|
3047
|
-
* Constraint enforced at builder time: PNG / JPG only, ≤ 100 KB.
|
|
3048
|
-
*/
|
|
3049
|
-
image?: string | null;
|
|
3050
|
-
}
|
|
3051
|
-
export type IOptionsSource = {
|
|
3052
|
-
source: 'static';
|
|
3053
|
-
items: IOptionItem[];
|
|
3054
|
-
} | {
|
|
3055
|
-
source: 'dynamic';
|
|
3056
|
-
flag: TDynamicFlag;
|
|
3057
|
-
flagParams: Record<string, string> | null;
|
|
3058
|
-
};
|
|
3059
|
-
export type TConditionOperator = 'equals' | 'not_equals' | 'contains' | 'not_contains' | 'is_empty' | 'is_not_empty' | 'greater_than' | 'less_than' | 'in' | 'not_in';
|
|
3060
|
-
export type TConditionAction = 'show' | 'hide' | 'enable' | 'disable';
|
|
3061
|
-
export type TConditionMatch = 'ALL' | 'ANY';
|
|
3062
|
-
export interface IConditionRule {
|
|
3063
|
-
targetField: string;
|
|
3064
|
-
operator: TConditionOperator;
|
|
3065
|
-
value: string | null;
|
|
3066
|
-
}
|
|
3067
|
-
export interface IFieldCondition {
|
|
3068
|
-
action: TConditionAction;
|
|
3069
|
-
match: TConditionMatch;
|
|
3070
|
-
rules: IConditionRule[];
|
|
3071
|
-
}
|
|
3072
|
-
export interface IBaseValidation {
|
|
3073
|
-
required: boolean;
|
|
3074
|
-
requiredMessage: ITranslatableText | null;
|
|
3075
|
-
}
|
|
3076
|
-
export interface ITextValidation extends IBaseValidation {
|
|
3077
|
-
minLength: number | null;
|
|
3078
|
-
minLengthMessage: ITranslatableText | null;
|
|
3079
|
-
maxLength: number | null;
|
|
3080
|
-
maxLengthMessage: ITranslatableText | null;
|
|
3081
|
-
pattern: string | null;
|
|
3082
|
-
patternMessage: ITranslatableText | null;
|
|
3083
|
-
}
|
|
3084
|
-
export interface INumberValidation extends IBaseValidation {
|
|
3085
|
-
min: number | null;
|
|
3086
|
-
minMessage: ITranslatableText | null;
|
|
3087
|
-
max: number | null;
|
|
3088
|
-
maxMessage: ITranslatableText | null;
|
|
3089
|
-
}
|
|
3090
|
-
export type TDateBoundary = 'today' | 'custom' | 'none';
|
|
3091
|
-
export interface IDateValidation extends IBaseValidation {
|
|
3092
|
-
minDate: TDateBoundary;
|
|
3093
|
-
minDateValue: string | null;
|
|
3094
|
-
minDateMessage: ITranslatableText | null;
|
|
3095
|
-
maxDate: TDateBoundary;
|
|
3096
|
-
maxDateValue: string | null;
|
|
3097
|
-
maxDateMessage: ITranslatableText | null;
|
|
3098
|
-
}
|
|
3099
|
-
export interface IFileValidation extends IBaseValidation {
|
|
3100
|
-
minFileSize: number | null;
|
|
3101
|
-
minFileSizeMessage: ITranslatableText | null;
|
|
3102
|
-
maxFileSize: number | null;
|
|
3103
|
-
maxFileSizeMessage: ITranslatableText | null;
|
|
3104
|
-
}
|
|
3105
|
-
export interface ISelectionValidation extends IBaseValidation {
|
|
3106
|
-
minSelections: number | null;
|
|
3107
|
-
minSelectionsMessage: ITranslatableText | null;
|
|
3108
|
-
maxSelections: number | null;
|
|
3109
|
-
maxSelectionsMessage: ITranslatableText | null;
|
|
3110
|
-
}
|
|
3111
|
-
export interface IBuilderFieldBase {
|
|
3112
|
-
_temp_id: string;
|
|
3113
|
-
id: number | null;
|
|
3114
|
-
name: string;
|
|
3115
|
-
label: ITranslatableText;
|
|
3116
|
-
helpText: ITranslatableText | null;
|
|
3117
|
-
order: number;
|
|
3118
|
-
colSpan: number;
|
|
3119
|
-
conditions: IFieldCondition[];
|
|
3120
|
-
}
|
|
3121
|
-
export interface IBuilderTextField extends IBuilderFieldBase {
|
|
3122
|
-
type: 'Text';
|
|
3123
|
-
placeholder: ITranslatableText | null;
|
|
3124
|
-
initialValue: string | null;
|
|
3125
|
-
keyFilter: TKeyFilter | null;
|
|
3126
|
-
withMask: boolean;
|
|
3127
|
-
mask: string | null;
|
|
3128
|
-
unmask: boolean | null;
|
|
3129
|
-
leftIcon: string | null;
|
|
3130
|
-
prefix: string | null;
|
|
3131
|
-
rightIcon: string | null;
|
|
3132
|
-
suffix: string | null;
|
|
3133
|
-
validation: ITextValidation;
|
|
3134
|
-
}
|
|
3135
|
-
export interface IBuilderTextareaField extends IBuilderFieldBase {
|
|
3136
|
-
type: 'Textarea';
|
|
3137
|
-
placeholder: ITranslatableText | null;
|
|
3138
|
-
initialValue: string | null;
|
|
3139
|
-
keyFilter: TKeyFilter | null;
|
|
3140
|
-
rows: number;
|
|
3141
|
-
autoResize: boolean;
|
|
3142
|
-
/**
|
|
3143
|
-
* @deprecated Use `validation.maxLength` instead. Kept for back-compat with
|
|
3144
|
-
* older payloads; new code should ignore this and read from the Validation
|
|
3145
|
-
* panel's `validation.maxLength`. Removed from the designer's Basic panel
|
|
3146
|
-
* in the same change that introduced this notice.
|
|
3147
|
-
*/
|
|
3148
|
-
maxLength: number | null;
|
|
3149
|
-
leftIcon: string | null;
|
|
3150
|
-
prefix: string | null;
|
|
3151
|
-
rightIcon: string | null;
|
|
3152
|
-
suffix: string | null;
|
|
3153
|
-
validation: ITextValidation;
|
|
3154
|
-
}
|
|
3155
|
-
export interface IBuilderNumberField extends IBuilderFieldBase {
|
|
3156
|
-
type: 'Number';
|
|
3157
|
-
placeholder: ITranslatableText | null;
|
|
3158
|
-
initialValue: number | null;
|
|
3159
|
-
mode: 'decimal' | 'currency';
|
|
3160
|
-
currency: string | null;
|
|
3161
|
-
useGrouping: boolean;
|
|
3162
|
-
minFractionDigits: number;
|
|
3163
|
-
maxFractionDigits: number;
|
|
3164
|
-
prefix: string | null;
|
|
3165
|
-
suffix: string | null;
|
|
3166
|
-
leftIcon: string | null;
|
|
3167
|
-
rightIcon: string | null;
|
|
3168
|
-
validation: INumberValidation;
|
|
3169
|
-
}
|
|
3170
|
-
export interface IBuilderPhoneField extends IBuilderFieldBase {
|
|
3171
|
-
type: 'Phone';
|
|
3172
|
-
initialValue: string | null;
|
|
3173
|
-
isWithCountryCode: boolean;
|
|
3174
|
-
defaultCountry: string;
|
|
3175
|
-
outputFormat: 'string' | 'object';
|
|
3176
|
-
includedCountries: string[];
|
|
3177
|
-
excludedCountries: string[];
|
|
3178
|
-
validation: IBaseValidation;
|
|
3179
|
-
}
|
|
3180
|
-
export interface IBuilderDateField extends IBuilderFieldBase {
|
|
3181
|
-
type: 'Date';
|
|
3182
|
-
placeholder: ITranslatableText | null;
|
|
3183
|
-
initialValue: string | null;
|
|
3184
|
-
selectionMode: 'single' | 'range';
|
|
3185
|
-
dateFormat: string;
|
|
3186
|
-
numberOfMonths: number;
|
|
3187
|
-
validation: IDateValidation;
|
|
3188
|
-
}
|
|
3189
|
-
export interface IBuilderFileField extends IBuilderFieldBase {
|
|
3190
|
-
type: 'File';
|
|
3191
|
-
placeholder: ITranslatableText | null;
|
|
3192
|
-
fileType: 'File' | 'Image';
|
|
3193
|
-
multiple: boolean;
|
|
3194
|
-
limit: number | null;
|
|
3195
|
-
classicUploader: boolean;
|
|
3196
|
-
acceptedTypes: TAcceptedFileType[];
|
|
3197
|
-
validation: IFileValidation;
|
|
3198
|
-
}
|
|
3199
|
-
export interface IBuilderSelectField extends IBuilderFieldBase {
|
|
3200
|
-
type: 'Select';
|
|
3201
|
-
placeholder: ITranslatableText | null;
|
|
3202
|
-
withFilter: boolean;
|
|
3203
|
-
withArrow: boolean;
|
|
3204
|
-
showClear: boolean;
|
|
3205
|
-
options: IOptionsSource;
|
|
3206
|
-
validation: IBaseValidation;
|
|
3207
|
-
}
|
|
3208
|
-
export interface IBuilderMultiselectField extends IBuilderFieldBase {
|
|
3209
|
-
type: 'Multiselect';
|
|
3210
|
-
placeholder: ITranslatableText | null;
|
|
3211
|
-
withFilter: boolean;
|
|
3212
|
-
withArrow: boolean;
|
|
3213
|
-
showClear: boolean;
|
|
3214
|
-
valueMode: 'chip' | 'comma';
|
|
3215
|
-
selectionLimit: number | null;
|
|
3216
|
-
options: IOptionsSource;
|
|
3217
|
-
validation: ISelectionValidation;
|
|
3218
|
-
}
|
|
3219
|
-
/**
|
|
3220
|
-
* Checkbox / Radio rendering mode.
|
|
3221
|
-
* - 'labeled' — standard text label per option (default)
|
|
3222
|
-
* - 'images' — image per option (PNG/JPG ≤ 100 KB, base64), label becomes alt text
|
|
3223
|
-
*
|
|
3224
|
-
* 'custom' was removed — the form-builder UI cannot author render-prop component
|
|
3225
|
-
* code; consumers wanting fully custom rendering should fork the field.
|
|
3226
|
-
*/
|
|
3227
|
-
export type TCheckboxRadioMode = 'labeled' | 'images';
|
|
3228
|
-
export type TCheckboxRadioSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
3229
|
-
/**
|
|
3230
|
-
* Items per row for Checkbox/Radio layouts. Capped at 4 — beyond that the
|
|
3231
|
-
* options become too narrow to be readable. Width per item accounts for the
|
|
3232
|
-
* inter-item gap (see `WIDTH_BY_ITEMS_PER_ROW` in FieldPreview).
|
|
3233
|
-
*/
|
|
3234
|
-
export type TItemsPerRow = 1 | 2 | 3 | 4;
|
|
3235
|
-
export interface IBuilderCheckboxField extends IBuilderFieldBase {
|
|
3236
|
-
type: 'Checkbox';
|
|
3237
|
-
mode: TCheckboxRadioMode;
|
|
3238
|
-
vertical: boolean;
|
|
3239
|
-
size: TCheckboxRadioSize;
|
|
3240
|
-
withBulbs: boolean;
|
|
3241
|
-
/** Items per row — controls each option's width via 100% / itemsPerRow. */
|
|
3242
|
-
itemsPerRow: TItemsPerRow;
|
|
3243
|
-
selectionLimit: number | null;
|
|
3244
|
-
options: IOptionsSource;
|
|
3245
|
-
validation: ISelectionValidation;
|
|
3246
|
-
}
|
|
3247
|
-
export interface IBuilderRadiosField extends IBuilderFieldBase {
|
|
3248
|
-
type: 'Radios';
|
|
3249
|
-
mode: TCheckboxRadioMode;
|
|
3250
|
-
vertical: boolean;
|
|
3251
|
-
size: TCheckboxRadioSize;
|
|
3252
|
-
withBulbs: boolean;
|
|
3253
|
-
/** Items per row — controls each option's width via 100% / itemsPerRow. */
|
|
3254
|
-
itemsPerRow: TItemsPerRow;
|
|
3255
|
-
options: IOptionsSource;
|
|
3256
|
-
validation: IBaseValidation;
|
|
3257
|
-
}
|
|
3258
|
-
export interface IBuilderTagsField extends IBuilderFieldBase {
|
|
3259
|
-
type: 'Tags';
|
|
3260
|
-
placeholder: ITranslatableText | null;
|
|
3261
|
-
forceSelection: boolean;
|
|
3262
|
-
isMultiple: boolean;
|
|
3263
|
-
selectionLimit: number | null;
|
|
3264
|
-
options: IOptionsSource;
|
|
3265
|
-
validation: ISelectionValidation;
|
|
3266
|
-
}
|
|
3267
|
-
export interface IBuilderSwitchField extends IBuilderFieldBase {
|
|
3268
|
-
type: 'Switch';
|
|
3269
|
-
initialValue: boolean;
|
|
3270
|
-
displayAs: 'switch' | 'checkbox';
|
|
3271
|
-
direction: 'row' | 'column';
|
|
3272
|
-
validation: IBaseValidation;
|
|
3273
|
-
}
|
|
3274
|
-
/**
|
|
3275
|
-
* Address field — by default a Google/Experian location picker.
|
|
3276
|
-
*
|
|
3277
|
-
* When `allowManualEntry` is true, the runtime renders an "Enter it manually"
|
|
3278
|
-
* toggle below the picker. Toggling it on flips a sub-state that:
|
|
3279
|
-
* 1. Disables the picker (built-in condition: `disabled when manual = true`)
|
|
3280
|
-
* 2. Reveals manual address fields (street, city, state, postcode, country)
|
|
3281
|
-
*
|
|
3282
|
-
* The form-builder stores ONLY the configuration; the actual sub-state and
|
|
3283
|
-
* runtime rendering is the consumer's responsibility (App / Dashboard).
|
|
3284
|
-
*/
|
|
3285
|
-
export interface IBuilderAddressField extends IBuilderFieldBase {
|
|
3286
|
-
type: 'Address';
|
|
3287
|
-
provider: TLocationProvider;
|
|
3288
|
-
apiKey: string | null;
|
|
3289
|
-
countryIso: string | null;
|
|
3290
|
-
countryIsoFormat: TIsoFormat;
|
|
3291
|
-
placeholder: ITranslatableText | null;
|
|
3292
|
-
initialValue: string | null;
|
|
3293
|
-
forceSelection: boolean;
|
|
3294
|
-
allowManualEntry: boolean;
|
|
3295
|
-
manualToggleLabel: ITranslatableText | null;
|
|
3296
|
-
validation: IBaseValidation;
|
|
3297
|
-
}
|
|
3298
|
-
export interface IBuilderRadiusPickerField extends IBuilderFieldBase {
|
|
3299
|
-
type: 'RadiusPicker';
|
|
3300
|
-
direction: 'vertical' | 'horizontal';
|
|
3301
|
-
mapHeight: number;
|
|
3302
|
-
min: number;
|
|
3303
|
-
max: number;
|
|
3304
|
-
step: number;
|
|
3305
|
-
unit: 'km' | 'mi';
|
|
3306
|
-
showPresets: boolean;
|
|
3307
|
-
showNumericInput: boolean;
|
|
3308
|
-
showUnitToggle: boolean;
|
|
3309
|
-
showLatLngInput: boolean;
|
|
3310
|
-
showCurrentLocationButton: boolean;
|
|
3311
|
-
showSearchBox: boolean;
|
|
3312
|
-
showResetButton: boolean;
|
|
3313
|
-
showFloatingSlider: boolean;
|
|
3314
|
-
placeholder: ITranslatableText | null;
|
|
3315
|
-
initialValue: {
|
|
3316
|
-
center: {
|
|
3317
|
-
lat: number;
|
|
3318
|
-
lng: number;
|
|
3319
|
-
} | null;
|
|
3320
|
-
radius: number;
|
|
3321
|
-
unit: 'km' | 'mi';
|
|
3322
|
-
} | null;
|
|
3323
|
-
validation: IBaseValidation;
|
|
3324
|
-
}
|
|
3325
|
-
export interface IBuilderSectionField {
|
|
3326
|
-
_temp_id: string;
|
|
3327
|
-
id: number | null;
|
|
3328
|
-
type: 'Section';
|
|
3329
|
-
name: string;
|
|
3330
|
-
label: ITranslatableText;
|
|
3331
|
-
description: ITranslatableText | null;
|
|
3332
|
-
showDivider: boolean;
|
|
3333
|
-
order: number;
|
|
3334
|
-
colSpan: number;
|
|
3335
|
-
}
|
|
3336
|
-
export interface IBuilderContainerField {
|
|
3337
|
-
_temp_id: string;
|
|
3338
|
-
id: number | null;
|
|
3339
|
-
type: 'Container';
|
|
3340
|
-
name: string;
|
|
3341
|
-
order: number;
|
|
3342
|
-
colSpan: number;
|
|
3343
|
-
layout: 'row' | 'column' | 'grid';
|
|
3344
|
-
columns: number;
|
|
3345
|
-
gap: number;
|
|
3346
|
-
children: IBuilderField[];
|
|
3347
|
-
}
|
|
3348
|
-
export interface IBuilderGroupField {
|
|
3349
|
-
_temp_id: string;
|
|
3350
|
-
id: number | null;
|
|
3351
|
-
type: 'Group';
|
|
3352
|
-
name: string;
|
|
3353
|
-
order: number;
|
|
3354
|
-
colSpan: number;
|
|
3355
|
-
label: ITranslatableText;
|
|
3356
|
-
description: ITranslatableText | null;
|
|
3357
|
-
showDivider: boolean;
|
|
3358
|
-
collapsible: boolean;
|
|
3359
|
-
collapsedByDefault: boolean;
|
|
3360
|
-
children: IBuilderField[];
|
|
3361
|
-
conditions: IFieldCondition[];
|
|
3362
|
-
}
|
|
3363
|
-
export type IBuilderField = IBuilderTextField | IBuilderTextareaField | IBuilderNumberField | IBuilderPhoneField | IBuilderDateField | IBuilderFileField | IBuilderSelectField | IBuilderMultiselectField | IBuilderCheckboxField | IBuilderRadiosField | IBuilderTagsField | IBuilderSwitchField | IBuilderAddressField | IBuilderRadiusPickerField | IBuilderSectionField | IBuilderContainerField | IBuilderGroupField;
|
|
3364
|
-
export interface IFormBuilderMeta {
|
|
3365
|
-
title: string;
|
|
3366
|
-
description: string | null;
|
|
3367
|
-
version: string;
|
|
3368
|
-
is_active: boolean;
|
|
3369
|
-
}
|
|
3370
|
-
export interface IFormBuilderProps {
|
|
3371
|
-
formId?: number;
|
|
3372
|
-
/**
|
|
3373
|
-
* Initial form metadata (uncontrolled mode). Ignored when `value` is set —
|
|
3374
|
-
* `value.form` then drives the meta.
|
|
3375
|
-
*/
|
|
3376
|
-
initialMeta?: IFormBuilderMeta;
|
|
3377
|
-
/**
|
|
3378
|
-
* Saved fields loaded from the backend (uncontrolled mode). Accepts
|
|
3379
|
-
* IBuilderFieldExport[] (the persisted shape without _temp_id) because
|
|
3380
|
-
* _temp_id is always assigned internally on mount. Ignored when `value` is
|
|
3381
|
-
* set — `value.fields` then drives the field tree.
|
|
3382
|
-
*/
|
|
3383
|
-
initialFields?: IBuilderFieldExport[];
|
|
3384
|
-
/**
|
|
3385
|
-
* Controlled-mode payload. When provided, FormBuilder mirrors `value.fields`
|
|
3386
|
-
* and `value.form` into its internal state on every change. Pair with
|
|
3387
|
-
* `onChange` so the consumer owns the source of truth.
|
|
3388
|
-
*/
|
|
3389
|
-
value?: IFormBuilderPayload;
|
|
3390
|
-
/**
|
|
3391
|
-
* Fires on every meta or field-tree edit. Always invoked (controlled or
|
|
3392
|
-
* uncontrolled) so consumers can mirror state, debounce a save, drive a
|
|
3393
|
-
* page-level Save button, etc.
|
|
3394
|
-
*/
|
|
3395
|
-
onChange?: (payload: IFormBuilderPayload) => void;
|
|
3396
|
-
localeKeys?: string[];
|
|
3397
|
-
/**
|
|
3398
|
-
* Optional save handler. When omitted, FormBuilder renders no Save button —
|
|
3399
|
-
* persistence is owned by the consumer (e.g. a page-level submit button
|
|
3400
|
-
* reading state via `onChange`/`value`). When provided, the Save button is
|
|
3401
|
-
* rendered and runs the snake_case validator before invoking this handler.
|
|
3402
|
-
*/
|
|
3403
|
-
onSave?: (payload: IFormBuilderPayload) => void | Promise<void>;
|
|
3404
|
-
/**
|
|
3405
|
-
* Optional cancel handler. When omitted, no Cancel button is rendered.
|
|
3406
|
-
*/
|
|
3407
|
-
onCancel?: () => void;
|
|
3408
|
-
isSaving?: boolean;
|
|
3409
|
-
readOnly?: boolean;
|
|
3410
|
-
/**
|
|
3411
|
-
* Strategy for the field's `name` (machine key).
|
|
3412
|
-
* - `'auto'` (default): every field receives a unique 6-char prefix
|
|
3413
|
-
* (`f` + 5 base36) on insert, and the name is auto-derived as
|
|
3414
|
-
* `<prefix>_<slug-of-label>` whenever the label changes. The Field Name
|
|
3415
|
-
* input is disabled. The prefix is sticky across edits and is reused
|
|
3416
|
-
* when the field is re-loaded from a saved payload, so duplicate labels
|
|
3417
|
-
* stay distinct without admin intervention.
|
|
3418
|
-
* - `'manual'`: admin types the snake_case name in the Properties Panel.
|
|
3419
|
-
* Use only when the field name is a meaningful contract (e.g. matched
|
|
3420
|
-
* against an external schema). The Backend's snake_case validator still
|
|
3421
|
-
* runs.
|
|
3422
|
-
*/
|
|
3423
|
-
nameMode?: 'manual' | 'auto';
|
|
3424
|
-
dynamicFlagLoader?: (flag: TDynamicFlag, params: Record<string, string> | null) => Promise<IOptionItem[]>;
|
|
3425
|
-
/**
|
|
3426
|
-
* Consumer-injected node rendered in the header to the LEFT of the
|
|
3427
|
-
* Cancel/Save buttons. Use for tools like "Generate with AI", "Import",
|
|
3428
|
-
* "Templates", etc. KitsConcerto stays agnostic — the consumer owns the
|
|
3429
|
-
* action's label, icon, loading state, and onClick handler.
|
|
3430
|
-
*/
|
|
3431
|
-
toolbarActions?: ReactNode;
|
|
3432
|
-
}
|
|
3433
|
-
export type DistributiveOmit<T, K extends keyof any> = T extends any ? Omit<T, K> : never;
|
|
3434
|
-
export type IBuilderFieldExport = DistributiveOmit<IBuilderField, '_temp_id'>;
|
|
3435
|
-
export interface IFormBuilderPayload {
|
|
3436
|
-
form: IFormBuilderMeta;
|
|
3437
|
-
fields: IBuilderFieldExport[];
|
|
3438
|
-
}
|
|
3439
|
-
|
|
3440
|
-
declare const sizingProperties: {
|
|
3441
|
-
w: string;
|
|
3442
|
-
width: string;
|
|
3443
|
-
h: string;
|
|
3444
|
-
height: string;
|
|
3445
|
-
minW: string;
|
|
3446
|
-
minWidth: string;
|
|
3447
|
-
maxW: string;
|
|
3448
|
-
maxWidth: string;
|
|
3449
|
-
minH: string;
|
|
3450
|
-
minHeight: string;
|
|
3451
|
-
maxH: string;
|
|
3452
|
-
maxHeight: string;
|
|
3041
|
+
declare const sizingProperties: {
|
|
3042
|
+
w: string;
|
|
3043
|
+
width: string;
|
|
3044
|
+
h: string;
|
|
3045
|
+
height: string;
|
|
3046
|
+
minW: string;
|
|
3047
|
+
minWidth: string;
|
|
3048
|
+
maxW: string;
|
|
3049
|
+
maxWidth: string;
|
|
3050
|
+
minH: string;
|
|
3051
|
+
minHeight: string;
|
|
3052
|
+
maxH: string;
|
|
3053
|
+
maxHeight: string;
|
|
3453
3054
|
};
|
|
3454
3055
|
declare const listingProperties: {
|
|
3455
3056
|
listStyleType: any;
|
|
@@ -3672,236 +3273,42 @@ export type Breakpoint = 'base' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'xx
|
|
|
3672
3273
|
export type PlatformKey = 'web' | 'ios' | 'android';
|
|
3673
3274
|
export type Orientation = 'portrait' | 'landscape';
|
|
3674
3275
|
|
|
3675
|
-
export
|
|
3676
|
-
name: IconName | ElementType;
|
|
3677
|
-
/** Size token, or an explicit pixel number (both Icon impls resolve numbers). */
|
|
3678
|
-
size?: '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number;
|
|
3679
|
-
color?: string;
|
|
3680
|
-
strokeWidth?: number;
|
|
3681
|
-
}
|
|
3682
|
-
export type IconName = "a-arrow-down" | "a-arrow-up" | "a-large-small" | "accessibility" | "activity" | "address-book" | "air-vent" | "airplay" | "alarm-clock" | "alarm-clock-check" | "alarm-clock-minus" | "alarm-clock-off" | "alarm-clock-plus" | "alarm-smoke" | "album" | "align-center" | "align-center-horizontal" | "align-center-vertical" | "align-end-horizontal" | "align-end-vertical" | "align-horizontal-distribute-center" | "align-horizontal-distribute-end" | "align-horizontal-distribute-start" | "align-horizontal-justify-center" | "align-horizontal-justify-end" | "align-horizontal-justify-start" | "align-horizontal-space-around" | "align-horizontal-space-between" | "align-justify" | "align-left" | "align-right" | "align-start-horizontal" | "align-start-vertical" | "align-vertical-distribute-center" | "align-vertical-distribute-end" | "align-vertical-distribute-start" | "align-vertical-justify-center" | "align-vertical-justify-end" | "align-vertical-justify-start" | "align-vertical-space-around" | "align-vertical-space-between" | "amazon" | "ambulance" | "ampersand" | "ampersands" | "amphora" | "anchor" | "android" | "angle-double-down" | "angle-double-left" | "angle-double-right" | "angle-double-up" | "angle-down" | "angle-left" | "angle-right" | "angle-up" | "angry" | "annoyed" | "antenna" | "anvil" | "aperture" | "app-window" | "app-window-mac" | "apple" | "archive" | "archive-restore" | "archive-x" | "armchair" | "arrow-big-down" | "arrow-big-down-dash" | "arrow-big-left" | "arrow-big-left-dash" | "arrow-big-right" | "arrow-big-right-dash" | "arrow-big-up" | "arrow-big-up-dash" | "arrow-circle-down" | "arrow-circle-left" | "arrow-circle-right" | "arrow-circle-up" | "arrow-down" | "arrow-down-0-1" | "arrow-down-1-0" | "arrow-down-a-z" | "arrow-down-from-line" | "arrow-down-left" | "arrow-down-left-and-arrow-up-right-to-center" | "arrow-down-narrow-wide" | "arrow-down-right" | "arrow-down-to-dot" | "arrow-down-to-line" | "arrow-down-up" | "arrow-down-wide-narrow" | "arrow-down-z-a" | "arrow-left" | "arrow-left-from-line" | "arrow-left-right" | "arrow-left-to-line" | "arrow-right" | "arrow-right-arrow-left" | "arrow-right-from-line" | "arrow-right-left" | "arrow-right-to-line" | "arrow-up" | "arrow-up-0-1" | "arrow-up-1-0" | "arrow-up-a-z" | "arrow-up-down" | "arrow-up-from-dot" | "arrow-up-from-line" | "arrow-up-left" | "arrow-up-narrow-wide" | "arrow-up-right" | "arrow-up-right-and-arrow-down-left-from-center" | "arrow-up-to-line" | "arrow-up-wide-narrow" | "arrow-up-z-a" | "arrows-alt" | "arrows-h" | "arrows-up-from-line" | "arrows-v" | "asterisk" | "astroid" | "at" | "at-sign" | "atom" | "audio-lines" | "audio-waveform" | "award" | "axe" | "axis-3d" | "baby" | "backpack" | "backward" | "badge" | "badge-alert" | "badge-cent" | "badge-check" | "badge-dollar-sign" | "badge-euro" | "badge-indian-rupee" | "badge-info" | "badge-japanese-yen" | "badge-minus" | "badge-percent" | "badge-plus" | "badge-pound-sterling" | "badge-question-mark" | "badge-russian-ruble" | "badge-swiss-franc" | "badge-turkish-lira" | "badge-x" | "baggage-claim" | "balloon" | "ban" | "banana" | "bandage" | "banknote" | "banknote-arrow-down" | "banknote-arrow-up" | "banknote-x" | "barcode" | "barrel" | "bars" | "baseline" | "bath" | "battery" | "battery-charging" | "battery-full" | "battery-low" | "battery-medium" | "battery-plus" | "battery-warning" | "beaker" | "bean" | "bean-off" | "bed" | "bed-double" | "bed-single" | "beef" | "beef-off" | "beer" | "beer-off" | "bell" | "bell-check" | "bell-dot" | "bell-electric" | "bell-minus" | "bell-off" | "bell-plus" | "bell-ring" | "bell-slash" | "between-horizontal-end" | "between-horizontal-start" | "between-vertical-end" | "between-vertical-start" | "biceps-flexed" | "bike" | "binary" | "binoculars" | "biohazard" | "bird" | "birdhouse" | "bitcoin" | "blend" | "blender" | "blinds" | "blocks" | "bluetooth" | "bluetooth-connected" | "bluetooth-off" | "bluetooth-searching" | "bold" | "bolt" | "bomb" | "bone" | "book" | "book-a" | "book-alert" | "book-audio" | "book-check" | "book-copy" | "book-dashed" | "book-down" | "book-headphones" | "book-heart" | "book-image" | "book-key" | "book-lock" | "book-marked" | "book-minus" | "book-open" | "book-open-check" | "book-open-text" | "book-plus" | "book-search" | "book-text" | "book-type" | "book-up" | "book-up-2" | "book-user" | "book-x" | "bookmark" | "bookmark-check" | "bookmark-fill" | "bookmark-minus" | "bookmark-off" | "bookmark-plus" | "bookmark-x" | "boom-box" | "bot" | "bot-message-square" | "bot-off" | "bottle-wine" | "bow-arrow" | "box" | "boxes" | "braces" | "brackets" | "brain" | "brain-circuit" | "brain-cog" | "brick-wall" | "brick-wall-fire" | "brick-wall-shield" | "briefcase" | "briefcase-business" | "briefcase-conveyor-belt" | "briefcase-medical" | "bring-to-front" | "broccoli" | "brush" | "brush-cleaning" | "bubbles" | "bug" | "bug-off" | "bug-play" | "building" | "building-2" | "building-columns" | "bullseye" | "bus" | "bus-front" | "cable" | "cable-car" | "cake" | "cake-slice" | "calculator" | "calendar" | "calendar-1" | "calendar-arrow-down" | "calendar-arrow-up" | "calendar-check" | "calendar-check-2" | "calendar-clock" | "calendar-cog" | "calendar-days" | "calendar-fold" | "calendar-heart" | "calendar-minus" | "calendar-minus-2" | "calendar-off" | "calendar-plus" | "calendar-plus-2" | "calendar-range" | "calendar-search" | "calendar-sync" | "calendar-times" | "calendar-x" | "calendar-x-2" | "calendars" | "camera" | "camera-off" | "candy" | "candy-cane" | "candy-off" | "cannabis" | "cannabis-off" | "captions" | "captions-off" | "car" | "car-front" | "car-taxi-front" | "caravan" | "card-sim" | "caret-down" | "caret-left" | "caret-right" | "caret-up" | "carrot" | "cart-arrow-down" | "cart-minus" | "cart-plus" | "case-lower" | "case-sensitive" | "case-upper" | "cassette-tape" | "cast" | "castle" | "cat" | "cctv" | "cctv-off" | "chart-area" | "chart-bar" | "chart-bar-big" | "chart-bar-decreasing" | "chart-bar-increasing" | "chart-bar-stacked" | "chart-candlestick" | "chart-column" | "chart-column-big" | "chart-column-decreasing" | "chart-column-increasing" | "chart-column-stacked" | "chart-gantt" | "chart-line" | "chart-network" | "chart-no-axes-column" | "chart-no-axes-column-decreasing" | "chart-no-axes-column-increasing" | "chart-no-axes-combined" | "chart-no-axes-gantt" | "chart-pie" | "chart-scatter" | "chart-spline" | "check" | "check-check" | "check-circle" | "check-line" | "check-square" | "chef-hat" | "cherry" | "chess-bishop" | "chess-king" | "chess-knight" | "chess-pawn" | "chess-queen" | "chess-rook" | "chevron-circle-down" | "chevron-circle-left" | "chevron-circle-right" | "chevron-circle-up" | "chevron-down" | "chevron-first" | "chevron-last" | "chevron-left" | "chevron-right" | "chevron-up" | "chevrons-down" | "chevrons-down-up" | "chevrons-left" | "chevrons-left-right" | "chevrons-left-right-ellipsis" | "chevrons-right" | "chevrons-right-left" | "chevrons-up" | "chevrons-up-down" | "church" | "cigarette" | "cigarette-off" | "circle" | "circle-alert" | "circle-arrow-down" | "circle-arrow-left" | "circle-arrow-out-down-left" | "circle-arrow-out-down-right" | "circle-arrow-out-up-left" | "circle-arrow-out-up-right" | "circle-arrow-right" | "circle-arrow-up" | "circle-check" | "circle-check-big" | "circle-chevron-down" | "circle-chevron-left" | "circle-chevron-right" | "circle-chevron-up" | "circle-dashed" | "circle-divide" | "circle-dollar-sign" | "circle-dot" | "circle-dot-dashed" | "circle-ellipsis" | "circle-equal" | "circle-fading-arrow-up" | "circle-fading-plus" | "circle-fill" | "circle-gauge" | "circle-minus" | "circle-off" | "circle-parking" | "circle-parking-off" | "circle-pause" | "circle-percent" | "circle-pile" | "circle-play" | "circle-plus" | "circle-pound-sterling" | "circle-power" | "circle-question-mark" | "circle-slash" | "circle-slash-2" | "circle-small" | "circle-star" | "circle-stop" | "circle-user" | "circle-user-round" | "circle-x" | "circuit-board" | "citrus" | "clapperboard" | "clipboard" | "clipboard-check" | "clipboard-clock" | "clipboard-copy" | "clipboard-list" | "clipboard-minus" | "clipboard-paste" | "clipboard-pen" | "clipboard-pen-line" | "clipboard-plus" | "clipboard-type" | "clipboard-x" | "clock" | "clock-1" | "clock-10" | "clock-11" | "clock-12" | "clock-2" | "clock-3" | "clock-4" | "clock-5" | "clock-6" | "clock-7" | "clock-8" | "clock-9" | "clock-alert" | "clock-arrow-down" | "clock-arrow-up" | "clock-check" | "clock-fading" | "clock-plus" | "clone" | "closed-caption" | "cloud" | "cloud-alert" | "cloud-backup" | "cloud-check" | "cloud-cog" | "cloud-download" | "cloud-drizzle" | "cloud-fog" | "cloud-hail" | "cloud-lightning" | "cloud-moon" | "cloud-moon-rain" | "cloud-off" | "cloud-rain" | "cloud-rain-wind" | "cloud-snow" | "cloud-sun" | "cloud-sun-rain" | "cloud-sync" | "cloud-upload" | "cloudy" | "clover" | "club" | "code" | "code-xml" | "coffee" | "cog" | "coins" | "columns-2" | "columns-3" | "columns-3-cog" | "columns-4" | "combine" | "command" | "comment" | "comments" | "compass" | "component" | "computer" | "concierge-bell" | "cone" | "construction" | "contact" | "contact-round" | "container" | "contrast" | "cookie" | "cooking-pot" | "copy" | "copy-check" | "copy-minus" | "copy-plus" | "copy-slash" | "copy-x" | "copyleft" | "copyright" | "corner-down-left" | "corner-down-right" | "corner-left-down" | "corner-left-up" | "corner-right-down" | "corner-right-up" | "corner-up-left" | "corner-up-right" | "cpu" | "creative-commons" | "credit-card" | "croissant" | "crop" | "cross" | "crosshair" | "crown" | "cuboid" | "cup-soda" | "currency" | "cylinder" | "dam" | "database" | "database-backup" | "database-search" | "database-zap" | "decimals-arrow-left" | "decimals-arrow-right" | "delete" | "delete-left" | "desktop" | "dessert" | "diameter" | "diamond" | "diamond-minus" | "diamond-percent" | "diamond-plus" | "dice-1" | "dice-2" | "dice-3" | "dice-4" | "dice-5" | "dice-6" | "dices" | "diff" | "directions" | "directions-alt" | "disc" | "disc-2" | "disc-3" | "disc-album" | "discord" | "divide" | "dna" | "dna-off" | "dock" | "dog" | "dollar" | "dollar-sign" | "donut" | "door-closed" | "door-closed-locked" | "door-open" | "dot" | "download" | "drafting-compass" | "drama" | "drill" | "drone" | "droplet" | "droplet-off" | "droplets" | "drum" | "drumstick" | "dumbbell" | "ear" | "ear-off" | "earth" | "earth-lock" | "eclipse" | "egg" | "egg-fried" | "egg-off" | "eject" | "ellipse" | "ellipsis" | "ellipsis-h" | "ellipsis-v" | "ellipsis-vertical" | "envelope" | "equal" | "equal-approximately" | "equal-not" | "equals" | "eraser" | "ethereum" | "ethernet-port" | "euro" | "ev-charger" | "exclamation-circle" | "exclamation-triangle" | "expand" | "external-link" | "eye" | "eye-closed" | "eye-off" | "eye-slash" | "face-smile" | "facebook" | "factory" | "fan" | "fast-backward" | "fast-forward" | "feather" | "fence" | "ferris-wheel" | "file" | "file-archive" | "file-arrow-up" | "file-axis-3d" | "file-badge" | "file-box" | "file-braces" | "file-braces-corner" | "file-chart-column" | "file-chart-column-increasing" | "file-chart-line" | "file-chart-pie" | "file-check" | "file-check-corner" | "file-clock" | "file-code" | "file-code-corner" | "file-cog" | "file-diff" | "file-digit" | "file-down" | "file-edit" | "file-excel" | "file-exclamation-point" | "file-export" | "file-headphone" | "file-heart" | "file-image" | "file-import" | "file-input" | "file-key" | "file-lock" | "file-minus" | "file-minus-corner" | "file-music" | "file-output" | "file-pdf" | "file-pen" | "file-pen-line" | "file-play" | "file-plus" | "file-plus-corner" | "file-question-mark" | "file-scan" | "file-search" | "file-search-corner" | "file-signal" | "file-sliders" | "file-spreadsheet" | "file-stack" | "file-symlink" | "file-terminal" | "file-text" | "file-type" | "file-type-corner" | "file-up" | "file-user" | "file-video-camera" | "file-volume" | "file-word" | "file-x" | "file-x-corner" | "files" | "film" | "filter" | "filter-fill" | "filter-slash" | "fingerprint-pattern" | "fire-extinguisher" | "fish" | "fish-off" | "fish-symbol" | "fishing-hook" | "fishing-rod" | "flag" | "flag-fill" | "flag-off" | "flag-triangle-left" | "flag-triangle-right" | "flame" | "flame-kindling" | "flashlight" | "flashlight-off" | "flask-conical" | "flask-conical-off" | "flask-round" | "flip-horizontal-2" | "flip-vertical-2" | "flower" | "flower-2" | "focus" | "fold-horizontal" | "fold-vertical" | "folder" | "folder-archive" | "folder-bookmark" | "folder-check" | "folder-clock" | "folder-closed" | "folder-code" | "folder-cog" | "folder-dot" | "folder-down" | "folder-git" | "folder-git-2" | "folder-heart" | "folder-input" | "folder-kanban" | "folder-key" | "folder-lock" | "folder-minus" | "folder-open" | "folder-open-dot" | "folder-output" | "folder-pen" | "folder-plus" | "folder-root" | "folder-search" | "folder-search-2" | "folder-symlink" | "folder-sync" | "folder-tree" | "folder-up" | "folder-x" | "folders" | "footprints" | "forklift" | "form" | "forward" | "frame" | "frown" | "fuel" | "fullscreen" | "funnel" | "funnel-plus" | "funnel-x" | "gallery-horizontal" | "gallery-horizontal-end" | "gallery-thumbnails" | "gallery-vertical" | "gallery-vertical-end" | "gamepad" | "gamepad-2" | "gamepad-directional" | "gauge" | "gavel" | "gem" | "georgian-lari" | "ghost" | "gift" | "git-branch" | "git-branch-minus" | "git-branch-plus" | "git-commit-horizontal" | "git-commit-vertical" | "git-compare" | "git-compare-arrows" | "git-fork" | "git-graph" | "git-merge" | "git-merge-conflict" | "git-pull-request" | "git-pull-request-arrow" | "git-pull-request-closed" | "git-pull-request-create" | "git-pull-request-create-arrow" | "git-pull-request-draft" | "github" | "glass-water" | "glasses" | "globe" | "globe-check" | "globe-lock" | "globe-off" | "globe-x" | "goal" | "google" | "gpu" | "graduation-cap" | "grape" | "grid-2x2" | "grid-2x2-check" | "grid-2x2-plus" | "grid-2x2-x" | "grid-3x2" | "grid-3x3" | "grip" | "grip-horizontal" | "grip-vertical" | "group" | "guitar" | "ham" | "hamburger" | "hammer" | "hand" | "hand-coins" | "hand-fist" | "hand-grab" | "hand-heart" | "hand-helping" | "hand-metal" | "hand-platter" | "handbag" | "handshake" | "hard-drive" | "hard-drive-download" | "hard-drive-upload" | "hard-hat" | "hash" | "hashtag" | "hat-glasses" | "haze" | "hd" | "hdmi-port" | "heading" | "heading-1" | "heading-2" | "heading-3" | "heading-4" | "heading-5" | "heading-6" | "headphone-off" | "headphones" | "headset" | "heart" | "heart-crack" | "heart-fill" | "heart-handshake" | "heart-minus" | "heart-off" | "heart-plus" | "heart-pulse" | "heart-x" | "heater" | "helicopter" | "hexagon" | "highlighter" | "history" | "home" | "hop" | "hop-off" | "hospital" | "hotel" | "hourglass" | "house" | "house-heart" | "house-plug" | "house-plus" | "house-wifi" | "ice-cream-bowl" | "ice-cream-cone" | "id-card" | "id-card-lanyard" | "image" | "image-down" | "image-minus" | "image-off" | "image-play" | "image-plus" | "image-up" | "image-upscale" | "images" | "import" | "inbox" | "indian-rupee" | "infinity" | "info" | "info-circle" | "inspection-panel" | "instagram" | "italic" | "iteration-ccw" | "iteration-cw" | "japanese-yen" | "joystick" | "kanban" | "kayak" | "key" | "key-round" | "key-square" | "keyboard" | "keyboard-music" | "keyboard-off" | "lamp" | "lamp-ceiling" | "lamp-desk" | "lamp-floor" | "lamp-wall-down" | "lamp-wall-up" | "land-plot" | "landmark" | "language" | "languages" | "laptop" | "laptop-minimal" | "laptop-minimal-check" | "lasso" | "lasso-select" | "laugh" | "layers" | "layers-2" | "layers-minus" | "layers-plus" | "layout-dashboard" | "layout-grid" | "layout-list" | "layout-panel-left" | "layout-panel-top" | "layout-template" | "leaf" | "leafy-green" | "lectern" | "lens-concave" | "lens-convex" | "library" | "library-big" | "life-buoy" | "ligature" | "lightbulb" | "lightbulb-off" | "line-dot-right-horizontal" | "line-squiggle" | "line-style" | "link" | "link-2" | "link-2-off" | "linkedin" | "list" | "list-check" | "list-checks" | "list-chevrons-down-up" | "list-chevrons-up-down" | "list-collapse" | "list-end" | "list-filter" | "list-filter-plus" | "list-indent-decrease" | "list-indent-increase" | "list-minus" | "list-music" | "list-ordered" | "list-plus" | "list-restart" | "list-start" | "list-todo" | "list-tree" | "list-video" | "list-x" | "loader" | "loader-circle" | "loader-pinwheel" | "locate" | "locate-fixed" | "locate-off" | "lock" | "lock-keyhole" | "lock-keyhole-open" | "lock-open" | "log-in" | "log-out" | "logs" | "lollipop" | "luggage" | "magnet" | "mail" | "mail-check" | "mail-minus" | "mail-open" | "mail-plus" | "mail-question-mark" | "mail-search" | "mail-warning" | "mail-x" | "mailbox" | "mails" | "map" | "map-marker" | "map-minus" | "map-pin" | "map-pin-check" | "map-pin-check-inside" | "map-pin-house" | "map-pin-minus" | "map-pin-minus-inside" | "map-pin-off" | "map-pin-pen" | "map-pin-plus" | "map-pin-plus-inside" | "map-pin-search" | "map-pin-x" | "map-pin-x-inside" | "map-pinned" | "map-plus" | "mars" | "mars-stroke" | "martini" | "maximize" | "maximize-2" | "medal" | "megaphone" | "megaphone-off" | "meh" | "memory-stick" | "menu" | "merge" | "message-circle" | "message-circle-check" | "message-circle-code" | "message-circle-dashed" | "message-circle-heart" | "message-circle-more" | "message-circle-off" | "message-circle-plus" | "message-circle-question-mark" | "message-circle-reply" | "message-circle-warning" | "message-circle-x" | "message-square" | "message-square-check" | "message-square-code" | "message-square-dashed" | "message-square-diff" | "message-square-dot" | "message-square-heart" | "message-square-lock" | "message-square-more" | "message-square-off" | "message-square-plus" | "message-square-quote" | "message-square-reply" | "message-square-share" | "message-square-text" | "message-square-warning" | "message-square-x" | "messages-square" | "metronome" | "mic" | "mic-off" | "mic-vocal" | "microchip" | "microchip-ai" | "microphone" | "microscope" | "microsoft" | "microwave" | "milestone" | "milk" | "milk-off" | "minimize" | "minimize-2" | "minus" | "minus-circle" | "mirror-rectangular" | "mirror-round" | "mobile" | "money-bill" | "monitor" | "monitor-check" | "monitor-cloud" | "monitor-cog" | "monitor-dot" | "monitor-down" | "monitor-off" | "monitor-pause" | "monitor-play" | "monitor-smartphone" | "monitor-speaker" | "monitor-stop" | "monitor-up" | "monitor-x" | "moon" | "moon-star" | "motorbike" | "mountain" | "mountain-snow" | "mouse" | "mouse-left" | "mouse-off" | "mouse-pointer" | "mouse-pointer-2" | "mouse-pointer-2-off" | "mouse-pointer-ban" | "mouse-pointer-click" | "mouse-right" | "move" | "move-3d" | "move-diagonal" | "move-diagonal-2" | "move-down" | "move-down-left" | "move-down-right" | "move-horizontal" | "move-left" | "move-right" | "move-up" | "move-up-left" | "move-up-right" | "move-vertical" | "music" | "music-2" | "music-3" | "music-4" | "navigation" | "navigation-2" | "navigation-2-off" | "navigation-off" | "network" | "newspaper" | "nfc" | "non-binary" | "notebook" | "notebook-pen" | "notebook-tabs" | "notebook-text" | "notepad-text" | "notepad-text-dashed" | "nut" | "nut-off" | "objects-column" | "octagon" | "octagon-alert" | "octagon-minus" | "octagon-pause" | "octagon-x" | "omega" | "option" | "orbit" | "origami" | "package" | "package-2" | "package-check" | "package-minus" | "package-open" | "package-plus" | "package-search" | "package-x" | "paint-bucket" | "paint-roller" | "paintbrush" | "paintbrush-vertical" | "palette" | "panda" | "panel-bottom" | "panel-bottom-close" | "panel-bottom-dashed" | "panel-bottom-open" | "panel-left" | "panel-left-close" | "panel-left-dashed" | "panel-left-open" | "panel-left-right-dashed" | "panel-right" | "panel-right-close" | "panel-right-dashed" | "panel-right-open" | "panel-top" | "panel-top-bottom-dashed" | "panel-top-close" | "panel-top-dashed" | "panel-top-open" | "panels-left-bottom" | "panels-right-bottom" | "panels-top-left" | "paperclip" | "parasol" | "parentheses" | "parking-meter" | "party-popper" | "pause" | "pause-circle" | "paw-print" | "paypal" | "pc-case" | "pen" | "pen-line" | "pen-off" | "pen-to-square" | "pen-tool" | "pencil" | "pencil-line" | "pencil-off" | "pencil-ruler" | "pentagon" | "percent" | "percentage" | "person-standing" | "philippine-peso" | "phone" | "phone-call" | "phone-forwarded" | "phone-incoming" | "phone-missed" | "phone-off" | "phone-outgoing" | "pi" | "piano" | "pickaxe" | "picture-in-picture" | "picture-in-picture-2" | "piggy-bank" | "pilcrow" | "pilcrow-left" | "pilcrow-right" | "pill" | "pill-bottle" | "pin" | "pin-off" | "pinterest" | "pipette" | "pizza" | "plane" | "plane-landing" | "plane-takeoff" | "play" | "play-circle" | "play-off" | "plug" | "plug-2" | "plug-zap" | "plus" | "plus-circle" | "pocket-knife" | "podcast" | "pointer" | "pointer-off" | "popcorn" | "popsicle" | "pound" | "pound-sterling" | "power" | "power-off" | "presentation" | "prime" | "print" | "printer" | "printer-check" | "printer-x" | "projector" | "proportions" | "puzzle" | "pyramid" | "qr-code" | "qrcode" | "question" | "question-circle" | "quote" | "rabbit" | "radar" | "radiation" | "radical" | "radio" | "radio-off" | "radio-receiver" | "radio-tower" | "radius" | "rainbow" | "rat" | "ratio" | "receipt" | "receipt-cent" | "receipt-euro" | "receipt-indian-rupee" | "receipt-japanese-yen" | "receipt-pound-sterling" | "receipt-russian-ruble" | "receipt-swiss-franc" | "receipt-text" | "receipt-turkish-lira" | "rectangle-circle" | "rectangle-ellipsis" | "rectangle-goggles" | "rectangle-horizontal" | "rectangle-vertical" | "recycle" | "reddit" | "redo" | "redo-2" | "redo-dot" | "refresh" | "refresh-ccw" | "refresh-ccw-dot" | "refresh-cw" | "refresh-cw-off" | "refrigerator" | "regex" | "remove-formatting" | "repeat" | "repeat-1" | "repeat-2" | "repeat-off" | "replace" | "replace-all" | "replay" | "reply" | "reply-all" | "rewind" | "ribbon" | "road" | "rocket" | "rocking-chair" | "roller-coaster" | "rose" | "rotate-3d" | "rotate-ccw" | "rotate-ccw-key" | "rotate-ccw-square" | "rotate-cw" | "rotate-cw-square" | "route" | "route-off" | "router" | "rows-2" | "rows-3" | "rows-4" | "rss" | "ruler" | "ruler-dimension-line" | "russian-ruble" | "sailboat" | "salad" | "sandwich" | "satellite" | "satellite-dish" | "saudi-riyal" | "save" | "save-all" | "save-off" | "scale" | "scale-3d" | "scaling" | "scan" | "scan-barcode" | "scan-eye" | "scan-face" | "scan-heart" | "scan-line" | "scan-qr-code" | "scan-search" | "scan-text" | "school" | "scissors" | "scissors-line-dashed" | "scooter" | "screen-share" | "screen-share-off" | "scroll" | "scroll-text" | "search" | "search-alert" | "search-check" | "search-code" | "search-minus" | "search-plus" | "search-slash" | "search-x" | "section" | "send" | "send-horizontal" | "send-to-back" | "separator-horizontal" | "separator-vertical" | "server" | "server-cog" | "server-crash" | "server-off" | "settings" | "settings-2" | "shapes" | "share" | "share-2" | "share-alt" | "sheet" | "shell" | "shelving-unit" | "shield" | "shield-alert" | "shield-ban" | "shield-check" | "shield-cog" | "shield-cog-corner" | "shield-ellipsis" | "shield-half" | "shield-minus" | "shield-off" | "shield-plus" | "shield-question-mark" | "shield-user" | "shield-x" | "ship" | "ship-wheel" | "shirt" | "shop" | "shopping-bag" | "shopping-basket" | "shopping-cart" | "shovel" | "shower-head" | "shredder" | "shrimp" | "shrink" | "shrub" | "shuffle" | "sigma" | "sign-in" | "sign-out" | "signal" | "signal-high" | "signal-low" | "signal-medium" | "signal-zero" | "signature" | "signpost" | "signpost-big" | "siren" | "sitemap" | "skip-back" | "skip-forward" | "skull" | "slack" | "slash" | "slice" | "sliders-h" | "sliders-horizontal" | "sliders-v" | "sliders-vertical" | "smartphone" | "smartphone-charging" | "smartphone-nfc" | "smile" | "smile-plus" | "snail" | "snowflake" | "soap-dispenser-droplet" | "sofa" | "solar-panel" | "sort" | "sort-alpha-down" | "sort-alpha-down-alt" | "sort-alpha-up" | "sort-alpha-up-alt" | "sort-alt" | "sort-alt-slash" | "sort-amount-down" | "sort-amount-down-alt" | "sort-amount-up" | "sort-amount-up-alt" | "sort-down" | "sort-down-fill" | "sort-numeric-down" | "sort-numeric-down-alt" | "sort-numeric-up" | "sort-numeric-up-alt" | "sort-up" | "sort-up-fill" | "soup" | "space" | "spade" | "sparkle" | "sparkles" | "speaker" | "speech" | "spell-check" | "spell-check-2" | "spinner" | "spinner-dotted" | "spline" | "spline-pointer" | "split" | "spool" | "sport-shoe" | "spotlight" | "spray-can" | "sprout" | "square" | "square-activity" | "square-arrow-down" | "square-arrow-down-left" | "square-arrow-down-right" | "square-arrow-left" | "square-arrow-out-down-left" | "square-arrow-out-down-right" | "square-arrow-out-up-left" | "square-arrow-out-up-right" | "square-arrow-right" | "square-arrow-right-enter" | "square-arrow-right-exit" | "square-arrow-up" | "square-arrow-up-left" | "square-arrow-up-right" | "square-asterisk" | "square-bottom-dashed-scissors" | "square-centerline-dashed-horizontal" | "square-centerline-dashed-vertical" | "square-chart-gantt" | "square-check" | "square-check-big" | "square-chevron-down" | "square-chevron-left" | "square-chevron-right" | "square-chevron-up" | "square-code" | "square-dashed" | "square-dashed-bottom" | "square-dashed-bottom-code" | "square-dashed-kanban" | "square-dashed-mouse-pointer" | "square-dashed-text" | "square-dashed-top-solid" | "square-divide" | "square-dot" | "square-equal" | "square-function" | "square-kanban" | "square-library" | "square-m" | "square-menu" | "square-minus" | "square-mouse-pointer" | "square-parking" | "square-parking-off" | "square-pause" | "square-pen" | "square-percent" | "square-pi" | "square-pilcrow" | "square-play" | "square-plus" | "square-power" | "square-radical" | "square-round-corner" | "square-scissors" | "square-sigma" | "square-slash" | "square-split-horizontal" | "square-split-vertical" | "square-square" | "square-stack" | "square-star" | "square-stop" | "square-terminal" | "square-user" | "square-user-round" | "square-x" | "squares-exclude" | "squares-intersect" | "squares-subtract" | "squares-unite" | "squircle" | "squircle-dashed" | "squirrel" | "stamp" | "star" | "star-fill" | "star-half" | "star-half-fill" | "star-off" | "step-back" | "step-backward" | "step-backward-alt" | "step-forward" | "step-forward-alt" | "stethoscope" | "sticker" | "sticky-note" | "sticky-note-check" | "sticky-note-minus" | "sticky-note-off" | "sticky-note-plus" | "sticky-note-x" | "sticky-notes" | "stone" | "stop" | "stop-circle" | "stopwatch" | "store" | "stretch-horizontal" | "stretch-vertical" | "strikethrough" | "subscript" | "sun" | "sun-dim" | "sun-medium" | "sun-moon" | "sun-snow" | "sunrise" | "sunset" | "superscript" | "swatch-book" | "swiss-franc" | "switch-camera" | "sword" | "swords" | "sync" | "syringe" | "table" | "table-2" | "table-cells-merge" | "table-cells-split" | "table-columns-split" | "table-of-contents" | "table-properties" | "table-rows-split" | "tablet" | "tablet-smartphone" | "tablets" | "tag" | "tags" | "tally-1" | "tally-2" | "tally-3" | "tally-4" | "tally-5" | "tangent" | "target" | "telegram" | "telescope" | "tent" | "tent-tree" | "terminal" | "test-tube" | "test-tube-diagonal" | "test-tubes" | "text-align-center" | "text-align-end" | "text-align-justify" | "text-align-start" | "text-cursor" | "text-cursor-input" | "text-initial" | "text-quote" | "text-search" | "text-wrap" | "th-large" | "theater" | "thermometer" | "thermometer-snowflake" | "thermometer-sun" | "thumbs-down" | "thumbs-down-fill" | "thumbs-up" | "thumbs-up-fill" | "thumbtack" | "ticket" | "ticket-check" | "ticket-minus" | "ticket-percent" | "ticket-plus" | "ticket-slash" | "ticket-x" | "tickets" | "tickets-plane" | "tiktok" | "timeline" | "timer" | "timer-off" | "timer-reset" | "times" | "times-circle" | "toggle-left" | "toggle-right" | "toilet" | "tool-case" | "toolbox" | "tornado" | "torus" | "touchpad" | "touchpad-off" | "towel-rack" | "tower-control" | "toy-brick" | "tractor" | "traffic-cone" | "train-front" | "train-front-tunnel" | "train-track" | "tram-front" | "transgender" | "trash" | "trash-2" | "tree-deciduous" | "tree-palm" | "tree-pine" | "trees" | "trending-down" | "trending-up" | "trending-up-down" | "triangle" | "triangle-alert" | "triangle-dashed" | "triangle-right" | "trophy" | "truck" | "truck-electric" | "turkish-lira" | "turntable" | "turtle" | "tv" | "tv-minimal" | "tv-minimal-play" | "twitch" | "twitter" | "type" | "type-outline" | "umbrella" | "umbrella-off" | "underline" | "undo" | "undo-2" | "undo-dot" | "unfold-horizontal" | "unfold-vertical" | "ungroup" | "university" | "unlink" | "unlink-2" | "unlock" | "unplug" | "upload" | "usb" | "user" | "user-check" | "user-cog" | "user-edit" | "user-key" | "user-lock" | "user-minus" | "user-pen" | "user-plus" | "user-round" | "user-round-check" | "user-round-cog" | "user-round-key" | "user-round-minus" | "user-round-pen" | "user-round-plus" | "user-round-search" | "user-round-x" | "user-search" | "user-star" | "user-x" | "users" | "users-round" | "utensils" | "utensils-crossed" | "utility-pole" | "van" | "variable" | "vault" | "vector-square" | "vegan" | "venetian-mask" | "venus" | "venus-and-mars" | "verified" | "vibrate" | "vibrate-off" | "video" | "video-off" | "videotape" | "view" | "vimeo" | "voicemail" | "volleyball" | "volume" | "volume-1" | "volume-2" | "volume-down" | "volume-off" | "volume-up" | "volume-x" | "vote" | "wallet" | "wallet-cards" | "wallet-minimal" | "wallpaper" | "wand" | "wand-sparkles" | "warehouse" | "washing-machine" | "watch" | "wave-pulse" | "waves-arrow-down" | "waves-arrow-up" | "waves-horizontal" | "waves-ladder" | "waves-vertical" | "waypoints" | "webcam" | "webhook" | "webhook-off" | "weight" | "weight-tilde" | "whatsapp" | "wheat" | "wheat-off" | "whole-word" | "wifi" | "wifi-cog" | "wifi-high" | "wifi-low" | "wifi-off" | "wifi-pen" | "wifi-sync" | "wifi-zero" | "wind" | "wind-arrow-down" | "window-maximize" | "window-minimize" | "wine" | "wine-off" | "workflow" | "worm" | "wrench" | "x" | "x-line-top" | "zap" | "zap-off" | "zodiac-aquarius" | "zodiac-aries" | "zodiac-cancer" | "zodiac-capricorn" | "zodiac-gemini" | "zodiac-leo" | "zodiac-libra" | "zodiac-ophiuchus" | "zodiac-pisces" | "zodiac-sagittarius" | "zodiac-scorpio" | "zodiac-taurus" | "zodiac-virgo" | "zoom-in" | "zoom-out" | `pi pi-${string}`;
|
|
3276
|
+
export type IconType = ReactElement;
|
|
3683
3277
|
|
|
3684
|
-
export interface
|
|
3685
|
-
|
|
3278
|
+
export interface IRTLDetection {
|
|
3279
|
+
ignoreDirection?: boolean;
|
|
3686
3280
|
}
|
|
3687
|
-
|
|
3688
|
-
|
|
3689
|
-
|
|
3690
|
-
|
|
3691
|
-
|
|
3281
|
+
|
|
3282
|
+
declare enum EKeyFilter {
|
|
3283
|
+
INT = "int",
|
|
3284
|
+
PositiveInteger = "pint",
|
|
3285
|
+
Number = "num",
|
|
3286
|
+
PositiveNumber = "pnum",
|
|
3287
|
+
Money = "money",
|
|
3288
|
+
Alphabetic = "alpha",
|
|
3289
|
+
Alphanumeric = "alphanum",
|
|
3290
|
+
Email = "email"
|
|
3692
3291
|
}
|
|
3693
|
-
|
|
3694
|
-
|
|
3695
|
-
|
|
3696
|
-
|
|
3697
|
-
|
|
3698
|
-
|
|
3699
|
-
|
|
3700
|
-
|
|
3701
|
-
|
|
3702
|
-
|
|
3703
|
-
|
|
3704
|
-
|
|
3705
|
-
|
|
3706
|
-
|
|
3707
|
-
|
|
3708
|
-
|
|
3709
|
-
|
|
3710
|
-
|
|
3711
|
-
|
|
3712
|
-
|
|
3713
|
-
}
|
|
3714
|
-
export interface IFieldPreviewProps {
|
|
3715
|
-
field: IBuilderField;
|
|
3716
|
-
dynamicFlagLoader?: (flag: TDynamicFlag, params: Record<string, string> | null) => Promise<IOptionItem[]>;
|
|
3717
|
-
}
|
|
3718
|
-
export interface IContainerCardProps {
|
|
3719
|
-
field: IBuilderContainerField;
|
|
3720
|
-
isSelected: boolean;
|
|
3721
|
-
selectedTempId: string | null;
|
|
3722
|
-
onSelect: () => void;
|
|
3723
|
-
onSelectChild: (tempId: string | null) => void;
|
|
3724
|
-
onRemove: () => void;
|
|
3725
|
-
onAddChild: (type: TBuilderFieldType) => void;
|
|
3726
|
-
onRemoveChild: (childTempId: string) => void;
|
|
3727
|
-
onReorderChildren: (newTempIdOrder: string[]) => void;
|
|
3728
|
-
activeDragSource?: 'palette' | 'canvas' | null;
|
|
3729
|
-
activeDragType?: TBuilderFieldType | null;
|
|
3730
|
-
}
|
|
3731
|
-
export interface IGroupCardProps {
|
|
3732
|
-
field: IBuilderGroupField;
|
|
3733
|
-
isSelected: boolean;
|
|
3734
|
-
selectedTempId: string | null;
|
|
3735
|
-
onSelect: () => void;
|
|
3736
|
-
onSelectChild: (tempId: string | null) => void;
|
|
3737
|
-
onRemove: () => void;
|
|
3738
|
-
onAddChild: (type: TBuilderFieldType) => void;
|
|
3739
|
-
onRemoveChild: (childTempId: string) => void;
|
|
3740
|
-
onReorderChildren: (newTempIdOrder: string[]) => void;
|
|
3741
|
-
activeDragSource?: 'palette' | 'canvas' | null;
|
|
3742
|
-
activeDragType?: TBuilderFieldType | null;
|
|
3743
|
-
}
|
|
3744
|
-
export interface IPropertiesPanelProps {
|
|
3745
|
-
field: IBuilderField | null;
|
|
3746
|
-
localeKeys: string[];
|
|
3747
|
-
onUpdate: (updater: (field: IBuilderField) => IBuilderField) => void;
|
|
3748
|
-
allFields: IBuilderField[];
|
|
3749
|
-
/** See IFormBuilderProps.nameMode. Defaults to 'manual'. */
|
|
3750
|
-
nameMode?: 'manual' | 'auto';
|
|
3751
|
-
}
|
|
3752
|
-
export interface IBasicSectionProps {
|
|
3753
|
-
field: IBuilderField;
|
|
3754
|
-
allFields: IBuilderField[];
|
|
3755
|
-
localeKeys: string[];
|
|
3756
|
-
onUpdate: (updater: (field: IBuilderField) => IBuilderField) => void;
|
|
3757
|
-
/** See IFormBuilderProps.nameMode. Defaults to 'manual'. */
|
|
3758
|
-
nameMode?: 'manual' | 'auto';
|
|
3759
|
-
}
|
|
3760
|
-
export interface IValidationSectionProps {
|
|
3761
|
-
field: IBuilderField;
|
|
3762
|
-
localeKeys: string[];
|
|
3763
|
-
onUpdate: (updater: (field: IBuilderField) => IBuilderField) => void;
|
|
3764
|
-
}
|
|
3765
|
-
export interface IConditionsSectionProps {
|
|
3766
|
-
field: IBuilderField;
|
|
3767
|
-
allFields: IBuilderField[];
|
|
3768
|
-
localeKeys: string[];
|
|
3769
|
-
onUpdate: (updater: (field: IBuilderField) => IBuilderField) => void;
|
|
3770
|
-
}
|
|
3771
|
-
export interface ITranslatableInputProps {
|
|
3772
|
-
label: string;
|
|
3773
|
-
value: ITranslatableText | null;
|
|
3774
|
-
localeKeys: string[];
|
|
3775
|
-
onChange: (value: ITranslatableText) => void;
|
|
3776
|
-
placeholder?: string;
|
|
3777
|
-
helperText?: string;
|
|
3778
|
-
}
|
|
3779
|
-
export interface IOptionsEditorProps {
|
|
3780
|
-
value: IOptionsSource;
|
|
3781
|
-
localeKeys: string[];
|
|
3782
|
-
/**
|
|
3783
|
-
* For Checkbox / Radio fields, the parent's `mode`. When 'images', the editor
|
|
3784
|
-
* shows an image upload (PNG/JPG ≤ 100 KB, base64) per option in addition to
|
|
3785
|
-
* the standard label + value inputs. Undefined for non-Checkbox/Radio fields.
|
|
3786
|
-
*/
|
|
3787
|
-
mode?: 'labeled' | 'images';
|
|
3788
|
-
onChange: (value: IOptionsSource) => void;
|
|
3789
|
-
}
|
|
3790
|
-
export interface IConditionGroupProps {
|
|
3791
|
-
condition: IFieldCondition;
|
|
3792
|
-
conditionIndex: number;
|
|
3793
|
-
fieldOptions: {
|
|
3794
|
-
label: string;
|
|
3795
|
-
value: string;
|
|
3796
|
-
}[];
|
|
3797
|
-
localeKeys: string[];
|
|
3798
|
-
onChange: (next: IFieldCondition) => void;
|
|
3799
|
-
onRemove: () => void;
|
|
3800
|
-
}
|
|
3801
|
-
export interface IConditionRowProps {
|
|
3802
|
-
rule: IConditionRule;
|
|
3803
|
-
fieldOptions: {
|
|
3804
|
-
label: string;
|
|
3805
|
-
value: string;
|
|
3806
|
-
}[];
|
|
3807
|
-
onChange: (next: IConditionRule) => void;
|
|
3808
|
-
onRemove: () => void;
|
|
3809
|
-
}
|
|
3810
|
-
export interface IFormBuilderInternalState {
|
|
3811
|
-
fields: IBuilderField[];
|
|
3812
|
-
meta: IFormBuilderMeta;
|
|
3813
|
-
selectedTempId: string | null;
|
|
3814
|
-
isDirty: boolean;
|
|
3815
|
-
}
|
|
3816
|
-
/**
|
|
3817
|
-
* A render-callback element type used inside KitsConcerto Form to mount
|
|
3818
|
-
* non-Form children such as TranslatableInput and OptionsEditor.
|
|
3819
|
-
* Wraps the actual render in a Container-type IFormElement.
|
|
3820
|
-
*/
|
|
3821
|
-
export interface IPanelCustomSlot {
|
|
3822
|
-
id: string;
|
|
3823
|
-
render: () => ReactNode;
|
|
3824
|
-
colSpan?: number;
|
|
3825
|
-
}
|
|
3826
|
-
|
|
3827
|
-
export type IRadioCheckboxListItem<T = any> = {
|
|
3828
|
-
id?: string;
|
|
3829
|
-
label?: string;
|
|
3830
|
-
component?: ((args: {
|
|
3831
|
-
selected?: boolean;
|
|
3832
|
-
value?: T;
|
|
3833
|
-
isInvalid: boolean;
|
|
3834
|
-
}) => ReactElement) | ReactElement;
|
|
3835
|
-
/**
|
|
3836
|
-
* Identity value (kept in original type).
|
|
3837
|
-
* Internally stringified only when a provider requires it (e.g., Gluestack).
|
|
3838
|
-
*/
|
|
3839
|
-
value: T;
|
|
3840
|
-
withBulbs?: boolean;
|
|
3841
|
-
size?: "xs" | "sm" | "md" | "lg" | "xl";
|
|
3842
|
-
labelPosition?: "left" | "right" | "top" | "bottom" | "default";
|
|
3843
|
-
/**
|
|
3844
|
-
* Back-compat shorthand for width. Equivalent to `style: { w }`.
|
|
3845
|
-
* If `style.width` is also set, `style.width` wins.
|
|
3846
|
-
*/
|
|
3847
|
-
w?: IStyleClasses["w"];
|
|
3848
|
-
/**
|
|
3849
|
-
* Full per-item style. String values are resolved through the
|
|
3850
|
-
* theme token resolver (e.g. `bg: 'primary'`, `borderColor: 'gray.300'`,
|
|
3851
|
-
* `p: 4`). Merged on top of `theme.components.{Radio|Checkbox}.item.style`.
|
|
3852
|
-
*/
|
|
3853
|
-
style?: IStyleClasses;
|
|
3854
|
-
/** Style merged on top of `style` when this item is selected. */
|
|
3855
|
-
styleSelected?: IStyleClasses;
|
|
3856
|
-
/** Style merged on top of `style` when this item is disabled. */
|
|
3857
|
-
styleDisabled?: IStyleClasses;
|
|
3858
|
-
/** Style merged on top of `style` when this item is invalid. */
|
|
3859
|
-
styleInvalid?: IStyleClasses;
|
|
3860
|
-
/**
|
|
3861
|
-
* Optional per-item control (list mode).
|
|
3862
|
-
* - checked: controlled
|
|
3863
|
-
* - defaultChecked: uncontrolled initial
|
|
3864
|
-
*/
|
|
3865
|
-
checked?: boolean;
|
|
3866
|
-
defaultChecked?: boolean;
|
|
3867
|
-
};
|
|
3868
|
-
|
|
3869
|
-
export type IconType = ReactElement;
|
|
3870
|
-
|
|
3871
|
-
export interface IRTLDetection {
|
|
3872
|
-
ignoreDirection?: boolean;
|
|
3873
|
-
}
|
|
3874
|
-
|
|
3875
|
-
declare enum EKeyFilter {
|
|
3876
|
-
INT = "int",
|
|
3877
|
-
PositiveInteger = "pint",
|
|
3878
|
-
Number = "num",
|
|
3879
|
-
PositiveNumber = "pnum",
|
|
3880
|
-
Money = "money",
|
|
3881
|
-
Alphabetic = "alpha",
|
|
3882
|
-
Alphanumeric = "alphanum",
|
|
3883
|
-
Email = "email"
|
|
3884
|
-
}
|
|
3885
|
-
declare enum EDateFormat {
|
|
3886
|
-
dayOfMonthNoLeadingZero = "d",// Day of the month (no leading zero)
|
|
3887
|
-
dayOfMonthLeadingZero = "dd",// Day of the month (with leading zero)
|
|
3888
|
-
abbreviatedMonth = "M",// Abbreviated month name (e.g., Jan)
|
|
3889
|
-
fullMonth = "MM",// Full month name (e.g., January)
|
|
3890
|
-
twoDigitYear = "y",// Two-digit year (e.g., 21)
|
|
3891
|
-
fourDigitYear = "yy",// Four-digit year (e.g., 2021)
|
|
3892
|
-
mm_dd_yy = "mm/dd/yy",// Short date format (e.g., 09/13/2023)
|
|
3893
|
-
MM_dd_yyyy = "MM dd, yy",// Long date format (e.g., September 13, 2023)
|
|
3894
|
-
dayOfWeek = "DD",// Full day of the week (e.g., Tuesday)
|
|
3895
|
-
shortDayOfWeek = "D",// Full day of the week (e.g., Tuesday)
|
|
3896
|
-
dayOfYearNoLeadingZeros = "o",// Day of the year (no leading zeros)
|
|
3897
|
-
dayOfYearThreeDigit = "oo",// Day of the year (three digit)
|
|
3898
|
-
"yy/MM/dd" = "yy/MM/dd",// Custom date format (e.g., 2023/September/13)
|
|
3899
|
-
yy_M_dd = "yy/M/dd",// Custom date format (e.g., 2023/Sep/13)
|
|
3900
|
-
dd_m_yy = "dd/m/yy",// Another custom date format (e.g., 13/9/2023)
|
|
3901
|
-
dd_mm_yy = "dd/mm/yy",// Another custom date format (e.g., 13/09/2023)
|
|
3902
|
-
MM_yy = "MM yy",// Year and month (e.g., September 2023)
|
|
3903
|
-
MM_dd = "MM dd",// Month and day (e.g., September 13)
|
|
3904
|
-
customDate = ""
|
|
3292
|
+
declare enum EDateFormat {
|
|
3293
|
+
dayOfMonthNoLeadingZero = "d",// Day of the month (no leading zero)
|
|
3294
|
+
dayOfMonthLeadingZero = "dd",// Day of the month (with leading zero)
|
|
3295
|
+
abbreviatedMonth = "M",// Abbreviated month name (e.g., Jan)
|
|
3296
|
+
fullMonth = "MM",// Full month name (e.g., January)
|
|
3297
|
+
twoDigitYear = "y",// Two-digit year (e.g., 21)
|
|
3298
|
+
fourDigitYear = "yy",// Four-digit year (e.g., 2021)
|
|
3299
|
+
mm_dd_yy = "mm/dd/yy",// Short date format (e.g., 09/13/2023)
|
|
3300
|
+
MM_dd_yyyy = "MM dd, yy",// Long date format (e.g., September 13, 2023)
|
|
3301
|
+
dayOfWeek = "DD",// Full day of the week (e.g., Tuesday)
|
|
3302
|
+
shortDayOfWeek = "D",// Full day of the week (e.g., Tuesday)
|
|
3303
|
+
dayOfYearNoLeadingZeros = "o",// Day of the year (no leading zeros)
|
|
3304
|
+
dayOfYearThreeDigit = "oo",// Day of the year (three digit)
|
|
3305
|
+
"yy/MM/dd" = "yy/MM/dd",// Custom date format (e.g., 2023/September/13)
|
|
3306
|
+
yy_M_dd = "yy/M/dd",// Custom date format (e.g., 2023/Sep/13)
|
|
3307
|
+
dd_m_yy = "dd/m/yy",// Another custom date format (e.g., 13/9/2023)
|
|
3308
|
+
dd_mm_yy = "dd/mm/yy",// Another custom date format (e.g., 13/09/2023)
|
|
3309
|
+
MM_yy = "MM yy",// Year and month (e.g., September 2023)
|
|
3310
|
+
MM_dd = "MM dd",// Month and day (e.g., September 13)
|
|
3311
|
+
customDate = ""
|
|
3905
3312
|
}
|
|
3906
3313
|
|
|
3907
3314
|
export interface IButtonProps<IconT> extends IStyleClasses {
|
|
@@ -5256,263 +4663,30 @@ export interface ILabelProps {
|
|
|
5256
4663
|
style?: Record<string, any>;
|
|
5257
4664
|
}
|
|
5258
4665
|
|
|
5259
|
-
export interface
|
|
5260
|
-
|
|
5261
|
-
|
|
5262
|
-
additionalClassName?: string;
|
|
5263
|
-
/** Per-element styles (IStyleClasses) passed from the parent form input component */
|
|
5264
|
-
elementStyles?: Record<string, Record<string, any>>;
|
|
5265
|
-
/**
|
|
5266
|
-
* Per-element extra attributes (`className`, `data-*`, …) passed from the
|
|
5267
|
-
* parent form input component — `useComponentDefaults().elementProps`.
|
|
5268
|
-
*
|
|
5269
|
-
* ⛔ WITHOUT THIS, `slots.container.props` AND `slots.inputGroup.props`
|
|
5270
|
-
* WENT NOWHERE. KitsContainer owns both of those elements, so a class a
|
|
5271
|
-
* consumer put on either slot had no route to the DOM: the container only
|
|
5272
|
-
* ever received `elementStyles`. Optional, so a form input that does not
|
|
5273
|
-
* pass it behaves exactly as before.
|
|
5274
|
-
*/
|
|
5275
|
-
elementProps?: Record<string, Record<string, any>>;
|
|
5276
|
-
/**
|
|
5277
|
-
* When true, strips the input-group chrome (border, border-radius, overflow, focus ring).
|
|
5278
|
-
* Used by Switch, Checkbox, and Radio which render their own visual controls
|
|
5279
|
-
* and don't need the standard bordered input container.
|
|
5280
|
-
*/
|
|
5281
|
-
bare?: boolean;
|
|
5282
|
-
}
|
|
5283
|
-
|
|
5284
|
-
export interface IEditableProps {
|
|
5285
|
-
defaultValue?: string;
|
|
5286
|
-
value?: string;
|
|
5287
|
-
onChange?: (value: string) => void;
|
|
5288
|
-
onSubmit?: (value: string) => void;
|
|
5289
|
-
activationMode?: "click" | "dblclick";
|
|
5290
|
-
disabled?: boolean;
|
|
5291
|
-
type?: "input" | "textarea";
|
|
5292
|
-
previewProps?: Record<string, any>;
|
|
5293
|
-
inputProps?: Record<string, any>;
|
|
5294
|
-
textareaProps?: Record<string, any>;
|
|
5295
|
-
controls?: (helpers: {
|
|
5296
|
-
submit(): void;
|
|
5297
|
-
cancel(): void;
|
|
5298
|
-
}) => ReactNode;
|
|
4666
|
+
export interface downloadableFileResponse {
|
|
4667
|
+
url?: string | null;
|
|
4668
|
+
file_name?: string | null;
|
|
5299
4669
|
}
|
|
5300
|
-
|
|
5301
|
-
|
|
5302
|
-
|
|
5303
|
-
|
|
5304
|
-
|
|
5305
|
-
|
|
5306
|
-
|
|
5307
|
-
|
|
5308
|
-
|
|
5309
|
-
|
|
5310
|
-
|
|
5311
|
-
|
|
5312
|
-
|
|
5313
|
-
|
|
5314
|
-
|
|
5315
|
-
|
|
5316
|
-
|
|
5317
|
-
|
|
5318
|
-
|
|
5319
|
-
|
|
5320
|
-
value: number | null;
|
|
5321
|
-
}) => void;
|
|
5322
|
-
ref?: Ref<any>;
|
|
5323
|
-
}
|
|
5324
|
-
|
|
5325
|
-
export interface IGlobalEvents {
|
|
5326
|
-
onClick?: (event: GestureResponderEvent) => void;
|
|
5327
|
-
onDoubleClick?: any;
|
|
5328
|
-
onMouseDown?: (event: GestureResponderEvent) => void;
|
|
5329
|
-
onMouseUp?: (event: GestureResponderEvent) => void;
|
|
5330
|
-
onMouseEnter?: any;
|
|
5331
|
-
onMouseLeave?: any;
|
|
5332
|
-
onMouseMove?: any;
|
|
5333
|
-
onKeyDown?: any;
|
|
5334
|
-
onKeyUp?: any;
|
|
5335
|
-
onKeyPress?: (event: NativeSyntheticEvent<TextInputKeyPressEventData>) => void;
|
|
5336
|
-
onFocus?: (event: NativeSyntheticEvent<TargetedEvent>) => void;
|
|
5337
|
-
onBlur?: (event: NativeSyntheticEvent<TargetedEvent>) => void;
|
|
5338
|
-
onTouchStart?: (event: GestureResponderEvent) => void;
|
|
5339
|
-
onTouchMove?: (event: GestureResponderEvent) => void;
|
|
5340
|
-
onTouchEnd?: (event: GestureResponderEvent) => void;
|
|
5341
|
-
onTouchCancel?: (event: GestureResponderEvent) => void;
|
|
5342
|
-
onScroll?: (event: NativeSyntheticEvent<NativeScrollEvent>) => void;
|
|
5343
|
-
}
|
|
5344
|
-
|
|
5345
|
-
export interface IKitsInputTextBase extends Omit<IFormSingleElement, 'onFocus'>, IGlobalEvents {
|
|
5346
|
-
value?: string;
|
|
5347
|
-
placeholder?: string;
|
|
5348
|
-
autoFocus?: boolean;
|
|
5349
|
-
isChecked?: boolean;
|
|
5350
|
-
hidden?: boolean;
|
|
5351
|
-
onSubmitEditing?: () => void;
|
|
5352
|
-
containerStyle?: IStyleClasses;
|
|
5353
|
-
keyFilter?: EKeyFilter | RegExp;
|
|
5354
|
-
/**
|
|
5355
|
-
* Maximum number of characters allowed. On native, enforced live by the
|
|
5356
|
-
* underlying RN TextInput. On web, forwarded to the underlying input.
|
|
5357
|
-
*/
|
|
5358
|
-
maxLength?: number;
|
|
5359
|
-
/**
|
|
5360
|
-
* Minimum number of characters required. Submit-time only — RN TextInput
|
|
5361
|
-
* has no native minLength prop, so this is enforced by the form schema.
|
|
5362
|
-
*/
|
|
5363
|
-
minLength?: number;
|
|
5364
|
-
/**
|
|
5365
|
-
* Controls the keyboard type displayed on mobile devices.
|
|
5366
|
-
* No effect on web — native-only prop.
|
|
5367
|
-
* @platform native
|
|
5368
|
-
*/
|
|
5369
|
-
keyboardType?: 'default' | 'numeric' | 'email-address' | 'phone-pad' | 'decimal-pad' | 'url' | 'number-pad' | 'visible-password' | 'ascii-capable' | 'numbers-and-punctuation' | 'name-phone-pad' | 'twitter' | 'web-search';
|
|
5370
|
-
className?: string;
|
|
5371
|
-
/** platform-specific escape hatch */
|
|
5372
|
-
localProps?: unknown;
|
|
5373
|
-
style?: any;
|
|
5374
|
-
ref?: Ref<any>;
|
|
5375
|
-
}
|
|
5376
|
-
|
|
5377
|
-
export interface IKitsInputMask extends IKitsInputTextBase {
|
|
5378
|
-
/** Same API — custom implementation */
|
|
5379
|
-
mask?: string;
|
|
5380
|
-
unmask?: boolean;
|
|
5381
|
-
}
|
|
5382
|
-
|
|
5383
|
-
/**
|
|
5384
|
-
* Native-only extension
|
|
5385
|
-
* keyFilter will be implemented manually
|
|
5386
|
-
*/
|
|
5387
|
-
export interface IKitsInputText extends IKitsInputTextBase {
|
|
5388
|
-
localProps?: {
|
|
5389
|
-
keyboardType?: "default" | "numeric" | "email-address";
|
|
5390
|
-
secureTextEntry?: boolean;
|
|
5391
|
-
} | any;
|
|
5392
|
-
/** Override the ID used for keyboard navigation registration (used by PhoneInput). */
|
|
5393
|
-
keyboardNavId?: string;
|
|
5394
|
-
}
|
|
5395
|
-
|
|
5396
|
-
export interface IKitsInputTextareaBase extends Omit<IFormSingleElement, 'onFocus'>, IGlobalEvents {
|
|
5397
|
-
value?: string;
|
|
5398
|
-
rows?: number;
|
|
5399
|
-
cols?: number;
|
|
5400
|
-
autoResize?: boolean;
|
|
5401
|
-
/**
|
|
5402
|
-
* Maximum number of characters allowed. On native, enforced live by the
|
|
5403
|
-
* underlying RN TextInput. On web, forwarded to the underlying textarea.
|
|
5404
|
-
*/
|
|
5405
|
-
maxLength?: number;
|
|
5406
|
-
/**
|
|
5407
|
-
* Minimum number of characters required. Submit-time only — RN has no
|
|
5408
|
-
* native minLength prop, so this is enforced by the form schema.
|
|
5409
|
-
*/
|
|
5410
|
-
minLength?: number;
|
|
5411
|
-
hidden?: boolean;
|
|
5412
|
-
isChecked?: boolean;
|
|
5413
|
-
autoFocus?: boolean;
|
|
5414
|
-
onSubmitEditing?: () => void;
|
|
5415
|
-
containerStyle?: IStyleClasses;
|
|
5416
|
-
keyFilter?: EKeyFilter | RegExp;
|
|
5417
|
-
localProps?: unknown;
|
|
5418
|
-
ref?: Ref<any>;
|
|
5419
|
-
}
|
|
5420
|
-
|
|
5421
|
-
export interface IKitsInputTextarea extends IKitsInputTextareaBase {
|
|
5422
|
-
localProps?: {
|
|
5423
|
-
multiline?: boolean;
|
|
5424
|
-
numberOfLines?: number;
|
|
5425
|
-
};
|
|
5426
|
-
keyboardNavId?: string;
|
|
5427
|
-
}
|
|
5428
|
-
|
|
5429
|
-
export interface IKitsInputSwitch extends Omit<IFormSingleElement, 'onChange'> {
|
|
5430
|
-
/** Controlled value for the switch (true/false) */
|
|
5431
|
-
value?: boolean;
|
|
5432
|
-
/** Primereact-like onChange handler */
|
|
5433
|
-
onChange?: (e: {
|
|
5434
|
-
target: {
|
|
5435
|
-
value: boolean;
|
|
5436
|
-
};
|
|
5437
|
-
value?: boolean;
|
|
5438
|
-
}) => void;
|
|
5439
|
-
/** Pre-checked state for uncontrolled usage */
|
|
5440
|
-
checked?: boolean;
|
|
5441
|
-
/** Render as 'switch' (default) or 'checkbox' with inline label */
|
|
5442
|
-
displayAs?: 'switch' | 'checkbox';
|
|
5443
|
-
/** Layout direction: 'column' (label above, default) or 'row' (label + switch inline, space-between) */
|
|
5444
|
-
direction?: 'row' | 'column';
|
|
5445
|
-
/** For passing any extra props to underlying libs */
|
|
5446
|
-
localProps?: any;
|
|
5447
|
-
/** Ref forwarding */
|
|
5448
|
-
ref?: Ref<any>;
|
|
5449
|
-
}
|
|
5450
|
-
|
|
5451
|
-
export interface IKitsInputPassword extends Omit<IFormSingleElement, 'onChange'> {
|
|
5452
|
-
value?: string;
|
|
5453
|
-
defaultValue?: string;
|
|
5454
|
-
onChange?: (e: {
|
|
5455
|
-
target: {
|
|
5456
|
-
value: string;
|
|
5457
|
-
};
|
|
5458
|
-
value?: string;
|
|
5459
|
-
}) => void;
|
|
5460
|
-
promptLabel?: string;
|
|
5461
|
-
weakLabel?: string;
|
|
5462
|
-
mediumLabel?: string;
|
|
5463
|
-
strongLabel?: string;
|
|
5464
|
-
header?: ReactElement;
|
|
5465
|
-
footer?: ReactElement;
|
|
5466
|
-
feedback?: boolean;
|
|
5467
|
-
toggleEye?: boolean;
|
|
5468
|
-
showStrengthProgress?: boolean;
|
|
5469
|
-
localProps?: any;
|
|
5470
|
-
schema?: Yup.Schema | Yup.AnySchema;
|
|
5471
|
-
ref?: Ref<any>;
|
|
5472
|
-
/** Custom icon shown when password is hidden (native only; web uses PrimeReact's built-in icon) */
|
|
5473
|
-
eyeIcon?: ReactNode;
|
|
5474
|
-
/** Custom icon shown when password is visible (native only; web uses PrimeReact's built-in icon) */
|
|
5475
|
-
eyeSlashIcon?: ReactNode;
|
|
5476
|
-
}
|
|
5477
|
-
|
|
5478
|
-
export interface IKitsInputCalendar<T = any> extends IFormSingleElement {
|
|
5479
|
-
value?: Date | Date[] | null;
|
|
5480
|
-
defaultValue?: Date | Date[] | null;
|
|
5481
|
-
onChange?: (val: Date | Date[] | null) => void;
|
|
5482
|
-
placeholder?: string;
|
|
5483
|
-
localProps?: Omit<T, 'value' | 'onChange'> | {
|
|
5484
|
-
dateFormat?: string;
|
|
5485
|
-
placeholder?: string;
|
|
5486
|
-
selectionMode?: "range" | "single";
|
|
5487
|
-
view?: "date";
|
|
5488
|
-
numberOfMonths?: number;
|
|
5489
|
-
};
|
|
5490
|
-
}
|
|
5491
|
-
|
|
5492
|
-
export interface downloadableFileResponse {
|
|
5493
|
-
url?: string | null;
|
|
5494
|
-
file_name?: string | null;
|
|
5495
|
-
}
|
|
5496
|
-
export type FetchSuccess<T = any, Y = {}, X = {}> = {
|
|
5497
|
-
success: true;
|
|
5498
|
-
data: T;
|
|
5499
|
-
message?: string;
|
|
5500
|
-
meta?: Y;
|
|
5501
|
-
} & X;
|
|
5502
|
-
export type FetchError = {
|
|
5503
|
-
pageCode: number;
|
|
5504
|
-
success: false;
|
|
5505
|
-
message: string;
|
|
5506
|
-
};
|
|
5507
|
-
export type ServerResponse<T = any, Y = {}, X = {}> = FetchSuccess<T, Y, X> | FetchError;
|
|
5508
|
-
export type FetchTablePaginationData = {
|
|
5509
|
-
requested_page_size: number;
|
|
5510
|
-
actual_page_size: number;
|
|
5511
|
-
page_index: number;
|
|
5512
|
-
page_count: number;
|
|
5513
|
-
total: number;
|
|
5514
|
-
};
|
|
5515
|
-
export type FetchTableDataRes<T> = T[];
|
|
4670
|
+
export type FetchSuccess<T = any, Y = {}, X = {}> = {
|
|
4671
|
+
success: true;
|
|
4672
|
+
data: T;
|
|
4673
|
+
message?: string;
|
|
4674
|
+
meta?: Y;
|
|
4675
|
+
} & X;
|
|
4676
|
+
export type FetchError = {
|
|
4677
|
+
pageCode: number;
|
|
4678
|
+
success: false;
|
|
4679
|
+
message: string;
|
|
4680
|
+
};
|
|
4681
|
+
export type ServerResponse<T = any, Y = {}, X = {}> = FetchSuccess<T, Y, X> | FetchError;
|
|
4682
|
+
export type FetchTablePaginationData = {
|
|
4683
|
+
requested_page_size: number;
|
|
4684
|
+
actual_page_size: number;
|
|
4685
|
+
page_index: number;
|
|
4686
|
+
page_count: number;
|
|
4687
|
+
total: number;
|
|
4688
|
+
};
|
|
4689
|
+
export type FetchTableDataRes<T> = T[];
|
|
5516
4690
|
|
|
5517
4691
|
declare type Booleanish = boolean | 'true' | 'false';
|
|
5518
4692
|
declare type Numberish = number | string;
|
|
@@ -5805,8 +4979,54 @@ export interface ISelectCore<TStyle = any, TLocalProps = any> extends IFormSingl
|
|
|
5805
4979
|
export interface ICascadeSelectCore<S, P> extends ISelectCore<S, P> {
|
|
5806
4980
|
withArrow?: boolean;
|
|
5807
4981
|
}
|
|
4982
|
+
/**
|
|
4983
|
+
* How an option draws inside the panel — R51.
|
|
4984
|
+
*
|
|
4985
|
+
* ⛔ A NAMED KIND, NOT A RENDER PROP, AND THAT IS THE WHOLE POINT. A
|
|
4986
|
+
* FormBuilder field is declarative CONFIG: it is stored, shipped and rebuilt
|
|
4987
|
+
* from JSON, so a function can never come from a builder. An enumerable kind
|
|
4988
|
+
* can. This mirrors `TCheckboxRadioMode` ('labeled' | 'images'), which exists
|
|
4989
|
+
* for exactly the same reason.
|
|
4990
|
+
*
|
|
4991
|
+
* text the option's label, as today
|
|
4992
|
+
* icon an icon, from `option.icon` or the option's own value
|
|
4993
|
+
* image `option.image` — the field Checkbox/Radio image mode already uses
|
|
4994
|
+
* swatch a colour chip, from `option.colour` or the option's own value
|
|
4995
|
+
*/
|
|
4996
|
+
export type TSelectItemKind = 'text' | 'icon' | 'image' | 'swatch';
|
|
5808
4997
|
export interface IDropdownCore<S, P> extends ISelectCore<S, P> {
|
|
5809
4998
|
withArrow?: boolean;
|
|
4999
|
+
/**
|
|
5000
|
+
* How the options lay out inside the panel. @default "list"
|
|
5001
|
+
*
|
|
5002
|
+
* ⚠️ `grid` CHANGES KEYBOARD NAVIGATION, not just the look: Up and Down
|
|
5003
|
+
* must move by a ROW, not by one option, or the arrow keys stop matching
|
|
5004
|
+
* what the eye sees. Both platforms handle that; see `panelColumns`.
|
|
5005
|
+
*/
|
|
5006
|
+
panelLayout?: 'list' | 'grid';
|
|
5007
|
+
/**
|
|
5008
|
+
* Columns when `panelLayout` is "grid". Clamped to 2–10.
|
|
5009
|
+
* @default 4
|
|
5010
|
+
*
|
|
5011
|
+
* ⚠️ It is also the keyboard's row stride, so it must be the number of
|
|
5012
|
+
* columns ACTUALLY rendered — never a hint.
|
|
5013
|
+
*/
|
|
5014
|
+
panelColumns?: number;
|
|
5015
|
+
/** Panel width in px. Omitted, the panel matches the trigger. */
|
|
5016
|
+
panelWidth?: number;
|
|
5017
|
+
/** What each option draws. @default "text" */
|
|
5018
|
+
itemKind?: TSelectItemKind;
|
|
5019
|
+
/**
|
|
5020
|
+
* Full control of one option's content. Wins over `itemKind`.
|
|
5021
|
+
*
|
|
5022
|
+
* ⛔ CODE ONLY, AND DELIBERATELY ABSENT FROM THE BUILDER. A function
|
|
5023
|
+
* cannot be serialised into a form definition, so the FormBuilder never
|
|
5024
|
+
* offers this — it offers `itemKind`. Anything the four kinds cannot
|
|
5025
|
+
* express is reachable here from a hand-written form.
|
|
5026
|
+
*/
|
|
5027
|
+
renderItem?: (option: any, state: {
|
|
5028
|
+
selected: boolean;
|
|
5029
|
+
}) => any;
|
|
5810
5030
|
}
|
|
5811
5031
|
export interface IMultiSelectCore<S, P> extends ISelectCore<S, P> {
|
|
5812
5032
|
withArrow?: boolean;
|
|
@@ -5857,6 +5077,869 @@ export interface ISelectType {
|
|
|
5857
5077
|
shape?: "cascade" | "dropdown" | "multiselect" | "autocomplete" | "listBox" | "treeSelect";
|
|
5858
5078
|
}
|
|
5859
5079
|
|
|
5080
|
+
export interface ITranslatableText {
|
|
5081
|
+
raw: string | null;
|
|
5082
|
+
i18nKey: string | null;
|
|
5083
|
+
}
|
|
5084
|
+
export type TKeyFilter = 'int' | 'pint' | 'num' | 'pnum' | 'money' | 'alpha' | 'alphanum' | 'email';
|
|
5085
|
+
export type TBuilderFieldType = 'Text' | 'Textarea' | 'Number' | 'Phone' | 'Date' | 'File' | 'Select' | 'Multiselect' | 'Checkbox' | 'Radios' | 'Tags' | 'Switch' | 'Address' | 'RadiusPicker' | 'Section' | 'Container' | 'Group';
|
|
5086
|
+
export type TLocationProvider = 'google' | 'experian';
|
|
5087
|
+
/**
|
|
5088
|
+
* Country code format passed to the location picker.
|
|
5089
|
+
* - 'iso2' = ISO 3166-1 alpha-2 (e.g. "AU")
|
|
5090
|
+
* - 'iso3' = ISO 3166-1 alpha-3 (e.g. "AUS")
|
|
5091
|
+
* The picker accepts either; KitsInputLocation slices to ISO2 for Google.
|
|
5092
|
+
*/
|
|
5093
|
+
export type TIsoFormat = 'iso2' | 'iso3';
|
|
5094
|
+
export type TDynamicFlag = 'countries' | 'states' | 'currencies' | 'languages' | 'timezones' | 'careers' | 'industries';
|
|
5095
|
+
export type TAcceptedFileType = 'png' | 'jpg' | 'gif' | 'images' | 'pdf' | 'doc' | 'docx' | 'txt' | 'xls' | 'xlsx' | 'csv' | 'ppt' | 'pptx' | 'zip' | 'json' | 'audio' | 'video' | 'allFiles';
|
|
5096
|
+
export interface IOptionItem {
|
|
5097
|
+
value: string;
|
|
5098
|
+
label: ITranslatableText;
|
|
5099
|
+
/**
|
|
5100
|
+
* Optional base64 data URL for image-mode Checkbox/Radio options.
|
|
5101
|
+
* Format: `data:image/png;base64,...` or `data:image/jpeg;base64,...`.
|
|
5102
|
+
* Constraint enforced at builder time: PNG / JPG only, ≤ 100 KB.
|
|
5103
|
+
*/
|
|
5104
|
+
image?: string | null;
|
|
5105
|
+
/**
|
|
5106
|
+
* R51 — the icon NAME for a Select with `itemKind: 'icon'`. Optional: when
|
|
5107
|
+
* absent the option's own `value` is used, because a field that stores an
|
|
5108
|
+
* icon name as its value (the Help topic picker) should not have to repeat
|
|
5109
|
+
* it.
|
|
5110
|
+
*/
|
|
5111
|
+
icon?: string | null;
|
|
5112
|
+
/**
|
|
5113
|
+
* R51 — the colour for a Select with `itemKind: 'swatch'`. Same fallback
|
|
5114
|
+
* to `value`, for a list whose values ARE colours.
|
|
5115
|
+
*/
|
|
5116
|
+
colour?: string | null;
|
|
5117
|
+
}
|
|
5118
|
+
export type IOptionsSource = {
|
|
5119
|
+
source: 'static';
|
|
5120
|
+
items: IOptionItem[];
|
|
5121
|
+
} | {
|
|
5122
|
+
source: 'dynamic';
|
|
5123
|
+
flag: TDynamicFlag;
|
|
5124
|
+
flagParams: Record<string, string> | null;
|
|
5125
|
+
};
|
|
5126
|
+
export type TConditionOperator = 'equals' | 'not_equals' | 'contains' | 'not_contains' | 'is_empty' | 'is_not_empty' | 'greater_than' | 'less_than' | 'in' | 'not_in';
|
|
5127
|
+
export type TConditionAction = 'show' | 'hide' | 'enable' | 'disable';
|
|
5128
|
+
export type TConditionMatch = 'ALL' | 'ANY';
|
|
5129
|
+
export interface IConditionRule {
|
|
5130
|
+
targetField: string;
|
|
5131
|
+
operator: TConditionOperator;
|
|
5132
|
+
value: string | null;
|
|
5133
|
+
}
|
|
5134
|
+
export interface IFieldCondition {
|
|
5135
|
+
action: TConditionAction;
|
|
5136
|
+
match: TConditionMatch;
|
|
5137
|
+
rules: IConditionRule[];
|
|
5138
|
+
}
|
|
5139
|
+
export interface IBaseValidation {
|
|
5140
|
+
required: boolean;
|
|
5141
|
+
requiredMessage: ITranslatableText | null;
|
|
5142
|
+
}
|
|
5143
|
+
export interface ITextValidation extends IBaseValidation {
|
|
5144
|
+
minLength: number | null;
|
|
5145
|
+
minLengthMessage: ITranslatableText | null;
|
|
5146
|
+
maxLength: number | null;
|
|
5147
|
+
maxLengthMessage: ITranslatableText | null;
|
|
5148
|
+
pattern: string | null;
|
|
5149
|
+
patternMessage: ITranslatableText | null;
|
|
5150
|
+
}
|
|
5151
|
+
export interface INumberValidation extends IBaseValidation {
|
|
5152
|
+
min: number | null;
|
|
5153
|
+
minMessage: ITranslatableText | null;
|
|
5154
|
+
max: number | null;
|
|
5155
|
+
maxMessage: ITranslatableText | null;
|
|
5156
|
+
}
|
|
5157
|
+
export type TDateBoundary = 'today' | 'custom' | 'none';
|
|
5158
|
+
export interface IDateValidation extends IBaseValidation {
|
|
5159
|
+
minDate: TDateBoundary;
|
|
5160
|
+
minDateValue: string | null;
|
|
5161
|
+
minDateMessage: ITranslatableText | null;
|
|
5162
|
+
maxDate: TDateBoundary;
|
|
5163
|
+
maxDateValue: string | null;
|
|
5164
|
+
maxDateMessage: ITranslatableText | null;
|
|
5165
|
+
}
|
|
5166
|
+
export interface IFileValidation extends IBaseValidation {
|
|
5167
|
+
minFileSize: number | null;
|
|
5168
|
+
minFileSizeMessage: ITranslatableText | null;
|
|
5169
|
+
maxFileSize: number | null;
|
|
5170
|
+
maxFileSizeMessage: ITranslatableText | null;
|
|
5171
|
+
}
|
|
5172
|
+
export interface ISelectionValidation extends IBaseValidation {
|
|
5173
|
+
minSelections: number | null;
|
|
5174
|
+
minSelectionsMessage: ITranslatableText | null;
|
|
5175
|
+
maxSelections: number | null;
|
|
5176
|
+
maxSelectionsMessage: ITranslatableText | null;
|
|
5177
|
+
}
|
|
5178
|
+
export interface IBuilderFieldBase {
|
|
5179
|
+
_temp_id: string;
|
|
5180
|
+
id: number | null;
|
|
5181
|
+
name: string;
|
|
5182
|
+
label: ITranslatableText;
|
|
5183
|
+
helpText: ITranslatableText | null;
|
|
5184
|
+
order: number;
|
|
5185
|
+
colSpan: number;
|
|
5186
|
+
conditions: IFieldCondition[];
|
|
5187
|
+
}
|
|
5188
|
+
export interface IBuilderTextField extends IBuilderFieldBase {
|
|
5189
|
+
type: 'Text';
|
|
5190
|
+
placeholder: ITranslatableText | null;
|
|
5191
|
+
initialValue: string | null;
|
|
5192
|
+
keyFilter: TKeyFilter | null;
|
|
5193
|
+
withMask: boolean;
|
|
5194
|
+
mask: string | null;
|
|
5195
|
+
unmask: boolean | null;
|
|
5196
|
+
leftIcon: string | null;
|
|
5197
|
+
prefix: string | null;
|
|
5198
|
+
rightIcon: string | null;
|
|
5199
|
+
suffix: string | null;
|
|
5200
|
+
validation: ITextValidation;
|
|
5201
|
+
}
|
|
5202
|
+
export interface IBuilderTextareaField extends IBuilderFieldBase {
|
|
5203
|
+
type: 'Textarea';
|
|
5204
|
+
placeholder: ITranslatableText | null;
|
|
5205
|
+
initialValue: string | null;
|
|
5206
|
+
keyFilter: TKeyFilter | null;
|
|
5207
|
+
rows: number;
|
|
5208
|
+
autoResize: boolean;
|
|
5209
|
+
/**
|
|
5210
|
+
* @deprecated Use `validation.maxLength` instead. Kept for back-compat with
|
|
5211
|
+
* older payloads; new code should ignore this and read from the Validation
|
|
5212
|
+
* panel's `validation.maxLength`. Removed from the designer's Basic panel
|
|
5213
|
+
* in the same change that introduced this notice.
|
|
5214
|
+
*/
|
|
5215
|
+
maxLength: number | null;
|
|
5216
|
+
leftIcon: string | null;
|
|
5217
|
+
prefix: string | null;
|
|
5218
|
+
rightIcon: string | null;
|
|
5219
|
+
suffix: string | null;
|
|
5220
|
+
validation: ITextValidation;
|
|
5221
|
+
}
|
|
5222
|
+
export interface IBuilderNumberField extends IBuilderFieldBase {
|
|
5223
|
+
type: 'Number';
|
|
5224
|
+
placeholder: ITranslatableText | null;
|
|
5225
|
+
initialValue: number | null;
|
|
5226
|
+
mode: 'decimal' | 'currency';
|
|
5227
|
+
currency: string | null;
|
|
5228
|
+
useGrouping: boolean;
|
|
5229
|
+
minFractionDigits: number;
|
|
5230
|
+
maxFractionDigits: number;
|
|
5231
|
+
prefix: string | null;
|
|
5232
|
+
suffix: string | null;
|
|
5233
|
+
leftIcon: string | null;
|
|
5234
|
+
rightIcon: string | null;
|
|
5235
|
+
validation: INumberValidation;
|
|
5236
|
+
}
|
|
5237
|
+
export interface IBuilderPhoneField extends IBuilderFieldBase {
|
|
5238
|
+
type: 'Phone';
|
|
5239
|
+
initialValue: string | null;
|
|
5240
|
+
isWithCountryCode: boolean;
|
|
5241
|
+
defaultCountry: string;
|
|
5242
|
+
outputFormat: 'string' | 'object';
|
|
5243
|
+
includedCountries: string[];
|
|
5244
|
+
excludedCountries: string[];
|
|
5245
|
+
validation: IBaseValidation;
|
|
5246
|
+
}
|
|
5247
|
+
export interface IBuilderDateField extends IBuilderFieldBase {
|
|
5248
|
+
type: 'Date';
|
|
5249
|
+
placeholder: ITranslatableText | null;
|
|
5250
|
+
initialValue: string | null;
|
|
5251
|
+
selectionMode: 'single' | 'range';
|
|
5252
|
+
dateFormat: string;
|
|
5253
|
+
numberOfMonths: number;
|
|
5254
|
+
validation: IDateValidation;
|
|
5255
|
+
}
|
|
5256
|
+
export interface IBuilderFileField extends IBuilderFieldBase {
|
|
5257
|
+
type: 'File';
|
|
5258
|
+
placeholder: ITranslatableText | null;
|
|
5259
|
+
fileType: 'File' | 'Image';
|
|
5260
|
+
multiple: boolean;
|
|
5261
|
+
limit: number | null;
|
|
5262
|
+
classicUploader: boolean;
|
|
5263
|
+
acceptedTypes: TAcceptedFileType[];
|
|
5264
|
+
validation: IFileValidation;
|
|
5265
|
+
}
|
|
5266
|
+
export interface IBuilderSelectField extends IBuilderFieldBase {
|
|
5267
|
+
type: 'Select';
|
|
5268
|
+
placeholder: ITranslatableText | null;
|
|
5269
|
+
withFilter: boolean;
|
|
5270
|
+
withArrow: boolean;
|
|
5271
|
+
showClear: boolean;
|
|
5272
|
+
options: IOptionsSource;
|
|
5273
|
+
validation: IBaseValidation;
|
|
5274
|
+
/** How the options lay out in the panel. @default 'list' */
|
|
5275
|
+
panelLayout: 'list' | 'grid';
|
|
5276
|
+
/** Columns when `panelLayout` is 'grid'. Clamped 2–10 at render. @default 4 */
|
|
5277
|
+
panelColumns: number | null;
|
|
5278
|
+
/** Panel width in px; null means "match the trigger". */
|
|
5279
|
+
panelWidth: number | null;
|
|
5280
|
+
/** What each option draws. @default 'text' */
|
|
5281
|
+
itemKind: TSelectItemKind;
|
|
5282
|
+
}
|
|
5283
|
+
export interface IBuilderMultiselectField extends IBuilderFieldBase {
|
|
5284
|
+
type: 'Multiselect';
|
|
5285
|
+
placeholder: ITranslatableText | null;
|
|
5286
|
+
withFilter: boolean;
|
|
5287
|
+
withArrow: boolean;
|
|
5288
|
+
showClear: boolean;
|
|
5289
|
+
valueMode: 'chip' | 'comma';
|
|
5290
|
+
selectionLimit: number | null;
|
|
5291
|
+
options: IOptionsSource;
|
|
5292
|
+
validation: ISelectionValidation;
|
|
5293
|
+
}
|
|
5294
|
+
/**
|
|
5295
|
+
* Checkbox / Radio rendering mode.
|
|
5296
|
+
* - 'labeled' — standard text label per option (default)
|
|
5297
|
+
* - 'images' — image per option (PNG/JPG ≤ 100 KB, base64), label becomes alt text
|
|
5298
|
+
*
|
|
5299
|
+
* 'custom' was removed — the form-builder UI cannot author render-prop component
|
|
5300
|
+
* code; consumers wanting fully custom rendering should fork the field.
|
|
5301
|
+
*/
|
|
5302
|
+
export type TCheckboxRadioMode = 'labeled' | 'images';
|
|
5303
|
+
|
|
5304
|
+
export type TCheckboxRadioSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
5305
|
+
/**
|
|
5306
|
+
* Items per row for Checkbox/Radio layouts. Capped at 4 — beyond that the
|
|
5307
|
+
* options become too narrow to be readable. Width per item accounts for the
|
|
5308
|
+
* inter-item gap (see `WIDTH_BY_ITEMS_PER_ROW` in FieldPreview).
|
|
5309
|
+
*/
|
|
5310
|
+
export type TItemsPerRow = 1 | 2 | 3 | 4;
|
|
5311
|
+
export interface IBuilderCheckboxField extends IBuilderFieldBase {
|
|
5312
|
+
type: 'Checkbox';
|
|
5313
|
+
mode: TCheckboxRadioMode;
|
|
5314
|
+
vertical: boolean;
|
|
5315
|
+
size: TCheckboxRadioSize;
|
|
5316
|
+
withBulbs: boolean;
|
|
5317
|
+
/** Items per row — controls each option's width via 100% / itemsPerRow. */
|
|
5318
|
+
itemsPerRow: TItemsPerRow;
|
|
5319
|
+
selectionLimit: number | null;
|
|
5320
|
+
options: IOptionsSource;
|
|
5321
|
+
validation: ISelectionValidation;
|
|
5322
|
+
}
|
|
5323
|
+
export interface IBuilderRadiosField extends IBuilderFieldBase {
|
|
5324
|
+
type: 'Radios';
|
|
5325
|
+
mode: TCheckboxRadioMode;
|
|
5326
|
+
vertical: boolean;
|
|
5327
|
+
size: TCheckboxRadioSize;
|
|
5328
|
+
withBulbs: boolean;
|
|
5329
|
+
/** Items per row — controls each option's width via 100% / itemsPerRow. */
|
|
5330
|
+
itemsPerRow: TItemsPerRow;
|
|
5331
|
+
options: IOptionsSource;
|
|
5332
|
+
validation: IBaseValidation;
|
|
5333
|
+
}
|
|
5334
|
+
export interface IBuilderTagsField extends IBuilderFieldBase {
|
|
5335
|
+
type: 'Tags';
|
|
5336
|
+
placeholder: ITranslatableText | null;
|
|
5337
|
+
forceSelection: boolean;
|
|
5338
|
+
isMultiple: boolean;
|
|
5339
|
+
selectionLimit: number | null;
|
|
5340
|
+
options: IOptionsSource;
|
|
5341
|
+
validation: ISelectionValidation;
|
|
5342
|
+
}
|
|
5343
|
+
export interface IBuilderSwitchField extends IBuilderFieldBase {
|
|
5344
|
+
type: 'Switch';
|
|
5345
|
+
initialValue: boolean;
|
|
5346
|
+
displayAs: 'switch' | 'checkbox';
|
|
5347
|
+
direction: 'row' | 'column';
|
|
5348
|
+
validation: IBaseValidation;
|
|
5349
|
+
}
|
|
5350
|
+
/**
|
|
5351
|
+
* Address field — by default a Google/Experian location picker.
|
|
5352
|
+
*
|
|
5353
|
+
* When `allowManualEntry` is true, the runtime renders an "Enter it manually"
|
|
5354
|
+
* toggle below the picker. Toggling it on flips a sub-state that:
|
|
5355
|
+
* 1. Disables the picker (built-in condition: `disabled when manual = true`)
|
|
5356
|
+
* 2. Reveals manual address fields (street, city, state, postcode, country)
|
|
5357
|
+
*
|
|
5358
|
+
* The form-builder stores ONLY the configuration; the actual sub-state and
|
|
5359
|
+
* runtime rendering is the consumer's responsibility (App / Dashboard).
|
|
5360
|
+
*/
|
|
5361
|
+
export interface IBuilderAddressField extends IBuilderFieldBase {
|
|
5362
|
+
type: 'Address';
|
|
5363
|
+
provider: TLocationProvider;
|
|
5364
|
+
apiKey: string | null;
|
|
5365
|
+
countryIso: string | null;
|
|
5366
|
+
countryIsoFormat: TIsoFormat;
|
|
5367
|
+
placeholder: ITranslatableText | null;
|
|
5368
|
+
initialValue: string | null;
|
|
5369
|
+
forceSelection: boolean;
|
|
5370
|
+
allowManualEntry: boolean;
|
|
5371
|
+
manualToggleLabel: ITranslatableText | null;
|
|
5372
|
+
validation: IBaseValidation;
|
|
5373
|
+
}
|
|
5374
|
+
export interface IBuilderRadiusPickerField extends IBuilderFieldBase {
|
|
5375
|
+
type: 'RadiusPicker';
|
|
5376
|
+
direction: 'vertical' | 'horizontal';
|
|
5377
|
+
mapHeight: number;
|
|
5378
|
+
min: number;
|
|
5379
|
+
max: number;
|
|
5380
|
+
step: number;
|
|
5381
|
+
unit: 'km' | 'mi';
|
|
5382
|
+
showPresets: boolean;
|
|
5383
|
+
showNumericInput: boolean;
|
|
5384
|
+
showUnitToggle: boolean;
|
|
5385
|
+
showLatLngInput: boolean;
|
|
5386
|
+
showCurrentLocationButton: boolean;
|
|
5387
|
+
showSearchBox: boolean;
|
|
5388
|
+
showResetButton: boolean;
|
|
5389
|
+
showFloatingSlider: boolean;
|
|
5390
|
+
placeholder: ITranslatableText | null;
|
|
5391
|
+
initialValue: {
|
|
5392
|
+
center: {
|
|
5393
|
+
lat: number;
|
|
5394
|
+
lng: number;
|
|
5395
|
+
} | null;
|
|
5396
|
+
radius: number;
|
|
5397
|
+
unit: 'km' | 'mi';
|
|
5398
|
+
} | null;
|
|
5399
|
+
validation: IBaseValidation;
|
|
5400
|
+
}
|
|
5401
|
+
export interface IBuilderSectionField {
|
|
5402
|
+
_temp_id: string;
|
|
5403
|
+
id: number | null;
|
|
5404
|
+
type: 'Section';
|
|
5405
|
+
name: string;
|
|
5406
|
+
label: ITranslatableText;
|
|
5407
|
+
description: ITranslatableText | null;
|
|
5408
|
+
showDivider: boolean;
|
|
5409
|
+
order: number;
|
|
5410
|
+
colSpan: number;
|
|
5411
|
+
}
|
|
5412
|
+
export interface IBuilderContainerField {
|
|
5413
|
+
_temp_id: string;
|
|
5414
|
+
id: number | null;
|
|
5415
|
+
type: 'Container';
|
|
5416
|
+
name: string;
|
|
5417
|
+
order: number;
|
|
5418
|
+
colSpan: number;
|
|
5419
|
+
layout: 'row' | 'column' | 'grid';
|
|
5420
|
+
columns: number;
|
|
5421
|
+
gap: number;
|
|
5422
|
+
children: IBuilderField[];
|
|
5423
|
+
}
|
|
5424
|
+
export interface IBuilderGroupField {
|
|
5425
|
+
_temp_id: string;
|
|
5426
|
+
id: number | null;
|
|
5427
|
+
type: 'Group';
|
|
5428
|
+
name: string;
|
|
5429
|
+
order: number;
|
|
5430
|
+
colSpan: number;
|
|
5431
|
+
label: ITranslatableText;
|
|
5432
|
+
description: ITranslatableText | null;
|
|
5433
|
+
showDivider: boolean;
|
|
5434
|
+
collapsible: boolean;
|
|
5435
|
+
collapsedByDefault: boolean;
|
|
5436
|
+
children: IBuilderField[];
|
|
5437
|
+
conditions: IFieldCondition[];
|
|
5438
|
+
}
|
|
5439
|
+
export type IBuilderField = IBuilderTextField | IBuilderTextareaField | IBuilderNumberField | IBuilderPhoneField | IBuilderDateField | IBuilderFileField | IBuilderSelectField | IBuilderMultiselectField | IBuilderCheckboxField | IBuilderRadiosField | IBuilderTagsField | IBuilderSwitchField | IBuilderAddressField | IBuilderRadiusPickerField | IBuilderSectionField | IBuilderContainerField | IBuilderGroupField;
|
|
5440
|
+
export interface IFormBuilderMeta {
|
|
5441
|
+
title: string;
|
|
5442
|
+
description: string | null;
|
|
5443
|
+
version: string;
|
|
5444
|
+
is_active: boolean;
|
|
5445
|
+
}
|
|
5446
|
+
export interface IFormBuilderProps {
|
|
5447
|
+
formId?: number;
|
|
5448
|
+
/**
|
|
5449
|
+
* Initial form metadata (uncontrolled mode). Ignored when `value` is set —
|
|
5450
|
+
* `value.form` then drives the meta.
|
|
5451
|
+
*/
|
|
5452
|
+
initialMeta?: IFormBuilderMeta;
|
|
5453
|
+
/**
|
|
5454
|
+
* Saved fields loaded from the backend (uncontrolled mode). Accepts
|
|
5455
|
+
* IBuilderFieldExport[] (the persisted shape without _temp_id) because
|
|
5456
|
+
* _temp_id is always assigned internally on mount. Ignored when `value` is
|
|
5457
|
+
* set — `value.fields` then drives the field tree.
|
|
5458
|
+
*/
|
|
5459
|
+
initialFields?: IBuilderFieldExport[];
|
|
5460
|
+
/**
|
|
5461
|
+
* Controlled-mode payload. When provided, FormBuilder mirrors `value.fields`
|
|
5462
|
+
* and `value.form` into its internal state on every change. Pair with
|
|
5463
|
+
* `onChange` so the consumer owns the source of truth.
|
|
5464
|
+
*/
|
|
5465
|
+
value?: IFormBuilderPayload;
|
|
5466
|
+
/**
|
|
5467
|
+
* Fires on every meta or field-tree edit. Always invoked (controlled or
|
|
5468
|
+
* uncontrolled) so consumers can mirror state, debounce a save, drive a
|
|
5469
|
+
* page-level Save button, etc.
|
|
5470
|
+
*/
|
|
5471
|
+
onChange?: (payload: IFormBuilderPayload) => void;
|
|
5472
|
+
localeKeys?: string[];
|
|
5473
|
+
/**
|
|
5474
|
+
* Optional save handler. When omitted, FormBuilder renders no Save button —
|
|
5475
|
+
* persistence is owned by the consumer (e.g. a page-level submit button
|
|
5476
|
+
* reading state via `onChange`/`value`). When provided, the Save button is
|
|
5477
|
+
* rendered and runs the snake_case validator before invoking this handler.
|
|
5478
|
+
*/
|
|
5479
|
+
onSave?: (payload: IFormBuilderPayload) => void | Promise<void>;
|
|
5480
|
+
/**
|
|
5481
|
+
* Optional cancel handler. When omitted, no Cancel button is rendered.
|
|
5482
|
+
*/
|
|
5483
|
+
onCancel?: () => void;
|
|
5484
|
+
isSaving?: boolean;
|
|
5485
|
+
readOnly?: boolean;
|
|
5486
|
+
/**
|
|
5487
|
+
* Strategy for the field's `name` (machine key).
|
|
5488
|
+
* - `'auto'` (default): every field receives a unique 6-char prefix
|
|
5489
|
+
* (`f` + 5 base36) on insert, and the name is auto-derived as
|
|
5490
|
+
* `<prefix>_<slug-of-label>` whenever the label changes. The Field Name
|
|
5491
|
+
* input is disabled. The prefix is sticky across edits and is reused
|
|
5492
|
+
* when the field is re-loaded from a saved payload, so duplicate labels
|
|
5493
|
+
* stay distinct without admin intervention.
|
|
5494
|
+
* - `'manual'`: admin types the snake_case name in the Properties Panel.
|
|
5495
|
+
* Use only when the field name is a meaningful contract (e.g. matched
|
|
5496
|
+
* against an external schema). The Backend's snake_case validator still
|
|
5497
|
+
* runs.
|
|
5498
|
+
*/
|
|
5499
|
+
nameMode?: 'manual' | 'auto';
|
|
5500
|
+
dynamicFlagLoader?: (flag: TDynamicFlag, params: Record<string, string> | null) => Promise<IOptionItem[]>;
|
|
5501
|
+
/**
|
|
5502
|
+
* Consumer-injected node rendered in the header to the LEFT of the
|
|
5503
|
+
* Cancel/Save buttons. Use for tools like "Generate with AI", "Import",
|
|
5504
|
+
* "Templates", etc. KitsConcerto stays agnostic — the consumer owns the
|
|
5505
|
+
* action's label, icon, loading state, and onClick handler.
|
|
5506
|
+
*/
|
|
5507
|
+
toolbarActions?: ReactNode;
|
|
5508
|
+
}
|
|
5509
|
+
export type DistributiveOmit<T, K extends keyof any> = T extends any ? Omit<T, K> : never;
|
|
5510
|
+
export type IBuilderFieldExport = DistributiveOmit<IBuilderField, '_temp_id'>;
|
|
5511
|
+
export interface IFormBuilderPayload {
|
|
5512
|
+
form: IFormBuilderMeta;
|
|
5513
|
+
fields: IBuilderFieldExport[];
|
|
5514
|
+
}
|
|
5515
|
+
|
|
5516
|
+
export interface IIconProps extends IStyleClasses {
|
|
5517
|
+
name: IconName | ElementType;
|
|
5518
|
+
/** Size token, or an explicit pixel number (both Icon impls resolve numbers). */
|
|
5519
|
+
size?: '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number;
|
|
5520
|
+
color?: string;
|
|
5521
|
+
strokeWidth?: number;
|
|
5522
|
+
}
|
|
5523
|
+
export type IconName = "a-arrow-down" | "a-arrow-up" | "a-large-small" | "accessibility" | "activity" | "address-book" | "air-vent" | "airplay" | "alarm-clock" | "alarm-clock-check" | "alarm-clock-minus" | "alarm-clock-off" | "alarm-clock-plus" | "alarm-smoke" | "album" | "align-center" | "align-center-horizontal" | "align-center-vertical" | "align-end-horizontal" | "align-end-vertical" | "align-horizontal-distribute-center" | "align-horizontal-distribute-end" | "align-horizontal-distribute-start" | "align-horizontal-justify-center" | "align-horizontal-justify-end" | "align-horizontal-justify-start" | "align-horizontal-space-around" | "align-horizontal-space-between" | "align-justify" | "align-left" | "align-right" | "align-start-horizontal" | "align-start-vertical" | "align-vertical-distribute-center" | "align-vertical-distribute-end" | "align-vertical-distribute-start" | "align-vertical-justify-center" | "align-vertical-justify-end" | "align-vertical-justify-start" | "align-vertical-space-around" | "align-vertical-space-between" | "amazon" | "ambulance" | "ampersand" | "ampersands" | "amphora" | "anchor" | "android" | "angle-double-down" | "angle-double-left" | "angle-double-right" | "angle-double-up" | "angle-down" | "angle-left" | "angle-right" | "angle-up" | "angry" | "annoyed" | "antenna" | "anvil" | "aperture" | "app-window" | "app-window-mac" | "apple" | "archive" | "archive-restore" | "archive-x" | "armchair" | "arrow-big-down" | "arrow-big-down-dash" | "arrow-big-left" | "arrow-big-left-dash" | "arrow-big-right" | "arrow-big-right-dash" | "arrow-big-up" | "arrow-big-up-dash" | "arrow-circle-down" | "arrow-circle-left" | "arrow-circle-right" | "arrow-circle-up" | "arrow-down" | "arrow-down-0-1" | "arrow-down-1-0" | "arrow-down-a-z" | "arrow-down-from-line" | "arrow-down-left" | "arrow-down-left-and-arrow-up-right-to-center" | "arrow-down-narrow-wide" | "arrow-down-right" | "arrow-down-to-dot" | "arrow-down-to-line" | "arrow-down-up" | "arrow-down-wide-narrow" | "arrow-down-z-a" | "arrow-left" | "arrow-left-from-line" | "arrow-left-right" | "arrow-left-to-line" | "arrow-right" | "arrow-right-arrow-left" | "arrow-right-from-line" | "arrow-right-left" | "arrow-right-to-line" | "arrow-up" | "arrow-up-0-1" | "arrow-up-1-0" | "arrow-up-a-z" | "arrow-up-down" | "arrow-up-from-dot" | "arrow-up-from-line" | "arrow-up-left" | "arrow-up-narrow-wide" | "arrow-up-right" | "arrow-up-right-and-arrow-down-left-from-center" | "arrow-up-to-line" | "arrow-up-wide-narrow" | "arrow-up-z-a" | "arrows-alt" | "arrows-h" | "arrows-up-from-line" | "arrows-v" | "asterisk" | "astroid" | "at" | "at-sign" | "atom" | "audio-lines" | "audio-waveform" | "award" | "axe" | "axis-3d" | "baby" | "backpack" | "backward" | "badge" | "badge-alert" | "badge-cent" | "badge-check" | "badge-dollar-sign" | "badge-euro" | "badge-indian-rupee" | "badge-info" | "badge-japanese-yen" | "badge-minus" | "badge-percent" | "badge-plus" | "badge-pound-sterling" | "badge-question-mark" | "badge-russian-ruble" | "badge-swiss-franc" | "badge-turkish-lira" | "badge-x" | "baggage-claim" | "balloon" | "ban" | "banana" | "bandage" | "banknote" | "banknote-arrow-down" | "banknote-arrow-up" | "banknote-x" | "barcode" | "barrel" | "bars" | "baseline" | "bath" | "battery" | "battery-charging" | "battery-full" | "battery-low" | "battery-medium" | "battery-plus" | "battery-warning" | "beaker" | "bean" | "bean-off" | "bed" | "bed-double" | "bed-single" | "beef" | "beef-off" | "beer" | "beer-off" | "bell" | "bell-check" | "bell-dot" | "bell-electric" | "bell-minus" | "bell-off" | "bell-plus" | "bell-ring" | "bell-slash" | "between-horizontal-end" | "between-horizontal-start" | "between-vertical-end" | "between-vertical-start" | "biceps-flexed" | "bike" | "binary" | "binoculars" | "biohazard" | "bird" | "birdhouse" | "bitcoin" | "blend" | "blender" | "blinds" | "blocks" | "bluetooth" | "bluetooth-connected" | "bluetooth-off" | "bluetooth-searching" | "bold" | "bolt" | "bomb" | "bone" | "book" | "book-a" | "book-alert" | "book-audio" | "book-check" | "book-copy" | "book-dashed" | "book-down" | "book-headphones" | "book-heart" | "book-image" | "book-key" | "book-lock" | "book-marked" | "book-minus" | "book-open" | "book-open-check" | "book-open-text" | "book-plus" | "book-search" | "book-text" | "book-type" | "book-up" | "book-up-2" | "book-user" | "book-x" | "bookmark" | "bookmark-check" | "bookmark-fill" | "bookmark-minus" | "bookmark-off" | "bookmark-plus" | "bookmark-x" | "boom-box" | "bot" | "bot-message-square" | "bot-off" | "bottle-wine" | "bow-arrow" | "box" | "boxes" | "braces" | "brackets" | "brain" | "brain-circuit" | "brain-cog" | "brick-wall" | "brick-wall-fire" | "brick-wall-shield" | "briefcase" | "briefcase-business" | "briefcase-conveyor-belt" | "briefcase-medical" | "bring-to-front" | "broccoli" | "brush" | "brush-cleaning" | "bubbles" | "bug" | "bug-off" | "bug-play" | "building" | "building-2" | "building-columns" | "bullseye" | "bus" | "bus-front" | "cable" | "cable-car" | "cake" | "cake-slice" | "calculator" | "calendar" | "calendar-1" | "calendar-arrow-down" | "calendar-arrow-up" | "calendar-check" | "calendar-check-2" | "calendar-clock" | "calendar-cog" | "calendar-days" | "calendar-fold" | "calendar-heart" | "calendar-minus" | "calendar-minus-2" | "calendar-off" | "calendar-plus" | "calendar-plus-2" | "calendar-range" | "calendar-search" | "calendar-sync" | "calendar-times" | "calendar-x" | "calendar-x-2" | "calendars" | "camera" | "camera-off" | "candy" | "candy-cane" | "candy-off" | "cannabis" | "cannabis-off" | "captions" | "captions-off" | "car" | "car-front" | "car-taxi-front" | "caravan" | "card-sim" | "caret-down" | "caret-left" | "caret-right" | "caret-up" | "carrot" | "cart-arrow-down" | "cart-minus" | "cart-plus" | "case-lower" | "case-sensitive" | "case-upper" | "cassette-tape" | "cast" | "castle" | "cat" | "cctv" | "cctv-off" | "chart-area" | "chart-bar" | "chart-bar-big" | "chart-bar-decreasing" | "chart-bar-increasing" | "chart-bar-stacked" | "chart-candlestick" | "chart-column" | "chart-column-big" | "chart-column-decreasing" | "chart-column-increasing" | "chart-column-stacked" | "chart-gantt" | "chart-line" | "chart-network" | "chart-no-axes-column" | "chart-no-axes-column-decreasing" | "chart-no-axes-column-increasing" | "chart-no-axes-combined" | "chart-no-axes-gantt" | "chart-pie" | "chart-scatter" | "chart-spline" | "check" | "check-check" | "check-circle" | "check-line" | "check-square" | "chef-hat" | "cherry" | "chess-bishop" | "chess-king" | "chess-knight" | "chess-pawn" | "chess-queen" | "chess-rook" | "chevron-circle-down" | "chevron-circle-left" | "chevron-circle-right" | "chevron-circle-up" | "chevron-down" | "chevron-first" | "chevron-last" | "chevron-left" | "chevron-right" | "chevron-up" | "chevrons-down" | "chevrons-down-up" | "chevrons-left" | "chevrons-left-right" | "chevrons-left-right-ellipsis" | "chevrons-right" | "chevrons-right-left" | "chevrons-up" | "chevrons-up-down" | "church" | "cigarette" | "cigarette-off" | "circle" | "circle-alert" | "circle-arrow-down" | "circle-arrow-left" | "circle-arrow-out-down-left" | "circle-arrow-out-down-right" | "circle-arrow-out-up-left" | "circle-arrow-out-up-right" | "circle-arrow-right" | "circle-arrow-up" | "circle-check" | "circle-check-big" | "circle-chevron-down" | "circle-chevron-left" | "circle-chevron-right" | "circle-chevron-up" | "circle-dashed" | "circle-divide" | "circle-dollar-sign" | "circle-dot" | "circle-dot-dashed" | "circle-ellipsis" | "circle-equal" | "circle-fading-arrow-up" | "circle-fading-plus" | "circle-fill" | "circle-gauge" | "circle-minus" | "circle-off" | "circle-parking" | "circle-parking-off" | "circle-pause" | "circle-percent" | "circle-pile" | "circle-play" | "circle-plus" | "circle-pound-sterling" | "circle-power" | "circle-question-mark" | "circle-slash" | "circle-slash-2" | "circle-small" | "circle-star" | "circle-stop" | "circle-user" | "circle-user-round" | "circle-x" | "circuit-board" | "citrus" | "clapperboard" | "clipboard" | "clipboard-check" | "clipboard-clock" | "clipboard-copy" | "clipboard-list" | "clipboard-minus" | "clipboard-paste" | "clipboard-pen" | "clipboard-pen-line" | "clipboard-plus" | "clipboard-type" | "clipboard-x" | "clock" | "clock-1" | "clock-10" | "clock-11" | "clock-12" | "clock-2" | "clock-3" | "clock-4" | "clock-5" | "clock-6" | "clock-7" | "clock-8" | "clock-9" | "clock-alert" | "clock-arrow-down" | "clock-arrow-up" | "clock-check" | "clock-fading" | "clock-plus" | "clone" | "closed-caption" | "cloud" | "cloud-alert" | "cloud-backup" | "cloud-check" | "cloud-cog" | "cloud-download" | "cloud-drizzle" | "cloud-fog" | "cloud-hail" | "cloud-lightning" | "cloud-moon" | "cloud-moon-rain" | "cloud-off" | "cloud-rain" | "cloud-rain-wind" | "cloud-snow" | "cloud-sun" | "cloud-sun-rain" | "cloud-sync" | "cloud-upload" | "cloudy" | "clover" | "club" | "code" | "code-xml" | "coffee" | "cog" | "coins" | "columns-2" | "columns-3" | "columns-3-cog" | "columns-4" | "combine" | "command" | "comment" | "comments" | "compass" | "component" | "computer" | "concierge-bell" | "cone" | "construction" | "contact" | "contact-round" | "container" | "contrast" | "cookie" | "cooking-pot" | "copy" | "copy-check" | "copy-minus" | "copy-plus" | "copy-slash" | "copy-x" | "copyleft" | "copyright" | "corner-down-left" | "corner-down-right" | "corner-left-down" | "corner-left-up" | "corner-right-down" | "corner-right-up" | "corner-up-left" | "corner-up-right" | "cpu" | "creative-commons" | "credit-card" | "croissant" | "crop" | "cross" | "crosshair" | "crown" | "cuboid" | "cup-soda" | "currency" | "cylinder" | "dam" | "database" | "database-backup" | "database-search" | "database-zap" | "decimals-arrow-left" | "decimals-arrow-right" | "delete" | "delete-left" | "desktop" | "dessert" | "diameter" | "diamond" | "diamond-minus" | "diamond-percent" | "diamond-plus" | "dice-1" | "dice-2" | "dice-3" | "dice-4" | "dice-5" | "dice-6" | "dices" | "diff" | "directions" | "directions-alt" | "disc" | "disc-2" | "disc-3" | "disc-album" | "discord" | "divide" | "dna" | "dna-off" | "dock" | "dog" | "dollar" | "dollar-sign" | "donut" | "door-closed" | "door-closed-locked" | "door-open" | "dot" | "download" | "drafting-compass" | "drama" | "drill" | "drone" | "droplet" | "droplet-off" | "droplets" | "drum" | "drumstick" | "dumbbell" | "ear" | "ear-off" | "earth" | "earth-lock" | "eclipse" | "egg" | "egg-fried" | "egg-off" | "eject" | "ellipse" | "ellipsis" | "ellipsis-h" | "ellipsis-v" | "ellipsis-vertical" | "envelope" | "equal" | "equal-approximately" | "equal-not" | "equals" | "eraser" | "ethereum" | "ethernet-port" | "euro" | "ev-charger" | "exclamation-circle" | "exclamation-triangle" | "expand" | "external-link" | "eye" | "eye-closed" | "eye-off" | "eye-slash" | "face-smile" | "facebook" | "factory" | "fan" | "fast-backward" | "fast-forward" | "feather" | "fence" | "ferris-wheel" | "file" | "file-archive" | "file-arrow-up" | "file-axis-3d" | "file-badge" | "file-box" | "file-braces" | "file-braces-corner" | "file-chart-column" | "file-chart-column-increasing" | "file-chart-line" | "file-chart-pie" | "file-check" | "file-check-corner" | "file-clock" | "file-code" | "file-code-corner" | "file-cog" | "file-diff" | "file-digit" | "file-down" | "file-edit" | "file-excel" | "file-exclamation-point" | "file-export" | "file-headphone" | "file-heart" | "file-image" | "file-import" | "file-input" | "file-key" | "file-lock" | "file-minus" | "file-minus-corner" | "file-music" | "file-output" | "file-pdf" | "file-pen" | "file-pen-line" | "file-play" | "file-plus" | "file-plus-corner" | "file-question-mark" | "file-scan" | "file-search" | "file-search-corner" | "file-signal" | "file-sliders" | "file-spreadsheet" | "file-stack" | "file-symlink" | "file-terminal" | "file-text" | "file-type" | "file-type-corner" | "file-up" | "file-user" | "file-video-camera" | "file-volume" | "file-word" | "file-x" | "file-x-corner" | "files" | "film" | "filter" | "filter-fill" | "filter-slash" | "fingerprint-pattern" | "fire-extinguisher" | "fish" | "fish-off" | "fish-symbol" | "fishing-hook" | "fishing-rod" | "flag" | "flag-fill" | "flag-off" | "flag-triangle-left" | "flag-triangle-right" | "flame" | "flame-kindling" | "flashlight" | "flashlight-off" | "flask-conical" | "flask-conical-off" | "flask-round" | "flip-horizontal-2" | "flip-vertical-2" | "flower" | "flower-2" | "focus" | "fold-horizontal" | "fold-vertical" | "folder" | "folder-archive" | "folder-bookmark" | "folder-check" | "folder-clock" | "folder-closed" | "folder-code" | "folder-cog" | "folder-dot" | "folder-down" | "folder-git" | "folder-git-2" | "folder-heart" | "folder-input" | "folder-kanban" | "folder-key" | "folder-lock" | "folder-minus" | "folder-open" | "folder-open-dot" | "folder-output" | "folder-pen" | "folder-plus" | "folder-root" | "folder-search" | "folder-search-2" | "folder-symlink" | "folder-sync" | "folder-tree" | "folder-up" | "folder-x" | "folders" | "footprints" | "forklift" | "form" | "forward" | "frame" | "frown" | "fuel" | "fullscreen" | "funnel" | "funnel-plus" | "funnel-x" | "gallery-horizontal" | "gallery-horizontal-end" | "gallery-thumbnails" | "gallery-vertical" | "gallery-vertical-end" | "gamepad" | "gamepad-2" | "gamepad-directional" | "gauge" | "gavel" | "gem" | "georgian-lari" | "ghost" | "gift" | "git-branch" | "git-branch-minus" | "git-branch-plus" | "git-commit-horizontal" | "git-commit-vertical" | "git-compare" | "git-compare-arrows" | "git-fork" | "git-graph" | "git-merge" | "git-merge-conflict" | "git-pull-request" | "git-pull-request-arrow" | "git-pull-request-closed" | "git-pull-request-create" | "git-pull-request-create-arrow" | "git-pull-request-draft" | "github" | "glass-water" | "glasses" | "globe" | "globe-check" | "globe-lock" | "globe-off" | "globe-x" | "goal" | "google" | "gpu" | "graduation-cap" | "grape" | "grid-2x2" | "grid-2x2-check" | "grid-2x2-plus" | "grid-2x2-x" | "grid-3x2" | "grid-3x3" | "grip" | "grip-horizontal" | "grip-vertical" | "group" | "guitar" | "ham" | "hamburger" | "hammer" | "hand" | "hand-coins" | "hand-fist" | "hand-grab" | "hand-heart" | "hand-helping" | "hand-metal" | "hand-platter" | "handbag" | "handshake" | "hard-drive" | "hard-drive-download" | "hard-drive-upload" | "hard-hat" | "hash" | "hashtag" | "hat-glasses" | "haze" | "hd" | "hdmi-port" | "heading" | "heading-1" | "heading-2" | "heading-3" | "heading-4" | "heading-5" | "heading-6" | "headphone-off" | "headphones" | "headset" | "heart" | "heart-crack" | "heart-fill" | "heart-handshake" | "heart-minus" | "heart-off" | "heart-plus" | "heart-pulse" | "heart-x" | "heater" | "helicopter" | "hexagon" | "highlighter" | "history" | "home" | "hop" | "hop-off" | "hospital" | "hotel" | "hourglass" | "house" | "house-heart" | "house-plug" | "house-plus" | "house-wifi" | "ice-cream-bowl" | "ice-cream-cone" | "id-card" | "id-card-lanyard" | "image" | "image-down" | "image-minus" | "image-off" | "image-play" | "image-plus" | "image-up" | "image-upscale" | "images" | "import" | "inbox" | "indian-rupee" | "infinity" | "info" | "info-circle" | "inspection-panel" | "instagram" | "italic" | "iteration-ccw" | "iteration-cw" | "japanese-yen" | "joystick" | "kanban" | "kayak" | "key" | "key-round" | "key-square" | "keyboard" | "keyboard-music" | "keyboard-off" | "lamp" | "lamp-ceiling" | "lamp-desk" | "lamp-floor" | "lamp-wall-down" | "lamp-wall-up" | "land-plot" | "landmark" | "language" | "languages" | "laptop" | "laptop-minimal" | "laptop-minimal-check" | "lasso" | "lasso-select" | "laugh" | "layers" | "layers-2" | "layers-minus" | "layers-plus" | "layout-dashboard" | "layout-grid" | "layout-list" | "layout-panel-left" | "layout-panel-top" | "layout-template" | "leaf" | "leafy-green" | "lectern" | "lens-concave" | "lens-convex" | "library" | "library-big" | "life-buoy" | "ligature" | "lightbulb" | "lightbulb-off" | "line-dot-right-horizontal" | "line-squiggle" | "line-style" | "link" | "link-2" | "link-2-off" | "linkedin" | "list" | "list-check" | "list-checks" | "list-chevrons-down-up" | "list-chevrons-up-down" | "list-collapse" | "list-end" | "list-filter" | "list-filter-plus" | "list-indent-decrease" | "list-indent-increase" | "list-minus" | "list-music" | "list-ordered" | "list-plus" | "list-restart" | "list-start" | "list-todo" | "list-tree" | "list-video" | "list-x" | "loader" | "loader-circle" | "loader-pinwheel" | "locate" | "locate-fixed" | "locate-off" | "lock" | "lock-keyhole" | "lock-keyhole-open" | "lock-open" | "log-in" | "log-out" | "logs" | "lollipop" | "luggage" | "magnet" | "mail" | "mail-check" | "mail-minus" | "mail-open" | "mail-plus" | "mail-question-mark" | "mail-search" | "mail-warning" | "mail-x" | "mailbox" | "mails" | "map" | "map-marker" | "map-minus" | "map-pin" | "map-pin-check" | "map-pin-check-inside" | "map-pin-house" | "map-pin-minus" | "map-pin-minus-inside" | "map-pin-off" | "map-pin-pen" | "map-pin-plus" | "map-pin-plus-inside" | "map-pin-search" | "map-pin-x" | "map-pin-x-inside" | "map-pinned" | "map-plus" | "mars" | "mars-stroke" | "martini" | "maximize" | "maximize-2" | "medal" | "megaphone" | "megaphone-off" | "meh" | "memory-stick" | "menu" | "merge" | "message-circle" | "message-circle-check" | "message-circle-code" | "message-circle-dashed" | "message-circle-heart" | "message-circle-more" | "message-circle-off" | "message-circle-plus" | "message-circle-question-mark" | "message-circle-reply" | "message-circle-warning" | "message-circle-x" | "message-square" | "message-square-check" | "message-square-code" | "message-square-dashed" | "message-square-diff" | "message-square-dot" | "message-square-heart" | "message-square-lock" | "message-square-more" | "message-square-off" | "message-square-plus" | "message-square-quote" | "message-square-reply" | "message-square-share" | "message-square-text" | "message-square-warning" | "message-square-x" | "messages-square" | "metronome" | "mic" | "mic-off" | "mic-vocal" | "microchip" | "microchip-ai" | "microphone" | "microscope" | "microsoft" | "microwave" | "milestone" | "milk" | "milk-off" | "minimize" | "minimize-2" | "minus" | "minus-circle" | "mirror-rectangular" | "mirror-round" | "mobile" | "money-bill" | "monitor" | "monitor-check" | "monitor-cloud" | "monitor-cog" | "monitor-dot" | "monitor-down" | "monitor-off" | "monitor-pause" | "monitor-play" | "monitor-smartphone" | "monitor-speaker" | "monitor-stop" | "monitor-up" | "monitor-x" | "moon" | "moon-star" | "motorbike" | "mountain" | "mountain-snow" | "mouse" | "mouse-left" | "mouse-off" | "mouse-pointer" | "mouse-pointer-2" | "mouse-pointer-2-off" | "mouse-pointer-ban" | "mouse-pointer-click" | "mouse-right" | "move" | "move-3d" | "move-diagonal" | "move-diagonal-2" | "move-down" | "move-down-left" | "move-down-right" | "move-horizontal" | "move-left" | "move-right" | "move-up" | "move-up-left" | "move-up-right" | "move-vertical" | "music" | "music-2" | "music-3" | "music-4" | "navigation" | "navigation-2" | "navigation-2-off" | "navigation-off" | "network" | "newspaper" | "nfc" | "non-binary" | "notebook" | "notebook-pen" | "notebook-tabs" | "notebook-text" | "notepad-text" | "notepad-text-dashed" | "nut" | "nut-off" | "objects-column" | "octagon" | "octagon-alert" | "octagon-minus" | "octagon-pause" | "octagon-x" | "omega" | "option" | "orbit" | "origami" | "package" | "package-2" | "package-check" | "package-minus" | "package-open" | "package-plus" | "package-search" | "package-x" | "paint-bucket" | "paint-roller" | "paintbrush" | "paintbrush-vertical" | "palette" | "panda" | "panel-bottom" | "panel-bottom-close" | "panel-bottom-dashed" | "panel-bottom-open" | "panel-left" | "panel-left-close" | "panel-left-dashed" | "panel-left-open" | "panel-left-right-dashed" | "panel-right" | "panel-right-close" | "panel-right-dashed" | "panel-right-open" | "panel-top" | "panel-top-bottom-dashed" | "panel-top-close" | "panel-top-dashed" | "panel-top-open" | "panels-left-bottom" | "panels-right-bottom" | "panels-top-left" | "paperclip" | "parasol" | "parentheses" | "parking-meter" | "party-popper" | "pause" | "pause-circle" | "paw-print" | "paypal" | "pc-case" | "pen" | "pen-line" | "pen-off" | "pen-to-square" | "pen-tool" | "pencil" | "pencil-line" | "pencil-off" | "pencil-ruler" | "pentagon" | "percent" | "percentage" | "person-standing" | "philippine-peso" | "phone" | "phone-call" | "phone-forwarded" | "phone-incoming" | "phone-missed" | "phone-off" | "phone-outgoing" | "pi" | "piano" | "pickaxe" | "picture-in-picture" | "picture-in-picture-2" | "piggy-bank" | "pilcrow" | "pilcrow-left" | "pilcrow-right" | "pill" | "pill-bottle" | "pin" | "pin-off" | "pinterest" | "pipette" | "pizza" | "plane" | "plane-landing" | "plane-takeoff" | "play" | "play-circle" | "play-off" | "plug" | "plug-2" | "plug-zap" | "plus" | "plus-circle" | "pocket-knife" | "podcast" | "pointer" | "pointer-off" | "popcorn" | "popsicle" | "pound" | "pound-sterling" | "power" | "power-off" | "presentation" | "prime" | "print" | "printer" | "printer-check" | "printer-x" | "projector" | "proportions" | "puzzle" | "pyramid" | "qr-code" | "qrcode" | "question" | "question-circle" | "quote" | "rabbit" | "radar" | "radiation" | "radical" | "radio" | "radio-off" | "radio-receiver" | "radio-tower" | "radius" | "rainbow" | "rat" | "ratio" | "receipt" | "receipt-cent" | "receipt-euro" | "receipt-indian-rupee" | "receipt-japanese-yen" | "receipt-pound-sterling" | "receipt-russian-ruble" | "receipt-swiss-franc" | "receipt-text" | "receipt-turkish-lira" | "rectangle-circle" | "rectangle-ellipsis" | "rectangle-goggles" | "rectangle-horizontal" | "rectangle-vertical" | "recycle" | "reddit" | "redo" | "redo-2" | "redo-dot" | "refresh" | "refresh-ccw" | "refresh-ccw-dot" | "refresh-cw" | "refresh-cw-off" | "refrigerator" | "regex" | "remove-formatting" | "repeat" | "repeat-1" | "repeat-2" | "repeat-off" | "replace" | "replace-all" | "replay" | "reply" | "reply-all" | "rewind" | "ribbon" | "road" | "rocket" | "rocking-chair" | "roller-coaster" | "rose" | "rotate-3d" | "rotate-ccw" | "rotate-ccw-key" | "rotate-ccw-square" | "rotate-cw" | "rotate-cw-square" | "route" | "route-off" | "router" | "rows-2" | "rows-3" | "rows-4" | "rss" | "ruler" | "ruler-dimension-line" | "russian-ruble" | "sailboat" | "salad" | "sandwich" | "satellite" | "satellite-dish" | "saudi-riyal" | "save" | "save-all" | "save-off" | "scale" | "scale-3d" | "scaling" | "scan" | "scan-barcode" | "scan-eye" | "scan-face" | "scan-heart" | "scan-line" | "scan-qr-code" | "scan-search" | "scan-text" | "school" | "scissors" | "scissors-line-dashed" | "scooter" | "screen-share" | "screen-share-off" | "scroll" | "scroll-text" | "search" | "search-alert" | "search-check" | "search-code" | "search-minus" | "search-plus" | "search-slash" | "search-x" | "section" | "send" | "send-horizontal" | "send-to-back" | "separator-horizontal" | "separator-vertical" | "server" | "server-cog" | "server-crash" | "server-off" | "settings" | "settings-2" | "shapes" | "share" | "share-2" | "share-alt" | "sheet" | "shell" | "shelving-unit" | "shield" | "shield-alert" | "shield-ban" | "shield-check" | "shield-cog" | "shield-cog-corner" | "shield-ellipsis" | "shield-half" | "shield-minus" | "shield-off" | "shield-plus" | "shield-question-mark" | "shield-user" | "shield-x" | "ship" | "ship-wheel" | "shirt" | "shop" | "shopping-bag" | "shopping-basket" | "shopping-cart" | "shovel" | "shower-head" | "shredder" | "shrimp" | "shrink" | "shrub" | "shuffle" | "sigma" | "sign-in" | "sign-out" | "signal" | "signal-high" | "signal-low" | "signal-medium" | "signal-zero" | "signature" | "signpost" | "signpost-big" | "siren" | "sitemap" | "skip-back" | "skip-forward" | "skull" | "slack" | "slash" | "slice" | "sliders-h" | "sliders-horizontal" | "sliders-v" | "sliders-vertical" | "smartphone" | "smartphone-charging" | "smartphone-nfc" | "smile" | "smile-plus" | "snail" | "snowflake" | "soap-dispenser-droplet" | "sofa" | "solar-panel" | "sort" | "sort-alpha-down" | "sort-alpha-down-alt" | "sort-alpha-up" | "sort-alpha-up-alt" | "sort-alt" | "sort-alt-slash" | "sort-amount-down" | "sort-amount-down-alt" | "sort-amount-up" | "sort-amount-up-alt" | "sort-down" | "sort-down-fill" | "sort-numeric-down" | "sort-numeric-down-alt" | "sort-numeric-up" | "sort-numeric-up-alt" | "sort-up" | "sort-up-fill" | "soup" | "space" | "spade" | "sparkle" | "sparkles" | "speaker" | "speech" | "spell-check" | "spell-check-2" | "spinner" | "spinner-dotted" | "spline" | "spline-pointer" | "split" | "spool" | "sport-shoe" | "spotlight" | "spray-can" | "sprout" | "square" | "square-activity" | "square-arrow-down" | "square-arrow-down-left" | "square-arrow-down-right" | "square-arrow-left" | "square-arrow-out-down-left" | "square-arrow-out-down-right" | "square-arrow-out-up-left" | "square-arrow-out-up-right" | "square-arrow-right" | "square-arrow-right-enter" | "square-arrow-right-exit" | "square-arrow-up" | "square-arrow-up-left" | "square-arrow-up-right" | "square-asterisk" | "square-bottom-dashed-scissors" | "square-centerline-dashed-horizontal" | "square-centerline-dashed-vertical" | "square-chart-gantt" | "square-check" | "square-check-big" | "square-chevron-down" | "square-chevron-left" | "square-chevron-right" | "square-chevron-up" | "square-code" | "square-dashed" | "square-dashed-bottom" | "square-dashed-bottom-code" | "square-dashed-kanban" | "square-dashed-mouse-pointer" | "square-dashed-text" | "square-dashed-top-solid" | "square-divide" | "square-dot" | "square-equal" | "square-function" | "square-kanban" | "square-library" | "square-m" | "square-menu" | "square-minus" | "square-mouse-pointer" | "square-parking" | "square-parking-off" | "square-pause" | "square-pen" | "square-percent" | "square-pi" | "square-pilcrow" | "square-play" | "square-plus" | "square-power" | "square-radical" | "square-round-corner" | "square-scissors" | "square-sigma" | "square-slash" | "square-split-horizontal" | "square-split-vertical" | "square-square" | "square-stack" | "square-star" | "square-stop" | "square-terminal" | "square-user" | "square-user-round" | "square-x" | "squares-exclude" | "squares-intersect" | "squares-subtract" | "squares-unite" | "squircle" | "squircle-dashed" | "squirrel" | "stamp" | "star" | "star-fill" | "star-half" | "star-half-fill" | "star-off" | "step-back" | "step-backward" | "step-backward-alt" | "step-forward" | "step-forward-alt" | "stethoscope" | "sticker" | "sticky-note" | "sticky-note-check" | "sticky-note-minus" | "sticky-note-off" | "sticky-note-plus" | "sticky-note-x" | "sticky-notes" | "stone" | "stop" | "stop-circle" | "stopwatch" | "store" | "stretch-horizontal" | "stretch-vertical" | "strikethrough" | "subscript" | "sun" | "sun-dim" | "sun-medium" | "sun-moon" | "sun-snow" | "sunrise" | "sunset" | "superscript" | "swatch-book" | "swiss-franc" | "switch-camera" | "sword" | "swords" | "sync" | "syringe" | "table" | "table-2" | "table-cells-merge" | "table-cells-split" | "table-columns-split" | "table-of-contents" | "table-properties" | "table-rows-split" | "tablet" | "tablet-smartphone" | "tablets" | "tag" | "tags" | "tally-1" | "tally-2" | "tally-3" | "tally-4" | "tally-5" | "tangent" | "target" | "telegram" | "telescope" | "tent" | "tent-tree" | "terminal" | "test-tube" | "test-tube-diagonal" | "test-tubes" | "text-align-center" | "text-align-end" | "text-align-justify" | "text-align-start" | "text-cursor" | "text-cursor-input" | "text-initial" | "text-quote" | "text-search" | "text-wrap" | "th-large" | "theater" | "thermometer" | "thermometer-snowflake" | "thermometer-sun" | "thumbs-down" | "thumbs-down-fill" | "thumbs-up" | "thumbs-up-fill" | "thumbtack" | "ticket" | "ticket-check" | "ticket-minus" | "ticket-percent" | "ticket-plus" | "ticket-slash" | "ticket-x" | "tickets" | "tickets-plane" | "tiktok" | "timeline" | "timer" | "timer-off" | "timer-reset" | "times" | "times-circle" | "toggle-left" | "toggle-right" | "toilet" | "tool-case" | "toolbox" | "tornado" | "torus" | "touchpad" | "touchpad-off" | "towel-rack" | "tower-control" | "toy-brick" | "tractor" | "traffic-cone" | "train-front" | "train-front-tunnel" | "train-track" | "tram-front" | "transgender" | "trash" | "trash-2" | "tree-deciduous" | "tree-palm" | "tree-pine" | "trees" | "trending-down" | "trending-up" | "trending-up-down" | "triangle" | "triangle-alert" | "triangle-dashed" | "triangle-right" | "trophy" | "truck" | "truck-electric" | "turkish-lira" | "turntable" | "turtle" | "tv" | "tv-minimal" | "tv-minimal-play" | "twitch" | "twitter" | "type" | "type-outline" | "umbrella" | "umbrella-off" | "underline" | "undo" | "undo-2" | "undo-dot" | "unfold-horizontal" | "unfold-vertical" | "ungroup" | "university" | "unlink" | "unlink-2" | "unlock" | "unplug" | "upload" | "usb" | "user" | "user-check" | "user-cog" | "user-edit" | "user-key" | "user-lock" | "user-minus" | "user-pen" | "user-plus" | "user-round" | "user-round-check" | "user-round-cog" | "user-round-key" | "user-round-minus" | "user-round-pen" | "user-round-plus" | "user-round-search" | "user-round-x" | "user-search" | "user-star" | "user-x" | "users" | "users-round" | "utensils" | "utensils-crossed" | "utility-pole" | "van" | "variable" | "vault" | "vector-square" | "vegan" | "venetian-mask" | "venus" | "venus-and-mars" | "verified" | "vibrate" | "vibrate-off" | "video" | "video-off" | "videotape" | "view" | "vimeo" | "voicemail" | "volleyball" | "volume" | "volume-1" | "volume-2" | "volume-down" | "volume-off" | "volume-up" | "volume-x" | "vote" | "wallet" | "wallet-cards" | "wallet-minimal" | "wallpaper" | "wand" | "wand-sparkles" | "warehouse" | "washing-machine" | "watch" | "wave-pulse" | "waves-arrow-down" | "waves-arrow-up" | "waves-horizontal" | "waves-ladder" | "waves-vertical" | "waypoints" | "webcam" | "webhook" | "webhook-off" | "weight" | "weight-tilde" | "whatsapp" | "wheat" | "wheat-off" | "whole-word" | "wifi" | "wifi-cog" | "wifi-high" | "wifi-low" | "wifi-off" | "wifi-pen" | "wifi-sync" | "wifi-zero" | "wind" | "wind-arrow-down" | "window-maximize" | "window-minimize" | "wine" | "wine-off" | "workflow" | "worm" | "wrench" | "x" | "x-line-top" | "zap" | "zap-off" | "zodiac-aquarius" | "zodiac-aries" | "zodiac-cancer" | "zodiac-capricorn" | "zodiac-gemini" | "zodiac-leo" | "zodiac-libra" | "zodiac-ophiuchus" | "zodiac-pisces" | "zodiac-sagittarius" | "zodiac-scorpio" | "zodiac-taurus" | "zodiac-virgo" | "zoom-in" | "zoom-out" | `pi pi-${string}`;
|
|
5524
|
+
|
|
5525
|
+
export interface IPaletteProps {
|
|
5526
|
+
onAdd: (type: TBuilderFieldType) => void;
|
|
5527
|
+
}
|
|
5528
|
+
export interface IPaletteItemProps {
|
|
5529
|
+
type: TBuilderFieldType;
|
|
5530
|
+
icon: IconName;
|
|
5531
|
+
label: string;
|
|
5532
|
+
onAdd: (type: TBuilderFieldType) => void;
|
|
5533
|
+
}
|
|
5534
|
+
export interface ICanvasProps {
|
|
5535
|
+
fields: IBuilderField[];
|
|
5536
|
+
selectedTempId: string | null;
|
|
5537
|
+
onAddField: (type: TBuilderFieldType) => void;
|
|
5538
|
+
onRemoveField: (tempId: string) => void;
|
|
5539
|
+
onReorder: (newTempIdOrder: string[]) => void;
|
|
5540
|
+
onSelectField: (tempId: string | null) => void;
|
|
5541
|
+
onAddChildField: (parentTempId: string, type: TBuilderFieldType) => void;
|
|
5542
|
+
onRemoveChildField: (parentTempId: string, childTempId: string) => void;
|
|
5543
|
+
onReorderChildren: (parentTempId: string, newTempIdOrder: string[]) => void;
|
|
5544
|
+
/** When non-null, a drag is currently in progress and originated from this source. */
|
|
5545
|
+
activeDragSource?: 'palette' | 'canvas' | null;
|
|
5546
|
+
/** When dragging from palette, the field type currently being dragged. */
|
|
5547
|
+
activeDragType?: TBuilderFieldType | null;
|
|
5548
|
+
}
|
|
5549
|
+
export interface IFieldCardProps {
|
|
5550
|
+
field: IBuilderField;
|
|
5551
|
+
isSelected: boolean;
|
|
5552
|
+
onSelect: () => void;
|
|
5553
|
+
onRemove: () => void;
|
|
5554
|
+
}
|
|
5555
|
+
export interface IFieldPreviewProps {
|
|
5556
|
+
field: IBuilderField;
|
|
5557
|
+
dynamicFlagLoader?: (flag: TDynamicFlag, params: Record<string, string> | null) => Promise<IOptionItem[]>;
|
|
5558
|
+
}
|
|
5559
|
+
export interface IContainerCardProps {
|
|
5560
|
+
field: IBuilderContainerField;
|
|
5561
|
+
isSelected: boolean;
|
|
5562
|
+
selectedTempId: string | null;
|
|
5563
|
+
onSelect: () => void;
|
|
5564
|
+
onSelectChild: (tempId: string | null) => void;
|
|
5565
|
+
onRemove: () => void;
|
|
5566
|
+
onAddChild: (type: TBuilderFieldType) => void;
|
|
5567
|
+
onRemoveChild: (childTempId: string) => void;
|
|
5568
|
+
onReorderChildren: (newTempIdOrder: string[]) => void;
|
|
5569
|
+
activeDragSource?: 'palette' | 'canvas' | null;
|
|
5570
|
+
activeDragType?: TBuilderFieldType | null;
|
|
5571
|
+
}
|
|
5572
|
+
export interface IGroupCardProps {
|
|
5573
|
+
field: IBuilderGroupField;
|
|
5574
|
+
isSelected: boolean;
|
|
5575
|
+
selectedTempId: string | null;
|
|
5576
|
+
onSelect: () => void;
|
|
5577
|
+
onSelectChild: (tempId: string | null) => void;
|
|
5578
|
+
onRemove: () => void;
|
|
5579
|
+
onAddChild: (type: TBuilderFieldType) => void;
|
|
5580
|
+
onRemoveChild: (childTempId: string) => void;
|
|
5581
|
+
onReorderChildren: (newTempIdOrder: string[]) => void;
|
|
5582
|
+
activeDragSource?: 'palette' | 'canvas' | null;
|
|
5583
|
+
activeDragType?: TBuilderFieldType | null;
|
|
5584
|
+
}
|
|
5585
|
+
export interface IPropertiesPanelProps {
|
|
5586
|
+
field: IBuilderField | null;
|
|
5587
|
+
localeKeys: string[];
|
|
5588
|
+
onUpdate: (updater: (field: IBuilderField) => IBuilderField) => void;
|
|
5589
|
+
allFields: IBuilderField[];
|
|
5590
|
+
/** See IFormBuilderProps.nameMode. Defaults to 'manual'. */
|
|
5591
|
+
nameMode?: 'manual' | 'auto';
|
|
5592
|
+
}
|
|
5593
|
+
export interface IBasicSectionProps {
|
|
5594
|
+
field: IBuilderField;
|
|
5595
|
+
allFields: IBuilderField[];
|
|
5596
|
+
localeKeys: string[];
|
|
5597
|
+
onUpdate: (updater: (field: IBuilderField) => IBuilderField) => void;
|
|
5598
|
+
/** See IFormBuilderProps.nameMode. Defaults to 'manual'. */
|
|
5599
|
+
nameMode?: 'manual' | 'auto';
|
|
5600
|
+
}
|
|
5601
|
+
export interface IValidationSectionProps {
|
|
5602
|
+
field: IBuilderField;
|
|
5603
|
+
localeKeys: string[];
|
|
5604
|
+
onUpdate: (updater: (field: IBuilderField) => IBuilderField) => void;
|
|
5605
|
+
}
|
|
5606
|
+
export interface IConditionsSectionProps {
|
|
5607
|
+
field: IBuilderField;
|
|
5608
|
+
allFields: IBuilderField[];
|
|
5609
|
+
localeKeys: string[];
|
|
5610
|
+
onUpdate: (updater: (field: IBuilderField) => IBuilderField) => void;
|
|
5611
|
+
}
|
|
5612
|
+
export interface ITranslatableInputProps {
|
|
5613
|
+
label: string;
|
|
5614
|
+
value: ITranslatableText | null;
|
|
5615
|
+
localeKeys: string[];
|
|
5616
|
+
onChange: (value: ITranslatableText) => void;
|
|
5617
|
+
placeholder?: string;
|
|
5618
|
+
helperText?: string;
|
|
5619
|
+
}
|
|
5620
|
+
export interface IOptionsEditorProps {
|
|
5621
|
+
value: IOptionsSource;
|
|
5622
|
+
localeKeys: string[];
|
|
5623
|
+
/**
|
|
5624
|
+
* For Checkbox / Radio fields, the parent's `mode`. When 'images', the editor
|
|
5625
|
+
* shows an image upload (PNG/JPG ≤ 100 KB, base64) per option in addition to
|
|
5626
|
+
* the standard label + value inputs. Undefined for non-Checkbox/Radio fields.
|
|
5627
|
+
*/
|
|
5628
|
+
mode?: 'labeled' | 'images';
|
|
5629
|
+
onChange: (value: IOptionsSource) => void;
|
|
5630
|
+
}
|
|
5631
|
+
export interface IConditionGroupProps {
|
|
5632
|
+
condition: IFieldCondition;
|
|
5633
|
+
conditionIndex: number;
|
|
5634
|
+
fieldOptions: {
|
|
5635
|
+
label: string;
|
|
5636
|
+
value: string;
|
|
5637
|
+
}[];
|
|
5638
|
+
localeKeys: string[];
|
|
5639
|
+
onChange: (next: IFieldCondition) => void;
|
|
5640
|
+
onRemove: () => void;
|
|
5641
|
+
}
|
|
5642
|
+
export interface IConditionRowProps {
|
|
5643
|
+
rule: IConditionRule;
|
|
5644
|
+
fieldOptions: {
|
|
5645
|
+
label: string;
|
|
5646
|
+
value: string;
|
|
5647
|
+
}[];
|
|
5648
|
+
onChange: (next: IConditionRule) => void;
|
|
5649
|
+
onRemove: () => void;
|
|
5650
|
+
}
|
|
5651
|
+
export interface IFormBuilderInternalState {
|
|
5652
|
+
fields: IBuilderField[];
|
|
5653
|
+
meta: IFormBuilderMeta;
|
|
5654
|
+
selectedTempId: string | null;
|
|
5655
|
+
isDirty: boolean;
|
|
5656
|
+
}
|
|
5657
|
+
/**
|
|
5658
|
+
* A render-callback element type used inside KitsConcerto Form to mount
|
|
5659
|
+
* non-Form children such as TranslatableInput and OptionsEditor.
|
|
5660
|
+
* Wraps the actual render in a Container-type IFormElement.
|
|
5661
|
+
*/
|
|
5662
|
+
export interface IPanelCustomSlot {
|
|
5663
|
+
id: string;
|
|
5664
|
+
render: () => ReactNode;
|
|
5665
|
+
colSpan?: number;
|
|
5666
|
+
}
|
|
5667
|
+
|
|
5668
|
+
export type IRadioCheckboxListItem<T = any> = {
|
|
5669
|
+
id?: string;
|
|
5670
|
+
label?: string;
|
|
5671
|
+
component?: ((args: {
|
|
5672
|
+
selected?: boolean;
|
|
5673
|
+
value?: T;
|
|
5674
|
+
isInvalid: boolean;
|
|
5675
|
+
}) => ReactElement) | ReactElement;
|
|
5676
|
+
/**
|
|
5677
|
+
* Identity value (kept in original type).
|
|
5678
|
+
* Internally stringified only when a provider requires it (e.g., Gluestack).
|
|
5679
|
+
*/
|
|
5680
|
+
value: T;
|
|
5681
|
+
withBulbs?: boolean;
|
|
5682
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl";
|
|
5683
|
+
labelPosition?: "left" | "right" | "top" | "bottom" | "default";
|
|
5684
|
+
/**
|
|
5685
|
+
* Back-compat shorthand for width. Equivalent to `style: { w }`.
|
|
5686
|
+
* If `style.width` is also set, `style.width` wins.
|
|
5687
|
+
*/
|
|
5688
|
+
w?: IStyleClasses["w"];
|
|
5689
|
+
/**
|
|
5690
|
+
* Full per-item style. String values are resolved through the
|
|
5691
|
+
* theme token resolver (e.g. `bg: 'primary'`, `borderColor: 'gray.300'`,
|
|
5692
|
+
* `p: 4`). Merged on top of `theme.components.{Radio|Checkbox}.item.style`.
|
|
5693
|
+
*/
|
|
5694
|
+
style?: IStyleClasses;
|
|
5695
|
+
/** Style merged on top of `style` when this item is selected. */
|
|
5696
|
+
styleSelected?: IStyleClasses;
|
|
5697
|
+
/** Style merged on top of `style` when this item is disabled. */
|
|
5698
|
+
styleDisabled?: IStyleClasses;
|
|
5699
|
+
/** Style merged on top of `style` when this item is invalid. */
|
|
5700
|
+
styleInvalid?: IStyleClasses;
|
|
5701
|
+
/**
|
|
5702
|
+
* Optional per-item control (list mode).
|
|
5703
|
+
* - checked: controlled
|
|
5704
|
+
* - defaultChecked: uncontrolled initial
|
|
5705
|
+
*/
|
|
5706
|
+
checked?: boolean;
|
|
5707
|
+
defaultChecked?: boolean;
|
|
5708
|
+
};
|
|
5709
|
+
|
|
5710
|
+
export interface IKitsContainer extends IFormSingleElement, Omit<ElementProps, "onChange" | "onBlur" | "onFocus" | "value" | "defaultValue" | "ref" | "style" | "label" | "color">, IStyleClasses {
|
|
5711
|
+
children?: ReactNode;
|
|
5712
|
+
containerStyle?: IStyleClasses;
|
|
5713
|
+
additionalClassName?: string;
|
|
5714
|
+
/** Per-element styles (IStyleClasses) passed from the parent form input component */
|
|
5715
|
+
elementStyles?: Record<string, Record<string, any>>;
|
|
5716
|
+
/**
|
|
5717
|
+
* Per-element extra attributes (`className`, `data-*`, …) passed from the
|
|
5718
|
+
* parent form input component — `useComponentDefaults().elementProps`.
|
|
5719
|
+
*
|
|
5720
|
+
* ⛔ WITHOUT THIS, `slots.container.props` AND `slots.inputGroup.props`
|
|
5721
|
+
* WENT NOWHERE. KitsContainer owns both of those elements, so a class a
|
|
5722
|
+
* consumer put on either slot had no route to the DOM: the container only
|
|
5723
|
+
* ever received `elementStyles`. Optional, so a form input that does not
|
|
5724
|
+
* pass it behaves exactly as before.
|
|
5725
|
+
*/
|
|
5726
|
+
elementProps?: Record<string, Record<string, any>>;
|
|
5727
|
+
/**
|
|
5728
|
+
* When true, strips the input-group chrome (border, border-radius, overflow, focus ring).
|
|
5729
|
+
* Used by Switch, Checkbox, and Radio which render their own visual controls
|
|
5730
|
+
* and don't need the standard bordered input container.
|
|
5731
|
+
*/
|
|
5732
|
+
bare?: boolean;
|
|
5733
|
+
}
|
|
5734
|
+
|
|
5735
|
+
export interface IEditableProps {
|
|
5736
|
+
defaultValue?: string;
|
|
5737
|
+
value?: string;
|
|
5738
|
+
onChange?: (value: string) => void;
|
|
5739
|
+
onSubmit?: (value: string) => void;
|
|
5740
|
+
activationMode?: "click" | "dblclick";
|
|
5741
|
+
disabled?: boolean;
|
|
5742
|
+
type?: "input" | "textarea";
|
|
5743
|
+
previewProps?: Record<string, any>;
|
|
5744
|
+
inputProps?: Record<string, any>;
|
|
5745
|
+
textareaProps?: Record<string, any>;
|
|
5746
|
+
controls?: (helpers: {
|
|
5747
|
+
submit(): void;
|
|
5748
|
+
cancel(): void;
|
|
5749
|
+
}) => ReactNode;
|
|
5750
|
+
}
|
|
5751
|
+
|
|
5752
|
+
export interface IKitsInputNumber extends IFormSingleElement {
|
|
5753
|
+
value?: number | null;
|
|
5754
|
+
locale?: string;
|
|
5755
|
+
useGrouping?: boolean;
|
|
5756
|
+
minFractionDigits?: number;
|
|
5757
|
+
maxFractionDigits?: number;
|
|
5758
|
+
mode?: "decimal" | "currency";
|
|
5759
|
+
currency?: string;
|
|
5760
|
+
prefix?: string;
|
|
5761
|
+
suffix?: string;
|
|
5762
|
+
min?: number;
|
|
5763
|
+
max?: number;
|
|
5764
|
+
/**
|
|
5765
|
+
* PrimeReact-style key filter. Restricts typed characters at the keystroke
|
|
5766
|
+
* level. When omitted, only blur-time number parsing runs.
|
|
5767
|
+
*/
|
|
5768
|
+
keyFilter?: EKeyFilter | RegExp;
|
|
5769
|
+
localProps?: Record<string, any>;
|
|
5770
|
+
onChange?: (event: {
|
|
5771
|
+
value: number | null;
|
|
5772
|
+
}) => void;
|
|
5773
|
+
ref?: Ref<any>;
|
|
5774
|
+
}
|
|
5775
|
+
|
|
5776
|
+
export interface IGlobalEvents {
|
|
5777
|
+
onClick?: (event: GestureResponderEvent) => void;
|
|
5778
|
+
onDoubleClick?: any;
|
|
5779
|
+
onMouseDown?: (event: GestureResponderEvent) => void;
|
|
5780
|
+
onMouseUp?: (event: GestureResponderEvent) => void;
|
|
5781
|
+
onMouseEnter?: any;
|
|
5782
|
+
onMouseLeave?: any;
|
|
5783
|
+
onMouseMove?: any;
|
|
5784
|
+
onKeyDown?: any;
|
|
5785
|
+
onKeyUp?: any;
|
|
5786
|
+
onKeyPress?: (event: NativeSyntheticEvent<TextInputKeyPressEventData>) => void;
|
|
5787
|
+
onFocus?: (event: NativeSyntheticEvent<TargetedEvent>) => void;
|
|
5788
|
+
onBlur?: (event: NativeSyntheticEvent<TargetedEvent>) => void;
|
|
5789
|
+
onTouchStart?: (event: GestureResponderEvent) => void;
|
|
5790
|
+
onTouchMove?: (event: GestureResponderEvent) => void;
|
|
5791
|
+
onTouchEnd?: (event: GestureResponderEvent) => void;
|
|
5792
|
+
onTouchCancel?: (event: GestureResponderEvent) => void;
|
|
5793
|
+
onScroll?: (event: NativeSyntheticEvent<NativeScrollEvent>) => void;
|
|
5794
|
+
}
|
|
5795
|
+
|
|
5796
|
+
export interface IKitsInputTextBase extends Omit<IFormSingleElement, 'onFocus'>, IGlobalEvents {
|
|
5797
|
+
value?: string;
|
|
5798
|
+
placeholder?: string;
|
|
5799
|
+
autoFocus?: boolean;
|
|
5800
|
+
isChecked?: boolean;
|
|
5801
|
+
hidden?: boolean;
|
|
5802
|
+
onSubmitEditing?: () => void;
|
|
5803
|
+
containerStyle?: IStyleClasses;
|
|
5804
|
+
keyFilter?: EKeyFilter | RegExp;
|
|
5805
|
+
/**
|
|
5806
|
+
* Maximum number of characters allowed. On native, enforced live by the
|
|
5807
|
+
* underlying RN TextInput. On web, forwarded to the underlying input.
|
|
5808
|
+
*/
|
|
5809
|
+
maxLength?: number;
|
|
5810
|
+
/**
|
|
5811
|
+
* Minimum number of characters required. Submit-time only — RN TextInput
|
|
5812
|
+
* has no native minLength prop, so this is enforced by the form schema.
|
|
5813
|
+
*/
|
|
5814
|
+
minLength?: number;
|
|
5815
|
+
/**
|
|
5816
|
+
* Controls the keyboard type displayed on mobile devices.
|
|
5817
|
+
* No effect on web — native-only prop.
|
|
5818
|
+
* @platform native
|
|
5819
|
+
*/
|
|
5820
|
+
keyboardType?: 'default' | 'numeric' | 'email-address' | 'phone-pad' | 'decimal-pad' | 'url' | 'number-pad' | 'visible-password' | 'ascii-capable' | 'numbers-and-punctuation' | 'name-phone-pad' | 'twitter' | 'web-search';
|
|
5821
|
+
className?: string;
|
|
5822
|
+
/** platform-specific escape hatch */
|
|
5823
|
+
localProps?: unknown;
|
|
5824
|
+
style?: any;
|
|
5825
|
+
ref?: Ref<any>;
|
|
5826
|
+
}
|
|
5827
|
+
|
|
5828
|
+
export interface IKitsInputMask extends IKitsInputTextBase {
|
|
5829
|
+
/** Same API — custom implementation */
|
|
5830
|
+
mask?: string;
|
|
5831
|
+
unmask?: boolean;
|
|
5832
|
+
}
|
|
5833
|
+
|
|
5834
|
+
/**
|
|
5835
|
+
* Native-only extension
|
|
5836
|
+
* keyFilter will be implemented manually
|
|
5837
|
+
*/
|
|
5838
|
+
export interface IKitsInputText extends IKitsInputTextBase {
|
|
5839
|
+
localProps?: {
|
|
5840
|
+
keyboardType?: "default" | "numeric" | "email-address";
|
|
5841
|
+
secureTextEntry?: boolean;
|
|
5842
|
+
} | any;
|
|
5843
|
+
/** Override the ID used for keyboard navigation registration (used by PhoneInput). */
|
|
5844
|
+
keyboardNavId?: string;
|
|
5845
|
+
}
|
|
5846
|
+
|
|
5847
|
+
export interface IKitsInputTextareaBase extends Omit<IFormSingleElement, 'onFocus'>, IGlobalEvents {
|
|
5848
|
+
value?: string;
|
|
5849
|
+
rows?: number;
|
|
5850
|
+
cols?: number;
|
|
5851
|
+
autoResize?: boolean;
|
|
5852
|
+
/**
|
|
5853
|
+
* Maximum number of characters allowed. On native, enforced live by the
|
|
5854
|
+
* underlying RN TextInput. On web, forwarded to the underlying textarea.
|
|
5855
|
+
*/
|
|
5856
|
+
maxLength?: number;
|
|
5857
|
+
/**
|
|
5858
|
+
* Minimum number of characters required. Submit-time only — RN has no
|
|
5859
|
+
* native minLength prop, so this is enforced by the form schema.
|
|
5860
|
+
*/
|
|
5861
|
+
minLength?: number;
|
|
5862
|
+
hidden?: boolean;
|
|
5863
|
+
isChecked?: boolean;
|
|
5864
|
+
autoFocus?: boolean;
|
|
5865
|
+
onSubmitEditing?: () => void;
|
|
5866
|
+
containerStyle?: IStyleClasses;
|
|
5867
|
+
keyFilter?: EKeyFilter | RegExp;
|
|
5868
|
+
localProps?: unknown;
|
|
5869
|
+
ref?: Ref<any>;
|
|
5870
|
+
}
|
|
5871
|
+
|
|
5872
|
+
export interface IKitsInputTextarea extends IKitsInputTextareaBase {
|
|
5873
|
+
localProps?: {
|
|
5874
|
+
multiline?: boolean;
|
|
5875
|
+
numberOfLines?: number;
|
|
5876
|
+
};
|
|
5877
|
+
keyboardNavId?: string;
|
|
5878
|
+
}
|
|
5879
|
+
|
|
5880
|
+
export interface IKitsInputSwitch extends Omit<IFormSingleElement, 'onChange'> {
|
|
5881
|
+
/** Controlled value for the switch (true/false) */
|
|
5882
|
+
value?: boolean;
|
|
5883
|
+
/** Primereact-like onChange handler */
|
|
5884
|
+
onChange?: (e: {
|
|
5885
|
+
target: {
|
|
5886
|
+
value: boolean;
|
|
5887
|
+
};
|
|
5888
|
+
value?: boolean;
|
|
5889
|
+
}) => void;
|
|
5890
|
+
/** Pre-checked state for uncontrolled usage */
|
|
5891
|
+
checked?: boolean;
|
|
5892
|
+
/** Render as 'switch' (default) or 'checkbox' with inline label */
|
|
5893
|
+
displayAs?: 'switch' | 'checkbox';
|
|
5894
|
+
/** Layout direction: 'column' (label above, default) or 'row' (label + switch inline, space-between) */
|
|
5895
|
+
direction?: 'row' | 'column';
|
|
5896
|
+
/** For passing any extra props to underlying libs */
|
|
5897
|
+
localProps?: any;
|
|
5898
|
+
/** Ref forwarding */
|
|
5899
|
+
ref?: Ref<any>;
|
|
5900
|
+
}
|
|
5901
|
+
|
|
5902
|
+
export interface IKitsInputPassword extends Omit<IFormSingleElement, 'onChange'> {
|
|
5903
|
+
value?: string;
|
|
5904
|
+
defaultValue?: string;
|
|
5905
|
+
onChange?: (e: {
|
|
5906
|
+
target: {
|
|
5907
|
+
value: string;
|
|
5908
|
+
};
|
|
5909
|
+
value?: string;
|
|
5910
|
+
}) => void;
|
|
5911
|
+
promptLabel?: string;
|
|
5912
|
+
weakLabel?: string;
|
|
5913
|
+
mediumLabel?: string;
|
|
5914
|
+
strongLabel?: string;
|
|
5915
|
+
header?: ReactElement;
|
|
5916
|
+
footer?: ReactElement;
|
|
5917
|
+
feedback?: boolean;
|
|
5918
|
+
toggleEye?: boolean;
|
|
5919
|
+
showStrengthProgress?: boolean;
|
|
5920
|
+
localProps?: any;
|
|
5921
|
+
schema?: Yup.Schema | Yup.AnySchema;
|
|
5922
|
+
ref?: Ref<any>;
|
|
5923
|
+
/** Custom icon shown when password is hidden (native only; web uses PrimeReact's built-in icon) */
|
|
5924
|
+
eyeIcon?: ReactNode;
|
|
5925
|
+
/** Custom icon shown when password is visible (native only; web uses PrimeReact's built-in icon) */
|
|
5926
|
+
eyeSlashIcon?: ReactNode;
|
|
5927
|
+
}
|
|
5928
|
+
|
|
5929
|
+
export interface IKitsInputCalendar<T = any> extends IFormSingleElement {
|
|
5930
|
+
value?: Date | Date[] | null;
|
|
5931
|
+
defaultValue?: Date | Date[] | null;
|
|
5932
|
+
onChange?: (val: Date | Date[] | null) => void;
|
|
5933
|
+
placeholder?: string;
|
|
5934
|
+
localProps?: Omit<T, 'value' | 'onChange'> | {
|
|
5935
|
+
dateFormat?: string;
|
|
5936
|
+
placeholder?: string;
|
|
5937
|
+
selectionMode?: "range" | "single";
|
|
5938
|
+
view?: "date";
|
|
5939
|
+
numberOfMonths?: number;
|
|
5940
|
+
};
|
|
5941
|
+
}
|
|
5942
|
+
|
|
5860
5943
|
export type ICascadeSelect = ICascadeSelectCore<ViewStyle, any>;
|
|
5861
5944
|
export type IDropdownSelect = IDropdownCore<ViewStyle, any>;
|
|
5862
5945
|
export type IMultiSelect = IMultiSelectCore<ViewStyle, any>;
|
|
@@ -15773,4 +15856,4 @@ declare const localeFiles: {
|
|
|
15773
15856
|
};
|
|
15774
15857
|
|
|
15775
15858
|
export { ALPHA_COLOR_VARS, ALPHA_STEPS, ALPHA_TOKEN_NAMES, AccentEdge, CustomAccordion as Accordion, ActionCard, Alert, AlertDescription, AlertIcon, AlertTitle, KitsAnimatePresence as AnimatePresence, AnyFile, Avatar, AvatarStack, Badge, Banner, BottomTabBar, Box, BreadCrumb, BreadcrumbProvider, Button, Card, Carousel, Center, ChatBubble, Chip, CircularProgress, Collapse, CommandPalette, Container, CustomPopover, DEFAULT_NATIVE_SHADOWS, DataView, DataViewContext, DateSeparator, Delta, DetailList as DetailsList, Divider, Donut, DotGrid, EDateFormat, EKeyFilter, Editable, EmptyState, FIELD_LABEL_MARGIN, FIELD_MARGIN, Flex, Form, FormSelect, GUTTER, Gallery, Gauge, Form as GoForm, Datatable as GoTable, KitsGrid as Grid, KitsGridItem as GridItem, GroupedBars, HELPER_TEXT_MARGIN, HStack, Heading, Icon, IconMap, Image, ImageCropper, KitsInputSwitch as InputSwitch, KeyboardNavContext, KitsAutoComplete, KitsBarChart, KitsCascadeSelect, KitsCheckbox as KitsCheckboxes, KitsConfirm, KitsConfirmPopup, KitsContainer, KitsInputCalendar as KitsDatepicker, KitsDialogControlled as KitsDialog, KitsDropdown, FilePicker as KitsFilePicker, KitsInputColorPicker, KitsInputLocation, KitsInputMask, KitsInputNumber, KitsInputPassword, KitsInputText, KitsInputTextarea, KitsLineChart, KitsListBox, KitsMultiSelect, KitsPhoneComponent, KitsRadar, KitsRadio as KitsRadios, RadiusPicker as KitsRadiusPicker, KitsSliders, KitsThemeProvider, KitsToast, KitsTreeSelect, Label, Legend, Link, List, ListItem, Loader, LocaleContext, LocaleContextProvider, MainContext, MainContextProvider, MapTile, MessageComposer, MessageReceipt, MetricCard, KitsMultiSelect as MultiSelect, PermissionsProvider, PersonCard, ProgressBar, RadiusPicker, RankedList, ReducedMotionProvider, Rise, SEMANTIC_TOKEN_NAMES, SHADOW_PRESET_KEYS, SPACER, KitsScrollView as ScrollView, SegmentedControl, FormSelect as Select, SelectButton, Skeleton$1 as Skeleton, SkeletonRows, Skeleton as SkeletonText, Sparkline, StackedBars, StatCard, StatGroup, StatePill, StatusCard, Stepper, Striped, Svg, TableContext, Tabs, Text, ThemeContextProvider, Timeline, Tip, Tooltip, Translate, KitsTreeSelect as TreeSelect, TreeView, TriStateCheckbox, TypingIndicator, VStack, Wash, WidgetPanel, borderProperties, breakpoints, capitalizeFirstLetter, checkExtAgainstAccepted, checkNameDuplication, colorWithAlpha, dateTimeFormat, deepMerge, defaultSeverityTheme, defaultTheme, downloadCanvas, dynamicList, expandShadowNative, extendTheme, fileTypeIcon, fileValidation, filesExt, filesMemes, filesTypes, flattenSlotStyles, fontSizeMapping, formFileValidation, formatNumber, getActiveNativeShadows, getCombinedChildIds, getCustomDateTime, getDateElements, getDefaultValues, getMeme, getParams, getPropertyByPath, getType, getTypes, getURLParams, hasCropEncoder, imagesExt, imagesMemes, imagesTypes, isAlphaToken, isNumber, isSemanticToken, isShadowPreset, isThemeToken, isToday, isValidURL, kitsMotion, listingProperties, localeFiles, allProperties as mapCssProperties, mergeRefs, nonPxProperties, propertiesWithoutCssEquivalent, pxProperties, resolveStyleRecord, resolveTokenValue, schemaBuilder, setActiveNativeShadows, setCropEncoder, shadowNative, shadowWeb, sizeMapping, sizingProperties, timeAgo, timeSince, toMemes, useAllSeverityColors, useBreadcrumb, useBreadcrumbTrail, useComponentDefaults, useCountUp, useDataView, useDialog, useDisclosure, useEnter, useFieldLogic, useFocusStyles, useFormFieldKeyboardNav, useFormManager, useKeyboardNav, useKeyboardNavProvider, useKitsColorScheme, useKitsConcerto, useKitsTheme, useLanguage, useMeasuredWidth, useNativeColorMap, usePermissions, usePopup, useReducedMotion, useResolvedElementStyles, useResolvedStyle, useRtlLineHeight, useScrollState, useSelectionController, useSeverityColors, useTable, useTheme, useThemedFont, useToast };
|
|
15776
|
-
export type { AlignmentsValues, AllSlotKeys, AnimationsValues, AvatarShape, AvatarSize, AvatarStatus, BannerAction, BannerStatus, BaseFieldProps, Booleanish, Breakpoint, CallbackProps, ChatBubbleTone, ChatBubbleVariant, ChipSeverity, ChipSize, ColorMode, ColorScale, ColorValue, Colors, ColorsType, ComponentSize, CropAspect, CropErrorReason, CropHandle, CropMaskShape, CropOutputFormat, CropRotation, CustomSubmitButtonProps, DataTableFilterMeta, DataTableFilterMetaData, DataTableOperatorFilterMetaData, DataTableSelectionSingleChangeEvent, DataTableSortMeta, DeepPartial, DetailItemInputType, DynamicValue, ElementProps, EnteringAnimation, ExitingAnimation, ExpandedKeys, FetchError, FetchSuccess, FetchTableDataRes, FetchTablePaginationData, FieldWrapperProps, File$1 as File, FileUploaderTemplate, FileUploaderTemplateParams, FlexAlignmentsValues, FlexValues, FormBooleanEvent, FormBooleanTarget, FormEvent, FormTarget, GroupFieldConfigs, HighSizingValue, IAccentEdgeProps, IAccordionElementSlots, IAccordionProps, IActionCardProps, IAddressComponentValue, IAddressExperianFormat, IAddressFormat, IAddressFormatResults, IAddressSearchResults, IAlertComponent, IAlertProps, IAlignment, IAnimation, IAutoCompleteCore, IAutoCompleteElement, IAvatarElementSlots, IAvatarProps, IAvatarStackElementSlots, IAvatarStackProps, IBadgeProps, IBannerProps, IBarChartProps, IBaseValidation, IBasicSectionProps, IBg, IBodyTemplate, IBodyTemplateIcon, IBorder, IBottomTabBarElementSlots, IBottomTabBarProps, IBoxComponent, IBreadcrumbCrumb, IBreadcrumbProps, IBuilderAddressField, IBuilderCheckboxField, IBuilderContainerField, IBuilderDateField, IBuilderField, IBuilderFieldBase, IBuilderFieldExport, IBuilderFileField, IBuilderGroupField, IBuilderMultiselectField, IBuilderNumberField, IBuilderPhoneField, IBuilderRadiosField, IBuilderRadiusPickerField, IBuilderSectionField, IBuilderSelectField, IBuilderSwitchField, IBuilderTagsField, IBuilderTextField, IBuilderTextareaField, IButton, IButtonElementSlots, IButtonParams, IButtonProps, IButtonState, IButtonsFilter, ICanvasProps, ICardComponent, ICardElementSlots, ICarouselElementSlots, ICarouselProps, ICascadeSelect, ICascadeSelectCore, IChatBubbleElementSlots, IChatBubbleProps, ICheckbox, ICheckboxFilter, ICheckboxSlots, IChildren, IChildrenParams, IChipInputSlots, IChipProps, ICircularProgressProps, ICollapseProps, IColorPicker, IColumn, IColumnBase, ICombined, ICommandPaletteGroup, ICommandPaletteItem, ICommandPaletteProps, IComponentThemeConfig, IConditionGroupProps, IConditionRowProps, IConditionRule, IConditionsSectionProps, IConfirmDialogProps, IConfirmPopupProps, IContainer, IContainerCardProps, IContainerProps, IContextValues, ICountrySearchResults, ICropEncoder, ICropError, ICropFrame, ICropOutput, ICropPoint, ICropRect, ICropResizeOptions, ICropResult, ICropSize, ICropTransform, ICssStyling, IDVButtonsFilter, IDVCheckboxFilter, IDVDateFilter, IDVDropdownFilter, IDVFilters, IDVMessages, IDVMultiselectFilter, IDVNumberFilter, IDVPaginationRequest, IDVPaginationResponse, IDVPaginationState, IDVPhoneFilter, IDVRangeFilter, IDVTextFilter, IDVTriStateFilter, IDataTableContextValues, IDataTableProps, IDataViewContextValues, IDataViewProps, IDataViewRefValues, IDatatableRefValues, IDate, IDateFilter, IDateProps, IDateSeparatorElementSlots, IDateSeparatorProps, IDateValidation, IDatepickerSlots, IDeltaProps, IDetailItem, IDetailListProps, IDialogButton, IDialogProps, IDialogRef, IDialogState, IDisplay, IDividerComponent, IDonutProps, IDonutSegment, IDotGridProps, IDoughnutChartProps, IDropdownCore, IDropdownFilter, IDropdownSelect, IEditableProps, IEditors, IEffects, IElementBase, IElementSlotConfig, IElementStyle, IEmail, IEmailSearchResults, IEmptyStateElementSlots, IEmptyStateProps, IFieldCardProps, IFieldCondition, IFieldPreviewProps, IFile, IFileUploader, IFileUploaderElement, IFileUploaderTypes, IFileValidation, IFilesExtTypeKeys, IFilters, IFlexAlignment, IFlexComponent, IFormAddon, IFormBuilderInternalState, IFormBuilderMeta, IFormBuilderPayload, IFormBuilderProps, IFormComponent, IFormElement, IFormElementBaseSlots, IFormElementSlots, IFormGrid, IFormListsElements, IFormSelect, IFormSelectElements, IFormSingleElement, IGalleryElementSlots, IGalleryItem, IGalleryProps, IGaugeProps, IGrid, IGridCellStyle, IGridComponent, IGridItem, IGridItemComponent, IGroup, IGroupCardProps, IGroupElementSlots, IGroupSettings, IGroupedBarsDatum, IGroupedBarsProps, IHeaderElementSlots, IHeadingComponent, IIconProps, IImageComponent, IImageCropperHandle, IImageCropperProps, IImageCropperSlots, IImagesExtTypeKeys, IInteractivity, IKeyedColumn, IKitsAnimation, IKitsBarChartDatum, IKitsBarChartProps, IKitsCheckboxProps, IKitsComponentDefaults, IKitsContainer, IKitsDialogControlled, IKitsInputCalendar, IKitsInputColorPicker, IKitsInputLocation, IKitsInputMask, IKitsInputNumber, IKitsInputPassword, IKitsInputRating, IKitsInputSwitch, IKitsInputText, IKitsInputTextarea, IKitsLineChartProps, IKitsLineChartSeries, IKitsPhoneInput, IKitsRadioProps, IKitsTheme, IKitsThemeColors, IKitsThemeConfig, IKitsThemeContextValues, IKitsThemeFontSizes, IKitsThemeFontWeights, IKitsThemeFonts, IKitsThemeLineHeights, IKitsThemeRadii, IKitsThemeShadows, IKitsThemeSpacing, IKitsToastRef, ILabelElement, ILabelProps, ILanguage, ILayout, ILegendItem, ILegendProps, ILineChartProps, ILinkComponent, ILinkOverrides, IList, IListBoxCore, IListBoxElement, IListBoxSelect, IListItem, IListing, ILoaderProps, ILoadingIndicatorContext, ILocaleContextProps, ILocaleContextValues, ILocation, ILocationDetailsResponse, ILocationResponse, IMainContextProps, IMainContextValues, IMapTilePoint, IMapTileProps, IMemes, IMenuItem, IMessageComposerElementSlots, IMessageComposerProps, IMessageReceiptElementSlots, IMessageReceiptProps, IMessages, IMetricCardProps, IMinusButton, IModalComponent, IModalFormProps, IMultiSelect, IMultiSelectCore, IMultiSelectSlots, IMultiselect, IMultiselectFilter, INativeShadow, INonCrossPlatformTypes, INumberFilter, INumberInput, INumberProps, INumberValidation, IObjectGroup, IOneOfTypes, IOptionItem, IOptionsEditorProps, IOptionsSource, IPageISection, IPaginationRequest, IPaginationResponse, IPaginatorLabels, IPaletteItemProps, IPaletteProps, IPanelCustomSlot, IPassword, IPasswordProps, IPersonCardProps, IPhone, IPhoneFilter, IPhoneObjectValue, IPhoneValidationResults, IPhoneValue, IPieChartProps, IPlusButton, IPolarAreaChartProps, IPopoverProps, IProgressBarElementSlots, IProgressBarProps, IPropertiesPanelProps, IRTLDetection, IRadarChartProps, IRadarProps, IRadarSeries, IRadioCheckboxListItem, IRadioGroup, IRadioSlots, IRadiusPickerEvents, IRadiusPickerField, IRadiusPickerI18n, IRadiusPickerProps, IRangeFilter, IRankedListProps, IRankedListRow, IRef, IRepeatableSettings, IResponsiveElement, IRiseProps, ISVGComponent, IScrollViewComponent, ISegmentedControlOption, ISegmentedControlProps, ISelect, ISelectBase, ISelectCore, ISelectElement, ISelectSlots, ISelectType, ISelectedFile, ISelectedFileType, ISelectionValidation, ISeverityColorSlots, ISeverityThemeMap, IShadowDefinition, IShadowValue, ISidebarElementSlots, ISizing, ISkeleton, ISkeletonRowsProps, ISkeletonText, ISliderProps, ISpacing, ISparklineProps, IStackProps, IStackedBarsDatum, IStackedBarsProps, IStatCardElementSlots, IStatCardProps, IStatGroupElementSlots, IStatGroupProps, IStatePillProps, IStatisticsProps, IStats, IStatusCardProps, IStepperElementSlots, IStepperProps, IStripedProps, IStyleClasses, ISwitch, ISwitchSlots, ITabBarItem, ITabItem, ITableElementSlots, ITableFlatConfig, ITabsElementSlots, ITabsProps, ITags, IText, ITextComponent, ITextFieldProps, ITextFilter, ITextInput, ITextInputProps, ITextInputSlots, ITextValidation, ITextarea, IThemeContextProps, IThemeContextValues, ITimelineElementSlots, ITimelineItem, ITimelineProps, ITipProps, IToastAction, IToastFunction, IToastOptions, IToastParams, IToolbarProps, ITransforms, ITransition, ITranslatableInputProps, ITranslatableText, ITranslateComponent, ITreeItem, ITreeSelect, ITreeSelectCore, ITreeSelectElement, ITreeSelectNode, ITreeViewProps, ITriStateFilter, ITypingIndicatorElementSlots, ITypingIndicatorProps, IUnkeyedColumn, IUseCountUpOptions, IUseFormReturn, IUserAvatar, IValidationSectionProps, IWashProps, IWidgetBarIncomingProp, IWidgetChartContextProps, IWidgetChartProp, IWidgetData, IWidgetDoughnutIncomingProp, IWidgetLineIncomingProp, IWidgetPanelProps, IWidgetPieIncomingProp, IWidgetPolarAreaIncomingProp, IWidgetRadarIncomingProp, IconName, IconType, InputTextFieldProps, KitsBreakpoint, KitsConditionalObject, KitsDevice, KitsMotion, KitsOrientation, KitsPlatform, KitsResponsiveObject, KitsResponsiveValue, KitsThemeOverride, LabelVariant, LatLng, LoadMode, LoadingIndicatorRenderer, LogicFunction, MapInteraction, MeasurementValues, MessageReceiptState, Nullable, Numbering0_12, Numbering0_32, Numberish, OnCenterChange, OnLocationError, OnLocationFound, OnRadiusChange, OnRadiusValueChange, OnSubmitHandler, OnUnitChange, Orientation, PaginationState, PaginatorPageChangeEvent$1 as PaginatorPageChangeEvent, Permissions, PlatformKey, RadiusPickerDisplay, RadiusPickerLayout, RadiusPickerSize, RadiusUnit, RadiusValue, RenderLocationButtonProps, RenderMapProps, RenderSearchBoxProps, SelectFieldProps, SemanticColorTokens, ServerMethod, ServerResponse, ServerSideProps, SetManyOpts, Severity, Shades, ShadowPreset, Shapes, SidesValues, SizingNumbering, SizingValue, StatePillState, StepperVariant, TAcceptedFileType, TBuilderFieldType, TCheckboxRadioMode, TCheckboxRadioSize, TConditionAction, TConditionMatch, TConditionOperator, TDateBoundary, TDynamicFlag, TExternalFilterLabelMode, TFiltersLayout, TIsoFormat, TItemsPerRow, TKeyFilter, TLocationProvider, TPaginatorAlign, TextLabels, TextProps, ThemedFontKind, TimelineItemStatus, Timeout, TimingNumbering, ToastPosition, ToastSeverity, ToastSize, TooltipDataAttributes, TooltipProps, TreeChangeProps, TreeCheckboxSelectionKeyType, TreeCheckboxSelectionKeys, TreeNode, TreeNodeClickEvent, TreeNodeTemplateOptions, TreeProps, TreeRef, TreeSelectionEvent, Types, UseComponentDefaultsResult, UseDisclosureReturnType, UseFieldLogicElementProps, UseFieldLogicProps, UseFieldLogicReturn, UseFormManagerEvents, UseFormManagerReturn, UseToastApi, ValidationProps, children, clearFunction, downloadableFileResponse, settings1, settings2 };
|
|
15859
|
+
export type { AlignmentsValues, AllSlotKeys, AnimationsValues, AvatarShape, AvatarSize, AvatarStatus, BannerAction, BannerStatus, BaseFieldProps, Booleanish, Breakpoint, CallbackProps, ChatBubbleTone, ChatBubbleVariant, ChipSeverity, ChipSize, ColorMode, ColorScale, ColorValue, Colors, ColorsType, ComponentSize, CropAspect, CropErrorReason, CropHandle, CropMaskShape, CropOutputFormat, CropRotation, CustomSubmitButtonProps, DataTableFilterMeta, DataTableFilterMetaData, DataTableOperatorFilterMetaData, DataTableSelectionSingleChangeEvent, DataTableSortMeta, DeepPartial, DetailItemInputType, DynamicValue, ElementProps, EnteringAnimation, ExitingAnimation, ExpandedKeys, FetchError, FetchSuccess, FetchTableDataRes, FetchTablePaginationData, FieldWrapperProps, File$1 as File, FileUploaderTemplate, FileUploaderTemplateParams, FlexAlignmentsValues, FlexValues, FormBooleanEvent, FormBooleanTarget, FormEvent, FormTarget, GroupFieldConfigs, HighSizingValue, IAccentEdgeProps, IAccordionElementSlots, IAccordionProps, IActionCardProps, IAddressComponentValue, IAddressExperianFormat, IAddressFormat, IAddressFormatResults, IAddressSearchResults, IAlertComponent, IAlertProps, IAlignment, IAnimation, IAutoCompleteCore, IAutoCompleteElement, IAvatarElementSlots, IAvatarProps, IAvatarStackElementSlots, IAvatarStackProps, IBadgeProps, IBannerProps, IBarChartProps, IBaseValidation, IBasicSectionProps, IBg, IBodyTemplate, IBodyTemplateIcon, IBorder, IBottomTabBarElementSlots, IBottomTabBarProps, IBoxComponent, IBreadcrumbCrumb, IBreadcrumbProps, IBuilderAddressField, IBuilderCheckboxField, IBuilderContainerField, IBuilderDateField, IBuilderField, IBuilderFieldBase, IBuilderFieldExport, IBuilderFileField, IBuilderGroupField, IBuilderMultiselectField, IBuilderNumberField, IBuilderPhoneField, IBuilderRadiosField, IBuilderRadiusPickerField, IBuilderSectionField, IBuilderSelectField, IBuilderSwitchField, IBuilderTagsField, IBuilderTextField, IBuilderTextareaField, IButton, IButtonElementSlots, IButtonParams, IButtonProps, IButtonState, IButtonsFilter, ICanvasProps, ICardComponent, ICardElementSlots, ICarouselElementSlots, ICarouselProps, ICascadeSelect, ICascadeSelectCore, IChatBubbleElementSlots, IChatBubbleProps, ICheckbox, ICheckboxFilter, ICheckboxSlots, IChildren, IChildrenParams, IChipInputSlots, IChipProps, ICircularProgressProps, ICollapseProps, IColorPicker, IColumn, IColumnBase, ICombined, ICommandPaletteGroup, ICommandPaletteItem, ICommandPaletteProps, IComponentThemeConfig, IConditionGroupProps, IConditionRowProps, IConditionRule, IConditionsSectionProps, IConfirmDialogProps, IConfirmPopupProps, IContainer, IContainerCardProps, IContainerProps, IContextValues, ICountrySearchResults, ICropEncoder, ICropError, ICropFrame, ICropOutput, ICropPoint, ICropRect, ICropResizeOptions, ICropResult, ICropSize, ICropTransform, ICssStyling, IDVButtonsFilter, IDVCheckboxFilter, IDVDateFilter, IDVDropdownFilter, IDVFilters, IDVMessages, IDVMultiselectFilter, IDVNumberFilter, IDVPaginationRequest, IDVPaginationResponse, IDVPaginationState, IDVPhoneFilter, IDVRangeFilter, IDVTextFilter, IDVTriStateFilter, IDataTableContextValues, IDataTableProps, IDataViewContextValues, IDataViewProps, IDataViewRefValues, IDatatableRefValues, IDate, IDateFilter, IDateProps, IDateSeparatorElementSlots, IDateSeparatorProps, IDateValidation, IDatepickerSlots, IDeltaProps, IDetailItem, IDetailListProps, IDialogButton, IDialogProps, IDialogRef, IDialogState, IDisplay, IDividerComponent, IDonutProps, IDonutSegment, IDotGridProps, IDoughnutChartProps, IDropdownCore, IDropdownFilter, IDropdownSelect, IEditableProps, IEditors, IEffects, IElementBase, IElementSlotConfig, IElementStyle, IEmail, IEmailSearchResults, IEmptyStateElementSlots, IEmptyStateProps, IFieldCardProps, IFieldCondition, IFieldPreviewProps, IFile, IFileUploader, IFileUploaderElement, IFileUploaderTypes, IFileValidation, IFilesExtTypeKeys, IFilters, IFlexAlignment, IFlexComponent, IFormAddon, IFormBuilderInternalState, IFormBuilderMeta, IFormBuilderPayload, IFormBuilderProps, IFormComponent, IFormElement, IFormElementBaseSlots, IFormElementSlots, IFormGrid, IFormListsElements, IFormSelect, IFormSelectElements, IFormSingleElement, IGalleryElementSlots, IGalleryItem, IGalleryProps, IGaugeProps, IGrid, IGridCellStyle, IGridComponent, IGridItem, IGridItemComponent, IGroup, IGroupCardProps, IGroupElementSlots, IGroupSettings, IGroupedBarsDatum, IGroupedBarsProps, IHeaderElementSlots, IHeadingComponent, IIconProps, IImageComponent, IImageCropperHandle, IImageCropperProps, IImageCropperSlots, IImagesExtTypeKeys, IInteractivity, IKeyedColumn, IKitsAnimation, IKitsBarChartDatum, IKitsBarChartProps, IKitsCheckboxProps, IKitsComponentDefaults, IKitsContainer, IKitsDialogControlled, IKitsInputCalendar, IKitsInputColorPicker, IKitsInputLocation, IKitsInputMask, IKitsInputNumber, IKitsInputPassword, IKitsInputRating, IKitsInputSwitch, IKitsInputText, IKitsInputTextarea, IKitsLineChartProps, IKitsLineChartSeries, IKitsPhoneInput, IKitsRadioProps, IKitsTheme, IKitsThemeColors, IKitsThemeConfig, IKitsThemeContextValues, IKitsThemeFontSizes, IKitsThemeFontWeights, IKitsThemeFonts, IKitsThemeLineHeights, IKitsThemeRadii, IKitsThemeShadows, IKitsThemeSpacing, IKitsToastRef, ILabelElement, ILabelProps, ILanguage, ILayout, ILegendItem, ILegendProps, ILineChartProps, ILinkComponent, ILinkOverrides, IList, IListBoxCore, IListBoxElement, IListBoxSelect, IListItem, IListing, ILoaderProps, ILoadingIndicatorContext, ILocaleContextProps, ILocaleContextValues, ILocation, ILocationDetailsResponse, ILocationResponse, IMainContextProps, IMainContextValues, IMapTilePoint, IMapTileProps, IMemes, IMenuItem, IMessageComposerElementSlots, IMessageComposerProps, IMessageReceiptElementSlots, IMessageReceiptProps, IMessages, IMetricCardProps, IMinusButton, IModalComponent, IModalFormProps, IMultiSelect, IMultiSelectCore, IMultiSelectSlots, IMultiselect, IMultiselectFilter, INativeShadow, INonCrossPlatformTypes, INumberFilter, INumberInput, INumberProps, INumberValidation, IObjectGroup, IOneOfTypes, IOptionItem, IOptionsEditorProps, IOptionsSource, IPageISection, IPaginationRequest, IPaginationResponse, IPaginatorLabels, IPaletteItemProps, IPaletteProps, IPanelCustomSlot, IPassword, IPasswordProps, IPersonCardProps, IPhone, IPhoneFilter, IPhoneObjectValue, IPhoneValidationResults, IPhoneValue, IPieChartProps, IPlusButton, IPolarAreaChartProps, IPopoverProps, IProgressBarElementSlots, IProgressBarProps, IPropertiesPanelProps, IRTLDetection, IRadarChartProps, IRadarProps, IRadarSeries, IRadioCheckboxListItem, IRadioGroup, IRadioSlots, IRadiusPickerEvents, IRadiusPickerField, IRadiusPickerI18n, IRadiusPickerProps, IRangeFilter, IRankedListProps, IRankedListRow, IRef, IRepeatableSettings, IResponsiveElement, IRiseProps, ISVGComponent, IScrollViewComponent, ISegmentedControlOption, ISegmentedControlProps, ISelect, ISelectBase, ISelectCore, ISelectElement, ISelectSlots, ISelectType, ISelectedFile, ISelectedFileType, ISelectionValidation, ISeverityColorSlots, ISeverityThemeMap, IShadowDefinition, IShadowValue, ISidebarElementSlots, ISizing, ISkeleton, ISkeletonRowsProps, ISkeletonText, ISliderProps, ISpacing, ISparklineProps, IStackProps, IStackedBarsDatum, IStackedBarsProps, IStatCardElementSlots, IStatCardProps, IStatGroupElementSlots, IStatGroupProps, IStatePillProps, IStatisticsProps, IStats, IStatusCardProps, IStepperElementSlots, IStepperProps, IStripedProps, IStyleClasses, ISwitch, ISwitchSlots, ITabBarItem, ITabItem, ITableElementSlots, ITableFlatConfig, ITabsElementSlots, ITabsProps, ITags, IText, ITextComponent, ITextFieldProps, ITextFilter, ITextInput, ITextInputProps, ITextInputSlots, ITextValidation, ITextarea, IThemeContextProps, IThemeContextValues, ITimelineElementSlots, ITimelineItem, ITimelineProps, ITipProps, IToastAction, IToastFunction, IToastOptions, IToastParams, IToolbarProps, ITransforms, ITransition, ITranslatableInputProps, ITranslatableText, ITranslateComponent, ITreeItem, ITreeSelect, ITreeSelectCore, ITreeSelectElement, ITreeSelectNode, ITreeViewProps, ITriStateFilter, ITypingIndicatorElementSlots, ITypingIndicatorProps, IUnkeyedColumn, IUseCountUpOptions, IUseFormReturn, IUserAvatar, IValidationSectionProps, IWashProps, IWidgetBarIncomingProp, IWidgetChartContextProps, IWidgetChartProp, IWidgetData, IWidgetDoughnutIncomingProp, IWidgetLineIncomingProp, IWidgetPanelProps, IWidgetPieIncomingProp, IWidgetPolarAreaIncomingProp, IWidgetRadarIncomingProp, IconName, IconType, InputTextFieldProps, KitsBreakpoint, KitsConditionalObject, KitsDevice, KitsMotion, KitsOrientation, KitsPlatform, KitsResponsiveObject, KitsResponsiveValue, KitsThemeOverride, LabelVariant, LatLng, LoadMode, LoadingIndicatorRenderer, LogicFunction, MapInteraction, MeasurementValues, MessageReceiptState, Nullable, Numbering0_12, Numbering0_32, Numberish, OnCenterChange, OnLocationError, OnLocationFound, OnRadiusChange, OnRadiusValueChange, OnSubmitHandler, OnUnitChange, Orientation, PaginationState, PaginatorPageChangeEvent$1 as PaginatorPageChangeEvent, Permissions, PlatformKey, RadiusPickerDisplay, RadiusPickerLayout, RadiusPickerSize, RadiusUnit, RadiusValue, RenderLocationButtonProps, RenderMapProps, RenderSearchBoxProps, SelectFieldProps, SemanticColorTokens, ServerMethod, ServerResponse, ServerSideProps, SetManyOpts, Severity, Shades, ShadowPreset, Shapes, SidesValues, SizingNumbering, SizingValue, StatePillState, StepperVariant, TAcceptedFileType, TBuilderFieldType, TCheckboxRadioMode, TCheckboxRadioSize, TConditionAction, TConditionMatch, TConditionOperator, TDateBoundary, TDynamicFlag, TExternalFilterLabelMode, TFiltersLayout, TIsoFormat, TItemsPerRow, TKeyFilter, TLocationProvider, TPaginatorAlign, TSelectItemKind, TextLabels, TextProps, ThemedFontKind, TimelineItemStatus, Timeout, TimingNumbering, ToastPosition, ToastSeverity, ToastSize, TooltipDataAttributes, TooltipProps, TreeChangeProps, TreeCheckboxSelectionKeyType, TreeCheckboxSelectionKeys, TreeNode, TreeNodeClickEvent, TreeNodeTemplateOptions, TreeProps, TreeRef, TreeSelectionEvent, Types, UseComponentDefaultsResult, UseDisclosureReturnType, UseFieldLogicElementProps, UseFieldLogicProps, UseFieldLogicReturn, UseFormManagerEvents, UseFormManagerReturn, UseToastApi, ValidationProps, children, clearFunction, downloadableFileResponse, settings1, settings2 };
|