@react-typed-forms/schemas 10.2.0 → 10.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/util.ts","../src/schemaBuilder.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","../src/components/DefaultDisplay.tsx","../src/components/DefaultLayout.tsx","../src/components/DefaultVisibility.tsx","../src/components/SelectDataRenderer.tsx","../src/components/DefaultDisplayOnly.tsx","../src/components/ControlInput.tsx","../src/components/DefaultArrayRenderer.tsx","../src/components/CheckRenderer.tsx","../src/createDefaultRenderers.tsx","../src/createFormRenderer.tsx"],"sourcesContent":["import { Control } from \"@react-typed-forms/core\";\n\nexport 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 type SchemaMap = Record<string, SchemaField[]>;\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 description?: string | null;\n disabled?: boolean | null;\n}\n\nexport interface CompoundField extends SchemaField {\n type: FieldType.Compound;\n children: SchemaField[];\n treeChildren?: boolean;\n schemaRef?: string;\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 controlLength(field: SchemaField, control: Control<any>): number;\n valueLength(field: SchemaField, value: any): number;\n}\nexport interface ControlDefinition {\n type: string;\n title?: string | null;\n styleClass?: string | null;\n layoutClass?: string | null;\n labelClass?: 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 Label = \"Label\",\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 Textfield = \"Textfield\",\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 Group = \"Group\",\n}\n\nexport interface TextfieldRenderOptions extends RenderOptions {\n type: DataRenderType.Textfield;\n placeholder?: string | null;\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 DataGroupRenderOptions extends RenderOptions {\n type: DataRenderType.Group;\n groupOptions?: GroupRenderOptions;\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 Length = \"Length\",\n}\nexport interface SchemaValidator {\n type: string;\n}\n\nexport interface JsonataValidator extends SchemaValidator {\n type: ValidatorType.Jsonata;\n expression: string;\n}\n\nexport interface LengthValidator extends SchemaValidator {\n type: ValidatorType.Length;\n min?: number | null;\n max?: number | null;\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\nexport function isTextfieldRenderer(\n options: RenderOptions,\n): options is TextfieldRenderOptions {\n return options.type === DataRenderType.Textfield;\n}\n\nexport function isDataGroupRenderer(\n options: RenderOptions,\n): options is DataGroupRenderOptions {\n return options.type === DataRenderType.Group;\n}\n","import {\n CompoundField,\n ControlDefinition,\n ControlDefinitionType,\n DataControlDefinition,\n DataRenderType,\n DisplayOnlyRenderOptions,\n FieldOption,\n FieldType,\n GroupedControlsDefinition,\n isDataControlDefinition,\n isDisplayOnlyRenderer,\n SchemaField,\n SchemaInterface,\n visitControlDefinition,\n} from \"./types\";\nimport { MutableRefObject, useCallback, useRef } from \"react\";\nimport {\n Control,\n ControlChange,\n trackControlChange,\n} from \"@react-typed-forms/core\";\nimport clsx from \"clsx\";\n\nexport type JsonPath = string | number;\n\nexport interface DataContext {\n data: Control<any>;\n path: JsonPath[];\n}\n\nexport interface ControlDataContext extends DataContext {\n fields: SchemaField[];\n schemaInterface: SchemaInterface;\n}\nexport function applyDefaultValues(\n v: Record<string, any> | undefined,\n fields: SchemaField[],\n doneSet?: Set<Record<string, any>>,\n): any {\n if (!v) return defaultValueForFields(fields);\n if (doneSet && doneSet.has(v)) return v;\n doneSet ??= new Set();\n doneSet.add(v);\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, false, doneSet)\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 doneSet?: Set<Record<string, any>>,\n): any {\n if (field.collection && !notElement) {\n return ((v as any[]) ?? []).map((x) =>\n applyDefaultForField(x, field, parent, true, doneSet),\n );\n }\n if (isCompoundField(field)) {\n if (!v && !field.required) return v;\n return applyDefaultValues(\n v,\n field.treeChildren ? parent : field.children,\n doneSet,\n );\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 watchControlLookup(data.data, 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(\n c: ControlDefinition,\n collectExtra?: (c: ControlDefinition) => (string | undefined | null)[],\n): string[] {\n const childClasses = c.children?.flatMap((x) =>\n getAllReferencedClasses(x, collectExtra),\n );\n const tc = clsx(\n [\n c.styleClass,\n c.layoutClass,\n c.labelClass,\n ...(collectExtra?.(c) ?? []),\n ].map(getOverrideClass),\n );\n if (childClasses && !tc) return childClasses;\n if (!tc) return [];\n if (childClasses) return [tc, ...childClasses];\n return [tc];\n}\n\nexport function jsonPathString(\n jsonPath: JsonPath[],\n customIndex?: (n: number) => string,\n) {\n let out = \"\";\n jsonPath.forEach((v, i) => {\n if (typeof v === \"number\") {\n out += customIndex?.(v) ?? \"[\" + v + \"]\";\n } else {\n if (i > 0) out += \".\";\n out += v;\n }\n });\n return out;\n}\n\nexport function findChildDefinition(\n parent: ControlDefinition,\n childPath: number | number[],\n): ControlDefinition {\n if (Array.isArray(childPath)) {\n let base = parent;\n childPath.forEach((x) => (base = base.children![x]));\n return base;\n }\n return parent.children![childPath];\n}\n\nexport function getOverrideClass(className?: string | null) {\n if (className && className.startsWith(\"@ \")) {\n return className.substring(2);\n }\n return className;\n}\n\nexport function rendererClass(\n controlClass?: string | null,\n globalClass?: string | null,\n) {\n const oc = getOverrideClass(controlClass);\n if (oc === controlClass) return clsx(controlClass, globalClass);\n return oc ? oc : undefined;\n}\n\nfunction watchControlLookup(\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\nexport type HookDep = string | number | undefined | null;\n\nexport interface DynamicHookGenerator<A, P> {\n deps: HookDep;\n state: any;\n runHook(ctx: P, state: any): A;\n}\n\nexport function makeHook<A, P, S = undefined>(\n runHook: (ctx: P, state: S) => A,\n state: S,\n deps?: HookDep,\n): DynamicHookGenerator<A, P> {\n return { deps, state, runHook };\n}\n\nexport type DynamicHookValue<A> =\n A extends DynamicHookGenerator<infer V, any> ? V : never;\n\nexport function useDynamicHooks<\n P,\n Hooks extends Record<string, DynamicHookGenerator<any, P>>,\n>(\n hooks: Hooks,\n): (p: P) => {\n [K in keyof Hooks]: DynamicHookValue<Hooks[K]>;\n} {\n const hookEntries = Object.entries(hooks);\n const deps = hookEntries.map(([, x]) => toDepString(x.deps)).join(\",\");\n const ref = useRef<Record<string, any>>({});\n const s = ref.current;\n hookEntries.forEach((x) => (s[x[0]] = x[1].state));\n return useCallback(\n (p: P) => {\n return Object.fromEntries(\n hookEntries.map(([f, hg]) => [f, hg.runHook(p, ref.current[f])]),\n ) as any;\n },\n [deps],\n );\n}\n\nexport function toDepString(x: any): string {\n if (x === undefined) return \"_\";\n if (x === null) return \"~\";\n return x.toString();\n}\n\nexport function appendElementIndex(\n dataContext: ControlDataContext,\n elementIndex: number,\n): ControlDataContext {\n return { ...dataContext, path: [...dataContext.path, elementIndex] };\n}\n\nexport function applyLengthRestrictions<Min, Max>(\n length: number,\n min: number | null | undefined,\n max: number | null | undefined,\n minValue: Min,\n maxValue: Max,\n): [Min | undefined, Max | undefined] {\n return [\n min == null || length > min ? minValue : undefined,\n max == null || length < max ? maxValue : undefined,\n ];\n}\n","import {\n CompoundField,\n FieldOption,\n FieldType,\n SchemaField,\n SchemaMap,\n} from \"./types\";\nimport { isCompoundField } from \"./util\";\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<S extends Partial<SchemaField>>(\n displayName: string,\n options?: S,\n) {\n return makeScalarField({\n type: FieldType.Int as const,\n displayName,\n ...(options as S),\n });\n}\n\nexport function boolField<S extends Partial<SchemaField>>(\n displayName: string,\n options?: S,\n) {\n return makeScalarField({\n type: FieldType.Bool as const,\n displayName,\n ...(options as S),\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\nexport function mergeField(\n field: SchemaField,\n mergeInto: SchemaField[],\n): SchemaField[] {\n const existing = mergeInto.find((x) => x.field === field.field);\n if (existing) {\n return mergeInto.map((x) =>\n x !== existing\n ? x\n : {\n ...x,\n onlyForTypes: mergeTypes(x.onlyForTypes, field.onlyForTypes),\n },\n );\n }\n return [...mergeInto, field];\n\n function mergeTypes(f?: string[] | null, s?: string[] | null) {\n if (!f) return s;\n if (!s) return f;\n const extras = s.filter((x) => !f.includes(x));\n return extras.length ? [...f, ...extras] : f;\n }\n}\n\nexport function mergeFields(\n fields: SchemaField[],\n name: string,\n value: any,\n newFields: SchemaField[],\n): SchemaField[] {\n const withType = fields.map((x) =>\n x.isTypeField ? addFieldOption(x, name, value) : x,\n );\n return newFields\n .map((x) => ({ ...x, onlyForTypes: [value] }))\n .reduce((af, x) => mergeField(x, af), withType);\n}\n\nexport function addFieldOption(\n typeField: SchemaField,\n name: string,\n value: any,\n): SchemaField {\n const options = typeField.options ?? [];\n return {\n ...typeField,\n options: [...options, { name, value }],\n };\n}\n\nexport function resolveSchemas<A extends SchemaMap>(schemaMap: A): A {\n const out: SchemaMap = {};\n function resolveSchemaType(type: string) {\n if (type in out) {\n return out[type];\n }\n const resolvedFields: SchemaField[] = [];\n out[type] = resolvedFields;\n schemaMap[type].forEach((x) => {\n if (isCompoundField(x) && x.schemaRef) {\n resolvedFields.push({\n ...x,\n children: resolveSchemaType(x.schemaRef),\n } as CompoundField);\n } else {\n resolvedFields.push(x);\n }\n });\n return resolvedFields;\n }\n Object.keys(schemaMap).forEach(resolveSchemaType);\n return out as A;\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 SchemaMap,\n TextDisplay,\n} from \"./types\";\nimport { ActionRendererProps } from \"./controlRender\";\nimport { useMemo } from \"react\";\nimport { addMissingControls, isCompoundField } from \"./util\";\nimport { mergeFields, resolveSchemas } from \"./schemaBuilder\";\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\nexport interface CustomRenderOptions {\n value: string;\n name: string;\n fields: SchemaField[];\n}\n\nexport type ControlDefinitionExtension = {\n RenderOptions?: CustomRenderOptions | CustomRenderOptions[];\n GroupRenderOptions?: CustomRenderOptions | CustomRenderOptions[];\n ControlAdornment?: CustomRenderOptions | CustomRenderOptions[];\n SchemaValidator?: CustomRenderOptions | CustomRenderOptions[];\n DisplayData?: CustomRenderOptions | CustomRenderOptions[];\n};\n\nexport function applyExtensionToSchema<A extends SchemaMap>(\n schemaMap: A,\n extension: ControlDefinitionExtension,\n): A {\n const outMap = { ...schemaMap };\n Object.entries(extension).forEach(([field, cro]) => {\n outMap[field as keyof A] = (Array.isArray(cro) ? cro : [cro]).reduce(\n (a, cr) => mergeFields(a, cr.name, cr.value, cr.fields),\n outMap[field],\n ) as A[string];\n });\n return outMap;\n}\n\nexport function applyExtensionsToSchema<A extends SchemaMap>(\n schemaMap: A,\n extensions: ControlDefinitionExtension[],\n) {\n return resolveSchemas(extensions.reduce(applyExtensionToSchema, schemaMap));\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 (cc.fields as any) || p in cv)\n 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 React, {\n MutableRefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} 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 DataContext,\n defaultValueForField,\n DynamicHookGenerator,\n elementValueForField,\n findField,\n getDisplayOnlyOptions,\n getTypeField,\n HookDep,\n isControlReadonly,\n jsonPathString,\n lookupChildControl,\n makeHook,\n toDepString,\n useUpdatedRef,\n} from \"./util\";\nimport jsonata from \"jsonata\";\nimport { trackedStructure, useCalculatedControl } from \"./internal\";\n\nexport type EvalExpressionHook<A = any> = DynamicHookGenerator<\n Control<A | undefined>,\n ControlDataContext\n>;\n\nexport type UseEvalExpressionHook = (\n expr: EntityExpression | undefined,\n) => DynamicHookGenerator<Control<any> | undefined, ControlDataContext>;\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 return makeDynamicPropertyHook(\n dynamicVisibility,\n (ctx, { schemaField, definition }) =>\n useComputed(() => {\n return (\n matchesType(ctx, schemaField?.onlyForTypes) &&\n (!schemaField ||\n !hideDisplayOnly(ctx, schemaField, definition, ctx.schemaInterface))\n );\n }),\n { schemaField, definition },\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 return makeDynamicPropertyHook(\n dynamicReadonly,\n (ctx, { definition }) =>\n useCalculatedControl(() => isControlReadonly(definition)),\n { definition },\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 makeDynamicPropertyHook(\n dynamicStyle,\n () => useControl(undefined),\n undefined,\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 makeDynamicPropertyHook(\n dynamicAllowed,\n () => useControl([]),\n undefined,\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 makeDynamicPropertyHook(\n dynamicDisabled,\n () => useControl(false),\n undefined,\n );\n}\n\nexport function useEvalDisplayHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): DynamicHookGenerator<\n Control<string | undefined> | undefined,\n ControlDataContext\n> {\n return useEvalDynamicHook(\n definition,\n DynamicPropertyType.Display,\n useEvalExpressionHook,\n );\n}\nexport function useEvalDefaultValueHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n schemaField: SchemaField | undefined,\n element: boolean,\n): EvalExpressionHook {\n const dynamicValue = useEvalDynamicHook(\n definition,\n DynamicPropertyType.DefaultValue,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicValue,\n (ctx, { definition, schemaField }) => {\n return 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 ? element\n ? elementValueForField(schemaField)\n : defaultValueForField(schemaField, required)\n : undefined)\n );\n }\n },\n { definition, schemaField },\n );\n}\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): UseEvalExpressionHook {\n return (expr) => ({\n deps: expr?.type,\n state: expr,\n runHook: (ctx: ControlDataContext, state: EntityExpression | undefined) => {\n return state ? f(state, ctx) : undefined;\n },\n });\n}\n\nexport function useEvalDynamicHook(\n definition: ControlDefinition,\n type: DynamicPropertyType,\n useEvalExpressionHook: UseEvalExpressionHook,\n): DynamicHookGenerator<Control<any> | undefined, ControlDataContext> {\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, (x) => `#$i[${x}]`);\n const fullExpr = pathString ? pathString + \".(\" + jExpr + \")\" : jExpr;\n const compiledExpr = useMemo(() => {\n try {\n return jsonata(fullExpr);\n } catch (e) {\n console.error(e);\n return jsonata(\"null\");\n }\n }, [fullExpr]);\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\nexport function useEvalLabelText(\n useExpr: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<string | null> {\n const dynamicValue = useEvalDynamicHook(\n definition,\n DynamicPropertyType.Label,\n useExpr,\n );\n return makeDynamicPropertyHook(\n dynamicValue,\n () => useControl(null),\n undefined,\n );\n}\n\nfunction makeDynamicPropertyHook<A, S = undefined>(\n dynamicValue: DynamicHookGenerator<\n Control<any> | undefined,\n ControlDataContext\n >,\n makeDefault: (ctx: ControlDataContext, s: S) => Control<A | undefined>,\n state: S,\n deps?: HookDep,\n): EvalExpressionHook<A> {\n return {\n deps:\n deps !== undefined\n ? dynamicValue.deps\n : [deps, dynamicValue.deps].map(toDepString).join(),\n runHook: (ctx, s) => {\n return dynamicValue.runHook(ctx, s[0]) ?? makeDefault(ctx, s[1]);\n },\n state: [dynamicValue.state, state],\n };\n}\n","import {\n ControlDefinition,\n DataControlDefinition,\n DateComparison,\n DateValidator,\n isDataControlDefinition,\n JsonataValidator,\n LengthValidator,\n SchemaField,\n SchemaInterface,\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\";\nimport { trackControlChange } from \"@react-typed-forms/core\";\nimport { ControlChange } from \"@react-typed-forms/core\";\n\nexport function useValidationHook(\n definition: ControlDefinition,\n field: SchemaField | undefined,\n): (\n control: Control<any>,\n hidden: boolean,\n groupContext: ControlDataContext,\n schemaInterface: SchemaInterface,\n) => void {\n const validatorTypes = isDataControlDefinition(definition)\n ? definition.validators?.map((x) => x.type) ?? []\n : null;\n const r = useUpdatedRef({\n definition: definition as DataControlDefinition,\n field,\n });\n return useCallback(\n (control, hidden, groupContext, schemaInterface) => {\n if (!validatorTypes) return;\n const { definition: dd, field } = 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.Length:\n const lv = x as LengthValidator;\n useControlEffect(\n () => {\n trackControlChange(control, ControlChange.Validate);\n return [\n field ? schemaInterface.controlLength(field, control) : 0,\n hidden,\n ] as const;\n },\n ([len, hidden]) => {\n if (hidden) {\n control.setError(\"length\", undefined);\n return;\n }\n if (lv.min != null && len < lv.min) {\n if (field?.collection) {\n control.setValue((v) =>\n Array.isArray(v)\n ? v.concat(Array.from({ length: lv.min! - v.length }))\n : Array.from({ length: lv.min! }),\n );\n } else {\n control.setError(\n \"length\",\n \"Length must be at least \" + lv.min,\n );\n }\n } else if (lv.max != null && len > lv.max) {\n control.setError(\n \"length\",\n \"Length must be less than \" + lv.max,\n );\n }\n },\n true,\n );\n break;\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\";\nimport { Control } from \"@react-typed-forms/core\";\n\nexport class DefaultSchemaInterface implements SchemaInterface {\n isEmptyValue(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 textValue(\n field: SchemaField,\n value: any,\n element?: boolean | undefined,\n ): string | undefined {\n switch (field.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 controlLength(f: SchemaField, control: Control<any>): number {\n return f.collection\n ? control.elements?.length ?? 0\n : this.valueLength(f, control.value);\n }\n valueLength(field: SchemaField, value: any): number {\n return (value && value?.length) ?? 0;\n }\n}\n\nexport const defaultSchemaInterface: SchemaInterface =\n new DefaultSchemaInterface();\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 Fcheckbox,\n newControl,\n removeElement,\n useComponentTracking,\n useControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\nimport {\n AdornmentPlacement,\n ControlAdornment,\n ControlDefinition,\n ControlDefinitionType,\n DataControlDefinition,\n DisplayData,\n DynamicPropertyType,\n FieldOption,\n GroupRenderOptions,\n isActionControlsDefinition,\n isDataControlDefinition,\n isDisplayControlsDefinition,\n isGroupControlsDefinition,\n LengthValidator,\n RenderOptions,\n SchemaField,\n SchemaInterface,\n ValidatorType,\n} from \"./types\";\nimport {\n applyLengthRestrictions,\n ControlDataContext,\n elementValueForField,\n fieldDisplayName,\n findField,\n isCompoundField,\n JsonPath,\n useDynamicHooks,\n useUpdatedRef,\n} from \"./util\";\nimport { dataControl } from \"./controlBuilder\";\nimport {\n defaultUseEvalExpressionHook,\n EvalExpressionHook,\n useEvalAllowedOptionsHook,\n useEvalDefaultValueHook,\n useEvalDisabledHook,\n useEvalDisplayHook,\n UseEvalExpressionHook,\n useEvalLabelText,\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 renderElement: (elemIndex: number) => ReactNode;\n arrayControl: Control<any[] | undefined | null>;\n className?: string;\n style?: React.CSSProperties;\n min?: number | null;\n max?: number | null;\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 className?: string;\n}\nexport interface DisplayRendererProps {\n data: DisplayData;\n display?: Control<string | undefined>;\n dataContext: ControlDataContext;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport type ChildVisibilityFunc = (\n child: ControlDefinition,\n context?: ControlDataContext,\n) => EvalExpressionHook<boolean>;\nexport interface ParentRendererProps {\n childDefinitions: ControlDefinition[];\n renderChild: ChildRenderer;\n className?: string;\n style?: React.CSSProperties;\n dataContext: ControlDataContext;\n parentContext: ControlDataContext;\n useChildVisibility: ChildVisibilityFunc;\n}\n\nexport interface GroupRendererProps extends ParentRendererProps {\n definition: ControlDefinition;\n renderOptions: GroupRenderOptions;\n}\n\nexport interface DataRendererProps extends ParentRendererProps {\n renderOptions: RenderOptions;\n definition: DataControlDefinition;\n field: SchemaField;\n elementIndex?: number;\n id: string;\n control: Control<any>;\n readonly: boolean;\n required: boolean;\n options: FieldOption[] | undefined | null;\n hidden: boolean;\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 parentContext: ControlDataContext;\n control: Control<any>;\n formOptions: FormContextOptions;\n style?: React.CSSProperties | undefined;\n renderChild: ChildRenderer;\n elementIndex?: number;\n allowedOptions?: Control<any[] | undefined>;\n useChildVisibility: ChildVisibilityFunc;\n}\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 elementIndex?: number;\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 elementIndex = options.elementIndex;\n const schemaInterface = options.schemaInterface ?? defaultSchemaInterface;\n const useExpr = options.useEvalExpressionHook ?? defaultUseEvalExpressionHook;\n\n const schemaField = lookupSchemaField(definition, fields);\n\n const dynamicHooks = useDynamicHooks({\n defaultValueControl: useEvalDefaultValueHook(\n useExpr,\n definition,\n schemaField,\n elementIndex != null,\n ),\n visibleControl: useEvalVisibilityHook(useExpr, definition, schemaField),\n readonlyControl: useEvalReadonlyHook(useExpr, definition),\n disabledControl: useEvalDisabledHook(useExpr, definition),\n allowedOptions: useEvalAllowedOptionsHook(useExpr, definition),\n labelText: useEvalLabelText(useExpr, definition),\n customStyle: useEvalStyleHook(\n useExpr,\n DynamicPropertyType.Style,\n definition,\n ),\n layoutStyle: useEvalStyleHook(\n useExpr,\n DynamicPropertyType.LayoutStyle,\n definition,\n ),\n displayControl: useEvalDisplayHook(useExpr, definition),\n });\n\n const useValidation = useValidationHook(definition, schemaField);\n const r = useUpdatedRef({\n options,\n definition,\n fields,\n schemaField,\n elementIndex,\n });\n\n const Component = useCallback(\n ({ control: rootControl, parentPath = [] }: ControlRenderProps) => {\n const stopTracking = useComponentTracking();\n try {\n const {\n definition: c,\n options,\n fields,\n schemaField,\n elementIndex,\n } = r.current;\n const parentDataContext: ControlDataContext = {\n fields,\n schemaInterface,\n data: rootControl,\n path: parentPath,\n };\n const {\n readonlyControl,\n disabledControl,\n visibleControl,\n displayControl,\n layoutStyle,\n labelText,\n customStyle,\n allowedOptions,\n defaultValueControl,\n } = dynamicHooks(parentDataContext);\n\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 [parentControl, control, controlDataContext] = getControlData(\n schemaField,\n parentDataContext,\n elementIndex,\n );\n useControlEffect(\n () => [\n visibility.value,\n defaultValueControl.value,\n control,\n isDataControlDefinition(definition) && definition.dontClearHidden,\n parentControl?.isNull,\n options.hidden,\n ],\n ([vc, dv, cd, dontClear, parentNull, hidden]) => {\n if (vc && cd && vc.visible === vc.showing) {\n if (hidden || !vc.visible) {\n if (options.clearHidden && !dontClear) {\n cd.value = undefined;\n }\n } else if (cd.value == null) {\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 schemaInterface,\n );\n const childOptions: ControlRenderOptions = {\n ...options,\n ...myOptions,\n elementIndex: undefined,\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 renderChild: (k, child, options) => {\n const dataContext = options?.dataContext ?? controlDataContext;\n return (\n <ControlRenderer\n key={k}\n control={dataContext.data}\n fields={dataContext.fields}\n definition={child}\n parentPath={dataContext.path}\n renderer={renderer}\n options={\n options\n ? { ...childOptions, elementIndex: options?.elementIndex }\n : childOptions\n }\n />\n );\n },\n createDataProps: dataProps,\n formOptions: myOptions,\n dataContext: controlDataContext,\n parentContext: parentDataContext,\n control: displayControl ?? control,\n elementIndex,\n labelText,\n field: schemaField,\n displayControl,\n style: customStyle.value,\n allowedOptions,\n useChildVisibility: (childDef, context) => {\n const schemaField = lookupSchemaField(\n childDef,\n (context ?? controlDataContext).fields,\n );\n return useEvalVisibilityHook(useExpr, childDef, schemaField);\n },\n });\n const renderedControl = renderer.renderLayout({\n ...labelAndChildren,\n adornments,\n className: c.layoutClass,\n style: layoutStyle.value,\n });\n return renderer.renderVisibility({ visibility, ...renderedControl });\n } finally {\n stopTracking();\n }\n },\n [r, dataProps, useValidation, renderer, schemaInterface, dynamicHooks],\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 elementIndex: number | undefined,\n): [Control<any> | undefined, Control<any> | undefined, ControlDataContext] {\n const { data, path } = parentContext;\n const parentControl = data.lookupControl(path);\n const childPath = schemaField\n ? elementIndex != null\n ? [...path, schemaField.field, elementIndex]\n : [...path, schemaField.field]\n : path;\n const childControl =\n schemaField && parentControl\n ? parentControl.fields?.[schemaField.field]\n : undefined;\n return [\n parentControl,\n childControl && elementIndex != null\n ? childControl.elements?.[elementIndex]\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\nexport function ControlRenderer({\n definition,\n fields,\n renderer,\n options,\n control,\n parentPath,\n}: {\n definition: ControlDefinition;\n fields: SchemaField[];\n renderer: FormRenderer;\n options?: ControlRenderOptions;\n control: Control<any>;\n parentPath?: JsonPath[];\n}) {\n const Render = useControlRenderer(definition, fields, renderer, options);\n return <Render control={control} parentPath={parentPath} />;\n}\n\nexport function defaultDataProps({\n definition,\n field,\n control,\n formOptions,\n style,\n allowedOptions,\n ...props\n}: DataControlProps): DataRendererProps {\n const lengthVal = definition.validators?.find(\n (x) => x.type === ValidatorType.Length,\n ) as LengthValidator | undefined;\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 childDefinitions: definition.children ?? [],\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: !!formOptions.readonly,\n renderOptions: definition.renderOptions ?? { type: \"Standard\" },\n required,\n hidden: !!formOptions.hidden,\n className,\n style,\n ...props,\n toArrayProps:\n field.collection && props.elementIndex == null\n ? () =>\n defaultArrayProps(\n control,\n field,\n required,\n style,\n className,\n (elementIndex) =>\n props.renderChild(\n control.elements?.[elementIndex].uniqueId ?? elementIndex,\n {\n type: ControlDefinitionType.Data,\n field: definition.field,\n children: definition.children,\n hideTitle: true,\n } as DataControlDefinition,\n { elementIndex, dataContext: props.parentContext },\n ),\n lengthVal?.min,\n lengthVal?.max,\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 min: number | undefined | null,\n max: number | undefined | null,\n): ArrayRendererProps {\n const noun = field.displayName ?? field.field;\n return {\n arrayControl,\n required,\n addAction: {\n actionId: \"add\",\n actionText: \"Add \" + noun,\n onClick: () => addElement(arrayControl, elementValueForField(field)),\n },\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 min,\n max,\n };\n}\n\nexport interface ChildRendererOptions {\n elementIndex?: number;\n dataContext?: ControlDataContext;\n}\n\nexport type ChildRenderer = (\n k: Key,\n child: ControlDefinition,\n options?: ChildRendererOptions,\n) => ReactNode;\n\nexport interface RenderControlProps {\n definition: ControlDefinition;\n renderer: FormRenderer;\n renderChild: ChildRenderer;\n createDataProps: CreateDataProps;\n formOptions: FormContextOptions;\n dataContext: ControlDataContext;\n parentContext: ControlDataContext;\n control?: Control<any>;\n labelText?: Control<string | null | undefined>;\n field?: SchemaField;\n elementIndex?: number;\n displayControl?: Control<string | undefined>;\n style?: React.CSSProperties;\n allowedOptions?: Control<any[] | undefined>;\n useChildVisibility: ChildVisibilityFunc;\n}\nexport function renderControlLayout(\n props: RenderControlProps,\n): ControlLayoutProps {\n const {\n definition: c,\n renderer,\n renderChild,\n control,\n field,\n dataContext,\n createDataProps: dataProps,\n displayControl,\n style,\n labelText,\n parentContext,\n useChildVisibility,\n } = props;\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 childDefinitions: c.children ?? [],\n definition: c,\n parentContext,\n renderChild,\n dataContext,\n renderOptions: c.groupOptions ?? { type: \"Standard\" },\n className: cc(c.styleClass),\n useChildVisibility,\n style,\n }),\n label: {\n label: labelText?.value ?? c.title,\n className: cc(c.labelClass),\n type: LabelType.Group,\n hide: c.groupOptions?.hideTitle,\n },\n };\n }\n if (isActionControlsDefinition(c)) {\n return {\n children: renderer.renderAction({\n actionText: labelText?.value ?? 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 dataContext,\n }),\n };\n }\n return {};\n\n function renderData(c: DataControlDefinition) {\n if (!field) return { children: \"No schema field for: \" + c.field };\n if (!control) return { children: \"No control for: \" + c.field };\n const rendererProps = dataProps(\n props as RenderControlProps & {\n definition: DataControlDefinition;\n field: SchemaField;\n control: Control<any>;\n },\n );\n\n const label = !c.hideTitle\n ? controlTitle(labelText?.value ?? c.title, field)\n : undefined;\n return {\n processLayout: renderer.renderData(rendererProps),\n label: {\n type:\n (c.children?.length ?? 0) > 0 ? LabelType.Group : LabelType.Control,\n label,\n forId: rendererProps.id,\n required: c.required,\n hide: c.hideTitle,\n className: cc(c.labelClass),\n },\n errorControl: control,\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\nexport function applyArrayLengthRestrictions(\n {\n arrayControl,\n min,\n max,\n addAction: aa,\n removeAction: ra,\n required,\n }: Pick<\n ArrayRendererProps,\n \"addAction\" | \"removeAction\" | \"arrayControl\" | \"min\" | \"max\" | \"required\"\n >,\n disable?: boolean,\n): Pick<ArrayRendererProps, \"addAction\" | \"removeAction\"> & {\n addDisabled: boolean;\n removeDisabled: boolean;\n} {\n const [removeAllowed, addAllowed] = applyLengthRestrictions(\n arrayControl.elements?.length ?? 0,\n min == null && required ? 1 : min,\n max,\n true,\n true,\n );\n return {\n addAction: disable || addAllowed ? aa : undefined,\n removeAction: disable || removeAllowed ? ra : undefined,\n removeDisabled: !removeAllowed,\n addDisabled: !addAllowed,\n };\n}\n","import { CSSProperties, ReactElement, ReactNode } from \"react\";\nimport {\n ActionRendererProps,\n AdornmentProps,\n AdornmentRenderer,\n ArrayRendererProps,\n ControlLayoutProps,\n DataRendererProps,\n DisplayRendererProps,\n FormRenderer,\n GroupRendererProps,\n LabelRendererProps,\n LabelType,\n RenderedControl,\n VisibilityRendererProps,\n} from \"./controlRender\";\nimport { ControlAdornment, ControlAdornmentType, IconAdornment } from \"./types\";\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 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 createGroupRenderer(\n render: GroupRendererRegistration[\"render\"],\n options?: Partial<GroupRendererRegistration>,\n): GroupRendererRegistration {\n return { type: \"group\", render, ...options };\n}\n\nexport function createDisplayRenderer(\n render: DisplayRendererRegistration[\"render\"],\n options?: Partial<DisplayRendererRegistration>,\n): DisplayRendererRegistration {\n return { type: \"display\", 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","import React from \"react\";\n\nimport { DefaultRendererOptions } from \"./createDefaultRenderers\";\n\nexport const defaultTailwindTheme = {\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-500 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 checkOptions: {\n className: \"flex items-center gap-4\",\n entryClass: \"flex gap-1 items-center\",\n },\n selectOptions: { emptyText: \"<select>\" },\n },\n} satisfies DefaultRendererOptions;\n","import React from \"react\";\nimport { DisplayRendererProps } from \"../controlRender\";\nimport {\n DisplayDataType,\n HtmlDisplay,\n IconDisplay,\n TextDisplay,\n} from \"../types\";\nimport clsx from \"clsx\";\nimport { getOverrideClass, rendererClass } from \"../util\";\nimport { DisplayRendererRegistration } from \"../renderers\";\n\nexport interface DefaultDisplayRendererOptions {\n textClassName?: string;\n htmlClassName?: string;\n}\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 getOverrideClass(className),\n display ? display.value : (data as IconDisplay).iconClass,\n )}\n />\n );\n case DisplayDataType.Text:\n return (\n <div\n style={style}\n className={rendererClass(className, options.textClassName)}\n >\n {display ? display.value : (data as TextDisplay).text}\n </div>\n );\n case DisplayDataType.Html:\n return (\n <div\n style={style}\n className={rendererClass(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","import { RenderedLayout } from \"../controlRender\";\nimport React from \"react\";\n\nexport interface DefaultLayoutRendererOptions {\n className?: string;\n errorClass?: string;\n}\n\nexport function DefaultLayout({\n errorClass,\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 { VisibilityRendererProps } from \"../controlRender\";\nimport React, { useEffect } from \"react\";\nimport clsx from \"clsx\";\nimport { createVisibilityRenderer } from \"../renderers\";\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","import { Control } from \"@react-typed-forms/core\";\nimport React, { useMemo, useState } from \"react\";\nimport { rendererClass } from \"../util\";\nimport { FieldOption, FieldType } from \"../types\";\nimport { createDataRenderer } from \"../renderers\";\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={rendererClass(props.className, options.className)}\n state={props.control}\n id={props.id}\n readonly={props.readonly}\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\nexport interface SelectDataRendererProps {\n id?: string;\n className?: string;\n options: FieldOption[];\n emptyText?: string;\n requiredText?: string;\n readonly: boolean;\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 readonly,\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 || readonly}\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","import { Control } from \"@react-typed-forms/core\";\nimport { SchemaField, SchemaInterface } from \"../types\";\nimport React from \"react\";\nimport { rendererClass } from \"../util\";\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={rendererClass(className)}>\n {text}\n </div>\n );\n}\n","import { FieldType } from \"../types\";\nimport React from \"react\";\nimport { Control, formControlProps } from \"@react-typed-forms/core\";\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\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","import { ArrayRendererRegistration } from \"../renderers\";\nimport {\n ActionRendererProps,\n applyArrayLengthRestrictions,\n ArrayRendererProps,\n} from \"../controlRender\";\nimport clsx from \"clsx\";\nimport React, { Fragment, ReactNode } from \"react\";\nimport { RenderElements } from \"@react-typed-forms/core\";\nimport { applyLengthRestrictions } from \"../util\";\n\nexport interface 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 return {\n render: (props, { renderAction }) => (\n <DefaultArrayRenderer\n {...props}\n {...options}\n renderAction={renderAction}\n />\n ),\n type: \"array\",\n };\n}\n\nexport interface DefaultArrayRendererProps\n extends DefaultArrayRendererOptions,\n ArrayRendererProps {\n renderAction: (props: ActionRendererProps) => ReactNode;\n}\n\nexport function DefaultArrayRenderer(props: DefaultArrayRendererProps) {\n const {\n renderElement,\n className,\n removableClass,\n childClass,\n removableChildClass,\n removeActionClass,\n addActionClass,\n arrayControl,\n renderAction,\n style,\n } = props;\n const { addAction, removeAction } = applyArrayLengthRestrictions(props);\n return (\n <div style={style}>\n <div className={clsx(className, removeAction && removableClass)}>\n <RenderElements control={arrayControl}>\n {(_, x) =>\n removeAction ? (\n <>\n <div className={clsx(childClass, removableChildClass)}>\n {renderElement(x)}\n </div>\n <div className={removeActionClass}>\n {renderAction(removeAction(x))}\n </div>\n </>\n ) : (\n <div className={childClass}>{renderElement(x)}</div>\n )\n }\n </RenderElements>\n </div>\n {addAction && (\n <div className={addActionClass}>{renderAction(addAction)}</div>\n )}\n </div>\n );\n}\n","import { DataRenderType, FieldOption } from \"../types\";\nimport {\n Control,\n Fcheckbox,\n RenderArrayElements,\n useComputed,\n} from \"@react-typed-forms/core\";\nimport React from \"react\";\nimport { createDataRenderer } from \"../renderers\";\nimport { rendererClass } from \"../util\";\n\nexport interface CheckRendererOptions {\n className?: string;\n entryClass?: string;\n checkClass?: string;\n labelClass?: string;\n}\n\nexport function createRadioRenderer(options: CheckRendererOptions = {}) {\n return createDataRenderer(\n (p) => (\n <CheckButtons\n {...options}\n {...p}\n className={rendererClass(p.className, options.className)}\n isChecked={(control, o) => control.value == o.value}\n setChecked={(c, o) => (c.value = o.value)}\n control={p.control}\n type=\"radio\"\n />\n ),\n {\n renderType: DataRenderType.Radio,\n },\n );\n}\n\nexport function createCheckListRenderer(options: CheckRendererOptions = {}) {\n return createDataRenderer(\n (p) => (\n <CheckButtons\n {...options}\n {...p}\n className={rendererClass(p.className, options.className)}\n isChecked={(control, o) => {\n const v = control.value;\n return Array.isArray(v) ? v.includes(o.value) : false;\n }}\n setChecked={(c, o, checked) => {\n c.setValue((x) => setIncluded(x ?? [], o.value, checked));\n }}\n control={p.control}\n type=\"checkbox\"\n />\n ),\n {\n collection: true,\n renderType: DataRenderType.CheckList,\n },\n );\n}\n\nexport function CheckButtons({\n control,\n options,\n labelClass,\n checkClass,\n readonly,\n entryClass,\n className,\n id,\n type,\n isChecked,\n setChecked,\n}: {\n id?: string;\n className?: string;\n options?: FieldOption[] | null;\n control: Control<any>;\n entryClass?: string;\n checkClass?: string;\n labelClass?: string;\n readonly?: boolean;\n type: \"checkbox\" | \"radio\";\n isChecked: (c: Control<any>, o: FieldOption) => boolean;\n setChecked: (c: Control<any>, o: FieldOption, checked: boolean) => void;\n}) {\n const { disabled } = control;\n const name = \"r\" + control.uniqueId;\n return (\n <div className={className} id={id}>\n <RenderArrayElements array={options?.filter((x) => x.value != null)}>\n {(o, i) => {\n const checked = useComputed(() => isChecked(control, o)).value;\n return (\n <div key={i} className={entryClass}>\n <input\n id={name + \"_\" + i}\n className={checkClass}\n type={type}\n name={name}\n readOnly={readonly}\n disabled={disabled}\n checked={checked}\n onChange={(x) => setChecked(control, o, x.target.checked)}\n />\n <label className={labelClass} htmlFor={name + \"_\" + i}>\n {o.name}\n </label>\n </div>\n );\n }}\n </RenderArrayElements>\n </div>\n );\n}\n\nexport function setIncluded<A>(array: A[], elem: A, included: boolean): A[] {\n const already = array.includes(elem);\n if (included === already) {\n return array;\n }\n if (included) {\n return [...array, elem];\n }\n return array.filter((e) => e !== elem);\n}\n\nexport function createCheckboxRenderer(options: CheckRendererOptions = {}) {\n return createDataRenderer(\n (props, renderer) => (p) => ({\n ...p,\n label: undefined,\n children: (\n <div className={rendererClass(props.className, options.className)}>\n <div className={options.entryClass}>\n <Fcheckbox\n id={props.id}\n control={props.control}\n style={props.style}\n className={options.checkClass}\n />\n {p.label && renderer.renderLabel(p.label, undefined, undefined)}\n </div>\n </div>\n ),\n }),\n { renderType: DataRenderType.Checkbox },\n );\n}\n","import {\n createDefaultDisplayRenderer,\n DefaultDisplayRendererOptions,\n} from \"./components/DefaultDisplay\";\nimport {\n DefaultLayout,\n DefaultLayoutRendererOptions,\n} from \"./components/DefaultLayout\";\nimport {\n ActionRendererRegistration,\n AdornmentRendererRegistration,\n createDataRenderer,\n createLayoutRenderer,\n DataRendererRegistration,\n DefaultRenderers,\n GroupRendererRegistration,\n isIconAdornment,\n LabelRendererRegistration,\n} from \"./renderers\";\nimport { createDefaultVisibilityRenderer } from \"./components/DefaultVisibility\";\nimport React, { CSSProperties, Fragment, ReactElement, ReactNode } from \"react\";\nimport { hasOptions, rendererClass } from \"./util\";\nimport clsx from \"clsx\";\nimport {\n ActionRendererProps,\n appendMarkupAt,\n ControlLayoutProps,\n GroupRendererProps,\n LabelType,\n renderLayoutParts,\n} from \"./controlRender\";\nimport {\n AdornmentPlacement,\n DataRenderType,\n FieldOption,\n FieldType,\n FlexRenderer,\n GridRenderer,\n isDataGroupRenderer,\n isDisplayOnlyRenderer,\n isFlexRenderer,\n isGridRenderer,\n isTextfieldRenderer,\n} from \"./types\";\nimport {\n createSelectRenderer,\n SelectRendererOptions,\n} from \"./components/SelectDataRenderer\";\nimport { DefaultDisplayOnly } from \"./components/DefaultDisplayOnly\";\nimport { Fcheckbox } from \"@react-typed-forms/core\";\nimport { ControlInput, createInputConversion } from \"./components/ControlInput\";\nimport {\n createDefaultArrayRenderer,\n DefaultArrayRendererOptions,\n} from \"./components/DefaultArrayRenderer\";\nimport {\n CheckRendererOptions,\n createCheckboxRenderer,\n createCheckListRenderer,\n createRadioRenderer,\n} from \"./components/CheckRenderer\";\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\ninterface StyleProps {\n className?: string;\n style?: CSSProperties;\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\n return { render, type: \"action\" };\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 { renderChild, renderOptions, childDefinitions } = 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\n className={rendererClass(props.className, clsx(className, gcn))}\n style={style}\n >\n {childDefinitions?.map((c, i) => renderChild(i, c))}\n </div>\n ),\n };\n };\n }\n\n return { type: \"group\", render };\n}\n\nexport const DefaultBoolOptions: FieldOption[] = [\n { name: \"Yes\", value: true },\n { name: \"No\", value: false },\n];\n\ninterface DefaultDataRendererOptions {\n inputClass?: string;\n displayOnlyClass?: string;\n selectOptions?: SelectRendererOptions;\n checkboxOptions?: CheckRendererOptions;\n checkOptions?: CheckRendererOptions;\n radioOptions?: CheckRendererOptions;\n checkListOptions?: CheckRendererOptions;\n booleanOptions?: FieldOption[];\n optionRenderer?: DataRendererRegistration;\n}\n\nexport function createDefaultDataRenderer(\n options: DefaultDataRendererOptions = {},\n): DataRendererRegistration {\n const checkboxRenderer = createCheckboxRenderer(\n options.checkOptions ?? options.checkboxOptions,\n );\n const selectRenderer = createSelectRenderer(options.selectOptions);\n const radioRenderer = createRadioRenderer(\n options.radioOptions ?? options.checkOptions,\n );\n const checkListRenderer = createCheckListRenderer(\n options.checkListOptions ?? options.checkOptions,\n );\n const { inputClass, booleanOptions, optionRenderer, displayOnlyClass } = {\n optionRenderer: selectRenderer,\n booleanOptions: DefaultBoolOptions,\n ...options,\n };\n\n return createDataRenderer((props, renderers) => {\n const fieldType = props.field.type;\n const renderOptions = props.renderOptions;\n let renderType = renderOptions.type;\n if (props.toArrayProps && renderType !== DataRenderType.CheckList) {\n return (p) => ({\n ...p,\n children: renderers.renderArray(props.toArrayProps!()),\n });\n }\n if (fieldType === FieldType.Compound) {\n const groupOptions = (isDataGroupRenderer(renderOptions)\n ? renderOptions.groupOptions\n : undefined) ?? { type: \"Standard\", hideTitle: true };\n return renderers.renderGroup({ ...props, renderOptions: groupOptions });\n }\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.CheckList:\n return checkListRenderer.render(props, renderers);\n case DataRenderType.Dropdown:\n return selectRenderer.render(props, renderers);\n case DataRenderType.Radio:\n return radioRenderer.render(props, renderers);\n case DataRenderType.Checkbox:\n return checkboxRenderer.render(props, renderers);\n }\n const placeholder = isTextfieldRenderer(renderOptions)\n ? renderOptions.placeholder\n : undefined;\n return (\n <ControlInput\n className={rendererClass(props.className, inputClass)}\n style={props.style}\n id={props.id}\n readOnly={props.readonly}\n control={props.control}\n placeholder={placeholder ?? undefined}\n convert={createInputConversion(props.field.type)}\n />\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\nfunction createDefaultLayoutRenderer(\n options: DefaultLayoutRendererOptions = {},\n) {\n return createLayoutRenderer((props, renderers) => {\n const layout = renderLayoutParts(\n {\n ...props,\n className: rendererClass(props.className, options.className),\n },\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\ninterface DefaultLabelRendererOptions {\n className?: string;\n groupLabelClass?: string;\n controlLabelClass?: string;\n requiredElement?: ReactNode;\n labelContainer?: (children: ReactElement) => ReactElement;\n}\n\nexport function createDefaultLabelRenderer(\n options?: DefaultLabelRendererOptions,\n): LabelRendererRegistration {\n const {\n className,\n groupLabelClass,\n controlLabelClass,\n requiredElement,\n labelContainer,\n } = {\n requiredElement: <span> *</span>,\n labelContainer: (c: ReactElement) => c,\n ...options,\n };\n return {\n render: (props, labelStart, labelEnd) => {\n return labelContainer(\n <>\n <label\n htmlFor={props.forId}\n className={rendererClass(\n props.className,\n clsx(\n className,\n props.type === LabelType.Group && groupLabelClass,\n props.type === LabelType.Control && controlLabelClass,\n ),\n )}\n >\n {labelStart}\n {props.label}\n {props.required && requiredElement}\n </label>\n {labelEnd}\n </>,\n );\n },\n type: \"label\",\n };\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","import { CSSProperties, ReactNode } from \"react\";\nimport {\n ActionRendererProps,\n AdornmentProps,\n AdornmentRenderer,\n ArrayRendererProps,\n ControlLayoutProps,\n DataRendererProps,\n DisplayRendererProps,\n FormRenderer,\n GroupRendererProps,\n LabelRendererProps,\n} from \"./controlRender\";\nimport { hasOptions } from \"./util\";\nimport {\n ActionRendererRegistration,\n AdornmentRendererRegistration,\n ArrayRendererRegistration,\n DataRendererRegistration,\n DefaultRenderers,\n DisplayRendererRegistration,\n GroupRendererRegistration,\n LabelRendererRegistration,\n LayoutRendererRegistration,\n RendererRegistration,\n VisibilityRendererRegistration,\n} from \"./renderers\";\nimport { createDefaultRenderers } from \"./createDefaultRenderers\";\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) ===\n (props.elementIndex == null && (field.collection ?? false)) &&\n (x.options ?? false) === options &&\n ((x.schemaType && isOneOf(x.schemaType, field.type)) ||\n (x.renderType && 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\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 isOneOf<A>(x: A | A[] | undefined, v: A) {\n return x == null ? true : Array.isArray(x) ? x.includes(v) : v === x;\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}\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","isTextfieldRenderer","Textfield","isDataGroupRenderer","applyDefaultValues","v","fields","doneSet","_doneSet","defaultValueForFields","has","Set","add","applyValue","filter","isCompoundField","field","length","out","_extends","forEach","applyDefaultForField","defaultValueForField","parent","notElement","collection","map","required","treeChildren","children","Object","fromEntries","sf","undefined","isRequired","childValue","notNullable","elementValueForField","findScalarField","findField","findCompoundField","find","isScalarField","Compound","isDataControl","c","isGroupControl","fieldHasTag","tag","_field$tags","Boolean","tags","includes","fieldDisplayName","_field$displayName","displayName","hasOptions","o","_o$options$length","_o$options","defaultControlForField","title","_sf$tags","htmlEditor","renderOptions","HtmlEditor","Standard","findReferencedControl","control","_control$children","compoundField","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","def","processData","fieldName","fieldData","thisPath","path","lookupControl","result","cIndex","_iterator3","_control$elements","elements","_step3","elemResult","cfResult","child","childPath","watchControlLookup","cleanDataForSchema","typeField","typeValue","cleanableFields","_x$onlyForTypes$lengt","_x$onlyForTypes","onlyForTypes","_x$onlyForTypes2","canBeNull","childFields","Array","isArray","cv","getAllReferencedClasses","collectExtra","_c$children","_collectExtra","childClasses","tc","clsx","styleClass","layoutClass","labelClass","getOverrideClass","jsonPathString","jsonPath","customIndex","i","_customIndex","findChildDefinition","base","className","startsWith","substring","rendererClass","controlClass","globalClass","oc","index","childId","_c$fields","next","trackControlChange","ControlChange","Structure","_c$elements","makeHook","runHook","state","deps","useDynamicHooks","hooks","hookEntries","entries","_ref","toDepString","join","s","useCallback","p","_ref2","f","hg","toString","appendElementIndex","dataContext","elementIndex","applyLengthRestrictions","min","max","minValue","maxValue","buildSchema","stringField","makeScalarField","String","stringOptionsField","slice","call","arguments","withScalarOptions","n","defaultScalarField","makeCompoundField","defaultCompoundField","intField","Int","boolField","Bool","other","mergeField","mergeInto","mergeTypes","extras","mergeFields","name","newFields","withType","addFieldOption","reduce","af","_typeField$options","resolveSchemas","schemaMap","resolveSchemaType","resolvedFields","schemaRef","push","keys","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","applyExtensionToSchema","extension","outMap","cro","cr","applyExtensionsToSchema","extensions","useCalculatedControl","calculate","useControl","useControlEffect","cc","trackedStructure","tracker","Value","Proxy","get","target","receiver","Reflect","nc","useEvalVisibilityHook","useEvalExpressionHook","schemaField","useEvalDynamicHook","makeDynamicPropertyHook","useComputed","matchesType","hideDisplayOnly","schemaInterface","useEvalReadonlyHook","useEvalStyleHook","property","dynamicStyle","useEvalAllowedOptionsHook","dynamicAllowed","AllowedOptions","useEvalDisabledHook","useEvalDisplayHook","useEvalDefaultValueHook","element","dynamicValue","_ref3","calcDefault","_ref4","dcv","useDataExpression","fvExpr","refField","otherField","useDataMatchExpression","fv","defaultEvalHooks","useJsonataExpression","defaultUseEvalExpressionHook","makeEvalExpressionHook","_definition$dynamic","dynamic","types","_lookupChildControl","displayOptions","emptyText","isEmptyValue","jExpr","bindings","pathString","fullExpr","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","useEvalLabelText","useExpr","Label","makeDefault","_dynamicValue$runHook","useValidationHook","_definition$validator","_definition$validator2","validatorTypes","validators","hidden","groupContext","_dd$validators","_r$current","dd","useValueChangeEffect","setError","useValidator","Length","lv","Validate","controlLength","len","setValue","from","useJsonataValidator","Date","useDateValidator","errorMsg","msg","dv","comparisonDate","fixedDate","parse","nowDate","UTC","getFullYear","getMonth","getDate","daysFromCurrent","selDate","notAfter","comparison","NotAfter","toDateString","DefaultSchemaInterface","_proto","prototype","textValue","DateTime","toLocaleDateString","_control$elements$len","valueLength","defaultSchemaInterface","AppendAdornmentPriority","WrapAdornmentPriority","LabelType","useControlRenderer","renderer","_options$useDataHook","_options$schemaInterf","_options$useEvalExpre","dataProps","useDataHook","defaultDataProps","lookupSchemaField","dynamicHooks","defaultValueControl","visibleControl","readonlyControl","disabledControl","allowedOptions","labelText","customStyle","Style","layoutStyle","LayoutStyle","displayControl","useValidation","Component","rootControl","_ref$parentPath","parentPath","stopTracking","useComponentTracking","_definition$adornment","_definition$adornment2","parentDataContext","_dynamicHooks","visible","visibility","showing","_getControlData","getControlData","parentControl","controlDataContext","dontClearHidden","isNull","vc","cd","dontClear","parentNull","clearHidden","myOptions","_visibility$fields","disabled","newControl","childOptions","React","createElement","Fragment","adornments","renderAdornment","adornment","labelAndChildren","renderControlLayout","renderChild","k","_options$dataContext","ControlRenderer","key","createDataProps","formOptions","parentContext","style","useChildVisibility","childDef","renderedControl","renderLayout","renderVisibility","_parentControl$fields","_childControl$element","childControl","_effect","_useComponentTracking","Render","_field$options$length","_field$options","_allowedOptions$value","_definition$renderOpt","props","_objectWithoutPropertiesLoose","_excluded","lengthVal","fieldOptions","allowed","childDefinitions","id","uniqueId","toArrayProps","defaultArrayProps","_control$elements$ele","arrayControl","renderElement","noun","addAction","addElement","removeAction","removeElement","renderData","_c$groupOptions2","_labelText$value","_c$groupOptions3","_c$groupOptions","processLayout","renderGroup","label","hide","_ref5","_labelText$value2","renderAction","_c$displayData","renderDisplay","_labelText$value3","_c$children$length","_c$children2","rendererProps","controlTitle","Control","forId","errorControl","appendMarkup","markup","layout","wrapMarkup","wrap","layoutKeyForPlacement","pos","ControlEnd","ControlStart","LabelStart","LabelEnd","appendMarkupAt","wrapMarkupAt","renderLayoutParts","_props$processLayout","_ref6","sort","b","priority","renderLabel","labelStart","labelEnd","applyArrayLengthRestrictions","_ref7","disable","_arrayControl$element","_arrayControl$element2","aa","ra","_applyLengthRestricti","removeAllowed","addAllowed","removeDisabled","addDisabled","isIconAdornment","Icon","createLayoutRenderer","render","createArrayRenderer","createDataRenderer","createGroupRenderer","createDisplayRenderer","createLabelRenderer","createVisibilityRenderer","createAdornmentRenderer","defaultTailwindTheme","groupLabelClass","requiredElement","array","removableClass","childClass","addActionClass","standardClassName","gridClassName","flexClassName","errorClass","displayOnlyClass","checkOptions","entryClass","selectOptions","createDefaultDisplayRenderer","DefaultDisplay","_display$value","iconClass","textClassName","htmlClassName","dangerouslySetInnerHTML","__html","DefaultLayout","_ref$layout","controlEnd","controlStart","ec","errorText","touched","createDefaultVisibilityRenderer","DefaultVisibility","divRef","createSelectRenderer","asArray","SelectDataRenderer","requiredText","convert","createSelectConversion","_ref$emptyText","_ref$requiredText","_useState","useState","showEmpty","optionStringMap","onChange","ft","Double","_a$toString","DefaultDisplayOnly","ControlInput","_formControlProps","formControlProps","inputProps","_excluded2","createInputConversion","parseInt","parseFloat","createDefaultArrayRenderer","DefaultArrayRenderer","removableChildClass","removeActionClass","_applyArrayLengthRest","RenderElements","_","createRadioRenderer","CheckButtons","isChecked","setChecked","renderType","Radio","createCheckListRenderer","checked","setIncluded","CheckList","checkClass","RenderArrayElements","readOnly","htmlFor","elem","included","already","createCheckboxRenderer","Fcheckbox","Checkbox","createDefaultActionRenderer","createDefaultGroupRenderer","_ref2$gridStyles","gridStyles","defaultGridStyles","_ref2$defaultGridColu","defaultGridColumns","defaultFlexGap","_ref3$columns","columns","gridTemplateColumns","flexStyles","gap","flexDirection","direction","gcn","cp","DefaultBoolOptions","createDefaultDataRenderer","_options$checkOptions","_options$radioOptions","_options$checkListOpt","checkboxRenderer","checkboxOptions","selectRenderer","radioRenderer","radioOptions","checkListRenderer","checkListOptions","_optionRenderer$boole","optionRenderer","booleanOptions","inputClass","renderers","fieldType","renderArray","Any","isBool","Dropdown","placeholder","createDefaultAdornmentRenderer","rl","_adornment$placement","placement","createDefaultLayoutRenderer","meta","scrollElement","createDefaultLabelRenderer","_requiredElement$labe","labelContainer","controlLabelClass","createDefaultRenderers","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","_layoutRenderers$find","match","_adornmentRegistratio","isOneOf","adornmentType","_arrayRenderers$","_labelRenderers$find","labelType","_dataRegistrations$fi","_x$collection","_field$collection","_x$options","schemaType","_groupRegistrations$f","_actionRenderers$find","actionType","_displayRegistrations"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/types.ts","../src/util.ts","../src/schemaBuilder.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","../src/components/DefaultDisplay.tsx","../src/components/DefaultLayout.tsx","../src/components/DefaultVisibility.tsx","../src/components/SelectDataRenderer.tsx","../src/components/DefaultDisplayOnly.tsx","../src/components/ControlInput.tsx","../src/components/DefaultArrayRenderer.tsx","../src/components/CheckRenderer.tsx","../src/createDefaultRenderers.tsx","../src/createFormRenderer.tsx"],"sourcesContent":["import { Control } from \"@react-typed-forms/core\";\n\nexport 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 type SchemaMap = Record<string, SchemaField[]>;\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 description?: string | null;\n disabled?: boolean | null;\n}\n\nexport interface CompoundField extends SchemaField {\n type: FieldType.Compound;\n children: SchemaField[];\n treeChildren?: boolean;\n schemaRef?: string;\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 controlLength(field: SchemaField, control: Control<any>): number;\n valueLength(field: SchemaField, value: any): number;\n}\nexport interface ControlDefinition {\n type: string;\n title?: string | null;\n styleClass?: string | null;\n layoutClass?: string | null;\n labelClass?: 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 Label = \"Label\",\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 Textfield = \"Textfield\",\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 Group = \"Group\",\n}\n\nexport interface TextfieldRenderOptions extends RenderOptions {\n type: DataRenderType.Textfield;\n placeholder?: string | null;\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 DataGroupRenderOptions extends RenderOptions {\n type: DataRenderType.Group;\n groupOptions?: GroupRenderOptions;\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 Length = \"Length\",\n}\nexport interface SchemaValidator {\n type: string;\n}\n\nexport interface JsonataValidator extends SchemaValidator {\n type: ValidatorType.Jsonata;\n expression: string;\n}\n\nexport interface LengthValidator extends SchemaValidator {\n type: ValidatorType.Length;\n min?: number | null;\n max?: number | null;\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\nexport function isTextfieldRenderer(\n options: RenderOptions,\n): options is TextfieldRenderOptions {\n return options.type === DataRenderType.Textfield;\n}\n\nexport function isDataGroupRenderer(\n options: RenderOptions,\n): options is DataGroupRenderOptions {\n return options.type === DataRenderType.Group;\n}\n","import {\n CompoundField,\n ControlDefinition,\n ControlDefinitionType,\n DataControlDefinition,\n DataRenderType,\n DisplayOnlyRenderOptions,\n FieldOption,\n FieldType,\n GroupedControlsDefinition,\n isDataControlDefinition,\n isDisplayOnlyRenderer,\n isGroupControlsDefinition,\n SchemaField,\n SchemaInterface,\n visitControlDefinition,\n} from \"./types\";\nimport { MutableRefObject, useCallback, useRef } from \"react\";\nimport {\n Control,\n ControlChange,\n trackControlChange,\n} from \"@react-typed-forms/core\";\nimport clsx from \"clsx\";\n\nexport type JsonPath = string | number;\n\nexport interface DataContext {\n data: Control<any>;\n path: JsonPath[];\n}\n\nexport interface ControlDataContext extends DataContext {\n fields: SchemaField[];\n schemaInterface: SchemaInterface;\n}\nexport function applyDefaultValues(\n v: Record<string, any> | undefined,\n fields: SchemaField[],\n doneSet?: Set<Record<string, any>>,\n): any {\n if (!v) return defaultValueForFields(fields);\n if (doneSet && doneSet.has(v)) return v;\n doneSet ??= new Set();\n doneSet.add(v);\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, false, doneSet)\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 doneSet?: Set<Record<string, any>>,\n): any {\n if (field.collection && !notElement) {\n return ((v as any[]) ?? []).map((x) =>\n applyDefaultForField(x, field, parent, true, doneSet),\n );\n }\n if (isCompoundField(field)) {\n if (!v && !field.required) return v;\n return applyDefaultValues(\n v,\n field.treeChildren ? parent : field.children,\n doneSet,\n );\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 findControlsForCompound(\n compound: CompoundField,\n definition: ControlDefinition,\n): ControlDefinition[] {\n if (\n isDataControlDefinition(definition) &&\n compound.field === definition.field\n ) {\n return [definition];\n }\n if (isGroupControlsDefinition(definition)) {\n if (definition.compoundField === compound.field) return [definition];\n return (\n definition.children?.flatMap((d) =>\n findControlsForCompound(compound, d),\n ) ?? []\n );\n }\n return [];\n}\n\nexport interface ControlGroupLookup {\n groups: ControlDefinition[];\n children: Record<string, ControlGroupLookup>;\n}\nexport function findCompoundGroups(\n fields: SchemaField[],\n controls: ControlDefinition[],\n): Record<string, ControlGroupLookup> {\n return Object.fromEntries(\n fields.filter(isCompoundField).map((cf) => {\n const groups = controls.flatMap((x) => findControlsForCompound(cf, x));\n return [\n cf.field,\n {\n groups: groups.concat(\n findNonDataGroups(groups.flatMap((x) => x.children ?? [])),\n ),\n children: findCompoundGroups(\n cf.children,\n groups.flatMap((x) => x.children ?? []),\n ),\n },\n ];\n }),\n );\n}\n\nexport function existsInGroups(\n field: SchemaField,\n lookup: ControlGroupLookup,\n): [SchemaField, ControlGroupLookup][] {\n const itself = lookup.groups.find((c) =>\n c.children?.find(\n (x) =>\n (isDataControlDefinition(x) && x.field === field.field) ||\n (isGroupControlsDefinition(x) && x.compoundField === field.field),\n ),\n );\n if (!itself) return [[field, lookup]];\n if (isCompoundField(field)) {\n const childLookup = lookup.children[field.field];\n if (!childLookup) return [[field, lookup]];\n return field.children.flatMap((c) => existsInGroups(c, childLookup));\n }\n return [];\n}\n\nexport function findNonDataGroups(\n controls: ControlDefinition[],\n): ControlDefinition[] {\n return controls.flatMap((control) =>\n isGroupControlsDefinition(control) && !control.compoundField\n ? [control, ...findNonDataGroups(control.children ?? [])]\n : [],\n );\n}\n\nfunction cloneChildren(c: ControlDefinition): ControlDefinition {\n if (c.children) return { ...c, children: c.children?.map(cloneChildren) };\n return c;\n}\n\nexport function addMissingControls(\n fields: SchemaField[],\n controls: ControlDefinition[],\n) {\n controls = controls.map(cloneChildren);\n const rootMapping = findCompoundGroups(fields, controls);\n const rootGroups = findNonDataGroups([\n {\n type: ControlDefinitionType.Group,\n children: controls,\n },\n ]);\n const rootLookup = { children: rootMapping, groups: rootGroups };\n const missingFields = fields\n .filter((x) => !fieldHasTag(x, \"_NoControl\"))\n .flatMap((x) => existsInGroups(x, rootLookup));\n missingFields.forEach(([f, lookup]) => {\n const groupToAdd = f.tags?.find(x => x.startsWith(\"_ControlGroup:\"));\n let insertGroup: ControlDefinition | undefined = undefined;\n if (groupToAdd)\n {\n const groupName = groupToAdd.substring(14);\n insertGroup = lookup.groups.find(x => x.title === groupName);\n }\n if (!insertGroup)\n insertGroup = lookup.groups[0];\n insertGroup?.children?.push(defaultControlForField(f));\n });\n return controls;\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 watchControlLookup(data.data, 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(\n c: ControlDefinition,\n collectExtra?: (c: ControlDefinition) => (string | undefined | null)[],\n): string[] {\n const childClasses = c.children?.flatMap((x) =>\n getAllReferencedClasses(x, collectExtra),\n );\n const tc = clsx(\n [\n c.styleClass,\n c.layoutClass,\n c.labelClass,\n ...(collectExtra?.(c) ?? []),\n ].map(getOverrideClass),\n );\n if (childClasses && !tc) return childClasses;\n if (!tc) return [];\n if (childClasses) return [tc, ...childClasses];\n return [tc];\n}\n\nexport function jsonPathString(\n jsonPath: JsonPath[],\n customIndex?: (n: number) => string,\n) {\n let out = \"\";\n jsonPath.forEach((v, i) => {\n if (typeof v === \"number\") {\n out += customIndex?.(v) ?? \"[\" + v + \"]\";\n } else {\n if (i > 0) out += \".\";\n out += v;\n }\n });\n return out;\n}\n\nexport function findChildDefinition(\n parent: ControlDefinition,\n childPath: number | number[],\n): ControlDefinition {\n if (Array.isArray(childPath)) {\n let base = parent;\n childPath.forEach((x) => (base = base.children![x]));\n return base;\n }\n return parent.children![childPath];\n}\n\nexport function getOverrideClass(className?: string | null) {\n if (className && className.startsWith(\"@ \")) {\n return className.substring(2);\n }\n return className;\n}\n\nexport function rendererClass(\n controlClass?: string | null,\n globalClass?: string | null,\n) {\n const oc = getOverrideClass(controlClass);\n if (oc === controlClass) return clsx(controlClass, globalClass);\n return oc ? oc : undefined;\n}\n\nfunction watchControlLookup(\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\nexport type HookDep = string | number | undefined | null;\n\nexport interface DynamicHookGenerator<A, P> {\n deps: HookDep;\n state: any;\n runHook(ctx: P, state: any): A;\n}\n\nexport function makeHook<A, P, S = undefined>(\n runHook: (ctx: P, state: S) => A,\n state: S,\n deps?: HookDep,\n): DynamicHookGenerator<A, P> {\n return { deps, state, runHook };\n}\n\nexport type DynamicHookValue<A> =\n A extends DynamicHookGenerator<infer V, any> ? V : never;\n\nexport function useDynamicHooks<\n P,\n Hooks extends Record<string, DynamicHookGenerator<any, P>>,\n>(\n hooks: Hooks,\n): (p: P) => {\n [K in keyof Hooks]: DynamicHookValue<Hooks[K]>;\n} {\n const hookEntries = Object.entries(hooks);\n const deps = hookEntries.map(([, x]) => toDepString(x.deps)).join(\",\");\n const ref = useRef<Record<string, any>>({});\n const s = ref.current;\n hookEntries.forEach((x) => (s[x[0]] = x[1].state));\n return useCallback(\n (p: P) => {\n return Object.fromEntries(\n hookEntries.map(([f, hg]) => [f, hg.runHook(p, ref.current[f])]),\n ) as any;\n },\n [deps],\n );\n}\n\nexport function toDepString(x: any): string {\n if (x === undefined) return \"_\";\n if (x === null) return \"~\";\n return x.toString();\n}\n\nexport function appendElementIndex(\n dataContext: ControlDataContext,\n elementIndex: number,\n): ControlDataContext {\n return { ...dataContext, path: [...dataContext.path, elementIndex] };\n}\n\nexport function applyLengthRestrictions<Min, Max>(\n length: number,\n min: number | null | undefined,\n max: number | null | undefined,\n minValue: Min,\n maxValue: Max,\n): [Min | undefined, Max | undefined] {\n return [\n min == null || length > min ? minValue : undefined,\n max == null || length < max ? maxValue : undefined,\n ];\n}\n","import {\n CompoundField,\n FieldOption,\n FieldType,\n SchemaField,\n SchemaMap,\n} from \"./types\";\nimport { isCompoundField } from \"./util\";\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<S extends Partial<SchemaField>>(\n displayName: string,\n options?: S,\n) {\n return makeScalarField({\n type: FieldType.Int as const,\n displayName,\n ...(options as S),\n });\n}\n\nexport function boolField<S extends Partial<SchemaField>>(\n displayName: string,\n options?: S,\n) {\n return makeScalarField({\n type: FieldType.Bool as const,\n displayName,\n ...(options as S),\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\nexport function mergeField(\n field: SchemaField,\n mergeInto: SchemaField[],\n): SchemaField[] {\n const existing = mergeInto.find((x) => x.field === field.field);\n if (existing) {\n return mergeInto.map((x) =>\n x !== existing\n ? x\n : {\n ...x,\n onlyForTypes: mergeTypes(x.onlyForTypes, field.onlyForTypes),\n },\n );\n }\n return [...mergeInto, field];\n\n function mergeTypes(f?: string[] | null, s?: string[] | null) {\n if (!f) return s;\n if (!s) return f;\n const extras = s.filter((x) => !f.includes(x));\n return extras.length ? [...f, ...extras] : f;\n }\n}\n\nexport function mergeFields(\n fields: SchemaField[],\n name: string,\n value: any,\n newFields: SchemaField[],\n): SchemaField[] {\n const withType = fields.map((x) =>\n x.isTypeField ? addFieldOption(x, name, value) : x,\n );\n return newFields\n .map((x) => ({ ...x, onlyForTypes: [value] }))\n .reduce((af, x) => mergeField(x, af), withType);\n}\n\nexport function addFieldOption(\n typeField: SchemaField,\n name: string,\n value: any,\n): SchemaField {\n const options = typeField.options ?? [];\n return {\n ...typeField,\n options: [...options, { name, value }],\n };\n}\n\nexport function resolveSchemas<A extends SchemaMap>(schemaMap: A): A {\n const out: SchemaMap = {};\n function resolveSchemaType(type: string) {\n if (type in out) {\n return out[type];\n }\n const resolvedFields: SchemaField[] = [];\n out[type] = resolvedFields;\n schemaMap[type].forEach((x) => {\n if (isCompoundField(x) && x.schemaRef) {\n resolvedFields.push({\n ...x,\n children: resolveSchemaType(x.schemaRef),\n } as CompoundField);\n } else {\n resolvedFields.push(x);\n }\n });\n return resolvedFields;\n }\n Object.keys(schemaMap).forEach(resolveSchemaType);\n return out as A;\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 SchemaMap,\n TextDisplay,\n} from \"./types\";\nimport { ActionRendererProps } from \"./controlRender\";\nimport { useMemo } from \"react\";\nimport { addMissingControls, isCompoundField } from \"./util\";\nimport { mergeFields, resolveSchemas } from \"./schemaBuilder\";\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\nexport interface CustomRenderOptions {\n value: string;\n name: string;\n fields: SchemaField[];\n}\n\nexport type ControlDefinitionExtension = {\n RenderOptions?: CustomRenderOptions | CustomRenderOptions[];\n GroupRenderOptions?: CustomRenderOptions | CustomRenderOptions[];\n ControlAdornment?: CustomRenderOptions | CustomRenderOptions[];\n SchemaValidator?: CustomRenderOptions | CustomRenderOptions[];\n DisplayData?: CustomRenderOptions | CustomRenderOptions[];\n};\n\nexport function applyExtensionToSchema<A extends SchemaMap>(\n schemaMap: A,\n extension: ControlDefinitionExtension,\n): A {\n const outMap = { ...schemaMap };\n Object.entries(extension).forEach(([field, cro]) => {\n outMap[field as keyof A] = (Array.isArray(cro) ? cro : [cro]).reduce(\n (a, cr) => mergeFields(a, cr.name, cr.value, cr.fields),\n outMap[field],\n ) as A[string];\n });\n return outMap;\n}\n\nexport function applyExtensionsToSchema<A extends SchemaMap>(\n schemaMap: A,\n extensions: ControlDefinitionExtension[],\n) {\n return resolveSchemas(extensions.reduce(applyExtensionToSchema, schemaMap));\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 (cc.fields as any) || p in cv)\n 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 React, {\n MutableRefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} 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 DataContext,\n defaultValueForField,\n DynamicHookGenerator,\n elementValueForField,\n findField,\n getDisplayOnlyOptions,\n getTypeField,\n HookDep,\n isControlReadonly,\n jsonPathString,\n lookupChildControl,\n makeHook,\n toDepString,\n useUpdatedRef,\n} from \"./util\";\nimport jsonata from \"jsonata\";\nimport { trackedStructure, useCalculatedControl } from \"./internal\";\n\nexport type EvalExpressionHook<A = any> = DynamicHookGenerator<\n Control<A | undefined>,\n ControlDataContext\n>;\n\nexport type UseEvalExpressionHook = (\n expr: EntityExpression | undefined,\n) => DynamicHookGenerator<Control<any> | undefined, ControlDataContext>;\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 return makeDynamicPropertyHook(\n dynamicVisibility,\n (ctx, { schemaField, definition }) =>\n useComputed(() => {\n return (\n matchesType(ctx, schemaField?.onlyForTypes) &&\n (!schemaField ||\n !hideDisplayOnly(ctx, schemaField, definition, ctx.schemaInterface))\n );\n }),\n { schemaField, definition },\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 return makeDynamicPropertyHook(\n dynamicReadonly,\n (ctx, { definition }) =>\n useCalculatedControl(() => isControlReadonly(definition)),\n { definition },\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 makeDynamicPropertyHook(\n dynamicStyle,\n () => useControl(undefined),\n undefined,\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 makeDynamicPropertyHook(\n dynamicAllowed,\n () => useControl([]),\n undefined,\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 makeDynamicPropertyHook(\n dynamicDisabled,\n () => useControl(false),\n undefined,\n );\n}\n\nexport function useEvalDisplayHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): DynamicHookGenerator<\n Control<string | undefined> | undefined,\n ControlDataContext\n> {\n return useEvalDynamicHook(\n definition,\n DynamicPropertyType.Display,\n useEvalExpressionHook,\n );\n}\nexport function useEvalDefaultValueHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n schemaField: SchemaField | undefined,\n element: boolean,\n): EvalExpressionHook {\n const dynamicValue = useEvalDynamicHook(\n definition,\n DynamicPropertyType.DefaultValue,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicValue,\n (ctx, { definition, schemaField }) => {\n return 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 ? element\n ? elementValueForField(schemaField)\n : defaultValueForField(schemaField, required)\n : undefined)\n );\n }\n },\n { definition, schemaField },\n );\n}\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): UseEvalExpressionHook {\n return (expr) => ({\n deps: expr?.type,\n state: expr,\n runHook: (ctx: ControlDataContext, state: EntityExpression | undefined) => {\n return state ? f(state, ctx) : undefined;\n },\n });\n}\n\nexport function useEvalDynamicHook(\n definition: ControlDefinition,\n type: DynamicPropertyType,\n useEvalExpressionHook: UseEvalExpressionHook,\n): DynamicHookGenerator<Control<any> | undefined, ControlDataContext> {\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, (x) => `#$i[${x}]`);\n const fullExpr = pathString ? pathString + \".(\" + jExpr + \")\" : jExpr;\n const compiledExpr = useMemo(() => {\n try {\n return jsonata(fullExpr);\n } catch (e) {\n console.error(e);\n return jsonata(\"null\");\n }\n }, [fullExpr]);\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\nexport function useEvalLabelText(\n useExpr: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<string | null> {\n const dynamicValue = useEvalDynamicHook(\n definition,\n DynamicPropertyType.Label,\n useExpr,\n );\n return makeDynamicPropertyHook(\n dynamicValue,\n () => useControl(null),\n undefined,\n );\n}\n\nfunction makeDynamicPropertyHook<A, S = undefined>(\n dynamicValue: DynamicHookGenerator<\n Control<any> | undefined,\n ControlDataContext\n >,\n makeDefault: (ctx: ControlDataContext, s: S) => Control<A | undefined>,\n state: S,\n deps?: HookDep,\n): EvalExpressionHook<A> {\n return {\n deps:\n deps !== undefined\n ? dynamicValue.deps\n : [deps, dynamicValue.deps].map(toDepString).join(),\n runHook: (ctx, s) => {\n return dynamicValue.runHook(ctx, s[0]) ?? makeDefault(ctx, s[1]);\n },\n state: [dynamicValue.state, state],\n };\n}\n","import {\n ControlDefinition,\n DataControlDefinition,\n DateComparison,\n DateValidator,\n isDataControlDefinition,\n JsonataValidator,\n LengthValidator,\n SchemaField,\n SchemaInterface,\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\";\nimport { trackControlChange } from \"@react-typed-forms/core\";\nimport { ControlChange } from \"@react-typed-forms/core\";\n\nexport function useValidationHook(\n definition: ControlDefinition,\n field: SchemaField | undefined,\n): (\n control: Control<any>,\n hidden: boolean,\n groupContext: ControlDataContext,\n schemaInterface: SchemaInterface,\n) => void {\n const validatorTypes = isDataControlDefinition(definition)\n ? definition.validators?.map((x) => x.type) ?? []\n : null;\n const r = useUpdatedRef({\n definition: definition as DataControlDefinition,\n field,\n });\n return useCallback(\n (control, hidden, groupContext, schemaInterface) => {\n if (!validatorTypes) return;\n const { definition: dd, field } = 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.Length:\n const lv = x as LengthValidator;\n useControlEffect(\n () => {\n trackControlChange(control, ControlChange.Validate);\n return [\n field ? schemaInterface.controlLength(field, control) : 0,\n hidden,\n ] as const;\n },\n ([len, hidden]) => {\n if (hidden) {\n control.setError(\"length\", undefined);\n return;\n }\n if (lv.min != null && len < lv.min) {\n if (field?.collection) {\n control.setValue((v) =>\n Array.isArray(v)\n ? v.concat(Array.from({ length: lv.min! - v.length }))\n : Array.from({ length: lv.min! }),\n );\n } else {\n control.setError(\n \"length\",\n \"Length must be at least \" + lv.min,\n );\n }\n } else if (lv.max != null && len > lv.max) {\n control.setError(\n \"length\",\n \"Length must be less than \" + lv.max,\n );\n }\n },\n true,\n );\n break;\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\";\nimport { Control } from \"@react-typed-forms/core\";\n\nexport class DefaultSchemaInterface implements SchemaInterface {\n isEmptyValue(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 textValue(\n field: SchemaField,\n value: any,\n element?: boolean | undefined,\n ): string | undefined {\n switch (field.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 controlLength(f: SchemaField, control: Control<any>): number {\n return f.collection\n ? control.elements?.length ?? 0\n : this.valueLength(f, control.value);\n }\n valueLength(field: SchemaField, value: any): number {\n return (value && value?.length) ?? 0;\n }\n}\n\nexport const defaultSchemaInterface: SchemaInterface =\n new DefaultSchemaInterface();\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 Fcheckbox,\n newControl,\n removeElement,\n useComponentTracking,\n useControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\nimport {\n AdornmentPlacement,\n ControlAdornment,\n ControlDefinition,\n ControlDefinitionType,\n DataControlDefinition,\n DisplayData,\n DynamicPropertyType,\n FieldOption,\n GroupRenderOptions,\n isActionControlsDefinition,\n isDataControlDefinition,\n isDisplayControlsDefinition,\n isGroupControlsDefinition,\n LengthValidator,\n RenderOptions,\n SchemaField,\n SchemaInterface,\n ValidatorType,\n} from \"./types\";\nimport {\n applyLengthRestrictions,\n ControlDataContext,\n elementValueForField,\n fieldDisplayName,\n findField,\n isCompoundField,\n JsonPath,\n useDynamicHooks,\n useUpdatedRef,\n} from \"./util\";\nimport { dataControl } from \"./controlBuilder\";\nimport {\n defaultUseEvalExpressionHook,\n EvalExpressionHook,\n useEvalAllowedOptionsHook,\n useEvalDefaultValueHook,\n useEvalDisabledHook,\n useEvalDisplayHook,\n UseEvalExpressionHook,\n useEvalLabelText,\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 renderElement: (elemIndex: number) => ReactNode;\n arrayControl: Control<any[] | undefined | null>;\n className?: string;\n style?: React.CSSProperties;\n min?: number | null;\n max?: number | null;\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 className?: string;\n}\nexport interface DisplayRendererProps {\n data: DisplayData;\n display?: Control<string | undefined>;\n dataContext: ControlDataContext;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport type ChildVisibilityFunc = (\n child: ControlDefinition,\n context?: ControlDataContext,\n) => EvalExpressionHook<boolean>;\nexport interface ParentRendererProps {\n childDefinitions: ControlDefinition[];\n renderChild: ChildRenderer;\n className?: string;\n style?: React.CSSProperties;\n dataContext: ControlDataContext;\n parentContext: ControlDataContext;\n useChildVisibility: ChildVisibilityFunc;\n}\n\nexport interface GroupRendererProps extends ParentRendererProps {\n definition: ControlDefinition;\n renderOptions: GroupRenderOptions;\n}\n\nexport interface DataRendererProps extends ParentRendererProps {\n renderOptions: RenderOptions;\n definition: DataControlDefinition;\n field: SchemaField;\n elementIndex?: number;\n id: string;\n control: Control<any>;\n readonly: boolean;\n required: boolean;\n options: FieldOption[] | undefined | null;\n hidden: boolean;\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 parentContext: ControlDataContext;\n control: Control<any>;\n formOptions: FormContextOptions;\n style?: React.CSSProperties | undefined;\n renderChild: ChildRenderer;\n elementIndex?: number;\n allowedOptions?: Control<any[] | undefined>;\n useChildVisibility: ChildVisibilityFunc;\n}\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 elementIndex?: number;\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 elementIndex = options.elementIndex;\n const schemaInterface = options.schemaInterface ?? defaultSchemaInterface;\n const useExpr = options.useEvalExpressionHook ?? defaultUseEvalExpressionHook;\n\n const schemaField = lookupSchemaField(definition, fields);\n\n const dynamicHooks = useDynamicHooks({\n defaultValueControl: useEvalDefaultValueHook(\n useExpr,\n definition,\n schemaField,\n elementIndex != null,\n ),\n visibleControl: useEvalVisibilityHook(useExpr, definition, schemaField),\n readonlyControl: useEvalReadonlyHook(useExpr, definition),\n disabledControl: useEvalDisabledHook(useExpr, definition),\n allowedOptions: useEvalAllowedOptionsHook(useExpr, definition),\n labelText: useEvalLabelText(useExpr, definition),\n customStyle: useEvalStyleHook(\n useExpr,\n DynamicPropertyType.Style,\n definition,\n ),\n layoutStyle: useEvalStyleHook(\n useExpr,\n DynamicPropertyType.LayoutStyle,\n definition,\n ),\n displayControl: useEvalDisplayHook(useExpr, definition),\n });\n\n const useValidation = useValidationHook(definition, schemaField);\n const r = useUpdatedRef({\n options,\n definition,\n fields,\n schemaField,\n elementIndex,\n });\n\n const Component = useCallback(\n ({ control: rootControl, parentPath = [] }: ControlRenderProps) => {\n const stopTracking = useComponentTracking();\n try {\n const {\n definition: c,\n options,\n fields,\n schemaField,\n elementIndex,\n } = r.current;\n const parentDataContext: ControlDataContext = {\n fields,\n schemaInterface,\n data: rootControl,\n path: parentPath,\n };\n const {\n readonlyControl,\n disabledControl,\n visibleControl,\n displayControl,\n layoutStyle,\n labelText,\n customStyle,\n allowedOptions,\n defaultValueControl,\n } = dynamicHooks(parentDataContext);\n\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 [parentControl, control, controlDataContext] = getControlData(\n schemaField,\n parentDataContext,\n elementIndex,\n );\n useControlEffect(\n () => [\n visibility.value,\n defaultValueControl.value,\n control,\n isDataControlDefinition(definition) && definition.dontClearHidden,\n parentControl?.isNull,\n options.hidden,\n ],\n ([vc, dv, cd, dontClear, parentNull, hidden]) => {\n if (vc && cd && vc.visible === vc.showing) {\n if (hidden || !vc.visible) {\n if (options.clearHidden && !dontClear) {\n cd.value = undefined;\n }\n } else if (cd.value == null) {\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 schemaInterface,\n );\n const childOptions: ControlRenderOptions = {\n ...options,\n ...myOptions,\n elementIndex: undefined,\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 renderChild: (k, child, options) => {\n const dataContext = options?.dataContext ?? controlDataContext;\n return (\n <ControlRenderer\n key={k}\n control={dataContext.data}\n fields={dataContext.fields}\n definition={child}\n parentPath={dataContext.path}\n renderer={renderer}\n options={\n options\n ? { ...childOptions, elementIndex: options?.elementIndex }\n : childOptions\n }\n />\n );\n },\n createDataProps: dataProps,\n formOptions: myOptions,\n dataContext: controlDataContext,\n parentContext: parentDataContext,\n control: displayControl ?? control,\n elementIndex,\n labelText,\n field: schemaField,\n displayControl,\n style: customStyle.value,\n allowedOptions,\n useChildVisibility: (childDef, context) => {\n const schemaField = lookupSchemaField(\n childDef,\n (context ?? controlDataContext).fields,\n );\n return useEvalVisibilityHook(useExpr, childDef, schemaField);\n },\n });\n const renderedControl = renderer.renderLayout({\n ...labelAndChildren,\n adornments,\n className: c.layoutClass,\n style: layoutStyle.value,\n });\n return renderer.renderVisibility({ visibility, ...renderedControl });\n } finally {\n stopTracking();\n }\n },\n [r, dataProps, useValidation, renderer, schemaInterface, dynamicHooks],\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 elementIndex: number | undefined,\n): [Control<any> | undefined, Control<any> | undefined, ControlDataContext] {\n const { data, path } = parentContext;\n const parentControl = data.lookupControl(path);\n const childPath = schemaField\n ? elementIndex != null\n ? [...path, schemaField.field, elementIndex]\n : [...path, schemaField.field]\n : path;\n const childControl =\n schemaField && parentControl\n ? parentControl.fields?.[schemaField.field]\n : undefined;\n return [\n parentControl,\n childControl && elementIndex != null\n ? childControl.elements?.[elementIndex]\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\nexport function ControlRenderer({\n definition,\n fields,\n renderer,\n options,\n control,\n parentPath,\n}: {\n definition: ControlDefinition;\n fields: SchemaField[];\n renderer: FormRenderer;\n options?: ControlRenderOptions;\n control: Control<any>;\n parentPath?: JsonPath[];\n}) {\n const Render = useControlRenderer(definition, fields, renderer, options);\n return <Render control={control} parentPath={parentPath} />;\n}\n\nexport function defaultDataProps({\n definition,\n field,\n control,\n formOptions,\n style,\n allowedOptions,\n ...props\n}: DataControlProps): DataRendererProps {\n const lengthVal = definition.validators?.find(\n (x) => x.type === ValidatorType.Length,\n ) as LengthValidator | undefined;\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 childDefinitions: definition.children ?? [],\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: !!formOptions.readonly,\n renderOptions: definition.renderOptions ?? { type: \"Standard\" },\n required,\n hidden: !!formOptions.hidden,\n className,\n style,\n ...props,\n toArrayProps:\n field.collection && props.elementIndex == null\n ? () =>\n defaultArrayProps(\n control,\n field,\n required,\n style,\n className,\n (elementIndex) =>\n props.renderChild(\n control.elements?.[elementIndex].uniqueId ?? elementIndex,\n {\n type: ControlDefinitionType.Data,\n field: definition.field,\n children: definition.children,\n hideTitle: true,\n } as DataControlDefinition,\n { elementIndex, dataContext: props.parentContext },\n ),\n lengthVal?.min,\n lengthVal?.max,\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 min: number | undefined | null,\n max: number | undefined | null,\n): ArrayRendererProps {\n const noun = field.displayName ?? field.field;\n return {\n arrayControl,\n required,\n addAction: {\n actionId: \"add\",\n actionText: \"Add \" + noun,\n onClick: () => addElement(arrayControl, elementValueForField(field)),\n },\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 min,\n max,\n };\n}\n\nexport interface ChildRendererOptions {\n elementIndex?: number;\n dataContext?: ControlDataContext;\n}\n\nexport type ChildRenderer = (\n k: Key,\n child: ControlDefinition,\n options?: ChildRendererOptions,\n) => ReactNode;\n\nexport interface RenderControlProps {\n definition: ControlDefinition;\n renderer: FormRenderer;\n renderChild: ChildRenderer;\n createDataProps: CreateDataProps;\n formOptions: FormContextOptions;\n dataContext: ControlDataContext;\n parentContext: ControlDataContext;\n control?: Control<any>;\n labelText?: Control<string | null | undefined>;\n field?: SchemaField;\n elementIndex?: number;\n displayControl?: Control<string | undefined>;\n style?: React.CSSProperties;\n allowedOptions?: Control<any[] | undefined>;\n useChildVisibility: ChildVisibilityFunc;\n}\nexport function renderControlLayout(\n props: RenderControlProps,\n): ControlLayoutProps {\n const {\n definition: c,\n renderer,\n renderChild,\n control,\n field,\n dataContext,\n createDataProps: dataProps,\n displayControl,\n style,\n labelText,\n parentContext,\n useChildVisibility,\n } = props;\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 childDefinitions: c.children ?? [],\n definition: c,\n parentContext,\n renderChild,\n dataContext,\n renderOptions: c.groupOptions ?? { type: \"Standard\" },\n className: cc(c.styleClass),\n useChildVisibility,\n style,\n }),\n label: {\n label: labelText?.value ?? c.title,\n className: cc(c.labelClass),\n type: LabelType.Group,\n hide: c.groupOptions?.hideTitle,\n },\n };\n }\n if (isActionControlsDefinition(c)) {\n return {\n children: renderer.renderAction({\n actionText: labelText?.value ?? 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 dataContext,\n }),\n };\n }\n return {};\n\n function renderData(c: DataControlDefinition) {\n if (!field) return { children: \"No schema field for: \" + c.field };\n if (!control) return { children: \"No control for: \" + c.field };\n const rendererProps = dataProps(\n props as RenderControlProps & {\n definition: DataControlDefinition;\n field: SchemaField;\n control: Control<any>;\n },\n );\n\n const label = !c.hideTitle\n ? controlTitle(labelText?.value ?? c.title, field)\n : undefined;\n return {\n processLayout: renderer.renderData(rendererProps),\n label: {\n type:\n (c.children?.length ?? 0) > 0 ? LabelType.Group : LabelType.Control,\n label,\n forId: rendererProps.id,\n required: c.required,\n hide: c.hideTitle,\n className: cc(c.labelClass),\n },\n errorControl: control,\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\nexport function applyArrayLengthRestrictions(\n {\n arrayControl,\n min,\n max,\n addAction: aa,\n removeAction: ra,\n required,\n }: Pick<\n ArrayRendererProps,\n \"addAction\" | \"removeAction\" | \"arrayControl\" | \"min\" | \"max\" | \"required\"\n >,\n disable?: boolean,\n): Pick<ArrayRendererProps, \"addAction\" | \"removeAction\"> & {\n addDisabled: boolean;\n removeDisabled: boolean;\n} {\n const [removeAllowed, addAllowed] = applyLengthRestrictions(\n arrayControl.elements?.length ?? 0,\n min == null && required ? 1 : min,\n max,\n true,\n true,\n );\n return {\n addAction: disable || addAllowed ? aa : undefined,\n removeAction: disable || removeAllowed ? ra : undefined,\n removeDisabled: !removeAllowed,\n addDisabled: !addAllowed,\n };\n}\n","import { CSSProperties, ReactElement, ReactNode } from \"react\";\nimport {\n ActionRendererProps,\n AdornmentProps,\n AdornmentRenderer,\n ArrayRendererProps,\n ControlLayoutProps,\n DataRendererProps,\n DisplayRendererProps,\n FormRenderer,\n GroupRendererProps,\n LabelRendererProps,\n LabelType,\n RenderedControl,\n VisibilityRendererProps,\n} from \"./controlRender\";\nimport { ControlAdornment, ControlAdornmentType, IconAdornment } from \"./types\";\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 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 createGroupRenderer(\n render: GroupRendererRegistration[\"render\"],\n options?: Partial<GroupRendererRegistration>,\n): GroupRendererRegistration {\n return { type: \"group\", render, ...options };\n}\n\nexport function createDisplayRenderer(\n render: DisplayRendererRegistration[\"render\"],\n options?: Partial<DisplayRendererRegistration>,\n): DisplayRendererRegistration {\n return { type: \"display\", 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","import React from \"react\";\n\nimport { DefaultRendererOptions } from \"./createDefaultRenderers\";\n\nexport const defaultTailwindTheme = {\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-500 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 checkOptions: {\n className: \"flex items-center gap-4\",\n entryClass: \"flex gap-1 items-center\",\n },\n selectOptions: { emptyText: \"<select>\" },\n },\n} satisfies DefaultRendererOptions;\n","import React from \"react\";\nimport { DisplayRendererProps } from \"../controlRender\";\nimport {\n DisplayDataType,\n HtmlDisplay,\n IconDisplay,\n TextDisplay,\n} from \"../types\";\nimport clsx from \"clsx\";\nimport { getOverrideClass, rendererClass } from \"../util\";\nimport { DisplayRendererRegistration } from \"../renderers\";\n\nexport interface DefaultDisplayRendererOptions {\n textClassName?: string;\n htmlClassName?: string;\n}\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 getOverrideClass(className),\n display ? display.value : (data as IconDisplay).iconClass,\n )}\n />\n );\n case DisplayDataType.Text:\n return (\n <div\n style={style}\n className={rendererClass(className, options.textClassName)}\n >\n {display ? display.value : (data as TextDisplay).text}\n </div>\n );\n case DisplayDataType.Html:\n return (\n <div\n style={style}\n className={rendererClass(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","import { RenderedLayout } from \"../controlRender\";\nimport React from \"react\";\n\nexport interface DefaultLayoutRendererOptions {\n className?: string;\n errorClass?: string;\n}\n\nexport function DefaultLayout({\n errorClass,\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 { VisibilityRendererProps } from \"../controlRender\";\nimport React, { useEffect } from \"react\";\nimport clsx from \"clsx\";\nimport { createVisibilityRenderer } from \"../renderers\";\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","import { Control } from \"@react-typed-forms/core\";\nimport React, { useMemo, useState } from \"react\";\nimport { rendererClass } from \"../util\";\nimport { FieldOption, FieldType } from \"../types\";\nimport { createDataRenderer } from \"../renderers\";\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={rendererClass(props.className, options.className)}\n state={props.control}\n id={props.id}\n readonly={props.readonly}\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\nexport interface SelectDataRendererProps {\n id?: string;\n className?: string;\n options: FieldOption[];\n emptyText?: string;\n requiredText?: string;\n readonly: boolean;\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 readonly,\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 || readonly}\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","import { Control } from \"@react-typed-forms/core\";\nimport { SchemaField, SchemaInterface } from \"../types\";\nimport React from \"react\";\nimport { rendererClass } from \"../util\";\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={rendererClass(className)}>\n {text}\n </div>\n );\n}\n","import { FieldType } from \"../types\";\nimport React from \"react\";\nimport { Control, formControlProps } from \"@react-typed-forms/core\";\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\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","import { ArrayRendererRegistration } from \"../renderers\";\nimport {\n ActionRendererProps,\n applyArrayLengthRestrictions,\n ArrayRendererProps,\n} from \"../controlRender\";\nimport clsx from \"clsx\";\nimport React, { Fragment, ReactNode } from \"react\";\nimport { RenderElements } from \"@react-typed-forms/core\";\nimport { applyLengthRestrictions } from \"../util\";\n\nexport interface 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 return {\n render: (props, { renderAction }) => (\n <DefaultArrayRenderer\n {...props}\n {...options}\n renderAction={renderAction}\n />\n ),\n type: \"array\",\n };\n}\n\nexport interface DefaultArrayRendererProps\n extends DefaultArrayRendererOptions,\n ArrayRendererProps {\n renderAction: (props: ActionRendererProps) => ReactNode;\n}\n\nexport function DefaultArrayRenderer(props: DefaultArrayRendererProps) {\n const {\n renderElement,\n className,\n removableClass,\n childClass,\n removableChildClass,\n removeActionClass,\n addActionClass,\n arrayControl,\n renderAction,\n style,\n } = props;\n const { addAction, removeAction } = applyArrayLengthRestrictions(props);\n return (\n <div style={style}>\n <div className={clsx(className, removeAction && removableClass)}>\n <RenderElements control={arrayControl}>\n {(_, x) =>\n removeAction ? (\n <>\n <div className={clsx(childClass, removableChildClass)}>\n {renderElement(x)}\n </div>\n <div className={removeActionClass}>\n {renderAction(removeAction(x))}\n </div>\n </>\n ) : (\n <div className={childClass}>{renderElement(x)}</div>\n )\n }\n </RenderElements>\n </div>\n {addAction && (\n <div className={addActionClass}>{renderAction(addAction)}</div>\n )}\n </div>\n );\n}\n","import { DataRenderType, FieldOption } from \"../types\";\nimport {\n Control,\n Fcheckbox,\n RenderArrayElements,\n useComputed,\n} from \"@react-typed-forms/core\";\nimport React from \"react\";\nimport { createDataRenderer } from \"../renderers\";\nimport { rendererClass } from \"../util\";\n\nexport interface CheckRendererOptions {\n className?: string;\n entryClass?: string;\n checkClass?: string;\n labelClass?: string;\n}\n\nexport function createRadioRenderer(options: CheckRendererOptions = {}) {\n return createDataRenderer(\n (p) => (\n <CheckButtons\n {...options}\n {...p}\n className={rendererClass(p.className, options.className)}\n isChecked={(control, o) => control.value == o.value}\n setChecked={(c, o) => (c.value = o.value)}\n control={p.control}\n type=\"radio\"\n />\n ),\n {\n renderType: DataRenderType.Radio,\n },\n );\n}\n\nexport function createCheckListRenderer(options: CheckRendererOptions = {}) {\n return createDataRenderer(\n (p) => (\n <CheckButtons\n {...options}\n {...p}\n className={rendererClass(p.className, options.className)}\n isChecked={(control, o) => {\n const v = control.value;\n return Array.isArray(v) ? v.includes(o.value) : false;\n }}\n setChecked={(c, o, checked) => {\n c.setValue((x) => setIncluded(x ?? [], o.value, checked));\n }}\n control={p.control}\n type=\"checkbox\"\n />\n ),\n {\n collection: true,\n renderType: DataRenderType.CheckList,\n },\n );\n}\n\nexport function CheckButtons({\n control,\n options,\n labelClass,\n checkClass,\n readonly,\n entryClass,\n className,\n id,\n type,\n isChecked,\n setChecked,\n}: {\n id?: string;\n className?: string;\n options?: FieldOption[] | null;\n control: Control<any>;\n entryClass?: string;\n checkClass?: string;\n labelClass?: string;\n readonly?: boolean;\n type: \"checkbox\" | \"radio\";\n isChecked: (c: Control<any>, o: FieldOption) => boolean;\n setChecked: (c: Control<any>, o: FieldOption, checked: boolean) => void;\n}) {\n const { disabled } = control;\n const name = \"r\" + control.uniqueId;\n return (\n <div className={className} id={id}>\n <RenderArrayElements array={options?.filter((x) => x.value != null)}>\n {(o, i) => {\n const checked = useComputed(() => isChecked(control, o)).value;\n return (\n <div key={i} className={entryClass}>\n <input\n id={name + \"_\" + i}\n className={checkClass}\n type={type}\n name={name}\n readOnly={readonly}\n disabled={disabled}\n checked={checked}\n onChange={(x) => setChecked(control, o, x.target.checked)}\n />\n <label className={labelClass} htmlFor={name + \"_\" + i}>\n {o.name}\n </label>\n </div>\n );\n }}\n </RenderArrayElements>\n </div>\n );\n}\n\nexport function setIncluded<A>(array: A[], elem: A, included: boolean): A[] {\n const already = array.includes(elem);\n if (included === already) {\n return array;\n }\n if (included) {\n return [...array, elem];\n }\n return array.filter((e) => e !== elem);\n}\n\nexport function createCheckboxRenderer(options: CheckRendererOptions = {}) {\n return createDataRenderer(\n (props, renderer) => (p) => ({\n ...p,\n label: undefined,\n children: (\n <div className={rendererClass(props.className, options.className)}>\n <div className={options.entryClass}>\n <Fcheckbox\n id={props.id}\n control={props.control}\n style={props.style}\n className={options.checkClass}\n />\n {p.label && renderer.renderLabel(p.label, undefined, undefined)}\n </div>\n </div>\n ),\n }),\n { renderType: DataRenderType.Checkbox },\n );\n}\n","import {\n createDefaultDisplayRenderer,\n DefaultDisplayRendererOptions,\n} from \"./components/DefaultDisplay\";\nimport {\n DefaultLayout,\n DefaultLayoutRendererOptions,\n} from \"./components/DefaultLayout\";\nimport {\n ActionRendererRegistration,\n AdornmentRendererRegistration,\n createDataRenderer,\n createLayoutRenderer,\n DataRendererRegistration,\n DefaultRenderers,\n GroupRendererRegistration,\n isIconAdornment,\n LabelRendererRegistration,\n} from \"./renderers\";\nimport { createDefaultVisibilityRenderer } from \"./components/DefaultVisibility\";\nimport React, { CSSProperties, Fragment, ReactElement, ReactNode } from \"react\";\nimport { hasOptions, rendererClass } from \"./util\";\nimport clsx from \"clsx\";\nimport {\n ActionRendererProps,\n appendMarkupAt,\n ControlLayoutProps,\n GroupRendererProps,\n LabelType,\n renderLayoutParts,\n} from \"./controlRender\";\nimport {\n AdornmentPlacement,\n DataRenderType,\n FieldOption,\n FieldType,\n FlexRenderer,\n GridRenderer,\n isDataGroupRenderer,\n isDisplayOnlyRenderer,\n isFlexRenderer,\n isGridRenderer,\n isTextfieldRenderer,\n} from \"./types\";\nimport {\n createSelectRenderer,\n SelectRendererOptions,\n} from \"./components/SelectDataRenderer\";\nimport { DefaultDisplayOnly } from \"./components/DefaultDisplayOnly\";\nimport { Fcheckbox } from \"@react-typed-forms/core\";\nimport { ControlInput, createInputConversion } from \"./components/ControlInput\";\nimport {\n createDefaultArrayRenderer,\n DefaultArrayRendererOptions,\n} from \"./components/DefaultArrayRenderer\";\nimport {\n CheckRendererOptions,\n createCheckboxRenderer,\n createCheckListRenderer,\n createRadioRenderer,\n} from \"./components/CheckRenderer\";\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\ninterface StyleProps {\n className?: string;\n style?: CSSProperties;\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\n return { render, type: \"action\" };\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 { renderChild, renderOptions, childDefinitions } = 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\n className={rendererClass(props.className, clsx(className, gcn))}\n style={style}\n >\n {childDefinitions?.map((c, i) => renderChild(i, c))}\n </div>\n ),\n };\n };\n }\n\n return { type: \"group\", render };\n}\n\nexport const DefaultBoolOptions: FieldOption[] = [\n { name: \"Yes\", value: true },\n { name: \"No\", value: false },\n];\n\ninterface DefaultDataRendererOptions {\n inputClass?: string;\n displayOnlyClass?: string;\n selectOptions?: SelectRendererOptions;\n checkboxOptions?: CheckRendererOptions;\n checkOptions?: CheckRendererOptions;\n radioOptions?: CheckRendererOptions;\n checkListOptions?: CheckRendererOptions;\n booleanOptions?: FieldOption[];\n optionRenderer?: DataRendererRegistration;\n}\n\nexport function createDefaultDataRenderer(\n options: DefaultDataRendererOptions = {},\n): DataRendererRegistration {\n const checkboxRenderer = createCheckboxRenderer(\n options.checkOptions ?? options.checkboxOptions,\n );\n const selectRenderer = createSelectRenderer(options.selectOptions);\n const radioRenderer = createRadioRenderer(\n options.radioOptions ?? options.checkOptions,\n );\n const checkListRenderer = createCheckListRenderer(\n options.checkListOptions ?? options.checkOptions,\n );\n const { inputClass, booleanOptions, optionRenderer, displayOnlyClass } = {\n optionRenderer: selectRenderer,\n booleanOptions: DefaultBoolOptions,\n ...options,\n };\n\n return createDataRenderer((props, renderers) => {\n const fieldType = props.field.type;\n const renderOptions = props.renderOptions;\n let renderType = renderOptions.type;\n if (props.toArrayProps && renderType !== DataRenderType.CheckList) {\n return (p) => ({\n ...p,\n children: renderers.renderArray(props.toArrayProps!()),\n });\n }\n if (fieldType === FieldType.Compound) {\n const groupOptions = (isDataGroupRenderer(renderOptions)\n ? renderOptions.groupOptions\n : undefined) ?? { type: \"Standard\", hideTitle: true };\n return renderers.renderGroup({ ...props, renderOptions: groupOptions });\n }\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.CheckList:\n return checkListRenderer.render(props, renderers);\n case DataRenderType.Dropdown:\n return selectRenderer.render(props, renderers);\n case DataRenderType.Radio:\n return radioRenderer.render(props, renderers);\n case DataRenderType.Checkbox:\n return checkboxRenderer.render(props, renderers);\n }\n const placeholder = isTextfieldRenderer(renderOptions)\n ? renderOptions.placeholder\n : undefined;\n return (\n <ControlInput\n className={rendererClass(props.className, inputClass)}\n style={props.style}\n id={props.id}\n readOnly={props.readonly}\n control={props.control}\n placeholder={placeholder ?? undefined}\n convert={createInputConversion(props.field.type)}\n />\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\nfunction createDefaultLayoutRenderer(\n options: DefaultLayoutRendererOptions = {},\n) {\n return createLayoutRenderer((props, renderers) => {\n const layout = renderLayoutParts(\n {\n ...props,\n className: rendererClass(props.className, options.className),\n },\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\ninterface DefaultLabelRendererOptions {\n className?: string;\n groupLabelClass?: string;\n controlLabelClass?: string;\n requiredElement?: ReactNode;\n labelContainer?: (children: ReactElement) => ReactElement;\n}\n\nexport function createDefaultLabelRenderer(\n options?: DefaultLabelRendererOptions,\n): LabelRendererRegistration {\n const {\n className,\n groupLabelClass,\n controlLabelClass,\n requiredElement,\n labelContainer,\n } = {\n requiredElement: <span> *</span>,\n labelContainer: (c: ReactElement) => c,\n ...options,\n };\n return {\n render: (props, labelStart, labelEnd) => {\n return labelContainer(\n <>\n <label\n htmlFor={props.forId}\n className={rendererClass(\n props.className,\n clsx(\n className,\n props.type === LabelType.Group && groupLabelClass,\n props.type === LabelType.Control && controlLabelClass,\n ),\n )}\n >\n {labelStart}\n {props.label}\n {props.required && requiredElement}\n </label>\n {labelEnd}\n </>,\n );\n },\n type: \"label\",\n };\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","import { CSSProperties, ReactNode } from \"react\";\nimport {\n ActionRendererProps,\n AdornmentProps,\n AdornmentRenderer,\n ArrayRendererProps,\n ControlLayoutProps,\n DataRendererProps,\n DisplayRendererProps,\n FormRenderer,\n GroupRendererProps,\n LabelRendererProps,\n} from \"./controlRender\";\nimport { hasOptions } from \"./util\";\nimport {\n ActionRendererRegistration,\n AdornmentRendererRegistration,\n ArrayRendererRegistration,\n DataRendererRegistration,\n DefaultRenderers,\n DisplayRendererRegistration,\n GroupRendererRegistration,\n LabelRendererRegistration,\n LayoutRendererRegistration,\n RendererRegistration,\n VisibilityRendererRegistration,\n} from \"./renderers\";\nimport { createDefaultRenderers } from \"./createDefaultRenderers\";\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) ===\n (props.elementIndex == null && (field.collection ?? false)) &&\n (x.options ?? false) === options &&\n ((x.schemaType && isOneOf(x.schemaType, field.type)) ||\n (x.renderType && 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\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 isOneOf<A>(x: A | A[] | undefined, v: A) {\n return x == null ? true : Array.isArray(x) ? x.includes(v) : v === x;\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}\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","isTextfieldRenderer","Textfield","isDataGroupRenderer","applyDefaultValues","v","fields","doneSet","_doneSet","defaultValueForFields","has","Set","add","applyValue","filter","isCompoundField","field","length","out","_extends","forEach","applyDefaultForField","defaultValueForField","parent","notElement","collection","map","required","treeChildren","children","Object","fromEntries","sf","undefined","isRequired","childValue","notNullable","elementValueForField","findScalarField","findField","findCompoundField","find","isScalarField","Compound","isDataControl","c","isGroupControl","fieldHasTag","tag","_field$tags","Boolean","tags","includes","fieldDisplayName","_field$displayName","displayName","hasOptions","o","_o$options$length","_o$options","defaultControlForField","title","_sf$tags","htmlEditor","renderOptions","HtmlEditor","Standard","findControlsForCompound","compound","definition","_definition$children$","_definition$children","compoundField","flatMap","d","findCompoundGroups","controls","cf","groups","concat","findNonDataGroups","_x$children","_x$children2","existsInGroups","lookup","itself","_c$children","childLookup","control","_control$children2","cloneChildren","_c$children2","addMissingControls","rootMapping","rootGroups","rootLookup","missingFields","_ref","_f$tags","_insertGroup","f","groupToAdd","startsWith","insertGroup","groupName","substring","push","useUpdatedRef","a","r","useRef","current","isControlReadonly","readonly","getDisplayOnlyOptions","getTypeField","context","typeSchemaField","isTypeField","lookupChildControl","visitControlDataArray","cb","_iterator2","_createForOfIteratorHelperLoose","_step2","done","value","visitControlData","ctx","def","processData","fieldName","fieldData","thisPath","path","lookupControl","result","cIndex","_iterator3","_control$elements","elements","_step3","elemResult","cfResult","child","childPath","watchControlLookup","cleanDataForSchema","typeField","typeValue","cleanableFields","_x$onlyForTypes$lengt","_x$onlyForTypes","onlyForTypes","_x$onlyForTypes2","canBeNull","childFields","Array","isArray","cv","getAllReferencedClasses","collectExtra","_c$children3","_collectExtra","childClasses","tc","clsx","styleClass","layoutClass","labelClass","getOverrideClass","jsonPathString","jsonPath","customIndex","i","_customIndex","findChildDefinition","base","className","rendererClass","controlClass","globalClass","oc","index","childId","_c$fields","next","trackControlChange","ControlChange","Structure","_c$elements","makeHook","runHook","state","deps","useDynamicHooks","hooks","hookEntries","entries","_ref2","toDepString","join","ref","s","useCallback","p","_ref3","hg","toString","appendElementIndex","dataContext","elementIndex","applyLengthRestrictions","min","max","minValue","maxValue","buildSchema","stringField","makeScalarField","String","stringOptionsField","slice","call","arguments","withScalarOptions","n","defaultScalarField","makeCompoundField","defaultCompoundField","intField","Int","boolField","Bool","other","mergeField","mergeInto","existing","mergeTypes","extras","mergeFields","name","newFields","withType","addFieldOption","reduce","af","_typeField$options","resolveSchemas","schemaMap","resolveSchemaType","resolvedFields","schemaRef","keys","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","applyExtensionToSchema","extension","outMap","cro","cr","applyExtensionsToSchema","extensions","useCalculatedControl","calculate","useControl","useControlEffect","cc","trackedStructure","tracker","Value","Proxy","get","target","receiver","Reflect","nc","useEvalVisibilityHook","useEvalExpressionHook","schemaField","useEvalDynamicHook","makeDynamicPropertyHook","useComputed","matchesType","hideDisplayOnly","schemaInterface","useEvalReadonlyHook","useEvalStyleHook","property","dynamicStyle","useEvalAllowedOptionsHook","dynamicAllowed","AllowedOptions","useEvalDisabledHook","useEvalDisplayHook","useEvalDefaultValueHook","element","dynamicValue","calcDefault","_ref4","dcv","useDataExpression","fvExpr","refField","otherField","useDataMatchExpression","fv","defaultEvalHooks","useJsonataExpression","defaultUseEvalExpressionHook","makeEvalExpressionHook","_definition$dynamic","dynamic","types","_lookupChildControl","displayOptions","emptyText","isEmptyValue","jExpr","bindings","pathString","fullExpr","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","useEvalLabelText","useExpr","Label","makeDefault","_dynamicValue$runHook","useValidationHook","_definition$validator","_definition$validator2","validatorTypes","validators","hidden","groupContext","_dd$validators","_r$current","dd","useValueChangeEffect","setError","useValidator","Length","lv","Validate","controlLength","len","setValue","from","useJsonataValidator","Date","useDateValidator","errorMsg","msg","dv","comparisonDate","fixedDate","parse","nowDate","UTC","getFullYear","getMonth","getDate","daysFromCurrent","selDate","notAfter","comparison","NotAfter","toDateString","DefaultSchemaInterface","_proto","prototype","textValue","DateTime","toLocaleDateString","_control$elements$len","valueLength","defaultSchemaInterface","AppendAdornmentPriority","WrapAdornmentPriority","LabelType","useControlRenderer","renderer","_options$useDataHook","_options$schemaInterf","_options$useEvalExpre","dataProps","useDataHook","defaultDataProps","lookupSchemaField","dynamicHooks","defaultValueControl","visibleControl","readonlyControl","disabledControl","allowedOptions","labelText","customStyle","Style","layoutStyle","LayoutStyle","displayControl","useValidation","Component","rootControl","_ref$parentPath","parentPath","stopTracking","useComponentTracking","_definition$adornment","_definition$adornment2","parentDataContext","_dynamicHooks","visible","visibility","showing","ex","_getControlData","getControlData","parentControl","controlDataContext","dontClearHidden","isNull","vc","cd","dontClear","parentNull","clearHidden","myOptions","_visibility$fields","disabled","newControl","childOptions","React","createElement","Fragment","adornments","renderAdornment","adornment","labelAndChildren","renderControlLayout","renderChild","k","_options$dataContext","ControlRenderer","key","createDataProps","formOptions","parentContext","style","useChildVisibility","childDef","renderedControl","renderLayout","renderVisibility","_parentControl$fields","_childControl$element","childControl","_effect","_useComponentTracking","Render","_field$options$length","_field$options","_allowedOptions$value","_definition$renderOpt","props","_objectWithoutPropertiesLoose","_excluded","lengthVal","fieldOptions","allowed","childDefinitions","id","uniqueId","toArrayProps","defaultArrayProps","_control$elements$ele","arrayControl","renderElement","noun","addAction","addElement","removeAction","removeElement","renderData","_c$groupOptions2","_labelText$value","_c$groupOptions3","_c$groupOptions","processLayout","renderGroup","label","hide","_ref5","_labelText$value2","renderAction","_c$displayData","renderDisplay","_labelText$value3","_c$children$length","rendererProps","controlTitle","Control","forId","errorControl","appendMarkup","markup","layout","wrapMarkup","wrap","layoutKeyForPlacement","pos","ControlEnd","ControlStart","LabelStart","LabelEnd","appendMarkupAt","wrapMarkupAt","renderLayoutParts","_props$processLayout","_ref6","sort","b","priority","renderLabel","labelStart","labelEnd","applyArrayLengthRestrictions","_ref7","disable","_arrayControl$element","_arrayControl$element2","aa","ra","_applyLengthRestricti","removeAllowed","addAllowed","removeDisabled","addDisabled","isIconAdornment","Icon","createLayoutRenderer","render","createArrayRenderer","createDataRenderer","createGroupRenderer","createDisplayRenderer","createLabelRenderer","createVisibilityRenderer","createAdornmentRenderer","defaultTailwindTheme","groupLabelClass","requiredElement","array","removableClass","childClass","addActionClass","standardClassName","gridClassName","flexClassName","errorClass","displayOnlyClass","checkOptions","entryClass","selectOptions","createDefaultDisplayRenderer","DefaultDisplay","_display$value","iconClass","textClassName","htmlClassName","dangerouslySetInnerHTML","__html","DefaultLayout","_ref$layout","controlEnd","controlStart","ec","errorText","touched","createDefaultVisibilityRenderer","DefaultVisibility","divRef","createSelectRenderer","asArray","SelectDataRenderer","requiredText","convert","createSelectConversion","_ref$emptyText","_ref$requiredText","_useState","useState","showEmpty","optionStringMap","onChange","ft","Double","_a$toString","DefaultDisplayOnly","ControlInput","_formControlProps","formControlProps","inputProps","_excluded2","createInputConversion","parseInt","parseFloat","createDefaultArrayRenderer","DefaultArrayRenderer","removableChildClass","removeActionClass","_applyArrayLengthRest","RenderElements","_","createRadioRenderer","CheckButtons","isChecked","setChecked","renderType","Radio","createCheckListRenderer","checked","setIncluded","CheckList","checkClass","RenderArrayElements","readOnly","htmlFor","elem","included","already","createCheckboxRenderer","Fcheckbox","Checkbox","createDefaultActionRenderer","createDefaultGroupRenderer","_ref2$gridStyles","gridStyles","defaultGridStyles","_ref2$defaultGridColu","defaultGridColumns","defaultFlexGap","_ref3$columns","columns","gridTemplateColumns","flexStyles","gap","flexDirection","direction","gcn","cp","DefaultBoolOptions","createDefaultDataRenderer","_options$checkOptions","_options$radioOptions","_options$checkListOpt","checkboxRenderer","checkboxOptions","selectRenderer","radioRenderer","radioOptions","checkListRenderer","checkListOptions","_optionRenderer$boole","optionRenderer","booleanOptions","inputClass","renderers","fieldType","renderArray","Any","isBool","Dropdown","placeholder","createDefaultAdornmentRenderer","rl","_adornment$placement","placement","createDefaultLayoutRenderer","meta","scrollElement","createDefaultLabelRenderer","_requiredElement$labe","labelContainer","controlLabelClass","createDefaultRenderers","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","_layoutRenderers$find","match","_adornmentRegistratio","isOneOf","adornmentType","_arrayRenderers$","_labelRenderers$find","labelType","_dataRegistrations$fi","_x$collection","_field$collection","_x$options","schemaType","_groupRegistrations$f","_actionRenderers$find","actionType","_displayRegistrations"],"mappings":"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"}