@react-typed-forms/schemas-html 4.2.0 → 5.0.1
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/adornments/optionalAdornment.d.ts +4 -25
- package/lib/components/ArrayElementRenderer.d.ts +1 -4
- package/lib/components/AutocompleteRenderer.d.ts +1 -7
- package/lib/components/CheckRenderer.d.ts +3 -29
- package/lib/components/ControlInput.d.ts +2 -1
- package/lib/components/DefaultAccordion.d.ts +13 -6
- package/lib/components/DefaultArrayRenderer.d.ts +2 -9
- package/lib/components/DefaultDialogRenderer.d.ts +2 -8
- package/lib/components/DefaultDisplay.d.ts +3 -6
- package/lib/components/DefaultDisplayOnly.d.ts +3 -3
- package/lib/components/DefaultGroupRenderer.d.ts +2 -16
- package/lib/components/DefaultLayout.d.ts +4 -8
- package/lib/components/DefaultVisibility.d.ts +1 -1
- package/lib/components/DefaultWizardRenderer.d.ts +1 -27
- package/lib/components/GridRenderer.d.ts +1 -5
- package/lib/components/HtmlCheckButtons.d.ts +3 -0
- package/lib/components/JsonataRenderer.d.ts +2 -1
- package/lib/components/MultilineTextfield.d.ts +2 -1
- package/lib/components/ScrollListRenderer.d.ts +2 -0
- package/lib/components/SelectDataRenderer.d.ts +3 -6
- package/lib/components/TabsRenderer.d.ts +1 -9
- package/lib/components/ValueForFieldRenderer.d.ts +2 -10
- package/lib/createButtonActionRenderer.d.ts +2 -20
- package/lib/createDefaultRenderers.d.ts +8 -83
- package/lib/index.cjs +721 -552
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.ts +3 -1
- package/lib/index.js +656 -476
- package/lib/index.js.map +1 -1
- package/lib/rendererOptions.d.ts +218 -0
- package/lib/tailwind.d.ts +14 -2
- package/package.json +6 -6
- package/lib/components/VisibleChildrenRenderer.d.ts +0 -14
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/components/DefaultDisplay.tsx","../src/components/ControlInput.tsx","../src/components/SelectDataRenderer.tsx","../src/components/CheckRenderer.tsx","../src/components/DefaultLayout.tsx","../src/components/DefaultDisplayOnly.tsx","../src/components/DefaultAccordion.tsx","../src/components/VisibleChildrenRenderer.tsx","../src/components/TabsRenderer.tsx","../src/components/GridRenderer.tsx","../src/components/DefaultWizardRenderer.tsx","../src/components/DefaultDialogRenderer.tsx","../src/components/DefaultGroupRenderer.tsx","../src/components/DefaultVisibility.tsx","../src/components/JsonataRenderer.tsx","../src/components/NullToggle.tsx","../src/components/DefaultArrayRenderer.tsx","../src/components/AutocompleteRenderer.tsx","../src/components/ValueForFieldRenderer.tsx","../src/adornments/optionalAdornment.tsx","../src/components/MultilineTextfield.tsx","../src/components/ArrayElementRenderer.tsx","../src/createButtonActionRenderer.tsx","../src/createDefaultRenderers.tsx","../src/tailwind.tsx"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport {\n coerceToString,\n CustomDisplay,\n DisplayDataType,\n DisplayRendererProps,\n DisplayRendererRegistration,\n FormRenderer,\n getOverrideClass,\n HtmlDisplay,\n IconDisplay,\n rendererClass,\n TextDisplay,\n} from \"@react-typed-forms/schemas\";\n\nexport interface DefaultDisplayRendererOptions {\n textClassName?: string;\n textTextClass?: string;\n htmlClassName?: string;\n}\n\nexport function createDefaultDisplayRenderer(\n options: DefaultDisplayRendererOptions = {},\n): DisplayRendererRegistration {\n return {\n render: (props, renderer) => (\n <DefaultDisplay\n options={options}\n displayProps={props}\n renderer={renderer}\n />\n ),\n type: \"display\",\n };\n}\n\nexport function DefaultDisplay({\n renderer,\n options,\n displayProps,\n}: {\n displayProps: DisplayRendererProps;\n options: DefaultDisplayRendererOptions;\n renderer: FormRenderer;\n}) {\n const { data, display, className, textClass, style } = displayProps;\n const { I, Div, B, H1, Span } = renderer.html;\n switch (data.type) {\n case DisplayDataType.Icon:\n const iconDisplay = data as IconDisplay;\n return (\n <I\n style={style}\n className={clsx(\n getOverrideClass(className),\n display ? display.value : iconDisplay.iconClass,\n )}\n iconName={display ? display.value : iconDisplay.icon?.name}\n iconLibrary={iconDisplay.icon?.library}\n />\n );\n case DisplayDataType.Text:\n const text = display\n ? coerceToString(display.value)\n : (data as TextDisplay).text;\n return (\n <Div\n style={style}\n className={rendererClass(className, options.textClassName)}\n textClass={rendererClass(textClass, options.textTextClass)}\n text={text}\n inline={displayProps.inline}\n />\n );\n case DisplayDataType.Html:\n return (\n <Div\n style={style}\n className={rendererClass(className, options.htmlClassName)}\n inline={displayProps.inline}\n html={\n display ? coerceToString(display.value) : (data as HtmlDisplay).html\n }\n />\n );\n case DisplayDataType.Custom:\n return (\n <Div>\n <B>({(data as CustomDisplay).customId})</B>\n </Div>\n );\n default:\n return <H1>Unknown display type: {data.type}</H1>;\n }\n}\n","import React from \"react\";\nimport {\n Control,\n formControlProps,\n useControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\nimport { FieldType, FormRenderer } from \"@react-typed-forms/schemas\";\n\nexport interface ControlInputProps {\n className?: string;\n textClass?: string;\n style?: React.CSSProperties;\n id?: string;\n readOnly?: boolean;\n placeholder?: string;\n control: Control<any>;\n convert: InputConversion;\n renderer: FormRenderer;\n}\nexport function ControlInput({\n control,\n convert,\n renderer,\n ...props\n}: ControlInputProps) {\n const { errorText, value, onChange, ref, ...inputProps } =\n formControlProps(control);\n const textValue = useControl(() => toText(value));\n useControlEffect(\n () => control.value,\n (v) => (textValue.value = toText(v)),\n );\n const { Input } = renderer.html;\n return (\n <Input\n {...inputProps}\n inputRef={ref}\n type={convert[0]}\n value={textValue.value}\n onChangeValue={(e) => {\n textValue.value = e;\n const converted = convert[1](e);\n if (converted !== undefined) control.value = converted;\n }}\n {...props}\n />\n );\n\n function toText(value: any) {\n return value == null ? \"\" : convert[2](value);\n }\n}\n\ntype InputConversion = [\n string,\n (s: string) => any,\n (a: any) => string | number,\n];\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 [\n \"text\",\n (a) => (a === \"true\" ? true : a === \"false\" ? false : undefined),\n (a) => a?.toString() ?? \"\",\n ];\n case FieldType.Int:\n return [\n \"number\",\n (a) => (a !== \"\" ? parseInt(a) : null),\n (a) => (a == null ? \"\" : a),\n ];\n case FieldType.DateTime:\n return [\"datetime-local\", (a) => (!a ? null : a), (a) => a];\n case FieldType.Date:\n return [\"date\", (a) => (!a ? null : a), (a) => a];\n case FieldType.Time:\n return [\n \"time\",\n (a) => {\n const l = a.length;\n if (l === 5) return a + \":00\";\n if (l === 8) return a;\n return undefined;\n },\n (a) => (a ? a.substring(0, 5) : \"\"),\n ];\n case FieldType.Double:\n return [\n \"number\",\n (a) => (a !== \"\" ? parseFloat(a) : null),\n (a) => (a == null ? \"\" : a),\n ];\n default:\n return [\"text\", (a) => a, (a) => a];\n }\n}\n","import { Control } from \"@react-typed-forms/core\";\nimport React, { useMemo, useState } from \"react\";\nimport {\n createDataRenderer,\n FieldOption,\n FieldType,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\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 const optionGroups = useMemo(\n () => new Set(options.filter((x) => x.group).map((x) => x.group!)),\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 {[...optionGroups.keys()].map((x) => (\n <optgroup key={x} label={x}>\n {options.filter((o) => o.group === x).map(renderOption)}\n </optgroup>\n ))}\n {options.filter((x) => !x.group).map(renderOption)}\n </select>\n );\n\n function renderOption(x: FieldOption, i: number) {\n return (\n <option key={i} value={convert(x.value)} disabled={!!x.disabled}>\n {x.name}\n </option>\n );\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 {\n Control,\n formControlProps,\n RenderArrayElements,\n useComputed,\n useControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\nimport React, { ReactNode, useEffect } from \"react\";\nimport {\n CheckEntryClasses,\n ControlLayoutProps,\n createDataRenderer,\n DataRendererProps,\n DataRenderType,\n ElementSelectedRenderOptions,\n FieldOption,\n fieldOptionAdornment,\n FormRenderer,\n HtmlInputProperties,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\nimport clsx from \"clsx\";\n\nexport interface CheckRendererOptions {\n className?: string;\n entryClass?: string;\n checkClass?: string;\n labelClass?: string;\n entryWrapperClass?: string;\n selectedClass?: string;\n notSelectedClass?: string;\n}\nexport function createRadioRenderer(options: CheckRendererOptions = {}) {\n return createDataRenderer(\n (p, renderer) => (\n <CheckButtons\n classes={options}\n controlClasses={p.renderOptions as CheckEntryClasses}\n {...p}\n className={rendererClass(p.className, options.className)}\n isChecked={(control, o) => control.value == o.value}\n setChecked={(c, o) => {\n c.setTouched(true);\n c.value = o.value;\n }}\n control={p.control}\n type=\"radio\"\n entryAdornment={fieldOptionAdornment(p)}\n renderer={renderer}\n />\n ),\n {\n renderType: DataRenderType.Radio,\n },\n );\n}\n\nexport function createCheckListRenderer(options: CheckRendererOptions = {}) {\n return createDataRenderer(\n (p, renderer) => (\n <CheckButtons\n classes={options}\n controlClasses={p.renderOptions as CheckEntryClasses}\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.setTouched(true);\n c.setValue((x) => setIncluded(x ?? [], o.value, checked));\n }}\n control={p.control}\n type=\"checkbox\"\n entryAdornment={fieldOptionAdornment(p)}\n renderer={renderer}\n />\n ),\n {\n collection: true,\n renderType: DataRenderType.CheckList,\n },\n );\n}\n\nexport interface CheckButtonsProps {\n id?: string;\n className?: string;\n options?: FieldOption[] | null;\n control: Control<any>;\n classes: CheckRendererOptions;\n controlClasses?: CheckEntryClasses;\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 entryAdornment?: (c: FieldOption, i: number, selected: boolean) => ReactNode;\n}\n\nexport function CheckButtons({\n control,\n options,\n readonly,\n className,\n id,\n type,\n isChecked,\n setChecked,\n entryAdornment,\n classes,\n controlClasses = {},\n renderer,\n}: CheckButtonsProps & { renderer: FormRenderer }) {\n const { Button, Input, Label, Div } = renderer.html;\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 const selOrUnsel = checked\n ? rendererClass(\n controlClasses?.selectedClass,\n classes.selectedClass,\n )\n : rendererClass(\n controlClasses?.notSelectedClass,\n classes.notSelectedClass,\n );\n return (\n <Button\n className={clsx(\n rendererClass(\n controlClasses?.entryWrapperClass,\n classes.entryWrapperClass,\n ),\n selOrUnsel,\n )}\n onClick={() => !readonly && setChecked(control, o, !checked)}\n >\n <Div className={classes.entryClass}>\n <Input\n id={name + \"_\" + i}\n className={classes.checkClass}\n type={type}\n name={name}\n readOnly={readonly}\n disabled={disabled}\n checked={checked}\n onChangeChecked={(x) => {\n !readonly && setChecked(control, o, x);\n }}\n />\n <Label className={classes.labelClass} htmlFor={name + \"_\" + i}>\n {o.name}\n </Label>\n </Div>\n {entryAdornment?.(o, i, checked)}\n </Button>\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 <CheckBox p={p} renderer={renderer} options={options} props={props} />\n ),\n }),\n { renderType: DataRenderType.Checkbox },\n );\n}\n\nexport function createElementSelectedRenderer(\n options: CheckRendererOptions = {},\n) {\n return createDataRenderer(\n (props, renderer) => (p) => ({\n ...p,\n label: undefined,\n children: (\n <CheckBoxSelected\n p={p}\n renderer={renderer}\n options={options}\n props={props}\n />\n ),\n }),\n {\n renderType: DataRenderType.ElementSelected,\n },\n );\n}\n\nfunction CheckBoxSelected({\n p,\n props,\n renderer,\n options,\n}: {\n p: ControlLayoutProps;\n props: DataRendererProps;\n renderer: FormRenderer;\n options: CheckRendererOptions;\n}) {\n const { Div } = renderer.html;\n const elementValue = useControl();\n useEffect(() => {\n props.runExpression(\n elementValue,\n (props.renderOptions as ElementSelectedRenderOptions).elementExpression,\n (v) => (elementValue.value = v as any),\n );\n });\n const isSelected = useComputed(\n () =>\n props.control\n .as<any[] | undefined>()\n .value?.includes(elementValue.current.value) ?? false,\n );\n const selControl = useControl(() => isSelected.current.value);\n selControl.value = isSelected.value;\n useControlEffect(\n () => selControl.value,\n (v) => {\n props.control\n .as<any[] | undefined>()\n .setValue((x) => setIncluded(x ?? [], elementValue.value, v));\n },\n );\n return (\n <Div className={rendererClass(props.className, options.entryClass)}>\n <Fcheckbox\n id={props.id}\n control={selControl}\n style={props.style}\n className={options.checkClass}\n renderer={renderer}\n />\n {p.label && renderer.renderLabel(p.label, undefined, undefined)}\n </Div>\n );\n}\n\nfunction CheckBox({\n p,\n props,\n renderer,\n options,\n}: {\n p: ControlLayoutProps;\n props: DataRendererProps;\n renderer: FormRenderer;\n options: CheckRendererOptions;\n}) {\n const { Div } = renderer.html;\n return (\n <Div className={rendererClass(props.className, options.entryClass)}>\n <Fcheckbox\n id={props.id}\n control={props.control.as()}\n style={props.style}\n className={options.checkClass}\n renderer={renderer}\n />\n {p.label && renderer.renderLabel(p.label, undefined, undefined)}\n </Div>\n );\n}\n\nexport function Fcheckbox({\n control,\n type = \"checkbox\",\n notValue = false,\n renderer,\n ...others\n}: HtmlInputProperties & {\n control: Control<boolean | null | undefined>;\n renderer: FormRenderer;\n notValue?: boolean;\n}) {\n const { Input } = renderer.html;\n const { value, onChange, errorText, ref, ...theseProps } =\n formControlProps(control);\n return (\n <Input\n {...theseProps}\n checked={!!value !== notValue}\n inputRef={(r) => (control.element = r)}\n onChangeChecked={(e) => {\n control.touched = true;\n control.value = e !== notValue;\n }}\n type={type}\n {...others}\n />\n );\n}\n","import {\n createLayoutRenderer,\n FormRenderer,\n RenderedLayout,\n rendererClass,\n renderLayoutParts,\n} from \"@react-typed-forms/schemas\";\nimport React, { ReactNode, Fragment } from \"react\";\n\nexport interface DefaultLayoutRendererOptions {\n className?: string;\n errorClass?: string;\n renderError?: (errorText: string | null | undefined) => ReactNode;\n}\n\nexport function createDefaultLayoutRenderer(\n options: DefaultLayoutRendererOptions = {},\n) {\n return createLayoutRenderer((props, renderers) => {\n const layout = renderLayoutParts(props, renderers);\n return {\n children: layout.wrapLayout(\n <DefaultLayout layout={layout} {...options} renderer={renderers} />,\n ),\n inline: layout.inline,\n className: rendererClass(layout.className, options.className),\n style: layout.style,\n divRef: (e) =>\n e && props.errorControl\n ? (props.errorControl.meta.scrollElement = e)\n : undefined,\n };\n });\n}\n\nexport function DefaultLayout({\n errorClass,\n renderer: {\n html: { Div, Span },\n },\n renderError = (e) =>\n e && (\n <Div>\n <Span className={errorClass}>{e}</Span>\n </Div>\n ),\n layout: { controlEnd, controlStart, label, children, errorControl },\n}: DefaultLayoutRendererOptions & {\n layout: RenderedLayout;\n renderer: FormRenderer;\n}) {\n const ec = errorControl;\n const errorText = ec && ec.touched ? ec.error : undefined;\n return (\n <>\n {label}\n {controlStart}\n {children}\n {renderError(errorText)}\n {controlEnd}\n </>\n );\n}\n","import React from \"react\";\nimport {\n ControlState,\n FormRenderer,\n SchemaDataNode,\n SchemaInterface,\n} from \"@react-typed-forms/schemas\";\n\nexport function DefaultDisplayOnly({\n dataNode,\n className,\n emptyText,\n schemaInterface,\n style,\n renderer,\n textClass,\n inline,\n state,\n}: {\n dataNode: SchemaDataNode;\n schemaInterface: SchemaInterface;\n className?: string;\n textClass?: string;\n style?: React.CSSProperties;\n inline: boolean;\n renderer: FormRenderer;\n emptyText?: string | null;\n state: ControlState;\n}) {\n const text =\n state.display != null\n ? state.display\n : ((schemaInterface.isEmptyValue(\n dataNode.schema.field,\n dataNode.control.value,\n )\n ? emptyText\n : schemaInterface.textValueForData(dataNode)) ?? \"\");\n const { Div } = renderer.html;\n return (\n <Div\n style={style}\n className={className}\n textClass={textClass}\n text={text}\n inline={inline}\n />\n );\n}\n","import React, { CSSProperties, ReactElement, Fragment } from \"react\";\nimport { Control, useControl } from \"@react-typed-forms/core\";\nimport clsx from \"clsx\";\nimport { DefaultAccordionRendererOptions } from \"../createDefaultRenderers\";\nimport {\n AccordionAdornment,\n ControlDataContext,\n FormRenderer,\n} from \"@react-typed-forms/schemas\";\n\nexport function DefaultAccordion({\n children,\n accordion,\n contentStyle,\n contentClassName,\n designMode,\n iconOpen,\n iconClosed,\n className,\n renderTitle = (t) => t,\n renderToggler,\n renderers,\n titleClass,\n useCss,\n dataContext,\n}: {\n children: ReactElement;\n accordion: Partial<AccordionAdornment>;\n contentStyle?: CSSProperties;\n contentClassName?: string;\n designMode?: boolean;\n renderers: FormRenderer;\n dataContext: ControlDataContext;\n} & DefaultAccordionRendererOptions) {\n const { Button, I, Div, Label } = renderers.html;\n const dataControl = (dataContext.dataNode ?? dataContext.parentNode).control;\n const open = useControl(!!accordion.defaultExpanded);\n if (dataControl && !dataControl.meta.accordionState) {\n dataControl.meta.accordionState = open;\n }\n const isOpen = open.value;\n const fullContentStyle =\n isOpen || designMode ? contentStyle : { ...contentStyle, display: \"none\" };\n const title = renderers.renderLabelText(renderTitle(accordion.title, open));\n const currentIcon = isOpen ? iconOpen : iconClosed;\n const toggler = renderToggler ? (\n renderToggler(open, title)\n ) : (\n <Button className={className} onClick={() => open.setValue((x) => !x)}>\n <Label className={titleClass}>{title}</Label>\n {currentIcon && (\n <I iconLibrary={currentIcon.library} iconName={currentIcon.name} />\n )}\n </Button>\n );\n\n return (\n <>\n {toggler}\n {(useCss || isOpen || designMode) && (\n <Div style={fullContentStyle} className={contentClassName}>\n {children}\n </Div>\n )}\n </>\n );\n}\n\nexport function getAccordionState(\n c: Control<unknown>,\n): Control<boolean> | undefined {\n return c.meta.accordionState;\n}\n","import {\n ControlDataContext,\n FormNode,\n ParentRendererProps,\n} from \"@react-typed-forms/schemas\";\nimport { ReactNode } from \"react\";\n\ninterface VisibleChildrenRendererProps<A> {\n parent: ParentRendererProps;\n parentFormNode: FormNode;\n dataContext: ControlDataContext;\n props: A;\n render: (\n props: A,\n isChildVisible: (childIndex: number) => boolean,\n ) => ReactNode;\n}\n\n/**\n * @trackControls\n */\nexport function VisibleChildrenRenderer<A>(\n props: VisibleChildrenRendererProps<A>,\n) {\n const childStates = props.parentFormNode\n .getChildNodes()\n .map((x) => props.parent.getChildState(x));\n return props.render(props.props, (i) => !childStates[i].hidden);\n}\n","import {\n createGroupRenderer,\n FormNode,\n GroupRendererProps,\n GroupRenderType,\n rendererClass,\n TabsRenderOptions,\n} from \"@react-typed-forms/schemas\";\nimport React, { Fragment } from \"react\";\nimport clsx from \"clsx\";\nimport { VisibleChildrenRenderer } from \"./VisibleChildrenRenderer\";\n\nexport interface DefaultTabsRenderOptions {\n className?: string;\n tabListClass?: string;\n tabClass?: string;\n labelClass?: string;\n activeClass?: string;\n inactiveClass?: string;\n contentClass?: string;\n}\n\nexport function createTabsRenderer(options: DefaultTabsRenderOptions = {}) {\n return createGroupRenderer(\n (p, renderer) => {\n return (\n <VisibleChildrenRenderer\n render={renderAllTabs}\n dataContext={p.dataContext}\n parentFormNode={p.formNode}\n parent={p}\n props={{\n groupProps: p,\n tabOptions: p.renderOptions as TabsRenderOptions,\n options: options,\n }}\n />\n );\n },\n {\n renderType: GroupRenderType.Tabs,\n },\n );\n\n function renderAllTabs(\n {\n options,\n groupProps: { designMode, formNode, className, renderChild, state },\n tabOptions,\n }: {\n options: DefaultTabsRenderOptions;\n groupProps: GroupRendererProps;\n tabOptions: TabsRenderOptions;\n },\n isVisible: (i: number) => boolean,\n ) {\n const tabIndex = state.meta.fields.tabIndex.as<number | undefined>();\n const {\n tabClass,\n labelClass,\n tabListClass,\n inactiveClass,\n activeClass,\n contentClass,\n } = options;\n const currentTab = tabIndex.value ?? 0;\n return designMode ? (\n <>{formNode.getChildNodes().map((x, i) => renderTabs([x], i))}</>\n ) : (\n renderTabs(\n formNode.getChildNodes().filter((x, i) => isVisible(i)),\n 0,\n )\n );\n\n function renderTabs(tabs: FormNode[], key: number) {\n return (\n <div key={key} className={rendererClass(className, options.className)}>\n <ul className={rendererClass(null, tabListClass)}>\n {tabs.map((x, i) => (\n <li\n key={i}\n className={rendererClass(null, tabClass)}\n onClick={() => (tabIndex.value = i)}\n >\n <span\n className={rendererClass(\n null,\n clsx(\n labelClass,\n i == currentTab ? activeClass : inactiveClass,\n ),\n )}\n >\n {x.definition.title ? x.definition.title : \"<untitled>\"}\n </span>\n </li>\n ))}\n </ul>\n <div className={rendererClass(tabOptions.contentClass, contentClass)}>\n {renderChild(currentTab, tabs[currentTab])}\n </div>\n </div>\n );\n }\n }\n}\n","import {\n createGroupRenderer,\n FormRenderer,\n GridRenderer,\n GroupRendererProps,\n GroupRenderType,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\nimport { VisibleChildrenRenderer } from \"./VisibleChildrenRenderer\";\nimport { ReactNode } from \"react\";\n\nexport interface DefaultGridRenderOptions {\n className?: string;\n defaultColumns?: number;\n rowClass?: string;\n}\n\nexport function createGridRenderer(options?: DefaultGridRenderOptions) {\n return createGroupRenderer(\n (props, formRenderer) => (\n <VisibleChildrenRenderer\n props={{ ...props, formRenderer, defaultOptions: options }}\n render={renderGrid}\n parent={props}\n dataContext={props.dataContext}\n parentFormNode={props.formNode}\n />\n ),\n {\n renderType: GroupRenderType.Grid,\n },\n );\n\n function renderGrid(\n props: GroupRendererProps & {\n formRenderer: FormRenderer;\n defaultOptions?: DefaultGridRenderOptions;\n },\n isChildVisible: (i: number) => boolean,\n ) {\n const filteredChildren = props.formNode\n .getChildNodes()\n .filter((x, i) => isChildVisible(i));\n const { Div } = props.formRenderer.html;\n const defaults = props.defaultOptions ?? {};\n const gridOptions = props.renderOptions as GridRenderer;\n const numColumns = gridOptions.columns ?? defaults.defaultColumns ?? 2;\n const allChildren = filteredChildren.map((x, i) => props.renderChild(i, x));\n\n // split into numColumns items wrapped a div each\n const rows: ReactNode[][] = [];\n for (let i = 0; i < allChildren.length; i += numColumns) {\n rows.push(allChildren.slice(i, i + numColumns));\n }\n return (\n <Div className={rendererClass(props.className, defaults.className)}>\n {rows.map((row, rowIndex) => (\n <Div\n key={rowIndex}\n className={rendererClass(gridOptions.rowClass, defaults.rowClass)}\n >\n {row}\n </Div>\n ))}\n </Div>\n );\n }\n}\n","import {\n ActionRendererProps,\n createAction,\n createGroupRenderer,\n deepMerge,\n fontAwesomeIcon,\n FormRenderer,\n GroupRendererProps,\n GroupRenderType,\n IconPlacement,\n IconReference,\n rendererClass,\n validationVisitor,\n visitFormDataInContext,\n} from \"@react-typed-forms/schemas\";\nimport { VisibleChildrenRenderer } from \"./VisibleChildrenRenderer\";\nimport { useComputed, useControl } from \"@react-typed-forms/core\";\nimport { Fragment, ReactNode } from \"react\";\n\nexport interface CustomNavigationProps {\n className?: string;\n page: number;\n totalPages: number;\n next: ActionRendererProps;\n prev: ActionRendererProps;\n formRenderer: FormRenderer;\n validatePage: () => Promise<boolean>;\n}\n\nexport interface DefaultWizardRenderOptions {\n classes?: {\n className?: string;\n navContainerClass?: string;\n contentClass?: string;\n };\n actions?: {\n nextText?: string;\n nextIcon?: IconReference;\n nextValidate?: boolean;\n prevText?: string;\n prevIcon?: IconReference;\n prevValidate?: boolean;\n };\n renderNavigation?: (props: CustomNavigationProps) => ReactNode;\n}\n\nconst defaultOptions = {\n classes: {\n className: undefined,\n contentClass: \"min-h-96 overflow-auto\",\n navContainerClass: \"flex justify-between gap-4 my-2\",\n },\n actions: {\n nextText: \"Next\",\n nextIcon: fontAwesomeIcon(\"chevron-right\"),\n nextValidate: true,\n prevText: \"Prev\",\n prevIcon: fontAwesomeIcon(\"chevron-left\"),\n prevValidate: false,\n },\n renderNavigation: defaultNavigationRender,\n} satisfies DefaultWizardRenderOptions;\n\nfunction defaultNavigationRender({\n formRenderer,\n prev,\n next,\n className,\n}: CustomNavigationProps) {\n {\n const {\n html: { Div },\n renderAction,\n } = formRenderer;\n return (\n <Div className={className}>\n {renderAction(prev)}\n {renderAction(next)}\n </Div>\n );\n }\n}\n\nexport function createWizardRenderer(options?: DefaultWizardRenderOptions) {\n return createGroupRenderer(\n (props, formRenderer) => (\n <VisibleChildrenRenderer\n props={{ ...props, formRenderer, defaultOptions: options }}\n render={renderWizard}\n parent={props}\n dataContext={props.dataContext}\n parentFormNode={props.formNode}\n />\n ),\n {\n renderType: GroupRenderType.Wizard,\n },\n );\n}\n\nfunction renderWizard(\n props: GroupRendererProps & {\n formRenderer: FormRenderer;\n defaultOptions?: DefaultWizardRenderOptions;\n },\n isChildVisible: (i: number) => boolean,\n) {\n const mergedOptions = deepMerge(\n (props.defaultOptions ?? {}) as typeof defaultOptions,\n defaultOptions,\n );\n const {\n classes: { className, contentClass, navContainerClass },\n actions: {\n nextText,\n nextIcon,\n prevText,\n prevIcon,\n nextValidate,\n prevValidate,\n },\n renderNavigation,\n } = mergedOptions;\n const {\n html: { Div },\n } = props.formRenderer;\n const children = props.formNode.getChildNodes();\n const allVisible = children.map((_, i) => isChildVisible(i));\n const page = useControl(0);\n const currentPage = page.value;\n const isValid = useComputed(() => isPageValid());\n\n const next = createAction(\"nav\", () => nav(1, nextValidate), nextText, {\n hidden: !props.designMode && nextVisibleInDirection(1) == null,\n disabled: !isValid.value,\n icon: nextIcon,\n iconPlacement: IconPlacement.AfterText,\n });\n\n const prev = createAction(\"nav\", () => nav(-1, prevValidate), prevText, {\n disabled: !props.designMode && nextVisibleInDirection(-1) == null,\n icon: prevIcon,\n });\n const navElement = renderNavigation({\n formRenderer: props.formRenderer,\n page: countVisibleUntil(currentPage),\n totalPages: countVisibleUntil(children.length),\n prev,\n next: next,\n className: navContainerClass,\n validatePage: async () => validatePage(),\n });\n const content = props.designMode ? (\n <Div>{children.map((child, i) => props.renderChild(i, child))}</Div>\n ) : currentPage < children.length ? (\n <Div className={contentClass}>\n {props.renderChild(currentPage, children[currentPage])}\n </Div>\n ) : (\n <Fragment />\n );\n\n return (\n <Div className={rendererClass(props.className, className)}>\n {content}\n {navElement}\n </Div>\n );\n\n function countVisibleUntil(untilPage: number) {\n let count = 0;\n for (let i = 0; i < untilPage && i < allVisible.length; i++) {\n if (allVisible[i]) {\n count++;\n }\n }\n return count;\n }\n\n function nav(dir: number, validate: boolean) {\n if (validate && !validatePage()) {\n return;\n }\n const next = nextVisibleInDirection(dir);\n if (next != null) {\n page.value = next;\n }\n }\n\n function nextVisibleInDirection(dir: number): number | null {\n let next = currentPage + dir;\n while (next >= 0 && next < children.length) {\n if (allVisible[next]) {\n return next;\n }\n next += dir;\n }\n return null;\n }\n\n function validatePage() {\n const pageNode = children[currentPage];\n let hasErrors = false;\n visitFormDataInContext(\n props.dataContext.parentNode,\n pageNode,\n validationVisitor(() => {\n hasErrors = true;\n }),\n );\n return !hasErrors;\n }\n\n function isPageValid() {\n const pageNode = children[currentPage];\n let hasErrors = false;\n visitFormDataInContext(props.dataContext.parentNode, pageNode, (c) => {\n if (!c.control.valid) hasErrors = true;\n });\n return !hasErrors;\n }\n}\n","import {\n ActionStyle,\n ControlActionHandler,\n createAction,\n createGroupRenderer,\n deepMerge,\n DialogRenderOptions,\n FormRenderer,\n GroupRendererProps,\n GroupRenderType,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\nimport { createOverlayState, Dialog, Modal } from \"@astroapps/aria-base\";\nimport { useControl } from \"@react-typed-forms/core\";\nimport { Fragment } from \"react\";\n\nexport interface DefaultDialogRenderOptions {\n classes?: {\n className?: string;\n titleClass?: string;\n containerClass?: string;\n };\n}\n\nexport const defaultDialogOptions = {\n classes: {\n className: \"\",\n titleClass: \"text-2xl font-bold\",\n containerClass:\n \"relative m-4 p-4 min-w-[400px] max-w-[80%] rounded-lg bg-white shadow-sm\",\n },\n} satisfies DefaultDialogRenderOptions;\n\nexport function createDialogRenderer(options?: DefaultDialogRenderOptions) {\n return createGroupRenderer(\n (props, renderer) => (\n <DefaultDialogRenderer\n props={props}\n options={options}\n renderer={renderer}\n renderOptions={props.renderOptions as DialogRenderOptions}\n />\n ),\n {\n renderType: GroupRenderType.Dialog,\n },\n );\n}\n\nexport function DefaultDialogRenderer({\n props,\n renderOptions,\n options,\n renderer,\n}: {\n props: GroupRendererProps;\n options?: DefaultDialogRenderOptions;\n renderOptions: DialogRenderOptions;\n renderer: FormRenderer;\n}) {\n const {\n classes: { titleClass, className, containerClass },\n } = deepMerge(options as typeof defaultDialogOptions, defaultDialogOptions);\n const open = useControl(false);\n const overlayState = createOverlayState(open);\n\n const actionOnClick: ControlActionHandler = (action) => {\n switch (action) {\n case \"closeDialog\":\n return () => overlayState.close();\n case \"openDialog\":\n return () => overlayState.open();\n }\n };\n\n const triggerChildren = props.formNode\n .getChildNodes()\n .filter((x) => x.definition.placement === \"trigger\");\n const dialogContent = (\n <Dialog\n title={renderOptions.title}\n titleClass={titleClass}\n className={rendererClass(props.className, className)}\n >\n {props.formNode\n .getChildNodes()\n .filter(\n (x) => !x.definition.placement || x.definition.placement === \"dialog\",\n )\n .map((x, i) => props.renderChild(i, x, { actionOnClick }))}\n </Dialog>\n );\n\n return (\n <>\n {triggerChildren.map((x, i) =>\n props.renderChild(i, x, { actionOnClick }),\n )}\n {props.designMode\n ? designContent()\n : open.value && (\n <Modal\n state={overlayState}\n isDismissable\n containerClass={containerClass}\n >\n {dialogContent}\n </Modal>\n )}\n </>\n );\n\n function designContent() {\n return (\n <>\n <div onClickCapture={() => overlayState.toggle()}>\n {renderer.renderAction(\n createAction(\n \"Toggle Dialog\",\n () => {},\n open.value ? \"Hide Content\" : \"Show Content\",\n { actionStyle: ActionStyle.Link },\n ),\n )}\n </div>\n {open.value && dialogContent}\n </>\n );\n }\n}\n","import {\n ControlLayoutProps,\n FlexRenderer,\n FormRenderer,\n GroupRendererProps,\n GroupRendererRegistration,\n GroupRenderType,\n isDialogRenderer,\n isFlexRenderer,\n isGridRenderer,\n isInlineRenderer,\n isSelectChildRenderer,\n isTabsRenderer,\n isWizardRenderer,\n rendererClass,\n SelectChildRenderer,\n useExpression,\n} from \"@react-typed-forms/schemas\";\nimport clsx from \"clsx\";\nimport React, { CSSProperties, ReactElement } from \"react\";\nimport { createTabsRenderer, DefaultTabsRenderOptions } from \"./TabsRenderer\";\nimport { createGridRenderer, DefaultGridRenderOptions } from \"./GridRenderer\";\nimport {\n createWizardRenderer,\n DefaultWizardRenderOptions,\n} from \"./DefaultWizardRenderer\";\nimport {\n createDialogRenderer,\n DefaultDialogRenderOptions,\n} from \"./DefaultDialogRenderer\";\n\ninterface StyleProps {\n className?: string;\n style?: CSSProperties;\n}\n\nexport interface DefaultGroupRendererOptions {\n className?: string;\n standardClassName?: string;\n grid?: DefaultGridRenderOptions;\n flexClassName?: string;\n defaultFlexGap?: string;\n inlineClass?: string;\n tabs?: DefaultTabsRenderOptions;\n wizard?: DefaultWizardRenderOptions;\n dialog?: DefaultDialogRenderOptions;\n}\n\nexport function createDefaultGroupRenderer(\n options?: DefaultGroupRendererOptions,\n): GroupRendererRegistration {\n const gridRenderer = createGridRenderer(options?.grid);\n const tabsRenderer = createTabsRenderer(options?.tabs);\n const wizardRenderer = createWizardRenderer(options?.wizard);\n const dialogRenderer = createDialogRenderer(options?.dialog);\n const {\n className,\n standardClassName,\n flexClassName,\n inlineClass,\n defaultFlexGap,\n } = options ?? {};\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, renderer: FormRenderer) {\n const { renderChild, renderOptions, formNode } = props;\n if (isTabsRenderer(renderOptions))\n return tabsRenderer.render(props, renderer);\n if (isGridRenderer(renderOptions))\n return gridRenderer.render(props, renderer);\n if (isWizardRenderer(renderOptions))\n return wizardRenderer.render(props, renderer);\n if (isDialogRenderer(renderOptions))\n return dialogRenderer.render(props, renderer);\n if (isSelectChildRenderer(renderOptions) && !props.designMode) {\n return (\n <SelectChildGroupRenderer {...props} renderOptions={renderOptions} />\n );\n }\n\n const { style, className: gcn } = isFlexRenderer(renderOptions)\n ? flexStyles(renderOptions)\n : isInlineRenderer(renderOptions)\n ? ({ className: inlineClass } as StyleProps)\n : ({ className: standardClassName } as StyleProps);\n const { Div } = renderer.html;\n const inline = renderOptions.type == GroupRenderType.Inline;\n const children = formNode.getChildNodes().map((c, i) =>\n renderChild(i, c, {\n inline,\n }),\n );\n return (\n <Div\n className={rendererClass(props.className, clsx(className, gcn))}\n textClass={props.textClass}\n style={style}\n inline={inline}\n >\n {children}\n </Div>\n );\n }\n\n function renderLayout(\n props: GroupRendererProps,\n renderer: FormRenderer,\n ): ReactElement | ((layout: ControlLayoutProps) => ControlLayoutProps) {\n if (props.renderOptions.type === GroupRenderType.Contents) {\n const { formNode, renderChild } = props;\n const children = formNode\n .getChildNodes()\n .map((c, i) => renderChild(i, c));\n return (layout) => {\n return {\n ...layout,\n inline: true,\n children,\n };\n };\n }\n return render(props, renderer);\n }\n\n return { type: \"group\", render: renderLayout };\n}\n\ntype SelectChildProps = Pick<\n GroupRendererProps,\n \"runExpression\" | \"dataContext\" | \"formNode\" | \"renderChild\"\n> & {\n renderOptions: SelectChildRenderer;\n};\nfunction SelectChildGroupRenderer(props: SelectChildProps) {\n const { runExpression, renderOptions } = props;\n const ctrl = useExpression(\n undefined,\n runExpression,\n renderOptions?.childIndexExpression,\n (x) => (typeof x == \"string\" ? parseInt(x) : x),\n );\n const childIndex = ctrl?.value;\n const childDefinitions = props.formNode.getChildNodes();\n return (\n <div>\n {typeof childIndex === \"number\" &&\n childIndex < childDefinitions.length &&\n childIndex >= 0 &&\n props.renderChild(childIndex, childDefinitions[childIndex])}\n </div>\n );\n}\n","import {\n createVisibilityRenderer,\n VisibilityRendererProps,\n} from \"@react-typed-forms/schemas\";\nimport { FormRenderer } from \"@react-typed-forms/schemas/lib\";\nimport React, { Fragment, useEffect } from \"react\";\n\nexport function createDefaultVisibilityRenderer() {\n return createVisibilityRenderer((props, renderer) => (\n <DefaultVisibility {...props} renderer={renderer} />\n ));\n}\n\nexport function DefaultVisibility({\n visibility,\n children,\n className,\n style,\n divRef,\n renderer,\n inline,\n}: VisibilityRendererProps & { renderer: FormRenderer }) {\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 const { Div } = renderer.html;\n if (inline) return v?.visible ? children : undefined;\n return v?.visible ? (\n <Div\n className={className}\n style={style}\n nativeRef={divRef}\n children={children}\n />\n ) : (\n <></>\n );\n}\n","import {\n Control,\n delayedValue,\n trackedValue,\n useComputed,\n} from \"@react-typed-forms/core\";\nimport React from \"react\";\nimport {\n coerceToString,\n ControlDataContext,\n createDataRenderer,\n DataRenderType,\n ExpressionType,\n FormContextData,\n getJsonPath,\n JsonataExpression,\n JsonataRenderOptions,\n rendererClass,\n RunExpression,\n SchemaDataNode,\n useExpression,\n} from \"@react-typed-forms/schemas\";\n\nexport function createJsonataRenderer(className?: string) {\n return createDataRenderer(\n (p) => (\n <JsonataRenderer\n renderOptions={p.renderOptions as JsonataRenderOptions}\n className={rendererClass(p.className, className)}\n dataNode={p.dataNode}\n dataContext={p.dataContext}\n control={p.control}\n readonly={p.readonly}\n runExpression={p.runExpression}\n />\n ),\n { renderType: DataRenderType.Jsonata },\n );\n}\n\nexport function JsonataRenderer({\n control,\n renderOptions,\n readonly,\n className,\n dataContext,\n dataNode,\n runExpression,\n}: {\n control: Control<any>;\n renderOptions: JsonataRenderOptions;\n className?: string;\n dataContext: ControlDataContext;\n dataNode: SchemaDataNode;\n readonly: boolean;\n runExpression: RunExpression;\n}) {\n const sdn = dataNode.elementIndex != null ? dataNode : dataContext.parentNode;\n const bindings = useComputed<Record<string, any>>(() => ({\n ...dataContext.variables,\n value: control.value,\n readonly,\n disabled: control.disabled,\n dataPath: getJsonPath(dataNode),\n }));\n const rendered = useExpression(\n \"\",\n runExpression,\n {\n type: ExpressionType.Jsonata,\n expression: renderOptions.expression,\n } as JsonataExpression,\n coerceToString,\n bindings,\n );\n return (\n <div\n className={className}\n dangerouslySetInnerHTML={{ __html: rendered.value }}\n />\n );\n}\n","import {\n createDataRenderer,\n DataRenderType,\n FieldType,\n getLastDefinedValue,\n getNullToggler,\n} from \"@react-typed-forms/schemas\";\n\nexport function createNullToggleRenderer() {\n return createDataRenderer(\n ({ control, field, renderOptions, ...props }, renderers) => {\n const lastDefined = getLastDefinedValue(control);\n if (lastDefined.current.value == null)\n lastDefined.value = props.definition.defaultValue;\n const nullControl = getNullToggler(control);\n nullControl.disabled = props.readonly;\n return (layout) => {\n return renderers.renderData({\n ...props,\n control: nullControl,\n field: { ...field, type: FieldType.Bool },\n renderOptions: { type: DataRenderType.Checkbox },\n })(layout);\n };\n },\n );\n}\n","import clsx from \"clsx\";\nimport React, { Fragment, ReactNode } from \"react\";\nimport { RenderElements } from \"@react-typed-forms/core\";\nimport {\n ActionRendererProps,\n applyArrayLengthRestrictions,\n ArrayActionOptions,\n ArrayRendererProps,\n ArrayRendererRegistration,\n ArrayRenderOptions,\n ControlDataContext,\n ControlDefinitionType,\n createArrayActions,\n createDataRenderer,\n DataRendererProps,\n DataRendererRegistration,\n DataRenderType,\n FormNode,\n FormRenderer,\n getLengthRestrictions,\n GroupRenderType,\n HtmlComponents,\n isArrayRenderer,\n isCompoundField,\n mergeObjects,\n SchemaDataNode,\n} from \"@react-typed-forms/schemas\";\n\nexport function createDefaultArrayDataRenderer(\n defaultActions?: ArrayActionOptions,\n): DataRendererRegistration {\n return createDataRenderer(\n (props, renderers) => {\n return (\n <DataArrayRenderer\n dataProps={props}\n renderers={renderers}\n defaultActions={defaultActions}\n />\n );\n },\n { renderType: DataRenderType.Array, collection: true },\n );\n}\n\n/**\n * @trackControls\n */\nexport function DataArrayRenderer({\n dataProps,\n renderers,\n defaultActions,\n}: {\n renderers: FormRenderer;\n dataProps: DataRendererProps;\n defaultActions?: ArrayActionOptions;\n}) {\n const {\n renderOptions,\n control,\n field,\n readonly,\n designMode,\n required,\n renderChild,\n definition,\n className,\n style,\n dataContext,\n formNode,\n getChildState,\n } = dataProps;\n\n const { addText, noAdd, noRemove, noReorder, removeText, editExternal } =\n mergeObjects(\n isArrayRenderer(renderOptions)\n ? renderOptions\n : ({} as ArrayRenderOptions),\n defaultActions as ArrayRenderOptions,\n );\n\n const childDefs = formNode.getResolvedChildren();\n const renderAsElement = !isCompoundField(field);\n const defaultChildDef = {\n type: ControlDefinitionType.Data,\n field: \".\",\n renderOptions: { type: DataRenderType.Standard },\n hideTitle: true,\n };\n const childDef = {\n type: ControlDefinitionType.Group,\n groupOptions: { type: GroupRenderType.Standard, hideTitle: true },\n children:\n renderAsElement && childDefs.length == 0 ? [defaultChildDef] : childDefs,\n };\n const childNode: FormNode = formNode.createChildNode(\"child\", childDef);\n const childNodes = childNode.getChildNodes();\n\n const arrayProps = {\n ...createArrayActions(control.as(), field, {\n addText,\n removeText,\n noAdd,\n noRemove,\n readonly,\n disabled: control.disabled,\n designMode,\n editExternal,\n }),\n required,\n renderElement: (i, wrap) => (\n <RenderEntry\n index={i}\n renderChildElement={renderChildElement}\n dataContext={dataContext}\n wrap={wrap}\n isChildHidden={(dataNode) =>\n childNodes.every((x) => getChildState(x, dataNode).hidden)\n }\n />\n ),\n className: className ? className : undefined,\n style,\n ...getLengthRestrictions(definition),\n } satisfies ArrayRendererProps;\n\n return renderers.renderArray(arrayProps);\n\n function renderChildElement(i: number, elementNode: SchemaDataNode) {\n return renderChild(elementNode.control.uniqueId, childNode, {\n parentDataNode: elementNode,\n });\n }\n}\n\n/**\n * @trackControls\n */\nfunction RenderEntry({\n index: i,\n renderChildElement,\n wrap,\n isChildHidden,\n dataContext,\n}: {\n index: number;\n renderChildElement: (i: number, element: SchemaDataNode) => ReactNode;\n dataContext: ControlDataContext;\n wrap: (n: ReactNode) => ReactNode;\n isChildHidden: (dataNode: SchemaDataNode) => boolean;\n}) {\n const elementNode = dataContext.dataNode!.getChildElement(i);\n if (isChildHidden(elementNode)) return undefined;\n return wrap(renderChildElement(i, elementNode));\n}\n\nexport interface DefaultArrayRendererOptions extends ArrayActionOptions {\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, html }) => (\n <DefaultArrayRenderer\n {...props}\n {...options}\n renderAction={renderAction}\n html={html}\n />\n ),\n type: \"array\",\n };\n}\n\nexport interface DefaultArrayRendererProps\n extends DefaultArrayRendererOptions,\n ArrayRendererProps {\n renderAction: (props: ActionRendererProps) => ReactNode;\n html: HtmlComponents;\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 editAction,\n html: { Div },\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 renderElement(x, (children) =>\n removeAction || editAction ? (\n <>\n <Div className={clsx(childClass, removableChildClass)}>\n {children}\n </Div>\n <Div className={removeActionClass}>\n {editAction && renderAction(editAction(x))}\n {removeAction && renderAction(removeAction(x))}\n </Div>\n </>\n ) : (\n <Div className={childClass}>{children}</Div>\n ),\n )\n }\n </RenderElements>\n </Div>\n {addAction && (\n <Div className={addActionClass}>{renderAction(addAction)}</Div>\n )}\n </Div>\n );\n}\n","import React from \"react\";\nimport {\n Control,\n controlValues,\n removeElement,\n useControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\nimport {\n AutocompleteClasses,\n createDataRenderer,\n DataRenderType,\n FieldOption,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\nimport { useAutocomplete, UseAutocompleteProps } from \"@mui/base\";\nimport clsx from \"clsx\";\n\nexport interface AutocompleteRendererOptions {\n className?: string;\n listContainerClass?: string;\n listEntryClass?: string;\n chipContainerClass?: string;\n chipCloseButtonClass?: string;\n}\n\nexport interface AutocompleteProps<A, Multiple extends boolean>\n extends UseAutocompleteProps<A, Multiple, false, true> {\n control: Control<any>;\n className?: string;\n classes: AutocompleteRendererOptions;\n controlClasses?: AutocompleteClasses;\n}\n\nconst inputClass =\n \"leading-[1.5] text-surface-900 bg-[inherit] border-0 rounded-[inherit] px-3 py-2 outline-0 grow shrink-0 basis-auto focus:outline-0 focus:ring-0 focus:shadow-none\";\n\nexport function createAutocompleteRenderer(\n options: AutocompleteRendererOptions = {},\n) {\n return createDataRenderer(\n (p) => {\n return p.field.collection ? (\n <MultipleAutocomplete\n options={p.options ?? []}\n control={p.control}\n className={rendererClass(p.className, options.className)}\n classes={options}\n controlClasses={p.renderOptions as AutocompleteClasses}\n readOnly={p.readonly}\n id={p.id}\n />\n ) : (\n <SingleAutocomplete\n options={p.options ?? []}\n control={p.control}\n className={rendererClass(p.className, options.className)}\n classes={options}\n controlClasses={p.renderOptions as AutocompleteClasses}\n readOnly={p.readonly}\n id={p.id}\n />\n );\n },\n {\n renderType: DataRenderType.Autocomplete,\n },\n );\n}\n\nfunction SingleAutocomplete({\n ...props\n}: AutocompleteProps<FieldOption | string, false>) {\n const { id, control, className, readOnly, classes, controlClasses } = props;\n const { disabled } = control;\n\n const inputControl = useControl<string>(\"\");\n const selectedOptionControl = useControl<string | FieldOption | null>(null);\n\n const listContainerClass = rendererClass(\n controlClasses?.listContainerClass,\n classes.listContainerClass,\n );\n\n const listEntryClass = rendererClass(\n controlClasses?.listEntryClass,\n classes.listEntryClass,\n );\n\n useControlEffect(\n controlValues(inputControl, selectedOptionControl),\n ([text, selected]) => {\n control.value = selected\n ? typeof selected === \"string\"\n ? selected\n : selected.value\n : text;\n },\n );\n\n const {\n getRootProps,\n getInputProps,\n getListboxProps,\n getOptionProps,\n groupedOptions,\n popupOpen,\n focused,\n getPopupIndicatorProps,\n } = useAutocomplete({\n freeSolo: true,\n multiple: false,\n readOnly,\n value: selectedOptionControl.value,\n inputValue: inputControl.value,\n getOptionLabel: (v) => (typeof v === \"string\" ? v : v.name),\n filterOptions: (o, s) =>\n o.filter((o) => {\n const label = typeof o === \"string\" ? o : o.name;\n return label.toLowerCase().includes(s.inputValue.toLowerCase());\n }),\n onInputChange: (_, v, reason) => {\n inputControl.value = v;\n if (reason === \"input\") selectedOptionControl.value = null;\n },\n onChange: (_, v, reason) => {\n if (reason === \"selectOption\") {\n selectedOptionControl.value = v;\n }\n },\n ...props,\n });\n return (\n <div id={id} className={\"relative\"} {...getRootProps()}>\n <div\n className={clsx(\n className,\n focused\n ? \"border-primary-400 shadow-[0_0_0_3px_transparent] shadow-primary-200\"\n : \"shadow-[0_2px_2px_transparent] shadow-surface-50\",\n )}\n >\n <input\n type={\"text\"}\n {...getInputProps()}\n placeholder={controlClasses?.placeholder ?? \"\"}\n className={inputClass}\n readOnly={readOnly}\n />\n\n <button\n {...getPopupIndicatorProps()}\n disabled={disabled || readOnly}\n className={\n \"outline-0 shadow-none border-0 py-0 px-0.5 bg-transparent pr-[10px]\"\n }\n >\n <li\n className={clsx(\n \"fa-solid fa-angle-down\",\n \"text-primary-500\",\n popupOpen && \"rotate-180\",\n )}\n />\n </button>\n </div>\n {groupedOptions.length > 0 && popupOpen && (\n <ul {...getListboxProps()} className={listContainerClass}>\n {(groupedOptions as FieldOption[]).map((option, index) => {\n const optionProps = getOptionProps({ option, index });\n return (\n <li\n {...optionProps}\n key={optionProps.key}\n className={listEntryClass}\n >\n {option.name}\n </li>\n );\n })}\n </ul>\n )}\n </div>\n );\n}\n\nfunction MultipleAutocomplete({\n ...props\n}: AutocompleteProps<FieldOption, true>) {\n const { id, control, className, readOnly, classes, controlClasses } = props;\n const { disabled } = control;\n\n const inputControl = useControl<string>(\"\");\n const selectedOptionsControl = useControl<(string | FieldOption)[] | null>(\n null,\n );\n\n const listContainerClass = rendererClass(\n controlClasses?.listContainerClass,\n classes.listContainerClass,\n );\n const listEntryClass = rendererClass(\n controlClasses?.listEntryClass,\n classes.listEntryClass,\n );\n\n const chipContainerClass = rendererClass(\n controlClasses?.chipContainerClass,\n classes.chipContainerClass,\n );\n\n const chipCloseButtonClass = rendererClass(\n controlClasses?.chipCloseButtonClass,\n classes.chipCloseButtonClass,\n );\n\n useControlEffect(\n controlValues(inputControl, selectedOptionsControl),\n ([text, selected]) => {\n const selectedValues =\n selected?.map((v) => {\n return typeof v === \"string\" ? v : v.value;\n }) ?? [];\n control.value = text ? selectedValues.concat(text) : selectedValues;\n },\n );\n\n const {\n getRootProps,\n getInputProps,\n getListboxProps,\n getOptionProps,\n groupedOptions,\n popupOpen,\n focused,\n getPopupIndicatorProps,\n } = useAutocomplete({\n value: selectedOptionsControl.value ?? [],\n inputValue: inputControl.value,\n freeSolo: true,\n readOnly,\n multiple: true,\n getOptionLabel: (v) => (typeof v === \"string\" ? v : v.name),\n filterOptions: (o, s) =>\n o.filter((o) => {\n const label = typeof o === \"string\" ? o : o.name;\n return label.toLowerCase().includes(s.inputValue.toLowerCase());\n }),\n onInputChange: (_, v) => {\n inputControl.value = v;\n },\n onChange: (_, v, reason) => {\n if (reason === \"selectOption\" || reason === \"removeOption\") {\n selectedOptionsControl.value = v;\n }\n },\n ...props,\n });\n\n return (\n <div id={id} className={\"relative\"} {...getRootProps()}>\n <div\n className={clsx(\n className,\n focused\n ? \"border-primary-400 shadow-[0_0_0_3px_transparent] shadow-primary-200\"\n : \"shadow-[0_2px_2px_transparent] shadow-surface-50\",\n )}\n >\n <div className={\"flex flex-1 flex-row flex-wrap\"}>\n {selectedOptionsControl.value?.map((v) => (\n <Chip\n key={typeof v === \"string\" ? v : v.name}\n text={typeof v === \"string\" ? v : v.name}\n chipContainerClass={chipContainerClass}\n chipCloseButtonClass={chipCloseButtonClass}\n onDeleteClick={\n readOnly || disabled\n ? undefined\n : () => {\n const c = selectedOptionsControl.elements.find(\n (x) => x.value == v,\n );\n if (c) removeElement(selectedOptionsControl, c);\n }\n }\n />\n ))}\n <input\n type={\"text\"}\n {...getInputProps()}\n placeholder={controlClasses?.placeholder ?? \"\"}\n className={clsx(inputClass)}\n readOnly={readOnly}\n />\n </div>\n\n <button\n {...getPopupIndicatorProps()}\n disabled={disabled || readOnly}\n className={\n \"outline-0 shadow-none border-0 py-0 px-0.5 bg-transparent pr-[10px]\"\n }\n >\n <i\n className={clsx(\n \"fa-solid fa-angle-down\",\n \"text-primary-500\",\n popupOpen && \"rotate-180\",\n )}\n />\n </button>\n </div>\n {groupedOptions.length > 0 && popupOpen && (\n <ul {...getListboxProps()} className={listContainerClass}>\n {(groupedOptions as FieldOption[]).map((option, index) => {\n const optionProps = getOptionProps({ option, index });\n return (\n <li\n {...optionProps}\n key={optionProps.key}\n className={listEntryClass}\n >\n {option.name}\n </li>\n );\n })}\n </ul>\n )}\n </div>\n );\n}\n\nfunction Chip({\n text,\n chipContainerClass,\n chipCloseButtonClass,\n onDeleteClick,\n}: {\n text: string;\n chipContainerClass?: string;\n chipCloseButtonClass?: string;\n onDeleteClick?: () => void;\n}) {\n return (\n <div className={chipContainerClass}>\n {text}\n <i\n className={chipCloseButtonClass}\n onClick={() => {\n onDeleteClick?.();\n }}\n />\n </div>\n );\n}\n","import {\n Control,\n setFields,\n trackedValue,\n useControl,\n} from \"@react-typed-forms/core\";\nimport {\n boolField,\n buildSchema,\n ControlDefinitionExtension,\n createDataRenderer,\n DataControlDefinition,\n defaultControlForField,\n FormRenderer,\n makeSchemaDataNode,\n RenderOptions,\n schemaDataForFieldRef,\n SchemaField,\n schemaForFieldRef,\n SchemaNode,\n stringField,\n useControlRendererComponent,\n} from \"@react-typed-forms/schemas\";\nimport React, { Fragment, useMemo } from \"react\";\nimport { createSchemaTree } from \"@react-typed-forms/schemas\";\n\nexport interface ValueForFieldRenderOptions extends RenderOptions {\n type: \"ValueForField\";\n fieldRef?: string | null;\n noOptions?: boolean;\n refIsDirect?: boolean;\n}\n\nconst RenderType = \"ValueForField\";\n\nexport const ValueForFieldExtension: ControlDefinitionExtension = {\n RenderOptions: {\n value: RenderType,\n name: \"Value For Field\",\n fields: buildSchema<Omit<ValueForFieldRenderOptions, \"type\">>({\n fieldRef: stringField(\"Field Reference\"),\n noOptions: boolField(\"No Options\"),\n refIsDirect: boolField(\"Reference is direct\"),\n }),\n },\n};\n\nexport interface ValueForFieldOptions {\n schema: SchemaNode;\n}\n\nexport function createValueForFieldRenderer(options: ValueForFieldOptions) {\n return createDataRenderer(\n (o, renderer) => {\n const { fieldRef, noOptions, refIsDirect } =\n o.renderOptions as ValueForFieldRenderOptions;\n const actualFieldRef = fieldRef\n ? refIsDirect\n ? fieldRef\n : (schemaDataForFieldRef(fieldRef, o.dataContext.parentNode)?.control\n ?.value as string)\n : \".\";\n let schemaField: SchemaField | undefined;\n if (refIsDirect) {\n const dataNode = schemaDataForFieldRef(\n actualFieldRef,\n o.dataContext.parentNode,\n );\n schemaField = trackedValue(dataNode.control.as<SchemaField>());\n } else {\n schemaField = actualFieldRef\n ? schemaForFieldRef(actualFieldRef, options.schema).field\n : undefined;\n }\n return schemaField ? (\n <ValueForField\n renderer={renderer}\n schemaField={schemaField}\n control={o.control}\n noOptions={noOptions}\n />\n ) : (\n <>{actualFieldRef ? \"No schema node for \" + actualFieldRef : \"\"}</>\n );\n },\n {\n renderType: RenderType,\n },\n );\n}\n\nfunction ValueForField({\n schemaField,\n renderer,\n control,\n noOptions,\n}: {\n schemaField: SchemaField;\n renderer: FormRenderer;\n control: Control<any>;\n noOptions?: boolean;\n}) {\n const value = useControl({ default: undefined }, undefined, (e) =>\n setFields(e, { default: control }),\n );\n const [controls, rootSchema] = useMemo(() => {\n const adjustedField: SchemaField = {\n ...schemaField,\n collection: noOptions ? false : schemaField.collection,\n options: noOptions ? undefined : schemaField.options,\n field: \"default\",\n required: false,\n notNullable: false,\n onlyForTypes: null,\n defaultValue: undefined,\n };\n const control: DataControlDefinition = {\n ...defaultControlForField(adjustedField),\n hideTitle: true,\n };\n const rootSchema = createSchemaTree([adjustedField]).rootNode;\n return [control, rootSchema];\n }, [schemaField]);\n\n const Render = useControlRendererComponent(\n controls,\n renderer,\n { disabled: control.disabled },\n makeSchemaDataNode(rootSchema, value),\n );\n return <Render />;\n}\n","import {\n AdornmentPlacement,\n AdornmentRendererRegistration,\n appendMarkupAt,\n ControlAdornmentType,\n ControlDataContext,\n createAdornmentRenderer,\n getAllValues,\n getIsEditing,\n getNullToggler,\n OptionalAdornment,\n wrapMarkup,\n} from \"@react-typed-forms/schemas\";\nimport { Control, Fcheckbox, newControl } from \"@react-typed-forms/core\";\nimport React, { ReactNode } from \"react\";\n\nexport interface OptionalRenderProps {\n allValues: Control<unknown[]>;\n editing: Control<boolean | undefined>;\n children: ReactNode;\n adornment: OptionalAdornment;\n nullToggler: Control<boolean>;\n dataContext: ControlDataContext;\n options: DefaultOptionalAdornmentOptions;\n dataControl: Control<any>;\n}\nexport interface DefaultOptionalAdornmentOptions {\n className?: string;\n checkClass?: string;\n childWrapperClass?: string;\n multiValuesClass?: string;\n multiValuesText?: string;\n nullWrapperClass?: string;\n setNullText?: string;\n defaultPlacement?: AdornmentPlacement;\n hideEdit?: boolean;\n customRender?: (props: OptionalRenderProps) => ReactNode;\n}\nexport function createOptionalAdornment(\n options: DefaultOptionalAdornmentOptions = {},\n): AdornmentRendererRegistration {\n return createAdornmentRenderer(\n (props, renderers) => {\n const { dataContext } = props;\n const dataControl =\n dataContext.dataNode?.control ?? newControl(undefined);\n const adornment = props.adornment as OptionalAdornment;\n const editing = getIsEditing(dataControl);\n const isEditing = editing.value;\n const nullToggler = getNullToggler(dataControl);\n if (isEditing === undefined && adornment.editSelectable)\n editing.value = false;\n dataControl.disabled =\n !isEditing || !!(adornment.allowNull && !nullToggler.value);\n return {\n apply: (rl) => {\n if (props.formOptions.readonly) return rl;\n if (!options.hideEdit && adornment.editSelectable)\n appendMarkupAt(\n adornment.placement ??\n options.defaultPlacement ??\n AdornmentPlacement.LabelStart,\n <Fcheckbox control={editing} className={options.checkClass} />,\n )(rl);\n wrapMarkup(\"children\", (children) => {\n const props = {\n allValues: getAllValues(dataControl),\n editing,\n children,\n adornment,\n nullToggler,\n dataContext,\n options,\n dataControl,\n };\n return options.customRender ? (\n options.customRender(props)\n ) : (\n <OptionalEditRenderer {...props} />\n );\n })(rl);\n },\n priority: 0,\n adornment,\n };\n },\n { adornmentType: ControlAdornmentType.Optional },\n );\n}\n\nexport function OptionalEditRenderer({\n children,\n options,\n adornment,\n editing,\n renderMultiValues,\n allValues,\n nullToggler,\n}: OptionalRenderProps & {\n renderMultiValues?: (allValues: Control<unknown[]>) => ReactNode;\n}) {\n renderMultiValues ??= () => options.multiValuesText ?? \"Differing values\";\n const multipleValues = allValues.value.length > 1;\n const nullEdit = adornment.allowNull ? (\n <div className={options.nullWrapperClass}>\n <Fcheckbox\n control={nullToggler}\n className={options.checkClass}\n notValue\n />\n <span>{options.setNullText ?? \"Null\"}</span>\n </div>\n ) : undefined;\n return (\n <div className={options.className}>\n {multipleValues && editing.value === false ? (\n <div className={options.multiValuesClass}>\n {renderMultiValues(allValues)}\n </div>\n ) : (\n <div className={options.childWrapperClass}>\n {nullEdit}\n {children}\n </div>\n )}\n </div>\n );\n}\n","import React, { useRef } from \"react\";\nimport { useControlEffect } from \"@react-typed-forms/core\";\nimport {\n createDataRenderer,\n DataRendererProps,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\n\nexport function createMultilineFieldRenderer(className?: string) {\n return createDataRenderer((p) => (\n <MultilineTextfield\n {...p}\n className={rendererClass(p.className, className)}\n />\n ));\n}\n\nexport function MultilineTextfield({ control, className }: DataRendererProps) {\n const codeRef = useRef<HTMLElement | null>(null);\n useControlEffect(\n () => control.value,\n (v) => {\n const c = codeRef.current;\n if (c && c.textContent !== v) {\n c.textContent = v;\n }\n },\n true,\n );\n return (\n <code\n contentEditable={!control.disabled}\n className={className}\n onInput={(t) => (control.value = t.currentTarget.textContent)}\n ref={codeRef}\n />\n );\n}\n","import {\n ActionRendererProps,\n ArrayElementRenderOptions,\n ControlDefinitionType,\n createDataRenderer,\n DataRendererProps,\n DataRenderType,\n ExternalEditAction,\n FormNode,\n FormRenderer,\n getExternalEditData,\n GroupedControlsDefinition,\n GroupRenderType,\n makeSchemaDataNode,\n rendererClass,\n validationVisitor,\n visitFormDataInContext,\n} from \"@react-typed-forms/schemas\";\nimport React, { Fragment } from \"react\";\nimport { Dialog, Modal } from \"@astroapps/aria-base\";\nimport { useOverlayTriggerState } from \"@react-stately/overlays\";\nimport { RenderElements } from \"@react-typed-forms/core\";\n\nexport interface ArrayElementRendererOptions {\n className?: string;\n actionsClass?: string;\n}\nexport function createArrayElementRenderer(\n options: ArrayElementRendererOptions = {},\n) {\n return createDataRenderer(\n (props, formRenderer) => (\n <ArrayElementRenderer\n dataProps={props}\n options={options}\n formRenderer={formRenderer}\n renderOptions={props.renderOptions as ArrayElementRenderOptions}\n />\n ),\n { renderType: DataRenderType.ArrayElement },\n );\n}\n\nfunction ArrayElementRenderer({\n dataProps,\n options,\n formRenderer,\n renderOptions,\n}: {\n dataProps: DataRendererProps;\n options: ArrayElementRendererOptions;\n formRenderer: FormRenderer;\n renderOptions: ArrayElementRenderOptions;\n}) {\n const { control, formNode, renderChild, designMode } = dataProps;\n const extData = getExternalEditData(control);\n const overlayState = useOverlayTriggerState({\n isOpen: true,\n onOpenChange: () => {\n extData.value = undefined;\n },\n });\n\n if (designMode || extData.value !== undefined) {\n const parentDataNode = makeSchemaDataNode(\n dataProps.dataNode.schema,\n extData.fields.data,\n );\n const elementGroup: FormNode = formNode.createChildNode(\"group\", {\n type: ControlDefinitionType.Group,\n groupOptions: { type: GroupRenderType.Standard, hideTitle: true },\n children: formNode.getResolvedChildren(),\n } as GroupedControlsDefinition);\n const editContent = (\n <div className={rendererClass(dataProps.className, options.className)}>\n {renderChild(\"\", elementGroup, {\n parentDataNode,\n })}\n <div className={options.actionsClass}>\n <RenderElements control={extData.fields.actions}>\n {(c) => formRenderer.renderAction(applyValidation(c.value))}\n </RenderElements>\n </div>\n </div>\n );\n if (renderOptions.showInline || designMode) return editContent;\n\n return (\n <Modal state={overlayState}>\n <Dialog children={editContent} />\n </Modal>\n );\n\n function runValidation(onClick: () => void) {\n let hasErrors = false;\n visitFormDataInContext(\n parentDataNode,\n elementGroup,\n validationVisitor(() => {\n hasErrors = true;\n }),\n );\n if (!hasErrors) onClick();\n }\n function applyValidation({\n action,\n dontValidate,\n }: ExternalEditAction): ActionRendererProps {\n return dontValidate\n ? action\n : {\n ...action,\n onClick: () => runValidation(action.onClick),\n };\n }\n } else return <></>;\n}\n","import React, { Fragment, ReactNode } from \"react\";\nimport {\n ActionRendererProps,\n ActionRendererRegistration,\n ActionStyle,\n createActionRenderer,\n IconPlacement,\n IconReference,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\n\nexport interface DefaultActionRendererOptions {\n buttonClass?: string;\n textClass?: string;\n primaryClass?: string;\n primaryTextClass?: string;\n secondaryClass?: string;\n secondaryTextClass?: string;\n linkClass?: string;\n linkTextClass?: string;\n iconBeforeClass?: string;\n iconAfterClass?: string;\n groupClass?: string;\n renderContent?: (\n actionText: string,\n actionId: string,\n actionData: any,\n ) => ReactNode;\n icon?: IconReference;\n iconPlacement?: IconPlacement;\n notWrapInText?: boolean;\n androidRippleColor?: string;\n}\n\nexport function createButtonActionRenderer(\n actionId: string | string[] | undefined,\n options: DefaultActionRendererOptions = {},\n): ActionRendererRegistration {\n return createActionRenderer(\n actionId,\n (props: ActionRendererProps, renderer) => {\n const {\n key,\n onClick,\n actionText,\n className,\n style,\n actionId,\n actionData,\n disabled,\n textClass,\n actionStyle,\n inline,\n actionContent,\n } = props;\n const icon = props.icon?.name ? props.icon : options.icon;\n const iconPlacement =\n props.iconPlacement ??\n options.iconPlacement ??\n IconPlacement.BeforeText;\n\n const { Button, I, Span } = renderer.html;\n const isLink = actionStyle == ActionStyle.Link;\n const isGroup = actionStyle == ActionStyle.Group;\n const classNames = rendererClass(\n className,\n isLink\n ? options.linkClass\n : isGroup\n ? options.groupClass\n : rendererClass(\n options.buttonClass,\n actionStyle == ActionStyle.Secondary\n ? options.secondaryClass\n : options.primaryClass,\n ),\n );\n const iconElement = icon && (\n <I\n iconName={icon.name}\n iconLibrary={icon.library}\n className={rendererClass(\n textClass,\n iconPlacement == IconPlacement.BeforeText\n ? options.iconBeforeClass\n : options.iconAfterClass,\n )}\n />\n );\n\n const textClassNames = rendererClass(\n textClass,\n isLink\n ? options.linkTextClass\n : rendererClass(\n options.textClass,\n actionStyle == ActionStyle.Secondary\n ? options.secondaryTextClass\n : options.primaryTextClass,\n ),\n );\n\n const textElement =\n actionContent ??\n (actionText && <Span className={textClassNames}>{actionText}</Span>);\n\n return (\n <Button\n key={key}\n className={classNames}\n textClass={textClassNames}\n disabled={disabled}\n style={style}\n onClick={onClick}\n inline={inline}\n nonTextContent={isGroup}\n title={\n iconPlacement == IconPlacement.ReplaceText ? actionText : undefined\n }\n notWrapInText={options.notWrapInText}\n androidRippleColor={options.androidRippleColor}\n >\n {options.renderContent?.(actionText, actionId, actionData) ?? (\n <>\n {iconPlacement == IconPlacement.BeforeText && iconElement}\n {iconPlacement != IconPlacement.ReplaceText && textElement}\n {iconPlacement != IconPlacement.BeforeText && iconElement}\n </>\n )}\n </Button>\n );\n },\n );\n}\n","import {\n createDefaultDisplayRenderer,\n DefaultDisplayRendererOptions,\n} from \"./components/DefaultDisplay\";\nimport {\n createDefaultLayoutRenderer,\n DefaultLayoutRendererOptions,\n} from \"./components/DefaultLayout\";\nimport { createDefaultVisibilityRenderer } from \"./components/DefaultVisibility\";\nimport React, { Fragment, ReactElement, ReactNode } from \"react\";\nimport clsx from \"clsx\";\nimport {\n createSelectRenderer,\n SelectRendererOptions,\n} from \"./components/SelectDataRenderer\";\nimport { DefaultDisplayOnly } from \"./components/DefaultDisplayOnly\";\nimport { Control, useControlEffect } from \"@react-typed-forms/core\";\nimport { ControlInput, createInputConversion } from \"./components/ControlInput\";\nimport {\n createDefaultArrayDataRenderer,\n createDefaultArrayRenderer,\n DefaultArrayRendererOptions,\n} from \"./components/DefaultArrayRenderer\";\nimport {\n CheckRendererOptions,\n createCheckboxRenderer,\n createCheckListRenderer,\n createElementSelectedRenderer,\n createRadioRenderer,\n} from \"./components/CheckRenderer\";\nimport { DefaultAccordion } from \"./components/DefaultAccordion\";\nimport { createNullToggleRenderer } from \"./components/NullToggle\";\nimport { createMultilineFieldRenderer } from \"./components/MultilineTextfield\";\nimport { createJsonataRenderer } from \"./components/JsonataRenderer\";\nimport {\n AdornmentPlacement,\n AdornmentRendererRegistration,\n appendMarkupAt,\n ArrayActionOptions,\n ControlDataContext,\n createDataRenderer,\n DataRendererRegistration,\n DataRenderType,\n DefaultRenderers,\n FieldOption,\n FieldType,\n FormRenderer,\n hasOptions,\n HtmlButtonProperties,\n HtmlComponents,\n HtmlDivProperties,\n HtmlIconProperties,\n HtmlInputProperties,\n HtmlLabelProperties,\n IconLibrary,\n IconReference,\n isAccordionAdornment,\n isDataGroupRenderer,\n isDisplayOnlyRenderer,\n isIconAdornment,\n isOptionalAdornment,\n isSetFieldAdornment,\n isTextfieldRenderer,\n LabelRendererRegistration,\n LabelType,\n rendererClass,\n RendererRegistration,\n RunExpression,\n schemaDataForFieldRef,\n SetFieldAdornment,\n useExpression,\n wrapLayout,\n} from \"@react-typed-forms/schemas\";\nimport {\n createDefaultGroupRenderer,\n DefaultGroupRendererOptions,\n} from \"./components/DefaultGroupRenderer\";\nimport {\n AutocompleteRendererOptions,\n createAutocompleteRenderer,\n} from \"./components/AutocompleteRenderer\";\nimport {\n createOptionalAdornment,\n DefaultOptionalAdornmentOptions,\n} from \"./adornments/optionalAdornment\";\nimport {\n ArrayElementRendererOptions,\n createArrayElementRenderer,\n} from \"./components/ArrayElementRenderer\";\nimport {\n createButtonActionRenderer,\n DefaultActionRendererOptions,\n} from \"./createButtonActionRenderer\";\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 extraRenderers?: (options: DefaultRendererOptions) => RendererRegistration[];\n html?: FormRenderer[\"html\"];\n}\n\nexport const DefaultBoolOptions: FieldOption[] = [\n { name: \"Yes\", value: true },\n { name: \"No\", value: false },\n];\n\nexport interface DefaultDataRendererOptions {\n inputClass?: string;\n inputTextClass?: string;\n displayOnlyClass?: string;\n selectOptions?: SelectRendererOptions;\n checkboxOptions?: CheckRendererOptions;\n checkOptions?: CheckRendererOptions;\n radioOptions?: CheckRendererOptions;\n checkListOptions?: CheckRendererOptions;\n autocompleteOptions?: AutocompleteRendererOptions;\n arrayElementOptions?: ArrayElementRendererOptions;\n booleanOptions?: FieldOption[];\n optionRenderer?: DataRendererRegistration;\n multilineClass?: string;\n jsonataClass?: string;\n arrayOptions?: ArrayActionOptions;\n defaultEmptyText?: string;\n}\n\nexport function createDefaultDataRenderer(\n options: DefaultDataRendererOptions = {},\n): DataRendererRegistration {\n const elementSelectedRenderer = createElementSelectedRenderer(\n options.checkboxOptions ?? options.checkOptions,\n );\n const jsonataRenderer = createJsonataRenderer(options.jsonataClass);\n const nullToggler = createNullToggleRenderer();\n const multilineRenderer = createMultilineFieldRenderer(\n options.multilineClass,\n );\n const checkboxRenderer = createCheckboxRenderer(\n options.checkboxOptions ?? options.checkOptions,\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 arrayElementRenderer = createArrayElementRenderer(\n options.arrayElementOptions,\n );\n const {\n inputClass,\n inputTextClass,\n booleanOptions,\n optionRenderer,\n displayOnlyClass,\n defaultEmptyText,\n } = {\n optionRenderer: selectRenderer,\n booleanOptions: DefaultBoolOptions,\n ...options,\n };\n const arrayRenderer = createDefaultArrayDataRenderer(options.arrayOptions);\n\n const autocompleteRenderer = createAutocompleteRenderer(\n options.autocompleteOptions,\n );\n\n return createDataRenderer((props, renderers) => {\n const { field } = props;\n const fieldType = field.type;\n const renderOptions = props.renderOptions;\n let renderType = renderOptions.type;\n if (\n field.collection &&\n props.dataNode.elementIndex == null &&\n (renderType == DataRenderType.Standard ||\n renderType == DataRenderType.Array ||\n renderType == DataRenderType.ArrayElement)\n ) {\n if (renderType == DataRenderType.ArrayElement)\n return arrayElementRenderer.render(props, renderers);\n return arrayRenderer.render(props, renderers);\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 (props.displayOnly || isDisplayOnlyRenderer(renderOptions))\n return (p) => {\n return {\n ...p,\n className: \"@ \" + rendererClass(p.className, displayOnlyClass),\n children: (\n <DefaultDisplayOnly\n dataNode={props.dataNode}\n state={props.state}\n schemaInterface={props.dataContext.schemaInterface}\n className={props.className}\n textClass={props.textClass}\n style={props.style}\n inline={props.inline}\n renderer={renderers}\n emptyText={\n isDisplayOnlyRenderer(renderOptions) && renderOptions.emptyText\n ? renderOptions.emptyText\n : defaultEmptyText\n }\n />\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.NullToggle:\n return nullToggler.render(props, renderers);\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 case DataRenderType.Jsonata:\n return jsonataRenderer.render(props, renderers);\n case DataRenderType.Autocomplete:\n return autocompleteRenderer.render(props, renderers);\n case DataRenderType.ElementSelected:\n return elementSelectedRenderer.render(props, renderers);\n }\n if (fieldType == FieldType.Any) {\n return (\n <>\n Can't render field: {field.displayName ?? field.field} ({renderType})\n </>\n );\n }\n if (isTextfieldRenderer(renderOptions) && renderOptions.multiline)\n return multilineRenderer.render(props, renderers);\n const placeholder = isTextfieldRenderer(renderOptions)\n ? renderOptions.placeholder\n : undefined;\n\n return (\n <ControlInput\n className={rendererClass(props.className, inputClass)}\n textClass={rendererClass(props.textClass, inputTextClass)}\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 renderer={renderers}\n />\n );\n });\n}\n\nexport interface DefaultAccordionRendererOptions {\n className?: string;\n titleClass?: string;\n togglerClass?: string;\n iconOpen?: IconReference;\n iconClosed?: IconReference;\n renderTitle?: (\n title: string | undefined,\n current: Control<boolean>,\n ) => ReactNode;\n renderToggler?: (current: Control<boolean>, title: ReactNode) => ReactNode;\n useCss?: boolean;\n}\n\nexport interface DefaultHelpTextRendererOptions {\n triggerContainerClass?: string;\n triggerLabelClass?: string;\n contentContainerClass?: string;\n contentTextClass?: string;\n iconName?: string;\n iconClass?: string;\n}\n\nexport interface DefaultAdornmentRendererOptions {\n accordion?: DefaultAccordionRendererOptions;\n helpText?: DefaultHelpTextRendererOptions;\n optional?: DefaultOptionalAdornmentOptions;\n}\n\nexport function createDefaultAdornmentRenderer(\n options: DefaultAdornmentRendererOptions = {},\n): AdornmentRendererRegistration {\n const optional = createOptionalAdornment(options.optional);\n return {\n type: \"adornment\",\n render: (props, renderers) => {\n if (isOptionalAdornment(props.adornment)) {\n return optional.render(props, renderers);\n }\n const { adornment, designMode, dataContext, runExpression } = props;\n return {\n apply: (rl) => {\n if (isSetFieldAdornment(adornment) && runExpression) {\n return wrapLayout((x) => (\n <SetFieldWrapper\n children={x}\n parentContext={dataContext}\n adornment={adornment}\n runExpression={runExpression}\n />\n ))(rl);\n }\n if (isIconAdornment(adornment)) {\n const { I } = renderers.html;\n const { icon, placement, iconClass } = adornment;\n return appendMarkupAt(\n placement ?? AdornmentPlacement.ControlStart,\n <I\n className={iconClass}\n iconName={icon?.name}\n iconLibrary={icon?.library}\n />,\n )(rl);\n }\n if (isAccordionAdornment(adornment)) {\n return wrapLayout((x) => (\n <DefaultAccordion\n renderers={renderers}\n children={x}\n accordion={adornment}\n contentStyle={rl.style}\n contentClassName={rl.className}\n designMode={designMode}\n dataContext={dataContext}\n {...options.accordion}\n />\n ))(rl);\n }\n },\n priority: 0,\n adornment,\n };\n },\n };\n}\n\ninterface DefaultLabelRendererOptions {\n className?: string;\n textClass?: string;\n groupLabelClass?: string;\n groupLabelTextClass?: string;\n controlLabelClass?: string;\n controlLabelTextClass?: string;\n requiredElement?: (h: FormRenderer[\"html\"]) => ReactNode;\n labelContainer?: (children: ReactElement) => ReactElement;\n}\n\nfunction SetFieldWrapper({\n children,\n adornment,\n parentContext,\n runExpression,\n}: {\n children: ReactNode;\n adornment: SetFieldAdornment;\n parentContext: ControlDataContext;\n runExpression: RunExpression;\n}) {\n const fieldNode = schemaDataForFieldRef(\n adornment.field,\n parentContext.parentNode,\n );\n const otherField = fieldNode.control;\n const always = !adornment.defaultOnly;\n const value = useExpression<any>(\n undefined,\n runExpression,\n adornment.expression,\n (x) => x,\n );\n\n useControlEffect(\n () => [value?.value, otherField?.value == null],\n ([v]) => {\n otherField?.setValue((x: any) => (always || x == null ? v : x));\n },\n true,\n );\n return children;\n}\n\nexport function createDefaultLabelRenderer(\n options?: DefaultLabelRendererOptions,\n): LabelRendererRegistration {\n const {\n className,\n controlLabelTextClass,\n groupLabelTextClass,\n groupLabelClass,\n controlLabelClass,\n textClass,\n labelContainer,\n } = {\n labelContainer: (c: ReactElement) => c,\n ...options,\n };\n return {\n render: (props, labelStart, labelEnd, renderers) => {\n const { Label, Span } = renderers.html;\n const requiredElement =\n options?.requiredElement ?? (({ Span }) => <Span> *</Span>);\n if (props.type == LabelType.Text) return <Span>{props.label}</Span>;\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 textClass={rendererClass(\n props.textClass,\n clsx(\n textClass,\n props.type === LabelType.Group && groupLabelTextClass,\n props.type === LabelType.Control && controlLabelTextClass,\n ),\n )}\n >\n {labelStart}\n {renderers.renderLabelText(props.label)}\n {props.required && requiredElement(renderers.html)}\n </Label>\n {labelEnd}\n </>,\n );\n },\n type: \"label\",\n };\n}\n\nexport const StandardHtmlComponents: HtmlComponents = {\n Button: DefaultHtmlButtonRenderer,\n Label: DefaultHtmlLabelRenderer,\n I: DefaultHtmlIconRenderer,\n Span: \"span\",\n Div: DefaultHtmlDivRenderer,\n H1: \"h1\",\n B: \"b\",\n Input: DefaultHtmlInputRenderer,\n};\n\nexport function DefaultHtmlButtonRenderer({\n inline,\n textClass,\n className,\n notWrapInText,\n androidRippleColor,\n onClick,\n nonTextContent,\n ...props\n}: HtmlButtonProperties) {\n const Comp = nonTextContent ? \"div\" : \"button\";\n return (\n <Comp\n role={nonTextContent ? \"button\" : undefined}\n onClick={\n onClick\n ? (e) => {\n e.stopPropagation();\n onClick();\n }\n : undefined\n }\n className={nonTextContent ? className : clsx(className, textClass)}\n {...props}\n />\n );\n}\nexport function DefaultHtmlInputRenderer({\n textClass,\n className,\n onChangeValue,\n onChangeChecked,\n inputRef,\n ...props\n}: HtmlInputProperties) {\n return (\n <input\n ref={inputRef}\n {...props}\n className={clsx(className, textClass)}\n onChange={\n onChangeValue\n ? (e) => onChangeValue(e.target.value)\n : onChangeChecked\n ? (e) => onChangeChecked(e.target.checked)\n : undefined\n }\n />\n );\n}\nexport function DefaultHtmlDivRenderer({\n text,\n html,\n children,\n className,\n textClass,\n nativeRef,\n inline,\n ...props\n}: HtmlDivProperties) {\n const Tag = inline ? \"span\" : \"div\";\n return (\n <Tag\n {...props}\n ref={nativeRef}\n className={clsx(className, textClass)}\n children={text ?? children}\n dangerouslySetInnerHTML={html ? { __html: html } : undefined}\n />\n );\n}\nexport function DefaultHtmlLabelRenderer({\n textClass,\n className,\n ...props\n}: HtmlLabelProperties) {\n return <label {...props} className={clsx(className, textClass)} />;\n}\nexport function DefaultHtmlIconRenderer({\n iconName,\n iconLibrary,\n className,\n style,\n}: HtmlIconProperties) {\n return iconName ? (\n <i className={clsx(className, toIconClass())} style={style} />\n ) : undefined;\n\n function toIconClass() {\n if (!iconName) return undefined;\n switch (iconLibrary) {\n case IconLibrary.FontAwesome:\n return \"fa fa-\" + iconName;\n case IconLibrary.Material:\n case IconLibrary.CssClass:\n return iconName;\n default:\n return iconLibrary + \" fa-\" + iconName;\n }\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: createButtonActionRenderer(undefined, 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 extraRenderers: options.extraRenderers?.(options) ?? [],\n html: options.html ?? StandardHtmlComponents,\n };\n}\n\nexport function createClassStyledRenderers() {\n return createDefaultRenderers({\n layout: { className: \"control\" },\n group: { className: \"group\" },\n array: { className: \"control-array\" },\n action: { buttonClass: \"action\" },\n data: { inputClass: \"data\" },\n display: { htmlClassName: \"html\", textClassName: \"text\" },\n });\n}\n","import React from \"react\";\nimport { DefaultRendererOptions } from \"./createDefaultRenderers\";\nimport { fontAwesomeIcon } from \"@react-typed-forms/schemas\";\n\nexport const defaultTailwindTheme = {\n label: {\n groupLabelClass: \"font-bold\",\n requiredElement: ({ Span }) => <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 removeActionClass: \"flex gap-2\",\n },\n group: {\n standardClassName: \"flex flex-col gap-4\",\n grid: {\n className: \"flex flex-col gap-4\",\n rowClass: \"flex flex-row gap-4 justify-between *:flex-1\",\n },\n flexClassName: \"gap-2\",\n inlineClass: \"\",\n tabs: {\n className: \"\",\n tabListClass:\n \"flex flex-wrap text-sm font-medium text-center text-gray-500 border-b border-gray-200 dark:border-gray-700 dark:text-gray-400\",\n tabClass: \"me-2\",\n labelClass:\n \"inline-flex items-center justify-center p-4 border-b-2 group\",\n inactiveClass:\n \"border-transparent rounded-t-lg hover:text-gray-600 hover:border-gray-300 dark:hover:text-gray-300 cursor-pointer\",\n activeClass:\n \"text-blue-600 border-blue-600 rounded-t-lg active dark:text-blue-500 dark:border-blue-500\",\n contentClass: \"my-2\",\n },\n },\n action: {\n buttonClass:\n \"rounded-lg p-3 text-white disabled:opacity-75 disabled:cursor-not-allowed\",\n primaryClass: \"bg-primary-500\",\n secondaryClass: \"bg-secondary-500\",\n iconBeforeClass: \"px-2\",\n iconAfterClass: \"px-2\",\n },\n layout: {\n className: \"flex flex-col\",\n errorClass: \"text-sm text-red-500\",\n },\n data: {\n inputClass: \"form-control\",\n displayOnlyClass: \"flex flex-row items-center gap-2\",\n checkOptions: {\n className: \"flex items-center gap-4\",\n entryClass: \"flex items-center gap-1\",\n },\n selectOptions: { emptyText: \"<select>\" },\n arrayElementOptions: { actionsClass: \"my-2 flex gap-2\" },\n multilineClass: \"border p-2 outline-0 whitespace-pre-wrap\",\n autocompleteOptions: {\n className:\n \"w-full flex gap-[5px] pr-[5px] overflow-hidden rounded-lg bg-white border border-solid border-gray-200 hover:border-primary-400 focus-visible:outline-0 shadow-[0_2px_4px_rgb(0_0_0_/_0.05)] min-h-[48px] py-1\",\n listContainerClass:\n \"absolute w-full text-sm box-border p-1.5 my-3 mx-0 min-w-[120px] rounded-xl overflow-auto outline-0 max-h-[300px] z-[1] bg-white border border-solid border-surface-200 text-surface-900 shadow-[0_4px_30px_transparent] shadow-surface-200\",\n listEntryClass:\n \"list-none p-2 rounded-lg cursor-default last-of-type:border-b-0 hover:cursor-pointer hover:bg-primary-100 aria-selected:bg-primary-200 aria-selected:text-primary-900 focused:bg-surface-100 focus-visible:bg-surface-100 focused:text-surface-900 focus-visible:text-surface-900 focus-visible:shadow-[0_0_0_3px_transparent] focus-visible:shadow-primary-200 focused:aria-selected:bg-primary-200 focus-visible:aria-selected:bg-primary-200 focused:aria-selected:text-primary-900 focus-visible:aria-selected:text-primary-900\",\n chipContainerClass:\n \"flex flex-row items-center px-3 py-1 rounded-full bg-surface-100 m-1 gap-2 truncate\",\n chipCloseButtonClass:\n \"fa-solid fa-xmark p-1 bg-surface-300 rounded-full min-w-[24px] flex justify-center text-surface-50 hover:bg-surface-400 hover:text-surface-100 hover:cursor-pointer\",\n },\n },\n adornment: {\n accordion: {\n className: \"flex items-center gap-2 my-2\",\n titleClass: \"cursor-pointer\",\n iconOpen: fontAwesomeIcon(\"chevron-up\"),\n iconClosed: fontAwesomeIcon(\"chevron-down\"),\n },\n optional: {\n checkClass: \"m-2\",\n className: \"flex items-center gap-2 w-full\",\n multiValuesClass: \"italic\",\n childWrapperClass: \"grow\",\n },\n },\n} satisfies DefaultRendererOptions;\n"],"names":["createDefaultDisplayRenderer","options","render","props","renderer","_jsx","DefaultDisplay","displayProps","type","_effect","_useComponentTracking","_iconDisplay$icon","_iconDisplay$icon2","data","display","className","textClass","style","I","Div","B","H1","Span","html","DisplayDataType","Icon","iconDisplay","clsx","getOverrideClass","value","iconClass","iconName","icon","name","iconLibrary","library","Text","text","coerceToString","rendererClass","textClassName","textTextClass","inline","Html","htmlClassName","Custom","children","_jsxs","customId","ControlInput","_ref","control","convert","_objectWithoutPropertiesLoose","_excluded","_formControlProps","formControlProps","ref","inputProps","_excluded2","textValue","useControl","toText","useControlEffect","v","Input","_extends","inputRef","onChangeValue","e","converted","undefined","createInputConversion","ft","FieldType","String","a","Bool","_a$toString","toString","Int","parseInt","DateTime","Date","Time","l","length","substring","Double","parseFloat","createSelectRenderer","createDataRenderer","asArray","_props$options","SelectDataRenderer","state","id","readonly","required","emptyText","requiredText","createSelectConversion","field","disabled","showEmpty","useState","optionStringMap","useMemo","Object","fromEntries","map","x","optionGroups","Set","filter","group","onChange","target","keys","label","o","renderOption","i","createRadioRenderer","p","CheckButtons","classes","controlClasses","renderOptions","isChecked","setChecked","c","setTouched","entryAdornment","fieldOptionAdornment","renderType","DataRenderType","Radio","createCheckListRenderer","Array","isArray","includes","checked","setValue","setIncluded","collection","CheckList","Button","Label","uniqueId","RenderArrayElements","array","useComputed","selOrUnsel","selectedClass","notSelectedClass","entryWrapperClass","onClick","entryClass","checkClass","readOnly","onChangeChecked","labelClass","htmlFor","elem","included","already","createCheckboxRenderer","CheckBox","Checkbox","createElementSelectedRenderer","CheckBoxSelected","ElementSelected","_effect2","elementValue","useEffect","runExpression","elementExpression","isSelected","_props$control$as$val","_props$control$as$val2","as","current","selControl","Fcheckbox","renderLabel","_effect3","_effect4","notValue","others","theseProps","r","element","touched","createDefaultLayoutRenderer","createLayoutRenderer","renderers","layout","renderLayoutParts","wrapLayout","DefaultLayout","divRef","errorControl","meta","scrollElement","errorClass","renderError","controlEnd","controlStart","ec","errorText","error","_Fragment","DefaultDisplayOnly","dataNode","schemaInterface","isEmptyValue","schema","textValueForData","DefaultAccordion","accordion","contentStyle","contentClassName","designMode","iconOpen","iconClosed","renderTitle","t","renderToggler","titleClass","useCss","dataContext","_dataContext$dataNode","dataControl","parentNode","open","defaultExpanded","accordionState","isOpen","fullContentStyle","title","renderLabelText","currentIcon","toggler","getAccordionState","VisibleChildrenRenderer","childStates","parentFormNode","getChildNodes","parent","getChildState","hidden","createTabsRenderer","createGroupRenderer","renderAllTabs","formNode","groupProps","tabOptions","GroupRenderType","Tabs","renderChild","isVisible","_tabIndex$value","tabIndex","fields","tabClass","tabListClass","inactiveClass","activeClass","contentClass","currentTab","renderTabs","tabs","key","definition","createGridRenderer","formRenderer","defaultOptions","renderGrid","Grid","isChildVisible","_props$defaultOptions","_gridOptions$columns","filteredChildren","defaults","gridOptions","numColumns","columns","defaultColumns","allChildren","rows","push","slice","row","rowIndex","rowClass","navContainerClass","actions","nextText","nextIcon","fontAwesomeIcon","nextValidate","prevText","prevIcon","prevValidate","renderNavigation","defaultNavigationRender","prev","next","renderAction","createWizardRenderer","renderWizard","Wizard","mergedOptions","deepMerge","allVisible","_","page","currentPage","isValid","isPageValid","createAction","nav","nextVisibleInDirection","iconPlacement","IconPlacement","AfterText","navElement","countVisibleUntil","totalPages","validatePage","content","child","Fragment","untilPage","count","dir","validate","pageNode","hasErrors","visitFormDataInContext","validationVisitor","valid","defaultDialogOptions","containerClass","createDialogRenderer","DefaultDialogRenderer","Dialog","overlayState","createOverlayState","actionOnClick","action","close","triggerChildren","placement","dialogContent","designContent","Modal","isDismissable","onClickCapture","toggle","actionStyle","ActionStyle","Link","createDefaultGroupRenderer","gridRenderer","grid","tabsRenderer","wizardRenderer","wizard","dialogRenderer","dialog","standardClassName","flexClassName","inlineClass","defaultFlexGap","flexStyles","gap","flexDirection","direction","isTabsRenderer","isGridRenderer","isWizardRenderer","isDialogRenderer","isSelectChildRenderer","SelectChildGroupRenderer","gcn","isFlexRenderer","isInlineRenderer","Inline","renderLayout","Contents","ctrl","useExpression","childIndexExpression","childIndex","childDefinitions","createDefaultVisibilityRenderer","createVisibilityRenderer","DefaultVisibility","visibility","ex","visible","showing","nativeRef","createJsonataRenderer","JsonataRenderer","Jsonata","sdn","elementIndex","bindings","variables","dataPath","getJsonPath","rendered","ExpressionType","expression","dangerouslySetInnerHTML","__html","createNullToggleRenderer","lastDefined","getLastDefinedValue","defaultValue","nullControl","getNullToggler","renderData","createDefaultArrayDataRenderer","defaultActions","DataArrayRenderer","dataProps","addText","noAdd","noRemove","noReorder","removeText","editExternal","mergeObjects","isArrayRenderer","childDefs","getResolvedChildren","renderAsElement","isCompoundField","defaultChildDef","ControlDefinitionType","Data","Standard","hideTitle","childDef","Group","groupOptions","childNode","createChildNode","childNodes","arrayProps","createArrayActions","renderElement","wrap","RenderEntry","index","renderChildElement","isChildHidden","every","getLengthRestrictions","renderArray","elementNode","parentDataNode","getChildElement","createDefaultArrayRenderer","DefaultArrayRenderer","removableClass","childClass","removableChildClass","removeActionClass","addActionClass","arrayControl","editAction","addAction","removeAction","applyArrayLengthRestrictions","RenderElements","inputClass","createAutocompleteRenderer","_p$options","_p$options2","MultipleAutocomplete","SingleAutocomplete","Autocomplete","_controlClasses$place","_objectDestructuringEmpty","inputControl","selectedOptionControl","listContainerClass","listEntryClass","controlValues","selected","getRootProps","getInputProps","getListboxProps","getOptionProps","groupedOptions","popupOpen","focused","getPopupIndicatorProps","useAutocomplete","freeSolo","multiple","inputValue","getOptionLabel","filterOptions","s","toLowerCase","onInputChange","reason","placeholder","option","optionProps","_createElement","_ref2","_selectedOptionsContr","_selectedOptionsContr2","_controlClasses$place2","selectedOptionsControl","chipContainerClass","chipCloseButtonClass","_selected$map","selectedValues","concat","Chip","onDeleteClick","elements","find","removeElement","RenderType","ValueForFieldExtension","RenderOptions","buildSchema","fieldRef","stringField","noOptions","boolField","refIsDirect","createValueForFieldRenderer","_schemaDataForFieldRe","actualFieldRef","schemaDataForFieldRef","schemaField","trackedValue","schemaForFieldRef","ValueForField","default","setFields","controls","rootSchema","adjustedField","notNullable","onlyForTypes","defaultControlForField","createSchemaTree","rootNode","Render","useControlRendererComponent","makeSchemaDataNode","createOptionalAdornment","createAdornmentRenderer","_dataContext$dataNode2","newControl","adornment","editing","getIsEditing","isEditing","nullToggler","editSelectable","allowNull","apply","rl","_adornment$placement","formOptions","hideEdit","appendMarkupAt","defaultPlacement","AdornmentPlacement","LabelStart","wrapMarkup","allValues","getAllValues","customRender","OptionalEditRenderer","priority","adornmentType","ControlAdornmentType","Optional","renderMultiValues","_renderMultiValues","_options$setNullText","_options$multiValuesT","multiValuesText","multipleValues","nullEdit","nullWrapperClass","setNullText","multiValuesClass","childWrapperClass","createMultilineFieldRenderer","MultilineTextfield","codeRef","useRef","textContent","contentEditable","onInput","currentTarget","createArrayElementRenderer","ArrayElementRenderer","ArrayElement","extData","getExternalEditData","useOverlayTriggerState","onOpenChange","elementGroup","editContent","actionsClass","applyValidation","showInline","runValidation","dontValidate","createButtonActionRenderer","actionId","createActionRenderer","_props$icon","_props$iconPlacement","_options$renderConten","actionText","actionData","actionContent","BeforeText","isLink","isGroup","classNames","linkClass","groupClass","buttonClass","Secondary","secondaryClass","primaryClass","iconElement","iconBeforeClass","iconAfterClass","textClassNames","linkTextClass","secondaryTextClass","primaryTextClass","textElement","nonTextContent","ReplaceText","notWrapInText","androidRippleColor","renderContent","DefaultBoolOptions","createDefaultDataRenderer","_options$checkboxOpti","_options$checkboxOpti2","_options$radioOptions","_options$checkListOpt","elementSelectedRenderer","checkboxOptions","checkOptions","jsonataRenderer","jsonataClass","multilineRenderer","multilineClass","checkboxRenderer","selectRenderer","selectOptions","radioRenderer","radioOptions","checkListRenderer","checkListOptions","arrayElementRenderer","arrayElementOptions","inputTextClass","booleanOptions","optionRenderer","displayOnlyClass","defaultEmptyText","arrayRenderer","arrayOptions","autocompleteRenderer","autocompleteOptions","fieldType","Compound","isDataGroupRenderer","renderGroup","displayOnly","isDisplayOnlyRenderer","isBool","hasOptions","NullToggle","Dropdown","Any","_field$displayName","displayName","isTextfieldRenderer","multiline","createDefaultAdornmentRenderer","optional","isOptionalAdornment","isSetFieldAdornment","SetFieldWrapper","parentContext","isIconAdornment","ControlStart","isAccordionAdornment","fieldNode","otherField","always","defaultOnly","createDefaultLabelRenderer","controlLabelTextClass","groupLabelTextClass","groupLabelClass","controlLabelClass","labelContainer","labelStart","labelEnd","_options$requiredElem","requiredElement","LabelType","forId","Control","StandardHtmlComponents","DefaultHtmlButtonRenderer","DefaultHtmlLabelRenderer","DefaultHtmlIconRenderer","DefaultHtmlDivRenderer","DefaultHtmlInputRenderer","Comp","role","stopPropagation","_ref3","_ref4","_excluded3","Tag","_ref5","_excluded4","_effect5","toIconClass","IconLibrary","FontAwesome","Material","CssClass","createDefaultRenderers","_options$extraRendere","_options$html","extraRenderers","createClassStyledRenderers","defaultTailwindTheme"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/components/DefaultDisplay.tsx","../src/components/ControlInput.tsx","../src/components/SelectDataRenderer.tsx","../src/components/CheckRenderer.tsx","../src/components/DefaultLayout.tsx","../src/components/DefaultDisplayOnly.tsx","../src/components/TabsRenderer.tsx","../src/components/GridRenderer.tsx","../src/components/DefaultWizardRenderer.tsx","../src/components/DefaultDialogRenderer.tsx","../src/components/DefaultAccordion.tsx","../src/components/DefaultGroupRenderer.tsx","../src/components/DefaultVisibility.tsx","../src/components/JsonataRenderer.tsx","../src/components/NullToggle.tsx","../src/components/DefaultArrayRenderer.tsx","../src/components/AutocompleteRenderer.tsx","../src/components/ValueForFieldRenderer.tsx","../src/adornments/optionalAdornment.tsx","../src/components/MultilineTextfield.tsx","../src/rendererOptions.ts","../src/components/ArrayElementRenderer.tsx","../src/createButtonActionRenderer.tsx","../src/components/ScrollListRenderer.tsx","../src/components/HtmlCheckButtons.tsx","../src/createDefaultRenderers.tsx","../src/tailwind.tsx"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport {\n coerceToString,\n CustomDisplay,\n DisplayDataType,\n DisplayRendererProps,\n DisplayRendererRegistration,\n FormRenderer,\n getOverrideClass,\n HtmlDisplay,\n IconDisplay,\n rendererClass,\n TextDisplay,\n} from \"@react-typed-forms/schemas\";\nimport { DefaultDisplayRendererOptions } from \"../rendererOptions\";\n\nexport function createDefaultDisplayRenderer(\n options: DefaultDisplayRendererOptions = {},\n): DisplayRendererRegistration {\n return {\n render: (props, renderer) => (\n <DefaultDisplay\n options={options}\n displayProps={props}\n renderer={renderer}\n />\n ),\n type: \"display\",\n };\n}\n\nexport function DefaultDisplay({\n renderer,\n options,\n displayProps,\n}: {\n displayProps: DisplayRendererProps;\n options: DefaultDisplayRendererOptions;\n renderer: FormRenderer;\n}) {\n const { data, display, className, textClass, style } = displayProps;\n const { I, Div, B, H1, Span } = renderer.html;\n switch (data.type) {\n case DisplayDataType.Icon:\n const iconDisplay = data as IconDisplay;\n return (\n <I\n style={style}\n className={clsx(\n getOverrideClass(className),\n display ? display.value : iconDisplay.iconClass,\n )}\n iconName={display ? display.value : iconDisplay.icon?.name}\n iconLibrary={iconDisplay.icon?.library}\n />\n );\n case DisplayDataType.Text:\n const text = display\n ? coerceToString(display.value)\n : (data as TextDisplay).text;\n return (\n <Div\n style={style}\n className={rendererClass(className, options.textClassName)}\n textClass={rendererClass(textClass, options.textTextClass)}\n text={text}\n inline={displayProps.inline}\n />\n );\n case DisplayDataType.Html:\n return (\n <Div\n style={style}\n className={rendererClass(className, options.htmlClassName)}\n inline={displayProps.inline}\n html={\n display ? coerceToString(display.value) : (data as HtmlDisplay).html\n }\n />\n );\n case DisplayDataType.Custom:\n return (\n <Div>\n <B>({(data as CustomDisplay).customId})</B>\n </Div>\n );\n default:\n return <H1>Unknown display type: {data.type}</H1>;\n }\n}\n","import React from \"react\";\nimport {\n Control,\n formControlProps,\n useControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\nimport { FieldType, FormRenderer } from \"@react-typed-forms/schemas\";\n\nexport interface ControlInputProps {\n className?: string;\n textClass?: string;\n style?: React.CSSProperties;\n id?: string;\n errorId?: string;\n readOnly?: boolean;\n placeholder?: string;\n control: Control<any>;\n convert: InputConversion;\n renderer: FormRenderer;\n}\nexport function ControlInput({\n control,\n convert,\n renderer,\n errorId,\n ...props\n}: ControlInputProps) {\n const { errorText, value, onChange, ref, ...inputProps } =\n formControlProps(control);\n const textValue = useControl(() => toText(value));\n useControlEffect(\n () => control.value,\n (v) => (textValue.value = toText(v)),\n );\n const { Input } = renderer.html;\n return (\n <Input\n {...inputProps}\n inputRef={ref}\n type={convert[0]}\n value={textValue.value}\n aria-describedby={!!errorText ? errorId : undefined}\n aria-invalid={!!errorText || undefined}\n onChangeValue={(e) => {\n textValue.value = e;\n const converted = convert[1](e);\n if (converted !== undefined) control.value = converted;\n }}\n {...props}\n />\n );\n\n function toText(value: any) {\n return value == null ? \"\" : convert[2](value);\n }\n}\n\ntype InputConversion = [\n string,\n (s: string) => any,\n (a: any) => string | number,\n];\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 [\n \"text\",\n (a) => (a === \"true\" ? true : a === \"false\" ? false : undefined),\n (a) => a?.toString() ?? \"\",\n ];\n case FieldType.Int:\n return [\n \"number\",\n (a) => (a !== \"\" ? parseInt(a) : null),\n (a) => (a == null ? \"\" : a),\n ];\n case FieldType.DateTime:\n return [\"datetime-local\", (a) => (!a ? null : a), (a) => a];\n case FieldType.Date:\n return [\"date\", (a) => (!a ? null : a), (a) => a];\n case FieldType.Time:\n return [\n \"time\",\n (a) => {\n const l = a.length;\n if (l === 5) return a + \":00\";\n if (l === 8) return a;\n return undefined;\n },\n (a) => (a ? a.substring(0, 5) : \"\"),\n ];\n case FieldType.Double:\n return [\n \"number\",\n (a) => (a !== \"\" ? parseFloat(a) : null),\n (a) => (a == null ? \"\" : a),\n ];\n default:\n return [\"text\", (a) => a, (a) => a];\n }\n}\n","import { Control } from \"@react-typed-forms/core\";\nimport React, { useMemo, useState } from \"react\";\nimport {\n createDataRenderer,\n FieldOption,\n FieldType,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\nimport { SelectRendererOptions } from \"../rendererOptions\";\n\ninterface ExtendedDropdown {\n requiredText?: string;\n}\n\nexport function createSelectRenderer(options: SelectRendererOptions = {}) {\n return createDataRenderer(\n (props, asArray) => {\n const renderOptions = props.definition.renderOptions as ExtendedDropdown;\n\n return (\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={renderOptions?.requiredText ?? options.requiredText}\n convert={createSelectConversion(props.field.type)}\n />\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 = useMemo(\n () => !required || value == null,\n [required, value],\n );\n const optionStringMap = useMemo(\n () => Object.fromEntries(options.map((x) => [convert(x.value), x.value])),\n [options],\n );\n const optionGroups = useMemo(\n () => new Set(options.filter((x) => x.group).map((x) => x.group!)),\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 {[...optionGroups.keys()].map((x) => (\n <optgroup key={x} label={x}>\n {options.filter((o) => o.group === x).map(renderOption)}\n </optgroup>\n ))}\n {options.filter((x) => !x.group).map(renderOption)}\n </select>\n );\n\n function renderOption(x: FieldOption, i: number) {\n return (\n <option key={i} value={convert(x.value)} disabled={!!x.disabled}>\n {x.name}\n </option>\n );\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, formControlProps } from \"@react-typed-forms/core\";\nimport React from \"react\";\nimport {\n CheckEntryClasses,\n CheckRendererOptions,\n ControlLayoutProps,\n createDataRenderer,\n DataRendererProps,\n DataRenderType,\n fieldOptionAdornment,\n FormRenderer,\n HtmlInputProperties,\n rendererClass,\n setIncluded,\n} from \"@react-typed-forms/schemas\";\nimport { useElementSelectedRenderer } from \"@react-typed-forms/schemas\";\n\nexport function createRadioRenderer(options: CheckRendererOptions = {}) {\n return createDataRenderer(\n (p, renderer) => (\n <renderer.html.CheckButtons\n classes={options}\n controlClasses={p.renderOptions as CheckEntryClasses}\n {...p}\n className={rendererClass(p.className, options.className)}\n isChecked={(control, o) => control.value == o.value}\n setChecked={(c, o) => {\n c.setTouched(true);\n c.value = o.value;\n }}\n control={p.control}\n type=\"radio\"\n entryAdornment={fieldOptionAdornment(p)}\n renderer={renderer}\n />\n ),\n {\n renderType: DataRenderType.Radio,\n },\n );\n}\n\nexport function createCheckListRenderer(options: CheckRendererOptions = {}) {\n return createDataRenderer(\n (p, renderer) => (\n <renderer.html.CheckButtons\n classes={options}\n controlClasses={p.renderOptions as CheckEntryClasses}\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.setTouched(true);\n c.setValue((x) => setIncluded(x ?? [], o.value, checked));\n }}\n control={p.control}\n type=\"checkbox\"\n entryAdornment={fieldOptionAdornment(p)}\n renderer={renderer}\n />\n ),\n {\n collection: true,\n renderType: DataRenderType.CheckList,\n },\n );\n}\nexport function createCheckboxRenderer(options: CheckRendererOptions = {}) {\n return createDataRenderer(\n (props, renderer) => (p) => ({\n ...p,\n label: undefined,\n children: (\n <CheckBox p={p} renderer={renderer} options={options} props={props} />\n ),\n }),\n { renderType: DataRenderType.Checkbox },\n );\n}\n\nexport function createElementSelectedRenderer(\n options: CheckRendererOptions = {},\n) {\n return createDataRenderer(\n (props, renderer) => (p) => ({\n ...p,\n label: undefined,\n children: (\n <CheckBoxSelected\n p={p}\n renderer={renderer}\n options={options}\n props={props}\n />\n ),\n }),\n {\n renderType: DataRenderType.ElementSelected,\n },\n );\n}\n\nfunction CheckBoxSelected({\n p,\n props,\n renderer,\n options,\n}: {\n p: ControlLayoutProps;\n props: DataRendererProps;\n renderer: FormRenderer;\n options: CheckRendererOptions;\n}) {\n const { Div } = renderer.html;\n const selControl = useElementSelectedRenderer(props);\n return (\n <Div className={rendererClass(props.className, options.entryClass)}>\n <Fcheckbox\n id={props.id}\n control={selControl}\n style={props.style}\n className={options.checkClass}\n renderer={renderer}\n />\n {p.label?.label && renderer.renderLabel(p.label, undefined, undefined)}\n </Div>\n );\n}\n\nfunction CheckBox({\n p,\n props,\n renderer,\n options,\n}: {\n p: ControlLayoutProps;\n props: DataRendererProps;\n renderer: FormRenderer;\n options: CheckRendererOptions;\n}) {\n const { Div } = renderer.html;\n return (\n <Div className={rendererClass(props.className, options.entryClass)}>\n <Fcheckbox\n id={props.id}\n control={props.control.as()}\n style={props.style}\n className={options.checkClass}\n renderer={renderer}\n />\n {p.label && renderer.renderLabel(p.label, undefined, undefined)}\n </Div>\n );\n}\n\nexport function Fcheckbox({\n control,\n type = \"checkbox\",\n notValue = false,\n renderer,\n ...others\n}: HtmlInputProperties & {\n control: Control<boolean | null | undefined>;\n renderer: FormRenderer;\n notValue?: boolean;\n}) {\n const { Input } = renderer.html;\n const { value, onChange, errorText, ref, ...theseProps } =\n formControlProps(control);\n return (\n <Input\n {...theseProps}\n checked={!!value !== notValue}\n inputRef={(r) => (control.element = r)}\n onChangeChecked={(e) => {\n control.touched = true;\n control.value = e !== notValue;\n }}\n type={type}\n {...others}\n />\n );\n}\n","import {\n createLayoutRenderer,\n FormRenderer,\n RenderedLayout,\n rendererClass,\n renderLayoutParts,\n} from \"@react-typed-forms/schemas\";\nimport { DefaultLayoutRendererOptions } from \"../rendererOptions\";\nimport React, { ReactNode, Fragment } from \"react\";\n\nexport function createDefaultLayoutRenderer(\n options: DefaultLayoutRendererOptions = {},\n) {\n return createLayoutRenderer((props, renderers) => {\n const layout = renderLayoutParts(props, renderers);\n return {\n children: layout.wrapLayout(\n <DefaultLayout layout={layout} {...options} renderer={renderers} />,\n ),\n inline: layout.inline,\n className: rendererClass(layout.className, options.className),\n style: layout.style,\n divRef: (e) =>\n e && props.errorControl\n ? (props.errorControl.meta.scrollElement = e)\n : undefined,\n };\n });\n}\n\nexport function DefaultLayout({\n errorClass,\n renderer: {\n html: { Div, Span },\n },\n renderError = (e, errorId) =>\n e && (\n <Div>\n <Span id={errorId} className={errorClass}>\n {e}\n </Span>\n </Div>\n ),\n layout: { controlEnd, controlStart, label, children, errorControl, errorId },\n}: DefaultLayoutRendererOptions & {\n layout: RenderedLayout;\n renderer: FormRenderer;\n}) {\n const ec = errorControl;\n const errorText = ec && ec.touched ? ec.error : undefined;\n return (\n <>\n {label}\n {controlStart}\n {children}\n {renderError(errorText, errorId)}\n {controlEnd}\n </>\n );\n}\n","import React from \"react\";\nimport {\n FormRenderer,\n FormStateNode,\n SchemaDataNode,\n SchemaInterface,\n} from \"@react-typed-forms/schemas\";\n\nexport function DefaultDisplayOnly({\n dataNode,\n className,\n emptyText,\n schemaInterface,\n style,\n renderer,\n textClass,\n inline,\n state,\n}: {\n dataNode: SchemaDataNode;\n schemaInterface: SchemaInterface;\n className?: string;\n textClass?: string;\n style?: React.CSSProperties;\n inline: boolean;\n renderer: FormRenderer;\n emptyText?: string | null;\n state: FormStateNode;\n}) {\n const { display } = state.resolved;\n const text =\n display != null\n ? display\n : ((schemaInterface.isEmptyValue(\n dataNode.schema.field,\n dataNode.control.value,\n )\n ? emptyText\n : schemaInterface.textValueForData(dataNode)) ?? \"\");\n const { Div } = renderer.html;\n return (\n <Div\n style={style}\n className={className}\n textClass={textClass}\n text={text}\n inline={inline}\n />\n );\n}\n","import {\n createGroupRenderer,\n createScoped,\n DefaultFormNodeUi,\n FormStateNode,\n GroupRendererProps,\n GroupRenderType,\n rendererClass,\n TabsRenderOptions,\n} from \"@react-typed-forms/schemas\";\nimport { DefaultTabsRenderOptions } from \"../rendererOptions\";\nimport React, { Fragment, useEffect } from \"react\";\nimport clsx from \"clsx\";\nimport { useControl } from \"@react-typed-forms/core\";\nimport { Control } from \"@astroapps/controls\";\n\nexport function createTabsRenderer(options: DefaultTabsRenderOptions = {}) {\n return createGroupRenderer(\n (p, renderer) => {\n return (\n <TabsRenderer\n groupProps={p}\n tabOptions={p.renderOptions as TabsRenderOptions}\n options={options}\n />\n );\n },\n {\n renderType: GroupRenderType.Tabs,\n },\n );\n}\n\nfunction TabsRenderer({\n options,\n groupProps: { designMode, formNode, className, renderChild },\n tabOptions,\n}: {\n options: DefaultTabsRenderOptions;\n groupProps: GroupRendererProps;\n tabOptions: TabsRenderOptions;\n}) {\n const tabIndex = useControl(0);\n\n useEffect(() => {\n formNode.attachUi(new TabUi(tabIndex, formNode));\n }, [formNode, tabIndex]);\n\n const {\n tabClass,\n labelClass,\n tabListClass,\n inactiveClass,\n activeClass,\n contentClass,\n } = options;\n const currentTab = tabIndex.value;\n return designMode ? (\n <>{formNode.children.map((x, i) => renderTabs([x], i))}</>\n ) : (\n renderTabs(\n formNode.children.filter((x, i) => x.visible),\n 0,\n )\n );\n\n function renderTabs(tabs: FormStateNode[], key: number) {\n return (\n <div key={key} className={rendererClass(className, options.className)}>\n <ul className={rendererClass(null, tabListClass)}>\n {tabs.map((x, i) => (\n <li\n key={i}\n className={rendererClass(null, tabClass)}\n onClick={() => (tabIndex.value = i)}\n >\n <span\n className={rendererClass(\n null,\n clsx(\n labelClass,\n i == currentTab ? activeClass : inactiveClass,\n ),\n )}\n >\n {x.definition.title ? x.definition.title : \"<untitled>\"}\n </span>\n </li>\n ))}\n </ul>\n <div className={rendererClass(tabOptions.contentClass, contentClass)}>\n {renderChild(tabs[currentTab])}\n </div>\n </div>\n );\n }\n}\n\nclass TabUi extends DefaultFormNodeUi {\n constructor(\n private tabIndex: Control<number>,\n node: FormStateNode,\n ) {\n super(node);\n }\n ensureChildVisible(childIndex: number) {\n this.tabIndex.value = childIndex;\n super.ensureChildVisible(childIndex);\n }\n}\n","import {\n createGroupRenderer,\n FormRenderer,\n GridRendererOptions,\n GroupRendererProps,\n GroupRenderType,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\nimport { DefaultGridRenderOptions } from \"../rendererOptions\";\nimport { ReactNode } from \"react\";\n\nexport function createGridRenderer(options?: DefaultGridRenderOptions) {\n return createGroupRenderer(\n (props, formRenderer) => (\n <GridRenderer\n groupProps={props}\n formRenderer={formRenderer}\n options={options}\n />\n ),\n {\n renderType: GroupRenderType.Grid,\n },\n );\n}\n\nfunction GridRenderer(props: {\n groupProps: GroupRendererProps;\n formRenderer: FormRenderer;\n options?: DefaultGridRenderOptions;\n}) {\n const { formNode, renderOptions, renderChild, className } = props.groupProps;\n const filteredChildren = formNode.children.filter((x, i) => x.visible);\n const { Div } = props.formRenderer.html;\n const defaults = props.options ?? {};\n const gridOptions = renderOptions as GridRendererOptions;\n const numColumns = gridOptions.columns ?? defaults.defaultColumns ?? 2;\n const allChildren = filteredChildren.map((x) => renderChild(x));\n\n const cellClass = gridOptions.cellClass\n ? getCellClassNames(gridOptions.cellClass)\n : getCellClassNames(defaults.cellClass);\n\n // split into numColumns items wrapped a div each\n const rows: ReactNode[][] = [];\n for (let i = 0; i < allChildren.length; i += numColumns) {\n rows.push(allChildren.slice(i, i + numColumns));\n }\n return (\n <Div className={rendererClass(className, defaults.className)}>\n {rows.map((row, rowIndex) => (\n <Div\n key={rowIndex}\n className={rendererClass(gridOptions.rowClass, defaults.rowClass)}\n >\n {row.map((cell, cellIndex) => (\n <Div\n key={cellIndex}\n className={cellClass?.at(cellIndex) ?? \"flex-1\"}\n >\n {cell}\n </Div>\n ))}\n </Div>\n ))}\n </Div>\n );\n}\n\nfunction getCellClassNames(cellClass?: string) {\n return cellClass?.split(\",\");\n}\n","import {\n ActionRendererProps,\n createAction,\n createGroupRenderer,\n deepMerge,\n fontAwesomeIcon,\n FormRenderer,\n GroupRendererProps,\n GroupRenderType,\n IconPlacement,\n IconReference,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\nimport { CustomNavigationProps, DefaultWizardRenderOptions } from \"../rendererOptions\";\nimport { useComputed, useControl } from \"@react-typed-forms/core\";\nimport { Fragment, ReactNode } from \"react\";\n\n\nconst defaultOptions = {\n classes: {\n className: undefined,\n contentClass: \"min-h-96 overflow-auto\",\n navContainerClass: \"flex justify-between gap-4 my-2\",\n },\n actions: {\n nextText: \"Next\",\n nextIcon: fontAwesomeIcon(\"chevron-right\"),\n nextValidate: true,\n prevText: \"Prev\",\n prevIcon: fontAwesomeIcon(\"chevron-left\"),\n prevValidate: false,\n },\n renderNavigation: defaultNavigationRender,\n} satisfies DefaultWizardRenderOptions;\n\nfunction defaultNavigationRender({\n formRenderer,\n prev,\n next,\n className,\n}: CustomNavigationProps) {\n {\n const {\n html: { Div },\n renderAction,\n } = formRenderer;\n return (\n <Div className={className}>\n {renderAction(prev)}\n {renderAction(next)}\n </Div>\n );\n }\n}\n\nexport function createWizardRenderer(options?: DefaultWizardRenderOptions) {\n return createGroupRenderer(\n (props, formRenderer) => (\n <WizardRenderer\n groupProps={props}\n formRenderer={formRenderer}\n options={options}\n />\n ),\n {\n renderType: GroupRenderType.Wizard,\n },\n );\n}\n\nfunction WizardRenderer({\n groupProps: props,\n formRenderer,\n options,\n}: {\n groupProps: GroupRendererProps;\n formRenderer: FormRenderer;\n options?: DefaultWizardRenderOptions;\n}) {\n const mergedOptions = deepMerge(\n (options ?? {}) as typeof defaultOptions,\n defaultOptions,\n );\n const {\n classes: { className, contentClass, navContainerClass },\n actions: {\n nextText,\n nextIcon,\n prevText,\n prevIcon,\n nextValidate,\n prevValidate,\n },\n renderNavigation,\n } = mergedOptions;\n const { formNode, designMode, renderChild } = props;\n const {\n html: { Div },\n } = formRenderer;\n const childrenLength = formNode.getChildCount();\n const page = useControl(0);\n const currentPage = page.value;\n const isValid = useComputed(() => isPageValid());\n\n const next = createAction(\"nav\", () => nav(1, nextValidate), nextText, {\n hidden: !designMode && nextVisibleInDirection(1) == null,\n disabled: !isValid.value,\n icon: nextIcon,\n iconPlacement: IconPlacement.AfterText,\n });\n\n const prev = createAction(\"nav\", () => nav(-1, prevValidate), prevText, {\n disabled: !designMode && nextVisibleInDirection(-1) == null,\n icon: prevIcon,\n });\n const navElement = renderNavigation({\n formRenderer,\n page: countVisibleUntil(currentPage),\n totalPages: countVisibleUntil(childrenLength),\n prev,\n next: next,\n className: navContainerClass,\n validatePage: async () => validatePage(),\n });\n const content = designMode ? (\n <Div>{formNode.children.map((child) => renderChild(child))}</Div>\n ) : currentPage < childrenLength ? (\n <Div className={contentClass}>\n {renderChild(formNode.getChild(currentPage)!)}\n </Div>\n ) : (\n <Fragment />\n );\n\n return (\n <Div className={rendererClass(props.className, className)}>\n {content}\n {navElement}\n </Div>\n );\n\n function countVisibleUntil(untilPage: number) {\n let count = 0;\n for (let i = 0; i < untilPage && i < childrenLength; i++) {\n if (formNode.getChild(i)!.visible) {\n count++;\n }\n }\n return count;\n }\n\n function nav(dir: number, validate: boolean) {\n if (validate && !validatePage()) {\n return;\n }\n const next = nextVisibleInDirection(dir);\n if (next != null) {\n page.value = next;\n }\n }\n\n function nextVisibleInDirection(dir: number): number | null {\n let next = currentPage + dir;\n while (next >= 0 && next < childrenLength) {\n if (formNode.getChild(next)!.visible) {\n return next;\n }\n next += dir;\n }\n return null;\n }\n\n function validatePage() {\n const pageNode = formNode.getChild(currentPage);\n if (pageNode) {\n const valid = pageNode.validate();\n pageNode.setTouched(true);\n return valid;\n }\n return false;\n }\n\n function isPageValid() {\n return formNode.getChild(currentPage)!.valid;\n }\n}\n","import {\n ActionStyle,\n ControlActionHandler,\n createAction,\n createGroupRenderer,\n deepMerge,\n DialogRenderOptions,\n FormRenderer,\n GroupRendererProps,\n GroupRenderType,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\nimport { DefaultDialogRenderOptions } from \"../rendererOptions\";\nimport { createOverlayState, Dialog, Modal } from \"@astroapps/aria-base\";\nimport { useControl } from \"@react-typed-forms/core\";\nimport { Fragment } from \"react\";\n\nexport const defaultDialogOptions = {\n classes: {\n className: \"\",\n titleClass: \"text-2xl font-bold\",\n containerClass:\n \"relative m-4 p-4 min-w-[400px] max-w-[80%] rounded-lg bg-white shadow-sm\",\n },\n} satisfies DefaultDialogRenderOptions;\n\nexport function createDialogRenderer(options?: DefaultDialogRenderOptions) {\n return createGroupRenderer(\n (props, renderer) => (\n <DefaultDialogRenderer\n props={props}\n options={options}\n renderer={renderer}\n renderOptions={props.renderOptions as DialogRenderOptions}\n />\n ),\n {\n renderType: GroupRenderType.Dialog,\n },\n );\n}\n\nexport function DefaultDialogRenderer({\n props,\n renderOptions,\n options,\n renderer,\n}: {\n props: GroupRendererProps;\n options?: DefaultDialogRenderOptions;\n renderOptions: DialogRenderOptions;\n renderer: FormRenderer;\n}) {\n const {\n classes: { titleClass, className, containerClass },\n } = deepMerge(options as typeof defaultDialogOptions, defaultDialogOptions);\n const open = useControl(false);\n const overlayState = createOverlayState(open);\n\n const actionOnClick: ControlActionHandler = (action) => {\n switch (action) {\n case \"closeDialog\":\n return () => overlayState.close();\n case \"openDialog\":\n return () => overlayState.open();\n }\n };\n\n const allChildren = props.formNode.children;\n const triggerChildren = allChildren.filter(\n (x) => x.definition.placement === \"trigger\",\n );\n const dialogContent = (\n <Dialog\n title={renderOptions.title}\n titleClass={titleClass}\n className={rendererClass(props.className, className)}\n >\n {allChildren\n .filter(\n (x) => !x.definition.placement || x.definition.placement === \"dialog\",\n )\n .map((x, i) => props.renderChild(x, { actionOnClick }))}\n </Dialog>\n );\n\n return (\n <>\n {triggerChildren.map((x, i) => props.renderChild(x, { actionOnClick }))}\n {props.designMode\n ? designContent()\n : open.value && (\n <Modal\n state={overlayState}\n isDismissable\n containerClass={containerClass}\n >\n {dialogContent}\n </Modal>\n )}\n </>\n );\n\n function designContent() {\n return (\n <>\n <div onClickCapture={() => overlayState.toggle()}>\n {renderer.renderAction(\n createAction(\n \"Toggle Dialog\",\n () => {},\n open.value ? \"Hide Content\" : \"Show Content\",\n { actionStyle: ActionStyle.Link },\n ),\n )}\n </div>\n {open.value && dialogContent}\n </>\n );\n }\n}\n","import React, {\n CSSProperties,\n Fragment,\n ReactElement,\n ReactNode,\n useId,\n} from \"react\";\nimport { Control, useControl } from \"@react-typed-forms/core\";\nimport {\n AccordionRenderer,\n ControlDataContext,\n createGroupRenderer,\n FormRenderer,\n GroupRendererProps,\n GroupRenderType,\n rendererClass,\n schemaDataForFieldRef,\n} from \"@react-typed-forms/schemas\";\nimport { DefaultAccordionRendererOptions } from \"../rendererOptions\";\n\nexport function DefaultAccordion({\n openCtrl,\n children,\n contentStyle,\n className,\n contentClassName,\n designMode,\n renderers,\n dataContext,\n title,\n options,\n defaultExpanded,\n isGroup,\n titleTextClass,\n}: {\n openCtrl?: Control<boolean> | undefined;\n children: ReactElement;\n title: ReactNode;\n isGroup: boolean;\n className?: string;\n titleTextClass?: string;\n defaultExpanded?: boolean | null;\n contentStyle?: CSSProperties;\n contentClassName?: string;\n designMode?: boolean;\n renderers: FormRenderer;\n dataContext: ControlDataContext;\n options?: DefaultAccordionRendererOptions;\n}) {\n const {\n iconOpen,\n iconClosed,\n togglerClass,\n renderTitle = (t: ReactNode) => t,\n renderToggler,\n useCss,\n } = options ?? {};\n const panelId = useId();\n const { Button, I, Div, Label } = renderers.html;\n const dataControl = (dataContext.dataNode ?? dataContext.parentNode).control;\n const open = useControl(!!defaultExpanded, { use: openCtrl });\n if (dataControl && !dataControl.meta.accordionState) {\n dataControl.meta.accordionState = open;\n }\n const isOpen = open.value;\n const fullContentStyle =\n isOpen || designMode ? contentStyle : { ...contentStyle, display: \"none\" };\n const currentIcon = isOpen ? iconOpen : iconClosed;\n const accordionClassName = rendererClass(className, options?.className);\n const accordionTitleTextClass = rendererClass(\n titleTextClass,\n options?.titleTextClass,\n );\n const accordionTitle = isGroup ? (\n title\n ) : (\n <Label textClass={accordionTitleTextClass}>{title}</Label>\n );\n\n const toggler = renderToggler ? (\n renderToggler(open, renderTitle(title, open))\n ) : (\n <Button\n className={accordionClassName}\n notWrapInText\n onClick={() => open.setValue((x) => !x)}\n aria-expanded={isOpen}\n aria-controls={panelId}\n >\n {accordionTitle}\n {currentIcon && (\n <I\n className={togglerClass}\n iconLibrary={currentIcon.library}\n iconName={currentIcon.name}\n />\n )}\n </Button>\n );\n\n // The content class name not currently used since if the content is wrapped in a group, the group will handle the styling\n return (\n <>\n {toggler}\n {(useCss || isOpen || designMode) && (\n <Div\n id={panelId}\n role=\"region\"\n style={fullContentStyle}\n className={contentClassName}\n >\n {children}\n </Div>\n )}\n </>\n );\n}\n\nexport function getAccordionState(\n c: Control<unknown>,\n): Control<boolean> | undefined {\n return c.meta.accordionState;\n}\n\nexport function createAccordionGroupRenderer(\n options?: DefaultAccordionRendererOptions,\n) {\n return createGroupRenderer(\n (p, renderer) => (\n <AccordionGroupRenderer\n groupProps={p}\n renderer={renderer}\n options={options}\n />\n ),\n {\n renderType: GroupRenderType.Accordion,\n },\n );\n}\n\nfunction AccordionGroupRenderer({\n groupProps,\n renderer,\n options,\n}: {\n groupProps: GroupRendererProps;\n renderer: FormRenderer;\n options?: DefaultAccordionRendererOptions;\n}) {\n const allChildren = groupProps.formNode.children;\n const titleChildren = allChildren.filter(\n (x) => x.definition.placement === \"title\",\n );\n const contentChildren = allChildren.filter(\n (x) => x.definition.placement !== \"title\",\n );\n\n const { expandStateField, defaultExpanded } =\n groupProps.renderOptions as AccordionRenderer;\n\n const expandStateFieldNode = expandStateField\n ? schemaDataForFieldRef(expandStateField, groupProps.dataContext.parentNode)\n : null;\n\n const open = expandStateFieldNode?.control.as<boolean>();\n\n return (\n <DefaultAccordion\n openCtrl={open}\n isGroup={true}\n options={options}\n children={<>{contentChildren.map((x) => groupProps.renderChild(x))}</>}\n title={<>{titleChildren.map((x) => groupProps.renderChild(x))}</>}\n renderers={renderer}\n className={groupProps.className}\n dataContext={groupProps.dataContext}\n designMode={groupProps.designMode}\n defaultExpanded={defaultExpanded}\n contentStyle={groupProps.style}\n />\n );\n}\n","import {\n ControlLayoutProps,\n FlexRenderer,\n FormRenderer,\n GroupRendererProps,\n GroupRendererRegistration,\n GroupRenderType,\n isAccordionRenderer,\n isDialogRenderer,\n isFlexRenderer,\n isGridRenderer,\n isInlineRenderer,\n isSelectChildRenderer,\n isTabsRenderer,\n isWizardRenderer,\n rendererClass,\n SelectChildRenderer,\n useExpression,\n} from \"@react-typed-forms/schemas\";\nimport {\n DefaultAccordionRendererOptions,\n DefaultDialogRenderOptions,\n DefaultGridRenderOptions,\n DefaultGroupRendererOptions,\n DefaultTabsRenderOptions,\n DefaultWizardRenderOptions,\n DefaultAdornmentRendererOptions,\n} from \"../rendererOptions\";\nimport clsx from \"clsx\";\nimport React, { CSSProperties, ReactElement } from \"react\";\nimport { createTabsRenderer } from \"./TabsRenderer\";\nimport { createGridRenderer } from \"./GridRenderer\";\nimport {\n createWizardRenderer,\n} from \"./DefaultWizardRenderer\";\nimport {\n createDialogRenderer,\n} from \"./DefaultDialogRenderer\";\nimport { createAccordionGroupRenderer } from \"./DefaultAccordion\";\n\ninterface StyleProps {\n className?: string;\n style?: CSSProperties;\n}\n\n\nexport function createDefaultGroupRenderer(\n options?: DefaultGroupRendererOptions,\n adornmentOptions?: DefaultAdornmentRendererOptions,\n): GroupRendererRegistration {\n const gridRenderer = createGridRenderer(options?.grid);\n const tabsRenderer = createTabsRenderer(options?.tabs);\n const wizardRenderer = createWizardRenderer(options?.wizard);\n const dialogRenderer = createDialogRenderer(options?.dialog);\n const accordionRenderer = createAccordionGroupRenderer(\n options?.accordion ?? adornmentOptions?.accordion,\n );\n const {\n className,\n standardClassName,\n flexClassName,\n inlineClass,\n defaultFlexGap,\n } = options ?? {};\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, renderer: FormRenderer) {\n const { renderChild, renderOptions, formNode } = props;\n if (isTabsRenderer(renderOptions))\n return tabsRenderer.render(props, renderer);\n if (isGridRenderer(renderOptions))\n return gridRenderer.render(props, renderer);\n if (isWizardRenderer(renderOptions))\n return wizardRenderer.render(props, renderer);\n if (isDialogRenderer(renderOptions))\n return dialogRenderer.render(props, renderer);\n if (isAccordionRenderer(renderOptions))\n return accordionRenderer.render(props, renderer);\n if (isSelectChildRenderer(renderOptions) && !props.designMode) {\n return (\n <SelectChildGroupRenderer\n props={{ ...props, renderOptions }}\n renderer={renderer}\n />\n );\n }\n\n const { style, className: gcn } = isFlexRenderer(renderOptions)\n ? flexStyles(renderOptions)\n : isInlineRenderer(renderOptions)\n ? ({ className: inlineClass } as StyleProps)\n : ({ className: standardClassName } as StyleProps);\n const { Div } = renderer.html;\n const inline = renderOptions.type == GroupRenderType.Inline;\n const children = formNode.children.map((c, i) =>\n renderChild(c, {\n inline,\n }),\n );\n return (\n <Div\n className={rendererClass(props.className, clsx(className, gcn))}\n textClass={props.textClass}\n style={style}\n inline={inline}\n >\n {children}\n </Div>\n );\n }\n\n function renderLayout(\n props: GroupRendererProps,\n renderer: FormRenderer,\n ): ReactElement | ((layout: ControlLayoutProps) => ControlLayoutProps) {\n if (props.renderOptions.type === GroupRenderType.Contents) {\n const { formNode, renderChild } = props;\n const children = formNode.children.map((c) => renderChild(c));\n return (layout) => {\n return {\n ...layout,\n inline: true,\n children,\n };\n };\n }\n return render(props, renderer);\n }\n\n return { type: \"group\", render: renderLayout };\n}\n\ntype SelectChildProps = Pick<\n GroupRendererProps,\n \"runExpression\" | \"dataContext\" | \"formNode\" | \"renderChild\"\n> & {\n renderOptions: SelectChildRenderer;\n};\nfunction SelectChildGroupRenderer({\n props,\n renderer,\n}: {\n props: SelectChildProps;\n renderer: FormRenderer;\n}) {\n const { Div } = renderer.html;\n const { runExpression, renderOptions } = props;\n const ctrl = useExpression(\n undefined,\n runExpression,\n renderOptions?.childIndexExpression,\n (x) => (typeof x == \"string\" ? parseInt(x) : x),\n );\n const childIndex = ctrl?.value;\n const childCount = props.formNode.getChildCount();\n return (\n <Div>\n {typeof childIndex === \"number\" &&\n childIndex < childCount &&\n childIndex >= 0 &&\n props.renderChild(props.formNode.getChild(childIndex)!)}\n </Div>\n );\n}\n","import {\n createVisibilityRenderer,\n VisibilityRendererProps,\n} from \"@react-typed-forms/schemas\";\nimport { FormRenderer } from \"@react-typed-forms/schemas/lib\";\nimport React, { Fragment, useEffect } from \"react\";\n\nexport function createDefaultVisibilityRenderer() {\n return createVisibilityRenderer((props, renderer) => (\n <DefaultVisibility {...props} renderer={renderer} />\n ));\n}\n\nexport function DefaultVisibility({\n visibility,\n children,\n className,\n style,\n divRef,\n renderer,\n inline,\n}: VisibilityRendererProps & { renderer: FormRenderer }) {\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 const { Div } = renderer.html;\n if (inline) return v?.visible ? children : undefined;\n return v?.visible ? (\n <Div\n className={className}\n style={style}\n nativeRef={divRef}\n children={children}\n />\n ) : (\n <></>\n );\n}\n","import {\n ChangeListenerFunc,\n Control,\n delayedValue,\n trackedValue,\n useComputed,\n} from \"@react-typed-forms/core\";\nimport React from \"react\";\nimport {\n coerceToString,\n ControlDataContext,\n createDataRenderer,\n DataRenderType,\n ExpressionType,\n FormContextData,\n getJsonPath,\n JsonataExpression,\n JsonataRenderOptions,\n rendererClass,\n RunExpression,\n SchemaDataNode,\n useExpression,\n} from \"@react-typed-forms/schemas\";\n\nexport function createJsonataRenderer(className?: string) {\n return createDataRenderer(\n (p) => (\n <JsonataRenderer\n renderOptions={p.renderOptions as JsonataRenderOptions}\n className={rendererClass(p.className, className)}\n dataNode={p.dataNode}\n dataContext={p.dataContext}\n control={p.control}\n readonly={p.readonly}\n runExpression={p.runExpression}\n />\n ),\n { renderType: DataRenderType.Jsonata },\n );\n}\n\nexport function JsonataRenderer({\n control,\n renderOptions,\n readonly,\n className,\n dataContext,\n dataNode,\n runExpression,\n}: {\n control: Control<any>;\n renderOptions: JsonataRenderOptions;\n className?: string;\n dataContext: ControlDataContext;\n dataNode: SchemaDataNode;\n readonly: boolean;\n runExpression: RunExpression;\n}) {\n const bindings = (changes: ChangeListenerFunc<any>) => ({\n value: trackedValue(control, changes),\n readonly,\n disabled: control.disabled,\n dataPath: getJsonPath(dataNode),\n });\n const rendered = useExpression(\n \"\",\n runExpression,\n {\n type: ExpressionType.Jsonata,\n expression: renderOptions.expression,\n } as JsonataExpression,\n coerceToString,\n bindings,\n );\n return (\n <div\n className={className}\n dangerouslySetInnerHTML={{ __html: rendered.value }}\n />\n );\n}\n","import {\n createDataRenderer,\n DataRenderType,\n FieldType,\n getLastDefinedValue,\n getNullToggler,\n} from \"@react-typed-forms/schemas\";\n\nexport function createNullToggleRenderer() {\n return createDataRenderer(\n ({ control, field, renderOptions, ...props }, renderers) => {\n const lastDefined = getLastDefinedValue(control);\n if (lastDefined.current.value == null)\n lastDefined.value = props.definition.defaultValue;\n const nullControl = getNullToggler(control);\n nullControl.disabled = props.readonly;\n return (layout) => {\n return renderers.renderData({\n ...props,\n control: nullControl,\n field: { ...field, type: FieldType.Bool },\n renderOptions: { type: DataRenderType.Checkbox },\n })(layout);\n };\n },\n );\n}\n","import clsx from \"clsx\";\nimport React, { Fragment, ReactNode } from \"react\";\nimport {\n ActionRendererProps,\n applyArrayLengthRestrictions,\n ArrayActionOptions,\n ArrayRendererProps,\n ArrayRendererRegistration,\n ArrayRenderOptions,\n createArrayActions,\n createDataRenderer,\n DataRendererProps,\n DataRendererRegistration,\n DataRenderType,\n FormRenderer,\n getLengthRestrictions,\n HtmlComponents,\n isArrayRenderer,\n mergeObjects,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\nimport { DefaultArrayRendererOptions } from \"../rendererOptions\";\nimport { RenderControl } from \"@react-typed-forms/core\";\n\nexport function createDefaultArrayDataRenderer(\n defaultActions?: ArrayActionOptions,\n): DataRendererRegistration {\n return createDataRenderer(\n (props, renderers) => {\n return (\n <DataArrayRenderer\n dataProps={props}\n renderers={renderers}\n defaultActions={defaultActions}\n />\n );\n },\n { renderType: DataRenderType.Array, collection: true },\n );\n}\n\n/**\n * @trackControls\n */\nexport function DataArrayRenderer({\n dataProps,\n renderers,\n defaultActions,\n}: {\n renderers: FormRenderer;\n dataProps: DataRendererProps;\n defaultActions?: ArrayActionOptions;\n}) {\n const {\n renderOptions,\n control,\n field,\n readonly,\n designMode,\n required,\n renderChild,\n definition,\n className,\n style,\n dataContext,\n formNode,\n } = dataProps;\n\n const {\n addText,\n noAdd,\n noRemove,\n noReorder,\n removeText,\n editExternal,\n childOverrideClass,\n } = mergeObjects(\n isArrayRenderer(renderOptions) ? renderOptions : ({} as ArrayRenderOptions),\n defaultActions as ArrayRenderOptions,\n );\n\n const arrayProps = {\n ...createArrayActions(control.as(), () => formNode.getChildCount(), field, {\n addText,\n removeText,\n noAdd,\n noRemove,\n readonly,\n disabled: control.disabled,\n designMode,\n editExternal,\n }),\n childOverrideClass,\n required,\n renderElement: (i, wrap) => {\n const n = formNode.getChild(i);\n return !n || !n.visible ? undefined : wrap(n.childKey, renderChild(n));\n },\n className: className ? className : undefined,\n style,\n ...getLengthRestrictions(definition),\n } satisfies ArrayRendererProps;\n\n return renderers.renderArray(arrayProps);\n}\n\nexport function createDefaultArrayRenderer(\n options?: DefaultArrayRendererOptions,\n): ArrayRendererRegistration {\n return {\n render: (props, { renderAction, html }) => (\n <DefaultArrayRenderer\n {...props}\n {...options}\n renderAction={renderAction}\n html={html}\n />\n ),\n type: \"array\",\n };\n}\n\nexport interface DefaultArrayRendererProps\n extends DefaultArrayRendererOptions,\n ArrayRendererProps {\n renderAction: (props: ActionRendererProps) => ReactNode;\n html: HtmlComponents;\n}\n\nexport function DefaultArrayRenderer(props: DefaultArrayRendererProps) {\n const {\n renderElement,\n className,\n removableClass,\n childClass,\n removableChildClass,\n childOverrideClass,\n removeActionClass,\n addActionClass,\n getElementCount,\n renderAction,\n style,\n editAction,\n html: { Div },\n } = props;\n const { addAction, removeAction } = applyArrayLengthRestrictions(props);\n return (\n <Div style={style}>\n <Div className={clsx(className, removeAction && removableClass)}>\n {Array.from({ length: getElementCount() }, (_, x) => (\n <RenderControl\n key={x}\n render={() =>\n renderElement(x, (key, children) =>\n removeAction || editAction ? (\n <Fragment key={key}>\n <Div\n className={clsx(\n rendererClass(childOverrideClass, childClass),\n removableChildClass,\n )}\n >\n {children}\n </Div>\n <Div className={removeActionClass}>\n {editAction && renderAction(editAction(x))}\n {removeAction && renderAction(removeAction(x))}\n </Div>\n </Fragment>\n ) : (\n <Div\n key={key}\n className={rendererClass(childOverrideClass, childClass)}\n >\n {children}\n </Div>\n ),\n )\n }\n />\n ))}\n </Div>\n {addAction && (\n <Div className={addActionClass}>{renderAction(addAction)}</Div>\n )}\n </Div>\n );\n}\n","import React from \"react\";\nimport {\n Control,\n controlValues,\n removeElement,\n useControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\nimport {\n AutocompleteClasses,\n createDataRenderer,\n DataRenderType,\n FieldOption,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\nimport { AutocompleteRendererOptions } from \"../rendererOptions\";\nimport { useAutocomplete, UseAutocompleteProps } from \"@mui/base\";\nimport clsx from \"clsx\";\n\nexport interface AutocompleteProps<A, Multiple extends boolean>\n extends UseAutocompleteProps<A, Multiple, false, true> {\n control: Control<any>;\n className?: string;\n classes: AutocompleteRendererOptions;\n controlClasses?: AutocompleteClasses;\n}\n\nconst inputClass =\n \"leading-[1.5] text-surface-900 bg-[inherit] border-0 rounded-[inherit] px-3 py-2 outline-0 grow shrink-0 basis-auto focus:outline-0 focus:ring-0 focus:shadow-none\";\n\nexport function createAutocompleteRenderer(\n options: AutocompleteRendererOptions = {},\n) {\n return createDataRenderer(\n (p) => {\n return p.field.collection ? (\n <MultipleAutocomplete\n options={p.options ?? []}\n control={p.control}\n className={rendererClass(p.className, options.className)}\n classes={options}\n controlClasses={p.renderOptions as AutocompleteClasses}\n readOnly={p.readonly}\n id={p.id}\n />\n ) : (\n <SingleAutocomplete\n options={p.options ?? []}\n control={p.control}\n className={rendererClass(p.className, options.className)}\n classes={options}\n controlClasses={p.renderOptions as AutocompleteClasses}\n readOnly={p.readonly}\n id={p.id}\n />\n );\n },\n {\n renderType: DataRenderType.Autocomplete,\n },\n );\n}\n\nfunction SingleAutocomplete({\n ...props\n}: AutocompleteProps<FieldOption | string, false>) {\n const { id, control, className, readOnly, classes, controlClasses } = props;\n const { disabled } = control;\n\n const inputControl = useControl<string>(\"\");\n const selectedOptionControl = useControl<string | FieldOption | null>(null);\n\n const listContainerClass = rendererClass(\n controlClasses?.listContainerClass,\n classes.listContainerClass,\n );\n\n const listEntryClass = rendererClass(\n controlClasses?.listEntryClass,\n classes.listEntryClass,\n );\n\n useControlEffect(\n controlValues(inputControl, selectedOptionControl),\n ([text, selected]) => {\n control.value = selected\n ? typeof selected === \"string\"\n ? selected\n : selected.value\n : text;\n },\n );\n\n const {\n getRootProps,\n getInputProps,\n getListboxProps,\n getOptionProps,\n groupedOptions,\n popupOpen,\n focused,\n getPopupIndicatorProps,\n } = useAutocomplete({\n freeSolo: true,\n multiple: false,\n readOnly,\n value: selectedOptionControl.value,\n inputValue: inputControl.value,\n getOptionLabel: (v) => (typeof v === \"string\" ? v : v.name),\n filterOptions: (o, s) =>\n o.filter((o) => {\n const label = typeof o === \"string\" ? o : o.name;\n return label.toLowerCase().includes(s.inputValue.toLowerCase());\n }),\n onInputChange: (_, v, reason) => {\n inputControl.value = v;\n if (reason === \"input\") selectedOptionControl.value = null;\n },\n onChange: (_, v, reason) => {\n if (reason === \"selectOption\") {\n selectedOptionControl.value = v;\n }\n },\n ...props,\n });\n return (\n <div id={id} className={\"relative\"} {...getRootProps()}>\n <div\n className={clsx(\n className,\n focused\n ? \"border-primary-400 shadow-[0_0_0_3px_transparent] shadow-primary-200\"\n : \"shadow-[0_2px_2px_transparent] shadow-surface-50\",\n )}\n >\n <input\n type={\"text\"}\n {...getInputProps()}\n placeholder={controlClasses?.placeholder ?? \"\"}\n className={inputClass}\n readOnly={readOnly}\n />\n\n <button\n {...getPopupIndicatorProps()}\n disabled={disabled || readOnly}\n className={\n \"outline-0 shadow-none border-0 py-0 px-0.5 bg-transparent pr-[10px]\"\n }\n >\n <li\n className={clsx(\n \"fa-solid fa-angle-down\",\n \"text-primary-500\",\n popupOpen && \"rotate-180\",\n )}\n />\n </button>\n </div>\n {groupedOptions.length > 0 && popupOpen && (\n <ul {...getListboxProps()} className={listContainerClass}>\n {(groupedOptions as FieldOption[]).map((option, index) => {\n const optionProps = getOptionProps({ option, index });\n return (\n <li\n {...optionProps}\n key={optionProps.key}\n className={listEntryClass}\n >\n {option.name}\n </li>\n );\n })}\n </ul>\n )}\n </div>\n );\n}\n\nfunction MultipleAutocomplete({\n ...props\n}: AutocompleteProps<FieldOption, true>) {\n const { id, control, className, readOnly, classes, controlClasses } = props;\n const { disabled } = control;\n\n const inputControl = useControl<string>(\"\");\n const selectedOptionsControl = useControl<(string | FieldOption)[] | null>(\n null,\n );\n\n const listContainerClass = rendererClass(\n controlClasses?.listContainerClass,\n classes.listContainerClass,\n );\n const listEntryClass = rendererClass(\n controlClasses?.listEntryClass,\n classes.listEntryClass,\n );\n\n const chipContainerClass = rendererClass(\n controlClasses?.chipContainerClass,\n classes.chipContainerClass,\n );\n\n const chipCloseButtonClass = rendererClass(\n controlClasses?.chipCloseButtonClass,\n classes.chipCloseButtonClass,\n );\n\n useControlEffect(\n controlValues(inputControl, selectedOptionsControl),\n ([text, selected]) => {\n const selectedValues =\n selected?.map((v) => {\n return typeof v === \"string\" ? v : v.value;\n }) ?? [];\n control.value = text ? selectedValues.concat(text) : selectedValues;\n },\n );\n\n const {\n getRootProps,\n getInputProps,\n getListboxProps,\n getOptionProps,\n groupedOptions,\n popupOpen,\n focused,\n getPopupIndicatorProps,\n } = useAutocomplete({\n value: selectedOptionsControl.value ?? [],\n inputValue: inputControl.value,\n freeSolo: true,\n readOnly,\n multiple: true,\n getOptionLabel: (v) => (typeof v === \"string\" ? v : v.name),\n filterOptions: (o, s) =>\n o.filter((o) => {\n const label = typeof o === \"string\" ? o : o.name;\n return label.toLowerCase().includes(s.inputValue.toLowerCase());\n }),\n onInputChange: (_, v) => {\n inputControl.value = v;\n },\n onChange: (_, v, reason) => {\n if (reason === \"selectOption\" || reason === \"removeOption\") {\n selectedOptionsControl.value = v;\n }\n },\n ...props,\n });\n\n return (\n <div id={id} className={\"relative\"} {...getRootProps()}>\n <div\n className={clsx(\n className,\n focused\n ? \"border-primary-400 shadow-[0_0_0_3px_transparent] shadow-primary-200\"\n : \"shadow-[0_2px_2px_transparent] shadow-surface-50\",\n )}\n >\n <div className={\"flex flex-1 flex-row flex-wrap\"}>\n {selectedOptionsControl.value?.map((v) => (\n <Chip\n key={typeof v === \"string\" ? v : v.name}\n text={typeof v === \"string\" ? v : v.name}\n chipContainerClass={chipContainerClass}\n chipCloseButtonClass={chipCloseButtonClass}\n onDeleteClick={\n readOnly || disabled\n ? undefined\n : () => {\n const c = selectedOptionsControl.elements.find(\n (x) => x.value == v,\n );\n if (c) removeElement(selectedOptionsControl, c);\n }\n }\n />\n ))}\n <input\n type={\"text\"}\n {...getInputProps()}\n placeholder={controlClasses?.placeholder ?? \"\"}\n className={clsx(inputClass)}\n readOnly={readOnly}\n />\n </div>\n\n <button\n {...getPopupIndicatorProps()}\n disabled={disabled || readOnly}\n className={\n \"outline-0 shadow-none border-0 py-0 px-0.5 bg-transparent pr-[10px]\"\n }\n >\n <i\n className={clsx(\n \"fa-solid fa-angle-down\",\n \"text-primary-500\",\n popupOpen && \"rotate-180\",\n )}\n />\n </button>\n </div>\n {groupedOptions.length > 0 && popupOpen && (\n <ul {...getListboxProps()} className={listContainerClass}>\n {(groupedOptions as FieldOption[]).map((option, index) => {\n const optionProps = getOptionProps({ option, index });\n return (\n <li\n {...optionProps}\n key={optionProps.key}\n className={listEntryClass}\n >\n {option.name}\n </li>\n );\n })}\n </ul>\n )}\n </div>\n );\n}\n\nfunction Chip({\n text,\n chipContainerClass,\n chipCloseButtonClass,\n onDeleteClick,\n}: {\n text: string;\n chipContainerClass?: string;\n chipCloseButtonClass?: string;\n onDeleteClick?: () => void;\n}) {\n return (\n <div className={chipContainerClass}>\n {text}\n <i\n className={chipCloseButtonClass}\n onClick={() => {\n onDeleteClick?.();\n }}\n />\n </div>\n );\n}\n","import {\n Control,\n setFields,\n trackedValue,\n useControl,\n} from \"@react-typed-forms/core\";\nimport {\n boolField,\n buildSchema,\n ControlDefinitionExtension,\n createDataRenderer,\n createFormTree,\n createSchemaDataNode,\n createSchemaTree,\n DataControlDefinition,\n defaultControlForField,\n FormRenderer,\n RenderForm,\n RenderOptions,\n schemaDataForFieldRef,\n SchemaField,\n schemaForFieldRef,\n SchemaNode,\n stringField,\n} from \"@react-typed-forms/schemas\";\nimport { ValueForFieldRenderOptions, ValueForFieldOptions } from \"../rendererOptions\";\nimport React, { Fragment, useMemo } from \"react\";\n\nconst RenderType = \"ValueForField\";\n\nexport const ValueForFieldExtension: ControlDefinitionExtension = {\n RenderOptions: {\n value: RenderType,\n name: \"Value For Field\",\n fields: buildSchema<Omit<ValueForFieldRenderOptions, \"type\">>({\n fieldRef: stringField(\"Field Reference\"),\n noOptions: boolField(\"No Options\"),\n refIsDirect: boolField(\"Reference is direct\"),\n }),\n },\n};\n\nexport function createValueForFieldRenderer(options: ValueForFieldOptions) {\n return createDataRenderer(\n (o, renderer) => {\n const { fieldRef, noOptions, refIsDirect } =\n o.renderOptions as ValueForFieldRenderOptions;\n const actualFieldRef = fieldRef\n ? refIsDirect\n ? fieldRef\n : (schemaDataForFieldRef(fieldRef, o.dataContext.parentNode)?.control\n ?.value as string)\n : \".\";\n let schemaField: SchemaField | undefined;\n if (refIsDirect) {\n const dataNode = schemaDataForFieldRef(\n actualFieldRef,\n o.dataContext.parentNode,\n );\n schemaField = trackedValue(dataNode.control.as<SchemaField>());\n } else {\n schemaField = actualFieldRef\n ? schemaForFieldRef(actualFieldRef, options.schema).field\n : undefined;\n }\n return schemaField ? (\n <ValueForField\n renderer={renderer}\n schemaField={schemaField}\n control={o.control}\n noOptions={noOptions}\n />\n ) : (\n <>{actualFieldRef ? \"No schema node for \" + actualFieldRef : \"\"}</>\n );\n },\n {\n renderType: RenderType,\n },\n );\n}\n\nfunction ValueForField({\n schemaField,\n renderer,\n control,\n noOptions,\n}: {\n schemaField: SchemaField;\n renderer: FormRenderer;\n control: Control<any>;\n noOptions?: boolean;\n}) {\n const value = useControl({ default: undefined }, undefined, (e) =>\n setFields(e, { default: control }),\n );\n const [controls, rootSchema] = useMemo(() => {\n const adjustedField: SchemaField = {\n ...schemaField,\n collection: noOptions ? false : schemaField.collection,\n options: noOptions ? undefined : schemaField.options,\n field: \"default\",\n required: false,\n notNullable: false,\n onlyForTypes: null,\n defaultValue: undefined,\n };\n const control: DataControlDefinition = {\n ...defaultControlForField(adjustedField),\n hideTitle: true,\n };\n const rootSchema = createSchemaTree([adjustedField]).rootNode;\n return [createFormTree([control]), rootSchema];\n }, [schemaField]);\n\n return (\n <RenderForm\n form={controls.rootNode}\n renderer={renderer}\n data={createSchemaDataNode(rootSchema, value)}\n options={{ disabled: control.disabled }}\n />\n );\n}\n","import {\n AdornmentPlacement,\n AdornmentRendererRegistration,\n appendMarkupAt,\n ControlAdornmentType,\n ControlDataContext,\n createAdornmentRenderer,\n getAllValues,\n getIsEditing,\n getNullToggler,\n OptionalAdornment,\n wrapMarkup,\n} from \"@react-typed-forms/schemas\";\nimport { DefaultOptionalAdornmentOptions, OptionalRenderProps } from \"../rendererOptions\";\nimport { Control, Fcheckbox, newControl } from \"@react-typed-forms/core\";\nimport React, { ReactNode } from \"react\";\nexport function createOptionalAdornment(\n options: DefaultOptionalAdornmentOptions = {},\n): AdornmentRendererRegistration {\n return createAdornmentRenderer(\n (props, renderers) => {\n const { dataContext } = props;\n const dataControl =\n dataContext.dataNode?.control ?? newControl(undefined);\n const adornment = props.adornment as OptionalAdornment;\n const editing = getIsEditing(dataControl);\n const isEditing = editing.value;\n const nullToggler = getNullToggler(dataControl);\n if (isEditing === undefined && adornment.editSelectable)\n editing.value = false;\n dataControl.disabled =\n !isEditing || !!(adornment.allowNull && !nullToggler.value);\n return {\n apply: (rl) => {\n if (props.formNode.readonly) return rl;\n if (!options.hideEdit && adornment.editSelectable)\n appendMarkupAt(\n adornment.placement ??\n options.defaultPlacement ??\n AdornmentPlacement.LabelStart,\n <Fcheckbox control={editing} className={options.checkClass} />,\n )(rl);\n wrapMarkup(\"children\", (children) => {\n const props = {\n allValues: getAllValues(dataControl),\n editing,\n children,\n adornment,\n nullToggler,\n dataContext,\n options,\n dataControl,\n };\n return options.customRender ? (\n options.customRender(props)\n ) : (\n <OptionalEditRenderer {...props} />\n );\n })(rl);\n },\n priority: 0,\n adornment,\n };\n },\n { adornmentType: ControlAdornmentType.Optional },\n );\n}\n\nexport function OptionalEditRenderer({\n children,\n options,\n adornment,\n editing,\n renderMultiValues,\n allValues,\n nullToggler,\n}: OptionalRenderProps & {\n renderMultiValues?: (allValues: Control<unknown[]>) => ReactNode;\n}) {\n renderMultiValues ??= () => options.multiValuesText ?? \"Differing values\";\n const multipleValues = allValues.value.length > 1;\n const nullEdit = adornment.allowNull ? (\n <div className={options.nullWrapperClass}>\n <Fcheckbox\n control={nullToggler}\n className={options.checkClass}\n notValue\n />\n <span>{options.setNullText ?? \"Null\"}</span>\n </div>\n ) : undefined;\n return (\n <div className={options.className}>\n {multipleValues && editing.value === false ? (\n <div className={options.multiValuesClass}>\n {renderMultiValues(allValues)}\n </div>\n ) : (\n <div className={options.childWrapperClass}>\n {nullEdit}\n {children}\n </div>\n )}\n </div>\n );\n}\n","import React, { useRef } from \"react\";\nimport { useControlEffect } from \"@react-typed-forms/core\";\nimport {\n createDataRenderer,\n DataRendererProps,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\n\nexport function createMultilineFieldRenderer(className?: string) {\n return createDataRenderer((p) => (\n <MultilineTextfield\n {...p}\n className={rendererClass(p.className, className)}\n />\n ));\n}\n\nexport function MultilineTextfield({ control, className }: DataRendererProps) {\n const codeRef = useRef<HTMLElement | null>(null);\n useControlEffect(\n () => control.value,\n (v) => {\n const c = codeRef.current;\n if (c && c.textContent !== v) {\n c.textContent = v;\n }\n },\n true,\n );\n return (\n <code\n contentEditable={!control.disabled}\n className={className}\n onInput={(t) => (control.value = t.currentTarget.textContent)}\n ref={codeRef}\n />\n );\n}\n","import { ReactNode, ReactElement } from \"react\";\nimport { Control } from \"@react-typed-forms/core\";\nimport {\n CheckRendererOptions,\n FieldOption,\n DataRendererRegistration,\n ArrayActionOptions,\n RendererRegistration,\n FormRenderer,\n IconReference,\n AdornmentPlacement,\n IconPlacement,\n RenderOptions,\n SchemaNode,\n ActionRendererProps,\n ControlDataContext,\n OptionalAdornment,\n} from \"@react-typed-forms/schemas\";\n\n// ============================================================================\n// SHARED TYPES AND INTERFACES\n// ============================================================================\n\n// Custom navigation props for wizard renderer\nexport interface CustomNavigationProps {\n className?: string;\n page: number;\n totalPages: number;\n next: ActionRendererProps;\n prev: ActionRendererProps;\n formRenderer: FormRenderer;\n validatePage: () => Promise<boolean>;\n}\n\n\n// ============================================================================\n// INDIVIDUAL COMPONENT OPTIONS INTERFACES\n// ============================================================================\n\nexport interface SelectRendererOptions {\n className?: string;\n emptyText?: string;\n requiredText?: string;\n}\n\nexport interface AutocompleteRendererOptions {\n className?: string;\n listContainerClass?: string;\n listEntryClass?: string;\n chipContainerClass?: string;\n chipCloseButtonClass?: string;\n}\n\nexport interface ArrayElementRendererOptions {\n className?: string;\n actionsClass?: string;\n}\n\nexport interface DefaultScrollListOptions {\n loadingIcon?: IconReference;\n iconClass?: string;\n spinnerClass?: string;\n className?: string;\n}\n\nexport interface DefaultDisplayRendererOptions {\n textClassName?: string;\n textTextClass?: string;\n htmlClassName?: string;\n}\n\nexport interface DefaultGridRenderOptions {\n className?: string;\n defaultColumns?: number;\n rowClass?: string;\n cellClass?: string;\n}\n\nexport interface DefaultDialogRenderOptions {\n classes?: {\n className?: string;\n titleClass?: string;\n containerClass?: string;\n };\n}\n\nexport interface DefaultTabsRenderOptions {\n className?: string;\n tabListClass?: string;\n tabClass?: string;\n labelClass?: string;\n activeClass?: string;\n inactiveClass?: string;\n contentClass?: string;\n}\n\nexport interface DefaultWizardRenderOptions {\n classes?: {\n className?: string;\n navContainerClass?: string;\n contentClass?: string;\n };\n actions?: {\n nextText?: string;\n nextIcon?: IconReference;\n nextValidate?: boolean;\n prevText?: string;\n prevIcon?: IconReference;\n prevValidate?: boolean;\n };\n renderNavigation?: (props: CustomNavigationProps) => ReactNode;\n}\n\nexport interface ValueForFieldRenderOptions extends RenderOptions {\n type: \"ValueForField\";\n fieldRef?: string | null;\n noOptions?: boolean;\n refIsDirect?: boolean;\n}\n\nexport interface ValueForFieldOptions {\n schema: SchemaNode;\n}\n\nexport interface DefaultArrayRendererOptions extends ArrayActionOptions {\n className?: string;\n removableClass?: string;\n childClass?: string;\n removableChildClass?: string;\n removeActionClass?: string;\n addActionClass?: string;\n}\n\nexport interface DefaultLayoutRendererOptions {\n className?: string;\n errorClass?: string;\n renderError?: (\n errorText: string | null | undefined,\n errorId?: string,\n ) => ReactNode;\n}\n\nexport interface DefaultActionRendererOptions {\n buttonClass?: string;\n textClass?: string;\n primaryClass?: string;\n primaryTextClass?: string;\n secondaryClass?: string;\n secondaryTextClass?: string;\n linkClass?: string;\n linkTextClass?: string;\n iconBeforeClass?: string;\n iconAfterClass?: string;\n groupClass?: string;\n renderContent?: (\n actionText: string,\n actionId: string,\n actionData: any,\n busy?: boolean,\n ) => ReactNode;\n icon?: IconReference;\n iconPlacement?: IconPlacement;\n busyIcon?: IconReference;\n busyIconPlacement?: IconPlacement;\n notWrapInText?: boolean;\n androidRippleColor?: string;\n}\n\nexport interface OptionalRenderProps {\n allValues: Control<unknown[]>;\n editing: Control<boolean | undefined>;\n children: ReactNode;\n adornment: OptionalAdornment;\n nullToggler: Control<boolean>;\n dataContext: ControlDataContext;\n options: DefaultOptionalAdornmentOptions;\n dataControl: Control<any>;\n}\n\nexport interface DefaultOptionalAdornmentOptions {\n className?: string;\n checkClass?: string;\n childWrapperClass?: string;\n multiValuesClass?: string;\n multiValuesText?: string;\n nullWrapperClass?: string;\n setNullText?: string;\n defaultPlacement?: AdornmentPlacement;\n hideEdit?: boolean;\n customRender?: (props: OptionalRenderProps) => ReactNode;\n}\n\nexport interface DefaultAccordionRendererOptions {\n className?: string;\n titleTextClass?: string;\n togglerClass?: string;\n iconOpen?: IconReference;\n iconClosed?: IconReference;\n renderTitle?: (title: ReactNode, current: Control<boolean>) => ReactNode;\n renderToggler?: (current: Control<boolean>, title: ReactNode) => ReactNode;\n useCss?: boolean;\n}\n\nexport interface DefaultHelpTextRendererOptions {\n triggerContainerClass?: string;\n triggerLabelClass?: string;\n contentContainerClass?: string;\n contentTextClass?: string;\n iconName?: string;\n iconClass?: string;\n}\n\nexport interface DefaultAdornmentRendererOptions {\n accordion?: DefaultAccordionRendererOptions;\n helpText?: DefaultHelpTextRendererOptions;\n optional?: DefaultOptionalAdornmentOptions;\n}\n\nexport interface DefaultLabelRendererOptions {\n className?: string;\n textClass?: string;\n groupLabelClass?: string;\n groupLabelTextClass?: string;\n controlLabelClass?: string;\n controlLabelTextClass?: string;\n requiredElement?: (h: FormRenderer[\"html\"]) => ReactNode;\n labelContainer?: (children: ReactElement) => ReactElement;\n}\n\nexport interface DefaultGroupRendererOptions {\n className?: string;\n standardClassName?: string;\n grid?: DefaultGridRenderOptions;\n flexClassName?: string;\n defaultFlexGap?: string;\n inlineClass?: string;\n tabs?: DefaultTabsRenderOptions;\n wizard?: DefaultWizardRenderOptions;\n dialog?: DefaultDialogRenderOptions;\n accordion?: DefaultAccordionRendererOptions;\n}\n\n// ============================================================================\n// MAIN COMPOSITE OPTIONS INTERFACES\n// ============================================================================\n\nexport interface DefaultDataRendererOptions {\n inputClass?: string;\n inputTextClass?: string;\n displayOnlyClass?: string;\n selectOptions?: SelectRendererOptions;\n checkboxOptions?: CheckRendererOptions;\n checkOptions?: CheckRendererOptions;\n radioOptions?: CheckRendererOptions;\n checkListOptions?: CheckRendererOptions;\n autocompleteOptions?: AutocompleteRendererOptions;\n arrayElementOptions?: ArrayElementRendererOptions;\n booleanOptions?: FieldOption[];\n optionRenderer?: DataRendererRegistration;\n multilineClass?: string;\n jsonataClass?: string;\n arrayOptions?: ArrayActionOptions;\n defaultEmptyText?: string;\n scrollListOptions?: DefaultScrollListOptions;\n}\n\nexport interface DefaultRendererOptions {\n data?: DefaultDataRendererOptions;\n display?: DefaultDisplayRendererOptions;\n action?: DefaultActionRendererOptions;\n array?: DefaultArrayRendererOptions;\n group?: DefaultGroupRendererOptions;\n label?: DefaultLabelRendererOptions;\n adornment?: DefaultAdornmentRendererOptions;\n layout?: DefaultLayoutRendererOptions;\n extraRenderers?: (options: DefaultRendererOptions) => RendererRegistration[];\n html?: FormRenderer[\"html\"];\n}\n\n// ============================================================================\n// ADDITIONAL CONSTANTS\n// ============================================================================\n\nexport const DefaultBoolOptions: FieldOption[] = [\n { name: \"Yes\", value: true },\n { name: \"No\", value: false },\n];","import {\n ActionRendererProps,\n ArrayElementRenderOptions,\n ControlDefinitionType,\n createDataRenderer,\n DataRendererProps,\n DataRenderType,\n ExternalEditAction,\n FormNode,\n FormRenderer,\n getExternalEditData,\n GroupedControlsDefinition,\n GroupRenderType,\n makeSchemaDataNode,\n rendererClass,\n validationVisitor,\n visitFormDataInContext,\n} from \"@react-typed-forms/schemas\";\nimport { ArrayElementRendererOptions } from \"../rendererOptions\";\nimport React, { Fragment } from \"react\";\nimport { Dialog, Modal } from \"@astroapps/aria-base\";\nimport { useOverlayTriggerState } from \"@react-stately/overlays\";\nimport { RenderElements } from \"@react-typed-forms/core\";\nexport function createArrayElementRenderer(\n options: ArrayElementRendererOptions = {},\n) {\n return createDataRenderer(\n (props, formRenderer) => (\n <ArrayElementRenderer\n dataProps={props}\n options={options}\n formRenderer={formRenderer}\n renderOptions={props.renderOptions as ArrayElementRenderOptions}\n />\n ),\n { renderType: DataRenderType.ArrayElement },\n );\n}\n\nfunction ArrayElementRenderer({\n dataProps,\n options,\n formRenderer,\n renderOptions,\n}: {\n dataProps: DataRendererProps;\n options: ArrayElementRendererOptions;\n formRenderer: FormRenderer;\n renderOptions: ArrayElementRenderOptions;\n}) {\n const { control, formNode, renderChild, designMode } = dataProps;\n const extData = getExternalEditData(control);\n const overlayState = useOverlayTriggerState({\n isOpen: true,\n onOpenChange: () => {\n extData.value = undefined;\n },\n });\n\n if (designMode || extData.value !== undefined) {\n const parentDataNode = makeSchemaDataNode(\n dataProps.dataNode.schema,\n extData.fields.data,\n );\n // TODO\n // const elementGroup: FormNode = formNode.createChildNode(\"group\", {\n // type: ControlDefinitionType.Group,\n // groupOptions: { type: GroupRenderType.Standard, hideTitle: true },\n // children: formNode.getResolvedChildren(),\n // } as GroupedControlsDefinition);\n const editContent = (\n <div className={rendererClass(dataProps.className, options.className)}>\n {/*{renderChild(\"\", elementGroup, {*/}\n {/* parentDataNode,*/}\n {/*})}*/}\n <div className={options.actionsClass}>\n <RenderElements control={extData.fields.actions}>\n {(c) => formRenderer.renderAction(applyValidation(c.value))}\n </RenderElements>\n </div>\n </div>\n );\n if (renderOptions.showInline || designMode) return editContent;\n\n return (\n <Modal state={overlayState}>\n <Dialog children={editContent} />\n </Modal>\n );\n\n function runValidation(onClick: () => void) {\n // TODO\n // let hasErrors = false;\n // visitFormDataInContext(\n // parentDataNode,\n // elementGroup,\n // validationVisitor(() => {\n // hasErrors = true;\n // }),\n // );\n // if (!hasErrors) onClick();\n }\n function applyValidation({\n action,\n dontValidate,\n }: ExternalEditAction): ActionRendererProps {\n return dontValidate\n ? action\n : {\n ...action,\n onClick: () => runValidation(action.onClick),\n };\n }\n } else return <></>;\n}\n","import React, { Fragment, ReactNode } from \"react\";\nimport {\n ActionRendererProps,\n ActionRendererRegistration,\n ActionStyle,\n createActionRenderer,\n IconPlacement,\n IconReference,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\nimport { DefaultActionRendererOptions } from \"./rendererOptions\";\n\nexport function createButtonActionRenderer(\n actionId: string | string[] | undefined,\n options: DefaultActionRendererOptions = {},\n): ActionRendererRegistration {\n return createActionRenderer(\n actionId,\n (props: ActionRendererProps, renderer) => {\n const {\n key,\n onClick,\n actionText,\n className,\n style,\n actionId,\n actionData,\n disabled,\n textClass,\n actionStyle,\n inline,\n actionContent,\n busy,\n } = props;\n const busyIcon = props.busy ? options.busyIcon : undefined;\n const stdIcon = props.icon?.name ? props.icon : options.icon;\n const icon = busyIcon ?? stdIcon;\n const stdIconPlacement =\n props.iconPlacement ??\n options.iconPlacement ??\n IconPlacement.BeforeText;\n const busyPlacement =\n props.iconPlacement ??\n options.busyIconPlacement ??\n IconPlacement.ReplaceText;\n const iconPlacement = busyIcon ? busyPlacement : stdIconPlacement;\n\n const { Button, I, Span } = renderer.html;\n const isLink = actionStyle == ActionStyle.Link;\n const isGroup = actionStyle == ActionStyle.Group;\n const classNames = rendererClass(\n className,\n isLink\n ? options.linkClass\n : isGroup\n ? options.groupClass\n : rendererClass(\n options.buttonClass,\n actionStyle == ActionStyle.Secondary\n ? options.secondaryClass\n : options.primaryClass,\n ),\n );\n\n const textClassNames = rendererClass(\n textClass,\n isLink\n ? options.linkTextClass\n : rendererClass(\n options.textClass,\n actionStyle == ActionStyle.Secondary\n ? options.secondaryTextClass\n : options.primaryTextClass,\n ),\n );\n\n const iconElement = icon && (\n <I\n iconName={icon.name}\n iconLibrary={icon.library}\n className={rendererClass(\n textClassNames,\n iconPlacement == IconPlacement.BeforeText\n ? options.iconBeforeClass\n : options.iconAfterClass,\n )}\n />\n );\n\n const textElement =\n actionContent ??\n (actionText && <Span className={textClassNames}>{actionText}</Span>);\n\n return (\n <Button\n key={key}\n className={classNames}\n textClass={textClassNames}\n disabled={disabled}\n style={style}\n onClick={onClick}\n inline={inline}\n nonTextContent={isGroup}\n title={\n iconPlacement == IconPlacement.ReplaceText ? actionText : undefined\n }\n notWrapInText={options.notWrapInText}\n androidRippleColor={options.androidRippleColor}\n >\n {options.renderContent?.(actionText, actionId, actionData, busy) ?? (\n <>\n {iconPlacement == IconPlacement.BeforeText && iconElement}\n {iconPlacement != IconPlacement.ReplaceText && textElement}\n {iconPlacement != IconPlacement.BeforeText && iconElement}\n </>\n )}\n </Button>\n );\n },\n );\n}\n","import { Control, RenderControl } from \"@react-typed-forms/core\";\nimport {\n createDataRenderer,\n DataRendererProps,\n DataRenderType,\n deepMerge,\n FormRenderer,\n getHasMoreControl,\n getLoadingControl,\n IconReference,\n NoOpControlActionContext,\n rendererClass,\n ScrollListRenderOptions,\n} from \"@react-typed-forms/schemas\";\nimport { DefaultScrollListOptions } from \"../rendererOptions\";\nimport { useEffect, useRef, Fragment } from \"react\";\n\n\nconst defaultOptions = {\n spinnerClass: \"flex justify-center my-6\",\n className: \"flex flex-row\",\n loadingIcon: undefined as IconReference | undefined,\n iconClass: \"text-[36px]\",\n} satisfies DefaultScrollListOptions;\n\nexport function createScrollListRenderer(options?: DefaultScrollListOptions) {\n return createDataRenderer(\n (p, renderer) => (\n <ScrollListRenderer dataProps={p} renderer={renderer} options={options} />\n ),\n {\n collection: true,\n renderType: DataRenderType.ScrollList,\n },\n );\n}\n\nfunction ScrollListRenderer({\n dataProps: {\n formNode,\n renderChild,\n dataNode,\n actionOnClick,\n renderOptions,\n dataContext,\n className,\n },\n renderer,\n options,\n}: {\n dataProps: DataRendererProps;\n renderer: FormRenderer;\n options?: DefaultScrollListOptions;\n}) {\n const { bottomActionId } = renderOptions as ScrollListRenderOptions;\n const loadingControl = getLoadingControl(dataNode.control);\n const hasMoreControl = getHasMoreControl(dataNode.control);\n const handler = bottomActionId\n ? actionOnClick?.(bottomActionId, undefined, dataContext)\n : undefined;\n const { I } = renderer.html;\n const { loadingIcon, spinnerClass, iconClass } = deepMerge(\n options as typeof defaultOptions,\n defaultOptions,\n );\n return (\n <>\n <div className={rendererClass(className, options?.className)}>\n {formNode.children.map((x) => renderChild(x))}\n </div>\n {loadingIcon?.name && <RenderControl render={spinner} />}\n <ScrollTrigger\n hasMoreControl={hasMoreControl}\n loadingControl={loadingControl}\n fetchMore={() => handler?.(NoOpControlActionContext)}\n />\n </>\n );\n\n function spinner() {\n return (\n loadingControl.value && (\n <div\n className={spinnerClass}\n ref={(e) => e?.scrollIntoView({ behavior: \"smooth\" })}\n >\n <I\n iconName={loadingIcon!.name}\n iconLibrary={loadingIcon!.library}\n className={iconClass}\n />\n </div>\n )\n );\n }\n}\n\nfunction ScrollTrigger({\n hasMoreControl,\n loadingControl,\n fetchMore,\n}: {\n hasMoreControl: Control<boolean>;\n loadingControl: Control<boolean>;\n fetchMore: () => void;\n}) {\n const observerTarget = useRef(null);\n\n const hasMore = hasMoreControl.value;\n const loading = loadingControl.value;\n useEffect(() => {\n const observer = new IntersectionObserver(\n (entries) => {\n if (entries[0].isIntersecting && hasMore && !loading) {\n fetchMore();\n }\n },\n { threshold: 0.5 },\n ); // Trigger when 50% of the target is visible\n\n if (observerTarget.current) {\n observer.observe(observerTarget.current);\n }\n\n return () => {\n if (observerTarget.current) {\n observer.unobserve(observerTarget.current);\n }\n };\n }, [hasMore, loading]); // Re-run effect if hasMore or loading state changes\n return <div ref={observerTarget} style={{ height: \"1px\" }}></div>;\n}\n","import { CheckButtonsProps, rendererClass } from \"@react-typed-forms/schemas\";\nimport { RenderArrayElements, useComputed } from \"@react-typed-forms/core\";\nimport { clsx } from \"clsx\";\nimport React from \"react\";\n\nexport function HtmlCheckButtons(props: CheckButtonsProps) {\n const {\n control,\n options,\n readonly,\n className,\n id,\n type,\n isChecked,\n setChecked,\n entryAdornment,\n classes,\n controlClasses = {},\n } = props;\n const { disabled } = control;\n const name = \"r\" + control.uniqueId;\n return (\n <div role=\"group\" 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 const selOrUnsel = checked\n ? rendererClass(\n controlClasses?.selectedClass,\n classes.selectedClass,\n )\n : rendererClass(\n controlClasses?.notSelectedClass,\n classes.notSelectedClass,\n );\n return (\n <div\n className={clsx(\n rendererClass(\n controlClasses?.entryWrapperClass,\n classes.entryWrapperClass,\n ),\n selOrUnsel,\n )}\n >\n <div className={classes.entryClass}>\n <input\n id={name + \"_\" + i}\n className={classes.checkClass}\n type={type}\n name={name}\n readOnly={readonly}\n disabled={disabled}\n checked={checked}\n onChange={(x) => {\n !(readonly || disabled) &&\n setChecked(control, o, x.target.checked);\n }}\n />\n <label className={classes.labelClass} htmlFor={name + \"_\" + i}>\n {o.name}\n </label>\n </div>\n {entryAdornment?.(o, i, checked)}\n </div>\n );\n }}\n </RenderArrayElements>\n </div>\n );\n}\n","import {\n createDefaultDisplayRenderer,\n} from \"./components/DefaultDisplay\";\nimport {\n createDefaultLayoutRenderer,\n} from \"./components/DefaultLayout\";\nimport { createDefaultVisibilityRenderer } from \"./components/DefaultVisibility\";\nimport React, {\n Fragment,\n isValidElement,\n ReactElement,\n ReactNode,\n} from \"react\";\nimport clsx from \"clsx\";\nimport {\n createSelectRenderer,\n} from \"./components/SelectDataRenderer\";\nimport { DefaultDisplayOnly } from \"./components/DefaultDisplayOnly\";\nimport { Control, useControlEffect } from \"@react-typed-forms/core\";\nimport { ControlInput, createInputConversion } from \"./components/ControlInput\";\nimport {\n createDefaultArrayDataRenderer,\n createDefaultArrayRenderer,\n} from \"./components/DefaultArrayRenderer\";\nimport {\n createCheckboxRenderer,\n createCheckListRenderer,\n createElementSelectedRenderer,\n createRadioRenderer,\n} from \"./components/CheckRenderer\";\nimport { DefaultAccordion } from \"./components/DefaultAccordion\";\nimport { createNullToggleRenderer } from \"./components/NullToggle\";\nimport { createMultilineFieldRenderer } from \"./components/MultilineTextfield\";\nimport { createJsonataRenderer } from \"./components/JsonataRenderer\";\nimport {\n AdornmentPlacement,\n AdornmentRendererRegistration,\n appendMarkupAt,\n ArrayActionOptions,\n CheckRendererOptions,\n ControlDataContext,\n createDataRenderer,\n DataRendererRegistration,\n DataRenderType,\n DefaultRenderers,\n FieldOption,\n FieldType,\n FormRenderer,\n hasOptions,\n HtmlButtonProperties,\n HtmlComponents,\n HtmlDivProperties,\n HtmlIconProperties,\n HtmlInputProperties,\n HtmlLabelProperties,\n IconLibrary,\n IconReference,\n isAccordionAdornment,\n isDataGroupRenderer,\n isDisplayOnlyRenderer,\n isIconAdornment,\n isOptionalAdornment,\n isSetFieldAdornment,\n isTextfieldRenderer,\n LabelRendererRegistration,\n LabelType,\n rendererClass,\n RendererRegistration,\n RunExpression,\n schemaDataForFieldRef,\n SetFieldAdornment,\n useExpression,\n wrapLayout,\n} from \"@react-typed-forms/schemas\";\nimport {\n DefaultOptionalAdornmentOptions,\n DefaultAdornmentRendererOptions,\n DefaultRendererOptions,\n DefaultDataRendererOptions,\n DefaultAccordionRendererOptions,\n DefaultHelpTextRendererOptions,\n DefaultGroupRendererOptions,\n DefaultLabelRendererOptions,\n DefaultBoolOptions,\n DefaultScrollListOptions,\n AutocompleteRendererOptions,\n ArrayElementRendererOptions,\n DefaultActionRendererOptions,\n DefaultDisplayRendererOptions,\n DefaultArrayRendererOptions,\n DefaultLayoutRendererOptions,\n SelectRendererOptions,\n} from \"./rendererOptions\";\nimport {\n createDefaultGroupRenderer,\n} from \"./components/DefaultGroupRenderer\";\nimport {\n createAutocompleteRenderer,\n} from \"./components/AutocompleteRenderer\";\nimport {\n createOptionalAdornment,\n} from \"./adornments/optionalAdornment\";\n\nimport {\n createArrayElementRenderer,\n} from \"./components/ArrayElementRenderer\";\nimport {\n createButtonActionRenderer,\n} from \"./createButtonActionRenderer\";\nimport {\n createScrollListRenderer,\n} from \"./components/ScrollListRenderer\";\nimport { HtmlCheckButtons } from \"./components/HtmlCheckButtons\";\n\n\n\nexport function createDefaultDataRenderer(\n options: DefaultDataRendererOptions = {},\n): DataRendererRegistration {\n const elementSelectedRenderer = createElementSelectedRenderer(\n options.checkboxOptions ?? options.checkOptions,\n );\n const jsonataRenderer = createJsonataRenderer(options.jsonataClass);\n const nullToggler = createNullToggleRenderer();\n const multilineRenderer = createMultilineFieldRenderer(\n options.multilineClass,\n );\n const checkboxRenderer = createCheckboxRenderer(\n options.checkboxOptions ?? options.checkOptions,\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 arrayElementRenderer = createArrayElementRenderer(\n options.arrayElementOptions,\n );\n const {\n inputClass,\n inputTextClass,\n booleanOptions,\n optionRenderer,\n displayOnlyClass,\n defaultEmptyText,\n } = {\n optionRenderer: selectRenderer,\n booleanOptions: DefaultBoolOptions,\n ...options,\n };\n const arrayRenderer = createDefaultArrayDataRenderer(options.arrayOptions);\n\n const autocompleteRenderer = createAutocompleteRenderer(\n options.autocompleteOptions,\n );\n\n const scrollListRenderer = createScrollListRenderer(\n options.scrollListOptions,\n );\n\n return createDataRenderer((props, renderers) => {\n const { field } = props;\n const fieldType = field.type;\n const renderOptions = props.renderOptions;\n let renderType = renderOptions.type\n ? renderOptions.type\n : DataRenderType.Standard;\n if (\n field.collection &&\n props.dataNode.elementIndex == null &&\n (renderType == DataRenderType.Standard ||\n renderType == DataRenderType.Array ||\n renderType == DataRenderType.ArrayElement)\n ) {\n if (renderType == DataRenderType.ArrayElement)\n return arrayElementRenderer.render(props, renderers);\n return arrayRenderer.render(props, renderers);\n }\n if (\n fieldType === FieldType.Compound &&\n (isDataGroupRenderer(renderOptions) ||\n renderType === DataRenderType.Standard)\n ) {\n const groupOptions = (isDataGroupRenderer(renderOptions)\n ? renderOptions.groupOptions\n : undefined) ?? { type: \"Standard\", hideTitle: true };\n return renderers.renderGroup({ ...props, renderOptions: groupOptions });\n }\n if (props.displayOnly || isDisplayOnlyRenderer(renderOptions))\n return (p) => {\n return {\n ...p,\n className: \"@ \" + rendererClass(p.className, displayOnlyClass),\n children: (\n <DefaultDisplayOnly\n dataNode={props.dataNode}\n state={props.formNode}\n schemaInterface={props.dataContext.schemaInterface}\n className={props.className}\n textClass={props.textClass}\n style={props.style}\n inline={props.inline}\n renderer={renderers}\n emptyText={\n isDisplayOnlyRenderer(renderOptions) && renderOptions.emptyText\n ? renderOptions.emptyText\n : defaultEmptyText\n }\n />\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.NullToggle:\n return nullToggler.render(props, renderers);\n case DataRenderType.CheckList:\n return checkListRenderer.render(props, renderers);\n case DataRenderType.ScrollList:\n return scrollListRenderer.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 case DataRenderType.Jsonata:\n return jsonataRenderer.render(props, renderers);\n case DataRenderType.Autocomplete:\n return autocompleteRenderer.render(props, renderers);\n case DataRenderType.ElementSelected:\n return elementSelectedRenderer.render(props, renderers);\n }\n if (fieldType == FieldType.Any) {\n return (\n <>\n Can't render field: {field.displayName ?? field.field} ({renderType})\n </>\n );\n }\n if (isTextfieldRenderer(renderOptions) && renderOptions.multiline)\n return multilineRenderer.render(props, renderers);\n const placeholder = isTextfieldRenderer(renderOptions)\n ? renderOptions.placeholder\n : undefined;\n\n return (\n <ControlInput\n className={rendererClass(props.className, inputClass)}\n textClass={rendererClass(props.textClass, inputTextClass)}\n style={props.style}\n id={props.id}\n errorId={props.errorId}\n readOnly={props.readonly}\n control={props.control}\n placeholder={placeholder ?? undefined}\n convert={createInputConversion(props.field.type)}\n renderer={renderers}\n />\n );\n });\n}\n\n\n\n\nexport function createDefaultAdornmentRenderer(\n options: DefaultAdornmentRendererOptions = {},\n): AdornmentRendererRegistration {\n const optional = createOptionalAdornment(options.optional);\n return {\n type: \"adornment\",\n render: (props, renderers) => {\n if (isOptionalAdornment(props.adornment)) {\n return optional.render(props, renderers);\n }\n const { adornment, designMode, dataContext, runExpression } = props;\n return {\n apply: (rl) => {\n if (isSetFieldAdornment(adornment) && runExpression) {\n return wrapLayout((x) => (\n <SetFieldWrapper\n children={x}\n parentContext={dataContext}\n adornment={adornment}\n runExpression={runExpression}\n />\n ))(rl);\n }\n if (isIconAdornment(adornment)) {\n const { I } = renderers.html;\n const { icon, placement, iconClass } = adornment;\n return appendMarkupAt(\n placement ?? AdornmentPlacement.ControlStart,\n <I\n className={iconClass}\n iconName={icon?.name}\n iconLibrary={icon?.library}\n />,\n )(rl);\n }\n if (isAccordionAdornment(adornment)) {\n return wrapLayout((x) => {\n const displayProps = isValidElement(rl.children)\n ? (rl.children as ReactElement as any).props?.displayProps\n : undefined;\n return (\n <DefaultAccordion\n isGroup={false}\n renderers={renderers}\n children={x}\n className={displayProps?.className}\n titleTextClass={displayProps?.textClass}\n title={renderers.renderLabelText(adornment.title)}\n defaultExpanded={adornment.defaultExpanded}\n contentStyle={rl.style}\n contentClassName={rl.className}\n designMode={designMode}\n dataContext={dataContext}\n options={options.accordion}\n />\n );\n })(rl);\n }\n },\n priority: 0,\n adornment,\n };\n },\n };\n}\n\n\nfunction SetFieldWrapper({\n children,\n adornment,\n parentContext,\n runExpression,\n}: {\n children: ReactNode;\n adornment: SetFieldAdornment;\n parentContext: ControlDataContext;\n runExpression: RunExpression;\n}) {\n const fieldNode = schemaDataForFieldRef(\n adornment.field,\n parentContext.parentNode,\n );\n const otherField = fieldNode.control;\n const always = !adornment.defaultOnly;\n const value = useExpression<any>(\n undefined,\n runExpression,\n adornment.expression,\n (x) => x,\n );\n\n useControlEffect(\n () => [value?.value, otherField?.value == null],\n ([v]) => {\n otherField?.setValue((x: any) => (always || x == null ? v : x));\n },\n true,\n );\n return children;\n}\n\nexport function createDefaultLabelRenderer(\n options?: DefaultLabelRendererOptions,\n): LabelRendererRegistration {\n const {\n className,\n controlLabelTextClass,\n groupLabelTextClass,\n groupLabelClass,\n controlLabelClass,\n textClass,\n labelContainer,\n } = {\n labelContainer: (c: ReactElement) => c,\n ...options,\n };\n return {\n render: (props, labelStart, labelEnd, renderers) => {\n const { Label, Span } = renderers.html;\n const requiredElement =\n options?.requiredElement ?? (({ Span }) => <Span> *</Span>);\n if (props.type == LabelType.Text) return <Span>{props.label}</Span>;\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 textClass={rendererClass(\n props.textClass,\n clsx(\n textClass,\n props.type === LabelType.Group && groupLabelTextClass,\n props.type === LabelType.Control && controlLabelTextClass,\n ),\n )}\n >\n {labelStart}\n {renderers.renderLabelText(props.label)}\n {props.required && requiredElement(renderers.html)}\n </Label>\n {labelEnd}\n </>,\n );\n },\n type: \"label\",\n };\n}\n\nexport const StandardHtmlComponents: HtmlComponents = {\n Button: DefaultHtmlButtonRenderer,\n Label: DefaultHtmlLabelRenderer,\n I: DefaultHtmlIconRenderer,\n Span: \"span\",\n Div: DefaultHtmlDivRenderer,\n H1: \"h1\",\n B: \"b\",\n Input: DefaultHtmlInputRenderer,\n CheckButtons: HtmlCheckButtons,\n};\n\nexport function DefaultHtmlButtonRenderer({\n inline,\n textClass,\n className,\n notWrapInText,\n androidRippleColor,\n onClick,\n nonTextContent,\n ...props\n}: HtmlButtonProperties) {\n const Comp = inline ? \"span\" : nonTextContent ? \"div\" : \"button\";\n return (\n <Comp\n role={nonTextContent || inline ? \"button\" : undefined}\n onClick={\n onClick\n ? (e) => {\n e.stopPropagation();\n onClick();\n }\n : undefined\n }\n className={nonTextContent ? className : clsx(className, textClass)}\n {...props}\n />\n );\n}\nexport function DefaultHtmlInputRenderer({\n textClass,\n className,\n onChangeValue,\n onChangeChecked,\n inputRef,\n ...props\n}: HtmlInputProperties) {\n return (\n <input\n ref={inputRef}\n {...props}\n className={clsx(className, textClass)}\n onChange={\n onChangeValue\n ? (e) => onChangeValue(e.target.value)\n : onChangeChecked\n ? (e) => onChangeChecked(e.target.checked)\n : undefined\n }\n />\n );\n}\nexport function DefaultHtmlDivRenderer({\n text,\n html,\n children,\n className,\n textClass,\n nativeRef,\n inline,\n ...props\n}: HtmlDivProperties) {\n const Tag = inline ? \"span\" : \"div\";\n return (\n <Tag\n {...props}\n ref={nativeRef}\n className={clsx(className, textClass)}\n children={text ?? children}\n dangerouslySetInnerHTML={html ? { __html: html } : undefined}\n />\n );\n}\nexport function DefaultHtmlLabelRenderer({\n textClass,\n className,\n ...props\n}: HtmlLabelProperties) {\n return <label {...props} className={clsx(className, textClass)} />;\n}\nexport function DefaultHtmlIconRenderer({\n iconName,\n iconLibrary,\n className,\n style,\n}: HtmlIconProperties) {\n return iconName ? (\n <i className={clsx(className, toIconClass())} style={style} />\n ) : undefined;\n\n function toIconClass() {\n if (!iconName) return undefined;\n switch (iconLibrary) {\n case IconLibrary.FontAwesome:\n return \"fa fa-\" + iconName;\n case IconLibrary.Material:\n case IconLibrary.CssClass:\n return iconName;\n default:\n return iconLibrary + \" fa-\" + iconName;\n }\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: createButtonActionRenderer(undefined, options.action),\n array: createDefaultArrayRenderer(options.array),\n group: createDefaultGroupRenderer(options.group, options.adornment),\n label: createDefaultLabelRenderer(options.label),\n adornment: createDefaultAdornmentRenderer(options.adornment),\n renderLayout: createDefaultLayoutRenderer(options.layout),\n visibility: createDefaultVisibilityRenderer(),\n extraRenderers: options.extraRenderers?.(options) ?? [],\n html: options.html ?? StandardHtmlComponents,\n };\n}\n\nexport function createClassStyledRenderers() {\n return createDefaultRenderers({\n layout: { className: \"control\" },\n group: { className: \"group\" },\n array: { className: \"control-array\" },\n action: { buttonClass: \"action\" },\n data: { inputClass: \"data\" },\n display: { htmlClassName: \"html\", textClassName: \"text\" },\n });\n}\n","import React from \"react\";\nimport { fontAwesomeIcon, IconPlacement } from \"@react-typed-forms/schemas\";\nimport { DefaultRendererOptions } from \"./rendererOptions\";\n\nexport const defaultTailwindTheme = {\n label: {\n groupLabelClass: \"font-bold\",\n requiredElement: ({ Span }) => <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 removeActionClass: \"flex gap-2\",\n },\n group: {\n standardClassName: \"flex flex-col gap-4\",\n grid: {\n className: \"flex flex-col gap-4\",\n rowClass: \"flex flex-row gap-4 justify-between\",\n cellClass: \"flex-1\",\n },\n flexClassName: \"gap-2\",\n inlineClass: \"\",\n tabs: {\n className: \"\",\n tabListClass:\n \"flex flex-wrap text-sm font-medium text-center text-gray-500 border-b border-gray-200 dark:border-gray-700 dark:text-gray-400\",\n tabClass: \"me-2\",\n labelClass:\n \"inline-flex items-center justify-center p-4 border-b-2 group\",\n inactiveClass:\n \"border-transparent rounded-t-lg hover:text-gray-600 hover:border-gray-300 dark:hover:text-gray-300 cursor-pointer\",\n activeClass:\n \"text-blue-600 border-blue-600 rounded-t-lg active dark:text-blue-500 dark:border-blue-500\",\n contentClass: \"my-2\",\n },\n },\n action: {\n buttonClass:\n \"rounded-lg p-3 text-white disabled:opacity-75 disabled:cursor-not-allowed\",\n primaryClass: \"bg-primary-500\",\n secondaryClass: \"bg-secondary-500\",\n iconBeforeClass: \"px-2\",\n iconAfterClass: \"px-2\",\n busyIcon: fontAwesomeIcon(\"spinner fa-spin\"),\n },\n layout: {\n className: \"flex flex-col\",\n errorClass: \"text-sm text-red-500\",\n },\n data: {\n inputClass: \"form-control\",\n displayOnlyClass: \"flex flex-row items-center gap-2\",\n checkOptions: {\n className: \"flex items-center gap-4\",\n entryClass: \"flex items-center gap-1\",\n },\n selectOptions: { emptyText: \"<select>\" },\n arrayElementOptions: { actionsClass: \"my-2 flex gap-2\" },\n multilineClass: \"border p-2 outline-0 whitespace-pre-wrap\",\n autocompleteOptions: {\n className:\n \"w-full flex gap-[5px] pr-[5px] overflow-hidden rounded-lg bg-white border border-solid border-gray-200 hover:border-primary-400 focus-visible:outline-0 shadow-[0_2px_4px_rgb(0_0_0_/_0.05)] min-h-[48px] py-1\",\n listContainerClass:\n \"absolute w-full text-sm box-border p-1.5 my-3 mx-0 min-w-[120px] rounded-xl overflow-auto outline-0 max-h-[300px] z-[1] bg-white border border-solid border-surface-200 text-surface-900 shadow-[0_4px_30px_transparent] shadow-surface-200\",\n listEntryClass:\n \"list-none p-2 rounded-lg cursor-default last-of-type:border-b-0 hover:cursor-pointer hover:bg-primary-100 aria-selected:bg-primary-200 aria-selected:text-primary-900 focused:bg-surface-100 focus-visible:bg-surface-100 focused:text-surface-900 focus-visible:text-surface-900 focus-visible:shadow-[0_0_0_3px_transparent] focus-visible:shadow-primary-200 focused:aria-selected:bg-primary-200 focus-visible:aria-selected:bg-primary-200 focused:aria-selected:text-primary-900 focus-visible:aria-selected:text-primary-900\",\n chipContainerClass:\n \"flex flex-row items-center px-3 py-1 rounded-full bg-surface-100 m-1 gap-2 truncate\",\n chipCloseButtonClass:\n \"fa-solid fa-xmark p-1 bg-surface-300 rounded-full min-w-[24px] flex justify-center text-surface-50 hover:bg-surface-400 hover:text-surface-100 hover:cursor-pointer\",\n },\n scrollListOptions: {\n loadingIcon: fontAwesomeIcon(\"spinner fa-spin\"),\n },\n },\n adornment: {\n accordion: {\n className: \"flex items-center gap-2 my-2 w-fit\",\n titleTextClass: \"cursor-pointer\",\n iconOpen: fontAwesomeIcon(\"chevron-up\"),\n iconClosed: fontAwesomeIcon(\"chevron-down\"),\n },\n optional: {\n checkClass: \"m-2\",\n className: \"flex items-center gap-2 w-full\",\n multiValuesClass: \"italic\",\n childWrapperClass: \"grow\",\n },\n },\n} satisfies DefaultRendererOptions;\n"],"names":["createDefaultDisplayRenderer","options","render","props","renderer","_jsx","DefaultDisplay","displayProps","type","_effect","_useComponentTracking","_iconDisplay$icon","_iconDisplay$icon2","data","display","className","textClass","style","I","Div","B","H1","Span","html","DisplayDataType","Icon","iconDisplay","clsx","getOverrideClass","value","iconClass","iconName","icon","name","iconLibrary","library","Text","text","coerceToString","rendererClass","textClassName","textTextClass","inline","Html","htmlClassName","Custom","children","_jsxs","customId","ControlInput","_ref","control","convert","errorId","_objectWithoutPropertiesLoose","_excluded","_formControlProps","formControlProps","errorText","ref","inputProps","_excluded2","textValue","useControl","toText","useControlEffect","v","Input","_extends","inputRef","undefined","onChangeValue","e","converted","createInputConversion","ft","FieldType","String","a","Bool","_a$toString","toString","Int","parseInt","DateTime","Date","Time","l","length","substring","Double","parseFloat","createSelectRenderer","createDataRenderer","asArray","_props$options","_renderOptions$requir","renderOptions","definition","SelectDataRenderer","state","id","readonly","required","emptyText","requiredText","createSelectConversion","field","disabled","showEmpty","useMemo","optionStringMap","Object","fromEntries","map","x","optionGroups","Set","filter","group","onChange","target","keys","label","o","renderOption","i","createRadioRenderer","p","CheckButtons","classes","controlClasses","isChecked","setChecked","c","setTouched","entryAdornment","fieldOptionAdornment","renderType","DataRenderType","Radio","createCheckListRenderer","Array","isArray","includes","checked","setValue","setIncluded","collection","CheckList","createCheckboxRenderer","CheckBox","Checkbox","createElementSelectedRenderer","CheckBoxSelected","ElementSelected","_p$label","selControl","useElementSelectedRenderer","entryClass","Fcheckbox","checkClass","renderLabel","_effect2","as","_effect3","notValue","others","theseProps","r","element","onChangeChecked","touched","createDefaultLayoutRenderer","createLayoutRenderer","renderers","layout","renderLayoutParts","wrapLayout","DefaultLayout","divRef","errorControl","meta","scrollElement","errorClass","renderError","controlEnd","controlStart","ec","error","_Fragment","DefaultDisplayOnly","dataNode","schemaInterface","resolved","isEmptyValue","schema","textValueForData","createTabsRenderer","createGroupRenderer","TabsRenderer","groupProps","tabOptions","GroupRenderType","Tabs","designMode","formNode","renderChild","tabIndex","useEffect","attachUi","TabUi","tabClass","labelClass","tabListClass","inactiveClass","activeClass","contentClass","currentTab","renderTabs","visible","tabs","key","onClick","title","DefaultFormNodeUi","constructor","node","ensureChildVisible","childIndex","createGridRenderer","formRenderer","GridRenderer","Grid","_gridOptions$columns","filteredChildren","defaults","gridOptions","numColumns","columns","defaultColumns","allChildren","cellClass","getCellClassNames","rows","push","slice","row","rowIndex","rowClass","cell","cellIndex","_cellClass$at","at","split","defaultOptions","navContainerClass","actions","nextText","nextIcon","fontAwesomeIcon","nextValidate","prevText","prevIcon","prevValidate","renderNavigation","defaultNavigationRender","prev","next","renderAction","createWizardRenderer","WizardRenderer","Wizard","mergedOptions","deepMerge","childrenLength","getChildCount","page","currentPage","isValid","useComputed","isPageValid","createAction","nav","hidden","nextVisibleInDirection","iconPlacement","IconPlacement","AfterText","navElement","countVisibleUntil","totalPages","validatePage","content","child","getChild","Fragment","untilPage","count","dir","validate","pageNode","valid","defaultDialogOptions","titleClass","containerClass","createDialogRenderer","DefaultDialogRenderer","Dialog","open","overlayState","createOverlayState","actionOnClick","action","close","triggerChildren","placement","dialogContent","designContent","Modal","isDismissable","onClickCapture","toggle","actionStyle","ActionStyle","Link","DefaultAccordion","openCtrl","contentStyle","contentClassName","dataContext","defaultExpanded","isGroup","titleTextClass","_dataContext$dataNode","iconOpen","iconClosed","togglerClass","renderTitle","t","renderToggler","useCss","panelId","useId","Button","Label","dataControl","parentNode","use","accordionState","isOpen","fullContentStyle","currentIcon","accordionClassName","accordionTitleTextClass","accordionTitle","toggler","notWrapInText","role","getAccordionState","createAccordionGroupRenderer","AccordionGroupRenderer","Accordion","titleChildren","contentChildren","expandStateField","expandStateFieldNode","schemaDataForFieldRef","createDefaultGroupRenderer","adornmentOptions","_options$accordion","gridRenderer","grid","tabsRenderer","wizardRenderer","wizard","dialogRenderer","dialog","accordionRenderer","accordion","standardClassName","flexClassName","inlineClass","defaultFlexGap","flexStyles","gap","flexDirection","direction","isTabsRenderer","isGridRenderer","isWizardRenderer","isDialogRenderer","isAccordionRenderer","isSelectChildRenderer","SelectChildGroupRenderer","gcn","isFlexRenderer","isInlineRenderer","Inline","renderLayout","Contents","runExpression","ctrl","useExpression","childIndexExpression","childCount","createDefaultVisibilityRenderer","createVisibilityRenderer","DefaultVisibility","visibility","ex","showing","nativeRef","createJsonataRenderer","JsonataRenderer","Jsonata","bindings","changes","trackedValue","dataPath","getJsonPath","rendered","ExpressionType","expression","dangerouslySetInnerHTML","__html","createNullToggleRenderer","lastDefined","getLastDefinedValue","current","defaultValue","nullControl","getNullToggler","renderData","createDefaultArrayDataRenderer","defaultActions","DataArrayRenderer","dataProps","addText","noAdd","noRemove","noReorder","removeText","editExternal","childOverrideClass","mergeObjects","isArrayRenderer","arrayProps","createArrayActions","renderElement","wrap","n","childKey","getLengthRestrictions","renderArray","createDefaultArrayRenderer","DefaultArrayRenderer","removableClass","childClass","removableChildClass","removeActionClass","addActionClass","getElementCount","editAction","addAction","removeAction","applyArrayLengthRestrictions","from","_","RenderControl","inputClass","createAutocompleteRenderer","_p$options","_p$options2","MultipleAutocomplete","readOnly","SingleAutocomplete","Autocomplete","_controlClasses$place","_objectDestructuringEmpty","inputControl","selectedOptionControl","listContainerClass","listEntryClass","controlValues","selected","getRootProps","getInputProps","getListboxProps","getOptionProps","groupedOptions","popupOpen","focused","getPopupIndicatorProps","useAutocomplete","freeSolo","multiple","inputValue","getOptionLabel","filterOptions","s","toLowerCase","onInputChange","reason","placeholder","option","index","optionProps","_createElement","_ref2","_selectedOptionsContr","_selectedOptionsContr2","_controlClasses$place2","selectedOptionsControl","chipContainerClass","chipCloseButtonClass","_selected$map","selectedValues","concat","Chip","onDeleteClick","elements","find","removeElement","RenderType","ValueForFieldExtension","RenderOptions","fields","buildSchema","fieldRef","stringField","noOptions","boolField","refIsDirect","createValueForFieldRenderer","_schemaDataForFieldRe","actualFieldRef","schemaField","schemaForFieldRef","ValueForField","default","setFields","controls","rootSchema","adjustedField","notNullable","onlyForTypes","defaultControlForField","hideTitle","createSchemaTree","rootNode","createFormTree","RenderForm","form","createSchemaDataNode","createOptionalAdornment","createAdornmentRenderer","_dataContext$dataNode2","newControl","adornment","editing","getIsEditing","isEditing","nullToggler","editSelectable","allowNull","apply","rl","_adornment$placement","hideEdit","appendMarkupAt","defaultPlacement","AdornmentPlacement","LabelStart","wrapMarkup","allValues","getAllValues","customRender","OptionalEditRenderer","priority","adornmentType","ControlAdornmentType","Optional","renderMultiValues","_renderMultiValues","_options$setNullText","_options$multiValuesT","multiValuesText","multipleValues","nullEdit","nullWrapperClass","setNullText","multiValuesClass","childWrapperClass","createMultilineFieldRenderer","MultilineTextfield","codeRef","useRef","textContent","contentEditable","onInput","currentTarget","DefaultBoolOptions","createArrayElementRenderer","ArrayElementRenderer","ArrayElement","extData","getExternalEditData","useOverlayTriggerState","onOpenChange","parentDataNode","makeSchemaDataNode","editContent","actionsClass","RenderElements","applyValidation","showInline","runValidation","dontValidate","createButtonActionRenderer","actionId","createActionRenderer","_props$icon","_props$iconPlacement","_props$iconPlacement2","_options$renderConten","actionText","actionData","actionContent","busy","busyIcon","stdIcon","stdIconPlacement","BeforeText","busyPlacement","busyIconPlacement","ReplaceText","isLink","Group","classNames","linkClass","groupClass","buttonClass","Secondary","secondaryClass","primaryClass","textClassNames","linkTextClass","secondaryTextClass","primaryTextClass","iconElement","iconBeforeClass","iconAfterClass","textElement","nonTextContent","androidRippleColor","renderContent","spinnerClass","loadingIcon","createScrollListRenderer","ScrollListRenderer","ScrollList","bottomActionId","loadingControl","getLoadingControl","hasMoreControl","getHasMoreControl","handler","spinner","ScrollTrigger","fetchMore","NoOpControlActionContext","scrollIntoView","behavior","observerTarget","hasMore","loading","observer","IntersectionObserver","entries","isIntersecting","threshold","observe","unobserve","height","HtmlCheckButtons","uniqueId","RenderArrayElements","array","selOrUnsel","selectedClass","notSelectedClass","entryWrapperClass","htmlFor","createDefaultDataRenderer","_options$checkboxOpti","_options$checkboxOpti2","_options$radioOptions","_options$checkListOpt","elementSelectedRenderer","checkboxOptions","checkOptions","jsonataRenderer","jsonataClass","multilineRenderer","multilineClass","checkboxRenderer","selectRenderer","selectOptions","radioRenderer","radioOptions","checkListRenderer","checkListOptions","arrayElementRenderer","arrayElementOptions","inputTextClass","booleanOptions","optionRenderer","displayOnlyClass","defaultEmptyText","arrayRenderer","arrayOptions","autocompleteRenderer","autocompleteOptions","scrollListRenderer","scrollListOptions","fieldType","Standard","elementIndex","Compound","isDataGroupRenderer","groupOptions","renderGroup","displayOnly","isDisplayOnlyRenderer","isBool","hasOptions","NullToggle","Dropdown","Any","_field$displayName","displayName","isTextfieldRenderer","multiline","createDefaultAdornmentRenderer","optional","isOptionalAdornment","isSetFieldAdornment","SetFieldWrapper","parentContext","isIconAdornment","ControlStart","isAccordionAdornment","_rl$children$props","isValidElement","renderLabelText","fieldNode","otherField","always","defaultOnly","createDefaultLabelRenderer","controlLabelTextClass","groupLabelTextClass","groupLabelClass","controlLabelClass","labelContainer","labelStart","labelEnd","_options$requiredElem","requiredElement","LabelType","forId","Control","StandardHtmlComponents","DefaultHtmlButtonRenderer","DefaultHtmlLabelRenderer","DefaultHtmlIconRenderer","DefaultHtmlDivRenderer","DefaultHtmlInputRenderer","Comp","stopPropagation","_ref3","_ref4","_excluded3","Tag","_ref5","_effect4","_excluded4","_effect5","toIconClass","IconLibrary","FontAwesome","Material","CssClass","createDefaultRenderers","_options$extraRendere","_options$html","extraRenderers","createClassStyledRenderers","defaultTailwindTheme"],"mappings":"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"}
|