@react-typed-forms/schemas 7.2.0 → 7.3.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/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 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<\n S extends SchemaField,\n S2 extends Partial<SchemaField>,\n>(options: S2, v: (name: string) => S): (name: string) => S & S2 {\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 root: 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 ...ctx,\n fields: fieldData.children,\n groupControl: c,\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 context.root,\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 root: 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(\"null\");\n }\n }, [jExpr]);\n const control = useControl();\n useControlEffect(\n () => [data.value, root.value],\n async ([v, rv]) => {\n control.value = await compiledExpr.evaluate(v, { root: rv });\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(\n expr.expression,\n context.groupControl,\n context.root,\n );\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 dataRoot?: Control<any>;\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 root: options.dataRoot ?? parentControl,\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 dataRoot: dataContext.root,\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 ...parentContext,\n groupControl: childControl!,\n fields: schemaField.children,\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","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","schemaInterface","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","root","defaultUseEvalExpressionHook","makeEvalExpressionHook","f","_definition$dynamic","dynamic","types","displayOptions","emptyText","isEmptyValue","jExpr","compiledExpr","jsonata","e","console","error","_ref2","rv","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","_options$dataRoot","_c$children$map","_definition$adornment","_definition$adornment2","dataContext","dataRoot","readonlyControl","disabledControl","visibleControl","displayControl","customStyle","layoutStyle","visible","visibility","showing","setValue","allowedOptions","defaultValueControl","_getControlData","getControlData","childContext","isNull","dontClearHidden","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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"}
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<\n S extends SchemaField,\n S2 extends Partial<SchemaField>,\n>(options: S2, v: (name: string) => S): (name: string) => S & S2 {\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\";\nimport { DataContext, JsonPath } from \"./controlRender\";\n\nexport interface ControlDataContext extends DataContext {\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 ? lookupChildControl(context, 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 thisPath = [...ctx.path, fieldData.field];\n const control = ctx.data.lookupControl(thisPath);\n if (!control) throw \"No control for field\";\n const result = def ? cb(def, fieldData, control, false) : undefined;\n if (result !== undefined) return result;\n if (fieldData.collection) {\n let cIndex = 0;\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 ...ctx,\n fields: fieldData.children,\n path: [...thisPath, cIndex],\n },\n cb,\n );\n if (cfResult !== undefined) return cfResult;\n }\n cIndex++;\n }\n }\n }\n}\n\nexport function lookupChildControl(\n data: DataContext,\n child: JsonPath,\n): Control<any> | undefined {\n const childPath = [...data.path, child];\n return data.data.lookupControl(childPath);\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\nexport function jsonPathString(jsonPath: JsonPath[]) {\n let out = \"\";\n jsonPath.forEach((v, i) => {\n if (typeof v === \"number\") {\n out += \"[\" + v + \"]\";\n } else {\n if (i > 0) out += \".\";\n out += v;\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 {\n ChangeListenerFunc,\n Control,\n ControlChange,\n useControl,\n useControlEffect,\n} 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\nexport function trackedStructure<A>(\n c: Control<A>,\n tracker: ChangeListenerFunc<any>,\n): A {\n const cc = c.current;\n const cv = cc.value;\n if (cv == null) {\n tracker(c, ControlChange.Structure);\n return cv;\n }\n if (typeof cv !== \"object\") {\n tracker(c, ControlChange.Value);\n return cv;\n }\n return new Proxy(cv, {\n get(target: object, p: string | symbol, receiver: any): any {\n if (Array.isArray(cv)) {\n tracker(c, ControlChange.Structure);\n if (typeof p === \"symbol\" || p[0] >= \"9\" || p[0] < \"0\")\n return Reflect.get(cv, p);\n const nc = (cc.elements as any)[p];\n if (typeof nc === \"function\") return nc;\n if (nc == null) return null;\n return trackedStructure(nc, tracker);\n }\n if (p in cv) return trackedStructure((cc.fields as any)[p], tracker);\n return undefined;\n },\n }) as A;\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, useEffect, useMemo, useRef } from \"react\";\nimport {\n addAfterChangesCallback,\n collectChanges,\n Control,\n makeChangeTracker,\n useComputed,\n useControl,\n useRefState,\n} from \"@react-typed-forms/core\";\n\nimport {\n ControlDataContext,\n defaultValueForField,\n findField,\n getDisplayOnlyOptions,\n getTypeField,\n isControlReadonly,\n jsonPathString,\n lookupChildControl,\n useUpdatedRef,\n} from \"./util\";\nimport jsonata from \"jsonata\";\nimport { trackedStructure, useCalculatedControl } from \"./internal\";\nimport { DataContext } from \"./controlRender\";\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: DataContext,\n) {\n const refField = findField(fields, fvExpr.field);\n const otherField = refField\n ? lookupChildControl(data, refField.field)\n : undefined;\n return useCalculatedControl(() => otherField?.value);\n}\n\nfunction useDataMatchExpression(\n fvExpr: DataMatchExpression,\n fields: SchemaField[],\n data: DataContext,\n) {\n const refField = findField(fields, fvExpr.field);\n const otherField = refField\n ? lookupChildControl(data, refField.field)\n : 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,\n );\n case ExpressionType.Data:\n return useDataExpression(expr as DataExpression, context.fields, context);\n case ExpressionType.DataMatch:\n return useDataMatchExpression(\n expr as DataMatchExpression,\n context.fields,\n context,\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 lookupChildControl(context, field.field)?.value,\n )\n );\n}\n\nexport function useJsonataExpression(\n jExpr: string,\n dataContext: DataContext,\n bindings?: () => Record<string, any>,\n): Control<any> {\n const pathString = jsonPathString(dataContext.path);\n const compiledExpr = useMemo(() => {\n try {\n return jsonata(pathString ? pathString + \".(\" + jExpr + \")\" : jExpr);\n } catch (e) {\n console.error(e);\n return jsonata(\"null\");\n }\n }, [jExpr, pathString]);\n const control = useControl();\n const listenerRef = useRef<() => void>();\n const [ref] = useRefState(() =>\n makeChangeTracker(() => {\n const l = listenerRef.current;\n if (l) {\n listenerRef.current = undefined;\n addAfterChangesCallback(() => {\n l();\n listenerRef.current = l;\n });\n }\n }),\n );\n useEffect(() => {\n listenerRef.current = apply;\n apply();\n async function apply() {\n const [collect, updateSubscriptions] = ref.current;\n try {\n const bindingData = bindings\n ? collectChanges(collect, bindings)\n : undefined;\n control.value = await compiledExpr.evaluate(\n trackedStructure(dataContext.data, collect),\n bindingData,\n );\n } finally {\n updateSubscriptions();\n }\n }\n return () => ref.current[1](true);\n }, [compiledExpr]);\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);\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 ControlChange,\n newControl,\n removeElement,\n trackControlChange,\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 definition: DataControlDefinition;\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 parentPath?: JsonPath[];\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?: (elemIndex: number) => ReactNode;\n}\nexport type CreateDataProps = (\n controlProps: DataControlProps,\n) => DataRendererProps;\n\nexport type JsonPath = string | number;\n\nexport interface DataContext {\n data: Control<any>;\n path: JsonPath[];\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: rootControl, parentPath = [] }: ControlRenderProps) => {\n const stopTracking = useComponentTracking();\n try {\n const { definition: c, options, fields, schemaField } = r.current;\n const parentDataContext: ControlDataContext = {\n fields,\n schemaInterface,\n data: rootControl,\n path: parentPath,\n };\n const readonlyControl = useIsReadonly(parentDataContext);\n const disabledControl = useIsDisabled(parentDataContext);\n const visibleControl = useIsVisible(parentDataContext);\n const displayControl = useDynamicDisplay(parentDataContext);\n const customStyle = useCustomStyle(parentDataContext).value;\n const layoutStyle = useLayoutStyle(parentDataContext).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(parentDataContext);\n const defaultValueControl = useDefaultValue(parentDataContext);\n const [parentControl, control, controlDataContext] = getControlData(\n schemaField,\n parentDataContext,\n );\n useControlEffect(\n () => [\n visibility.value,\n defaultValueControl.value,\n control,\n isDataControlDefinition(definition) && definition.dontClearHidden,\n parentControl?.isNull,\n ],\n ([vc, dv, cd, dontClear, parentNull]) => {\n if (vc && cd && vc.visible === vc.showing) {\n if (!vc.visible) {\n if (options.clearHidden && !dontClear) {\n console.log(\"Clearing \", schemaField?.field);\n cd.value = undefined;\n }\n } else if (cd.value == null) {\n console.log(\"Defaulting \", schemaField?.field, dv);\n cd.value = dv;\n }\n }\n if (parentNull && parentControl?.isNull) {\n parentControl.value = {};\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(\n control ?? newControl(null),\n !!myOptions.hidden,\n parentDataContext,\n );\n const childRenderers: FC<ControlRenderProps>[] =\n c.children?.map((cd) =>\n useControlRenderer(cd, controlDataContext.fields, renderer, {\n ...options,\n ...myOptions,\n }),\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\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: controlDataContext,\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, Control<any> | undefined, ControlDataContext] {\n const { data, path } = parentContext;\n const parentControl = data.lookupControl(path);\n const childPath = schemaField ? [...path, schemaField.field] : path;\n const childControl =\n schemaField && parentControl\n ? parentControl.fields[schemaField.field]\n : undefined;\n return [\n parentControl,\n childControl,\n schemaField\n ? {\n ...parentContext,\n path: childPath,\n fields: isCompoundField(schemaField)\n ? schemaField.children\n : parentContext.fields,\n }\n : parentContext,\n ];\n}\n\nfunction groupProps(\n renderOptions: GroupRenderOptions = { type: \"Standard\" },\n childCount: number,\n renderChild: ChildRenderer,\n data: DataContext,\n className: string | null | undefined,\n style: React.CSSProperties | undefined,\n): GroupRendererProps {\n return {\n childCount,\n renderChild: (i) =>\n renderChild(i, i, { control: data.data, parentPath: data.path }),\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 definition,\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: (elemIndex: number) => 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(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,\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, elemIndex?: number) {\n if (!schemaField) return { children: \"No schema field for: \" + c.field };\n if (!childControl) return { children: \"No control for: \" + c.field };\n const props = dataProps({\n definition: c,\n field: schemaField,\n dataContext:\n elemIndex != null\n ? { ...dataContext, path: [...dataContext.path, elemIndex] }\n : dataContext,\n control:\n elemIndex != null ? childControl!.elements[elemIndex] : childControl,\n options: dataOptions,\n style,\n childCount,\n allowedOptions,\n renderChild: childRenderer,\n elementRenderer:\n elemIndex == null && schemaField.collection\n ? (ei) => renderLayoutParts(renderData(c, ei), 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\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\nfunction lookupControl(\n base: Control<any> | undefined,\n path: (string | number)[],\n): Control<any> | undefined {\n let index = 0;\n while (index < path.length && base) {\n const childId = path[index];\n const c = base.current;\n if (typeof childId === \"string\") {\n const next = c.fields?.[childId];\n if (!next) trackControlChange(base, ControlChange.Structure);\n base = next;\n } else {\n base = c.elements?.[childId];\n }\n index++;\n }\n return base;\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) =>\n props.renderChild(i, i, {\n control: props.dataContext.data,\n parentPath: props.dataContext.path,\n }),\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","typeSchemaField","isTypeField","lookupChildControl","visitControlDataArray","cb","_iterator2","_step2","visitControlData","definition","ctx","processData","fieldName","fieldData","thisPath","path","lookupControl","result","cIndex","_iterator3","_control$elements","elements","_step3","elemResult","cfResult","child","childPath","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","jsonPathString","jsonPath","i","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","trackedStructure","tracker","ControlChange","Structure","Value","Proxy","get","target","p","receiver","Reflect","nc","useEvalVisibilityHook","useEvalExpressionHook","schemaField","useEvalDynamicHook","useCallback","_dynamicVisibility","_r$current","useComputed","matchesType","hideDisplayOnly","schemaInterface","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","_lookupChildControl","displayOptions","emptyText","isEmptyValue","jExpr","dataContext","bindings","pathString","compiledExpr","jsonata","e","console","error","listenerRef","_useRefState","useRefState","makeChangeTracker","l","addAfterChangesCallback","useEffect","apply","_ref$current","collect","updateSubscriptions","_temp","_finallyRethrows","bindingData","collectChanges","Promise","resolve","evaluate","then","_compiledExpr$evaluat","_wasThrown","_result","reject","useValidationHook","_definition$validator","_definition$validator2","validatorTypes","validators","hidden","groupContext","_dd$validators","dd","useValueChangeEffect","setError","useValidator","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","rootControl","_ref$parentPath","parentPath","stopTracking","useComponentTracking","_c$children$map","_definition$adornment","_definition$adornment2","parentDataContext","readonlyControl","disabledControl","visibleControl","displayControl","customStyle","layoutStyle","visible","visibility","showing","setValue","allowedOptions","defaultValueControl","_getControlData","getControlData","parentControl","controlDataContext","dontClearHidden","isNull","_ref2","vc","cd","dontClear","parentNull","clearHidden","log","myOptions","_visibility$fields","disabled","newControl","childRenderers","React","createElement","Fragment","adornments","renderAdornment","adornment","labelAndChildren","renderControlLayout","childCount","renderChild","k","props","RenderChild","key","createDataProps","formOptions","style","renderedControl","renderLayout","className","renderVisibility","parentContext","childControl","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","elemIndex","ei","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","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","_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","Any","DefaultDisplayOnly","isBool","Dropdown","Checkbox","Fcheckbox","ControlInput","readOnly","convert","createInputConversion","_ref9","_effect2","_ref10","_ref11","_effect3","_excluded2","_formControlProps","formControlProps","errorText","onChange","inputProps","_excluded3","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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"}