@react-typed-forms/schemas 6.0.0 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.rush/temp/shrinkwrap-deps.json +39 -11
- package/lib/controlRender.d.ts +17 -8
- package/lib/hooks.d.ts +1 -0
- package/lib/index.js +141 -136
- package/lib/index.js.map +1 -1
- package/lib/renderers.d.ts +1 -1
- package/lib/types.d.ts +3 -1
- package/lib/util.d.ts +2 -1
- package/package.json +1 -1
- package/src/controlRender.tsx +92 -103
- package/src/hooks.tsx +18 -0
- package/src/renderers.tsx +31 -24
- package/src/types.ts +2 -0
- package/src/util.ts +16 -11
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/types.ts","../src/schemaBuilder.ts","../src/util.ts","../src/controlBuilder.ts","../src/internal.ts","../src/hooks.tsx","../src/validators.ts","../src/schemaInterface.ts","../src/controlRender.tsx","../src/renderers.tsx","../src/tailwind.tsx"],"sourcesContent":["export interface SchemaField {\n type: string;\n field: string;\n displayName?: string | null;\n tags?: string[] | null;\n system?: boolean | null;\n collection?: boolean | null;\n onlyForTypes?: string[] | null;\n required?: boolean | null;\n notNullable?: boolean | null;\n defaultValue?: any;\n isTypeField?: boolean | null;\n searchable?: boolean | null;\n options?: FieldOption[] | null;\n validators?: SchemaValidator[] | null;\n}\n\nexport enum FieldType {\n String = \"String\",\n Bool = \"Bool\",\n Int = \"Int\",\n Date = \"Date\",\n DateTime = \"DateTime\",\n Double = \"Double\",\n EntityRef = \"EntityRef\",\n Compound = \"Compound\",\n AutoId = \"AutoId\",\n Image = \"Image\",\n Any = \"Any\",\n}\n\nexport interface EntityRefField extends SchemaField {\n type: FieldType.EntityRef;\n entityRefType: string;\n parentField: string;\n}\n\nexport interface FieldOption {\n name: string;\n value: any;\n}\n\nexport interface CompoundField extends SchemaField {\n type: FieldType.Compound;\n children: SchemaField[];\n treeChildren?: boolean;\n}\n\nexport type AnyControlDefinition =\n | DataControlDefinition\n | GroupedControlsDefinition\n | ActionControlDefinition\n | DisplayControlDefinition;\n\nexport interface SchemaInterface {\n isEmptyValue(field: SchemaField, value: any): boolean;\n textValue(\n field: SchemaField,\n value: any,\n element?: boolean,\n ): string | undefined;\n}\nexport interface ControlDefinition {\n type: string;\n title?: string | null;\n styleClass?: string | null;\n layoutClass?: string | null;\n dynamic?: DynamicProperty[] | null;\n adornments?: ControlAdornment[] | null;\n children?: ControlDefinition[] | null;\n}\n\nexport enum ControlDefinitionType {\n Data = \"Data\",\n Group = \"Group\",\n Display = \"Display\",\n Action = \"Action\",\n}\n\nexport interface DynamicProperty {\n type: string;\n expr: EntityExpression;\n}\n\nexport enum DynamicPropertyType {\n Visible = \"Visible\",\n DefaultValue = \"DefaultValue\",\n Readonly = \"Readonly\",\n Disabled = \"Disabled\",\n Display = \"Display\",\n Style = \"Style\",\n LayoutStyle = \"LayoutStyle\",\n}\n\nexport interface EntityExpression {\n type: string;\n}\n\nexport enum ExpressionType {\n Jsonata = \"Jsonata\",\n Data = \"Data\",\n DataMatch = \"FieldValue\",\n UserMatch = \"UserMatch\",\n}\n\nexport interface JsonataExpression extends EntityExpression {\n type: ExpressionType.Jsonata;\n expression: string;\n}\n\nexport interface DataExpression extends EntityExpression {\n type: ExpressionType.Data;\n field: string;\n}\n\nexport interface DataMatchExpression extends EntityExpression {\n type: ExpressionType.DataMatch;\n field: string;\n value: any;\n}\n\nexport interface UserMatchExpression extends EntityExpression {\n type: ExpressionType.UserMatch;\n userMatch: string;\n}\n\nexport interface ControlAdornment {\n type: string;\n}\n\nexport enum AdornmentPlacement {\n ControlStart = \"ControlStart\",\n ControlEnd = \"ControlEnd\",\n LabelStart = \"LabelStart\",\n LabelEnd = \"LabelEnd\",\n}\n\nexport enum ControlAdornmentType {\n Tooltip = \"Tooltip\",\n Accordion = \"Accordion\",\n HelpText = \"HelpText\",\n Icon = \"Icon\",\n}\n\nexport interface IconAdornment extends ControlAdornment {\n type: ControlAdornmentType.Icon;\n iconClass: string;\n placement?: AdornmentPlacement | null;\n}\n\nexport interface TooltipAdornment extends ControlAdornment {\n type: ControlAdornmentType.Tooltip;\n tooltip: string;\n}\n\nexport interface AccordionAdornment extends ControlAdornment {\n type: ControlAdornmentType.Accordion;\n title: string;\n defaultExpanded: boolean;\n}\n\nexport interface HelpTextAdornment extends ControlAdornment {\n type: ControlAdornmentType.HelpText;\n helpText: string;\n placement?: AdornmentPlacement | null;\n}\n\nexport interface DataControlDefinition extends ControlDefinition {\n type: ControlDefinitionType.Data;\n field: string;\n required?: boolean | null;\n renderOptions?: RenderOptions | null;\n defaultValue?: any;\n readonly?: boolean | null;\n validators?: SchemaValidator[] | null;\n hideTitle?: boolean | null;\n}\n\nexport interface RenderOptions {\n type: string;\n}\n\nexport enum DataRenderType {\n Standard = \"Standard\",\n Radio = \"Radio\",\n HtmlEditor = \"HtmlEditor\",\n IconList = \"IconList\",\n CheckList = \"CheckList\",\n UserSelection = \"UserSelection\",\n Synchronised = \"Synchronised\",\n IconSelector = \"IconSelector\",\n DateTime = \"DateTime\",\n Checkbox = \"Checkbox\",\n Dropdown = \"Dropdown\",\n DisplayOnly = \"DisplayOnly\",\n}\n\nexport interface RadioButtonRenderOptions extends RenderOptions {\n type: DataRenderType.Radio;\n}\n\nexport interface StandardRenderer extends RenderOptions {\n type: DataRenderType.Standard;\n}\n\nexport interface HtmlEditorRenderOptions extends RenderOptions {\n type: DataRenderType.HtmlEditor;\n allowImages: boolean;\n}\n\nexport interface DateTimeRenderOptions extends RenderOptions {\n type: DataRenderType.DateTime;\n format?: string | null;\n}\n\nexport interface IconListRenderOptions extends RenderOptions {\n type: DataRenderType.IconList;\n iconMappings: IconMapping[];\n}\n\nexport interface DisplayOnlyRenderOptions extends RenderOptions {\n type: DataRenderType.DisplayOnly;\n emptyText?: string | null;\n sampleText?: string | null;\n}\nexport interface IconMapping {\n value: string;\n materialIcon?: string | null;\n}\n\nexport interface CheckListRenderOptions extends RenderOptions {\n type: DataRenderType.CheckList;\n}\n\nexport interface SynchronisedRenderOptions extends RenderOptions {\n type: DataRenderType.Synchronised;\n fieldToSync: string;\n syncType: SyncTextType;\n}\n\nexport enum SyncTextType {\n Camel = \"Camel\",\n Snake = \"Snake\",\n Pascal = \"Pascal\",\n}\n\nexport interface UserSelectionRenderOptions extends RenderOptions {\n type: DataRenderType.UserSelection;\n noGroups: boolean;\n noUsers: boolean;\n}\n\nexport interface IconSelectionRenderOptions extends RenderOptions {\n type: DataRenderType.IconSelector;\n}\n\nexport interface GroupedControlsDefinition extends ControlDefinition {\n type: ControlDefinitionType.Group;\n compoundField?: string | null;\n groupOptions?: GroupRenderOptions;\n}\n\nexport interface GroupRenderOptions {\n type: string;\n hideTitle?: boolean | null;\n}\n\nexport enum GroupRenderType {\n Standard = \"Standard\",\n Grid = \"Grid\",\n Flex = \"Flex\",\n GroupElement = \"GroupElement\",\n}\n\nexport interface StandardGroupRenderer extends GroupRenderOptions {\n type: GroupRenderType.Standard;\n}\n\nexport interface FlexRenderer extends GroupRenderOptions {\n type: GroupRenderType.Flex;\n direction?: string | null;\n gap?: string | null;\n}\n\nexport interface GroupElementRenderer extends GroupRenderOptions {\n type: GroupRenderType.GroupElement;\n value: any;\n}\n\nexport interface GridRenderer extends GroupRenderOptions {\n type: GroupRenderType.Grid;\n columns?: number | null;\n}\n\nexport interface DisplayControlDefinition extends ControlDefinition {\n type: ControlDefinitionType.Display;\n displayData: DisplayData;\n}\n\nexport interface DisplayData {\n type: string;\n}\n\nexport enum DisplayDataType {\n Text = \"Text\",\n Html = \"Html\",\n Icon = \"Icon\",\n}\nexport interface TextDisplay extends DisplayData {\n type: DisplayDataType.Text;\n text: string;\n}\n\nexport interface IconDisplay extends DisplayData {\n type: DisplayDataType.Icon;\n iconClass: string;\n}\n\nexport interface HtmlDisplay extends DisplayData {\n type: DisplayDataType.Html;\n html: string;\n}\n\nexport interface ActionControlDefinition extends ControlDefinition {\n type: ControlDefinitionType.Action;\n actionId: string;\n}\n\nexport enum ValidatorType {\n Jsonata = \"Jsonata\",\n Date = \"Date\",\n}\nexport interface SchemaValidator {\n type: string;\n}\n\nexport interface JsonataValidator extends SchemaValidator {\n type: ValidatorType.Jsonata;\n expression: string;\n}\n\nexport enum DateComparison {\n NotBefore = \"NotBefore\",\n NotAfter = \"NotAfter\",\n}\n\nexport interface DateValidator extends SchemaValidator {\n type: ValidatorType.Date;\n comparison: DateComparison;\n fixedDate?: string | null;\n daysFromCurrent?: number | null;\n}\n\nexport function isDataControlDefinition(\n x: ControlDefinition,\n): x is DataControlDefinition {\n return x.type === ControlDefinitionType.Data;\n}\n\nexport function isGroupControlsDefinition(\n x: ControlDefinition,\n): x is GroupedControlsDefinition {\n return x.type === ControlDefinitionType.Group;\n}\n\nexport function isDisplayControlsDefinition(\n x: ControlDefinition,\n): x is DisplayControlDefinition {\n return x.type === ControlDefinitionType.Display;\n}\n\nexport function isActionControlsDefinition(\n x: ControlDefinition,\n): x is ActionControlDefinition {\n return x.type === ControlDefinitionType.Action;\n}\n\nexport interface ControlVisitor<A> {\n data(d: DataControlDefinition): A;\n group(d: GroupedControlsDefinition): A;\n display(d: DisplayControlDefinition): A;\n action(d: ActionControlDefinition): A;\n}\n\nexport function visitControlDefinition<A>(\n x: ControlDefinition,\n visitor: ControlVisitor<A>,\n defaultValue: (c: ControlDefinition) => A,\n): A {\n switch (x.type) {\n case ControlDefinitionType.Action:\n return visitor.action(x as ActionControlDefinition);\n case ControlDefinitionType.Data:\n return visitor.data(x as DataControlDefinition);\n case ControlDefinitionType.Display:\n return visitor.display(x as DisplayControlDefinition);\n case ControlDefinitionType.Group:\n return visitor.group(x as GroupedControlsDefinition);\n default:\n return defaultValue(x);\n }\n}\nexport function isGridRenderer(\n options: GroupRenderOptions,\n): options is GridRenderer {\n return options.type === GroupRenderType.Grid;\n}\n\nexport function isFlexRenderer(\n options: GroupRenderOptions,\n): options is FlexRenderer {\n return options.type === GroupRenderType.Flex;\n}\n\nexport function isDisplayOnlyRenderer(\n options: RenderOptions,\n): options is DisplayOnlyRenderOptions {\n return options.type === DataRenderType.DisplayOnly;\n}\n","import { CompoundField, FieldOption, FieldType, SchemaField } from \"./types\";\n\ntype AllowedSchema<T> = T extends string\n ? SchemaField & {\n type: FieldType.String | FieldType.Date | FieldType.DateTime;\n }\n : T extends number\n ? SchemaField & {\n type: FieldType.Int | FieldType.Double;\n }\n : T extends boolean\n ? SchemaField & {\n type: FieldType.Bool;\n }\n : T extends Array<infer E>\n ? AllowedSchema<E> & {\n collection: true;\n }\n : T extends { [key: string]: any }\n ? CompoundField & {\n type: FieldType.Compound;\n }\n : SchemaField & { type: FieldType.Any };\n\ntype AllowedField<T, K> = (\n name: string,\n) => (SchemaField & { type: K }) | AllowedSchema<T>;\n\nexport function buildSchema<T, Custom = \"\">(def: {\n [K in keyof T]-?: AllowedField<T[K], Custom>;\n}): SchemaField[] {\n return Object.entries(def).map((x) =>\n (x[1] as (n: string) => SchemaField)(x[0]),\n );\n}\n\nexport function stringField(\n displayName: string,\n options?: Partial<Omit<SchemaField, \"type\">>,\n) {\n return makeScalarField({\n type: FieldType.String as const,\n displayName,\n ...options,\n });\n}\n\nexport function stringOptionsField(\n displayName: string,\n ...options: FieldOption[]\n) {\n return makeScalarField({\n type: FieldType.String as const,\n displayName,\n options,\n });\n}\n\nexport function withScalarOptions<S extends SchemaField>(\n options: Partial<SchemaField>,\n v: (name: string) => S,\n): (name: string) => S {\n return (n) => ({ ...v(n), ...options });\n}\n\nexport function makeScalarField<S extends Partial<SchemaField>>(\n options: S,\n): (name: string) => SchemaField & S {\n return (n) => ({ ...defaultScalarField(n, n), ...options });\n}\n\nexport function makeCompoundField<S extends Partial<CompoundField>>(\n options: S,\n): (name: string) => CompoundField & {\n type: FieldType.Compound;\n} & S {\n return (n) => ({ ...defaultCompoundField(n, n, false), ...options });\n}\n\nexport function intField(\n displayName: string,\n options?: Partial<Omit<SchemaField, \"type\">>,\n) {\n return makeScalarField({\n type: FieldType.Int as const,\n displayName,\n ...options,\n });\n}\n\nexport function boolField(\n displayName: string,\n options?: Partial<Omit<SchemaField, \"type\">>,\n) {\n return makeScalarField({\n type: FieldType.Bool as const,\n displayName,\n ...options,\n });\n}\n\nexport function compoundField<\n Other extends Partial<Omit<CompoundField, \"type\" | \"schemaType\">>,\n>(\n displayName: string,\n fields: SchemaField[],\n other: Other,\n): (name: string) => CompoundField & {\n collection: Other[\"collection\"];\n} {\n return (field) =>\n ({\n ...defaultCompoundField(field, displayName, false),\n ...other,\n children: fields,\n }) as any;\n}\n\nexport function defaultScalarField(\n field: string,\n displayName: string,\n): Omit<SchemaField, \"type\"> & {\n type: FieldType.String;\n} {\n return {\n field,\n displayName,\n type: FieldType.String,\n };\n}\n\nexport function defaultCompoundField(\n field: string,\n displayName: string,\n collection: boolean,\n): CompoundField & {\n type: FieldType.Compound;\n} {\n return {\n field,\n displayName,\n type: FieldType.Compound,\n collection,\n children: [],\n };\n}\n","import {\n CompoundField,\n ControlDefinition,\n ControlDefinitionType,\n DataControlDefinition,\n DataRenderType,\n DisplayOnlyRenderOptions,\n FieldOption,\n FieldType,\n GridRenderer,\n GroupedControlsDefinition,\n GroupRenderType,\n isDataControlDefinition,\n isDisplayOnlyRenderer,\n SchemaField,\n SchemaInterface,\n visitControlDefinition,\n} from \"./types\";\nimport { MutableRefObject, useRef } from \"react\";\nimport { Control } from \"@react-typed-forms/core\";\n\nexport interface ControlDataContext {\n groupControl: Control<any>;\n fields: SchemaField[];\n schemaInterface: SchemaInterface;\n}\nexport function applyDefaultValues(\n v: { [k: string]: any } | undefined,\n fields: SchemaField[],\n): any {\n if (!v) return defaultValueForFields(fields);\n const applyValue = fields.filter(\n (x) => isCompoundField(x) || !(x.field in v),\n );\n if (!applyValue.length) return v;\n const out = { ...v };\n applyValue.forEach((x) => {\n out[x.field] =\n x.field in v\n ? applyDefaultForField(v[x.field], x, fields)\n : defaultValueForField(x);\n });\n return out;\n}\n\nexport function applyDefaultForField(\n v: any,\n field: SchemaField,\n parent: SchemaField[],\n notElement?: boolean,\n): any {\n if (field.collection && !notElement) {\n return ((v as any[]) ?? []).map((x) =>\n applyDefaultForField(x, field, parent, true),\n );\n }\n if (isCompoundField(field)) {\n if (!v && !field.required) return v;\n return applyDefaultValues(v, field.treeChildren ? parent : field.children);\n }\n return defaultValueForField(field);\n}\n\nexport function defaultValueForFields(fields: SchemaField[]): any {\n return Object.fromEntries(\n fields.map((x) => [x.field, defaultValueForField(x)]),\n );\n}\n\nexport function defaultValueForField(\n sf: SchemaField,\n required?: boolean | null,\n): any {\n if (sf.defaultValue !== undefined) return sf.defaultValue;\n const isRequired = !!(required || sf.required);\n if (isCompoundField(sf)) {\n if (isRequired) {\n const childValue = defaultValueForFields(sf.children);\n return sf.collection ? [childValue] : childValue;\n }\n return sf.notNullable ? (sf.collection ? [] : {}) : undefined;\n }\n if (sf.collection) {\n return [];\n }\n return undefined;\n}\n\nexport function elementValueForField(sf: SchemaField): any {\n if (isCompoundField(sf)) {\n return defaultValueForFields(sf.children);\n }\n return sf.defaultValue;\n}\n\nexport function findScalarField(\n fields: SchemaField[],\n field: string,\n): SchemaField | undefined {\n return findField(fields, field);\n}\n\nexport function findCompoundField(\n fields: SchemaField[],\n field: string,\n): CompoundField | undefined {\n return findField(fields, field) as CompoundField | undefined;\n}\n\nexport function findField(\n fields: SchemaField[],\n field: string,\n): SchemaField | undefined {\n return fields.find((x) => x.field === field);\n}\n\nexport function isScalarField(sf: SchemaField): sf is SchemaField {\n return !isCompoundField(sf);\n}\n\nexport function isCompoundField(sf: SchemaField): sf is CompoundField {\n return sf.type === FieldType.Compound;\n}\n\nexport function isDataControl(\n c: ControlDefinition,\n): c is DataControlDefinition {\n return c.type === ControlDefinitionType.Data;\n}\n\nexport function isGroupControl(\n c: ControlDefinition,\n): c is GroupedControlsDefinition {\n return c.type === ControlDefinitionType.Group;\n}\n\nexport function fieldHasTag(field: SchemaField, tag: string) {\n return Boolean(field.tags?.includes(tag));\n}\n\nexport function fieldDisplayName(field: SchemaField) {\n return field.displayName ?? field.field;\n}\n\nexport function hasOptions(o: { options: FieldOption[] | undefined | null }) {\n return (o.options?.length ?? 0) > 0;\n}\n\nexport function defaultControlForField(\n sf: SchemaField,\n): DataControlDefinition | GroupedControlsDefinition {\n if (isCompoundField(sf)) {\n return {\n type: ControlDefinitionType.Group,\n title: sf.displayName,\n compoundField: sf.field,\n groupOptions: {\n type: GroupRenderType.Grid,\n hideTitle: false,\n } as GridRenderer,\n children: sf.children.map(defaultControlForField),\n } satisfies GroupedControlsDefinition;\n } else if (isScalarField(sf)) {\n const htmlEditor = sf.tags?.includes(\"_HtmlEditor\");\n return {\n type: ControlDefinitionType.Data,\n title: sf.displayName,\n field: sf.field,\n required: sf.required,\n renderOptions: {\n type: htmlEditor ? DataRenderType.HtmlEditor : DataRenderType.Standard,\n },\n } satisfies DataControlDefinition;\n }\n throw \"Unknown schema field\";\n}\nfunction findReferencedControl(\n field: string,\n control: ControlDefinition,\n): ControlDefinition | undefined {\n if (isDataControl(control) && field === control.field) return control;\n if (isGroupControl(control)) {\n if (control.compoundField)\n return field === control.compoundField ? control : undefined;\n return findReferencedControlInArray(field, control.children ?? []);\n }\n return undefined;\n}\n\nfunction findReferencedControlInArray(\n field: string,\n controls: ControlDefinition[],\n): ControlDefinition | undefined {\n for (const c of controls) {\n const ref = findReferencedControl(field, c);\n if (ref) return ref;\n }\n return undefined;\n}\n\nexport function addMissingControls(\n fields: SchemaField[],\n controls: ControlDefinition[],\n): ControlDefinition[] {\n const changes: {\n field: SchemaField;\n existing: ControlDefinition | undefined;\n }[] = fields.flatMap((x) => {\n if (fieldHasTag(x, \"_NoControl\")) return [];\n const existing = findReferencedControlInArray(x.field, controls);\n if (!existing || isCompoundField(x)) return { field: x, existing };\n return [];\n });\n const changedCompounds = controls.map((x) => {\n const ex = changes.find((c) => c.existing === x);\n if (!ex) return x;\n const cf = x as GroupedControlsDefinition;\n return {\n ...cf,\n children: addMissingControls(\n (ex.field as CompoundField).children,\n cf.children ?? [],\n ),\n };\n });\n return changedCompounds.concat(\n changes\n .filter((x) => !x.existing)\n .map((x) => defaultControlForField(x.field)),\n );\n}\n\nexport function useUpdatedRef<A>(a: A): MutableRefObject<A> {\n const r = useRef(a);\n r.current = a;\n return r;\n}\n\nexport function isControlReadonly(c: ControlDefinition): boolean {\n return isDataControl(c) && !!c.readonly;\n}\n\nexport function getDisplayOnlyOptions(\n d: ControlDefinition,\n): DisplayOnlyRenderOptions | undefined {\n return isDataControlDefinition(d) &&\n d.renderOptions &&\n isDisplayOnlyRenderer(d.renderOptions)\n ? d.renderOptions\n : undefined;\n}\n\nexport function getTypeField(\n context: ControlDataContext,\n): Control<string> | undefined {\n const typeSchemaField = context.fields.find((x) => x.isTypeField);\n return typeSchemaField\n ? context.groupControl.fields?.[typeSchemaField.field]\n : undefined;\n}\n\nexport function visitControlDataArray<A>(\n controls: ControlDefinition[] | undefined | null,\n context: ControlDataContext,\n cb: (\n definition: DataControlDefinition,\n field: SchemaField,\n control: Control<any>,\n element: boolean,\n ) => A | undefined,\n): A | undefined {\n if (!controls) return undefined;\n for (const c of controls) {\n const r = visitControlData(c, context, cb);\n if (r !== undefined) return r;\n }\n return undefined;\n}\n\nexport function visitControlData<A>(\n definition: ControlDefinition,\n ctx: ControlDataContext,\n cb: (\n definition: DataControlDefinition,\n field: SchemaField,\n control: Control<any>,\n element: boolean,\n ) => A | undefined,\n): A | undefined {\n return visitControlDefinition<A | undefined>(\n definition,\n {\n data(def: DataControlDefinition) {\n return processData(def, def.field, def.children);\n },\n group(d: GroupedControlsDefinition) {\n return processData(undefined, d.compoundField, d.children);\n },\n action: () => undefined,\n display: () => undefined,\n },\n () => undefined,\n );\n\n function processData(\n def: DataControlDefinition | undefined,\n fieldName: string | undefined | null,\n children: ControlDefinition[] | null | undefined,\n ) {\n const fieldData = fieldName ? findField(ctx.fields, fieldName) : undefined;\n if (!fieldData)\n return !fieldName ? visitControlDataArray(children, ctx, cb) : undefined;\n\n const control = ctx.groupControl.fields[fieldData.field];\n const result = def ? cb(def, fieldData, control, false) : undefined;\n if (result !== undefined) return result;\n if (fieldData.collection) {\n for (const c of control.elements ?? []) {\n const elemResult = def ? cb(def, fieldData, c, true) : undefined;\n if (elemResult !== undefined) return elemResult;\n if (isCompoundField(fieldData)) {\n const cfResult = visitControlDataArray(\n children,\n {\n fields: fieldData.children,\n groupControl: c,\n schemaInterface: ctx.schemaInterface,\n },\n cb,\n );\n if (cfResult !== undefined) return cfResult;\n }\n }\n }\n }\n}\n\nexport function cleanDataForSchema(\n v: { [k: string]: any } | undefined,\n fields: SchemaField[],\n): any {\n if (!v) return v;\n const typeField = fields.find((x) => x.isTypeField);\n if (!typeField) return v;\n const typeValue = v[typeField.field];\n const cleanableFields = fields.filter(\n (x) => isCompoundField(x) || (x.onlyForTypes?.length ?? 0) > 0,\n );\n if (!cleanableFields.length) return v;\n const out = { ...v };\n cleanableFields.forEach((x) => {\n const childValue = v[x.field];\n if (\n x.onlyForTypes?.includes(typeValue) === false ||\n (!x.notNullable && canBeNull())\n ) {\n delete out[x.field];\n return;\n }\n if (isCompoundField(x)) {\n const childFields = x.treeChildren ? fields : x.children;\n if (x.collection) {\n if (Array.isArray(childValue)) {\n out[x.field] = childValue.map((cv) =>\n cleanDataForSchema(cv, childFields),\n );\n }\n } else {\n out[x.field] = cleanDataForSchema(childValue, childFields);\n }\n }\n function canBeNull() {\n return (\n x.collection && Array.isArray(childValue) && !childValue.length\n //|| (x.type === FieldType.Bool && childValue === false)\n );\n }\n });\n return out;\n}\n","import {\n ControlDefinition,\n ControlDefinitionType,\n DataControlDefinition,\n DataMatchExpression,\n DisplayControlDefinition,\n DisplayDataType,\n DynamicProperty,\n DynamicPropertyType,\n EntityExpression,\n ExpressionType,\n GroupedControlsDefinition,\n GroupRenderType,\n HtmlDisplay,\n JsonataExpression,\n SchemaField,\n TextDisplay,\n} from \"./types\";\nimport { ActionRendererProps } from \"./controlRender\";\nimport { useMemo } from \"react\";\nimport { addMissingControls } from \"./util\";\n\nexport function dataControl(\n field: string,\n title?: string | null,\n options?: Partial<DataControlDefinition>,\n): DataControlDefinition {\n return { type: ControlDefinitionType.Data, field, title, ...options };\n}\n\nexport function textDisplayControl(\n text: string,\n options?: Partial<DisplayControlDefinition>,\n): DisplayControlDefinition {\n return {\n type: ControlDefinitionType.Display,\n displayData: { type: DisplayDataType.Text, text } as TextDisplay,\n ...options,\n };\n}\n\nexport function htmlDisplayControl(\n html: string,\n options?: Partial<DisplayControlDefinition>,\n): DisplayControlDefinition {\n return {\n type: ControlDefinitionType.Display,\n displayData: { type: DisplayDataType.Html, html } as HtmlDisplay,\n ...options,\n };\n}\n\nexport function dynamicDefaultValue(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.DefaultValue, expr };\n}\n\nexport function dynamicReadonly(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.Readonly, expr };\n}\n\nexport function dynamicVisibility(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.Visible, expr };\n}\n\nexport function dynamicDisabled(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.Disabled, expr };\n}\n\nexport function fieldEqExpr(field: string, value: any): DataMatchExpression {\n return { type: ExpressionType.DataMatch, field, value };\n}\nexport function jsonataExpr(expression: string): JsonataExpression {\n return { type: ExpressionType.Jsonata, expression };\n}\n\nexport function groupedControl(\n children: ControlDefinition[],\n title?: string,\n options?: Partial<GroupedControlsDefinition>,\n): GroupedControlsDefinition {\n return {\n type: ControlDefinitionType.Group,\n children,\n title,\n groupOptions: { type: \"Standard\", hideTitle: !title },\n ...options,\n };\n}\nexport function compoundControl(\n field: string,\n title: string | undefined,\n children: ControlDefinition[],\n options?: Partial<DataControlDefinition>,\n): DataControlDefinition {\n return {\n type: ControlDefinitionType.Data,\n field,\n children,\n title,\n renderOptions: { type: \"Standard\" },\n ...options,\n };\n}\n\nexport function createAction(\n actionId: string,\n onClick: () => void,\n actionText?: string,\n): ActionRendererProps {\n return { actionId, onClick, actionText: actionText ?? actionId };\n}\n\nexport const emptyGroupDefinition: GroupedControlsDefinition = {\n type: ControlDefinitionType.Group,\n children: [],\n groupOptions: { type: GroupRenderType.Standard, hideTitle: true },\n};\n\nexport function useControlDefinitionForSchema(\n sf: SchemaField[],\n definition: GroupedControlsDefinition = emptyGroupDefinition,\n): GroupedControlsDefinition {\n return useMemo<GroupedControlsDefinition>(\n () => ({\n ...definition,\n children: addMissingControls(sf, definition.children ?? []),\n }),\n [sf, definition],\n );\n}\n","import { Control, useControl, useControlEffect } from \"@react-typed-forms/core\";\n\nexport function useCalculatedControl<V>(calculate: () => V): Control<V> {\n const c = useControl(calculate);\n useControlEffect(calculate, (v) => (c.value = v));\n return c;\n}\n\nexport function cc(n: string | null | undefined): string | undefined {\n return n ? n : undefined;\n}\n","import {\n ControlDefinition,\n DataExpression,\n DataMatchExpression,\n DynamicPropertyType,\n EntityExpression,\n ExpressionType,\n isDataControlDefinition,\n JsonataExpression,\n SchemaField,\n SchemaInterface,\n} from \"./types\";\nimport { useCallback, useMemo } from \"react\";\nimport {\n Control,\n useComputed,\n useControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\n\nimport {\n ControlDataContext,\n defaultValueForField,\n findField,\n getDisplayOnlyOptions,\n getTypeField,\n isControlReadonly,\n useUpdatedRef,\n} from \"./util\";\nimport jsonata from \"jsonata\";\nimport { useCalculatedControl } from \"./internal\";\n\nexport type UseEvalExpressionHook = (\n expr: EntityExpression | undefined,\n) => EvalExpressionHook | undefined;\n\nexport function useEvalVisibilityHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n schemaField?: SchemaField,\n): EvalExpressionHook<boolean> {\n const dynamicVisibility = useEvalDynamicHook(\n definition,\n DynamicPropertyType.Visible,\n useEvalExpressionHook,\n );\n const r = useUpdatedRef({ schemaField, definition });\n return useCallback(\n (ctx) => {\n const { schemaField, definition } = r.current;\n return (\n dynamicVisibility?.(ctx) ??\n useComputed(\n () =>\n matchesType(ctx, schemaField?.onlyForTypes) &&\n (!schemaField ||\n !hideDisplayOnly(\n ctx,\n schemaField,\n definition,\n ctx.schemaInterface,\n )),\n )\n );\n },\n [dynamicVisibility, r],\n );\n}\n\nexport function useEvalReadonlyHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<boolean> {\n const dynamicReadonly = useEvalDynamicHook(\n definition,\n DynamicPropertyType.Readonly,\n useEvalExpressionHook,\n );\n const r = useUpdatedRef(definition);\n return useCallback(\n (ctx) => {\n if (dynamicReadonly) return dynamicReadonly(ctx);\n return useCalculatedControl(() => isControlReadonly(r.current));\n },\n [dynamicReadonly, r],\n );\n}\n\nexport function useEvalStyleHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n property: DynamicPropertyType,\n definition: ControlDefinition,\n): EvalExpressionHook<React.CSSProperties> {\n const dynamicStyle = useEvalDynamicHook(\n definition,\n property,\n useEvalExpressionHook,\n );\n return useCallback(\n (ctx) => {\n if (dynamicStyle) return dynamicStyle(ctx);\n return useControl(undefined);\n },\n [dynamicStyle],\n );\n}\n\nexport function useEvalDisabledHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<boolean> {\n const dynamicDisabled = useEvalDynamicHook(\n definition,\n DynamicPropertyType.Disabled,\n useEvalExpressionHook,\n );\n return useCallback(\n (ctx) => {\n if (dynamicDisabled) return dynamicDisabled(ctx);\n return useControl(false);\n },\n [dynamicDisabled],\n );\n}\n\nexport function useEvalDisplayHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): (\n groupContext: ControlDataContext,\n) => Control<string | undefined> | undefined {\n const dynamicDisplay = useEvalDynamicHook(\n definition,\n DynamicPropertyType.Display,\n useEvalExpressionHook,\n );\n return useCallback((ctx) => dynamicDisplay?.(ctx), [dynamicDisplay]);\n}\nexport function useEvalDefaultValueHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n schemaField?: SchemaField,\n): EvalExpressionHook {\n const dynamicValue = useEvalDynamicHook(\n definition,\n DynamicPropertyType.DefaultValue,\n useEvalExpressionHook,\n );\n const r = useUpdatedRef({ definition, schemaField });\n return useCallback(\n (ctx) => {\n const { definition, schemaField } = r.current;\n return dynamicValue?.(ctx) ?? useComputed(calcDefault);\n function calcDefault() {\n const [required, dcv] = isDataControlDefinition(definition)\n ? [definition.required, definition.defaultValue]\n : [false, undefined];\n return (\n dcv ??\n (schemaField\n ? defaultValueForField(schemaField, required)\n : undefined)\n );\n }\n },\n [dynamicValue, r],\n );\n}\n\nexport type EvalExpressionHook<A = any> = (\n groupContext: ControlDataContext,\n) => Control<A | undefined>;\n\nfunction useDataExpression(\n fvExpr: DataExpression,\n fields: SchemaField[],\n data: Control<any>,\n) {\n const refField = findField(fields, fvExpr.field);\n const otherField = refField ? data.fields[refField.field] : undefined;\n return useCalculatedControl(() => otherField?.value);\n}\n\nfunction useDataMatchExpression(\n fvExpr: DataMatchExpression,\n fields: SchemaField[],\n data: Control<any>,\n) {\n const refField = findField(fields, fvExpr.field);\n const otherField = refField ? data.fields[refField.field] : undefined;\n return useComputed(() => {\n const fv = otherField?.value;\n return Array.isArray(fv) ? fv.includes(fvExpr.value) : fv === fvExpr.value;\n });\n}\n\nexport function defaultEvalHooks(\n expr: EntityExpression,\n context: ControlDataContext,\n) {\n switch (expr.type) {\n case ExpressionType.Jsonata:\n return useJsonataExpression(\n (expr as JsonataExpression).expression,\n context.groupControl,\n );\n case ExpressionType.Data:\n return useDataExpression(\n expr as DataExpression,\n context.fields,\n context.groupControl,\n );\n case ExpressionType.DataMatch:\n return useDataMatchExpression(\n expr as DataMatchExpression,\n context.fields,\n context.groupControl,\n );\n default:\n return useControl(undefined);\n }\n}\n\nexport const defaultUseEvalExpressionHook =\n makeEvalExpressionHook(defaultEvalHooks);\n\nexport function makeEvalExpressionHook(\n f: (expr: EntityExpression, context: ControlDataContext) => Control<any>,\n): (expr: EntityExpression | undefined) => EvalExpressionHook | undefined {\n return (expr) => {\n const r = useUpdatedRef(expr);\n const cb = useCallback(\n (ctx: ControlDataContext) => {\n const expr = r.current!;\n return f(expr, ctx);\n },\n [expr?.type, r],\n );\n return expr ? cb : undefined;\n };\n}\n\nexport function useEvalDynamicHook(\n definition: ControlDefinition,\n type: DynamicPropertyType,\n useEvalExpressionHook: (\n expr: EntityExpression | undefined,\n ) => EvalExpressionHook | undefined,\n): EvalExpressionHook | undefined {\n const expression = definition.dynamic?.find((x) => x.type === type);\n return useEvalExpressionHook(expression?.expr);\n}\n\nexport function matchesType(\n context: ControlDataContext,\n types?: string[] | null,\n) {\n if (types == null || types.length === 0) return true;\n const typeField = getTypeField(context);\n return typeField && types.includes(typeField.value);\n}\n\nexport function hideDisplayOnly(\n context: ControlDataContext,\n field: SchemaField,\n definition: ControlDefinition,\n schemaInterface: SchemaInterface,\n) {\n const displayOptions = getDisplayOnlyOptions(definition);\n return (\n displayOptions &&\n !displayOptions.emptyText &&\n schemaInterface.isEmptyValue(\n field,\n context.groupControl.fields[field.field].value,\n )\n );\n}\n\nexport function useJsonataExpression(\n jExpr: string,\n data: Control<any>,\n): Control<any> {\n const compiledExpr = useMemo(() => {\n try {\n return jsonata(jExpr);\n } catch (e) {\n console.error(e);\n return jsonata(\"\");\n }\n }, [jExpr]);\n const control = useControl();\n useControlEffect(\n () => data.value,\n async (v) => {\n control.value = await compiledExpr.evaluate(v);\n },\n true,\n );\n return control;\n}\n","import {\n ControlDefinition,\n DataControlDefinition,\n DateComparison,\n DateValidator,\n isDataControlDefinition,\n JsonataValidator,\n ValidatorType,\n} from \"./types\";\nimport {\n Control,\n useControlEffect,\n useValidator,\n useValueChangeEffect,\n} from \"@react-typed-forms/core\";\nimport { useCallback } from \"react\";\nimport { ControlDataContext, useUpdatedRef } from \"./util\";\nimport { useJsonataExpression } from \"./hooks\";\n\nexport function useValidationHook(\n definition: ControlDefinition,\n): (\n control: Control<any>,\n hidden: boolean,\n groupContext: ControlDataContext,\n) => void {\n const validatorTypes = isDataControlDefinition(definition)\n ? definition.validators?.map((x) => x.type) ?? []\n : null;\n const r = useUpdatedRef(definition as DataControlDefinition);\n return useCallback(\n (control, hidden, groupContext) => {\n if (!validatorTypes) return;\n const dd = r.current;\n\n useValueChangeEffect(control, () => control.setError(\"default\", \"\"));\n useValidator(\n control,\n (v) =>\n !hidden &&\n dd.required &&\n (v == null || v === \"\" || (Array.isArray(v) && v.length === 0))\n ? \"Please enter a value\"\n : null,\n \"required\",\n );\n (dd.validators ?? []).forEach((x, i) => {\n switch (x.type) {\n case ValidatorType.Jsonata:\n return useJsonataValidator(\n control,\n groupContext,\n x as JsonataValidator,\n hidden,\n i,\n );\n case ValidatorType.Date:\n return useDateValidator(control, x as DateValidator, i);\n }\n });\n },\n validatorTypes ? validatorTypes : [null],\n );\n}\n\nfunction useJsonataValidator(\n control: Control<any>,\n context: ControlDataContext,\n expr: JsonataValidator,\n hidden: boolean,\n i: number,\n) {\n const errorMsg = useJsonataExpression(expr.expression, context.groupControl);\n useControlEffect(\n () => [hidden, errorMsg.value],\n ([hidden, msg]) => control.setError(\"jsonata\" + i, !hidden ? msg : null),\n true,\n );\n}\n\nfunction useDateValidator(\n control: Control<string | null | undefined>,\n dv: DateValidator,\n i: number,\n) {\n let comparisonDate: number;\n if (dv.fixedDate) {\n comparisonDate = Date.parse(dv.fixedDate);\n } else {\n const nowDate = new Date();\n comparisonDate = Date.UTC(\n nowDate.getFullYear(),\n nowDate.getMonth(),\n nowDate.getDate(),\n );\n if (dv.daysFromCurrent) {\n comparisonDate += dv.daysFromCurrent * 86400000;\n }\n }\n useValidator(\n control,\n (v) => {\n if (v) {\n const selDate = Date.parse(v);\n const notAfter = dv.comparison === DateComparison.NotAfter;\n if (notAfter ? selDate > comparisonDate : selDate < comparisonDate) {\n return `Date must not be ${notAfter ? \"after\" : \"before\"} ${new Date(\n comparisonDate,\n ).toDateString()}`;\n }\n }\n return null;\n },\n \"date\" + i,\n );\n}\n","import { FieldType, SchemaField, SchemaInterface } from \"./types\";\n\nexport const defaultSchemaInterface: SchemaInterface = {\n isEmptyValue: defaultIsEmpty,\n textValue: defaultTextValue,\n};\n\nexport function defaultIsEmpty(f: SchemaField, value: any): boolean {\n if (f.collection)\n return Array.isArray(value) ? value.length === 0 : value == null;\n switch (f.type) {\n case FieldType.String:\n return !value;\n default:\n return value == null;\n }\n}\n\nexport function defaultTextValue(\n f: SchemaField,\n value: any,\n): string | undefined {\n switch (f.type) {\n case FieldType.DateTime:\n return new Date(value).toLocaleDateString();\n case FieldType.Date:\n return new Date(value).toLocaleDateString();\n default:\n return value != null ? value.toString() : undefined;\n }\n}\n","import React, {\n FC,\n Fragment,\n Key,\n ReactNode,\n useCallback,\n useEffect,\n} from \"react\";\nimport {\n addElement,\n Control,\n newControl,\n removeElement,\n useComponentTracking,\n useControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\nimport {\n AdornmentPlacement,\n ControlAdornment,\n ControlDefinition,\n DataControlDefinition,\n DisplayData,\n DynamicPropertyType,\n FieldOption,\n GroupRenderOptions,\n isActionControlsDefinition,\n isDataControlDefinition,\n isDisplayControlsDefinition,\n isGroupControlsDefinition,\n RenderOptions,\n SchemaField,\n SchemaInterface,\n} from \"./types\";\nimport {\n ControlDataContext,\n elementValueForField,\n fieldDisplayName,\n findField,\n isCompoundField,\n useUpdatedRef,\n} from \"./util\";\nimport { dataControl } from \"./controlBuilder\";\nimport {\n defaultUseEvalExpressionHook,\n useEvalDefaultValueHook,\n useEvalDisabledHook,\n useEvalDisplayHook,\n UseEvalExpressionHook,\n useEvalReadonlyHook,\n useEvalStyleHook,\n useEvalVisibilityHook,\n} from \"./hooks\";\nimport { useValidationHook } from \"./validators\";\nimport { cc, useCalculatedControl } from \"./internal\";\nimport { defaultSchemaInterface } from \"./schemaInterface\";\n\nexport interface FormRenderer {\n renderData: (\n props: DataRendererProps,\n asArray: (() => ReactNode) | undefined,\n ) => (layout: ControlLayoutProps) => ControlLayoutProps;\n renderGroup: (\n props: GroupRendererProps,\n ) => (layout: ControlLayoutProps) => ControlLayoutProps;\n renderDisplay: (props: DisplayRendererProps) => ReactNode;\n renderAction: (props: ActionRendererProps) => ReactNode;\n renderArray: (props: ArrayRendererProps) => ReactNode;\n renderAdornment: (props: AdornmentProps) => AdornmentRenderer;\n renderLabel: (\n props: LabelRendererProps,\n labelStart: ReactNode,\n labelEnd: ReactNode,\n ) => ReactNode;\n renderLayout: (props: ControlLayoutProps) => RenderedControl;\n renderVisibility: (props: VisibilityRendererProps) => ReactNode;\n}\n\nexport interface AdornmentProps {\n adornment: ControlAdornment;\n}\n\nexport const AppendAdornmentPriority = 0;\nexport const WrapAdornmentPriority = 1000;\n\nexport interface AdornmentRenderer {\n apply(children: RenderedLayout): void;\n adornment?: ControlAdornment;\n priority: number;\n}\n\nexport interface ArrayRendererProps {\n addAction?: ActionRendererProps;\n required: boolean;\n removeAction?: (childIndex: number) => ActionRendererProps;\n childCount: number;\n renderChild: (childIndex: number) => ReactNode;\n childKey: (childIndex: number) => Key;\n arrayControl?: Control<any[] | undefined | null>;\n className?: string;\n style?: React.CSSProperties;\n}\nexport interface Visibility {\n visible: boolean;\n showing: boolean;\n}\n\nexport interface RenderedLayout {\n labelStart?: ReactNode;\n labelEnd?: ReactNode;\n controlStart?: ReactNode;\n controlEnd?: ReactNode;\n label?: ReactNode;\n children?: ReactNode;\n errorControl?: Control<any>;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport interface RenderedControl {\n children: ReactNode;\n className?: string;\n style?: React.CSSProperties;\n divRef?: (cb: HTMLElement | null) => void;\n}\n\nexport interface VisibilityRendererProps extends RenderedControl {\n visibility: Control<Visibility | undefined>;\n}\n\nexport interface ControlLayoutProps {\n label?: LabelRendererProps;\n errorControl?: Control<any>;\n adornments?: AdornmentRenderer[];\n children?: ReactNode;\n processLayout?: (props: ControlLayoutProps) => ControlLayoutProps;\n className?: string | null;\n style?: React.CSSProperties;\n}\n\nexport enum LabelType {\n Control,\n Group,\n}\nexport interface LabelRendererProps {\n type: LabelType;\n hide?: boolean | null;\n label: ReactNode;\n required?: boolean | null;\n forId?: string;\n}\nexport interface DisplayRendererProps {\n data: DisplayData;\n display?: Control<string | undefined>;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport interface GroupRendererProps {\n renderOptions: GroupRenderOptions;\n childCount: number;\n renderChild: (child: number) => ReactNode;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport interface DataRendererProps {\n renderOptions: RenderOptions;\n field: SchemaField;\n id: string;\n control: Control<any>;\n readonly: boolean;\n required: boolean;\n options: FieldOption[] | undefined | null;\n hidden: boolean;\n className?: string;\n style?: React.CSSProperties;\n dataContext: ControlDataContext;\n}\n\nexport interface ActionRendererProps {\n actionId: string;\n actionText: string;\n onClick: () => void;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport interface ControlRenderProps {\n control: Control<any>;\n}\n\nexport interface FormContextOptions {\n readonly?: boolean | null;\n hidden?: boolean | null;\n disabled?: boolean | null;\n}\n\nexport interface DataControlProps {\n definition: DataControlDefinition;\n field: SchemaField;\n dataContext: ControlDataContext;\n control: Control<any>;\n options: FormContextOptions;\n style: React.CSSProperties | undefined;\n}\nexport type CreateDataProps = (\n controlProps: DataControlProps,\n) => DataRendererProps;\n\nexport interface ControlRenderOptions extends FormContextOptions {\n useDataHook?: (c: ControlDefinition) => CreateDataProps;\n useEvalExpressionHook?: UseEvalExpressionHook;\n clearHidden?: boolean;\n schemaInterface?: SchemaInterface;\n}\nexport function useControlRenderer(\n definition: ControlDefinition,\n fields: SchemaField[],\n renderer: FormRenderer,\n options: ControlRenderOptions = {},\n): FC<ControlRenderProps> {\n const dataProps = options.useDataHook?.(definition) ?? defaultDataProps;\n const schemaInterface = options.schemaInterface ?? defaultSchemaInterface;\n const useExpr = options.useEvalExpressionHook ?? defaultUseEvalExpressionHook;\n\n const schemaField = lookupSchemaField(definition, fields);\n const useDefaultValue = useEvalDefaultValueHook(\n useExpr,\n definition,\n schemaField,\n );\n const useIsVisible = useEvalVisibilityHook(useExpr, definition, schemaField);\n const useIsReadonly = useEvalReadonlyHook(useExpr, definition);\n const useIsDisabled = useEvalDisabledHook(useExpr, definition);\n const useCustomStyle = useEvalStyleHook(\n useExpr,\n DynamicPropertyType.Style,\n definition,\n );\n const useLayoutStyle = useEvalStyleHook(\n useExpr,\n DynamicPropertyType.LayoutStyle,\n definition,\n );\n const useDynamicDisplay = useEvalDisplayHook(useExpr, definition);\n const useValidation = useValidationHook(definition);\n const r = useUpdatedRef({ options, definition, fields, schemaField });\n\n const Component = useCallback(\n ({ control: parentControl }: ControlRenderProps) => {\n const stopTracking = useComponentTracking();\n try {\n const { definition: c, options, fields, schemaField } = r.current;\n const dataContext: ControlDataContext = {\n groupControl: parentControl,\n fields,\n schemaInterface,\n };\n const readonlyControl = useIsReadonly(dataContext);\n const disabledControl = useIsDisabled(dataContext);\n const visibleControl = useIsVisible(dataContext);\n const displayControl = useDynamicDisplay(dataContext);\n const customStyle = useCustomStyle(dataContext).value;\n const layoutStyle = useLayoutStyle(dataContext).value;\n const visible = visibleControl.current.value;\n const visibility = useControl<Visibility | undefined>(() =>\n visible != null\n ? {\n visible,\n showing: visible,\n }\n : undefined,\n );\n useControlEffect(\n () => visibleControl.value,\n (visible) => {\n if (visible != null)\n visibility.setValue((ex) => ({\n visible,\n showing: ex ? ex.showing : visible,\n }));\n },\n );\n\n const defaultValueControl = useDefaultValue(dataContext);\n const [control, childContext] = getControlData(\n schemaField,\n dataContext,\n );\n useControlEffect(\n () => [\n visibility.value,\n defaultValueControl.value,\n control,\n parentControl.isNull,\n ],\n ([vc, dv, cd, pn]) => {\n if (pn) {\n parentControl.value = {};\n }\n if (vc && cd && vc.visible === vc.showing) {\n if (!vc.visible) {\n if (options.clearHidden) cd.value = undefined;\n } else if (cd.value == null) {\n cd.value = dv;\n }\n }\n },\n true,\n );\n const myOptions = useCalculatedControl<FormContextOptions>(() => ({\n hidden: options.hidden || !visibility.fields?.showing.value,\n readonly: options.readonly || readonlyControl.value,\n disabled: options.disabled || disabledControl.value,\n })).value;\n useValidation(control!, !!myOptions.hidden, dataContext);\n const childRenderers: FC<ControlRenderProps>[] =\n c.children?.map((cd) =>\n useControlRenderer(cd, childContext.fields, renderer, {\n ...options,\n ...myOptions,\n }),\n ) ?? [];\n useEffect(() => {\n if (control && typeof myOptions.disabled === \"boolean\")\n control.disabled = myOptions.disabled;\n }, [control, myOptions.disabled]);\n if (parentControl.isNull) return <></>;\n const adornments =\n definition.adornments?.map((x) =>\n renderer.renderAdornment({ adornment: x }),\n ) ?? [];\n const labelAndChildren = renderControlLayout({\n definition: c,\n renderer,\n childCount: childRenderers.length,\n renderChild: (k, i, props) => {\n const RenderChild = childRenderers[i];\n return <RenderChild key={k} {...props} />;\n },\n createDataProps: dataProps,\n formOptions: myOptions,\n dataContext,\n control: displayControl ?? control,\n schemaField,\n displayControl,\n style: customStyle,\n });\n const renderedControl = renderer.renderLayout({\n ...labelAndChildren,\n adornments,\n className: c.layoutClass,\n style: layoutStyle,\n });\n return renderer.renderVisibility({ visibility, ...renderedControl });\n } finally {\n stopTracking();\n }\n },\n [\n r,\n dataProps,\n useIsVisible,\n useDefaultValue,\n useIsReadonly,\n useIsDisabled,\n useCustomStyle,\n useLayoutStyle,\n useDynamicDisplay,\n useValidation,\n renderer,\n schemaInterface,\n ],\n );\n (Component as any).displayName = \"RenderControl\";\n return Component;\n}\nexport function lookupSchemaField(\n c: ControlDefinition,\n fields: SchemaField[],\n): SchemaField | undefined {\n const fieldName = isGroupControlsDefinition(c)\n ? c.compoundField\n : isDataControlDefinition(c)\n ? c.field\n : undefined;\n return fieldName ? findField(fields, fieldName) : undefined;\n}\nexport function getControlData(\n schemaField: SchemaField | undefined,\n parentContext: ControlDataContext,\n): [Control<any> | undefined, ControlDataContext] {\n const childControl: Control<any> | undefined = schemaField\n ? parentContext.groupControl.fields?.[schemaField.field] ?? newControl({})\n : undefined;\n return [\n childControl,\n schemaField && isCompoundField(schemaField)\n ? {\n groupControl: childControl!,\n fields: schemaField.children,\n schemaInterface: parentContext.schemaInterface,\n }\n : parentContext,\n ];\n}\n\nfunction renderArray(\n renderer: FormRenderer,\n noun: string,\n field: SchemaField,\n required: boolean,\n arrayControl: Control<any[] | undefined | null>,\n renderChild: (elemIndex: number, control: Control<any>) => ReactNode,\n className: string | null | undefined,\n style: React.CSSProperties | undefined,\n) {\n const elems = arrayControl.elements ?? [];\n return renderer.renderArray({\n arrayControl,\n childCount: elems.length,\n required,\n addAction: {\n actionId: \"add\",\n actionText: \"Add \" + noun,\n onClick: () => addElement(arrayControl, elementValueForField(field)),\n },\n childKey: (i) => elems[i].uniqueId,\n removeAction: (i: number) => ({\n actionId: \"\",\n actionText: \"Remove\",\n onClick: () => removeElement(arrayControl, i),\n }),\n renderChild: (i) => renderChild(i, elems[i]),\n className: cc(className),\n style,\n });\n}\nfunction groupProps(\n renderOptions: GroupRenderOptions = { type: \"Standard\" },\n childCount: number,\n renderChild: ChildRenderer,\n control: Control<any>,\n className: string | null | undefined,\n style: React.CSSProperties | undefined,\n): GroupRendererProps {\n return {\n childCount,\n renderChild: (i) => renderChild(i, i, { control }),\n renderOptions,\n className: cc(className),\n style,\n };\n}\n\nexport function defaultDataProps({\n definition,\n field,\n dataContext,\n control,\n options,\n style,\n}: DataControlProps): DataRendererProps {\n return {\n control,\n field,\n id: \"c\" + control.uniqueId,\n options: (field.options?.length ?? 0) === 0 ? null : field.options,\n readonly: !!options.readonly,\n renderOptions: definition.renderOptions ?? { type: \"Standard\" },\n required: !!definition.required,\n hidden: !!options.hidden,\n className: cc(definition.styleClass),\n style,\n dataContext,\n };\n}\n\nexport type ChildRenderer = (\n k: Key,\n childIndex: number,\n props: ControlRenderProps,\n) => ReactNode;\n\nexport interface RenderControlProps {\n definition: ControlDefinition;\n renderer: FormRenderer;\n childCount: number;\n renderChild: ChildRenderer;\n createDataProps: CreateDataProps;\n formOptions: FormContextOptions;\n dataContext: ControlDataContext;\n control?: Control<any>;\n schemaField?: SchemaField;\n displayControl?: Control<string | undefined>;\n style?: React.CSSProperties;\n}\nexport function renderControlLayout({\n definition: c,\n renderer,\n childCount,\n renderChild: childRenderer,\n control: childControl,\n schemaField,\n dataContext,\n formOptions: dataOptions,\n createDataProps: dataProps,\n displayControl,\n style,\n}: RenderControlProps): ControlLayoutProps {\n if (isDataControlDefinition(c)) {\n return renderData(c);\n }\n if (isGroupControlsDefinition(c)) {\n if (c.compoundField) {\n return renderData(\n dataControl(c.compoundField, c.title, {\n children: c.children,\n hideTitle: c.groupOptions?.hideTitle,\n }),\n );\n }\n return {\n processLayout: renderer.renderGroup(\n groupProps(\n c.groupOptions,\n childCount,\n childRenderer,\n dataContext.groupControl,\n c.styleClass,\n style,\n ),\n ),\n label: {\n label: c.title,\n type: LabelType.Group,\n hide: c.groupOptions?.hideTitle,\n },\n };\n }\n if (isActionControlsDefinition(c)) {\n return {\n children: renderer.renderAction({\n actionText: c.title ?? c.actionId,\n actionId: c.actionId,\n onClick: () => {},\n className: cc(c.styleClass),\n style,\n }),\n };\n }\n if (isDisplayControlsDefinition(c)) {\n return {\n children: renderer.renderDisplay({\n data: c.displayData ?? {},\n className: cc(c.styleClass),\n style,\n display: displayControl,\n }),\n };\n }\n return {};\n\n function renderData(c: DataControlDefinition) {\n if (!schemaField) return { children: \"No schema field for: \" + c.field };\n if (isCompoundField(schemaField)) {\n const label: LabelRendererProps = {\n hide: c.hideTitle,\n label: controlTitle(c.title, schemaField),\n type: schemaField.collection ? LabelType.Control : LabelType.Group,\n };\n\n if (schemaField.collection) {\n return {\n label,\n children: renderArray(\n renderer,\n controlTitle(c.title, schemaField),\n schemaField,\n !!c.required,\n childControl!,\n compoundRenderer,\n c.styleClass,\n style,\n ),\n errorControl: childControl,\n };\n }\n return {\n processLayout: renderer.renderGroup(\n groupProps(\n { type: \"Standard\" },\n childCount,\n childRenderer,\n childControl!,\n c.styleClass,\n style,\n ),\n ),\n label,\n errorControl: childControl,\n };\n }\n const props = dataProps({\n definition: c,\n field: schemaField,\n dataContext,\n control: childControl!,\n options: dataOptions,\n style,\n });\n const labelText = !c.hideTitle\n ? controlTitle(c.title, schemaField)\n : undefined;\n return {\n processLayout: renderer.renderData(\n props,\n schemaField.collection\n ? () =>\n renderArray(\n renderer,\n controlTitle(c.title, schemaField),\n schemaField,\n !!c.required,\n childControl!,\n scalarRenderer(props),\n c.styleClass,\n style,\n )\n : undefined,\n ),\n label: {\n type: LabelType.Control,\n label: labelText,\n forId: props.id,\n required: c.required,\n hide: c.hideTitle,\n },\n errorControl: childControl,\n };\n }\n\n function compoundRenderer(i: number, control: Control<any>): ReactNode {\n const { className, style, children } = renderer.renderLayout({\n processLayout: renderer.renderGroup({\n renderOptions: { type: \"Standard\", hideTitle: true },\n childCount,\n renderChild: (ci) => childRenderer(ci, ci, { control }),\n }),\n });\n return (\n <div key={control.uniqueId} style={style} className={cc(className)}>\n {children}\n </div>\n );\n }\n function scalarRenderer(\n dataProps: DataRendererProps,\n ): (i: number, control: Control<any>) => ReactNode {\n return (i, control) => {\n return (\n <Fragment key={control.uniqueId}>\n {\n renderer.renderData({ ...dataProps, control }, undefined)({})\n .children\n }\n </Fragment>\n );\n };\n }\n}\n\nexport function appendMarkup(\n k: keyof Omit<RenderedLayout, \"errorControl\" | \"style\" | \"className\">,\n markup: ReactNode,\n): (layout: RenderedLayout) => void {\n return (layout) =>\n (layout[k] = (\n <>\n {layout[k]}\n {markup}\n </>\n ));\n}\n\nexport function wrapMarkup(\n k: keyof Omit<RenderedLayout, \"errorControl\" | \"style\" | \"className\">,\n wrap: (ex: ReactNode) => ReactNode,\n): (layout: RenderedLayout) => void {\n return (layout) => (layout[k] = wrap(layout[k]));\n}\n\nexport function layoutKeyForPlacement(\n pos: AdornmentPlacement,\n): keyof Omit<RenderedLayout, \"errorControl\" | \"style\" | \"className\"> {\n switch (pos) {\n case AdornmentPlacement.ControlEnd:\n return \"controlEnd\";\n case AdornmentPlacement.ControlStart:\n return \"controlStart\";\n case AdornmentPlacement.LabelStart:\n return \"labelStart\";\n case AdornmentPlacement.LabelEnd:\n return \"labelEnd\";\n }\n}\n\nexport function appendMarkupAt(\n pos: AdornmentPlacement,\n markup: ReactNode,\n): (layout: RenderedLayout) => void {\n return appendMarkup(layoutKeyForPlacement(pos), markup);\n}\n\nexport function wrapMarkupAt(\n pos: AdornmentPlacement,\n wrap: (ex: ReactNode) => ReactNode,\n): (layout: RenderedLayout) => void {\n return wrapMarkup(layoutKeyForPlacement(pos), wrap);\n}\n\nexport function renderLayoutParts(\n props: ControlLayoutProps,\n renderer: FormRenderer,\n): RenderedLayout {\n const { className, children, style, errorControl, label, adornments } =\n props.processLayout?.(props) ?? props;\n const layout: RenderedLayout = {\n children,\n errorControl,\n style,\n className: cc(className),\n };\n (adornments ?? [])\n .sort((a, b) => a.priority - b.priority)\n .forEach((x) => x.apply(layout));\n layout.label =\n label && !label.hide\n ? renderer.renderLabel(label, layout.labelStart, layout.labelEnd)\n : undefined;\n return layout;\n}\n\nexport function controlTitle(\n title: string | undefined | null,\n field: SchemaField,\n) {\n return title ? title : fieldDisplayName(field);\n}\n","import React, {\n CSSProperties,\n Fragment,\n ReactElement,\n ReactNode,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport clsx from \"clsx\";\nimport { Control, Fcheckbox, formControlProps } from \"@react-typed-forms/core\";\nimport {\n ActionRendererProps,\n AdornmentProps,\n AdornmentRenderer,\n appendMarkupAt,\n ArrayRendererProps,\n ControlLayoutProps,\n DataRendererProps,\n DisplayRendererProps,\n FormRenderer,\n GroupRendererProps,\n LabelRendererProps,\n LabelType,\n RenderedControl,\n RenderedLayout,\n renderLayoutParts,\n VisibilityRendererProps,\n} from \"./controlRender\";\nimport {\n AdornmentPlacement,\n ControlAdornment,\n ControlAdornmentType,\n DataRenderType,\n DisplayDataType,\n FieldOption,\n FieldType,\n FlexRenderer,\n GridRenderer,\n HtmlDisplay,\n IconAdornment,\n IconDisplay,\n isDisplayOnlyRenderer,\n isFlexRenderer,\n isGridRenderer,\n SchemaField,\n SchemaInterface,\n TextDisplay,\n} from \"./types\";\nimport { hasOptions } from \"./util\";\n\nexport interface DefaultRenderers {\n data: DataRendererRegistration;\n label: LabelRendererRegistration;\n action: ActionRendererRegistration;\n array: ArrayRendererRegistration;\n group: GroupRendererRegistration;\n display: DisplayRendererRegistration;\n adornment: AdornmentRendererRegistration;\n renderLayout: LayoutRendererRegistration;\n visibility: VisibilityRendererRegistration;\n}\n\nexport interface LayoutRendererRegistration {\n type: \"layout\";\n match?: (props: ControlLayoutProps) => boolean;\n render: (\n props: ControlLayoutProps,\n renderers: FormRenderer,\n ) => RenderedControl;\n}\nexport interface DataRendererRegistration {\n type: \"data\";\n schemaType?: string | string[];\n renderType?: string | string[];\n options?: boolean;\n collection?: boolean;\n match?: (props: DataRendererProps) => boolean;\n render: (\n props: DataRendererProps,\n asArray: (() => ReactNode) | undefined,\n renderers: FormRenderer,\n ) => ReactNode | ((layout: ControlLayoutProps) => ControlLayoutProps);\n}\n\nexport interface LabelRendererRegistration {\n type: \"label\";\n labelType?: LabelType | LabelType[];\n render: (\n labelProps: LabelRendererProps,\n labelStart: ReactNode,\n labelEnd: ReactNode,\n renderers: FormRenderer,\n ) => ReactElement;\n}\n\nexport interface ActionRendererRegistration {\n type: \"action\";\n actionType?: string | string[];\n render: (props: ActionRendererProps, renderers: FormRenderer) => ReactElement;\n}\n\nexport interface ArrayRendererRegistration {\n type: \"array\";\n render: (props: ArrayRendererProps, renderers: FormRenderer) => ReactElement;\n}\n\nexport interface GroupRendererRegistration {\n type: \"group\";\n renderType?: string | string[];\n render: (\n props: GroupRendererProps,\n renderers: FormRenderer,\n ) => ReactElement | ((layout: ControlLayoutProps) => ControlLayoutProps);\n}\n\nexport interface DisplayRendererRegistration {\n type: \"display\";\n renderType?: string | string[];\n render: (\n props: DisplayRendererProps,\n renderers: FormRenderer,\n ) => ReactElement;\n}\n\nexport interface AdornmentRendererRegistration {\n type: \"adornment\";\n adornmentType?: string | string[];\n render: (props: AdornmentProps) => AdornmentRenderer;\n}\n\nexport interface VisibilityRendererRegistration {\n type: \"visibility\";\n render: (props: VisibilityRendererProps) => ReactNode;\n}\n\nexport type RendererRegistration =\n | DataRendererRegistration\n | GroupRendererRegistration\n | DisplayRendererRegistration\n | ActionRendererRegistration\n | LabelRendererRegistration\n | ArrayRendererRegistration\n | AdornmentRendererRegistration\n | LayoutRendererRegistration\n | VisibilityRendererRegistration;\n\nexport function createFormRenderer(\n customRenderers: RendererRegistration[] = [],\n defaultRenderers: DefaultRenderers = createClassStyledRenderers(),\n): FormRenderer {\n const dataRegistrations = customRenderers.filter(isDataRegistration);\n const groupRegistrations = customRenderers.filter(isGroupRegistration);\n const adornmentRegistrations = customRenderers.filter(\n isAdornmentRegistration,\n );\n const displayRegistrations = customRenderers.filter(isDisplayRegistration);\n const labelRenderers = customRenderers.filter(isLabelRegistration);\n const arrayRenderers = customRenderers.filter(isArrayRegistration);\n const actionRenderers = customRenderers.filter(isActionRegistration);\n const layoutRenderers = customRenderers.filter(isLayoutRegistration);\n const visibilityRenderer =\n customRenderers.find(isVisibilityRegistration) ??\n defaultRenderers.visibility;\n\n const formRenderers: FormRenderer = {\n renderAction,\n renderData,\n renderGroup,\n renderDisplay,\n renderLabel,\n renderArray,\n renderAdornment,\n renderLayout,\n renderVisibility: visibilityRenderer.render,\n };\n\n function renderLayout(props: ControlLayoutProps) {\n const renderer =\n layoutRenderers.find((x) => !x.match || x.match(props)) ??\n defaultRenderers.renderLayout;\n return renderer.render(props, formRenderers);\n }\n\n function renderAdornment(props: AdornmentProps): AdornmentRenderer {\n const renderer =\n adornmentRegistrations.find((x) =>\n isOneOf(x.adornmentType, props.adornment.type),\n ) ?? defaultRenderers.adornment;\n return renderer.render(props);\n }\n\n function renderArray(props: ArrayRendererProps) {\n return (arrayRenderers[0] ?? defaultRenderers.array).render(\n props,\n formRenderers,\n );\n }\n\n function renderLabel(\n props: LabelRendererProps,\n labelStart: ReactNode,\n labelEnd: ReactNode,\n ) {\n const renderer =\n labelRenderers.find((x) => isOneOf(x.labelType, props.type)) ??\n defaultRenderers.label;\n return renderer.render(props, labelStart, labelEnd, formRenderers);\n }\n\n function renderData(\n props: DataRendererProps,\n asArray: (() => ReactNode) | undefined,\n ): (layout: ControlLayoutProps) => ControlLayoutProps {\n const {\n renderOptions: { type: renderType },\n field,\n } = props;\n\n const options = hasOptions(props);\n const renderer =\n dataRegistrations.find(\n (x) =>\n (x.collection ?? false) === (field.collection ?? false) &&\n (x.options ?? false) === options &&\n isOneOf(x.schemaType, field.type) &&\n isOneOf(x.renderType, renderType) &&\n (!x.match || x.match(props)),\n ) ?? defaultRenderers.data;\n\n const result = renderer.render(props, asArray, formRenderers);\n if (typeof result === \"function\") return result;\n return (l) => ({ ...l, children: result });\n }\n\n function renderGroup(\n props: GroupRendererProps,\n ): (layout: ControlLayoutProps) => ControlLayoutProps {\n const renderType = props.renderOptions.type;\n const renderer =\n groupRegistrations.find((x) => isOneOf(x.renderType, renderType)) ??\n defaultRenderers.group;\n const result = renderer.render(props, formRenderers);\n if (typeof result === \"function\") return result;\n return (l) => ({ ...l, children: result });\n }\n\n function renderAction(props: ActionRendererProps) {\n const renderer =\n actionRenderers.find((x) => isOneOf(x.actionType, props.actionId)) ??\n defaultRenderers.action;\n return renderer.render(props, formRenderers);\n }\n\n function renderDisplay(props: DisplayRendererProps) {\n const renderType = props.data.type;\n const renderer =\n displayRegistrations.find((x) => isOneOf(x.renderType, renderType)) ??\n defaultRenderers.display;\n return renderer.render(props, formRenderers);\n }\n\n return formRenderers;\n}\n\ninterface DefaultLabelRendererOptions {\n className?: string;\n groupLabelClass?: string;\n requiredElement?: ReactNode;\n}\n\ninterface DefaultActionRendererOptions {\n className?: string;\n}\n\nexport function createDefaultActionRenderer(\n options: DefaultActionRendererOptions = {},\n): ActionRendererRegistration {\n function render({ onClick, actionText }: ActionRendererProps) {\n return (\n <button className={options.className} onClick={onClick}>\n {actionText}\n </button>\n );\n }\n return { render, type: \"action\" };\n}\nexport function createDefaultLabelRenderer(\n options: DefaultLabelRendererOptions = { requiredElement: <span> *</span> },\n): LabelRendererRegistration {\n const { className, groupLabelClass, requiredElement } = options;\n return {\n render: (props, labelStart, labelEnd) => (\n <>\n {labelStart}\n <label\n htmlFor={props.forId}\n className={clsx(\n className,\n props.type === LabelType.Group && groupLabelClass,\n )}\n >\n {props.label}\n {props.required && requiredElement}\n </label>\n {labelEnd}\n </>\n ),\n type: \"label\",\n };\n}\n\ninterface DefaultArrayRendererOptions {\n className?: string;\n removableClass?: string;\n childClass?: string;\n removableChildClass?: string;\n removeActionClass?: string;\n addActionClass?: string;\n}\n\nexport function createDefaultArrayRenderer(\n options?: DefaultArrayRendererOptions,\n): ArrayRendererRegistration {\n const {\n className,\n removableClass,\n childClass,\n removableChildClass,\n removeActionClass,\n addActionClass,\n } = options ?? {};\n function render(\n {\n childCount,\n renderChild,\n addAction,\n removeAction,\n childKey,\n required,\n }: ArrayRendererProps,\n { renderAction }: FormRenderer,\n ) {\n const showRemove = !required || childCount > 1;\n return (\n <div>\n <div className={clsx(className, removeAction && removableClass)}>\n {Array.from({ length: childCount }, (_, x) =>\n removeAction ? (\n <Fragment key={childKey(x)}>\n <div className={clsx(childClass, removableChildClass)}>\n {renderChild(x)}\n </div>\n <div className={removeActionClass}>\n {showRemove && renderAction(removeAction(x))}\n </div>\n </Fragment>\n ) : (\n <div key={childKey(x)} className={childClass}>\n {renderChild(x)}\n </div>\n ),\n )}\n </div>\n {addAction && (\n <div className={addActionClass}>{renderAction(addAction)}</div>\n )}\n </div>\n );\n }\n return { render, type: \"array\" };\n}\n\ninterface StyleProps {\n className?: string;\n style?: CSSProperties;\n}\n\ninterface DefaultGroupRendererOptions {\n className?: string;\n standardClassName?: string;\n gridStyles?: (columns: GridRenderer) => StyleProps;\n gridClassName?: string;\n defaultGridColumns?: number;\n flexClassName?: string;\n defaultFlexGap?: string;\n}\n\nexport function createDefaultGroupRenderer(\n options?: DefaultGroupRendererOptions,\n): GroupRendererRegistration {\n const {\n className,\n gridStyles = defaultGridStyles,\n defaultGridColumns = 2,\n gridClassName,\n standardClassName,\n flexClassName,\n defaultFlexGap,\n } = options ?? {};\n\n function defaultGridStyles({\n columns = defaultGridColumns,\n }: GridRenderer): StyleProps {\n return {\n className: gridClassName,\n style: {\n display: \"grid\",\n gridTemplateColumns: `repeat(${columns}, 1fr)`,\n },\n };\n }\n\n function flexStyles(options: FlexRenderer): StyleProps {\n return {\n className: flexClassName,\n style: {\n display: \"flex\",\n gap: options.gap ? options.gap : defaultFlexGap,\n flexDirection: options.direction\n ? (options.direction as any)\n : undefined,\n },\n };\n }\n\n function render(props: GroupRendererProps) {\n const { childCount, renderChild, renderOptions } = props;\n\n const { style, className: gcn } = isGridRenderer(renderOptions)\n ? gridStyles(renderOptions)\n : isFlexRenderer(renderOptions)\n ? flexStyles(renderOptions)\n : ({ className: standardClassName } as StyleProps);\n\n return (cp: ControlLayoutProps) => {\n return {\n ...cp,\n children: (\n <div className={clsx(props.className, className, gcn)} style={style}>\n {Array.from({ length: childCount }, (_, x) => renderChild(x))}\n </div>\n ),\n };\n };\n }\n return { type: \"group\", render };\n}\n\nexport interface DefaultDisplayRendererOptions {\n textClassName?: string;\n htmlClassName?: string;\n}\nexport function createDefaultDisplayRenderer(\n options: DefaultDisplayRendererOptions = {},\n): DisplayRendererRegistration {\n return {\n render: (props) => <DefaultDisplay {...options} {...props} />,\n type: \"display\",\n };\n}\n\nexport function DefaultDisplay({\n data,\n display,\n className,\n style,\n ...options\n}: DefaultDisplayRendererOptions & DisplayRendererProps) {\n switch (data.type) {\n case DisplayDataType.Icon:\n return (\n <i\n style={style}\n className={clsx(\n className,\n display ? display.value : (data as IconDisplay).iconClass,\n )}\n />\n );\n case DisplayDataType.Text:\n return (\n <div style={style} className={clsx(className, options.textClassName)}>\n {display ? display.value : (data as TextDisplay).text}\n </div>\n );\n case DisplayDataType.Html:\n return (\n <div\n style={style}\n className={clsx(className, options.htmlClassName)}\n dangerouslySetInnerHTML={{\n __html: display ? display.value ?? \"\" : (data as HtmlDisplay).html,\n }}\n />\n );\n default:\n return <h1>Unknown display type: {data.type}</h1>;\n }\n}\n\nexport const DefaultBoolOptions: FieldOption[] = [\n { name: \"Yes\", value: true },\n { name: \"No\", value: false },\n];\ninterface DefaultDataRendererOptions {\n inputClass?: string;\n displayOnlyClass?: string;\n selectOptions?: SelectRendererOptions;\n booleanOptions?: FieldOption[];\n optionRenderer?: DataRendererRegistration;\n}\n\nexport function createDefaultDataRenderer(\n options: DefaultDataRendererOptions = {},\n): DataRendererRegistration {\n const selectRenderer = createSelectRenderer(options.selectOptions ?? {});\n const { inputClass, booleanOptions, optionRenderer, displayOnlyClass } = {\n optionRenderer: selectRenderer,\n booleanOptions: DefaultBoolOptions,\n ...options,\n };\n return createDataRenderer((props, asArray, renderers) => {\n if (asArray) {\n return asArray();\n }\n const renderOptions = props.renderOptions;\n let renderType = renderOptions.type;\n const fieldType = props.field.type;\n if (fieldType == FieldType.Any) return <>No control for Any</>;\n if (isDisplayOnlyRenderer(renderOptions))\n return (p) => ({\n ...p,\n className: displayOnlyClass,\n children: (\n <DefaultDisplayOnly\n field={props.field}\n schemaInterface={props.dataContext.schemaInterface}\n control={props.control}\n className={props.className}\n style={props.style}\n emptyText={renderOptions.emptyText}\n />\n ),\n });\n const isBool = fieldType === FieldType.Bool;\n if (booleanOptions != null && isBool && props.options == null) {\n return renderers.renderData(\n { ...props, options: booleanOptions },\n undefined,\n );\n }\n if (renderType === DataRenderType.Standard && hasOptions(props)) {\n return optionRenderer.render(props, undefined, renderers);\n }\n switch (renderType) {\n case DataRenderType.Dropdown:\n return selectRenderer.render(props, undefined, renderers);\n }\n return renderType === DataRenderType.Checkbox ? (\n <Fcheckbox\n style={props.style}\n className={props.className}\n control={props.control}\n />\n ) : (\n <ControlInput\n className={clsx(props.className, inputClass)}\n style={props.style}\n id={props.id}\n readOnly={props.readonly}\n control={props.control}\n convert={createInputConversion(props.field.type)}\n />\n );\n });\n}\n\nexport function DefaultDisplayOnly({\n control,\n className,\n emptyText,\n schemaInterface,\n field,\n style,\n}: {\n control: Control<any>;\n field: SchemaField;\n schemaInterface: SchemaInterface;\n className?: string;\n style?: React.CSSProperties;\n emptyText?: string | null;\n}) {\n const v = control.value;\n const text =\n (schemaInterface.isEmptyValue(field, v)\n ? emptyText\n : schemaInterface.textValue(field, v)) ?? \"\";\n return (\n <div style={style} className={className}>\n {text}\n </div>\n );\n}\n\nexport function ControlInput({\n control,\n convert,\n ...props\n}: React.InputHTMLAttributes<HTMLInputElement> & {\n control: Control<any>;\n convert: InputConversion;\n}) {\n const { errorText, value, onChange, ...inputProps } =\n formControlProps(control);\n return (\n <input\n {...inputProps}\n type={convert[0]}\n value={value == null ? \"\" : convert[2](value)}\n onChange={(e) => {\n control.value = convert[1](e.target.value);\n }}\n {...props}\n />\n );\n}\n\nexport interface DefaultAdornmentRendererOptions {}\n\nexport function createDefaultAdornmentRenderer(\n options: DefaultAdornmentRendererOptions = {},\n): AdornmentRendererRegistration {\n return {\n type: \"adornment\",\n render: ({ adornment }) => ({\n apply: (rl) => {\n if (isIconAdornment(adornment)) {\n return appendMarkupAt(\n adornment.placement ?? AdornmentPlacement.ControlStart,\n <i className={adornment.iconClass} />,\n )(rl);\n }\n },\n priority: 0,\n adornment,\n }),\n };\n}\n\nexport interface DefaultLayoutRendererOptions {\n className?: string;\n errorClass?: string;\n}\n\nexport interface DefaultRendererOptions {\n data?: DefaultDataRendererOptions;\n display?: DefaultDisplayRendererOptions;\n action?: DefaultActionRendererOptions;\n array?: DefaultArrayRendererOptions;\n group?: DefaultGroupRendererOptions;\n label?: DefaultLabelRendererOptions;\n adornment?: DefaultAdornmentRendererOptions;\n layout?: DefaultLayoutRendererOptions;\n}\n\nexport function createDefaultRenderers(\n options: DefaultRendererOptions = {},\n): DefaultRenderers {\n return {\n data: createDefaultDataRenderer(options.data),\n display: createDefaultDisplayRenderer(options.display),\n action: createDefaultActionRenderer(options.action),\n array: createDefaultArrayRenderer(options.array),\n group: createDefaultGroupRenderer(options.group),\n label: createDefaultLabelRenderer(options.label),\n adornment: createDefaultAdornmentRenderer(options.adornment),\n renderLayout: createDefaultLayoutRenderer(options.layout),\n visibility: createDefaultVisibilityRenderer(),\n };\n}\n\nfunction createDefaultLayoutRenderer(\n options: DefaultLayoutRendererOptions = {},\n) {\n return createLayoutRenderer((props, renderers) => {\n const layout = renderLayoutParts(\n { ...props, className: clsx(props.className, options.className) },\n renderers,\n );\n return {\n children: <DefaultLayout layout={layout} {...options} />,\n className: layout.className,\n style: layout.style,\n divRef: (e) =>\n e && props.errorControl\n ? (props.errorControl.meta.scrollElement = e)\n : undefined,\n };\n });\n}\n\nfunction createClassStyledRenderers() {\n return createDefaultRenderers({\n layout: { className: \"control\" },\n group: { className: \"group\" },\n array: { className: \"control-array\" },\n action: { className: \"action\" },\n data: { inputClass: \"data\" },\n display: { htmlClassName: \"html\", textClassName: \"text\" },\n });\n}\n\nfunction isAdornmentRegistration(\n x: RendererRegistration,\n): x is AdornmentRendererRegistration {\n return x.type === \"adornment\";\n}\n\nfunction isDataRegistration(\n x: RendererRegistration,\n): x is DataRendererRegistration {\n return x.type === \"data\";\n}\n\nfunction isGroupRegistration(\n x: RendererRegistration,\n): x is GroupRendererRegistration {\n return x.type === \"group\";\n}\n\nfunction isLabelRegistration(\n x: RendererRegistration,\n): x is LabelRendererRegistration {\n return x.type === \"label\";\n}\n\nfunction isLayoutRegistration(\n x: RendererRegistration,\n): x is LayoutRendererRegistration {\n return x.type === \"layout\";\n}\n\nfunction isVisibilityRegistration(\n x: RendererRegistration,\n): x is VisibilityRendererRegistration {\n return x.type === \"visibility\";\n}\n\nfunction isActionRegistration(\n x: RendererRegistration,\n): x is ActionRendererRegistration {\n return x.type === \"action\";\n}\n\nfunction isDisplayRegistration(\n x: RendererRegistration,\n): x is DisplayRendererRegistration {\n return x.type === \"display\";\n}\n\nfunction isArrayRegistration(\n x: RendererRegistration,\n): x is ArrayRendererRegistration {\n return x.type === \"array\";\n}\nfunction isOneOf<A>(x: A | A[] | undefined, v: A) {\n return x == null ? true : Array.isArray(x) ? x.includes(v) : v === x;\n}\n\nexport function isIconAdornment(a: ControlAdornment): a is IconAdornment {\n return a.type === ControlAdornmentType.Icon;\n}\n\nexport function createLayoutRenderer(\n render: LayoutRendererRegistration[\"render\"],\n options?: Partial<LayoutRendererRegistration>,\n): LayoutRendererRegistration {\n return { type: \"layout\", render, ...options };\n}\n\nexport function createArrayRenderer(\n render: ArrayRendererRegistration[\"render\"],\n options?: Partial<ArrayRendererRegistration>,\n): ArrayRendererRegistration {\n return { type: \"array\", render, ...options };\n}\n\nexport function createDataRenderer(\n render: DataRendererRegistration[\"render\"],\n options?: Partial<DataRendererRegistration>,\n): DataRendererRegistration {\n return { type: \"data\", render, ...options };\n}\n\nexport function createLabelRenderer(\n render: LabelRendererRegistration[\"render\"],\n options?: Omit<LabelRendererRegistration, \"type\">,\n): LabelRendererRegistration {\n return { type: \"label\", render, ...options };\n}\n\nexport function createVisibilityRenderer(\n render: VisibilityRendererRegistration[\"render\"],\n options?: Partial<VisibilityRendererRegistration>,\n): VisibilityRendererRegistration {\n return { type: \"visibility\", render, ...options };\n}\n\nexport function createAdornmentRenderer(\n render: (props: AdornmentProps) => AdornmentRenderer,\n options?: Partial<AdornmentRendererRegistration>,\n): AdornmentRendererRegistration {\n return { type: \"adornment\", ...options, render };\n}\n\nexport interface SelectRendererOptions {\n className?: string;\n emptyText?: string;\n requiredText?: string;\n}\n\nexport function createSelectRenderer(options: SelectRendererOptions = {}) {\n return createDataRenderer(\n (props, asArray) => (\n <SelectDataRenderer\n className={clsx(props.className, options.className)}\n state={props.control}\n id={props.id}\n options={props.options!}\n required={props.required}\n emptyText={options.emptyText}\n requiredText={options.requiredText}\n convert={createSelectConversion(props.field.type)}\n />\n ),\n {\n options: true,\n },\n );\n}\n\ntype SelectConversion = (a: any) => string | number;\n\ninterface SelectDataRendererProps {\n id?: string;\n className?: string;\n options: {\n name: string;\n value: any;\n disabled?: boolean;\n }[];\n emptyText?: string;\n requiredText?: string;\n required: boolean;\n state: Control<any>;\n convert: SelectConversion;\n}\n\nexport function SelectDataRenderer({\n state,\n options,\n className,\n convert,\n required,\n emptyText = \"N/A\",\n requiredText = \"<please select>\",\n ...props\n}: SelectDataRendererProps) {\n const { value, disabled } = state;\n const [showEmpty] = useState(!required || value == null);\n const optionStringMap = useMemo(\n () => Object.fromEntries(options.map((x) => [convert(x.value), x.value])),\n [options],\n );\n return (\n <select\n {...props}\n className={className}\n onChange={(v) => (state.value = optionStringMap[v.target.value])}\n value={convert(value)}\n disabled={disabled}\n >\n {showEmpty && (\n <option value=\"\">{required ? requiredText : emptyText}</option>\n )}\n {options.map((x, i) => (\n <option key={i} value={convert(x.value)} disabled={x.disabled}>\n {x.name}\n </option>\n ))}\n </select>\n );\n}\n\nexport function createSelectConversion(ft: string): SelectConversion {\n switch (ft) {\n case FieldType.String:\n case FieldType.Int:\n case FieldType.Double:\n return (a) => a;\n default:\n return (a) => a?.toString() ?? \"\";\n }\n}\n\ntype InputConversion = [string, (s: any) => any, (a: any) => string | number];\n\nexport function createInputConversion(ft: string): InputConversion {\n switch (ft) {\n case FieldType.String:\n return [\"text\", (a) => a, (a) => a];\n case FieldType.Bool:\n return [\"text\", (a) => a === \"true\", (a) => a?.toString() ?? \"\"];\n case FieldType.Int:\n return [\n \"number\",\n (a) => (a !== \"\" ? parseInt(a) : null),\n (a) => (a == null ? \"\" : a),\n ];\n case FieldType.Date:\n return [\"date\", (a) => a, (a) => a];\n case FieldType.Double:\n return [\"number\", (a) => parseFloat(a), (a) => a];\n default:\n return [\"text\", (a) => a, (a) => a];\n }\n}\n\nexport function createDefaultVisibilityRenderer() {\n return createVisibilityRenderer((props) => <DefaultVisibility {...props} />);\n}\n\nexport function DefaultVisibility({\n visibility,\n children,\n className,\n style,\n divRef,\n}: VisibilityRendererProps) {\n const v = visibility.value;\n useEffect(() => {\n if (v) {\n visibility.setValue((ex) => ({ visible: v.visible, showing: v.visible }));\n }\n }, [v?.visible]);\n return v?.visible ? (\n <div className={clsx(className)} style={style} ref={divRef}>\n {children}\n </div>\n ) : (\n <></>\n );\n}\n\nexport function DefaultLayout({\n errorClass,\n className,\n layout: { controlEnd, controlStart, label, children, errorControl },\n}: DefaultLayoutRendererOptions & {\n layout: RenderedLayout;\n}) {\n const ec = errorControl;\n const errorText = ec && ec.touched ? ec.error : undefined;\n return (\n <>\n {label}\n {controlStart}\n {children}\n {errorText && <div className={errorClass}>{errorText}</div>}\n {controlEnd}\n </>\n );\n}\n","import React from \"react\";\nimport { DefaultRendererOptions } from \"./renderers\";\n\nexport const defaultTailwindTheme: DefaultRendererOptions = {\n label: {\n groupLabelClass: \"font-bold\",\n requiredElement: <span className=\"text-red-500\"> *</span>,\n },\n array: {\n removableClass: \"grid grid-cols-[1fr_auto] items-center gap-x-2\",\n childClass: \"grow my-2\",\n addActionClass: \"my-2\",\n },\n group: {\n standardClassName: \"flex flex-col gap-4\",\n gridClassName: \"gap-x-2 gap-y-4\",\n flexClassName: \"gap-2\",\n },\n action: {\n className: \"bg-primary rounded-lg p-3 text-white\",\n },\n layout: {\n className: \"flex flex-col\",\n errorClass: \"text-sm text-danger-500\",\n },\n data: {\n displayOnlyClass: \"flex flex-row items-center gap-2\",\n },\n};\n"],"names":["FieldType","ControlDefinitionType","DynamicPropertyType","ExpressionType","AdornmentPlacement","ControlAdornmentType","DataRenderType","SyncTextType","GroupRenderType","DisplayDataType","ValidatorType","DateComparison","isDataControlDefinition","x","type","Data","isGroupControlsDefinition","Group","isDisplayControlsDefinition","Display","isActionControlsDefinition","Action","visitControlDefinition","visitor","defaultValue","action","data","display","group","isGridRenderer","options","Grid","isFlexRenderer","Flex","isDisplayOnlyRenderer","DisplayOnly","buildSchema","def","Object","entries","map","stringField","displayName","makeScalarField","_extends","String","stringOptionsField","slice","call","arguments","withScalarOptions","v","n","defaultScalarField","makeCompoundField","defaultCompoundField","intField","Int","boolField","Bool","compoundField","fields","other","field","children","collection","Compound","applyDefaultValues","defaultValueForFields","applyValue","filter","isCompoundField","length","out","forEach","applyDefaultForField","defaultValueForField","parent","notElement","required","treeChildren","fromEntries","sf","undefined","isRequired","childValue","notNullable","elementValueForField","findScalarField","findField","findCompoundField","find","isScalarField","isDataControl","c","isGroupControl","fieldHasTag","tag","_field$tags","Boolean","tags","includes","fieldDisplayName","_field$displayName","hasOptions","o","_o$options$length","_o$options","defaultControlForField","title","groupOptions","hideTitle","_sf$tags","htmlEditor","renderOptions","HtmlEditor","Standard","findReferencedControl","control","_control$children","findReferencedControlInArray","controls","_iterator","_createForOfIteratorHelperLoose","_step","done","value","ref","addMissingControls","changes","flatMap","existing","changedCompounds","_cf$children","ex","cf","concat","useUpdatedRef","a","r","useRef","current","isControlReadonly","readonly","getDisplayOnlyOptions","d","getTypeField","context","_context$groupControl","typeSchemaField","isTypeField","groupControl","visitControlDataArray","cb","_iterator2","_step2","visitControlData","definition","ctx","processData","fieldName","fieldData","result","_iterator3","_control$elements","elements","_step3","elemResult","cfResult","schemaInterface","cleanDataForSchema","typeField","typeValue","cleanableFields","_x$onlyForTypes$lengt","_x$onlyForTypes","onlyForTypes","_x$onlyForTypes2","canBeNull","childFields","Array","isArray","cv","dataControl","textDisplayControl","text","displayData","Text","htmlDisplayControl","html","Html","dynamicDefaultValue","expr","DefaultValue","dynamicReadonly","Readonly","dynamicVisibility","Visible","dynamicDisabled","Disabled","fieldEqExpr","DataMatch","jsonataExpr","expression","Jsonata","groupedControl","compoundControl","createAction","actionId","onClick","actionText","emptyGroupDefinition","useControlDefinitionForSchema","useMemo","_definition$children","useCalculatedControl","calculate","useControl","useControlEffect","cc","useEvalVisibilityHook","useEvalExpressionHook","schemaField","useEvalDynamicHook","useCallback","_dynamicVisibility","_r$current","useComputed","matchesType","hideDisplayOnly","useEvalReadonlyHook","useEvalStyleHook","property","dynamicStyle","useEvalDisabledHook","useEvalDisplayHook","dynamicDisplay","useEvalDefaultValueHook","dynamicValue","_dynamicValue","_r$current2","calcDefault","_ref","dcv","useDataExpression","fvExpr","refField","otherField","useDataMatchExpression","fv","defaultEvalHooks","useJsonataExpression","defaultUseEvalExpressionHook","makeEvalExpressionHook","f","_definition$dynamic","dynamic","types","displayOptions","emptyText","isEmptyValue","jExpr","compiledExpr","jsonata","e","console","error","Promise","resolve","evaluate","then","_compiledExpr$evaluat","reject","useValidationHook","_definition$validator","_definition$validator2","validatorTypes","validators","hidden","groupContext","_dd$validators","dd","useValueChangeEffect","setError","useValidator","i","useJsonataValidator","Date","useDateValidator","errorMsg","msg","dv","comparisonDate","fixedDate","parse","nowDate","UTC","getFullYear","getMonth","getDate","daysFromCurrent","selDate","notAfter","comparison","NotAfter","toDateString","defaultSchemaInterface","defaultIsEmpty","textValue","defaultTextValue","DateTime","toLocaleDateString","toString","AppendAdornmentPriority","WrapAdornmentPriority","LabelType","useControlRenderer","renderer","_options$useDataHook","_options$schemaInterf","_options$useEvalExpre","dataProps","useDataHook","defaultDataProps","useExpr","lookupSchemaField","useDefaultValue","useIsVisible","useIsReadonly","useIsDisabled","useCustomStyle","Style","useLayoutStyle","LayoutStyle","useDynamicDisplay","useValidation","Component","parentControl","stopTracking","useComponentTracking","_c$children$map","_c$children","_definition$adornment","_definition$adornment2","dataContext","readonlyControl","disabledControl","visibleControl","displayControl","customStyle","layoutStyle","visible","visibility","showing","setValue","defaultValueControl","_getControlData","getControlData","childContext","isNull","_ref2","vc","cd","pn","clearHidden","myOptions","_visibility$fields","disabled","childRenderers","useEffect","React","createElement","Fragment","adornments","renderAdornment","adornment","labelAndChildren","renderControlLayout","childCount","renderChild","k","props","RenderChild","key","createDataProps","formOptions","style","renderedControl","renderLayout","className","layoutClass","renderVisibility","parentContext","_parentContext$groupC","_parentContext$groupC2","childControl","newControl","renderArray","noun","arrayControl","_arrayControl$element","elems","addAction","addElement","childKey","uniqueId","removeAction","removeElement","groupProps","_ref3","_field$options$length","_field$options","_definition$renderOpt","id","styleClass","_ref4","childRenderer","dataOptions","renderData","_c$groupOptions2","_c$groupOptions","processLayout","renderGroup","label","hide","_c$title","renderAction","_c$displayData","renderDisplay","controlTitle","Control","compoundRenderer","errorControl","labelText","scalarRenderer","forId","_renderer$renderLayou","ci","appendMarkup","markup","layout","wrapMarkup","wrap","layoutKeyForPlacement","pos","ControlEnd","ControlStart","LabelStart","LabelEnd","appendMarkupAt","wrapMarkupAt","renderLayoutParts","_props$processLayout","_ref5","sort","b","priority","apply","renderLabel","labelStart","labelEnd","createFormRenderer","customRenderers","defaultRenderers","_customRenderers$find","createClassStyledRenderers","dataRegistrations","isDataRegistration","groupRegistrations","isGroupRegistration","adornmentRegistrations","isAdornmentRegistration","displayRegistrations","isDisplayRegistration","labelRenderers","isLabelRegistration","arrayRenderers","isArrayRegistration","actionRenderers","isActionRegistration","layoutRenderers","isLayoutRegistration","visibilityRenderer","isVisibilityRegistration","formRenderers","render","_layoutRenderers$find","match","_adornmentRegistratio","isOneOf","adornmentType","_arrayRenderers$","array","_labelRenderers$find","labelType","asArray","_dataRegistrations$fi","renderType","_x$collection","_field$collection","_x$options","schemaType","l","_groupRegistrations$f","_actionRenderers$find","actionType","_displayRegistrations","createDefaultActionRenderer","createDefaultLabelRenderer","requiredElement","_options","groupLabelClass","htmlFor","clsx","createDefaultArrayRenderer","removableClass","childClass","removableChildClass","removeActionClass","addActionClass","showRemove","from","_","createDefaultGroupRenderer","_ref5$gridStyles","gridStyles","defaultGridStyles","_ref5$defaultGridColu","defaultGridColumns","gridClassName","standardClassName","flexClassName","defaultFlexGap","_ref6","_ref6$columns","columns","gridTemplateColumns","flexStyles","gap","flexDirection","direction","_ref7","gcn","cp","createDefaultDisplayRenderer","DefaultDisplay","_ref8","_effect","_useComponentTracking","_display$value","_objectWithoutPropertiesLoose","_excluded","Icon","iconClass","textClassName","htmlClassName","dangerouslySetInnerHTML","__html","DefaultBoolOptions","name","createDefaultDataRenderer","_options$selectOption","selectRenderer","createSelectRenderer","selectOptions","_optionRenderer$boole","optionRenderer","booleanOptions","inputClass","displayOnlyClass","createDataRenderer","renderers","fieldType","Any","p","DefaultDisplayOnly","isBool","Dropdown","Checkbox","Fcheckbox","ControlInput","readOnly","convert","createInputConversion","_ref9","_effect2","_ref10","_ref11","_effect3","_excluded2","_formControlProps","formControlProps","errorText","onChange","inputProps","_excluded3","target","createDefaultAdornmentRenderer","_ref12","rl","isIconAdornment","_adornment$placement","placement","createDefaultRenderers","createDefaultLayoutRenderer","createDefaultVisibilityRenderer","createLayoutRenderer","DefaultLayout","divRef","meta","scrollElement","createArrayRenderer","createLabelRenderer","createVisibilityRenderer","createAdornmentRenderer","SelectDataRenderer","state","requiredText","createSelectConversion","_ref13","_effect4","_ref13$emptyText","_ref13$requiredText","_excluded4","_useState","useState","showEmpty","optionStringMap","ft","Double","_a$toString","_a$toString2","parseInt","parseFloat","DefaultVisibility","_ref14","_effect5","_ref15","_effect6","errorClass","_ref15$layout","controlEnd","controlStart","ec","touched","defaultTailwindTheme"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/types.ts","../src/schemaBuilder.ts","../src/util.ts","../src/controlBuilder.ts","../src/internal.ts","../src/hooks.tsx","../src/validators.ts","../src/schemaInterface.ts","../src/controlRender.tsx","../src/renderers.tsx","../src/tailwind.tsx"],"sourcesContent":["export interface SchemaField {\n type: string;\n field: string;\n displayName?: string | null;\n tags?: string[] | null;\n system?: boolean | null;\n collection?: boolean | null;\n onlyForTypes?: string[] | null;\n required?: boolean | null;\n notNullable?: boolean | null;\n defaultValue?: any;\n isTypeField?: boolean | null;\n searchable?: boolean | null;\n options?: FieldOption[] | null;\n validators?: SchemaValidator[] | null;\n}\n\nexport enum FieldType {\n String = \"String\",\n Bool = \"Bool\",\n Int = \"Int\",\n Date = \"Date\",\n DateTime = \"DateTime\",\n Double = \"Double\",\n EntityRef = \"EntityRef\",\n Compound = \"Compound\",\n AutoId = \"AutoId\",\n Image = \"Image\",\n Any = \"Any\",\n}\n\nexport interface EntityRefField extends SchemaField {\n type: FieldType.EntityRef;\n entityRefType: string;\n parentField: string;\n}\n\nexport interface FieldOption {\n name: string;\n value: any;\n}\n\nexport interface CompoundField extends SchemaField {\n type: FieldType.Compound;\n children: SchemaField[];\n treeChildren?: boolean;\n}\n\nexport type AnyControlDefinition =\n | DataControlDefinition\n | GroupedControlsDefinition\n | ActionControlDefinition\n | DisplayControlDefinition;\n\nexport interface SchemaInterface {\n isEmptyValue(field: SchemaField, value: any): boolean;\n textValue(\n field: SchemaField,\n value: any,\n element?: boolean,\n ): string | undefined;\n}\nexport interface ControlDefinition {\n type: string;\n title?: string | null;\n styleClass?: string | null;\n layoutClass?: string | null;\n dynamic?: DynamicProperty[] | null;\n adornments?: ControlAdornment[] | null;\n children?: ControlDefinition[] | null;\n}\n\nexport enum ControlDefinitionType {\n Data = \"Data\",\n Group = \"Group\",\n Display = \"Display\",\n Action = \"Action\",\n}\n\nexport interface DynamicProperty {\n type: string;\n expr: EntityExpression;\n}\n\nexport enum DynamicPropertyType {\n Visible = \"Visible\",\n DefaultValue = \"DefaultValue\",\n Readonly = \"Readonly\",\n Disabled = \"Disabled\",\n Display = \"Display\",\n Style = \"Style\",\n LayoutStyle = \"LayoutStyle\",\n AllowedOptions = \"AllowedOptions\"\n}\n\nexport interface EntityExpression {\n type: string;\n}\n\nexport enum ExpressionType {\n Jsonata = \"Jsonata\",\n Data = \"Data\",\n DataMatch = \"FieldValue\",\n UserMatch = \"UserMatch\",\n}\n\nexport interface JsonataExpression extends EntityExpression {\n type: ExpressionType.Jsonata;\n expression: string;\n}\n\nexport interface DataExpression extends EntityExpression {\n type: ExpressionType.Data;\n field: string;\n}\n\nexport interface DataMatchExpression extends EntityExpression {\n type: ExpressionType.DataMatch;\n field: string;\n value: any;\n}\n\nexport interface UserMatchExpression extends EntityExpression {\n type: ExpressionType.UserMatch;\n userMatch: string;\n}\n\nexport interface ControlAdornment {\n type: string;\n}\n\nexport enum AdornmentPlacement {\n ControlStart = \"ControlStart\",\n ControlEnd = \"ControlEnd\",\n LabelStart = \"LabelStart\",\n LabelEnd = \"LabelEnd\",\n}\n\nexport enum ControlAdornmentType {\n Tooltip = \"Tooltip\",\n Accordion = \"Accordion\",\n HelpText = \"HelpText\",\n Icon = \"Icon\",\n}\n\nexport interface IconAdornment extends ControlAdornment {\n type: ControlAdornmentType.Icon;\n iconClass: string;\n placement?: AdornmentPlacement | null;\n}\n\nexport interface TooltipAdornment extends ControlAdornment {\n type: ControlAdornmentType.Tooltip;\n tooltip: string;\n}\n\nexport interface AccordionAdornment extends ControlAdornment {\n type: ControlAdornmentType.Accordion;\n title: string;\n defaultExpanded: boolean;\n}\n\nexport interface HelpTextAdornment extends ControlAdornment {\n type: ControlAdornmentType.HelpText;\n helpText: string;\n placement?: AdornmentPlacement | null;\n}\n\nexport interface DataControlDefinition extends ControlDefinition {\n type: ControlDefinitionType.Data;\n field: string;\n required?: boolean | null;\n renderOptions?: RenderOptions | null;\n defaultValue?: any;\n readonly?: boolean | null;\n validators?: SchemaValidator[] | null;\n hideTitle?: boolean | null;\n dontClearHidden?: boolean | null;\n}\n\nexport interface RenderOptions {\n type: string;\n}\n\nexport enum DataRenderType {\n Standard = \"Standard\",\n Radio = \"Radio\",\n HtmlEditor = \"HtmlEditor\",\n IconList = \"IconList\",\n CheckList = \"CheckList\",\n UserSelection = \"UserSelection\",\n Synchronised = \"Synchronised\",\n IconSelector = \"IconSelector\",\n DateTime = \"DateTime\",\n Checkbox = \"Checkbox\",\n Dropdown = \"Dropdown\",\n DisplayOnly = \"DisplayOnly\",\n}\n\nexport interface RadioButtonRenderOptions extends RenderOptions {\n type: DataRenderType.Radio;\n}\n\nexport interface StandardRenderer extends RenderOptions {\n type: DataRenderType.Standard;\n}\n\nexport interface HtmlEditorRenderOptions extends RenderOptions {\n type: DataRenderType.HtmlEditor;\n allowImages: boolean;\n}\n\nexport interface DateTimeRenderOptions extends RenderOptions {\n type: DataRenderType.DateTime;\n format?: string | null;\n}\n\nexport interface IconListRenderOptions extends RenderOptions {\n type: DataRenderType.IconList;\n iconMappings: IconMapping[];\n}\n\nexport interface DisplayOnlyRenderOptions extends RenderOptions {\n type: DataRenderType.DisplayOnly;\n emptyText?: string | null;\n sampleText?: string | null;\n}\nexport interface IconMapping {\n value: string;\n materialIcon?: string | null;\n}\n\nexport interface CheckListRenderOptions extends RenderOptions {\n type: DataRenderType.CheckList;\n}\n\nexport interface SynchronisedRenderOptions extends RenderOptions {\n type: DataRenderType.Synchronised;\n fieldToSync: string;\n syncType: SyncTextType;\n}\n\nexport enum SyncTextType {\n Camel = \"Camel\",\n Snake = \"Snake\",\n Pascal = \"Pascal\",\n}\n\nexport interface UserSelectionRenderOptions extends RenderOptions {\n type: DataRenderType.UserSelection;\n noGroups: boolean;\n noUsers: boolean;\n}\n\nexport interface IconSelectionRenderOptions extends RenderOptions {\n type: DataRenderType.IconSelector;\n}\n\nexport interface GroupedControlsDefinition extends ControlDefinition {\n type: ControlDefinitionType.Group;\n compoundField?: string | null;\n groupOptions?: GroupRenderOptions;\n}\n\nexport interface GroupRenderOptions {\n type: string;\n hideTitle?: boolean | null;\n}\n\nexport enum GroupRenderType {\n Standard = \"Standard\",\n Grid = \"Grid\",\n Flex = \"Flex\",\n GroupElement = \"GroupElement\",\n}\n\nexport interface StandardGroupRenderer extends GroupRenderOptions {\n type: GroupRenderType.Standard;\n}\n\nexport interface FlexRenderer extends GroupRenderOptions {\n type: GroupRenderType.Flex;\n direction?: string | null;\n gap?: string | null;\n}\n\nexport interface GroupElementRenderer extends GroupRenderOptions {\n type: GroupRenderType.GroupElement;\n value: any;\n}\n\nexport interface GridRenderer extends GroupRenderOptions {\n type: GroupRenderType.Grid;\n columns?: number | null;\n}\n\nexport interface DisplayControlDefinition extends ControlDefinition {\n type: ControlDefinitionType.Display;\n displayData: DisplayData;\n}\n\nexport interface DisplayData {\n type: string;\n}\n\nexport enum DisplayDataType {\n Text = \"Text\",\n Html = \"Html\",\n Icon = \"Icon\",\n}\nexport interface TextDisplay extends DisplayData {\n type: DisplayDataType.Text;\n text: string;\n}\n\nexport interface IconDisplay extends DisplayData {\n type: DisplayDataType.Icon;\n iconClass: string;\n}\n\nexport interface HtmlDisplay extends DisplayData {\n type: DisplayDataType.Html;\n html: string;\n}\n\nexport interface ActionControlDefinition extends ControlDefinition {\n type: ControlDefinitionType.Action;\n actionId: string;\n}\n\nexport enum ValidatorType {\n Jsonata = \"Jsonata\",\n Date = \"Date\",\n}\nexport interface SchemaValidator {\n type: string;\n}\n\nexport interface JsonataValidator extends SchemaValidator {\n type: ValidatorType.Jsonata;\n expression: string;\n}\n\nexport enum DateComparison {\n NotBefore = \"NotBefore\",\n NotAfter = \"NotAfter\",\n}\n\nexport interface DateValidator extends SchemaValidator {\n type: ValidatorType.Date;\n comparison: DateComparison;\n fixedDate?: string | null;\n daysFromCurrent?: number | null;\n}\n\nexport function isDataControlDefinition(\n x: ControlDefinition,\n): x is DataControlDefinition {\n return x.type === ControlDefinitionType.Data;\n}\n\nexport function isGroupControlsDefinition(\n x: ControlDefinition,\n): x is GroupedControlsDefinition {\n return x.type === ControlDefinitionType.Group;\n}\n\nexport function isDisplayControlsDefinition(\n x: ControlDefinition,\n): x is DisplayControlDefinition {\n return x.type === ControlDefinitionType.Display;\n}\n\nexport function isActionControlsDefinition(\n x: ControlDefinition,\n): x is ActionControlDefinition {\n return x.type === ControlDefinitionType.Action;\n}\n\nexport interface ControlVisitor<A> {\n data(d: DataControlDefinition): A;\n group(d: GroupedControlsDefinition): A;\n display(d: DisplayControlDefinition): A;\n action(d: ActionControlDefinition): A;\n}\n\nexport function visitControlDefinition<A>(\n x: ControlDefinition,\n visitor: ControlVisitor<A>,\n defaultValue: (c: ControlDefinition) => A,\n): A {\n switch (x.type) {\n case ControlDefinitionType.Action:\n return visitor.action(x as ActionControlDefinition);\n case ControlDefinitionType.Data:\n return visitor.data(x as DataControlDefinition);\n case ControlDefinitionType.Display:\n return visitor.display(x as DisplayControlDefinition);\n case ControlDefinitionType.Group:\n return visitor.group(x as GroupedControlsDefinition);\n default:\n return defaultValue(x);\n }\n}\nexport function isGridRenderer(\n options: GroupRenderOptions,\n): options is GridRenderer {\n return options.type === GroupRenderType.Grid;\n}\n\nexport function isFlexRenderer(\n options: GroupRenderOptions,\n): options is FlexRenderer {\n return options.type === GroupRenderType.Flex;\n}\n\nexport function isDisplayOnlyRenderer(\n options: RenderOptions,\n): options is DisplayOnlyRenderOptions {\n return options.type === DataRenderType.DisplayOnly;\n}\n","import { CompoundField, FieldOption, FieldType, SchemaField } from \"./types\";\n\ntype AllowedSchema<T> = T extends string\n ? SchemaField & {\n type: FieldType.String | FieldType.Date | FieldType.DateTime;\n }\n : T extends number\n ? SchemaField & {\n type: FieldType.Int | FieldType.Double;\n }\n : T extends boolean\n ? SchemaField & {\n type: FieldType.Bool;\n }\n : T extends Array<infer E>\n ? AllowedSchema<E> & {\n collection: true;\n }\n : T extends { [key: string]: any }\n ? CompoundField & {\n type: FieldType.Compound;\n }\n : SchemaField & { type: FieldType.Any };\n\ntype AllowedField<T, K> = (\n name: string,\n) => (SchemaField & { type: K }) | AllowedSchema<T>;\n\nexport function buildSchema<T, Custom = \"\">(def: {\n [K in keyof T]-?: AllowedField<T[K], Custom>;\n}): SchemaField[] {\n return Object.entries(def).map((x) =>\n (x[1] as (n: string) => SchemaField)(x[0]),\n );\n}\n\nexport function stringField(\n displayName: string,\n options?: Partial<Omit<SchemaField, \"type\">>,\n) {\n return makeScalarField({\n type: FieldType.String as const,\n displayName,\n ...options,\n });\n}\n\nexport function stringOptionsField(\n displayName: string,\n ...options: FieldOption[]\n) {\n return makeScalarField({\n type: FieldType.String as const,\n displayName,\n options,\n });\n}\n\nexport function withScalarOptions<S extends SchemaField>(\n options: Partial<SchemaField>,\n v: (name: string) => S,\n): (name: string) => S {\n return (n) => ({ ...v(n), ...options });\n}\n\nexport function makeScalarField<S extends Partial<SchemaField>>(\n options: S,\n): (name: string) => SchemaField & S {\n return (n) => ({ ...defaultScalarField(n, n), ...options });\n}\n\nexport function makeCompoundField<S extends Partial<CompoundField>>(\n options: S,\n): (name: string) => CompoundField & {\n type: FieldType.Compound;\n} & S {\n return (n) => ({ ...defaultCompoundField(n, n, false), ...options });\n}\n\nexport function intField(\n displayName: string,\n options?: Partial<Omit<SchemaField, \"type\">>,\n) {\n return makeScalarField({\n type: FieldType.Int as const,\n displayName,\n ...options,\n });\n}\n\nexport function boolField(\n displayName: string,\n options?: Partial<Omit<SchemaField, \"type\">>,\n) {\n return makeScalarField({\n type: FieldType.Bool as const,\n displayName,\n ...options,\n });\n}\n\nexport function compoundField<\n Other extends Partial<Omit<CompoundField, \"type\" | \"schemaType\">>,\n>(\n displayName: string,\n fields: SchemaField[],\n other: Other,\n): (name: string) => CompoundField & {\n collection: Other[\"collection\"];\n} {\n return (field) =>\n ({\n ...defaultCompoundField(field, displayName, false),\n ...other,\n children: fields,\n }) as any;\n}\n\nexport function defaultScalarField(\n field: string,\n displayName: string,\n): Omit<SchemaField, \"type\"> & {\n type: FieldType.String;\n} {\n return {\n field,\n displayName,\n type: FieldType.String,\n };\n}\n\nexport function defaultCompoundField(\n field: string,\n displayName: string,\n collection: boolean,\n): CompoundField & {\n type: FieldType.Compound;\n} {\n return {\n field,\n displayName,\n type: FieldType.Compound,\n collection,\n children: [],\n };\n}\n","import {\n CompoundField,\n ControlDefinition,\n ControlDefinitionType,\n DataControlDefinition,\n DataRenderType,\n DisplayOnlyRenderOptions,\n FieldOption,\n FieldType,\n GridRenderer,\n GroupedControlsDefinition,\n GroupRenderType,\n isDataControlDefinition,\n isDisplayOnlyRenderer,\n SchemaField,\n SchemaInterface,\n visitControlDefinition,\n} from \"./types\";\nimport { MutableRefObject, useRef } from \"react\";\nimport { Control } from \"@react-typed-forms/core\";\nimport clsx from \"clsx\";\n\nexport interface ControlDataContext {\n groupControl: Control<any>;\n fields: SchemaField[];\n schemaInterface: SchemaInterface;\n}\nexport function applyDefaultValues(\n v: { [k: string]: any } | undefined,\n fields: SchemaField[],\n): any {\n if (!v) return defaultValueForFields(fields);\n const applyValue = fields.filter(\n (x) => isCompoundField(x) || !(x.field in v),\n );\n if (!applyValue.length) return v;\n const out = { ...v };\n applyValue.forEach((x) => {\n out[x.field] =\n x.field in v\n ? applyDefaultForField(v[x.field], x, fields)\n : defaultValueForField(x);\n });\n return out;\n}\n\nexport function applyDefaultForField(\n v: any,\n field: SchemaField,\n parent: SchemaField[],\n notElement?: boolean,\n): any {\n if (field.collection && !notElement) {\n return ((v as any[]) ?? []).map((x) =>\n applyDefaultForField(x, field, parent, true),\n );\n }\n if (isCompoundField(field)) {\n if (!v && !field.required) return v;\n return applyDefaultValues(v, field.treeChildren ? parent : field.children);\n }\n return defaultValueForField(field);\n}\n\nexport function defaultValueForFields(fields: SchemaField[]): any {\n return Object.fromEntries(\n fields.map((x) => [x.field, defaultValueForField(x)]),\n );\n}\n\nexport function defaultValueForField(\n sf: SchemaField,\n required?: boolean | null,\n): any {\n if (sf.defaultValue !== undefined) return sf.defaultValue;\n const isRequired = !!(required || sf.required);\n if (isCompoundField(sf)) {\n if (isRequired) {\n const childValue = defaultValueForFields(sf.children);\n return sf.collection ? [childValue] : childValue;\n }\n return sf.notNullable ? (sf.collection ? [] : {}) : undefined;\n }\n if (sf.collection) {\n return [];\n }\n return undefined;\n}\n\nexport function elementValueForField(sf: SchemaField): any {\n if (isCompoundField(sf)) {\n return defaultValueForFields(sf.children);\n }\n return sf.defaultValue;\n}\n\nexport function findScalarField(\n fields: SchemaField[],\n field: string,\n): SchemaField | undefined {\n return findField(fields, field);\n}\n\nexport function findCompoundField(\n fields: SchemaField[],\n field: string,\n): CompoundField | undefined {\n return findField(fields, field) as CompoundField | undefined;\n}\n\nexport function findField(\n fields: SchemaField[],\n field: string,\n): SchemaField | undefined {\n return fields.find((x) => x.field === field);\n}\n\nexport function isScalarField(sf: SchemaField): sf is SchemaField {\n return !isCompoundField(sf);\n}\n\nexport function isCompoundField(sf: SchemaField): sf is CompoundField {\n return sf.type === FieldType.Compound;\n}\n\nexport function isDataControl(\n c: ControlDefinition,\n): c is DataControlDefinition {\n return c.type === ControlDefinitionType.Data;\n}\n\nexport function isGroupControl(\n c: ControlDefinition,\n): c is GroupedControlsDefinition {\n return c.type === ControlDefinitionType.Group;\n}\n\nexport function fieldHasTag(field: SchemaField, tag: string) {\n return Boolean(field.tags?.includes(tag));\n}\n\nexport function fieldDisplayName(field: SchemaField) {\n return field.displayName ?? field.field;\n}\n\nexport function hasOptions(o: { options: FieldOption[] | undefined | null }) {\n return (o.options?.length ?? 0) > 0;\n}\n\nexport function defaultControlForField(sf: SchemaField): DataControlDefinition {\n if (isCompoundField(sf)) {\n return {\n type: ControlDefinitionType.Data,\n title: sf.displayName,\n field: sf.field,\n required: sf.required,\n children: sf.children.map(defaultControlForField),\n };\n } else if (isScalarField(sf)) {\n const htmlEditor = sf.tags?.includes(\"_HtmlEditor\");\n return {\n type: ControlDefinitionType.Data,\n title: sf.displayName,\n field: sf.field,\n required: sf.required,\n renderOptions: {\n type: htmlEditor ? DataRenderType.HtmlEditor : DataRenderType.Standard,\n },\n };\n }\n throw \"Unknown schema field\";\n}\nfunction findReferencedControl(\n field: string,\n control: ControlDefinition,\n): ControlDefinition | undefined {\n if (isDataControl(control) && field === control.field) return control;\n if (isGroupControl(control)) {\n if (control.compoundField)\n return field === control.compoundField ? control : undefined;\n return findReferencedControlInArray(field, control.children ?? []);\n }\n return undefined;\n}\n\nfunction findReferencedControlInArray(\n field: string,\n controls: ControlDefinition[],\n): ControlDefinition | undefined {\n for (const c of controls) {\n const ref = findReferencedControl(field, c);\n if (ref) return ref;\n }\n return undefined;\n}\n\nexport function addMissingControls(\n fields: SchemaField[],\n controls: ControlDefinition[],\n): ControlDefinition[] {\n const changes: {\n field: SchemaField;\n existing: ControlDefinition | undefined;\n }[] = fields.flatMap((x) => {\n if (fieldHasTag(x, \"_NoControl\")) return [];\n const existing = findReferencedControlInArray(x.field, controls);\n if (!existing || isCompoundField(x)) return { field: x, existing };\n return [];\n });\n const changedCompounds = controls.map((x) => {\n const ex = changes.find((c) => c.existing === x);\n if (!ex) return x;\n const cf = x as GroupedControlsDefinition;\n return {\n ...cf,\n children: addMissingControls(\n (ex.field as CompoundField).children,\n cf.children ?? [],\n ),\n };\n });\n return changedCompounds.concat(\n changes\n .filter((x) => !x.existing)\n .map((x) => defaultControlForField(x.field)),\n );\n}\n\nexport function useUpdatedRef<A>(a: A): MutableRefObject<A> {\n const r = useRef(a);\n r.current = a;\n return r;\n}\n\nexport function isControlReadonly(c: ControlDefinition): boolean {\n return isDataControl(c) && !!c.readonly;\n}\n\nexport function getDisplayOnlyOptions(\n d: ControlDefinition,\n): DisplayOnlyRenderOptions | undefined {\n return isDataControlDefinition(d) &&\n d.renderOptions &&\n isDisplayOnlyRenderer(d.renderOptions)\n ? d.renderOptions\n : undefined;\n}\n\nexport function getTypeField(\n context: ControlDataContext,\n): Control<string> | undefined {\n const typeSchemaField = context.fields.find((x) => x.isTypeField);\n return typeSchemaField\n ? context.groupControl.fields?.[typeSchemaField.field]\n : undefined;\n}\n\nexport function visitControlDataArray<A>(\n controls: ControlDefinition[] | undefined | null,\n context: ControlDataContext,\n cb: (\n definition: DataControlDefinition,\n field: SchemaField,\n control: Control<any>,\n element: boolean,\n ) => A | undefined,\n): A | undefined {\n if (!controls) return undefined;\n for (const c of controls) {\n const r = visitControlData(c, context, cb);\n if (r !== undefined) return r;\n }\n return undefined;\n}\n\nexport function visitControlData<A>(\n definition: ControlDefinition,\n ctx: ControlDataContext,\n cb: (\n definition: DataControlDefinition,\n field: SchemaField,\n control: Control<any>,\n element: boolean,\n ) => A | undefined,\n): A | undefined {\n return visitControlDefinition<A | undefined>(\n definition,\n {\n data(def: DataControlDefinition) {\n return processData(def, def.field, def.children);\n },\n group(d: GroupedControlsDefinition) {\n return processData(undefined, d.compoundField, d.children);\n },\n action: () => undefined,\n display: () => undefined,\n },\n () => undefined,\n );\n\n function processData(\n def: DataControlDefinition | undefined,\n fieldName: string | undefined | null,\n children: ControlDefinition[] | null | undefined,\n ) {\n const fieldData = fieldName ? findField(ctx.fields, fieldName) : undefined;\n if (!fieldData)\n return !fieldName ? visitControlDataArray(children, ctx, cb) : undefined;\n\n const control = ctx.groupControl.fields[fieldData.field];\n const result = def ? cb(def, fieldData, control, false) : undefined;\n if (result !== undefined) return result;\n if (fieldData.collection) {\n for (const c of control.elements ?? []) {\n const elemResult = def ? cb(def, fieldData, c, true) : undefined;\n if (elemResult !== undefined) return elemResult;\n if (isCompoundField(fieldData)) {\n const cfResult = visitControlDataArray(\n children,\n {\n fields: fieldData.children,\n groupControl: c,\n schemaInterface: ctx.schemaInterface,\n },\n cb,\n );\n if (cfResult !== undefined) return cfResult;\n }\n }\n }\n }\n}\n\nexport function cleanDataForSchema(\n v: { [k: string]: any } | undefined,\n fields: SchemaField[],\n): any {\n if (!v) return v;\n const typeField = fields.find((x) => x.isTypeField);\n if (!typeField) return v;\n const typeValue = v[typeField.field];\n const cleanableFields = fields.filter(\n (x) => isCompoundField(x) || (x.onlyForTypes?.length ?? 0) > 0,\n );\n if (!cleanableFields.length) return v;\n const out = { ...v };\n cleanableFields.forEach((x) => {\n const childValue = v[x.field];\n if (\n x.onlyForTypes?.includes(typeValue) === false ||\n (!x.notNullable && canBeNull())\n ) {\n delete out[x.field];\n return;\n }\n if (isCompoundField(x)) {\n const childFields = x.treeChildren ? fields : x.children;\n if (x.collection) {\n if (Array.isArray(childValue)) {\n out[x.field] = childValue.map((cv) =>\n cleanDataForSchema(cv, childFields),\n );\n }\n } else {\n out[x.field] = cleanDataForSchema(childValue, childFields);\n }\n }\n function canBeNull() {\n return (\n x.collection && Array.isArray(childValue) && !childValue.length\n //|| (x.type === FieldType.Bool && childValue === false)\n );\n }\n });\n return out;\n}\n\nexport function getAllReferencedClasses(c: ControlDefinition): string[] {\n const childClasses = c.children?.flatMap(getAllReferencedClasses);\n const tc = clsx(c.styleClass, c.layoutClass);\n if (childClasses && !tc) return childClasses;\n if (!tc) return [];\n if (childClasses) return [tc, ...childClasses];\n return [tc];\n}\n","import {\n ControlDefinition,\n ControlDefinitionType,\n DataControlDefinition,\n DataMatchExpression,\n DisplayControlDefinition,\n DisplayDataType,\n DynamicProperty,\n DynamicPropertyType,\n EntityExpression,\n ExpressionType,\n GroupedControlsDefinition,\n GroupRenderType,\n HtmlDisplay,\n JsonataExpression,\n SchemaField,\n TextDisplay,\n} from \"./types\";\nimport { ActionRendererProps } from \"./controlRender\";\nimport { useMemo } from \"react\";\nimport { addMissingControls } from \"./util\";\n\nexport function dataControl(\n field: string,\n title?: string | null,\n options?: Partial<DataControlDefinition>,\n): DataControlDefinition {\n return { type: ControlDefinitionType.Data, field, title, ...options };\n}\n\nexport function textDisplayControl(\n text: string,\n options?: Partial<DisplayControlDefinition>,\n): DisplayControlDefinition {\n return {\n type: ControlDefinitionType.Display,\n displayData: { type: DisplayDataType.Text, text } as TextDisplay,\n ...options,\n };\n}\n\nexport function htmlDisplayControl(\n html: string,\n options?: Partial<DisplayControlDefinition>,\n): DisplayControlDefinition {\n return {\n type: ControlDefinitionType.Display,\n displayData: { type: DisplayDataType.Html, html } as HtmlDisplay,\n ...options,\n };\n}\n\nexport function dynamicDefaultValue(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.DefaultValue, expr };\n}\n\nexport function dynamicReadonly(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.Readonly, expr };\n}\n\nexport function dynamicVisibility(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.Visible, expr };\n}\n\nexport function dynamicDisabled(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.Disabled, expr };\n}\n\nexport function fieldEqExpr(field: string, value: any): DataMatchExpression {\n return { type: ExpressionType.DataMatch, field, value };\n}\nexport function jsonataExpr(expression: string): JsonataExpression {\n return { type: ExpressionType.Jsonata, expression };\n}\n\nexport function groupedControl(\n children: ControlDefinition[],\n title?: string,\n options?: Partial<GroupedControlsDefinition>,\n): GroupedControlsDefinition {\n return {\n type: ControlDefinitionType.Group,\n children,\n title,\n groupOptions: { type: \"Standard\", hideTitle: !title },\n ...options,\n };\n}\nexport function compoundControl(\n field: string,\n title: string | undefined,\n children: ControlDefinition[],\n options?: Partial<DataControlDefinition>,\n): DataControlDefinition {\n return {\n type: ControlDefinitionType.Data,\n field,\n children,\n title,\n renderOptions: { type: \"Standard\" },\n ...options,\n };\n}\n\nexport function createAction(\n actionId: string,\n onClick: () => void,\n actionText?: string,\n): ActionRendererProps {\n return { actionId, onClick, actionText: actionText ?? actionId };\n}\n\nexport const emptyGroupDefinition: GroupedControlsDefinition = {\n type: ControlDefinitionType.Group,\n children: [],\n groupOptions: { type: GroupRenderType.Standard, hideTitle: true },\n};\n\nexport function useControlDefinitionForSchema(\n sf: SchemaField[],\n definition: GroupedControlsDefinition = emptyGroupDefinition,\n): GroupedControlsDefinition {\n return useMemo<GroupedControlsDefinition>(\n () => ({\n ...definition,\n children: addMissingControls(sf, definition.children ?? []),\n }),\n [sf, definition],\n );\n}\n","import { Control, useControl, useControlEffect } from \"@react-typed-forms/core\";\n\nexport function useCalculatedControl<V>(calculate: () => V): Control<V> {\n const c = useControl(calculate);\n useControlEffect(calculate, (v) => (c.value = v));\n return c;\n}\n\nexport function cc(n: string | null | undefined): string | undefined {\n return n ? n : undefined;\n}\n","import {\n ControlDefinition,\n DataExpression,\n DataMatchExpression,\n DynamicPropertyType,\n EntityExpression,\n ExpressionType,\n isDataControlDefinition,\n JsonataExpression,\n SchemaField,\n SchemaInterface,\n} from \"./types\";\nimport { useCallback, useMemo } from \"react\";\nimport {\n Control,\n useComputed,\n useControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\n\nimport {\n ControlDataContext,\n defaultValueForField,\n findField,\n getDisplayOnlyOptions,\n getTypeField,\n isControlReadonly,\n useUpdatedRef,\n} from \"./util\";\nimport jsonata from \"jsonata\";\nimport { useCalculatedControl } from \"./internal\";\n\nexport type UseEvalExpressionHook = (\n expr: EntityExpression | undefined,\n) => EvalExpressionHook | undefined;\n\nexport function useEvalVisibilityHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n schemaField?: SchemaField,\n): EvalExpressionHook<boolean> {\n const dynamicVisibility = useEvalDynamicHook(\n definition,\n DynamicPropertyType.Visible,\n useEvalExpressionHook,\n );\n const r = useUpdatedRef({ schemaField, definition });\n return useCallback(\n (ctx) => {\n const { schemaField, definition } = r.current;\n return (\n dynamicVisibility?.(ctx) ??\n useComputed(\n () =>\n matchesType(ctx, schemaField?.onlyForTypes) &&\n (!schemaField ||\n !hideDisplayOnly(\n ctx,\n schemaField,\n definition,\n ctx.schemaInterface,\n )),\n )\n );\n },\n [dynamicVisibility, r],\n );\n}\n\nexport function useEvalReadonlyHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<boolean> {\n const dynamicReadonly = useEvalDynamicHook(\n definition,\n DynamicPropertyType.Readonly,\n useEvalExpressionHook,\n );\n const r = useUpdatedRef(definition);\n return useCallback(\n (ctx) => {\n if (dynamicReadonly) return dynamicReadonly(ctx);\n return useCalculatedControl(() => isControlReadonly(r.current));\n },\n [dynamicReadonly, r],\n );\n}\n\nexport function useEvalStyleHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n property: DynamicPropertyType,\n definition: ControlDefinition,\n): EvalExpressionHook<React.CSSProperties> {\n const dynamicStyle = useEvalDynamicHook(\n definition,\n property,\n useEvalExpressionHook,\n );\n return useCallback(\n (ctx) => {\n if (dynamicStyle) return dynamicStyle(ctx);\n return useControl(undefined);\n },\n [dynamicStyle],\n );\n}\n\nexport function useEvalAllowedOptionsHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<any[]> {\n const dynamicAllowed = useEvalDynamicHook(\n definition,\n DynamicPropertyType.AllowedOptions,\n useEvalExpressionHook,\n );\n return useCallback(\n (ctx) => {\n if (dynamicAllowed) return dynamicAllowed(ctx);\n return useControl([]);\n },\n [dynamicAllowed],\n );\n}\n\nexport function useEvalDisabledHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<boolean> {\n const dynamicDisabled = useEvalDynamicHook(\n definition,\n DynamicPropertyType.Disabled,\n useEvalExpressionHook,\n );\n return useCallback(\n (ctx) => {\n if (dynamicDisabled) return dynamicDisabled(ctx);\n return useControl(false);\n },\n [dynamicDisabled],\n );\n}\n\nexport function useEvalDisplayHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): (\n groupContext: ControlDataContext,\n) => Control<string | undefined> | undefined {\n const dynamicDisplay = useEvalDynamicHook(\n definition,\n DynamicPropertyType.Display,\n useEvalExpressionHook,\n );\n return useCallback((ctx) => dynamicDisplay?.(ctx), [dynamicDisplay]);\n}\nexport function useEvalDefaultValueHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n schemaField?: SchemaField,\n): EvalExpressionHook {\n const dynamicValue = useEvalDynamicHook(\n definition,\n DynamicPropertyType.DefaultValue,\n useEvalExpressionHook,\n );\n const r = useUpdatedRef({ definition, schemaField });\n return useCallback(\n (ctx) => {\n const { definition, schemaField } = r.current;\n return dynamicValue?.(ctx) ?? useComputed(calcDefault);\n function calcDefault() {\n const [required, dcv] = isDataControlDefinition(definition)\n ? [definition.required, definition.defaultValue]\n : [false, undefined];\n return (\n dcv ??\n (schemaField\n ? defaultValueForField(schemaField, required)\n : undefined)\n );\n }\n },\n [dynamicValue, r],\n );\n}\n\nexport type EvalExpressionHook<A = any> = (\n groupContext: ControlDataContext,\n) => Control<A | undefined>;\n\nfunction useDataExpression(\n fvExpr: DataExpression,\n fields: SchemaField[],\n data: Control<any>,\n) {\n const refField = findField(fields, fvExpr.field);\n const otherField = refField ? data.fields[refField.field] : undefined;\n return useCalculatedControl(() => otherField?.value);\n}\n\nfunction useDataMatchExpression(\n fvExpr: DataMatchExpression,\n fields: SchemaField[],\n data: Control<any>,\n) {\n const refField = findField(fields, fvExpr.field);\n const otherField = refField ? data.fields[refField.field] : undefined;\n return useComputed(() => {\n const fv = otherField?.value;\n return Array.isArray(fv) ? fv.includes(fvExpr.value) : fv === fvExpr.value;\n });\n}\n\nexport function defaultEvalHooks(\n expr: EntityExpression,\n context: ControlDataContext,\n) {\n switch (expr.type) {\n case ExpressionType.Jsonata:\n return useJsonataExpression(\n (expr as JsonataExpression).expression,\n context.groupControl,\n );\n case ExpressionType.Data:\n return useDataExpression(\n expr as DataExpression,\n context.fields,\n context.groupControl,\n );\n case ExpressionType.DataMatch:\n return useDataMatchExpression(\n expr as DataMatchExpression,\n context.fields,\n context.groupControl,\n );\n default:\n return useControl(undefined);\n }\n}\n\nexport const defaultUseEvalExpressionHook =\n makeEvalExpressionHook(defaultEvalHooks);\n\nexport function makeEvalExpressionHook(\n f: (expr: EntityExpression, context: ControlDataContext) => Control<any>,\n): (expr: EntityExpression | undefined) => EvalExpressionHook | undefined {\n return (expr) => {\n const r = useUpdatedRef(expr);\n const cb = useCallback(\n (ctx: ControlDataContext) => {\n const expr = r.current!;\n return f(expr, ctx);\n },\n [expr?.type, r],\n );\n return expr ? cb : undefined;\n };\n}\n\nexport function useEvalDynamicHook(\n definition: ControlDefinition,\n type: DynamicPropertyType,\n useEvalExpressionHook: (\n expr: EntityExpression | undefined,\n ) => EvalExpressionHook | undefined,\n): EvalExpressionHook | undefined {\n const expression = definition.dynamic?.find((x) => x.type === type);\n return useEvalExpressionHook(expression?.expr);\n}\n\nexport function matchesType(\n context: ControlDataContext,\n types?: string[] | null,\n) {\n if (types == null || types.length === 0) return true;\n const typeField = getTypeField(context);\n return typeField && types.includes(typeField.value);\n}\n\nexport function hideDisplayOnly(\n context: ControlDataContext,\n field: SchemaField,\n definition: ControlDefinition,\n schemaInterface: SchemaInterface,\n) {\n const displayOptions = getDisplayOnlyOptions(definition);\n return (\n displayOptions &&\n !displayOptions.emptyText &&\n schemaInterface.isEmptyValue(\n field,\n context.groupControl.fields[field.field].value,\n )\n );\n}\n\nexport function useJsonataExpression(\n jExpr: string,\n data: Control<any>,\n): Control<any> {\n const compiledExpr = useMemo(() => {\n try {\n return jsonata(jExpr);\n } catch (e) {\n console.error(e);\n return jsonata(\"\");\n }\n }, [jExpr]);\n const control = useControl();\n useControlEffect(\n () => data.value,\n async (v) => {\n control.value = await compiledExpr.evaluate(v);\n },\n true,\n );\n return control;\n}\n","import {\n ControlDefinition,\n DataControlDefinition,\n DateComparison,\n DateValidator,\n isDataControlDefinition,\n JsonataValidator,\n ValidatorType,\n} from \"./types\";\nimport {\n Control,\n useControlEffect,\n useValidator,\n useValueChangeEffect,\n} from \"@react-typed-forms/core\";\nimport { useCallback } from \"react\";\nimport { ControlDataContext, useUpdatedRef } from \"./util\";\nimport { useJsonataExpression } from \"./hooks\";\n\nexport function useValidationHook(\n definition: ControlDefinition,\n): (\n control: Control<any>,\n hidden: boolean,\n groupContext: ControlDataContext,\n) => void {\n const validatorTypes = isDataControlDefinition(definition)\n ? definition.validators?.map((x) => x.type) ?? []\n : null;\n const r = useUpdatedRef(definition as DataControlDefinition);\n return useCallback(\n (control, hidden, groupContext) => {\n if (!validatorTypes) return;\n const dd = r.current;\n\n useValueChangeEffect(control, () => control.setError(\"default\", \"\"));\n useValidator(\n control,\n (v) =>\n !hidden &&\n dd.required &&\n (v == null || v === \"\" || (Array.isArray(v) && v.length === 0))\n ? \"Please enter a value\"\n : null,\n \"required\",\n );\n (dd.validators ?? []).forEach((x, i) => {\n switch (x.type) {\n case ValidatorType.Jsonata:\n return useJsonataValidator(\n control,\n groupContext,\n x as JsonataValidator,\n hidden,\n i,\n );\n case ValidatorType.Date:\n return useDateValidator(control, x as DateValidator, i);\n }\n });\n },\n validatorTypes ? validatorTypes : [null],\n );\n}\n\nfunction useJsonataValidator(\n control: Control<any>,\n context: ControlDataContext,\n expr: JsonataValidator,\n hidden: boolean,\n i: number,\n) {\n const errorMsg = useJsonataExpression(expr.expression, context.groupControl);\n useControlEffect(\n () => [hidden, errorMsg.value],\n ([hidden, msg]) => control.setError(\"jsonata\" + i, !hidden ? msg : null),\n true,\n );\n}\n\nfunction useDateValidator(\n control: Control<string | null | undefined>,\n dv: DateValidator,\n i: number,\n) {\n let comparisonDate: number;\n if (dv.fixedDate) {\n comparisonDate = Date.parse(dv.fixedDate);\n } else {\n const nowDate = new Date();\n comparisonDate = Date.UTC(\n nowDate.getFullYear(),\n nowDate.getMonth(),\n nowDate.getDate(),\n );\n if (dv.daysFromCurrent) {\n comparisonDate += dv.daysFromCurrent * 86400000;\n }\n }\n useValidator(\n control,\n (v) => {\n if (v) {\n const selDate = Date.parse(v);\n const notAfter = dv.comparison === DateComparison.NotAfter;\n if (notAfter ? selDate > comparisonDate : selDate < comparisonDate) {\n return `Date must not be ${notAfter ? \"after\" : \"before\"} ${new Date(\n comparisonDate,\n ).toDateString()}`;\n }\n }\n return null;\n },\n \"date\" + i,\n );\n}\n","import { FieldType, SchemaField, SchemaInterface } from \"./types\";\n\nexport const defaultSchemaInterface: SchemaInterface = {\n isEmptyValue: defaultIsEmpty,\n textValue: defaultTextValue,\n};\n\nexport function defaultIsEmpty(f: SchemaField, value: any): boolean {\n if (f.collection)\n return Array.isArray(value) ? value.length === 0 : value == null;\n switch (f.type) {\n case FieldType.String:\n return !value;\n default:\n return value == null;\n }\n}\n\nexport function defaultTextValue(\n f: SchemaField,\n value: any,\n): string | undefined {\n switch (f.type) {\n case FieldType.DateTime:\n return new Date(value).toLocaleDateString();\n case FieldType.Date:\n return new Date(value).toLocaleDateString();\n default:\n return value != null ? value.toString() : undefined;\n }\n}\n","import React, {\n CSSProperties,\n FC,\n Fragment,\n Key,\n ReactNode,\n useCallback,\n useEffect,\n} from \"react\";\nimport {\n addElement,\n Control,\n newControl,\n removeElement,\n useComponentTracking,\n useControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\nimport {\n AdornmentPlacement,\n ControlAdornment,\n ControlDefinition,\n DataControlDefinition,\n DisplayData,\n DynamicPropertyType,\n FieldOption,\n GroupRenderOptions,\n isActionControlsDefinition,\n isDataControlDefinition,\n isDisplayControlsDefinition,\n isGroupControlsDefinition,\n RenderOptions,\n SchemaField,\n SchemaInterface,\n} from \"./types\";\nimport {\n ControlDataContext,\n elementValueForField,\n fieldDisplayName,\n findField,\n isCompoundField,\n useUpdatedRef,\n} from \"./util\";\nimport { dataControl } from \"./controlBuilder\";\nimport {\n defaultUseEvalExpressionHook,\n useEvalAllowedOptionsHook,\n useEvalDefaultValueHook,\n useEvalDisabledHook,\n useEvalDisplayHook,\n UseEvalExpressionHook,\n useEvalReadonlyHook,\n useEvalStyleHook,\n useEvalVisibilityHook,\n} from \"./hooks\";\nimport { useValidationHook } from \"./validators\";\nimport { cc, useCalculatedControl } from \"./internal\";\nimport { defaultSchemaInterface } from \"./schemaInterface\";\n\nexport interface FormRenderer {\n renderData: (\n props: DataRendererProps,\n ) => (layout: ControlLayoutProps) => ControlLayoutProps;\n renderGroup: (\n props: GroupRendererProps,\n ) => (layout: ControlLayoutProps) => ControlLayoutProps;\n renderDisplay: (props: DisplayRendererProps) => ReactNode;\n renderAction: (props: ActionRendererProps) => ReactNode;\n renderArray: (props: ArrayRendererProps) => ReactNode;\n renderAdornment: (props: AdornmentProps) => AdornmentRenderer;\n renderLabel: (\n props: LabelRendererProps,\n labelStart: ReactNode,\n labelEnd: ReactNode,\n ) => ReactNode;\n renderLayout: (props: ControlLayoutProps) => RenderedControl;\n renderVisibility: (props: VisibilityRendererProps) => ReactNode;\n}\n\nexport interface AdornmentProps {\n adornment: ControlAdornment;\n}\n\nexport const AppendAdornmentPriority = 0;\nexport const WrapAdornmentPriority = 1000;\n\nexport interface AdornmentRenderer {\n apply(children: RenderedLayout): void;\n adornment?: ControlAdornment;\n priority: number;\n}\n\nexport interface ArrayRendererProps {\n addAction?: ActionRendererProps;\n required: boolean;\n removeAction?: (elemIndex: number) => ActionRendererProps;\n elementCount: number;\n renderElement: (elemIndex: number) => ReactNode;\n elementKey: (elemIndex: number) => Key;\n arrayControl?: Control<any[] | undefined | null>;\n className?: string;\n style?: React.CSSProperties;\n}\nexport interface Visibility {\n visible: boolean;\n showing: boolean;\n}\n\nexport interface RenderedLayout {\n labelStart?: ReactNode;\n labelEnd?: ReactNode;\n controlStart?: ReactNode;\n controlEnd?: ReactNode;\n label?: ReactNode;\n children?: ReactNode;\n errorControl?: Control<any>;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport interface RenderedControl {\n children: ReactNode;\n className?: string;\n style?: React.CSSProperties;\n divRef?: (cb: HTMLElement | null) => void;\n}\n\nexport interface VisibilityRendererProps extends RenderedControl {\n visibility: Control<Visibility | undefined>;\n}\n\nexport interface ControlLayoutProps {\n label?: LabelRendererProps;\n errorControl?: Control<any>;\n adornments?: AdornmentRenderer[];\n children?: ReactNode;\n processLayout?: (props: ControlLayoutProps) => ControlLayoutProps;\n className?: string | null;\n style?: React.CSSProperties;\n}\n\nexport enum LabelType {\n Control,\n Group,\n}\nexport interface LabelRendererProps {\n type: LabelType;\n hide?: boolean | null;\n label: ReactNode;\n required?: boolean | null;\n forId?: string;\n}\nexport interface DisplayRendererProps {\n data: DisplayData;\n display?: Control<string | undefined>;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport interface GroupRendererProps {\n renderOptions: GroupRenderOptions;\n childCount: number;\n renderChild: (child: number) => ReactNode;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport interface DataRendererProps {\n renderOptions: RenderOptions;\n field: SchemaField;\n id: string;\n control: Control<any>;\n readonly: boolean;\n required: boolean;\n options: FieldOption[] | undefined | null;\n hidden: boolean;\n className?: string;\n style?: React.CSSProperties;\n dataContext: ControlDataContext;\n childCount: number;\n renderChild: ChildRenderer;\n toArrayProps?: () => ArrayRendererProps;\n}\n\nexport interface ActionRendererProps {\n actionId: string;\n actionText: string;\n onClick: () => void;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport interface ControlRenderProps {\n control: Control<any>;\n}\n\nexport interface FormContextOptions {\n readonly?: boolean | null;\n hidden?: boolean | null;\n disabled?: boolean | null;\n}\n\nexport interface DataControlProps {\n definition: DataControlDefinition;\n field: SchemaField;\n dataContext: ControlDataContext;\n control: Control<any>;\n options: FormContextOptions;\n style: React.CSSProperties | undefined;\n childCount: number;\n renderChild: ChildRenderer;\n allowedOptions?: Control<any[] | undefined>;\n elementRenderer?: (elemProps: Control<any>) => ReactNode;\n}\nexport type CreateDataProps = (\n controlProps: DataControlProps,\n) => DataRendererProps;\n\nexport interface ControlRenderOptions extends FormContextOptions {\n useDataHook?: (c: ControlDefinition) => CreateDataProps;\n useEvalExpressionHook?: UseEvalExpressionHook;\n clearHidden?: boolean;\n schemaInterface?: SchemaInterface;\n}\nexport function useControlRenderer(\n definition: ControlDefinition,\n fields: SchemaField[],\n renderer: FormRenderer,\n options: ControlRenderOptions = {},\n): FC<ControlRenderProps> {\n const dataProps = options.useDataHook?.(definition) ?? defaultDataProps;\n const schemaInterface = options.schemaInterface ?? defaultSchemaInterface;\n const useExpr = options.useEvalExpressionHook ?? defaultUseEvalExpressionHook;\n\n const schemaField = lookupSchemaField(definition, fields);\n const useDefaultValue = useEvalDefaultValueHook(\n useExpr,\n definition,\n schemaField,\n );\n const useIsVisible = useEvalVisibilityHook(useExpr, definition, schemaField);\n const useIsReadonly = useEvalReadonlyHook(useExpr, definition);\n const useIsDisabled = useEvalDisabledHook(useExpr, definition);\n const useAllowedOptions = useEvalAllowedOptionsHook(useExpr, definition);\n const useCustomStyle = useEvalStyleHook(\n useExpr,\n DynamicPropertyType.Style,\n definition,\n );\n const useLayoutStyle = useEvalStyleHook(\n useExpr,\n DynamicPropertyType.LayoutStyle,\n definition,\n );\n const useDynamicDisplay = useEvalDisplayHook(useExpr, definition);\n const useValidation = useValidationHook(definition);\n const r = useUpdatedRef({ options, definition, fields, schemaField });\n\n const Component = useCallback(\n ({ control: parentControl }: ControlRenderProps) => {\n const stopTracking = useComponentTracking();\n try {\n const { definition: c, options, fields, schemaField } = r.current;\n const dataContext: ControlDataContext = {\n groupControl: parentControl,\n fields,\n schemaInterface,\n };\n const readonlyControl = useIsReadonly(dataContext);\n const disabledControl = useIsDisabled(dataContext);\n const visibleControl = useIsVisible(dataContext);\n const displayControl = useDynamicDisplay(dataContext);\n const customStyle = useCustomStyle(dataContext).value;\n const layoutStyle = useLayoutStyle(dataContext).value;\n const visible = visibleControl.current.value;\n const visibility = useControl<Visibility | undefined>(() =>\n visible != null\n ? {\n visible,\n showing: visible,\n }\n : undefined,\n );\n useControlEffect(\n () => visibleControl.value,\n (visible) => {\n if (visible != null)\n visibility.setValue((ex) => ({\n visible,\n showing: ex ? ex.showing : visible,\n }));\n },\n );\n\n const allowedOptions = useAllowedOptions(dataContext);\n const defaultValueControl = useDefaultValue(dataContext);\n const [control, childContext] = getControlData(\n schemaField,\n dataContext,\n );\n useControlEffect(\n () => [\n visibility.value,\n defaultValueControl.value,\n control,\n parentControl.isNull,\n isDataControlDefinition(definition) && definition.dontClearHidden,\n ],\n ([vc, dv, cd, pn, dontClear]) => {\n if (pn) {\n parentControl.value = {};\n }\n if (vc && cd && vc.visible === vc.showing) {\n if (!vc.visible) {\n if (options.clearHidden && !dontClear) cd.value = undefined;\n } else if (cd.value == null) {\n cd.value = dv;\n }\n }\n },\n true,\n );\n const myOptions = useCalculatedControl<FormContextOptions>(() => ({\n hidden: options.hidden || !visibility.fields?.showing.value,\n readonly: options.readonly || readonlyControl.value,\n disabled: options.disabled || disabledControl.value,\n })).value;\n useValidation(control!, !!myOptions.hidden, dataContext);\n const childRenderers: FC<ControlRenderProps>[] =\n c.children?.map((cd) =>\n useControlRenderer(cd, childContext.fields, renderer, {\n ...options,\n ...myOptions,\n }),\n ) ?? [];\n useEffect(() => {\n if (control && typeof myOptions.disabled === \"boolean\")\n control.disabled = myOptions.disabled;\n }, [control, myOptions.disabled]);\n if (parentControl.isNull) return <></>;\n const adornments =\n definition.adornments?.map((x) =>\n renderer.renderAdornment({ adornment: x }),\n ) ?? [];\n const labelAndChildren = renderControlLayout({\n definition: c,\n renderer,\n childCount: childRenderers.length,\n renderChild: (k, i, props) => {\n const RenderChild = childRenderers[i];\n return <RenderChild key={k} {...props} />;\n },\n createDataProps: dataProps,\n formOptions: myOptions,\n dataContext,\n control: displayControl ?? control,\n schemaField,\n displayControl,\n style: customStyle,\n allowedOptions,\n });\n const renderedControl = renderer.renderLayout({\n ...labelAndChildren,\n adornments,\n className: c.layoutClass,\n style: layoutStyle,\n });\n return renderer.renderVisibility({ visibility, ...renderedControl });\n } finally {\n stopTracking();\n }\n },\n [\n r,\n dataProps,\n useIsVisible,\n useDefaultValue,\n useIsReadonly,\n useIsDisabled,\n useCustomStyle,\n useLayoutStyle,\n useAllowedOptions,\n useDynamicDisplay,\n useValidation,\n renderer,\n schemaInterface,\n ],\n );\n (Component as any).displayName = \"RenderControl\";\n return Component;\n}\nexport function lookupSchemaField(\n c: ControlDefinition,\n fields: SchemaField[],\n): SchemaField | undefined {\n const fieldName = isGroupControlsDefinition(c)\n ? c.compoundField\n : isDataControlDefinition(c)\n ? c.field\n : undefined;\n return fieldName ? findField(fields, fieldName) : undefined;\n}\nexport function getControlData(\n schemaField: SchemaField | undefined,\n parentContext: ControlDataContext,\n): [Control<any> | undefined, ControlDataContext] {\n const childControl: Control<any> | undefined = schemaField\n ? parentContext.groupControl.fields?.[schemaField.field] ?? newControl({})\n : undefined;\n return [\n childControl,\n schemaField && isCompoundField(schemaField)\n ? {\n groupControl: childControl!,\n fields: schemaField.children,\n schemaInterface: parentContext.schemaInterface,\n }\n : parentContext,\n ];\n}\n\nfunction groupProps(\n renderOptions: GroupRenderOptions = { type: \"Standard\" },\n childCount: number,\n renderChild: ChildRenderer,\n control: Control<any>,\n className: string | null | undefined,\n style: React.CSSProperties | undefined,\n): GroupRendererProps {\n return {\n childCount,\n renderChild: (i) => renderChild(i, i, { control }),\n renderOptions,\n className: cc(className),\n style,\n };\n}\n\nexport function defaultDataProps({\n definition,\n field,\n control,\n options,\n elementRenderer,\n style,\n allowedOptions,\n ...props\n}: DataControlProps): DataRendererProps {\n const className = cc(definition.styleClass);\n const required = !!definition.required;\n const fieldOptions =\n (field.options?.length ?? 0) === 0 ? null : field.options;\n const allowed = allowedOptions?.value ?? [];\n return {\n control,\n field,\n id: \"c\" + control.uniqueId,\n options:\n fieldOptions && allowed.length > 0\n ? fieldOptions.filter((x) => allowed.includes(x.value))\n : fieldOptions,\n readonly: !!options.readonly,\n renderOptions: definition.renderOptions ?? { type: \"Standard\" },\n required,\n hidden: !!options.hidden,\n className,\n style,\n ...props,\n toArrayProps: elementRenderer\n ? () =>\n defaultArrayProps(\n control,\n field,\n required,\n style,\n className,\n elementRenderer,\n )\n : undefined,\n };\n}\n\nexport function defaultArrayProps(\n arrayControl: Control<any[] | undefined | null>,\n field: SchemaField,\n required: boolean,\n style: CSSProperties | undefined,\n className: string | undefined,\n renderElement: (elemProps: Control<any>) => ReactNode,\n): ArrayRendererProps {\n const noun = field.displayName ?? field.field;\n const elems = arrayControl.elements ?? [];\n return {\n arrayControl,\n elementCount: elems.length,\n required,\n addAction: {\n actionId: \"add\",\n actionText: \"Add \" + noun,\n onClick: () => addElement(arrayControl, elementValueForField(field)),\n },\n elementKey: (i) => elems[i].uniqueId,\n removeAction: (i: number) => ({\n actionId: \"\",\n actionText: \"Remove\",\n onClick: () => removeElement(arrayControl, i),\n }),\n renderElement: (i) => renderElement(elems[i]),\n className: cc(className),\n style,\n };\n}\n\nexport type ChildRenderer = (\n k: Key,\n childIndex: number,\n props: ControlRenderProps,\n) => ReactNode;\n\nexport interface RenderControlProps {\n definition: ControlDefinition;\n renderer: FormRenderer;\n childCount: number;\n renderChild: ChildRenderer;\n createDataProps: CreateDataProps;\n formOptions: FormContextOptions;\n dataContext: ControlDataContext;\n control?: Control<any>;\n schemaField?: SchemaField;\n displayControl?: Control<string | undefined>;\n style?: React.CSSProperties;\n allowedOptions?: Control<any[] | undefined>;\n}\nexport function renderControlLayout({\n definition: c,\n renderer,\n childCount,\n renderChild: childRenderer,\n control: childControl,\n schemaField,\n dataContext,\n formOptions: dataOptions,\n createDataProps: dataProps,\n displayControl,\n style,\n allowedOptions,\n}: RenderControlProps): ControlLayoutProps {\n if (isDataControlDefinition(c)) {\n return renderData(c);\n }\n if (isGroupControlsDefinition(c)) {\n if (c.compoundField) {\n return renderData(\n dataControl(c.compoundField, c.title, {\n children: c.children,\n hideTitle: c.groupOptions?.hideTitle,\n }),\n );\n }\n return {\n processLayout: renderer.renderGroup(\n groupProps(\n c.groupOptions,\n childCount,\n childRenderer,\n dataContext.groupControl,\n c.styleClass,\n style,\n ),\n ),\n label: {\n label: c.title,\n type: LabelType.Group,\n hide: c.groupOptions?.hideTitle,\n },\n };\n }\n if (isActionControlsDefinition(c)) {\n return {\n children: renderer.renderAction({\n actionText: c.title ?? c.actionId,\n actionId: c.actionId,\n onClick: () => {},\n className: cc(c.styleClass),\n style,\n }),\n };\n }\n if (isDisplayControlsDefinition(c)) {\n return {\n children: renderer.renderDisplay({\n data: c.displayData ?? {},\n className: cc(c.styleClass),\n style,\n display: displayControl,\n }),\n };\n }\n return {};\n\n function renderData(c: DataControlDefinition, elementControl?: Control<any>) {\n if (!schemaField) return { children: \"No schema field for: \" + c.field };\n const props = dataProps({\n definition: c,\n field: schemaField,\n dataContext,\n control: elementControl ?? childControl!,\n options: dataOptions,\n style,\n childCount,\n allowedOptions,\n renderChild: childRenderer,\n elementRenderer:\n elementControl == null && schemaField.collection\n ? (element) =>\n renderLayoutParts(renderData(c, element), renderer).children\n : undefined,\n });\n\n const labelText = !c.hideTitle\n ? controlTitle(c.title, schemaField)\n : undefined;\n return {\n processLayout: renderer.renderData(props),\n label: {\n type: LabelType.Control,\n label: labelText,\n forId: props.id,\n required: c.required,\n hide: c.hideTitle,\n },\n errorControl: childControl,\n };\n }\n\n function compoundRenderer(i: number, control: Control<any>): ReactNode {\n const { className, style, children } = renderer.renderLayout({\n processLayout: renderer.renderGroup({\n renderOptions: { type: \"Standard\", hideTitle: true },\n childCount,\n renderChild: (ci) => childRenderer(ci, ci, { control }),\n }),\n });\n return (\n <div key={control.uniqueId} style={style} className={cc(className)}>\n {children}\n </div>\n );\n }\n function scalarRenderer(\n dataProps: DataRendererProps,\n ): (i: number, control: Control<any>) => ReactNode {\n return (i, control) => {\n return (\n <Fragment key={control.uniqueId}>\n {renderer.renderData({ ...dataProps, control })({}).children}\n </Fragment>\n );\n };\n }\n}\n\nexport function appendMarkup(\n k: keyof Omit<RenderedLayout, \"errorControl\" | \"style\" | \"className\">,\n markup: ReactNode,\n): (layout: RenderedLayout) => void {\n return (layout) =>\n (layout[k] = (\n <>\n {layout[k]}\n {markup}\n </>\n ));\n}\n\nexport function wrapMarkup(\n k: keyof Omit<RenderedLayout, \"errorControl\" | \"style\" | \"className\">,\n wrap: (ex: ReactNode) => ReactNode,\n): (layout: RenderedLayout) => void {\n return (layout) => (layout[k] = wrap(layout[k]));\n}\n\nexport function layoutKeyForPlacement(\n pos: AdornmentPlacement,\n): keyof Omit<RenderedLayout, \"errorControl\" | \"style\" | \"className\"> {\n switch (pos) {\n case AdornmentPlacement.ControlEnd:\n return \"controlEnd\";\n case AdornmentPlacement.ControlStart:\n return \"controlStart\";\n case AdornmentPlacement.LabelStart:\n return \"labelStart\";\n case AdornmentPlacement.LabelEnd:\n return \"labelEnd\";\n }\n}\n\nexport function appendMarkupAt(\n pos: AdornmentPlacement,\n markup: ReactNode,\n): (layout: RenderedLayout) => void {\n return appendMarkup(layoutKeyForPlacement(pos), markup);\n}\n\nexport function wrapMarkupAt(\n pos: AdornmentPlacement,\n wrap: (ex: ReactNode) => ReactNode,\n): (layout: RenderedLayout) => void {\n return wrapMarkup(layoutKeyForPlacement(pos), wrap);\n}\n\nexport function renderLayoutParts(\n props: ControlLayoutProps,\n renderer: FormRenderer,\n): RenderedLayout {\n const { className, children, style, errorControl, label, adornments } =\n props.processLayout?.(props) ?? props;\n const layout: RenderedLayout = {\n children,\n errorControl,\n style,\n className: cc(className),\n };\n (adornments ?? [])\n .sort((a, b) => a.priority - b.priority)\n .forEach((x) => x.apply(layout));\n layout.label =\n label && !label.hide\n ? renderer.renderLabel(label, layout.labelStart, layout.labelEnd)\n : undefined;\n return layout;\n}\n\nexport function controlTitle(\n title: string | undefined | null,\n field: SchemaField,\n) {\n return title ? title : fieldDisplayName(field);\n}\n","import React, {\n CSSProperties,\n Fragment,\n ReactElement,\n ReactNode,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport clsx from \"clsx\";\nimport { Control, Fcheckbox, formControlProps } from \"@react-typed-forms/core\";\nimport {\n ActionRendererProps,\n AdornmentProps,\n AdornmentRenderer,\n appendMarkupAt,\n ArrayRendererProps,\n ControlLayoutProps,\n DataRendererProps,\n DisplayRendererProps,\n FormRenderer,\n GroupRendererProps,\n LabelRendererProps,\n LabelType,\n RenderedControl,\n RenderedLayout,\n renderLayoutParts,\n VisibilityRendererProps,\n} from \"./controlRender\";\nimport {\n AdornmentPlacement,\n ControlAdornment,\n ControlAdornmentType,\n DataRenderType,\n DisplayDataType,\n FieldOption,\n FieldType,\n FlexRenderer,\n GridRenderer,\n HtmlDisplay,\n IconAdornment,\n IconDisplay,\n isDisplayOnlyRenderer,\n isFlexRenderer,\n isGridRenderer,\n SchemaField,\n SchemaInterface,\n TextDisplay,\n} from \"./types\";\nimport { hasOptions } from \"./util\";\n\nexport interface DefaultRenderers {\n data: DataRendererRegistration;\n label: LabelRendererRegistration;\n action: ActionRendererRegistration;\n array: ArrayRendererRegistration;\n group: GroupRendererRegistration;\n display: DisplayRendererRegistration;\n adornment: AdornmentRendererRegistration;\n renderLayout: LayoutRendererRegistration;\n visibility: VisibilityRendererRegistration;\n}\n\nexport interface LayoutRendererRegistration {\n type: \"layout\";\n match?: (props: ControlLayoutProps) => boolean;\n render: (\n props: ControlLayoutProps,\n renderers: FormRenderer,\n ) => RenderedControl;\n}\nexport interface DataRendererRegistration {\n type: \"data\";\n schemaType?: string | string[];\n renderType?: string | string[];\n options?: boolean;\n collection?: boolean;\n match?: (props: DataRendererProps) => boolean;\n render: (\n props: DataRendererProps,\n renderers: FormRenderer,\n ) => ReactNode | ((layout: ControlLayoutProps) => ControlLayoutProps);\n}\n\nexport interface LabelRendererRegistration {\n type: \"label\";\n labelType?: LabelType | LabelType[];\n render: (\n labelProps: LabelRendererProps,\n labelStart: ReactNode,\n labelEnd: ReactNode,\n renderers: FormRenderer,\n ) => ReactElement;\n}\n\nexport interface ActionRendererRegistration {\n type: \"action\";\n actionType?: string | string[];\n render: (props: ActionRendererProps, renderers: FormRenderer) => ReactElement;\n}\n\nexport interface ArrayRendererRegistration {\n type: \"array\";\n render: (props: ArrayRendererProps, renderers: FormRenderer) => ReactElement;\n}\n\nexport interface GroupRendererRegistration {\n type: \"group\";\n renderType?: string | string[];\n render: (\n props: GroupRendererProps,\n renderers: FormRenderer,\n ) => ReactElement | ((layout: ControlLayoutProps) => ControlLayoutProps);\n}\n\nexport interface DisplayRendererRegistration {\n type: \"display\";\n renderType?: string | string[];\n render: (\n props: DisplayRendererProps,\n renderers: FormRenderer,\n ) => ReactElement;\n}\n\nexport interface AdornmentRendererRegistration {\n type: \"adornment\";\n adornmentType?: string | string[];\n render: (props: AdornmentProps) => AdornmentRenderer;\n}\n\nexport interface VisibilityRendererRegistration {\n type: \"visibility\";\n render: (props: VisibilityRendererProps) => ReactNode;\n}\n\nexport type RendererRegistration =\n | DataRendererRegistration\n | GroupRendererRegistration\n | DisplayRendererRegistration\n | ActionRendererRegistration\n | LabelRendererRegistration\n | ArrayRendererRegistration\n | AdornmentRendererRegistration\n | LayoutRendererRegistration\n | VisibilityRendererRegistration;\n\nexport function createFormRenderer(\n customRenderers: RendererRegistration[] = [],\n defaultRenderers: DefaultRenderers = createClassStyledRenderers(),\n): FormRenderer {\n const dataRegistrations = customRenderers.filter(isDataRegistration);\n const groupRegistrations = customRenderers.filter(isGroupRegistration);\n const adornmentRegistrations = customRenderers.filter(\n isAdornmentRegistration,\n );\n const displayRegistrations = customRenderers.filter(isDisplayRegistration);\n const labelRenderers = customRenderers.filter(isLabelRegistration);\n const arrayRenderers = customRenderers.filter(isArrayRegistration);\n const actionRenderers = customRenderers.filter(isActionRegistration);\n const layoutRenderers = customRenderers.filter(isLayoutRegistration);\n const visibilityRenderer =\n customRenderers.find(isVisibilityRegistration) ??\n defaultRenderers.visibility;\n\n const formRenderers: FormRenderer = {\n renderAction,\n renderData,\n renderGroup,\n renderDisplay,\n renderLabel,\n renderArray,\n renderAdornment,\n renderLayout,\n renderVisibility: visibilityRenderer.render,\n };\n\n function renderLayout(props: ControlLayoutProps) {\n const renderer =\n layoutRenderers.find((x) => !x.match || x.match(props)) ??\n defaultRenderers.renderLayout;\n return renderer.render(props, formRenderers);\n }\n\n function renderAdornment(props: AdornmentProps): AdornmentRenderer {\n const renderer =\n adornmentRegistrations.find((x) =>\n isOneOf(x.adornmentType, props.adornment.type),\n ) ?? defaultRenderers.adornment;\n return renderer.render(props);\n }\n\n function renderArray(props: ArrayRendererProps) {\n return (arrayRenderers[0] ?? defaultRenderers.array).render(\n props,\n formRenderers,\n );\n }\n\n function renderLabel(\n props: LabelRendererProps,\n labelStart: ReactNode,\n labelEnd: ReactNode,\n ) {\n const renderer =\n labelRenderers.find((x) => isOneOf(x.labelType, props.type)) ??\n defaultRenderers.label;\n return renderer.render(props, labelStart, labelEnd, formRenderers);\n }\n\n function renderData(\n props: DataRendererProps,\n ): (layout: ControlLayoutProps) => ControlLayoutProps {\n const {\n renderOptions: { type: renderType },\n field,\n } = props;\n\n const options = hasOptions(props);\n const renderer =\n dataRegistrations.find(\n (x) =>\n (x.collection ?? false) === (field.collection ?? false) &&\n (x.options ?? false) === options &&\n isOneOf(x.schemaType, field.type) &&\n isOneOf(x.renderType, renderType) &&\n (!x.match || x.match(props)),\n ) ?? defaultRenderers.data;\n\n const result = renderer.render(props, formRenderers);\n if (typeof result === \"function\") return result;\n return (l) => ({ ...l, children: result });\n }\n\n function renderGroup(\n props: GroupRendererProps,\n ): (layout: ControlLayoutProps) => ControlLayoutProps {\n const renderType = props.renderOptions.type;\n const renderer =\n groupRegistrations.find((x) => isOneOf(x.renderType, renderType)) ??\n defaultRenderers.group;\n const result = renderer.render(props, formRenderers);\n if (typeof result === \"function\") return result;\n return (l) => ({ ...l, children: result });\n }\n\n function renderAction(props: ActionRendererProps) {\n const renderer =\n actionRenderers.find((x) => isOneOf(x.actionType, props.actionId)) ??\n defaultRenderers.action;\n return renderer.render(props, formRenderers);\n }\n\n function renderDisplay(props: DisplayRendererProps) {\n const renderType = props.data.type;\n const renderer =\n displayRegistrations.find((x) => isOneOf(x.renderType, renderType)) ??\n defaultRenderers.display;\n return renderer.render(props, formRenderers);\n }\n\n return formRenderers;\n}\n\ninterface DefaultLabelRendererOptions {\n className?: string;\n groupLabelClass?: string;\n requiredElement?: ReactNode;\n}\n\ninterface DefaultActionRendererOptions {\n className?: string;\n}\n\nexport function createDefaultActionRenderer(\n options: DefaultActionRendererOptions = {},\n): ActionRendererRegistration {\n function render({ onClick, actionText }: ActionRendererProps) {\n return (\n <button className={options.className} onClick={onClick}>\n {actionText}\n </button>\n );\n }\n return { render, type: \"action\" };\n}\nexport function createDefaultLabelRenderer(\n options: DefaultLabelRendererOptions = { requiredElement: <span> *</span> },\n): LabelRendererRegistration {\n const { className, groupLabelClass, requiredElement } = options;\n return {\n render: (props, labelStart, labelEnd) => (\n <>\n {labelStart}\n <label\n htmlFor={props.forId}\n className={clsx(\n className,\n props.type === LabelType.Group && groupLabelClass,\n )}\n >\n {props.label}\n {props.required && requiredElement}\n </label>\n {labelEnd}\n </>\n ),\n type: \"label\",\n };\n}\n\ninterface DefaultArrayRendererOptions {\n className?: string;\n removableClass?: string;\n childClass?: string;\n removableChildClass?: string;\n removeActionClass?: string;\n addActionClass?: string;\n}\n\nexport function createDefaultArrayRenderer(\n options?: DefaultArrayRendererOptions,\n): ArrayRendererRegistration {\n const {\n className,\n removableClass,\n childClass,\n removableChildClass,\n removeActionClass,\n addActionClass,\n } = options ?? {};\n function render(\n {\n elementCount,\n renderElement,\n addAction,\n removeAction,\n elementKey,\n required,\n }: ArrayRendererProps,\n { renderAction }: FormRenderer,\n ) {\n const showRemove = !required || elementCount > 1;\n return (\n <div>\n <div className={clsx(className, removeAction && removableClass)}>\n {Array.from({ length: elementCount }, (_, x) =>\n removeAction ? (\n <Fragment key={elementKey(x)}>\n <div className={clsx(childClass, removableChildClass)}>\n {renderElement(x)}\n </div>\n <div className={removeActionClass}>\n {showRemove && renderAction(removeAction(x))}\n </div>\n </Fragment>\n ) : (\n <div key={elementKey(x)} className={childClass}>\n {renderElement(x)}\n </div>\n ),\n )}\n </div>\n {addAction && (\n <div className={addActionClass}>{renderAction(addAction)}</div>\n )}\n </div>\n );\n }\n return { render, type: \"array\" };\n}\n\ninterface StyleProps {\n className?: string;\n style?: CSSProperties;\n}\n\ninterface DefaultGroupRendererOptions {\n className?: string;\n standardClassName?: string;\n gridStyles?: (columns: GridRenderer) => StyleProps;\n gridClassName?: string;\n defaultGridColumns?: number;\n flexClassName?: string;\n defaultFlexGap?: string;\n}\n\nexport function createDefaultGroupRenderer(\n options?: DefaultGroupRendererOptions,\n): GroupRendererRegistration {\n const {\n className,\n gridStyles = defaultGridStyles,\n defaultGridColumns = 2,\n gridClassName,\n standardClassName,\n flexClassName,\n defaultFlexGap,\n } = options ?? {};\n\n function defaultGridStyles({\n columns = defaultGridColumns,\n }: GridRenderer): StyleProps {\n return {\n className: gridClassName,\n style: {\n display: \"grid\",\n gridTemplateColumns: `repeat(${columns}, 1fr)`,\n },\n };\n }\n\n function flexStyles(options: FlexRenderer): StyleProps {\n return {\n className: flexClassName,\n style: {\n display: \"flex\",\n gap: options.gap ? options.gap : defaultFlexGap,\n flexDirection: options.direction\n ? (options.direction as any)\n : undefined,\n },\n };\n }\n\n function render(props: GroupRendererProps) {\n const { childCount, renderChild, renderOptions } = props;\n\n const { style, className: gcn } = isGridRenderer(renderOptions)\n ? gridStyles(renderOptions)\n : isFlexRenderer(renderOptions)\n ? flexStyles(renderOptions)\n : ({ className: standardClassName } as StyleProps);\n\n return (cp: ControlLayoutProps) => {\n return {\n ...cp,\n children: (\n <div className={clsx(props.className, className, gcn)} style={style}>\n {Array.from({ length: childCount }, (_, x) => renderChild(x))}\n </div>\n ),\n };\n };\n }\n return { type: \"group\", render };\n}\n\nexport interface DefaultDisplayRendererOptions {\n textClassName?: string;\n htmlClassName?: string;\n}\nexport function createDefaultDisplayRenderer(\n options: DefaultDisplayRendererOptions = {},\n): DisplayRendererRegistration {\n return {\n render: (props) => <DefaultDisplay {...options} {...props} />,\n type: \"display\",\n };\n}\n\nexport function DefaultDisplay({\n data,\n display,\n className,\n style,\n ...options\n}: DefaultDisplayRendererOptions & DisplayRendererProps) {\n switch (data.type) {\n case DisplayDataType.Icon:\n return (\n <i\n style={style}\n className={clsx(\n className,\n display ? display.value : (data as IconDisplay).iconClass,\n )}\n />\n );\n case DisplayDataType.Text:\n return (\n <div style={style} className={clsx(className, options.textClassName)}>\n {display ? display.value : (data as TextDisplay).text}\n </div>\n );\n case DisplayDataType.Html:\n return (\n <div\n style={style}\n className={clsx(className, options.htmlClassName)}\n dangerouslySetInnerHTML={{\n __html: display ? display.value ?? \"\" : (data as HtmlDisplay).html,\n }}\n />\n );\n default:\n return <h1>Unknown display type: {data.type}</h1>;\n }\n}\n\nexport const DefaultBoolOptions: FieldOption[] = [\n { name: \"Yes\", value: true },\n { name: \"No\", value: false },\n];\ninterface DefaultDataRendererOptions {\n inputClass?: string;\n displayOnlyClass?: string;\n selectOptions?: SelectRendererOptions;\n booleanOptions?: FieldOption[];\n optionRenderer?: DataRendererRegistration;\n}\n\nexport function createDefaultDataRenderer(\n options: DefaultDataRendererOptions = {},\n): DataRendererRegistration {\n const selectRenderer = createSelectRenderer(options.selectOptions ?? {});\n const { inputClass, booleanOptions, optionRenderer, displayOnlyClass } = {\n optionRenderer: selectRenderer,\n booleanOptions: DefaultBoolOptions,\n ...options,\n };\n return createDataRenderer((props, renderers) => {\n const fieldType = props.field.type;\n if (props.toArrayProps) {\n return (p) => ({\n ...p,\n children: renderers.renderArray(props.toArrayProps!()),\n });\n }\n if (fieldType === FieldType.Compound) {\n return renderers.renderGroup({\n style: props.style,\n className: props.className,\n renderOptions: { type: \"Standard\", hideTitle: true },\n renderChild: (i) => props.renderChild(i, i, { control: props.control }),\n childCount: props.childCount,\n });\n }\n const renderOptions = props.renderOptions;\n let renderType = renderOptions.type;\n if (fieldType == FieldType.Any) return <>No control for Any</>;\n if (isDisplayOnlyRenderer(renderOptions))\n return (p) => ({\n ...p,\n className: displayOnlyClass,\n children: (\n <DefaultDisplayOnly\n field={props.field}\n schemaInterface={props.dataContext.schemaInterface}\n control={props.control}\n className={props.className}\n style={props.style}\n emptyText={renderOptions.emptyText}\n />\n ),\n });\n const isBool = fieldType === FieldType.Bool;\n if (booleanOptions != null && isBool && props.options == null) {\n return renderers.renderData({ ...props, options: booleanOptions });\n }\n if (renderType === DataRenderType.Standard && hasOptions(props)) {\n return optionRenderer.render(props, renderers);\n }\n switch (renderType) {\n case DataRenderType.Dropdown:\n return selectRenderer.render(props, renderers);\n }\n return renderType === DataRenderType.Checkbox ? (\n <Fcheckbox\n style={props.style}\n className={props.className}\n control={props.control}\n />\n ) : (\n <ControlInput\n className={clsx(props.className, inputClass)}\n style={props.style}\n id={props.id}\n readOnly={props.readonly}\n control={props.control}\n convert={createInputConversion(props.field.type)}\n />\n );\n });\n}\n\nexport function DefaultDisplayOnly({\n control,\n className,\n emptyText,\n schemaInterface,\n field,\n style,\n}: {\n control: Control<any>;\n field: SchemaField;\n schemaInterface: SchemaInterface;\n className?: string;\n style?: React.CSSProperties;\n emptyText?: string | null;\n}) {\n const v = control.value;\n const text =\n (schemaInterface.isEmptyValue(field, v)\n ? emptyText\n : schemaInterface.textValue(field, v)) ?? \"\";\n return (\n <div style={style} className={className}>\n {text}\n </div>\n );\n}\n\nexport function ControlInput({\n control,\n convert,\n ...props\n}: React.InputHTMLAttributes<HTMLInputElement> & {\n control: Control<any>;\n convert: InputConversion;\n}) {\n const { errorText, value, onChange, ...inputProps } =\n formControlProps(control);\n return (\n <input\n {...inputProps}\n type={convert[0]}\n value={value == null ? \"\" : convert[2](value)}\n onChange={(e) => {\n control.value = convert[1](e.target.value);\n }}\n {...props}\n />\n );\n}\n\nexport interface DefaultAdornmentRendererOptions {}\n\nexport function createDefaultAdornmentRenderer(\n options: DefaultAdornmentRendererOptions = {},\n): AdornmentRendererRegistration {\n return {\n type: \"adornment\",\n render: ({ adornment }) => ({\n apply: (rl) => {\n if (isIconAdornment(adornment)) {\n return appendMarkupAt(\n adornment.placement ?? AdornmentPlacement.ControlStart,\n <i className={adornment.iconClass} />,\n )(rl);\n }\n },\n priority: 0,\n adornment,\n }),\n };\n}\n\nexport interface DefaultLayoutRendererOptions {\n className?: string;\n errorClass?: string;\n}\n\nexport interface DefaultRendererOptions {\n data?: DefaultDataRendererOptions;\n display?: DefaultDisplayRendererOptions;\n action?: DefaultActionRendererOptions;\n array?: DefaultArrayRendererOptions;\n group?: DefaultGroupRendererOptions;\n label?: DefaultLabelRendererOptions;\n adornment?: DefaultAdornmentRendererOptions;\n layout?: DefaultLayoutRendererOptions;\n}\n\nexport function createDefaultRenderers(\n options: DefaultRendererOptions = {},\n): DefaultRenderers {\n return {\n data: createDefaultDataRenderer(options.data),\n display: createDefaultDisplayRenderer(options.display),\n action: createDefaultActionRenderer(options.action),\n array: createDefaultArrayRenderer(options.array),\n group: createDefaultGroupRenderer(options.group),\n label: createDefaultLabelRenderer(options.label),\n adornment: createDefaultAdornmentRenderer(options.adornment),\n renderLayout: createDefaultLayoutRenderer(options.layout),\n visibility: createDefaultVisibilityRenderer(),\n };\n}\n\nfunction createDefaultLayoutRenderer(\n options: DefaultLayoutRendererOptions = {},\n) {\n return createLayoutRenderer((props, renderers) => {\n const layout = renderLayoutParts(\n { ...props, className: clsx(props.className, options.className) },\n renderers,\n );\n return {\n children: <DefaultLayout layout={layout} {...options} />,\n className: layout.className,\n style: layout.style,\n divRef: (e) =>\n e && props.errorControl\n ? (props.errorControl.meta.scrollElement = e)\n : undefined,\n };\n });\n}\n\nfunction createClassStyledRenderers() {\n return createDefaultRenderers({\n layout: { className: \"control\" },\n group: { className: \"group\" },\n array: { className: \"control-array\" },\n action: { className: \"action\" },\n data: { inputClass: \"data\" },\n display: { htmlClassName: \"html\", textClassName: \"text\" },\n });\n}\n\nfunction isAdornmentRegistration(\n x: RendererRegistration,\n): x is AdornmentRendererRegistration {\n return x.type === \"adornment\";\n}\n\nfunction isDataRegistration(\n x: RendererRegistration,\n): x is DataRendererRegistration {\n return x.type === \"data\";\n}\n\nfunction isGroupRegistration(\n x: RendererRegistration,\n): x is GroupRendererRegistration {\n return x.type === \"group\";\n}\n\nfunction isLabelRegistration(\n x: RendererRegistration,\n): x is LabelRendererRegistration {\n return x.type === \"label\";\n}\n\nfunction isLayoutRegistration(\n x: RendererRegistration,\n): x is LayoutRendererRegistration {\n return x.type === \"layout\";\n}\n\nfunction isVisibilityRegistration(\n x: RendererRegistration,\n): x is VisibilityRendererRegistration {\n return x.type === \"visibility\";\n}\n\nfunction isActionRegistration(\n x: RendererRegistration,\n): x is ActionRendererRegistration {\n return x.type === \"action\";\n}\n\nfunction isDisplayRegistration(\n x: RendererRegistration,\n): x is DisplayRendererRegistration {\n return x.type === \"display\";\n}\n\nfunction isArrayRegistration(\n x: RendererRegistration,\n): x is ArrayRendererRegistration {\n return x.type === \"array\";\n}\nfunction isOneOf<A>(x: A | A[] | undefined, v: A) {\n return x == null ? true : Array.isArray(x) ? x.includes(v) : v === x;\n}\n\nexport function isIconAdornment(a: ControlAdornment): a is IconAdornment {\n return a.type === ControlAdornmentType.Icon;\n}\n\nexport function createLayoutRenderer(\n render: LayoutRendererRegistration[\"render\"],\n options?: Partial<LayoutRendererRegistration>,\n): LayoutRendererRegistration {\n return { type: \"layout\", render, ...options };\n}\n\nexport function createArrayRenderer(\n render: ArrayRendererRegistration[\"render\"],\n options?: Partial<ArrayRendererRegistration>,\n): ArrayRendererRegistration {\n return { type: \"array\", render, ...options };\n}\n\nexport function createDataRenderer(\n render: DataRendererRegistration[\"render\"],\n options?: Partial<DataRendererRegistration>,\n): DataRendererRegistration {\n return { type: \"data\", render, ...options };\n}\n\nexport function createLabelRenderer(\n render: LabelRendererRegistration[\"render\"],\n options?: Omit<LabelRendererRegistration, \"type\">,\n): LabelRendererRegistration {\n return { type: \"label\", render, ...options };\n}\n\nexport function createVisibilityRenderer(\n render: VisibilityRendererRegistration[\"render\"],\n options?: Partial<VisibilityRendererRegistration>,\n): VisibilityRendererRegistration {\n return { type: \"visibility\", render, ...options };\n}\n\nexport function createAdornmentRenderer(\n render: (props: AdornmentProps) => AdornmentRenderer,\n options?: Partial<AdornmentRendererRegistration>,\n): AdornmentRendererRegistration {\n return { type: \"adornment\", ...options, render };\n}\n\nexport interface SelectRendererOptions {\n className?: string;\n emptyText?: string;\n requiredText?: string;\n}\n\nexport function createSelectRenderer(options: SelectRendererOptions = {}) {\n return createDataRenderer(\n (props, asArray) => (\n <SelectDataRenderer\n className={clsx(props.className, options.className)}\n state={props.control}\n id={props.id}\n options={props.options!}\n required={props.required}\n emptyText={options.emptyText}\n requiredText={options.requiredText}\n convert={createSelectConversion(props.field.type)}\n />\n ),\n {\n options: true,\n },\n );\n}\n\ntype SelectConversion = (a: any) => string | number;\n\ninterface SelectDataRendererProps {\n id?: string;\n className?: string;\n options: {\n name: string;\n value: any;\n disabled?: boolean;\n }[];\n emptyText?: string;\n requiredText?: string;\n required: boolean;\n state: Control<any>;\n convert: SelectConversion;\n}\n\nexport function SelectDataRenderer({\n state,\n options,\n className,\n convert,\n required,\n emptyText = \"N/A\",\n requiredText = \"<please select>\",\n ...props\n}: SelectDataRendererProps) {\n const { value, disabled } = state;\n const [showEmpty] = useState(!required || value == null);\n const optionStringMap = useMemo(\n () => Object.fromEntries(options.map((x) => [convert(x.value), x.value])),\n [options],\n );\n return (\n <select\n {...props}\n className={className}\n onChange={(v) => (state.value = optionStringMap[v.target.value])}\n value={convert(value)}\n disabled={disabled}\n >\n {showEmpty && (\n <option value=\"\">{required ? requiredText : emptyText}</option>\n )}\n {options.map((x, i) => (\n <option key={i} value={convert(x.value)} disabled={x.disabled}>\n {x.name}\n </option>\n ))}\n </select>\n );\n}\n\nexport function createSelectConversion(ft: string): SelectConversion {\n switch (ft) {\n case FieldType.String:\n case FieldType.Int:\n case FieldType.Double:\n return (a) => a;\n default:\n return (a) => a?.toString() ?? \"\";\n }\n}\n\ntype InputConversion = [string, (s: any) => any, (a: any) => string | number];\n\nexport function createInputConversion(ft: string): InputConversion {\n switch (ft) {\n case FieldType.String:\n return [\"text\", (a) => a, (a) => a];\n case FieldType.Bool:\n return [\"text\", (a) => a === \"true\", (a) => a?.toString() ?? \"\"];\n case FieldType.Int:\n return [\n \"number\",\n (a) => (a !== \"\" ? parseInt(a) : null),\n (a) => (a == null ? \"\" : a),\n ];\n case FieldType.Date:\n return [\"date\", (a) => a, (a) => a];\n case FieldType.Double:\n return [\"number\", (a) => parseFloat(a), (a) => a];\n default:\n return [\"text\", (a) => a, (a) => a];\n }\n}\n\nexport function createDefaultVisibilityRenderer() {\n return createVisibilityRenderer((props) => <DefaultVisibility {...props} />);\n}\n\nexport function DefaultVisibility({\n visibility,\n children,\n className,\n style,\n divRef,\n}: VisibilityRendererProps) {\n const v = visibility.value;\n useEffect(() => {\n if (v) {\n visibility.setValue((ex) => ({ visible: v.visible, showing: v.visible }));\n }\n }, [v?.visible]);\n return v?.visible ? (\n <div className={clsx(className)} style={style} ref={divRef}>\n {children}\n </div>\n ) : (\n <></>\n );\n}\n\nexport function DefaultLayout({\n errorClass,\n className,\n layout: { controlEnd, controlStart, label, children, errorControl },\n}: DefaultLayoutRendererOptions & {\n layout: RenderedLayout;\n}) {\n const ec = errorControl;\n const errorText = ec && ec.touched ? ec.error : undefined;\n return (\n <>\n {label}\n {controlStart}\n {children}\n {errorText && <div className={errorClass}>{errorText}</div>}\n {controlEnd}\n </>\n );\n}\n","import React from \"react\";\nimport { DefaultRendererOptions } from \"./renderers\";\n\nexport const defaultTailwindTheme: DefaultRendererOptions = {\n label: {\n groupLabelClass: \"font-bold\",\n requiredElement: <span className=\"text-red-500\"> *</span>,\n },\n array: {\n removableClass: \"grid grid-cols-[1fr_auto] items-center gap-x-2\",\n childClass: \"grow my-2\",\n addActionClass: \"my-2\",\n },\n group: {\n standardClassName: \"flex flex-col gap-4\",\n gridClassName: \"gap-x-2 gap-y-4\",\n flexClassName: \"gap-2\",\n },\n action: {\n className: \"bg-primary rounded-lg p-3 text-white\",\n },\n layout: {\n className: \"flex flex-col\",\n errorClass: \"text-sm text-danger-500\",\n },\n data: {\n displayOnlyClass: \"flex flex-row items-center gap-2\",\n },\n};\n"],"names":["FieldType","ControlDefinitionType","DynamicPropertyType","ExpressionType","AdornmentPlacement","ControlAdornmentType","DataRenderType","SyncTextType","GroupRenderType","DisplayDataType","ValidatorType","DateComparison","isDataControlDefinition","x","type","Data","isGroupControlsDefinition","Group","isDisplayControlsDefinition","Display","isActionControlsDefinition","Action","visitControlDefinition","visitor","defaultValue","action","data","display","group","isGridRenderer","options","Grid","isFlexRenderer","Flex","isDisplayOnlyRenderer","DisplayOnly","buildSchema","def","Object","entries","map","stringField","displayName","makeScalarField","_extends","String","stringOptionsField","slice","call","arguments","withScalarOptions","v","n","defaultScalarField","makeCompoundField","defaultCompoundField","intField","Int","boolField","Bool","compoundField","fields","other","field","children","collection","Compound","applyDefaultValues","defaultValueForFields","applyValue","filter","isCompoundField","length","out","forEach","applyDefaultForField","defaultValueForField","parent","notElement","required","treeChildren","fromEntries","sf","undefined","isRequired","childValue","notNullable","elementValueForField","findScalarField","findField","findCompoundField","find","isScalarField","isDataControl","c","isGroupControl","fieldHasTag","tag","_field$tags","Boolean","tags","includes","fieldDisplayName","_field$displayName","hasOptions","o","_o$options$length","_o$options","defaultControlForField","title","_sf$tags","htmlEditor","renderOptions","HtmlEditor","Standard","findReferencedControl","control","_control$children","findReferencedControlInArray","controls","_iterator","_createForOfIteratorHelperLoose","_step","done","value","ref","addMissingControls","changes","flatMap","existing","changedCompounds","_cf$children","ex","cf","concat","useUpdatedRef","a","r","useRef","current","isControlReadonly","readonly","getDisplayOnlyOptions","d","getTypeField","context","_context$groupControl","typeSchemaField","isTypeField","groupControl","visitControlDataArray","cb","_iterator2","_step2","visitControlData","definition","ctx","processData","fieldName","fieldData","result","_iterator3","_control$elements","elements","_step3","elemResult","cfResult","schemaInterface","cleanDataForSchema","typeField","typeValue","cleanableFields","_x$onlyForTypes$lengt","_x$onlyForTypes","onlyForTypes","_x$onlyForTypes2","canBeNull","childFields","Array","isArray","cv","getAllReferencedClasses","_c$children","childClasses","tc","clsx","styleClass","layoutClass","dataControl","textDisplayControl","text","displayData","Text","htmlDisplayControl","html","Html","dynamicDefaultValue","expr","DefaultValue","dynamicReadonly","Readonly","dynamicVisibility","Visible","dynamicDisabled","Disabled","fieldEqExpr","DataMatch","jsonataExpr","expression","Jsonata","groupedControl","groupOptions","hideTitle","compoundControl","createAction","actionId","onClick","actionText","emptyGroupDefinition","useControlDefinitionForSchema","useMemo","_definition$children","useCalculatedControl","calculate","useControl","useControlEffect","cc","useEvalVisibilityHook","useEvalExpressionHook","schemaField","useEvalDynamicHook","useCallback","_dynamicVisibility","_r$current","useComputed","matchesType","hideDisplayOnly","useEvalReadonlyHook","useEvalStyleHook","property","dynamicStyle","useEvalAllowedOptionsHook","dynamicAllowed","AllowedOptions","useEvalDisabledHook","useEvalDisplayHook","dynamicDisplay","useEvalDefaultValueHook","dynamicValue","_dynamicValue","_r$current2","calcDefault","_ref","dcv","useDataExpression","fvExpr","refField","otherField","useDataMatchExpression","fv","defaultEvalHooks","useJsonataExpression","defaultUseEvalExpressionHook","makeEvalExpressionHook","f","_definition$dynamic","dynamic","types","displayOptions","emptyText","isEmptyValue","jExpr","compiledExpr","jsonata","e","console","error","Promise","resolve","evaluate","then","_compiledExpr$evaluat","reject","useValidationHook","_definition$validator","_definition$validator2","validatorTypes","validators","hidden","groupContext","_dd$validators","dd","useValueChangeEffect","setError","useValidator","i","useJsonataValidator","Date","useDateValidator","errorMsg","msg","dv","comparisonDate","fixedDate","parse","nowDate","UTC","getFullYear","getMonth","getDate","daysFromCurrent","selDate","notAfter","comparison","NotAfter","toDateString","defaultSchemaInterface","defaultIsEmpty","textValue","defaultTextValue","DateTime","toLocaleDateString","toString","AppendAdornmentPriority","WrapAdornmentPriority","LabelType","useControlRenderer","renderer","_options$useDataHook","_options$schemaInterf","_options$useEvalExpre","dataProps","useDataHook","defaultDataProps","useExpr","lookupSchemaField","useDefaultValue","useIsVisible","useIsReadonly","useIsDisabled","useAllowedOptions","useCustomStyle","Style","useLayoutStyle","LayoutStyle","useDynamicDisplay","useValidation","Component","parentControl","stopTracking","useComponentTracking","_c$children$map","_definition$adornment","_definition$adornment2","dataContext","readonlyControl","disabledControl","visibleControl","displayControl","customStyle","layoutStyle","visible","visibility","showing","setValue","allowedOptions","defaultValueControl","_getControlData","getControlData","childContext","isNull","dontClearHidden","_ref2","vc","cd","pn","dontClear","clearHidden","myOptions","_visibility$fields","disabled","childRenderers","useEffect","React","createElement","Fragment","adornments","renderAdornment","adornment","labelAndChildren","renderControlLayout","childCount","renderChild","k","props","RenderChild","key","createDataProps","formOptions","style","renderedControl","renderLayout","className","renderVisibility","parentContext","_parentContext$groupC","_parentContext$groupC2","childControl","newControl","groupProps","_ref3","_field$options$length","_field$options","_allowedOptions$value","_definition$renderOpt","elementRenderer","_objectWithoutPropertiesLoose","_excluded","fieldOptions","allowed","id","uniqueId","toArrayProps","defaultArrayProps","arrayControl","renderElement","_arrayControl$element","noun","elems","elementCount","addAction","addElement","elementKey","removeAction","removeElement","_ref4","childRenderer","dataOptions","renderData","_c$groupOptions2","_c$groupOptions","processLayout","renderGroup","label","hide","_c$title","renderAction","_c$displayData","renderDisplay","elementControl","element","renderLayoutParts","labelText","controlTitle","Control","forId","errorControl","appendMarkup","markup","layout","wrapMarkup","wrap","layoutKeyForPlacement","pos","ControlEnd","ControlStart","LabelStart","LabelEnd","appendMarkupAt","wrapMarkupAt","_props$processLayout","_ref5","sort","b","priority","apply","renderLabel","labelStart","labelEnd","createFormRenderer","customRenderers","defaultRenderers","_customRenderers$find","createClassStyledRenderers","dataRegistrations","isDataRegistration","groupRegistrations","isGroupRegistration","adornmentRegistrations","isAdornmentRegistration","displayRegistrations","isDisplayRegistration","labelRenderers","isLabelRegistration","arrayRenderers","isArrayRegistration","actionRenderers","isActionRegistration","layoutRenderers","isLayoutRegistration","visibilityRenderer","isVisibilityRegistration","formRenderers","renderArray","render","_layoutRenderers$find","match","_adornmentRegistratio","isOneOf","adornmentType","_arrayRenderers$","array","_labelRenderers$find","labelType","_dataRegistrations$fi","renderType","_x$collection","_field$collection","_x$options","schemaType","l","_groupRegistrations$f","_actionRenderers$find","actionType","_displayRegistrations","createDefaultActionRenderer","createDefaultLabelRenderer","requiredElement","_options","groupLabelClass","htmlFor","createDefaultArrayRenderer","removableClass","childClass","removableChildClass","removeActionClass","addActionClass","showRemove","from","_","createDefaultGroupRenderer","_ref5$gridStyles","gridStyles","defaultGridStyles","_ref5$defaultGridColu","defaultGridColumns","gridClassName","standardClassName","flexClassName","defaultFlexGap","_ref6","_ref6$columns","columns","gridTemplateColumns","flexStyles","gap","flexDirection","direction","_ref7","gcn","cp","createDefaultDisplayRenderer","DefaultDisplay","_ref8","_effect","_useComponentTracking","_display$value","Icon","iconClass","textClassName","htmlClassName","dangerouslySetInnerHTML","__html","DefaultBoolOptions","name","createDefaultDataRenderer","_options$selectOption","selectRenderer","createSelectRenderer","selectOptions","_optionRenderer$boole","optionRenderer","booleanOptions","inputClass","displayOnlyClass","createDataRenderer","renderers","fieldType","p","Any","DefaultDisplayOnly","isBool","Dropdown","Checkbox","Fcheckbox","ControlInput","readOnly","convert","createInputConversion","_ref9","_effect2","_ref10","_ref11","_effect3","_excluded2","_formControlProps","formControlProps","errorText","onChange","inputProps","_excluded3","target","createDefaultAdornmentRenderer","_ref12","rl","isIconAdornment","_adornment$placement","placement","createDefaultRenderers","createDefaultLayoutRenderer","createDefaultVisibilityRenderer","createLayoutRenderer","DefaultLayout","divRef","meta","scrollElement","createArrayRenderer","createLabelRenderer","createVisibilityRenderer","createAdornmentRenderer","asArray","SelectDataRenderer","state","requiredText","createSelectConversion","_ref13","_effect4","_ref13$emptyText","_ref13$requiredText","_excluded4","_useState","useState","showEmpty","optionStringMap","ft","Double","_a$toString","_a$toString2","parseInt","parseFloat","DefaultVisibility","_ref14","_effect5","_ref15","_effect6","errorClass","_ref15$layout","controlEnd","controlStart","ec","touched","defaultTailwindTheme"],"mappings":"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"}
|