@react-typed-forms/schemas-html 5.0.2 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/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/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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"}
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 noSelection,\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 noSelection?: boolean | 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 const mergedStyle = noSelection\n ? { ...style, userSelect: \"none\" as const }\n : style;\n return (\n <Div\n style={mergedStyle}\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 noSelection={\n isDisplayOnlyRenderer(renderOptions)\n ? renderOptions.noSelection\n : undefined\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","noSelection","schemaInterface","resolved","isEmptyValue","schema","textValueForData","mergedStyle","userSelect","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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"}