@react-typed-forms/schemas-rn 2.2.0 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/defaultTailwindTheme.ts","../src/tailwind.tsx","../src/utils/index.ts","../src/components/RNText.tsx","../src/components/RNButton.tsx","../src/components/Icon.tsx","../src/components/RNCheckboxRenderer.tsx","../src/components/RNTextInputRenderer.tsx","../src/components/RNDateTimePickerRenderer.tsx","../src/components/RNHtmlRenderer.tsx","../src/components/RNRadioItem.tsx","../src/selectUtils.ts","../src/components/RNSelectRenderer.tsx","../src/components/RNDialog.tsx","../src/components/RNScrollListRenderer.tsx","../src/components/DefaultDisplay.tsx","../src/components/DefaultLayout.tsx","../src/components/DefaultVisibility.tsx","../src/components/RNCheckButtons.tsx","../src/components/DefaultDisplayOnly.tsx","../src/components/ControlInput.tsx","../src/components/DefaultArrayRenderer.tsx","../src/components/CheckRenderer.tsx","../src/components/DefaultAccordion.tsx","../src/components/NullToggle.tsx","../src/rendererOptions.ts","../src/components/GridRenderer.tsx","../src/components/DefaultWizardRenderer.tsx","../src/components/DefaultDialogRenderer.tsx","../src/components/DefaultGroupRenderer.tsx","../src/createButtonActionRenderer.tsx","../src/createDefaultRNRenderers.tsx"],"sourcesContent":["import React from \"react\";\nimport { DefaultRendererOptions } from \"./rendererOptions\";\nimport { fontAwesomeIcon } from \"@react-typed-forms/schemas\";\n\n// Default tailwind theme adapted for React Native\nexport const defaultTailwindTheme = {\n label: {\n groupLabelClass: \"font-bold\",\n requiredElement: ({ Span }) => React.createElement(Span, { className: \"text-red-500\" }, \" *\"),\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\",\n tabClass: \"me-2\",\n labelClass:\n \"flex items-center justify-center p-4 border-b-2\",\n inactiveClass:\n \"border-transparent rounded-t-lg text-gray-600 border-gray-300\",\n activeClass:\n \"text-blue-600 border-blue-600 rounded-t-lg text-blue-500 border-blue-500\",\n contentClass: \"my-2\",\n },\n },\n action: {\n buttonClass:\n \"rounded-lg p-3 text-white disabled:opacity-75\",\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: \"border rounded p-2\",\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\",\n autocompleteOptions: {\n className:\n \"w-full flex gap-[5px] pr-[5px] overflow-hidden rounded-lg bg-white border border-solid border-gray-200 min-h-[48px] py-1\",\n listContainerClass:\n \"w-full text-sm p-1.5 my-3 mx-0 min-w-[120px] rounded-xl max-h-[300px] bg-white border border-solid border-surface-200 text-surface-900\",\n listEntryClass:\n \"p-2 rounded-lg bg-primary-100 text-primary-900\",\n chipContainerClass:\n \"flex flex-row items-center px-3 py-1 rounded-full bg-surface-100 m-1 gap-2\",\n chipCloseButtonClass:\n \"p-1 bg-surface-300 rounded-full min-w-[24px] flex justify-center text-surface-50\",\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;","import { DefaultRendererOptions } from \"./rendererOptions\";\nimport { defaultTailwindTheme } from \"./defaultTailwindTheme\";\nimport { View } from \"react-native\";\nimport { deepMerge } from \"@react-typed-forms/schemas\";\n\nexport const defaultRnTailwindTheme = deepMerge<DefaultRendererOptions>(\n {\n data: {\n checkOptions: {\n entryClass: \"flex flex-row items-center gap-[8px]\",\n labelClass: \"flex-1\",\n },\n selectOptions: { emptyText: \"select\" },\n },\n label: {\n labelContainer: (c) => (\n <View className=\"flex flex-row gap-4 items-center\" children={c} />\n ),\n },\n array: {\n removableClass: \"flex flex-col gap-y-2\",\n },\n action: {\n buttonClass:\n \"flex flex-row gap-2 bg-primary-500 rounded-lg p-3 web:hover:opacity-90 active:opacity-90\",\n textClass: \"text-white\",\n },\n adornment: {\n accordion: {\n className: \"flex flex-row items-center gap-2 my-2 p-0 self-start\",\n },\n helpText: {\n iconName: \"info-circle\",\n iconClass: \"text-[12px]\",\n triggerContainerClass: \"flex flex-row gap-2 items-baseline\",\n triggerLabelClass: \"text-sm font-bold\",\n contentTextClass: \"text-white font-semibold text-sm\",\n },\n },\n },\n defaultTailwindTheme,\n);","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import * as Slot from \"@rn-primitives/slot\";\nimport type { SlottableTextProps, TextRef } from \"@rn-primitives/types\";\nimport * as React from \"react\";\nimport { Text } from \"react-native\";\nimport { cn } from \"../utils\";\n\nconst TextClassContext = React.createContext<string | undefined>(undefined);\n\nconst RNText = React.forwardRef<TextRef, SlottableTextProps>(\n ({ className, asChild = false, ...props }, ref) => {\n const textClass = React.useContext(TextClassContext);\n const Component = asChild ? Slot.Text : Text;\n return (\n <Component\n className={cn(\n \"text-base text-foreground web:select-text\",\n textClass,\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nRNText.displayName = \"RNText\";\n\nexport { RNText, TextClassContext };\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\nimport { Pressable } from \"react-native\";\nimport { cn } from \"../utils\";\nimport { TextClassContext } from \"./RNText\";\n\nconst buttonVariants = cva(\n \"group flex items-center justify-center rounded-md web:ring-offset-background web:transition-colors web:focus-visible:outline-none web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2\",\n {\n variants: {\n variant: {\n default: \"bg-primary web:hover:opacity-90 active:opacity-90\",\n destructive: \"bg-destructive web:hover:opacity-90 active:opacity-90\",\n outline:\n \"border border-input bg-background web:hover:bg-accent web:hover:text-accent-foreground active:bg-accent\",\n secondary: \"bg-secondary web:hover:opacity-80 active:opacity-80\",\n ghost:\n \"web:hover:bg-accent web:hover:text-accent-foreground active:bg-accent\",\n link: \"web:underline-offset-4 web:hover:underline web:focus:underline\",\n },\n size: {\n default: \"h-10 px-4 py-2 native:h-12 native:px-5 native:py-3\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8 native:h-14\",\n icon: \"h-10 w-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nconst buttonTextVariants = cva(\n \"web:whitespace-nowrap text-sm native:text-base font-medium text-foreground web:transition-colors\",\n {\n variants: {\n variant: {\n default: \"text-primary-foreground\",\n destructive: \"text-destructive-foreground\",\n outline: \"group-active:text-accent-foreground\",\n secondary:\n \"text-secondary-foreground group-active:text-secondary-foreground\",\n ghost: \"group-active:text-accent-foreground\",\n link: \"text-primary group-active:underline\",\n },\n size: {\n default: \"\",\n sm: \"\",\n lg: \"native:text-lg\",\n icon: \"\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\ntype ButtonProps = React.ComponentPropsWithoutRef<typeof Pressable> &\n VariantProps<typeof buttonVariants>;\n\nconst RNButton = React.forwardRef<\n React.ElementRef<typeof Pressable>,\n ButtonProps\n>(({ className, variant, size, ...props }, ref) => {\n return (\n <TextClassContext.Provider\n value={buttonTextVariants({\n variant,\n size,\n className: \"web:pointer-events-none\",\n })}\n >\n <Pressable\n className={cn(\n props.disabled && \"opacity-50 web:pointer-events-none\",\n buttonVariants({ variant, size, className }),\n )}\n ref={ref}\n role=\"button\"\n {...props}\n />\n </TextClassContext.Provider>\n );\n});\nRNButton.displayName = \"Button\";\n\nexport { RNButton, buttonTextVariants, buttonVariants };\nexport type { ButtonProps };\n","import { cssInterop } from \"nativewind\";\nimport { FontAwesome } from \"@expo/vector-icons\";\nimport { IconLibrary } from \"@react-typed-forms/schemas\";\nimport MaterialIcons from \"@expo/vector-icons/MaterialIcons\";\n\nexport type RNIconProps = {\n name: string;\n className?: string;\n iconLibrary?: IconLibrary;\n};\n\ncssInterop(FontAwesome, {\n className: {\n target: \"style\",\n nativeStyleToProp: {},\n },\n});\n\ncssInterop(MaterialIcons, {\n className: {\n target: \"style\",\n nativeStyleToProp: {},\n },\n});\n\nexport function Icon({\n name,\n className = \"!text-[16px] text-black-500\",\n iconLibrary,\n}: RNIconProps) {\n switch (iconLibrary) {\n case IconLibrary.Material:\n return <MaterialIcons name={name as any} className={className} />;\n default:\n return <FontAwesome name={name as any} className={className} />;\n }\n}\n","import * as CheckboxPrimitive from \"@rn-primitives/checkbox\";\nimport * as React from \"react\";\nimport { cn } from \"../utils\";\nimport { Icon } from \"./Icon\";\nimport {\n CheckRendererOptions,\n ControlLayoutProps,\n createDataRenderer,\n DataRendererProps,\n DataRenderType,\n FormRenderer,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\nimport { Pressable, View } from \"react-native\";\nimport { formControlProps } from \"@react-typed-forms/core\";\n\nexport function createRNCheckboxRenderer(options: CheckRendererOptions = {}) {\n return createDataRenderer(\n (props, renderer) => (p) => ({\n ...p,\n label: undefined,\n children: (\n <CheckBoxRenderer\n p={p}\n renderer={renderer}\n options={options}\n props={props}\n />\n ),\n }),\n { renderType: DataRenderType.Checkbox },\n );\n}\n\nfunction CheckBoxRenderer({\n p,\n props,\n renderer,\n options,\n}: {\n p: ControlLayoutProps;\n props: DataRendererProps;\n renderer: FormRenderer;\n options: CheckRendererOptions;\n}) {\n const control = props.control.as<boolean | null | undefined>();\n const { value } = formControlProps(control);\n\n function onCheckboxPressed() {\n control.touched = true;\n control.value = !value;\n }\n\n const { disabled } = formControlProps(control);\n const checkboxDisabled = disabled || props.readonly;\n\n return (\n <Pressable\n className={rendererClass(props.className, options.entryClass)}\n onPress={onCheckboxPressed}\n disabled={checkboxDisabled}\n >\n <RNCheckbox\n id={props.id}\n className={options.checkClass}\n checked={!!value}\n onCheckedChange={onCheckboxPressed}\n disabled={checkboxDisabled}\n />\n {p.label && renderer.renderLabel(p.label, undefined, undefined)}\n </Pressable>\n );\n}\n\nexport const RNCheckbox = React.forwardRef<\n CheckboxPrimitive.RootRef,\n CheckboxPrimitive.RootProps\n>(({ className, ...props }, ref) => {\n return (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"web:peer h-4 w-4 native:h-[24px] native:w-[24px] shrink-0 rounded-sm native:rounded border border-accent web:ring-offset-background web:focus-visible:outline-none web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn(\"items-center justify-center h-full w-full\")}\n asChild\n >\n {/*<Animated.View*/}\n {/* entering={ZoomIn.duration(150)}*/}\n {/* exiting={ZoomOut.duration(150)}*/}\n {/*>*/}\n <View>\n <Icon name={\"check\"} className={\"text-accent text-[18px]\"} />\n </View>\n {/*</Animated.View>*/}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n});\nRNCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n","import {\n createDataRenderer,\n DataRenderType,\n rendererClass,\n TextfieldRenderOptions,\n} from \"@react-typed-forms/schemas\";\nimport { cn } from \"../utils\";\nimport { formControlProps } from \"@react-typed-forms/core\";\nimport * as React from \"react\";\nimport { TextInput, type TextInputProps } from \"react-native\";\n\nexport interface ExtendedTextInput {\n keyboardType?: string;\n autoComplete?: string;\n}\n\nexport function createRNTextInputRenderer(\n inputClass?: string,\n inputTextClass?: string,\n) {\n return createDataRenderer(\n (p) => {\n const { renderOptions, control, readonly, ...rest } = p;\n const { disabled } = formControlProps(control);\n const { placeholder, multiline, keyboardType, autoComplete } =\n renderOptions as TextfieldRenderOptions & ExtendedTextInput;\n\n return (\n <RNTextInput\n {...(rest as any)}\n className={cn(\n rendererClass(p.className, inputClass),\n rendererClass(p.textClass, inputTextClass),\n )}\n disabled={disabled}\n readOnly={readonly}\n placeholder={placeholder}\n defaultValue={control.value}\n onChangeText={(v) => (control.value = v)}\n multiline={multiline}\n keyboardType={keyboardType}\n autoComplete={autoComplete}\n />\n );\n },\n {\n renderType: DataRenderType.Textfield,\n },\n );\n}\n\nexport function RNTextInput({\n className,\n placeholderClassName,\n ...props\n}: TextInputProps & React.RefAttributes<TextInput> & { disabled?: boolean }) {\n const editable = !props.disabled;\n const readonly = props.readOnly ? true : undefined;\n\n return (\n <TextInput\n {...props}\n className={cn(\n \"native:min-h-[54px] rounded-md border bg-background px-3 native:py-[6px] text-base lg:text-sm native:text-lg native:leading-[1.25] text-foreground placeholder:text-muted-foreground file:border-0 file:bg-transparent file:font-medium\",\n !editable && \"opacity-50\",\n className,\n )}\n placeholderClassName={cn(\"text-muted-foreground\", placeholderClassName)}\n editable={editable}\n readOnly={readonly}\n />\n );\n}\n\nRNTextInput.displayName = \"RNInput\";\n","import DateTimePickerModal, {\n DateTimePickerProps,\n} from \"react-native-modal-datetime-picker\";\nimport { Pressable, View } from \"react-native\";\nimport { RNTextInput } from \"./RNTextInputRenderer\";\nimport { Control, useControl } from \"@react-typed-forms/core\";\nimport {\n createDataRenderer,\n DataRenderType,\n FieldType,\n} from \"@react-typed-forms/schemas\";\nimport { DefaultDataRendererOptions } from \"../rendererOptions\";\nimport {\n DateFormatter,\n fromDate,\n getLocalTimeZone,\n now,\n parseAbsolute,\n parseDate,\n parseTime,\n toCalendarDate,\n toCalendarDateTime,\n toTime,\n} from \"@internationalized/date\";\nimport { cn } from \"../utils\";\nimport { FontAwesome5 } from \"@expo/vector-icons\";\n\nexport type RNDateTimeProps = Pick<\n DateTimePickerProps,\n \"mode\" | \"locale\" | \"maximumDate\" | \"minimumDate\" | \"is24Hour\"\n> & {\n control: Control<string | null>;\n readonly?: boolean;\n className?: string;\n placeholder?: string;\n};\n\nexport function createRNDateTimePickerRenderer(\n options: DefaultDataRendererOptions = {},\n) {\n return createDataRenderer(\n (p) => {\n const mode =\n p.field.type == FieldType.DateTime\n ? \"datetime\"\n : p.field.type == FieldType.Time\n ? \"time\"\n : \"date\";\n\n return (\n <RNDateTimePicker\n {...p}\n control={p.control.as()}\n mode={mode}\n className={options.inputClass}\n />\n );\n },\n {\n schemaType: [FieldType.Date, FieldType.DateTime, FieldType.Time],\n renderType: DataRenderType.DateTime,\n },\n );\n}\n\nfunction RNDateTimePicker({\n control,\n mode,\n locale = \"en-AU\",\n is24Hour = true,\n className,\n ...props\n}: RNDateTimeProps) {\n const disabled = control.disabled;\n const { maximumDate, minimumDate } = props;\n const isVisible = useControl(false);\n\n const innerPickerValue = getInnerPickerValue();\n const formattedDate = getFormattedDate();\n\n const handleConfirm = (date: Date) => {\n control.touched = true;\n const zonedDateTime = fromDate(date, getLocalTimeZone());\n\n try {\n switch (mode) {\n case \"date\":\n control.value = toCalendarDate(zonedDateTime).toString();\n break;\n case \"datetime\":\n control.value = zonedDateTime.toAbsoluteString();\n break;\n case \"time\":\n control.value = toTime(zonedDateTime).toString();\n break;\n }\n } catch (_) {}\n hidePicker();\n };\n\n // Fix IOS propagating\n function onPress() {\n !disabled && (isVisible.value = true);\n }\n\n return (\n <View>\n <Pressable\n className={\"pointer-events-auto flex flex-row\"}\n onPress={onPress}\n >\n <RNTextInput\n className={cn(className, \"flex-1\")}\n disabled={disabled}\n readOnly\n value={formattedDate ?? \"\"}\n placeholder={\"dd/mm/yyyy\"}\n onPress={onPress}\n />\n <View\n className={\n \"flex flex-row bg-[#F5F5F5] size-[54px] items-center justify-center border border-[#E7E7E8]\"\n }\n >\n <FontAwesome5 name={\"calendar-alt\"} size={20} color={\"#343534\"} />\n </View>\n </Pressable>\n\n <DateTimePickerModal\n date={innerPickerValue ?? new Date()}\n is24Hour={is24Hour}\n disabled={disabled}\n maximumDate={maximumDate}\n minimumDate={minimumDate}\n isVisible={isVisible.value}\n mode={mode}\n locale={locale}\n onConfirm={handleConfirm}\n onCancel={hidePicker}\n onHide={hidePicker}\n />\n </View>\n );\n\n function getInnerPickerValue() {\n const dateString = control.value;\n if (!dateString) return null;\n try {\n switch (mode) {\n case \"date\":\n return parseDate(dateString).toDate(\"UTC\");\n case \"datetime\":\n return parseAbsolute(dateString, getLocalTimeZone()).toDate();\n case \"time\":\n return toCalendarDateTime(\n now(getLocalTimeZone()),\n parseTime(dateString),\n ).toDate(getLocalTimeZone());\n }\n } catch (_) {\n return null;\n }\n }\n\n function getFormattedDate() {\n if (!innerPickerValue) return null;\n let options: Intl.DateTimeFormatOptions = {};\n try {\n switch (mode) {\n case \"date\":\n options = {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\",\n timeZone: \"UTC\",\n };\n break;\n\n case \"datetime\":\n options = {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n hour12: false,\n timeZone: getLocalTimeZone(),\n };\n break;\n case \"time\":\n options = {\n timeStyle: \"short\",\n hour12: false,\n timeZone: getLocalTimeZone(),\n };\n }\n } catch (_) {\n options = {};\n }\n\n return new DateFormatter(locale, options).format(innerPickerValue);\n }\n\n function hidePicker() {\n isVisible.value = false;\n }\n}\n","import RenderHtml, {\n HTMLSource,\n RenderHTMLProps,\n} from \"react-native-render-html\";\nimport React from \"react\";\nimport { Dimensions, StyleProp, View, ViewStyle } from \"react-native\";\n\nexport type RNHtmlRendererProps = {\n className?: string;\n html?: string;\n style?: React.CSSProperties | undefined;\n} & Pick<\n RenderHTMLProps,\n \"baseStyle\" | \"tagsStyles\" | \"systemFonts\" | \"contentWidth\"\n>;\n\nexport function RNHtmlRenderer({\n className,\n html,\n style,\n contentWidth,\n ...props\n}: RNHtmlRendererProps) {\n if (!html) return;\n const source = {\n html: html,\n } satisfies HTMLSource;\n\n return (\n <View style={style as StyleProp<ViewStyle>} className={className}>\n <RenderHtml\n defaultTextProps={{ selectable: true }}\n contentWidth={contentWidth ?? Dimensions.get(\"window\").width}\n source={source}\n {...props}\n />\n </View>\n );\n}\n","import * as RadioGroupPrimitive from \"@rn-primitives/radio-group\";\nimport * as React from \"react\";\nimport { Pressable, View } from \"react-native\";\nimport { cn } from \"../utils\";\n\nconst RNRadioItem = React.forwardRef<\n RadioGroupPrimitive.ItemRef,\n {\n checked: boolean;\n className?: string;\n disabled?: boolean;\n id: string;\n name: string;\n readonly: boolean;\n onChange: () => void;\n }\n>(({ className, checked, onChange, ...props }, ref) => {\n return (\n <Pressable\n ref={ref}\n onPress={onChange}\n className={cn(\n \"aspect-square h-4 w-4 native:h-5 native:w-5 rounded-full justify-center items-center border border-primary text-primary web:ring-offset-background web:focus:outline-none web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2\",\n props.disabled && \"web:cursor-not-allowed opacity-50\",\n className,\n )}\n {...props}\n >\n <View className=\"flex items-center justify-center\">\n {checked && (\n <View className=\"aspect-square h-[9px] w-[9px] native:h-[10] native:w-[10] bg-primary rounded-full\" />\n )}\n </View>\n </Pressable>\n );\n});\nRNRadioItem.displayName = RadioGroupPrimitive.Item.displayName;\n\nexport { RNRadioItem };\n","import { Control } from \"@react-typed-forms/core\";\nimport {\n FieldOption,\n FieldType,\n} from \"@react-typed-forms/schemas\";\n\n// Type for select conversion function\ntype SelectConversion = (a: any) => string | number;\n\n// Props interface for SelectDataRenderer (if needed by RN components)\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\n// Utility function to create select conversion based on field type\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}","import * as SelectPrimitive from \"@rn-primitives/select\";\nimport * as React from \"react\";\nimport { Platform, Pressable, StyleSheet, View } from \"react-native\";\nimport Animated, { FadeIn, FadeOut } from \"react-native-reanimated\";\nimport { cn } from \"../utils\";\nimport { SelectRendererOptions } from \"../rendererOptions\";\nimport {\n createSelectConversion,\n SelectDataRendererProps,\n} from \"../selectUtils\";\nimport {\n createDataRenderer,\n DataRenderType,\n FieldOption,\n FieldType,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\nimport { useMemo } from \"react\";\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\nimport { ScrollView } from \"react-native-gesture-handler\";\nimport { Icon } from \"./Icon\";\nimport { useComputed, useControl } from \"@react-typed-forms/core\";\n\nexport interface ExtendedDropdown {\n portalHost?: string;\n requiredText?: string;\n}\n\nexport function createRNSelectRenderer(options: SelectRendererOptions = {}) {\n return createDataRenderer(\n (props, asArray) => {\n const renderOptions = props.definition.renderOptions as ExtendedDropdown;\n return (\n <RNSelectRenderer\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 portalHost={renderOptions.portalHost}\n />\n );\n },\n {\n options: true,\n schemaType: [FieldType.String, FieldType.Int],\n renderType: DataRenderType.Dropdown,\n },\n );\n}\n\nexport function RNSelectRenderer({\n state,\n options,\n className,\n convert,\n required,\n emptyText = \"N/A\",\n requiredText = \"Please select\",\n portalHost,\n readonly,\n ...props\n}: SelectDataRendererProps & ExtendedDropdown) {\n const insets = useSafeAreaInsets();\n const contentInsets = {\n top: insets.top,\n bottom: Platform.select({\n ios: insets.bottom,\n android: insets.bottom + 24,\n }),\n left: 12,\n right: 12,\n };\n const { value, disabled } = state;\n // const showEmpty = useControl(!required || value == null);\n const optionStringMap = useMemo(\n () => Object.fromEntries(options.map((x) => [convert(x.value), x.value])),\n [options],\n );\n const optionGroups = useMemo(\n () =>\n Array.from(new Set(options.filter((x) => x.group).map((x) => x.group!))),\n [options],\n );\n\n const selectedOption = useComputed(() => {\n return options\n .filter((x) => x.value === value)\n .map(\n (x) =>\n ({\n value: convert(x.value).toString(),\n label: x.name,\n }) satisfies Option,\n )\n .at(0);\n });\n\n const selectContentWidth = useControl(100); // Min width 100 px\n const selectContentWidthValue = selectContentWidth.value;\n\n return (\n <Select\n {...props}\n disabled={disabled || readonly}\n aria-disabled={disabled || readonly}\n defaultValue={{\n value: value,\n label: required ? requiredText : emptyText,\n }}\n onValueChange={(o) => {\n if (!o) return;\n state.value = optionStringMap[o.value];\n }}\n value={selectedOption.value}\n className={\"flex-1\"}\n >\n <SelectTrigger\n className={\"bg-white\"}\n onLayout={(e) => {\n selectContentWidth.value = e.nativeEvent.layout.width;\n }}\n disabled={disabled || readonly}\n aria-disabled={disabled || readonly}\n >\n <SelectValue placeholder={required ? requiredText : emptyText} />\n </SelectTrigger>\n <SelectContent\n insets={contentInsets}\n className={\"bg-white\"}\n style={{ width: selectContentWidthValue }}\n portalHost={Platform.select({ ios: portalHost })}\n >\n <ScrollView className={\"max-h-64\"}>\n {/*{showEmpty && (*/}\n {/* <SelectItem*/}\n {/* key={\"empty\"}*/}\n {/* value={\"\"}*/}\n {/* label={required ? requiredText : emptyText}*/}\n {/* />*/}\n {/*)}*/}\n {optionGroups.map((x) => (\n <SelectGroup key={x}>\n <SelectLabel>{x}</SelectLabel>\n {options.filter((o) => o.group === x).map(renderOption)}\n </SelectGroup>\n ))}\n {options.filter((x) => !x.group).map(renderOption)}\n </ScrollView>\n </SelectContent>\n </Select>\n );\n\n function renderOption(x: FieldOption, i: number) {\n return (\n <SelectItem\n key={i}\n value={convert(x.value).toString()}\n label={x.name}\n disabled={!!x.disabled}\n />\n );\n }\n}\n\ntype Option = SelectPrimitive.Option;\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nfunction SelectTrigger({\n ref,\n className,\n children,\n ...props\n}: SelectPrimitive.TriggerProps &\n React.RefAttributes<SelectPrimitive.TriggerRef> & {\n children?: React.ReactNode;\n }) {\n return (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex flex-row min-h-10 native:min-h-12 items-center text-sm justify-between border border-[#E7E7E8] bg-background px-3 py-2 [&>span]:line-clamp-1 min-w-[128px]\",\n props.disabled && \"opacity-50\",\n className,\n )}\n {...props}\n >\n <Pressable pointerEvents={\"none\"} className={\"flex-1\"}>\n {children}\n </Pressable>\n <Icon name={\"chevron-down\"} className={\"!text-[12px] text-accent\"} />\n </SelectPrimitive.Trigger>\n );\n}\n\nconst SelectContent = React.forwardRef<\n SelectPrimitive.ContentRef,\n SelectPrimitive.ContentProps & { portalHost?: string }\n>(({ className, children, position = \"popper\", portalHost, ...props }, ref) => {\n const { open } = SelectPrimitive.useRootContext();\n\n return (\n <SelectPrimitive.Portal hostName={portalHost}>\n <SelectPrimitive.Overlay\n style={Platform.OS !== \"web\" ? StyleSheet.absoluteFill : undefined}\n >\n <Animated.View className=\"z-50\" entering={FadeIn} exiting={FadeOut}>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-96 min-w-[8rem] rounded-md border border-border bg-popover shadow-md shadow-foreground/10 py-2 px-1 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n open\n ? \"web:zoom-in-95 web:animate-in web:fade-in-0\"\n : \"web:zoom-out-95 web:animate-out web:fade-out-0\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </Animated.View>\n </SelectPrimitive.Overlay>\n </SelectPrimitive.Portal>\n );\n});\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n SelectPrimitive.LabelRef,\n SelectPrimitive.LabelProps\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\n \"py-1.5 native:pb-2 pl-2 native:pl-2 pr-2 text-popover-foreground text-sm native:text-base font-semibold\",\n className,\n )}\n {...props}\n />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n SelectPrimitive.ItemRef,\n SelectPrimitive.ItemProps\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative web:group flex flex-row w-full web:cursor-default web:select-none items-center rounded-sm py-1.5 native:py-2 pl-8 native:pl-10 pr-2 web:hover:bg-[#DDD]/50 active:bg-[#DDD] web:outline-none web:focus:bg-[#DDD]\",\n props.disabled && \"web:pointer-events-none opacity-50\",\n className,\n )}\n {...props}\n >\n <View className=\"absolute left-2 native:left-3.5 flex h-3.5 native:pt-px w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Icon\n name={\"check\"}\n className={\"text-[12px] text-popover-foreground\"}\n />\n </SelectPrimitive.ItemIndicator>\n </View>\n <SelectPrimitive.ItemText className=\"text-sm native:text-lg text-popover-foreground native:text-base web:group-focus:text-accent-foreground\" />\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nfunction SelectSeparator({\n className,\n ...props\n}: SelectPrimitive.SeparatorProps &\n React.RefAttributes<SelectPrimitive.SeparatorRef>) {\n return (\n <SelectPrimitive.Separator\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n","import * as DialogPrimitive from \"@rn-primitives/dialog\";\nimport * as React from \"react\";\nimport {\n Platform,\n Pressable,\n StyleSheet,\n TouchableOpacity,\n useWindowDimensions,\n View,\n} from \"react-native\";\nimport Animated, { FadeIn, FadeOut } from \"react-native-reanimated\";\nimport { cn } from \"../utils\";\nimport { Control, useControl } from \"@react-typed-forms/core\";\nimport { FontAwesome6 } from \"@expo/vector-icons\";\nimport { useMemo } from \"react\";\n\nexport const Dialog = DialogPrimitive.Root;\n\nexport const DialogTrigger = DialogPrimitive.Trigger;\n\nexport const DialogPortal = DialogPrimitive.Portal;\n\nexport const DialogClose = DialogPrimitive.Close;\n\nfunction DialogOverlayWeb({\n className,\n ...props\n}: DialogPrimitive.OverlayProps & {\n ref?: React.RefObject<DialogPrimitive.OverlayRef>;\n}) {\n const { open } = DialogPrimitive.useRootContext();\n return (\n <DialogPrimitive.Overlay\n className={cn(\n \"bg-black/80 flex justify-center items-center p-2 absolute top-0 right-0 bottom-0 left-0\",\n open\n ? \"web:animate-in web:fade-in-0\"\n : \"web:animate-out web:fade-out-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\nDialogOverlayWeb.displayName = \"DialogOverlayWeb\";\n\nfunction DialogOverlayNative({\n className,\n children,\n ...props\n}: DialogPrimitive.OverlayProps & {\n ref?: React.RefObject<DialogPrimitive.OverlayRef>;\n children?: React.ReactNode;\n}) {\n return (\n <DialogPrimitive.Overlay\n style={StyleSheet.absoluteFill}\n className={cn(\n \"flex bg-black/80 justify-center items-center p-2\",\n className,\n )}\n {...props}\n >\n <Animated.View\n // entering={FadeIn.duration(150)} TODO: Enable animation after the lib fix the issue\n // exiting={FadeOut.duration(150)}\n >\n {children}\n </Animated.View>\n </DialogPrimitive.Overlay>\n );\n}\n\nDialogOverlayNative.displayName = \"DialogOverlayNative\";\n\nconst DialogOverlay = Platform.select({\n web: DialogOverlayWeb,\n default: DialogOverlayNative,\n});\n\nexport const DialogContent = React.forwardRef<\n DialogPrimitive.ContentRef,\n DialogPrimitive.ContentProps & {\n portalHost?: string;\n closeOnOutsidePress?: boolean;\n }\n>(({ className, children, portalHost, closeOnOutsidePress, ...props }, ref) => {\n const { open } = DialogPrimitive.useRootContext();\n return (\n <DialogPortal hostName={portalHost}>\n <DialogOverlay closeOnPress={closeOnOutsidePress}>\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"max-w-lg gap-4 border border-[#E7E7E8] web:cursor-default bg-white p-6 shadow-lg web:duration-200 rounded-lg\",\n open\n ? \"web:animate-in web:fade-in-0 web:zoom-in-95\"\n : \"web:animate-out web:fade-out-0 web:zoom-out-95\",\n className,\n )}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </DialogOverlay>\n </DialogPortal>\n );\n});\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nexport const DialogTitle = React.forwardRef<\n DialogPrimitive.TitleRef,\n DialogPrimitive.TitleProps\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title ref={ref} className={cn(className)} {...props} />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nexport type RNDialogProps = {\n title: React.ReactNode;\n trigger?: React.ReactNode;\n content?: React.ReactNode;\n footer?: React.ReactNode;\n containerClass?: string;\n open?: Control<boolean>;\n onOpenChange?: (open: boolean) => void;\n closeOnOutsidePress?: boolean;\n portalHost?: string;\n};\n\n/**\n * If the content is <ScrollView>, the first child of the ScrollView should be a View with a prop of onStartShouldSetResponder={() => true}\n */\nexport function RNDialog({\n title,\n trigger,\n content,\n footer,\n open,\n onOpenChange,\n closeOnOutsidePress = false,\n containerClass,\n portalHost,\n}: RNDialogProps) {\n const dialogOpen = open ?? useControl(false);\n const { width } = useWindowDimensions();\n\n const maxWidth = useMemo(() => Math.min(width - 32, 1024), [width]);\n\n return (\n <Dialog\n open={dialogOpen.value}\n onOpenChange={(o) => {\n if (onOpenChange) {\n onOpenChange(o);\n } else {\n dialogOpen.value = o;\n }\n }}\n >\n {trigger && <DialogTrigger asChild>{trigger}</DialogTrigger>}\n <DialogContent\n closeOnOutsidePress={closeOnOutsidePress}\n className={cn(\"min-w-[200px] min-h-[200px] z-10\", containerClass)}\n style={{ maxWidth }}\n portalHost={Platform.select({ ios: portalHost })}\n >\n <View\n className={\n \"flex flex-row gap-[10px] justify-between items-start w-full\"\n }\n >\n <DialogTitle asChild className={\"flex-1 flex-shrink title2\"}>\n {title}\n </DialogTitle>\n <DialogClose className={\"rounded-sm\"} asChild>\n <TouchableOpacity>\n <FontAwesome6 name=\"xmark-circle\" size={24} color={\"#267151\"} />\n </TouchableOpacity>\n </DialogClose>\n </View>\n {content}\n {footer}\n </DialogContent>\n </Dialog>\n );\n}\n","import {\n createDataRenderer,\n DataRendererProps,\n DataRenderType,\n FormRenderer,\n FormStateNode,\n getHasMoreControl,\n getLoadingControl,\n getRefreshingControl,\n NoOpControlActionContext,\n ScrollListRenderOptions,\n} from \"@react-typed-forms/schemas\";\nimport {\n ActivityIndicator,\n FlatList,\n RefreshControl,\n Text,\n View,\n} from \"react-native\";\nimport { isValidElement, ReactElement } from \"react\";\nimport { DefaultScrollListOptions } from \"../rendererOptions\";\n\nexport interface ExtendedDefaultScrollListOptions\n extends DefaultScrollListOptions {\n itemGap?: number;\n contentContainerClassName?: string;\n refreshControlTintColor?: string;\n}\n\nexport function createRNScrollListRenderer(\n options: ExtendedDefaultScrollListOptions = {},\n) {\n return createDataRenderer(\n (p, renderer) => (\n <RNScrollListRenderer\n dataProps={p}\n renderer={renderer}\n options={options}\n />\n ),\n {\n collection: true,\n renderType: DataRenderType.ScrollList,\n },\n );\n}\n\nfunction RNScrollListRenderer({\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: ExtendedDefaultScrollListOptions;\n}) {\n const elements = formNode.children;\n const { itemGap, contentContainerClassName, refreshControlTintColor } =\n options;\n\n const { bottomActionId, refreshActionId } =\n renderOptions as ScrollListRenderOptions;\n const loadingControl = getLoadingControl(dataNode.control);\n const hasMoreControl = getHasMoreControl(dataNode.control);\n const refreshingControl = getRefreshingControl(dataNode.control);\n const handleLoadMore = bottomActionId\n ? actionOnClick?.(bottomActionId, undefined, dataContext)\n : undefined;\n const handleRefresh = refreshActionId\n ? actionOnClick?.(refreshActionId, undefined, dataContext)\n : undefined;\n\n return (\n <FlatList\n refreshControl={\n <RefreshControl\n refreshing={refreshingControl.value}\n onRefresh={() => {\n if (loadingControl.value) return;\n handleRefresh?.(NoOpControlActionContext);\n }}\n colors={\n refreshControlTintColor ? [refreshControlTintColor] : undefined\n }\n tintColor={refreshControlTintColor}\n />\n }\n renderItem={({ item }) => renderItem(item)}\n data={elements}\n style={{ flex: 1 }}\n contentContainerClassName={contentContainerClassName}\n ItemSeparatorComponent={() =>\n !!itemGap && <View style={{ height: itemGap }}></View>\n }\n showsVerticalScrollIndicator={false}\n onEndReachedThreshold={0.4}\n onEndReached={() => {\n if (!hasMoreControl.value || loadingControl.value) return;\n handleLoadMore?.(NoOpControlActionContext);\n }}\n keyExtractor={(item) => item.uniqueId}\n ListEmptyComponent={\n <View className={\"h-full items-center justify-center\"}>\n {loadingControl.value ? (\n <ActivityIndicator size={\"large\"} color={refreshControlTintColor} />\n ) : (\n <Text className={\"headline\"}>No results found</Text>\n )}\n </View>\n }\n ListFooterComponent={\n elements.length > 0 ? (\n <View\n className={\"flex flex-row items-center justify-center py-[16px]\"}\n >\n {hasMoreControl.value ? (\n loadingControl.value && <ActivityIndicator size={\"large\"} />\n ) : (\n <Text className={\"subhead\"}>\n You’ve reached the end of the list.\n </Text>\n )}\n </View>\n ) : undefined\n }\n />\n );\n\n function renderItem(item: FormStateNode): ReactElement | null {\n const children = renderChild(item);\n return isValidElement(children) ? children : null;\n }\n}\n","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\";\nimport { RNHtmlRenderer } from \"./RNHtmlRenderer\";\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 const { htmlClassName, ...props } = options;\n return (\n <RNHtmlRenderer\n style={style}\n className={rendererClass(className, htmlClassName)}\n html={\n display ? coerceToString(display.value) : (data as HtmlDisplay).html\n }\n {...props}\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 {\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}","import {\n createVisibilityRenderer,\n VisibilityRendererProps,\n} from \"@react-typed-forms/schemas\";\nimport { FormRenderer } from \"@react-typed-forms/schemas\";\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}","import { CheckButtonsProps, rendererClass } from \"@react-typed-forms/schemas\";\nimport { RenderArrayElements, useComputed } from \"@react-typed-forms/core\";\nimport React from \"react\";\nimport { clsx } from \"clsx\";\n\nexport function RNCheckButtons(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 renderer,\n } = props;\n const { Button, Input, Label, Div } = renderer.html;\n const { disabled } = control;\n const name = \"r\" + control.uniqueId;\n return (\n <Div className={className} id={id}>\n <RenderArrayElements array={options?.filter((x) => x.value != null)}>\n {(o, i) => {\n const checked = useComputed(() => isChecked(control, o)).value;\n const selOrUnsel = checked\n ? rendererClass(\n controlClasses?.selectedClass,\n classes.selectedClass,\n )\n : rendererClass(\n controlClasses?.notSelectedClass,\n classes.notSelectedClass,\n );\n return (\n <Button\n className={clsx(\n rendererClass(\n controlClasses?.entryWrapperClass,\n classes.entryWrapperClass,\n ),\n selOrUnsel,\n )}\n onClick={() =>\n !(readonly || disabled) && setChecked(control, o, !checked)\n }\n notWrapInText\n >\n <Div className={classes.entryClass}>\n <Input\n id={name + \"_\" + i}\n className={classes.checkClass}\n type={type}\n name={name}\n readOnly={readonly}\n disabled={disabled}\n checked={checked}\n onChangeChecked={(x) => {\n !readonly && setChecked(control, o, x);\n }}\n />\n <Label\n className={classes.labelClass}\n textClass={classes.labelClass}\n htmlFor={name + \"_\" + i}\n >\n {o.name}\n </Label>\n </Div>\n {entryAdornment?.(o, i, checked)}\n </Button>\n );\n }}\n </RenderArrayElements>\n </Div>\n );\n}\n","import React from \"react\";\nimport {\n FormRenderer,\n FormStateNode,\n SchemaDataNode,\n SchemaInterface,\n} from \"@react-typed-forms/schemas\";\nimport { RNDiv } from \"../createDefaultRNRenderers\";\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 return (\n <RNDiv\n style={style}\n className={className}\n textClass={textClass}\n text={text}\n inline={inline}\n noSelection={noSelection}\n />\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}","import clsx from \"clsx\";\nimport React, { Fragment, ReactNode } from \"react\";\nimport { View, StyleProp, ViewStyle } from \"react-native\";\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 isArrayRenderer,\n mergeObjects,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\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 interface DefaultArrayRendererOptions extends ArrayActionOptions {\n className?: string;\n removableClass?: string;\n childClass?: string;\n removableChildClass?: string;\n removeActionClass?: string;\n addActionClass?: string;\n}\n\nexport function createDefaultArrayRenderer(\n options?: DefaultArrayRendererOptions,\n): ArrayRendererRegistration {\n return {\n render: (props, { renderAction }) => (\n <DefaultArrayRenderer\n {...props}\n {...options}\n renderAction={renderAction}\n />\n ),\n type: \"array\",\n };\n}\n\nexport interface DefaultArrayRendererProps\n extends DefaultArrayRendererOptions,\n ArrayRendererProps {\n renderAction: (props: ActionRendererProps) => ReactNode;\n}\n\nexport function DefaultArrayRenderer(props: DefaultArrayRendererProps) {\n const {\n renderElement,\n className,\n removableClass,\n childClass,\n removableChildClass,\n removeActionClass,\n addActionClass,\n getElementCount,\n renderAction,\n style,\n editAction,\n childOverrideClass,\n } = props;\n const { addAction, removeAction } = applyArrayLengthRestrictions(props);\n return (\n <View style={style as StyleProp<ViewStyle>}>\n <View 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 <View\n className={clsx(\n rendererClass(childOverrideClass, childClass),\n removableChildClass,\n )}\n >\n {children}\n </View>\n <View className={removeActionClass}>\n {editAction && renderAction(editAction(x))}\n {removeAction && renderAction(removeAction(x))}\n </View>\n </Fragment>\n ) : (\n <View\n key={key}\n className={rendererClass(childOverrideClass, childClass)}\n >\n {children}\n </View>\n ),\n )\n }\n />\n ))}\n </View>\n {addAction && (\n <View className={addActionClass}>{renderAction(addAction)}</View>\n )}\n </View>\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}\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 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 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}","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 ActionRendererProps,\n ControlDataContext,\n OptionalAdornment,\n} from \"@react-typed-forms/schemas\";\nimport {\n MixedStyleDeclaration,\n MixedStyleRecord,\n} from \"react-native-render-html\";\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// Optional render props for optional adornment (React Native)\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\n// ============================================================================\n// INDIVIDUAL COMPONENT OPTIONS INTERFACES (React Native)\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 baseStyle?: MixedStyleDeclaration;\n tagsStyles?: MixedStyleRecord;\n systemFonts?: 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 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 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 dialog?: DefaultDialogRenderOptions;\n // Note: dialog not fully supported in React Native\n wizard?: DefaultWizardRenderOptions;\n accordion?: DefaultAccordionRendererOptions;\n}\n\n// ============================================================================\n// MAIN COMPOSITE OPTIONS INTERFACES (React Native)\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];\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}","import { DefaultDialogRenderOptions } from \"../rendererOptions\";\nimport {\n ControlActionHandler,\n createGroupRenderer,\n deepMerge,\n DialogRenderOptions,\n FormRenderer,\n GroupRendererProps,\n GroupRenderType,\n} from \"@react-typed-forms/schemas\";\nimport {\n Platform,\n TouchableOpacity,\n useWindowDimensions,\n View,\n ScrollView,\n} from \"react-native\";\nimport { Dialog, DialogClose, DialogContent, DialogTitle } from \"./RNDialog\";\nimport { useControl, useControlEffect } from \"@react-typed-forms/core\";\nimport { useMemo } from \"react\";\nimport { cn } from \"../utils\";\nimport * as React from \"react\";\nimport { FontAwesome6 } from \"@expo/vector-icons\";\n\nexport const defaultRNDialogOptions = {\n classes: {\n className: \"\",\n titleClass: \"flex-1 flex-shrink title2\",\n containerClass: \"w-full px-[16px]\",\n },\n} satisfies DefaultDialogRenderOptions;\n\nexport function createDialogRenderer(options?: DefaultDialogRenderOptions) {\n return createGroupRenderer(\n (props, renderers) => (\n <DefaultDialogRenderer\n props={props}\n options={options}\n renderer={renderers}\n renderOptions={props.renderOptions as DialogRenderOptions}\n />\n ),\n {\n renderType: GroupRenderType.Dialog,\n },\n );\n}\n\nexport function DefaultDialogRenderer({\n props,\n options,\n renderOptions,\n renderer,\n}: {\n props: GroupRendererProps;\n options?: DefaultDialogRenderOptions;\n renderOptions: DialogRenderOptions;\n renderer: FormRenderer;\n}) {\n const {\n classes: { containerClass, className, titleClass },\n } = deepMerge(\n options as typeof defaultRNDialogOptions,\n defaultRNDialogOptions,\n );\n\n const dialogOpen = useControl(false);\n const { width } = useWindowDimensions();\n const maxWidth = useMemo(() => Math.min(width - 32, 1024), [width]);\n\n const actionOnClick: ControlActionHandler = (action) => {\n switch (action) {\n case \"closeDialog\":\n return () => {\n dialogOpen.value = false;\n };\n\n case \"openDialog\":\n return () => {\n dialogOpen.value = true;\n };\n }\n };\n\n const allChildren = props.formNode.children;\n const triggerChildren = allChildren.filter(\n (x) => x.definition.placement === \"trigger\",\n );\n\n const { title, portalHost } = renderOptions;\n\n return (\n <Dialog\n open={dialogOpen.value}\n onOpenChange={(o) => {\n dialogOpen.value = o;\n }}\n >\n {triggerChildren.map((x) => props.renderChild(x, { actionOnClick }))}\n <DialogContent\n closeOnOutsidePress={false}\n className={cn(\"min-w-[200px] min-h-[200px] z-10\", containerClass)}\n style={{ maxWidth }}\n portalHost={Platform.select({\n ios: portalHost?.trim() ? portalHost : undefined,\n })}\n >\n <View\n className={\n \"flex flex-row gap-[10px] justify-between items-start w-full\"\n }\n >\n <DialogTitle asChild className={titleClass}>\n {title}\n </DialogTitle>\n <DialogClose className={\"rounded-sm\"} asChild>\n <TouchableOpacity>\n <FontAwesome6 name=\"xmark-circle\" size={24} color={\"#267151\"} />\n </TouchableOpacity>\n </DialogClose>\n </View>\n <ScrollView persistentScrollbar={true}>\n <View\n className={\"flex flex-col gap-[12px]\"}\n onStartShouldSetResponder={() => true}\n >\n {allChildren\n .filter(\n (x) =>\n !x.definition.placement ||\n x.definition.placement === \"dialog\",\n )\n .map((x, i) => props.renderChild(x, { actionOnClick }))}\n </View>\n </ScrollView>\n </DialogContent>\n </Dialog>\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 clsx from \"clsx\";\nimport React, { CSSProperties, ReactElement } from \"react\";\nimport {\n DefaultTabsRenderOptions,\n DefaultGridRenderOptions,\n DefaultWizardRenderOptions,\n DefaultDialogRenderOptions,\n} from \"../rendererOptions\";\nimport { createGridRenderer } from \"./GridRenderer\";\nimport { createWizardRenderer } from \"./DefaultWizardRenderer\";\nimport { createAccordionGroupRenderer } from \"./DefaultAccordion\";\nimport {\n DefaultAccordionRendererOptions,\n DefaultAdornmentRendererOptions,\n} from \"../rendererOptions\";\nimport { createDialogRenderer } from \"./DefaultDialogRenderer\";\n\ninterface StyleProps {\n className?: string;\n style?: CSSProperties;\n}\n\nexport interface DefaultGroupRendererOptions {\n className?: string;\n standardClassName?: string;\n grid?: DefaultGridRenderOptions;\n flexClassName?: string;\n defaultFlexGap?: string;\n inlineClass?: string;\n tabs?: DefaultTabsRenderOptions;\n wizard?: DefaultWizardRenderOptions;\n dialog?: DefaultDialogRenderOptions;\n accordion?: DefaultAccordionRendererOptions;\n}\n\nexport function createDefaultGroupRenderer(\n options?: DefaultGroupRendererOptions,\n adornmentOptions?: DefaultAdornmentRendererOptions,\n): GroupRendererRegistration {\n // These renderers work with React Native via the HTML abstraction layer\n const gridRenderer = createGridRenderer(options?.grid);\n const wizardRenderer = createWizardRenderer(options?.wizard);\n\n // Stub renderers for React Native - these should be replaced with RN implementations\n const tabsRenderer = {\n render: (props: any, renderer: any) => {\n console.error(\"Tabs renderer not implemented for React Native\");\n return <></>;\n },\n };\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 // React Native uses flexbox by default, no need for display: \"flex\"\n return {\n className: flexClassName,\n style: {\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 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}","import { createDefaultDisplayRenderer } from \"./components/DefaultDisplay\";\nimport { createDefaultLayoutRenderer } from \"./components/DefaultLayout\";\nimport { createDefaultVisibilityRenderer } from \"./components/DefaultVisibility\";\nimport React, { isValidElement, ReactElement, ReactNode } from \"react\";\nimport {\n Text,\n View,\n Pressable,\n StyleProp,\n ViewStyle,\n Role,\n} from \"react-native\";\nimport clsx from \"clsx\";\nimport { Icon } from \"./components/Icon\";\nimport { RNRadioItem } from \"./components/RNRadioItem\";\nimport { RNTextInput } from \"./components/RNTextInputRenderer\";\nimport { RNHtmlRenderer } from \"./components/RNHtmlRenderer\";\nimport { RNCheckButtons } from \"./components/RNCheckButtons\";\nimport { RNCheckbox } from \"./components/RNCheckboxRenderer\";\nimport { HTMLAttributes } from \"react\";\nimport {\n HtmlButtonProperties,\n HtmlDivProperties,\n HtmlIconProperties,\n HtmlInputProperties,\n HtmlComponents,\n IconLibrary,\n} from \"@react-typed-forms/schemas\";\nimport { createRNSelectRenderer } from \"./components/RNSelectRenderer\";\nimport { createRNCheckboxRenderer } from \"./components/RNCheckboxRenderer\";\nimport { createRNTextInputRenderer } from \"./components/RNTextInputRenderer\";\nimport {\n createRNScrollListRenderer,\n ExtendedDefaultScrollListOptions,\n} from \"./components/RNScrollListRenderer\";\nimport { createRNDateTimePickerRenderer } from \"./components/RNDateTimePickerRenderer\";\nimport { Platform } from \"react-native\";\nimport { DefaultDisplayOnly } from \"./components/DefaultDisplayOnly\";\nimport { useControlEffect } from \"@react-typed-forms/core\";\nimport { ControlInput, createInputConversion } from \"./components/ControlInput\";\nimport {\n createDefaultArrayDataRenderer,\n createDefaultArrayRenderer,\n} from \"./components/DefaultArrayRenderer\";\nimport {\n createCheckListRenderer,\n createElementSelectedRenderer,\n createRadioRenderer,\n} from \"./components/CheckRenderer\";\nimport { DefaultAccordion } from \"./components/DefaultAccordion\";\nimport { createNullToggleRenderer } from \"./components/NullToggle\";\nimport {\n AdornmentPlacement,\n AdornmentRendererRegistration,\n appendMarkupAt,\n ControlDataContext,\n createDataRenderer,\n DataRendererRegistration,\n DataRenderType,\n DefaultRenderers,\n FieldType,\n hasOptions,\n isAccordionAdornment,\n isDataGroupRenderer,\n isDisplayOnlyRenderer,\n isIconAdornment,\n isOptionalAdornment,\n isSetFieldAdornment,\n isTextfieldRenderer,\n LabelRendererRegistration,\n LabelType,\n rendererClass,\n RunExpression,\n schemaDataForFieldRef,\n SetFieldAdornment,\n useExpression,\n wrapLayout,\n} from \"@react-typed-forms/schemas\";\nimport {\n DefaultRendererOptions,\n DefaultDataRendererOptions,\n DefaultLabelRendererOptions,\n DefaultBoolOptions,\n DefaultAdornmentRendererOptions,\n} from \"./rendererOptions\";\nimport { createDefaultGroupRenderer } from \"./components/DefaultGroupRenderer\";\nimport { createButtonActionRenderer } from \"./createButtonActionRenderer\";\n\nexport function createDefaultDataRenderer(\n options: DefaultDataRendererOptions = {},\n): DataRendererRegistration {\n const elementSelectedRenderer = createElementSelectedRenderer(\n options.checkboxOptions ?? options.checkOptions,\n );\n const nullToggler = createNullToggleRenderer();\n // Use RN-specific renderers directly\n const checkboxRenderer = createRNCheckboxRenderer(\n options.checkboxOptions ?? options.checkOptions,\n );\n const selectRenderer = createRNSelectRenderer(options.selectOptions);\n const radioRenderer = createRadioRenderer(\n options.radioOptions ?? options.checkOptions,\n );\n const checkListRenderer = createCheckListRenderer(\n options.checkListOptions ?? options.checkOptions,\n );\n const { booleanOptions, optionRenderer, displayOnlyClass, defaultEmptyText } =\n {\n optionRenderer: selectRenderer,\n booleanOptions: DefaultBoolOptions,\n ...options,\n };\n const arrayRenderer = createDefaultArrayDataRenderer(options.arrayOptions);\n\n const scrollListRenderer = createRNScrollListRenderer(\n options.scrollListOptions as ExtendedDefaultScrollListOptions,\n );\n\n // Add RN-specific text input renderer\n const textInputRenderer = createRNTextInputRenderer(\n options.inputClass,\n options.inputTextClass,\n );\n\n // Add RN datetime picker for non-web platforms\n const dateTimeRenderer =\n Platform.OS !== \"web\" ? createRNDateTimePickerRenderer(options) : null;\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 console.error(\"ArrayElement renderer not implemented for React Native\");\n\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 console.error(\"Jsonata renderer not implemented for React Native\");\n return <></>;\n case DataRenderType.Autocomplete:\n console.error(\"Autocomplete renderer not implemented for React Native\");\n return <></>;\n case DataRenderType.ElementSelected:\n return elementSelectedRenderer.render(props, renderers);\n }\n\n // Handle DateTime fields with RN-specific datetime picker (if available)\n if (\n (fieldType === FieldType.Date || fieldType === FieldType.DateTime) &&\n dateTimeRenderer\n ) {\n return dateTimeRenderer.render(props, renderers);\n }\n\n if (fieldType == FieldType.Any) {\n return (\n <>\n Can't render field: {field.displayName ?? field.field} ({renderType})\n </>\n );\n }\n // Use RN text input renderer for explicit textfield renderers\n if (isTextfieldRenderer(renderOptions)) {\n return textInputRenderer.render(props, renderers);\n }\n\n // Use ControlInput for default inputs (handles numbers, etc.)\n return (\n <ControlInput\n className={rendererClass(props.className, options.inputClass)}\n textClass={rendererClass(props.textClass, options.inputTextClass)}\n style={props.style}\n id={props.id}\n errorId={props.errorId}\n readOnly={props.readonly}\n control={props.control}\n convert={createInputConversion(props.field.type)}\n renderer={renderers}\n />\n );\n });\n}\n\nexport function createDefaultAdornmentRenderer(\n options: DefaultAdornmentRendererOptions = {},\n): AdornmentRendererRegistration {\n return {\n type: \"adornment\",\n render: (props, renderers) => {\n if (isOptionalAdornment(props.adornment)) {\n console.error(\"Optional adornment not implemented for React Native\");\n return {\n apply: () => {\n return <></>;\n },\n priority: 0,\n };\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\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\n// React Native HTML Components Implementation\nfunction RNIcon({ iconName, className, iconLibrary }: HtmlIconProperties) {\n return iconName ? (\n <Icon\n name={iconName}\n className={className}\n iconLibrary={iconLibrary as IconLibrary}\n />\n ) : undefined;\n}\n\nfunction RNSpan(props: HTMLAttributes<HTMLElement>) {\n return <Text {...(props as any)} />;\n}\n\nfunction RNButton({\n inline,\n textClass,\n children,\n notWrapInText,\n androidRippleColor,\n nonTextContent,\n onClick,\n ...props\n}: HtmlButtonProperties) {\n if (inline) {\n return (\n <Text\n {...(props as any)}\n className={textClass}\n onPress={onClick as any}\n children={children}\n />\n );\n }\n return (\n <Pressable\n {...(props as any)}\n onPress={() => {\n onClick?.();\n }}\n android_ripple={{\n color: androidRippleColor,\n }}\n >\n {notWrapInText || nonTextContent ? (\n children\n ) : (\n <Text className={textClass}>{children}</Text>\n )}\n </Pressable>\n );\n}\n\nfunction RNLabel({\n className,\n html,\n children,\n textClass,\n text,\n style,\n inline,\n role,\n ...props\n}: HtmlDivProperties) {\n return (\n !isNodeEmpty(children) && (\n <View\n className={className}\n style={style as StyleProp<ViewStyle>}\n role={role as Role}\n {...props}\n >\n <Text className={textClass}>{children}</Text>\n </View>\n )\n );\n}\n\nexport function RNDiv({\n className,\n html,\n children,\n textClass,\n text,\n style,\n inline,\n role,\n noSelection,\n ...props\n}: HtmlDivProperties & { noSelection?: boolean | null }) {\n if (html != null) {\n return <RNHtmlRenderer {...props} html={html} />;\n }\n if (inline) {\n return (\n <Text\n style={style as StyleProp<ViewStyle>}\n className={textClass}\n selectable={!noSelection}\n >\n {text ?? children}\n </Text>\n );\n }\n if (text != null) {\n return (\n <View\n className={className}\n style={style as StyleProp<ViewStyle>}\n role={role as Role}\n {...props}\n >\n <Text className={textClass} selectable={!noSelection}>\n {text}\n </Text>\n </View>\n );\n }\n return (\n <View\n className={className}\n style={style as StyleProp<ViewStyle>}\n children={children}\n role={role as Role}\n {...props}\n />\n );\n}\n\nfunction RNInput(props: HtmlInputProperties) {\n const { id, type, onChangeValue, onChangeChecked, checked, value, ...rest } =\n props;\n switch (type) {\n case \"radio\":\n return (\n <RNRadioItem\n {...(rest as any)}\n checked={!!checked}\n onChange={() => onChangeChecked?.(!checked)}\n />\n );\n case \"checkbox\":\n return (\n <RNCheckbox\n key={id}\n {...(rest as any)}\n checked={!!checked}\n onCheckedChange={() => onChangeChecked?.(!checked)}\n />\n );\n default:\n return (\n <RNTextInput\n {...(rest as any)}\n defaultValue={typeof value == \"number\" ? value.toString() : value}\n onChangeText={(t) => onChangeValue?.(t)}\n />\n );\n }\n}\n\n// React Native HTML Components\nexport const ReactNativeHtmlComponents: HtmlComponents = {\n I: RNIcon,\n B: RNSpan,\n Button: RNButton,\n Label: RNLabel,\n Span: RNSpan,\n H1: RNSpan,\n Div: RNDiv,\n Input: RNInput,\n CheckButtons: RNCheckButtons,\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 ?? ReactNativeHtmlComponents,\n };\n}\n\nfunction isNodeEmpty(node: React.ReactNode): boolean {\n if (node === null || node === undefined || typeof node === \"boolean\") {\n return true;\n }\n\n if (typeof node === \"string\" || typeof node === \"number\") {\n return false;\n }\n if (Array.isArray(node)) {\n return node.every(isNodeEmpty);\n }\n\n if (React.isValidElement(node)) {\n const element = node as React.ReactElement<{ children?: React.ReactNode }>;\n return isNodeEmpty(element.props?.children ?? undefined);\n }\n\n return false;\n}\n"],"names":["defaultTailwindTheme","label","groupLabelClass","requiredElement","_ref","Span","React","createElement","className","array","removableClass","childClass","addActionClass","removeActionClass","group","standardClassName","grid","rowClass","cellClass","flexClassName","inlineClass","tabs","tabListClass","tabClass","labelClass","inactiveClass","activeClass","contentClass","action","buttonClass","primaryClass","secondaryClass","iconBeforeClass","iconAfterClass","busyIcon","fontAwesomeIcon","layout","errorClass","data","inputClass","displayOnlyClass","checkOptions","entryClass","selectOptions","emptyText","arrayElementOptions","actionsClass","multilineClass","autocompleteOptions","listContainerClass","listEntryClass","chipContainerClass","chipCloseButtonClass","scrollListOptions","loadingIcon","adornment","accordion","titleTextClass","iconOpen","iconClosed","optional","checkClass","multiValuesClass","childWrapperClass","defaultRnTailwindTheme","deepMerge","labelContainer","c","_jsx","View","children","textClass","helpText","iconName","iconClass","triggerContainerClass","triggerLabelClass","contentTextClass","cn","twMerge","clsx","slice","call","arguments","TextClassContext","createContext","undefined","RNText","forwardRef","ref","_ref$asChild","asChild","props","_objectWithoutPropertiesLoose","_excluded","useContext","Component","Slot","Text","_extends","displayName","buttonVariants","cva","variants","variant","destructive","outline","secondary","ghost","link","size","sm","lg","icon","defaultVariants","buttonTextVariants","RNButton","Provider","value","Pressable","disabled","role","cssInterop","FontAwesome","target","nativeStyleToProp","MaterialIcons","Icon","_effect","_useComponentTracking","name","_ref$className","iconLibrary","IconLibrary","Material","createRNCheckboxRenderer","options","createDataRenderer","renderer","p","CheckBoxRenderer","renderType","DataRenderType","Checkbox","onCheckboxPressed","control","touched","as","_formControlProps","formControlProps","_formControlProps2","checkboxDisabled","readonly","_jsxs","rendererClass","onPress","RNCheckbox","id","checked","onCheckedChange","renderLabel","_ref2","CheckboxPrimitive","Root","Indicator","createRNTextInputRenderer","inputTextClass","renderOptions","rest","placeholder","multiline","keyboardType","autoComplete","RNTextInput","readOnly","defaultValue","onChangeText","v","Textfield","placeholderClassName","_excluded2","editable","TextInput","createRNDateTimePickerRenderer","mode","field","type","FieldType","DateTime","Time","RNDateTimePicker","schemaType","Date","isVisible","getInnerPickerValue","dateString","parseDate","toDate","parseAbsolute","getLocalTimeZone","toCalendarDateTime","now","parseTime","_","getFormattedDate","innerPickerValue","day","month","year","timeZone","hour","minute","hour12","timeStyle","DateFormatter","locale","format","hidePicker","_ref$locale","_ref$is24Hour","is24Hour","maximumDate","minimumDate","useControl","formattedDate","handleConfirm","date","zonedDateTime","fromDate","toCalendarDate","toString","toAbsoluteString","toTime","FontAwesome5","color","DateTimePickerModal","onConfirm","onCancel","onHide","RNHtmlRenderer","html","style","contentWidth","source","RenderHtml","defaultTextProps","selectable","Dimensions","get","width","RNRadioItem","onChange","RadioGroupPrimitive","Item","createSelectConversion","ft","String","Int","Double","a","_a$toString","createRNSelectRenderer","asArray","_props$options","_renderOptions$requir","definition","RNSelectRenderer","state","required","requiredText","convert","portalHost","Dropdown","renderOption","x","i","SelectItem","_ref$emptyText","_ref$requiredText","insets","useSafeAreaInsets","contentInsets","top","bottom","Platform","select","ios","android","left","right","optionStringMap","useMemo","Object","fromEntries","map","optionGroups","Array","from","Set","filter","selectedOption","useComputed","at","selectContentWidth","selectContentWidthValue","Select","onValueChange","o","SelectTrigger","onLayout","e","nativeEvent","SelectValue","SelectContent","ScrollView","SelectGroup","SelectLabel","SelectPrimitive","Group","Value","_effect2","Trigger","pointerEvents","_ref3","_ref3$position","position","_excluded3","_SelectPrimitive$useR","useRootContext","open","Portal","hostName","Overlay","OS","StyleSheet","absoluteFill","Animated","entering","FadeIn","exiting","FadeOut","Content","Viewport","_ref4","_excluded4","Label","_ref5","_excluded5","ItemIndicator","ItemText","Dialog","DialogPrimitive","DialogTrigger","DialogPortal","DialogClose","Close","DialogOverlayWeb","_DialogPrimitive$useR","DialogOverlayNative","DialogOverlay","web","DialogContent","closeOnOutsidePress","_DialogPrimitive$useR2","closeOnPress","DialogTitle","Title","RNDialog","_effect3","title","trigger","content","footer","onOpenChange","_ref5$closeOnOutsideP","containerClass","dialogOpen","_useWindowDimensions","useWindowDimensions","maxWidth","Math","min","TouchableOpacity","FontAwesome6","createRNScrollListRenderer","RNScrollListRenderer","dataProps","collection","ScrollList","renderItem","item","renderChild","isValidElement","_ref$dataProps","formNode","dataNode","actionOnClick","dataContext","elements","itemGap","contentContainerClassName","refreshControlTintColor","bottomActionId","refreshActionId","loadingControl","getLoadingControl","hasMoreControl","getHasMoreControl","refreshingControl","getRefreshingControl","handleLoadMore","handleRefresh","FlatList","refreshControl","RefreshControl","refreshing","onRefresh","NoOpControlActionContext","colors","tintColor","flex","ItemSeparatorComponent","height","showsVerticalScrollIndicator","onEndReachedThreshold","onEndReached","keyExtractor","uniqueId","ListEmptyComponent","ActivityIndicator","ListFooterComponent","length","createDefaultDisplayRenderer","render","DefaultDisplay","displayProps","_iconDisplay$icon","_iconDisplay$icon2","display","_renderer$html","I","Div","B","H1","DisplayDataType","iconDisplay","getOverrideClass","library","text","coerceToString","textClassName","textTextClass","inline","Html","htmlClassName","Custom","customId","createDefaultLayoutRenderer","createLayoutRenderer","renderers","renderLayoutParts","wrapLayout","DefaultLayout","divRef","errorControl","meta","scrollElement","_ref$renderer$html","_ref$renderError","renderError","errorId","_ref$layout","controlEnd","controlStart","ec","errorText","error","_Fragment","createDefaultVisibilityRenderer","createVisibilityRenderer","DefaultVisibility","visibility","useEffect","setValue","ex","visible","showing","nativeRef","RNCheckButtons","isChecked","setChecked","entryAdornment","classes","_props$controlClasses","controlClasses","Button","Input","RenderArrayElements","selOrUnsel","selectedClass","notSelectedClass","entryWrapperClass","onClick","notWrapInText","onChangeChecked","htmlFor","DefaultDisplayOnly","noSelection","schemaInterface","resolved","isEmptyValue","schema","textValueForData","RNDiv","ControlInput","toText","inputProps","textValue","useControlEffect","inputRef","onChangeValue","converted","createInputConversion","Bool","parseInt","l","substring","parseFloat","createDefaultArrayDataRenderer","defaultActions","DataArrayRenderer","designMode","_mergeObjects","mergeObjects","isArrayRenderer","addText","noAdd","noRemove","noReorder","removeText","editExternal","childOverrideClass","arrayProps","createArrayActions","getChildCount","renderElement","wrap","n","getChild","childKey","getLengthRestrictions","renderArray","createDefaultArrayRenderer","renderAction","DefaultArrayRenderer","removableChildClass","getElementCount","editAction","_applyArrayLengthRest","applyArrayLengthRestrictions","addAction","removeAction","RenderControl","key","Fragment","createRadioRenderer","CheckButtons","setTouched","fieldOptionAdornment","Radio","createCheckListRenderer","isArray","includes","setIncluded","CheckList","createElementSelectedRenderer","CheckBoxSelected","ElementSelected","_p$label","selControl","useElementSelectedRenderer","Fcheckbox","_ref3$type","_ref3$notValue","notValue","others","theseProps","r","element","DefaultAccordion","_dataContext$dataNode","openCtrl","contentStyle","contentClassName","defaultExpanded","isGroup","togglerClass","_ref2$renderTitle","renderTitle","t","renderToggler","useCss","panelId","useId","_renderers$html","dataControl","parentNode","use","accordionState","isOpen","fullContentStyle","currentIcon","accordionClassName","accordionTitleTextClass","accordionTitle","toggler","createAccordionGroupRenderer","createGroupRenderer","AccordionGroupRenderer","groupProps","GroupRenderType","Accordion","allChildren","titleChildren","placement","contentChildren","_groupProps$renderOpt","expandStateField","expandStateFieldNode","schemaDataForFieldRef","createNullToggleRenderer","lastDefined","getLastDefinedValue","current","nullControl","getNullToggler","renderData","DefaultBoolOptions","createGridRenderer","formRenderer","GridRenderer","Grid","_gridOptions$columns","_props$groupProps","filteredChildren","defaults","gridOptions","numColumns","columns","defaultColumns","getCellClassNames","rows","push","row","rowIndex","cell","cellIndex","_cellClass$at","split","defaultOptions","navContainerClass","actions","nextText","nextIcon","nextValidate","prevText","prevIcon","prevValidate","renderNavigation","defaultNavigationRender","prev","next","createWizardRenderer","WizardRenderer","Wizard","countVisibleUntil","untilPage","count","childrenLength","nav","dir","validate","validatePage","nextVisibleInDirection","page","currentPage","pageNode","valid","isPageValid","mergedOptions","_mergedOptions$classe","_mergedOptions$action","isValid","createAction","hidden","iconPlacement","IconPlacement","AfterText","navElement","totalPages","Promise","resolve","reject","child","defaultRNDialogOptions","titleClass","createDialogRenderer","DefaultDialogRenderer","_deepMerge","_deepMerge$classes","triggerChildren","trim","persistentScrollbar","onStartShouldSetResponder","createDefaultGroupRenderer","adornmentOptions","_options$accordion","gridRenderer","wizardRenderer","wizard","tabsRenderer","console","dialogRenderer","dialog","accordionRenderer","defaultFlexGap","flexStyles","gap","flexDirection","direction","isTabsRenderer","isGridRenderer","isWizardRenderer","isDialogRenderer","isAccordionRenderer","isSelectChildRenderer","SelectChildGroupRenderer","isFlexRenderer","isInlineRenderer","gcn","Inline","renderLayout","Contents","runExpression","ctrl","useExpression","childIndexExpression","childIndex","childCount","createButtonActionRenderer","actionId","createActionRenderer","_props$icon","_props$iconPlacement","_props$iconPlacement2","_options$renderConten","actionText","actionData","actionStyle","actionContent","busy","stdIcon","stdIconPlacement","BeforeText","busyPlacement","busyIconPlacement","ReplaceText","isLink","ActionStyle","Link","classNames","linkClass","groupClass","Secondary","textClassNames","linkTextClass","secondaryTextClass","primaryTextClass","iconElement","textElement","nonTextContent","androidRippleColor","renderContent","createDefaultDataRenderer","_options$checkboxOpti","_options$checkboxOpti2","_options$radioOptions","_options$checkListOpt","elementSelectedRenderer","checkboxOptions","nullToggler","checkboxRenderer","selectRenderer","radioRenderer","radioOptions","checkListRenderer","checkListOptions","_optionRenderer$boole","optionRenderer","booleanOptions","defaultEmptyText","arrayRenderer","arrayOptions","scrollListRenderer","textInputRenderer","dateTimeRenderer","fieldType","Standard","elementIndex","ArrayElement","Compound","isDataGroupRenderer","groupOptions","hideTitle","renderGroup","displayOnly","isDisplayOnlyRenderer","isBool","hasOptions","NullToggle","Jsonata","Autocomplete","Any","_field$displayName","isTextfieldRenderer","createDefaultAdornmentRenderer","isOptionalAdornment","apply","priority","rl","isSetFieldAdornment","SetFieldWrapper","parentContext","isIconAdornment","appendMarkupAt","AdornmentPlacement","ControlStart","isAccordionAdornment","_rl$children$props","renderLabelText","fieldNode","otherField","always","defaultOnly","expression","createDefaultLabelRenderer","_labelContainer$optio","controlLabelTextClass","groupLabelTextClass","controlLabelClass","labelStart","labelEnd","_options$requiredElem","LabelType","forId","Control","RNIcon","RNSpan","_ref6","android_ripple","RNLabel","_ref7","_effect4","isNodeEmpty","_ref8","_effect5","RNInput","_effect6","ReactNativeHtmlComponents","createDefaultRenderers","_options$extraRendere","_options$html","extraRenderers","node","every","_element$props$childr","_element$props"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/defaultTailwindTheme.ts","../src/tailwind.tsx","../src/utils/index.ts","../src/components/RNText.tsx","../src/components/RNButton.tsx","../src/components/Icon.tsx","../src/components/RNCheckboxRenderer.tsx","../src/components/RNTextInputRenderer.tsx","../src/components/RNDateTimePickerRenderer.tsx","../src/components/RNHtmlRenderer.tsx","../src/components/RNRadioItem.tsx","../src/selectUtils.ts","../src/components/RNSelectRenderer.tsx","../src/components/RNDialog.tsx","../src/components/RNScrollListRenderer.tsx","../src/components/DefaultDisplay.tsx","../src/components/DefaultLayout.tsx","../src/components/DefaultVisibility.tsx","../src/components/RNCheckButtons.tsx","../src/components/DefaultDisplayOnly.tsx","../src/components/ControlInput.tsx","../src/components/DefaultArrayRenderer.tsx","../src/components/CheckRenderer.tsx","../src/components/DefaultAccordion.tsx","../src/components/NullToggle.tsx","../src/rendererOptions.ts","../src/components/GridRenderer.tsx","../src/components/DefaultWizardRenderer.tsx","../src/components/DefaultDialogRenderer.tsx","../src/components/DefaultGroupRenderer.tsx","../src/createButtonActionRenderer.tsx","../src/createDefaultRNRenderers.tsx"],"sourcesContent":["import React from \"react\";\nimport { DefaultRendererOptions } from \"./rendererOptions\";\nimport { fontAwesomeIcon } from \"@react-typed-forms/schemas\";\n\n// Default tailwind theme adapted for React Native\nexport const defaultTailwindTheme = {\n label: {\n groupLabelClass: \"font-bold\",\n requiredElement: ({ Span }) => React.createElement(Span, { className: \"text-red-500\" }, \" *\"),\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\",\n tabClass: \"me-2\",\n labelClass:\n \"flex items-center justify-center p-4 border-b-2\",\n inactiveClass:\n \"border-transparent rounded-t-lg text-gray-600 border-gray-300\",\n activeClass:\n \"text-blue-600 border-blue-600 rounded-t-lg text-blue-500 border-blue-500\",\n contentClass: \"my-2\",\n },\n },\n action: {\n buttonClass:\n \"rounded-lg p-3 text-white disabled:opacity-75\",\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: \"border rounded p-2\",\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\",\n autocompleteOptions: {\n className:\n \"w-full flex gap-[5px] pr-[5px] overflow-hidden rounded-lg bg-white border border-solid border-gray-200 min-h-[48px] py-1\",\n listContainerClass:\n \"w-full text-sm p-1.5 my-3 mx-0 min-w-[120px] rounded-xl max-h-[300px] bg-white border border-solid border-surface-200 text-surface-900\",\n listEntryClass:\n \"p-2 rounded-lg bg-primary-100 text-primary-900\",\n chipContainerClass:\n \"flex flex-row items-center px-3 py-1 rounded-full bg-surface-100 m-1 gap-2\",\n chipCloseButtonClass:\n \"p-1 bg-surface-300 rounded-full min-w-[24px] flex justify-center text-surface-50\",\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;","import { DefaultRendererOptions } from \"./rendererOptions\";\nimport { defaultTailwindTheme } from \"./defaultTailwindTheme\";\nimport { View } from \"react-native\";\nimport { deepMerge } from \"@react-typed-forms/schemas\";\n\nexport const defaultRnTailwindTheme = deepMerge<DefaultRendererOptions>(\n {\n data: {\n checkOptions: {\n entryClass: \"flex flex-row items-center gap-[8px]\",\n labelClass: \"flex-1\",\n },\n selectOptions: { emptyText: \"select\" },\n },\n label: {\n labelContainer: (c) => (\n <View className=\"flex flex-row gap-4 items-center\" children={c} />\n ),\n },\n array: {\n removableClass: \"flex flex-col gap-y-2\",\n },\n action: {\n buttonClass:\n \"flex flex-row gap-2 bg-primary-500 rounded-lg p-3 web:hover:opacity-90 active:opacity-90\",\n textClass: \"text-white\",\n },\n adornment: {\n accordion: {\n className: \"flex flex-row items-center gap-2 my-2 p-0 self-start\",\n },\n helpText: {\n iconName: \"info-circle\",\n iconClass: \"text-[12px]\",\n triggerContainerClass: \"flex flex-row gap-2 items-baseline\",\n triggerLabelClass: \"text-sm font-bold\",\n contentTextClass: \"text-white font-semibold text-sm\",\n },\n },\n },\n defaultTailwindTheme,\n);","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import * as Slot from \"@rn-primitives/slot\";\nimport type { SlottableTextProps, TextRef } from \"@rn-primitives/types\";\nimport * as React from \"react\";\nimport { Text } from \"react-native\";\nimport { cn } from \"../utils\";\n\nconst TextClassContext = React.createContext<string | undefined>(undefined);\n\nconst RNText = React.forwardRef<TextRef, SlottableTextProps>(\n ({ className, asChild = false, ...props }, ref) => {\n const textClass = React.useContext(TextClassContext);\n const Component = asChild ? Slot.Text : Text;\n return (\n <Component\n className={cn(\n \"text-base text-foreground web:select-text\",\n textClass,\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nRNText.displayName = \"RNText\";\n\nexport { RNText, TextClassContext };\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\nimport { Pressable } from \"react-native\";\nimport { cn } from \"../utils\";\nimport { TextClassContext } from \"./RNText\";\n\nconst buttonVariants = cva(\n \"group flex items-center justify-center rounded-md web:ring-offset-background web:transition-colors web:focus-visible:outline-none web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2\",\n {\n variants: {\n variant: {\n default: \"bg-primary web:hover:opacity-90 active:opacity-90\",\n destructive: \"bg-destructive web:hover:opacity-90 active:opacity-90\",\n outline:\n \"border border-input bg-background web:hover:bg-accent web:hover:text-accent-foreground active:bg-accent\",\n secondary: \"bg-secondary web:hover:opacity-80 active:opacity-80\",\n ghost:\n \"web:hover:bg-accent web:hover:text-accent-foreground active:bg-accent\",\n link: \"web:underline-offset-4 web:hover:underline web:focus:underline\",\n },\n size: {\n default: \"h-10 px-4 py-2 native:h-12 native:px-5 native:py-3\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8 native:h-14\",\n icon: \"h-10 w-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nconst buttonTextVariants = cva(\n \"web:whitespace-nowrap text-sm native:text-base font-medium text-foreground web:transition-colors\",\n {\n variants: {\n variant: {\n default: \"text-primary-foreground\",\n destructive: \"text-destructive-foreground\",\n outline: \"group-active:text-accent-foreground\",\n secondary:\n \"text-secondary-foreground group-active:text-secondary-foreground\",\n ghost: \"group-active:text-accent-foreground\",\n link: \"text-primary group-active:underline\",\n },\n size: {\n default: \"\",\n sm: \"\",\n lg: \"native:text-lg\",\n icon: \"\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\ntype ButtonProps = React.ComponentPropsWithoutRef<typeof Pressable> &\n VariantProps<typeof buttonVariants>;\n\nconst RNButton = React.forwardRef<\n React.ElementRef<typeof Pressable>,\n ButtonProps\n>(({ className, variant, size, ...props }, ref) => {\n return (\n <TextClassContext.Provider\n value={buttonTextVariants({\n variant,\n size,\n className: \"web:pointer-events-none\",\n })}\n >\n <Pressable\n className={cn(\n props.disabled && \"opacity-50 web:pointer-events-none\",\n buttonVariants({ variant, size, className }),\n )}\n ref={ref}\n role=\"button\"\n {...props}\n />\n </TextClassContext.Provider>\n );\n});\nRNButton.displayName = \"Button\";\n\nexport { RNButton, buttonTextVariants, buttonVariants };\nexport type { ButtonProps };\n","import { cssInterop } from \"nativewind\";\nimport { FontAwesome } from \"@expo/vector-icons\";\nimport { IconLibrary } from \"@react-typed-forms/schemas\";\nimport MaterialIcons from \"@expo/vector-icons/MaterialIcons\";\n\nexport type RNIconProps = {\n name: string;\n className?: string;\n iconLibrary?: IconLibrary;\n};\n\ncssInterop(FontAwesome, {\n className: {\n target: \"style\",\n nativeStyleToProp: {},\n },\n});\n\ncssInterop(MaterialIcons, {\n className: {\n target: \"style\",\n nativeStyleToProp: {},\n },\n});\n\nexport function Icon({\n name,\n className = \"!text-[16px] text-black-500\",\n iconLibrary,\n}: RNIconProps) {\n switch (iconLibrary) {\n case IconLibrary.Material:\n return <MaterialIcons name={name as any} className={className} />;\n default:\n return <FontAwesome name={name as any} className={className} />;\n }\n}\n","import * as CheckboxPrimitive from \"@rn-primitives/checkbox\";\nimport * as React from \"react\";\nimport { cn } from \"../utils\";\nimport { Icon } from \"./Icon\";\nimport {\n CheckRendererOptions,\n ControlLayoutProps,\n createDataRenderer,\n DataRendererProps,\n DataRenderType,\n FormRenderer,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\nimport { Pressable, View } from \"react-native\";\nimport { formControlProps } from \"@react-typed-forms/core\";\n\nexport function createRNCheckboxRenderer(options: CheckRendererOptions = {}) {\n return createDataRenderer(\n (props, renderer) => (p) => ({\n ...p,\n label: undefined,\n children: (\n <CheckBoxRenderer\n p={p}\n renderer={renderer}\n options={options}\n props={props}\n />\n ),\n }),\n { renderType: DataRenderType.Checkbox },\n );\n}\n\nfunction CheckBoxRenderer({\n p,\n props,\n renderer,\n options,\n}: {\n p: ControlLayoutProps;\n props: DataRendererProps;\n renderer: FormRenderer;\n options: CheckRendererOptions;\n}) {\n const control = props.control.as<boolean | null | undefined>();\n const { value } = formControlProps(control);\n\n function onCheckboxPressed() {\n control.touched = true;\n control.value = !value;\n }\n\n const { disabled } = formControlProps(control);\n const checkboxDisabled = disabled || props.readonly;\n\n return (\n <Pressable\n className={rendererClass(props.className, options.entryClass)}\n onPress={onCheckboxPressed}\n disabled={checkboxDisabled}\n >\n <RNCheckbox\n id={props.id}\n className={options.checkClass}\n checked={!!value}\n onCheckedChange={onCheckboxPressed}\n disabled={checkboxDisabled}\n />\n {p.label && renderer.renderLabel(p.label, undefined, undefined)}\n </Pressable>\n );\n}\n\nexport const RNCheckbox = React.forwardRef<\n CheckboxPrimitive.RootRef,\n CheckboxPrimitive.RootProps\n>(({ className, ...props }, ref) => {\n return (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"web:peer h-4 w-4 native:h-[24px] native:w-[24px] shrink-0 rounded-sm native:rounded border border-accent web:ring-offset-background web:focus-visible:outline-none web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn(\"items-center justify-center h-full w-full\")}\n asChild\n >\n {/*<Animated.View*/}\n {/* entering={ZoomIn.duration(150)}*/}\n {/* exiting={ZoomOut.duration(150)}*/}\n {/*>*/}\n <View>\n <Icon name={\"check\"} className={\"text-accent text-[18px]\"} />\n </View>\n {/*</Animated.View>*/}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n});\nRNCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n","import {\n createDataRenderer,\n DataRenderType,\n rendererClass,\n TextfieldRenderOptions,\n} from \"@react-typed-forms/schemas\";\nimport { cn } from \"../utils\";\nimport { formControlProps } from \"@react-typed-forms/core\";\nimport * as React from \"react\";\nimport { TextInput, type TextInputProps } from \"react-native\";\n\nexport interface ExtendedTextInput {\n keyboardType?: string;\n autoComplete?: string;\n}\n\nexport function createRNTextInputRenderer(\n inputClass?: string,\n inputTextClass?: string,\n) {\n return createDataRenderer(\n (p) => {\n const { renderOptions, control, readonly, ...rest } = p;\n const { disabled } = formControlProps(control);\n const { placeholder, multiline, keyboardType, autoComplete } =\n renderOptions as TextfieldRenderOptions & ExtendedTextInput;\n\n return (\n <RNTextInput\n {...(rest as any)}\n className={cn(\n rendererClass(p.className, inputClass),\n rendererClass(p.textClass, inputTextClass),\n )}\n disabled={disabled}\n readOnly={readonly}\n placeholder={placeholder}\n defaultValue={control.value}\n onChangeText={(v) => (control.value = v)}\n multiline={multiline}\n keyboardType={keyboardType}\n autoComplete={autoComplete}\n />\n );\n },\n {\n renderType: DataRenderType.Textfield,\n },\n );\n}\n\nexport function RNTextInput({\n className,\n placeholderClassName,\n ...props\n}: TextInputProps & React.RefAttributes<TextInput> & { disabled?: boolean }) {\n const editable = !props.disabled;\n const readonly = props.readOnly ? true : undefined;\n\n return (\n <TextInput\n {...props}\n className={cn(\n \"native:min-h-[54px] rounded-md border bg-background px-3 native:py-[6px] text-base lg:text-sm native:text-lg native:leading-[1.25] text-foreground placeholder:text-muted-foreground file:border-0 file:bg-transparent file:font-medium\",\n !editable && \"opacity-50\",\n className,\n )}\n placeholderClassName={cn(\"text-muted-foreground\", placeholderClassName)}\n editable={editable}\n readOnly={readonly}\n />\n );\n}\n\nRNTextInput.displayName = \"RNInput\";\n","import DateTimePickerModal, {\n DateTimePickerProps,\n} from \"react-native-modal-datetime-picker\";\nimport { Pressable, View } from \"react-native\";\nimport { RNTextInput } from \"./RNTextInputRenderer\";\nimport { Control, useControl } from \"@react-typed-forms/core\";\nimport {\n createDataRenderer,\n DataRenderType,\n FieldType,\n} from \"@react-typed-forms/schemas\";\nimport { DefaultDataRendererOptions } from \"../rendererOptions\";\nimport {\n DateFormatter,\n fromDate,\n getLocalTimeZone,\n now,\n parseAbsolute,\n parseDate,\n parseTime,\n toCalendarDate,\n toCalendarDateTime,\n toTime,\n} from \"@internationalized/date\";\nimport { cn } from \"../utils\";\nimport { FontAwesome5 } from \"@expo/vector-icons\";\n\nexport type RNDateTimeProps = Pick<\n DateTimePickerProps,\n \"mode\" | \"locale\" | \"maximumDate\" | \"minimumDate\" | \"is24Hour\"\n> & {\n control: Control<string | null>;\n readonly?: boolean;\n className?: string;\n placeholder?: string;\n};\n\nexport function createRNDateTimePickerRenderer(\n options: DefaultDataRendererOptions = {},\n) {\n return createDataRenderer(\n (p) => {\n const mode =\n p.field.type == FieldType.DateTime\n ? \"datetime\"\n : p.field.type == FieldType.Time\n ? \"time\"\n : \"date\";\n\n return (\n <RNDateTimePicker\n {...p}\n control={p.control.as()}\n mode={mode}\n className={options.inputClass}\n />\n );\n },\n {\n schemaType: [FieldType.Date, FieldType.DateTime, FieldType.Time],\n renderType: DataRenderType.DateTime,\n },\n );\n}\n\nfunction RNDateTimePicker({\n control,\n mode,\n locale = \"en-AU\",\n is24Hour = true,\n className,\n ...props\n}: RNDateTimeProps) {\n const disabled = control.disabled;\n const { maximumDate, minimumDate } = props;\n const isVisible = useControl(false);\n\n const innerPickerValue = getInnerPickerValue();\n const formattedDate = getFormattedDate();\n\n const handleConfirm = (date: Date) => {\n control.touched = true;\n const zonedDateTime = fromDate(date, getLocalTimeZone());\n\n try {\n switch (mode) {\n case \"date\":\n control.value = toCalendarDate(zonedDateTime).toString();\n break;\n case \"datetime\":\n control.value = zonedDateTime.toAbsoluteString();\n break;\n case \"time\":\n control.value = toTime(zonedDateTime).toString();\n break;\n }\n } catch (_) {}\n hidePicker();\n };\n\n // Fix IOS propagating\n function onPress() {\n !disabled && (isVisible.value = true);\n }\n\n return (\n <View>\n <Pressable\n className={\"pointer-events-auto flex flex-row\"}\n onPress={onPress}\n >\n <RNTextInput\n className={cn(className, \"flex-1\")}\n disabled={disabled}\n readOnly\n value={formattedDate ?? \"\"}\n placeholder={\"dd/mm/yyyy\"}\n onPress={onPress}\n />\n <View\n className={\n \"flex flex-row bg-[#F5F5F5] size-[54px] items-center justify-center border border-[#E7E7E8]\"\n }\n >\n <FontAwesome5 name={\"calendar-alt\"} size={20} color={\"#343534\"} />\n </View>\n </Pressable>\n\n <DateTimePickerModal\n date={innerPickerValue ?? new Date()}\n is24Hour={is24Hour}\n disabled={disabled}\n maximumDate={maximumDate}\n minimumDate={minimumDate}\n isVisible={isVisible.value}\n mode={mode}\n locale={locale}\n onConfirm={handleConfirm}\n onCancel={hidePicker}\n onHide={hidePicker}\n />\n </View>\n );\n\n function getInnerPickerValue() {\n const dateString = control.value;\n if (!dateString) return null;\n try {\n switch (mode) {\n case \"date\":\n return parseDate(dateString).toDate(\"UTC\");\n case \"datetime\":\n return parseAbsolute(dateString, getLocalTimeZone()).toDate();\n case \"time\":\n return toCalendarDateTime(\n now(getLocalTimeZone()),\n parseTime(dateString),\n ).toDate(getLocalTimeZone());\n }\n } catch (_) {\n return null;\n }\n }\n\n function getFormattedDate() {\n if (!innerPickerValue) return null;\n let options: Intl.DateTimeFormatOptions = {};\n try {\n switch (mode) {\n case \"date\":\n options = {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\",\n timeZone: \"UTC\",\n };\n break;\n\n case \"datetime\":\n options = {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n hour12: false,\n timeZone: getLocalTimeZone(),\n };\n break;\n case \"time\":\n options = {\n timeStyle: \"short\",\n hour12: false,\n timeZone: getLocalTimeZone(),\n };\n }\n } catch (_) {\n options = {};\n }\n\n return new DateFormatter(locale, options).format(innerPickerValue);\n }\n\n function hidePicker() {\n isVisible.value = false;\n }\n}\n","import RenderHtml, {\n HTMLSource,\n RenderHTMLProps,\n} from \"react-native-render-html\";\nimport React from \"react\";\nimport { Dimensions, StyleProp, View, ViewStyle } from \"react-native\";\n\nexport type RNHtmlRendererProps = {\n className?: string;\n html?: string;\n style?: React.CSSProperties | undefined;\n noSelection?: boolean | null;\n} & Pick<\n RenderHTMLProps,\n \"baseStyle\" | \"tagsStyles\" | \"systemFonts\" | \"contentWidth\"\n>;\n\nexport function RNHtmlRenderer({\n className,\n html,\n style,\n contentWidth,\n noSelection,\n ...props\n}: RNHtmlRendererProps) {\n if (!html) return;\n const source = {\n html: html,\n } satisfies HTMLSource;\n\n return (\n <View style={style as StyleProp<ViewStyle>} className={className}>\n <RenderHtml\n defaultTextProps={{ selectable: !noSelection }}\n contentWidth={contentWidth ?? Dimensions.get(\"window\").width}\n source={source}\n {...props}\n />\n </View>\n );\n}\n","import * as RadioGroupPrimitive from \"@rn-primitives/radio-group\";\nimport * as React from \"react\";\nimport { Pressable, View } from \"react-native\";\nimport { cn } from \"../utils\";\n\nconst RNRadioItem = React.forwardRef<\n RadioGroupPrimitive.ItemRef,\n {\n checked: boolean;\n className?: string;\n disabled?: boolean;\n id: string;\n name: string;\n readonly: boolean;\n onChange: () => void;\n }\n>(({ className, checked, onChange, ...props }, ref) => {\n return (\n <Pressable\n ref={ref}\n onPress={onChange}\n className={cn(\n \"aspect-square h-4 w-4 native:h-5 native:w-5 rounded-full justify-center items-center border border-primary text-primary web:ring-offset-background web:focus:outline-none web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2\",\n props.disabled && \"web:cursor-not-allowed opacity-50\",\n className,\n )}\n {...props}\n >\n <View className=\"flex items-center justify-center\">\n {checked && (\n <View className=\"aspect-square h-[9px] w-[9px] native:h-[10] native:w-[10] bg-primary rounded-full\" />\n )}\n </View>\n </Pressable>\n );\n});\nRNRadioItem.displayName = RadioGroupPrimitive.Item.displayName;\n\nexport { RNRadioItem };\n","import { Control } from \"@react-typed-forms/core\";\nimport {\n FieldOption,\n FieldType,\n} from \"@react-typed-forms/schemas\";\n\n// Type for select conversion function\ntype SelectConversion = (a: any) => string | number;\n\n// Props interface for SelectDataRenderer (if needed by RN components)\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\n// Utility function to create select conversion based on field type\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}","import * as SelectPrimitive from \"@rn-primitives/select\";\nimport * as React from \"react\";\nimport { Platform, Pressable, StyleSheet, View } from \"react-native\";\nimport Animated, { FadeIn, FadeOut } from \"react-native-reanimated\";\nimport { cn } from \"../utils\";\nimport { SelectRendererOptions } from \"../rendererOptions\";\nimport {\n createSelectConversion,\n SelectDataRendererProps,\n} from \"../selectUtils\";\nimport {\n createDataRenderer,\n DataRenderType,\n FieldOption,\n FieldType,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\nimport { useMemo } from \"react\";\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\nimport { ScrollView } from \"react-native-gesture-handler\";\nimport { Icon } from \"./Icon\";\nimport { useComputed, useControl } from \"@react-typed-forms/core\";\n\nexport interface ExtendedDropdown {\n portalHost?: string;\n requiredText?: string;\n}\n\nexport function createRNSelectRenderer(options: SelectRendererOptions = {}) {\n return createDataRenderer(\n (props, asArray) => {\n const renderOptions = props.definition.renderOptions as ExtendedDropdown;\n return (\n <RNSelectRenderer\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 portalHost={renderOptions.portalHost}\n />\n );\n },\n {\n options: true,\n schemaType: [FieldType.String, FieldType.Int],\n renderType: DataRenderType.Dropdown,\n },\n );\n}\n\nexport function RNSelectRenderer({\n state,\n options,\n className,\n convert,\n required,\n emptyText = \"N/A\",\n requiredText = \"Please select\",\n portalHost,\n readonly,\n ...props\n}: SelectDataRendererProps & ExtendedDropdown) {\n const insets = useSafeAreaInsets();\n const contentInsets = {\n top: insets.top,\n bottom: Platform.select({\n ios: insets.bottom,\n android: insets.bottom + 24,\n }),\n left: 12,\n right: 12,\n };\n const { value, disabled } = state;\n // const showEmpty = useControl(!required || value == null);\n const optionStringMap = useMemo(\n () => Object.fromEntries(options.map((x) => [convert(x.value), x.value])),\n [options],\n );\n const optionGroups = useMemo(\n () =>\n Array.from(new Set(options.filter((x) => x.group).map((x) => x.group!))),\n [options],\n );\n\n const selectedOption = useComputed(() => {\n return options\n .filter((x) => x.value === value)\n .map(\n (x) =>\n ({\n value: convert(x.value).toString(),\n label: x.name,\n }) satisfies Option,\n )\n .at(0);\n });\n\n const selectContentWidth = useControl(100); // Min width 100 px\n const selectContentWidthValue = selectContentWidth.value;\n\n return (\n <Select\n {...props}\n disabled={disabled || readonly}\n aria-disabled={disabled || readonly}\n defaultValue={{\n value: value,\n label: required ? requiredText : emptyText,\n }}\n onValueChange={(o) => {\n if (!o) return;\n state.value = optionStringMap[o.value];\n }}\n value={selectedOption.value}\n className={\"flex-1\"}\n >\n <SelectTrigger\n className={\"bg-white\"}\n onLayout={(e) => {\n selectContentWidth.value = e.nativeEvent.layout.width;\n }}\n disabled={disabled || readonly}\n aria-disabled={disabled || readonly}\n >\n <SelectValue placeholder={required ? requiredText : emptyText} />\n </SelectTrigger>\n <SelectContent\n insets={contentInsets}\n className={\"bg-white\"}\n style={{ width: selectContentWidthValue }}\n portalHost={Platform.select({ ios: portalHost })}\n >\n <ScrollView className={\"max-h-64\"}>\n {/*{showEmpty && (*/}\n {/* <SelectItem*/}\n {/* key={\"empty\"}*/}\n {/* value={\"\"}*/}\n {/* label={required ? requiredText : emptyText}*/}\n {/* />*/}\n {/*)}*/}\n {optionGroups.map((x) => (\n <SelectGroup key={x}>\n <SelectLabel>{x}</SelectLabel>\n {options.filter((o) => o.group === x).map(renderOption)}\n </SelectGroup>\n ))}\n {options.filter((x) => !x.group).map(renderOption)}\n </ScrollView>\n </SelectContent>\n </Select>\n );\n\n function renderOption(x: FieldOption, i: number) {\n return (\n <SelectItem\n key={i}\n value={convert(x.value).toString()}\n label={x.name}\n disabled={!!x.disabled}\n />\n );\n }\n}\n\ntype Option = SelectPrimitive.Option;\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nfunction SelectTrigger({\n ref,\n className,\n children,\n ...props\n}: SelectPrimitive.TriggerProps &\n React.RefAttributes<SelectPrimitive.TriggerRef> & {\n children?: React.ReactNode;\n }) {\n return (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex flex-row min-h-10 native:min-h-12 items-center text-sm justify-between border border-[#E7E7E8] bg-background px-3 py-2 [&>span]:line-clamp-1 min-w-[128px]\",\n props.disabled && \"opacity-50\",\n className,\n )}\n {...props}\n >\n <Pressable pointerEvents={\"none\"} className={\"flex-1\"}>\n {children}\n </Pressable>\n <Icon name={\"chevron-down\"} className={\"!text-[12px] text-accent\"} />\n </SelectPrimitive.Trigger>\n );\n}\n\nconst SelectContent = React.forwardRef<\n SelectPrimitive.ContentRef,\n SelectPrimitive.ContentProps & { portalHost?: string }\n>(({ className, children, position = \"popper\", portalHost, ...props }, ref) => {\n const { open } = SelectPrimitive.useRootContext();\n\n return (\n <SelectPrimitive.Portal hostName={portalHost}>\n <SelectPrimitive.Overlay\n style={Platform.OS !== \"web\" ? StyleSheet.absoluteFill : undefined}\n >\n <Animated.View className=\"z-50\" entering={FadeIn} exiting={FadeOut}>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-96 min-w-[8rem] rounded-md border border-border bg-popover shadow-md shadow-foreground/10 py-2 px-1 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n open\n ? \"web:zoom-in-95 web:animate-in web:fade-in-0\"\n : \"web:zoom-out-95 web:animate-out web:fade-out-0\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </Animated.View>\n </SelectPrimitive.Overlay>\n </SelectPrimitive.Portal>\n );\n});\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n SelectPrimitive.LabelRef,\n SelectPrimitive.LabelProps\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\n \"py-1.5 native:pb-2 pl-2 native:pl-2 pr-2 text-popover-foreground text-sm native:text-base font-semibold\",\n className,\n )}\n {...props}\n />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n SelectPrimitive.ItemRef,\n SelectPrimitive.ItemProps\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative web:group flex flex-row w-full web:cursor-default web:select-none items-center rounded-sm py-1.5 native:py-2 pl-8 native:pl-10 pr-2 web:hover:bg-[#DDD]/50 active:bg-[#DDD] web:outline-none web:focus:bg-[#DDD]\",\n props.disabled && \"web:pointer-events-none opacity-50\",\n className,\n )}\n {...props}\n >\n <View className=\"absolute left-2 native:left-3.5 flex h-3.5 native:pt-px w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Icon\n name={\"check\"}\n className={\"text-[12px] text-popover-foreground\"}\n />\n </SelectPrimitive.ItemIndicator>\n </View>\n <SelectPrimitive.ItemText className=\"text-sm native:text-lg text-popover-foreground native:text-base web:group-focus:text-accent-foreground\" />\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nfunction SelectSeparator({\n className,\n ...props\n}: SelectPrimitive.SeparatorProps &\n React.RefAttributes<SelectPrimitive.SeparatorRef>) {\n return (\n <SelectPrimitive.Separator\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n","import * as DialogPrimitive from \"@rn-primitives/dialog\";\nimport * as React from \"react\";\nimport {\n Platform,\n Pressable,\n StyleSheet,\n TouchableOpacity,\n useWindowDimensions,\n View,\n} from \"react-native\";\nimport Animated, { FadeIn, FadeOut } from \"react-native-reanimated\";\nimport { cn } from \"../utils\";\nimport { Control, useControl } from \"@react-typed-forms/core\";\nimport { FontAwesome6 } from \"@expo/vector-icons\";\nimport { useMemo } from \"react\";\n\nexport const Dialog = DialogPrimitive.Root;\n\nexport const DialogTrigger = DialogPrimitive.Trigger;\n\nexport const DialogPortal = DialogPrimitive.Portal;\n\nexport const DialogClose = DialogPrimitive.Close;\n\nfunction DialogOverlayWeb({\n className,\n ...props\n}: DialogPrimitive.OverlayProps & {\n ref?: React.RefObject<DialogPrimitive.OverlayRef>;\n}) {\n const { open } = DialogPrimitive.useRootContext();\n return (\n <DialogPrimitive.Overlay\n className={cn(\n \"bg-black/80 flex justify-center items-center p-2 absolute top-0 right-0 bottom-0 left-0\",\n open\n ? \"web:animate-in web:fade-in-0\"\n : \"web:animate-out web:fade-out-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\nDialogOverlayWeb.displayName = \"DialogOverlayWeb\";\n\nfunction DialogOverlayNative({\n className,\n children,\n ...props\n}: DialogPrimitive.OverlayProps & {\n ref?: React.RefObject<DialogPrimitive.OverlayRef>;\n children?: React.ReactNode;\n}) {\n return (\n <DialogPrimitive.Overlay\n style={StyleSheet.absoluteFill}\n className={cn(\n \"flex bg-black/80 justify-center items-center p-2\",\n className,\n )}\n {...props}\n >\n <Animated.View\n // entering={FadeIn.duration(150)} TODO: Enable animation after the lib fix the issue\n // exiting={FadeOut.duration(150)}\n >\n {children}\n </Animated.View>\n </DialogPrimitive.Overlay>\n );\n}\n\nDialogOverlayNative.displayName = \"DialogOverlayNative\";\n\nconst DialogOverlay = Platform.select({\n web: DialogOverlayWeb,\n default: DialogOverlayNative,\n});\n\nexport const DialogContent = React.forwardRef<\n DialogPrimitive.ContentRef,\n DialogPrimitive.ContentProps & {\n portalHost?: string;\n closeOnOutsidePress?: boolean;\n }\n>(({ className, children, portalHost, closeOnOutsidePress, ...props }, ref) => {\n const { open } = DialogPrimitive.useRootContext();\n return (\n <DialogPortal hostName={portalHost}>\n <DialogOverlay closeOnPress={closeOnOutsidePress}>\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"max-w-lg gap-4 border border-[#E7E7E8] web:cursor-default bg-white p-6 shadow-lg web:duration-200 rounded-lg\",\n open\n ? \"web:animate-in web:fade-in-0 web:zoom-in-95\"\n : \"web:animate-out web:fade-out-0 web:zoom-out-95\",\n className,\n )}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </DialogOverlay>\n </DialogPortal>\n );\n});\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nexport const DialogTitle = React.forwardRef<\n DialogPrimitive.TitleRef,\n DialogPrimitive.TitleProps\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title ref={ref} className={cn(className)} {...props} />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nexport type RNDialogProps = {\n title: React.ReactNode;\n trigger?: React.ReactNode;\n content?: React.ReactNode;\n footer?: React.ReactNode;\n containerClass?: string;\n open?: Control<boolean>;\n onOpenChange?: (open: boolean) => void;\n closeOnOutsidePress?: boolean;\n portalHost?: string;\n};\n\n/**\n * If the content is <ScrollView>, the first child of the ScrollView should be a View with a prop of onStartShouldSetResponder={() => true}\n */\nexport function RNDialog({\n title,\n trigger,\n content,\n footer,\n open,\n onOpenChange,\n closeOnOutsidePress = false,\n containerClass,\n portalHost,\n}: RNDialogProps) {\n const dialogOpen = open ?? useControl(false);\n const { width } = useWindowDimensions();\n\n const maxWidth = useMemo(() => Math.min(width - 32, 1024), [width]);\n\n return (\n <Dialog\n open={dialogOpen.value}\n onOpenChange={(o) => {\n if (onOpenChange) {\n onOpenChange(o);\n } else {\n dialogOpen.value = o;\n }\n }}\n >\n {trigger && <DialogTrigger asChild>{trigger}</DialogTrigger>}\n <DialogContent\n closeOnOutsidePress={closeOnOutsidePress}\n className={cn(\"min-w-[200px] min-h-[200px] z-10\", containerClass)}\n style={{ maxWidth }}\n portalHost={Platform.select({ ios: portalHost })}\n >\n <View\n className={\n \"flex flex-row gap-[10px] justify-between items-start w-full\"\n }\n >\n <DialogTitle asChild className={\"flex-1 flex-shrink title2\"}>\n {title}\n </DialogTitle>\n <DialogClose className={\"rounded-sm\"} asChild>\n <TouchableOpacity>\n <FontAwesome6 name=\"xmark-circle\" size={24} color={\"#267151\"} />\n </TouchableOpacity>\n </DialogClose>\n </View>\n {content}\n {footer}\n </DialogContent>\n </Dialog>\n );\n}\n","import {\n createDataRenderer,\n DataRendererProps,\n DataRenderType,\n FormRenderer,\n FormStateNode,\n getHasMoreControl,\n getLoadingControl,\n getRefreshingControl,\n NoOpControlActionContext,\n ScrollListRenderOptions,\n} from \"@react-typed-forms/schemas\";\nimport {\n ActivityIndicator,\n FlatList,\n RefreshControl,\n Text,\n View,\n} from \"react-native\";\nimport { isValidElement, ReactElement } from \"react\";\nimport { DefaultScrollListOptions } from \"../rendererOptions\";\n\nexport interface ExtendedDefaultScrollListOptions\n extends DefaultScrollListOptions {\n itemGap?: number;\n contentContainerClassName?: string;\n refreshControlTintColor?: string;\n}\n\nexport function createRNScrollListRenderer(\n options: ExtendedDefaultScrollListOptions = {},\n) {\n return createDataRenderer(\n (p, renderer) => (\n <RNScrollListRenderer\n dataProps={p}\n renderer={renderer}\n options={options}\n />\n ),\n {\n collection: true,\n renderType: DataRenderType.ScrollList,\n },\n );\n}\n\nfunction RNScrollListRenderer({\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: ExtendedDefaultScrollListOptions;\n}) {\n const elements = formNode.children;\n const { itemGap, contentContainerClassName, refreshControlTintColor } =\n options;\n\n const { bottomActionId, refreshActionId } =\n renderOptions as ScrollListRenderOptions;\n const loadingControl = getLoadingControl(dataNode.control);\n const hasMoreControl = getHasMoreControl(dataNode.control);\n const refreshingControl = getRefreshingControl(dataNode.control);\n const handleLoadMore = bottomActionId\n ? actionOnClick?.(bottomActionId, undefined, dataContext)\n : undefined;\n const handleRefresh = refreshActionId\n ? actionOnClick?.(refreshActionId, undefined, dataContext)\n : undefined;\n\n return (\n <FlatList\n refreshControl={\n <RefreshControl\n refreshing={refreshingControl.value}\n onRefresh={() => {\n if (loadingControl.value) return;\n handleRefresh?.(NoOpControlActionContext);\n }}\n colors={\n refreshControlTintColor ? [refreshControlTintColor] : undefined\n }\n tintColor={refreshControlTintColor}\n />\n }\n renderItem={({ item }) => renderItem(item)}\n data={elements}\n style={{ flex: 1 }}\n contentContainerClassName={contentContainerClassName}\n ItemSeparatorComponent={() =>\n !!itemGap && <View style={{ height: itemGap }}></View>\n }\n showsVerticalScrollIndicator={false}\n onEndReachedThreshold={0.4}\n onEndReached={() => {\n if (!hasMoreControl.value || loadingControl.value) return;\n handleLoadMore?.(NoOpControlActionContext);\n }}\n keyExtractor={(item) => item.uniqueId}\n ListEmptyComponent={\n <View className={\"h-full items-center justify-center\"}>\n {loadingControl.value ? (\n <ActivityIndicator size={\"large\"} color={refreshControlTintColor} />\n ) : (\n <Text className={\"headline\"}>No results found</Text>\n )}\n </View>\n }\n ListFooterComponent={\n elements.length > 0 ? (\n <View\n className={\"flex flex-row items-center justify-center py-[16px]\"}\n >\n {hasMoreControl.value ? (\n loadingControl.value && <ActivityIndicator size={\"large\"} />\n ) : (\n <Text className={\"subhead\"}>\n You’ve reached the end of the list.\n </Text>\n )}\n </View>\n ) : undefined\n }\n />\n );\n\n function renderItem(item: FormStateNode): ReactElement | null {\n const children = renderChild(item);\n return isValidElement(children) ? children : null;\n }\n}\n","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\";\nimport { RNHtmlRenderer } from \"./RNHtmlRenderer\";\nimport { RNDiv } from \"../createDefaultRNRenderers\";\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 <RNDiv\n style={style}\n className={rendererClass(className, options.textClassName)}\n textClass={rendererClass(textClass, options.textTextClass)}\n text={text}\n inline={displayProps.inline}\n noSelection={displayProps.noSelection}\n />\n );\n case DisplayDataType.Html:\n const { htmlClassName, ...props } = options;\n return (\n <RNHtmlRenderer\n style={style}\n className={rendererClass(className, htmlClassName)}\n noSelection={displayProps.noSelection}\n html={\n display ? coerceToString(display.value) : (data as HtmlDisplay).html\n }\n {...props}\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 {\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}","import {\n createVisibilityRenderer,\n VisibilityRendererProps,\n} from \"@react-typed-forms/schemas\";\nimport { FormRenderer } from \"@react-typed-forms/schemas\";\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}","import { CheckButtonsProps, rendererClass } from \"@react-typed-forms/schemas\";\nimport { RenderArrayElements, useComputed } from \"@react-typed-forms/core\";\nimport React from \"react\";\nimport { clsx } from \"clsx\";\n\nexport function RNCheckButtons(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 renderer,\n } = props;\n const { Button, Input, Label, Div } = renderer.html;\n const { disabled } = control;\n const name = \"r\" + control.uniqueId;\n return (\n <Div className={className} id={id}>\n <RenderArrayElements array={options?.filter((x) => x.value != null)}>\n {(o, i) => {\n const checked = useComputed(() => isChecked(control, o)).value;\n const selOrUnsel = checked\n ? rendererClass(\n controlClasses?.selectedClass,\n classes.selectedClass,\n )\n : rendererClass(\n controlClasses?.notSelectedClass,\n classes.notSelectedClass,\n );\n return (\n <Button\n className={clsx(\n rendererClass(\n controlClasses?.entryWrapperClass,\n classes.entryWrapperClass,\n ),\n selOrUnsel,\n )}\n onClick={() =>\n !(readonly || disabled) && setChecked(control, o, !checked)\n }\n notWrapInText\n >\n <Div className={classes.entryClass}>\n <Input\n id={name + \"_\" + i}\n className={classes.checkClass}\n type={type}\n name={name}\n readOnly={readonly}\n disabled={disabled}\n checked={checked}\n onChangeChecked={(x) => {\n !readonly && setChecked(control, o, x);\n }}\n />\n <Label\n className={classes.labelClass}\n textClass={classes.labelClass}\n htmlFor={name + \"_\" + i}\n >\n {o.name}\n </Label>\n </Div>\n {entryAdornment?.(o, i, checked)}\n </Button>\n );\n }}\n </RenderArrayElements>\n </Div>\n );\n}\n","import React from \"react\";\nimport {\n FormRenderer,\n FormStateNode,\n SchemaDataNode,\n SchemaInterface,\n} from \"@react-typed-forms/schemas\";\nimport { RNDiv } from \"../createDefaultRNRenderers\";\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 return (\n <RNDiv\n style={style}\n className={className}\n textClass={textClass}\n text={text}\n inline={inline}\n noSelection={noSelection}\n />\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}","import clsx from \"clsx\";\nimport React, { Fragment, ReactNode } from \"react\";\nimport { View, StyleProp, ViewStyle } from \"react-native\";\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 isArrayRenderer,\n mergeObjects,\n rendererClass,\n} from \"@react-typed-forms/schemas\";\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 interface DefaultArrayRendererOptions extends ArrayActionOptions {\n className?: string;\n removableClass?: string;\n childClass?: string;\n removableChildClass?: string;\n removeActionClass?: string;\n addActionClass?: string;\n}\n\nexport function createDefaultArrayRenderer(\n options?: DefaultArrayRendererOptions,\n): ArrayRendererRegistration {\n return {\n render: (props, { renderAction }) => (\n <DefaultArrayRenderer\n {...props}\n {...options}\n renderAction={renderAction}\n />\n ),\n type: \"array\",\n };\n}\n\nexport interface DefaultArrayRendererProps\n extends DefaultArrayRendererOptions,\n ArrayRendererProps {\n renderAction: (props: ActionRendererProps) => ReactNode;\n}\n\nexport function DefaultArrayRenderer(props: DefaultArrayRendererProps) {\n const {\n renderElement,\n className,\n removableClass,\n childClass,\n removableChildClass,\n removeActionClass,\n addActionClass,\n getElementCount,\n renderAction,\n style,\n editAction,\n childOverrideClass,\n } = props;\n const { addAction, removeAction } = applyArrayLengthRestrictions(props);\n return (\n <View style={style as StyleProp<ViewStyle>}>\n <View 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 <View\n className={clsx(\n rendererClass(childOverrideClass, childClass),\n removableChildClass,\n )}\n >\n {children}\n </View>\n <View className={removeActionClass}>\n {editAction && renderAction(editAction(x))}\n {removeAction && renderAction(removeAction(x))}\n </View>\n </Fragment>\n ) : (\n <View\n key={key}\n className={rendererClass(childOverrideClass, childClass)}\n >\n {children}\n </View>\n ),\n )\n }\n />\n ))}\n </View>\n {addAction && (\n <View className={addActionClass}>{renderAction(addAction)}</View>\n )}\n </View>\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}\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 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 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}","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 ActionRendererProps,\n ControlDataContext,\n OptionalAdornment,\n} from \"@react-typed-forms/schemas\";\nimport {\n MixedStyleDeclaration,\n MixedStyleRecord,\n} from \"react-native-render-html\";\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// Optional render props for optional adornment (React Native)\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\n// ============================================================================\n// INDIVIDUAL COMPONENT OPTIONS INTERFACES (React Native)\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 baseStyle?: MixedStyleDeclaration;\n tagsStyles?: MixedStyleRecord;\n systemFonts?: 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 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 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 dialog?: DefaultDialogRenderOptions;\n // Note: dialog not fully supported in React Native\n wizard?: DefaultWizardRenderOptions;\n accordion?: DefaultAccordionRendererOptions;\n}\n\n// ============================================================================\n// MAIN COMPOSITE OPTIONS INTERFACES (React Native)\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];\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}","import { DefaultDialogRenderOptions } from \"../rendererOptions\";\nimport {\n ControlActionHandler,\n createGroupRenderer,\n deepMerge,\n DialogRenderOptions,\n FormRenderer,\n GroupRendererProps,\n GroupRenderType,\n} from \"@react-typed-forms/schemas\";\nimport {\n Platform,\n TouchableOpacity,\n useWindowDimensions,\n View,\n ScrollView,\n} from \"react-native\";\nimport { Dialog, DialogClose, DialogContent, DialogTitle } from \"./RNDialog\";\nimport { useControl, useControlEffect } from \"@react-typed-forms/core\";\nimport { useMemo } from \"react\";\nimport { cn } from \"../utils\";\nimport * as React from \"react\";\nimport { FontAwesome6 } from \"@expo/vector-icons\";\n\nexport const defaultRNDialogOptions = {\n classes: {\n className: \"\",\n titleClass: \"flex-1 flex-shrink title2\",\n containerClass: \"w-full px-[16px]\",\n },\n} satisfies DefaultDialogRenderOptions;\n\nexport function createDialogRenderer(options?: DefaultDialogRenderOptions) {\n return createGroupRenderer(\n (props, renderers) => (\n <DefaultDialogRenderer\n props={props}\n options={options}\n renderer={renderers}\n renderOptions={props.renderOptions as DialogRenderOptions}\n />\n ),\n {\n renderType: GroupRenderType.Dialog,\n },\n );\n}\n\nexport function DefaultDialogRenderer({\n props,\n options,\n renderOptions,\n renderer,\n}: {\n props: GroupRendererProps;\n options?: DefaultDialogRenderOptions;\n renderOptions: DialogRenderOptions;\n renderer: FormRenderer;\n}) {\n const {\n classes: { containerClass, className, titleClass },\n } = deepMerge(\n options as typeof defaultRNDialogOptions,\n defaultRNDialogOptions,\n );\n\n const dialogOpen = useControl(false);\n const { width } = useWindowDimensions();\n const maxWidth = useMemo(() => Math.min(width - 32, 1024), [width]);\n\n const actionOnClick: ControlActionHandler = (action) => {\n switch (action) {\n case \"closeDialog\":\n return () => {\n dialogOpen.value = false;\n };\n\n case \"openDialog\":\n return () => {\n dialogOpen.value = true;\n };\n }\n };\n\n const allChildren = props.formNode.children;\n const triggerChildren = allChildren.filter(\n (x) => x.definition.placement === \"trigger\",\n );\n\n const { title, portalHost } = renderOptions;\n\n return (\n <Dialog\n open={dialogOpen.value}\n onOpenChange={(o) => {\n dialogOpen.value = o;\n }}\n >\n {triggerChildren.map((x) => props.renderChild(x, { actionOnClick }))}\n <DialogContent\n closeOnOutsidePress={false}\n className={cn(\"min-w-[200px] min-h-[200px] z-10\", containerClass)}\n style={{ maxWidth }}\n portalHost={Platform.select({\n ios: portalHost?.trim() ? portalHost : undefined,\n })}\n >\n <View\n className={\n \"flex flex-row gap-[10px] justify-between items-start w-full\"\n }\n >\n <DialogTitle asChild className={titleClass}>\n {title}\n </DialogTitle>\n <DialogClose className={\"rounded-sm\"} asChild>\n <TouchableOpacity>\n <FontAwesome6 name=\"xmark-circle\" size={24} color={\"#267151\"} />\n </TouchableOpacity>\n </DialogClose>\n </View>\n <ScrollView persistentScrollbar={true}>\n <View\n className={\"flex flex-col gap-[12px]\"}\n onStartShouldSetResponder={() => true}\n >\n {allChildren\n .filter(\n (x) =>\n !x.definition.placement ||\n x.definition.placement === \"dialog\",\n )\n .map((x, i) => props.renderChild(x, { actionOnClick }))}\n </View>\n </ScrollView>\n </DialogContent>\n </Dialog>\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 clsx from \"clsx\";\nimport React, { CSSProperties, ReactElement } from \"react\";\nimport {\n DefaultTabsRenderOptions,\n DefaultGridRenderOptions,\n DefaultWizardRenderOptions,\n DefaultDialogRenderOptions,\n} from \"../rendererOptions\";\nimport { createGridRenderer } from \"./GridRenderer\";\nimport { createWizardRenderer } from \"./DefaultWizardRenderer\";\nimport { createAccordionGroupRenderer } from \"./DefaultAccordion\";\nimport {\n DefaultAccordionRendererOptions,\n DefaultAdornmentRendererOptions,\n} from \"../rendererOptions\";\nimport { createDialogRenderer } from \"./DefaultDialogRenderer\";\n\ninterface StyleProps {\n className?: string;\n style?: CSSProperties;\n}\n\nexport interface DefaultGroupRendererOptions {\n className?: string;\n standardClassName?: string;\n grid?: DefaultGridRenderOptions;\n flexClassName?: string;\n defaultFlexGap?: string;\n inlineClass?: string;\n tabs?: DefaultTabsRenderOptions;\n wizard?: DefaultWizardRenderOptions;\n dialog?: DefaultDialogRenderOptions;\n accordion?: DefaultAccordionRendererOptions;\n}\n\nexport function createDefaultGroupRenderer(\n options?: DefaultGroupRendererOptions,\n adornmentOptions?: DefaultAdornmentRendererOptions,\n): GroupRendererRegistration {\n // These renderers work with React Native via the HTML abstraction layer\n const gridRenderer = createGridRenderer(options?.grid);\n const wizardRenderer = createWizardRenderer(options?.wizard);\n\n // Stub renderers for React Native - these should be replaced with RN implementations\n const tabsRenderer = {\n render: (props: any, renderer: any) => {\n console.error(\"Tabs renderer not implemented for React Native\");\n return <></>;\n },\n };\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 // React Native uses flexbox by default, no need for display: \"flex\"\n return {\n className: flexClassName,\n style: {\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 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}","import { createDefaultDisplayRenderer } from \"./components/DefaultDisplay\";\nimport { createDefaultLayoutRenderer } from \"./components/DefaultLayout\";\nimport { createDefaultVisibilityRenderer } from \"./components/DefaultVisibility\";\nimport React, { isValidElement, ReactElement, ReactNode } from \"react\";\nimport {\n Text,\n View,\n Pressable,\n StyleProp,\n ViewStyle,\n Role,\n} from \"react-native\";\nimport clsx from \"clsx\";\nimport { Icon } from \"./components/Icon\";\nimport { RNRadioItem } from \"./components/RNRadioItem\";\nimport { RNTextInput } from \"./components/RNTextInputRenderer\";\nimport { RNHtmlRenderer } from \"./components/RNHtmlRenderer\";\nimport { RNCheckButtons } from \"./components/RNCheckButtons\";\nimport { RNCheckbox } from \"./components/RNCheckboxRenderer\";\nimport { HTMLAttributes } from \"react\";\nimport {\n HtmlButtonProperties,\n HtmlDivProperties,\n HtmlIconProperties,\n HtmlInputProperties,\n HtmlComponents,\n IconLibrary,\n} from \"@react-typed-forms/schemas\";\nimport { createRNSelectRenderer } from \"./components/RNSelectRenderer\";\nimport { createRNCheckboxRenderer } from \"./components/RNCheckboxRenderer\";\nimport { createRNTextInputRenderer } from \"./components/RNTextInputRenderer\";\nimport {\n createRNScrollListRenderer,\n ExtendedDefaultScrollListOptions,\n} from \"./components/RNScrollListRenderer\";\nimport { createRNDateTimePickerRenderer } from \"./components/RNDateTimePickerRenderer\";\nimport { Platform } from \"react-native\";\nimport { DefaultDisplayOnly } from \"./components/DefaultDisplayOnly\";\nimport { useControlEffect } from \"@react-typed-forms/core\";\nimport { ControlInput, createInputConversion } from \"./components/ControlInput\";\nimport {\n createDefaultArrayDataRenderer,\n createDefaultArrayRenderer,\n} from \"./components/DefaultArrayRenderer\";\nimport {\n createCheckListRenderer,\n createElementSelectedRenderer,\n createRadioRenderer,\n} from \"./components/CheckRenderer\";\nimport { DefaultAccordion } from \"./components/DefaultAccordion\";\nimport { createNullToggleRenderer } from \"./components/NullToggle\";\nimport {\n AdornmentPlacement,\n AdornmentRendererRegistration,\n appendMarkupAt,\n ControlDataContext,\n createDataRenderer,\n DataRendererRegistration,\n DataRenderType,\n DefaultRenderers,\n FieldType,\n hasOptions,\n isAccordionAdornment,\n isDataGroupRenderer,\n isDisplayOnlyRenderer,\n isIconAdornment,\n isOptionalAdornment,\n isSetFieldAdornment,\n isTextfieldRenderer,\n LabelRendererRegistration,\n LabelType,\n rendererClass,\n RunExpression,\n schemaDataForFieldRef,\n SetFieldAdornment,\n useExpression,\n wrapLayout,\n} from \"@react-typed-forms/schemas\";\nimport {\n DefaultRendererOptions,\n DefaultDataRendererOptions,\n DefaultLabelRendererOptions,\n DefaultBoolOptions,\n DefaultAdornmentRendererOptions,\n} from \"./rendererOptions\";\nimport { createDefaultGroupRenderer } from \"./components/DefaultGroupRenderer\";\nimport { createButtonActionRenderer } from \"./createButtonActionRenderer\";\n\nexport function createDefaultDataRenderer(\n options: DefaultDataRendererOptions = {},\n): DataRendererRegistration {\n const elementSelectedRenderer = createElementSelectedRenderer(\n options.checkboxOptions ?? options.checkOptions,\n );\n const nullToggler = createNullToggleRenderer();\n // Use RN-specific renderers directly\n const checkboxRenderer = createRNCheckboxRenderer(\n options.checkboxOptions ?? options.checkOptions,\n );\n const selectRenderer = createRNSelectRenderer(options.selectOptions);\n const radioRenderer = createRadioRenderer(\n options.radioOptions ?? options.checkOptions,\n );\n const checkListRenderer = createCheckListRenderer(\n options.checkListOptions ?? options.checkOptions,\n );\n const { booleanOptions, optionRenderer, displayOnlyClass, defaultEmptyText } =\n {\n optionRenderer: selectRenderer,\n booleanOptions: DefaultBoolOptions,\n ...options,\n };\n const arrayRenderer = createDefaultArrayDataRenderer(options.arrayOptions);\n\n const scrollListRenderer = createRNScrollListRenderer(\n options.scrollListOptions as ExtendedDefaultScrollListOptions,\n );\n\n // Add RN-specific text input renderer\n const textInputRenderer = createRNTextInputRenderer(\n options.inputClass,\n options.inputTextClass,\n );\n\n // Add RN datetime picker for non-web platforms\n const dateTimeRenderer =\n Platform.OS !== \"web\" ? createRNDateTimePickerRenderer(options) : null;\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 console.error(\"ArrayElement renderer not implemented for React Native\");\n\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={props.definition.noSelection}\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 console.error(\"Jsonata renderer not implemented for React Native\");\n return <></>;\n case DataRenderType.Autocomplete:\n console.error(\"Autocomplete renderer not implemented for React Native\");\n return <></>;\n case DataRenderType.ElementSelected:\n return elementSelectedRenderer.render(props, renderers);\n }\n\n // Handle DateTime fields with RN-specific datetime picker (if available)\n if (\n (fieldType === FieldType.Date || fieldType === FieldType.DateTime) &&\n dateTimeRenderer\n ) {\n return dateTimeRenderer.render(props, renderers);\n }\n\n if (fieldType == FieldType.Any) {\n return (\n <>\n Can't render field: {field.displayName ?? field.field} ({renderType})\n </>\n );\n }\n // Use RN text input renderer for explicit textfield renderers\n if (isTextfieldRenderer(renderOptions)) {\n return textInputRenderer.render(props, renderers);\n }\n\n // Use ControlInput for default inputs (handles numbers, etc.)\n return (\n <ControlInput\n className={rendererClass(props.className, options.inputClass)}\n textClass={rendererClass(props.textClass, options.inputTextClass)}\n style={props.style}\n id={props.id}\n errorId={props.errorId}\n readOnly={props.readonly}\n control={props.control}\n convert={createInputConversion(props.field.type)}\n renderer={renderers}\n />\n );\n });\n}\n\nexport function createDefaultAdornmentRenderer(\n options: DefaultAdornmentRendererOptions = {},\n): AdornmentRendererRegistration {\n return {\n type: \"adornment\",\n render: (props, renderers) => {\n if (isOptionalAdornment(props.adornment)) {\n console.error(\"Optional adornment not implemented for React Native\");\n return {\n apply: () => {\n return <></>;\n },\n priority: 0,\n };\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\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\n// React Native HTML Components Implementation\nfunction RNIcon({ iconName, className, iconLibrary }: HtmlIconProperties) {\n return iconName ? (\n <Icon\n name={iconName}\n className={className}\n iconLibrary={iconLibrary as IconLibrary}\n />\n ) : undefined;\n}\n\nfunction RNSpan(props: HTMLAttributes<HTMLElement>) {\n return <Text {...(props as any)} />;\n}\n\nfunction RNButton({\n inline,\n textClass,\n children,\n notWrapInText,\n androidRippleColor,\n nonTextContent,\n onClick,\n ...props\n}: HtmlButtonProperties) {\n if (inline) {\n return (\n <Text\n {...(props as any)}\n className={textClass}\n onPress={onClick as any}\n children={children}\n />\n );\n }\n return (\n <Pressable\n {...(props as any)}\n onPress={() => {\n onClick?.();\n }}\n android_ripple={{\n color: androidRippleColor,\n }}\n >\n {notWrapInText || nonTextContent ? (\n children\n ) : (\n <Text className={textClass}>{children}</Text>\n )}\n </Pressable>\n );\n}\n\nfunction RNLabel({\n className,\n html,\n children,\n textClass,\n text,\n style,\n inline,\n role,\n ...props\n}: HtmlDivProperties) {\n return (\n !isNodeEmpty(children) && (\n <View\n className={className}\n style={style as StyleProp<ViewStyle>}\n role={role as Role}\n {...props}\n >\n <Text className={textClass}>{children}</Text>\n </View>\n )\n );\n}\n\nexport function RNDiv({\n className,\n html,\n children,\n textClass,\n text,\n style,\n inline,\n role,\n noSelection,\n ...props\n}: HtmlDivProperties & { noSelection?: boolean | null }) {\n if (html != null) {\n return <RNHtmlRenderer {...props} html={html} noSelection={noSelection} />;\n }\n if (inline) {\n return (\n <Text\n style={style as StyleProp<ViewStyle>}\n className={textClass}\n selectable={!noSelection}\n >\n {text ?? children}\n </Text>\n );\n }\n if (text != null) {\n return (\n <View\n className={className}\n style={style as StyleProp<ViewStyle>}\n role={role as Role}\n {...props}\n >\n <Text className={textClass} selectable={!noSelection}>\n {text}\n </Text>\n </View>\n );\n }\n return (\n <View\n className={className}\n style={style as StyleProp<ViewStyle>}\n children={children}\n role={role as Role}\n {...props}\n />\n );\n}\n\nfunction RNInput(props: HtmlInputProperties) {\n const { id, type, onChangeValue, onChangeChecked, checked, value, ...rest } =\n props;\n switch (type) {\n case \"radio\":\n return (\n <RNRadioItem\n {...(rest as any)}\n checked={!!checked}\n onChange={() => onChangeChecked?.(!checked)}\n />\n );\n case \"checkbox\":\n return (\n <RNCheckbox\n key={id}\n {...(rest as any)}\n checked={!!checked}\n onCheckedChange={() => onChangeChecked?.(!checked)}\n />\n );\n default:\n return (\n <RNTextInput\n {...(rest as any)}\n defaultValue={typeof value == \"number\" ? value.toString() : value}\n onChangeText={(t) => onChangeValue?.(t)}\n />\n );\n }\n}\n\n// React Native HTML Components\nexport const ReactNativeHtmlComponents: HtmlComponents = {\n I: RNIcon,\n B: RNSpan,\n Button: RNButton,\n Label: RNLabel,\n Span: RNSpan,\n H1: RNSpan,\n Div: RNDiv,\n Input: RNInput,\n CheckButtons: RNCheckButtons,\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 ?? ReactNativeHtmlComponents,\n };\n}\n\nfunction isNodeEmpty(node: React.ReactNode): boolean {\n if (node === null || node === undefined || typeof node === \"boolean\") {\n return true;\n }\n\n if (typeof node === \"string\" || typeof node === \"number\") {\n return false;\n }\n if (Array.isArray(node)) {\n return node.every(isNodeEmpty);\n }\n\n if (React.isValidElement(node)) {\n const element = node as React.ReactElement<{ children?: React.ReactNode }>;\n return isNodeEmpty(element.props?.children ?? undefined);\n }\n\n return false;\n}\n"],"names":["defaultTailwindTheme","label","groupLabelClass","requiredElement","_ref","Span","React","createElement","className","array","removableClass","childClass","addActionClass","removeActionClass","group","standardClassName","grid","rowClass","cellClass","flexClassName","inlineClass","tabs","tabListClass","tabClass","labelClass","inactiveClass","activeClass","contentClass","action","buttonClass","primaryClass","secondaryClass","iconBeforeClass","iconAfterClass","busyIcon","fontAwesomeIcon","layout","errorClass","data","inputClass","displayOnlyClass","checkOptions","entryClass","selectOptions","emptyText","arrayElementOptions","actionsClass","multilineClass","autocompleteOptions","listContainerClass","listEntryClass","chipContainerClass","chipCloseButtonClass","scrollListOptions","loadingIcon","adornment","accordion","titleTextClass","iconOpen","iconClosed","optional","checkClass","multiValuesClass","childWrapperClass","defaultRnTailwindTheme","deepMerge","labelContainer","c","_jsx","View","children","textClass","helpText","iconName","iconClass","triggerContainerClass","triggerLabelClass","contentTextClass","cn","twMerge","clsx","slice","call","arguments","TextClassContext","createContext","undefined","RNText","forwardRef","ref","_ref$asChild","asChild","props","_objectWithoutPropertiesLoose","_excluded","useContext","Component","Slot","Text","_extends","displayName","buttonVariants","cva","variants","variant","destructive","outline","secondary","ghost","link","size","sm","lg","icon","defaultVariants","buttonTextVariants","RNButton","Provider","value","Pressable","disabled","role","cssInterop","FontAwesome","target","nativeStyleToProp","MaterialIcons","Icon","_effect","_useComponentTracking","name","_ref$className","iconLibrary","IconLibrary","Material","createRNCheckboxRenderer","options","createDataRenderer","renderer","p","CheckBoxRenderer","renderType","DataRenderType","Checkbox","onCheckboxPressed","control","touched","as","_formControlProps","formControlProps","_formControlProps2","checkboxDisabled","readonly","_jsxs","rendererClass","onPress","RNCheckbox","id","checked","onCheckedChange","renderLabel","_ref2","CheckboxPrimitive","Root","Indicator","createRNTextInputRenderer","inputTextClass","renderOptions","rest","placeholder","multiline","keyboardType","autoComplete","RNTextInput","readOnly","defaultValue","onChangeText","v","Textfield","placeholderClassName","_excluded2","editable","TextInput","createRNDateTimePickerRenderer","mode","field","type","FieldType","DateTime","Time","RNDateTimePicker","schemaType","Date","isVisible","getInnerPickerValue","dateString","parseDate","toDate","parseAbsolute","getLocalTimeZone","toCalendarDateTime","now","parseTime","_","getFormattedDate","innerPickerValue","day","month","year","timeZone","hour","minute","hour12","timeStyle","DateFormatter","locale","format","hidePicker","_ref$locale","_ref$is24Hour","is24Hour","maximumDate","minimumDate","useControl","formattedDate","handleConfirm","date","zonedDateTime","fromDate","toCalendarDate","toString","toAbsoluteString","toTime","FontAwesome5","color","DateTimePickerModal","onConfirm","onCancel","onHide","RNHtmlRenderer","html","style","contentWidth","noSelection","source","RenderHtml","defaultTextProps","selectable","Dimensions","get","width","RNRadioItem","onChange","RadioGroupPrimitive","Item","createSelectConversion","ft","String","Int","Double","a","_a$toString","createRNSelectRenderer","asArray","_props$options","_renderOptions$requir","definition","RNSelectRenderer","state","required","requiredText","convert","portalHost","Dropdown","renderOption","x","i","SelectItem","_ref$emptyText","_ref$requiredText","insets","useSafeAreaInsets","contentInsets","top","bottom","Platform","select","ios","android","left","right","optionStringMap","useMemo","Object","fromEntries","map","optionGroups","Array","from","Set","filter","selectedOption","useComputed","at","selectContentWidth","selectContentWidthValue","Select","onValueChange","o","SelectTrigger","onLayout","e","nativeEvent","SelectValue","SelectContent","ScrollView","SelectGroup","SelectLabel","SelectPrimitive","Group","Value","_effect2","Trigger","pointerEvents","_ref3","_ref3$position","position","_excluded3","_SelectPrimitive$useR","useRootContext","open","Portal","hostName","Overlay","OS","StyleSheet","absoluteFill","Animated","entering","FadeIn","exiting","FadeOut","Content","Viewport","_ref4","_excluded4","Label","_ref5","_excluded5","ItemIndicator","ItemText","Dialog","DialogPrimitive","DialogTrigger","DialogPortal","DialogClose","Close","DialogOverlayWeb","_DialogPrimitive$useR","DialogOverlayNative","DialogOverlay","web","DialogContent","closeOnOutsidePress","_DialogPrimitive$useR2","closeOnPress","DialogTitle","Title","RNDialog","_effect3","title","trigger","content","footer","onOpenChange","_ref5$closeOnOutsideP","containerClass","dialogOpen","_useWindowDimensions","useWindowDimensions","maxWidth","Math","min","TouchableOpacity","FontAwesome6","createRNScrollListRenderer","RNScrollListRenderer","dataProps","collection","ScrollList","renderItem","item","renderChild","isValidElement","_ref$dataProps","formNode","dataNode","actionOnClick","dataContext","elements","itemGap","contentContainerClassName","refreshControlTintColor","bottomActionId","refreshActionId","loadingControl","getLoadingControl","hasMoreControl","getHasMoreControl","refreshingControl","getRefreshingControl","handleLoadMore","handleRefresh","FlatList","refreshControl","RefreshControl","refreshing","onRefresh","NoOpControlActionContext","colors","tintColor","flex","ItemSeparatorComponent","height","showsVerticalScrollIndicator","onEndReachedThreshold","onEndReached","keyExtractor","uniqueId","ListEmptyComponent","ActivityIndicator","ListFooterComponent","length","createDefaultDisplayRenderer","render","DefaultDisplay","displayProps","_iconDisplay$icon","_iconDisplay$icon2","display","_renderer$html","I","Div","B","H1","DisplayDataType","iconDisplay","getOverrideClass","library","text","coerceToString","RNDiv","textClassName","textTextClass","inline","Html","htmlClassName","Custom","customId","createDefaultLayoutRenderer","createLayoutRenderer","renderers","renderLayoutParts","wrapLayout","DefaultLayout","divRef","errorControl","meta","scrollElement","_ref$renderer$html","_ref$renderError","renderError","errorId","_ref$layout","controlEnd","controlStart","ec","errorText","error","_Fragment","createDefaultVisibilityRenderer","createVisibilityRenderer","DefaultVisibility","visibility","useEffect","setValue","ex","visible","showing","nativeRef","RNCheckButtons","isChecked","setChecked","entryAdornment","classes","_props$controlClasses","controlClasses","Button","Input","RenderArrayElements","selOrUnsel","selectedClass","notSelectedClass","entryWrapperClass","onClick","notWrapInText","onChangeChecked","htmlFor","DefaultDisplayOnly","schemaInterface","resolved","isEmptyValue","schema","textValueForData","ControlInput","toText","inputProps","textValue","useControlEffect","inputRef","onChangeValue","converted","createInputConversion","Bool","parseInt","l","substring","parseFloat","createDefaultArrayDataRenderer","defaultActions","DataArrayRenderer","designMode","_mergeObjects","mergeObjects","isArrayRenderer","addText","noAdd","noRemove","noReorder","removeText","editExternal","childOverrideClass","arrayProps","createArrayActions","getChildCount","renderElement","wrap","n","getChild","childKey","getLengthRestrictions","renderArray","createDefaultArrayRenderer","renderAction","DefaultArrayRenderer","removableChildClass","getElementCount","editAction","_applyArrayLengthRest","applyArrayLengthRestrictions","addAction","removeAction","RenderControl","key","Fragment","createRadioRenderer","CheckButtons","setTouched","fieldOptionAdornment","Radio","createCheckListRenderer","isArray","includes","setIncluded","CheckList","createElementSelectedRenderer","CheckBoxSelected","ElementSelected","_p$label","selControl","useElementSelectedRenderer","Fcheckbox","_ref3$type","_ref3$notValue","notValue","others","theseProps","r","element","DefaultAccordion","_dataContext$dataNode","openCtrl","contentStyle","contentClassName","defaultExpanded","isGroup","togglerClass","_ref2$renderTitle","renderTitle","t","renderToggler","useCss","panelId","useId","_renderers$html","dataControl","parentNode","use","accordionState","isOpen","fullContentStyle","currentIcon","accordionClassName","accordionTitleTextClass","accordionTitle","toggler","createAccordionGroupRenderer","createGroupRenderer","AccordionGroupRenderer","groupProps","GroupRenderType","Accordion","allChildren","titleChildren","placement","contentChildren","_groupProps$renderOpt","expandStateField","expandStateFieldNode","schemaDataForFieldRef","createNullToggleRenderer","lastDefined","getLastDefinedValue","current","nullControl","getNullToggler","renderData","DefaultBoolOptions","createGridRenderer","formRenderer","GridRenderer","Grid","_gridOptions$columns","_props$groupProps","filteredChildren","defaults","gridOptions","numColumns","columns","defaultColumns","getCellClassNames","rows","push","row","rowIndex","cell","cellIndex","_cellClass$at","split","defaultOptions","navContainerClass","actions","nextText","nextIcon","nextValidate","prevText","prevIcon","prevValidate","renderNavigation","defaultNavigationRender","prev","next","createWizardRenderer","WizardRenderer","Wizard","countVisibleUntil","untilPage","count","childrenLength","nav","dir","validate","validatePage","nextVisibleInDirection","page","currentPage","pageNode","valid","isPageValid","mergedOptions","_mergedOptions$classe","_mergedOptions$action","isValid","createAction","hidden","iconPlacement","IconPlacement","AfterText","navElement","totalPages","Promise","resolve","reject","child","defaultRNDialogOptions","titleClass","createDialogRenderer","DefaultDialogRenderer","_deepMerge","_deepMerge$classes","triggerChildren","trim","persistentScrollbar","onStartShouldSetResponder","createDefaultGroupRenderer","adornmentOptions","_options$accordion","gridRenderer","wizardRenderer","wizard","tabsRenderer","console","dialogRenderer","dialog","accordionRenderer","defaultFlexGap","flexStyles","gap","flexDirection","direction","isTabsRenderer","isGridRenderer","isWizardRenderer","isDialogRenderer","isAccordionRenderer","isSelectChildRenderer","SelectChildGroupRenderer","isFlexRenderer","isInlineRenderer","gcn","Inline","renderLayout","Contents","runExpression","ctrl","useExpression","childIndexExpression","childIndex","childCount","createButtonActionRenderer","actionId","createActionRenderer","_props$icon","_props$iconPlacement","_props$iconPlacement2","_options$renderConten","actionText","actionData","actionStyle","actionContent","busy","stdIcon","stdIconPlacement","BeforeText","busyPlacement","busyIconPlacement","ReplaceText","isLink","ActionStyle","Link","classNames","linkClass","groupClass","Secondary","textClassNames","linkTextClass","secondaryTextClass","primaryTextClass","iconElement","textElement","nonTextContent","androidRippleColor","renderContent","createDefaultDataRenderer","_options$checkboxOpti","_options$checkboxOpti2","_options$radioOptions","_options$checkListOpt","elementSelectedRenderer","checkboxOptions","nullToggler","checkboxRenderer","selectRenderer","radioRenderer","radioOptions","checkListRenderer","checkListOptions","_optionRenderer$boole","optionRenderer","booleanOptions","defaultEmptyText","arrayRenderer","arrayOptions","scrollListRenderer","textInputRenderer","dateTimeRenderer","fieldType","Standard","elementIndex","ArrayElement","Compound","isDataGroupRenderer","groupOptions","hideTitle","renderGroup","displayOnly","isDisplayOnlyRenderer","isBool","hasOptions","NullToggle","Jsonata","Autocomplete","Any","_field$displayName","isTextfieldRenderer","createDefaultAdornmentRenderer","isOptionalAdornment","apply","priority","rl","isSetFieldAdornment","SetFieldWrapper","parentContext","isIconAdornment","appendMarkupAt","AdornmentPlacement","ControlStart","isAccordionAdornment","_rl$children$props","renderLabelText","fieldNode","otherField","always","defaultOnly","expression","createDefaultLabelRenderer","_labelContainer$optio","controlLabelTextClass","groupLabelTextClass","controlLabelClass","labelStart","labelEnd","_options$requiredElem","LabelType","forId","Control","RNIcon","RNSpan","_ref6","android_ripple","RNLabel","_ref7","_effect4","isNodeEmpty","_ref8","_effect5","RNInput","_effect6","ReactNativeHtmlComponents","createDefaultRenderers","_options$extraRendere","_options$html","extraRenderers","node","every","_element$props$childr","_element$props"],"mappings":"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"}