@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/components/RNHtmlRenderer.d.ts +2 -1
- package/lib/index.cjs +10 -6
- package/lib/index.cjs.map +1 -1
- package/lib/index.js +11 -7
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","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","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","inputs","twMerge","clsx","TextClassContext","createContext","undefined","RNText","forwardRef","_ref","ref","asChild","props","_objectWithoutPropertiesLoose","_excluded","useContext","Component","Slot","Text","_extends","displayName","buttonVariants","cva","variants","variant","default","destructive","outline","secondary","ghost","link","size","sm","lg","icon","defaultVariants","buttonTextVariants","RNButton","Provider","value","Pressable","disabled","role","cssInterop","FontAwesome","target","nativeStyleToProp","MaterialIcons","Icon","name","iconLibrary","_effect","_useComponentTracking","IconLibrary","Material","createRNCheckboxRenderer","options","createDataRenderer","renderer","p","CheckBoxRenderer","renderType","DataRenderType","Checkbox","control","as","formControlProps","onCheckboxPressed","touched","checkboxDisabled","readonly","_jsxs","rendererClass","onPress","RNCheckbox","id","checked","onCheckedChange","renderLabel","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","locale","is24Hour","maximumDate","minimumDate","isVisible","useControl","innerPickerValue","getInnerPickerValue","formattedDate","getFormattedDate","handleConfirm","date","zonedDateTime","fromDate","getLocalTimeZone","toCalendarDate","toString","toAbsoluteString","toTime","_","hidePicker","FontAwesome5","color","DateTimePickerModal","onConfirm","onCancel","onHide","dateString","parseDate","toDate","parseAbsolute","toCalendarDateTime","now","parseTime","day","month","year","timeZone","hour","minute","hour12","timeStyle","DateFormatter","format","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","insets","useSafeAreaInsets","contentInsets","top","bottom","Platform","select","ios","android","left","right","optionStringMap","useMemo","Object","fromEntries","map","x","optionGroups","Array","from","Set","filter","selectedOption","useComputed","at","selectContentWidth","selectContentWidthValue","Select","onValueChange","o","SelectTrigger","onLayout","e","nativeEvent","SelectValue","SelectContent","ScrollView","SelectGroup","SelectLabel","renderOption","i","SelectItem","SelectPrimitive","Group","Value","_ref2","_effect2","Trigger","pointerEvents","_ref3","position","_excluded3","open","useRootContext","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","DialogOverlayNative","DialogOverlay","web","DialogContent","closeOnOutsidePress","closeOnPress","DialogTitle","Title","RNDialog","title","trigger","content","footer","onOpenChange","containerClass","_effect3","dialogOpen","useWindowDimensions","maxWidth","Math","min","TouchableOpacity","FontAwesome6","createRNScrollListRenderer","RNScrollListRenderer","dataProps","collection","ScrollList","formNode","renderChild","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","renderItem","item","flex","ItemSeparatorComponent","height","showsVerticalScrollIndicator","onEndReachedThreshold","onEndReached","keyExtractor","uniqueId","ListEmptyComponent","ActivityIndicator","ListFooterComponent","length","isValidElement","createDefaultDisplayRenderer","render","DefaultDisplay","displayProps","_iconDisplay$icon","_iconDisplay$icon2","display","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","renderError","errorId","controlEnd","controlStart","ec","errorText","error","_Fragment","createDefaultVisibilityRenderer","createVisibilityRenderer","DefaultVisibility","visibility","useEffect","setValue","ex","visible","showing","nativeRef","RNCheckButtons","isChecked","setChecked","entryAdornment","classes","controlClasses","Button","Input","RenderArrayElements","selOrUnsel","selectedClass","notSelectedClass","entryWrapperClass","onClick","notWrapInText","onChangeChecked","htmlFor","DefaultDisplayOnly","noSelection","schemaInterface","resolved","isEmptyValue","schema","textValueForData","RNDiv","ControlInput","_formControlProps","inputProps","textValue","toText","useControlEffect","inputRef","onChangeValue","converted","createInputConversion","Bool","parseInt","l","substring","parseFloat","createDefaultArrayDataRenderer","defaultActions","DataArrayRenderer","designMode","addText","noAdd","noRemove","noReorder","removeText","editExternal","childOverrideClass","mergeObjects","isArrayRenderer","arrayProps","createArrayActions","getChildCount","renderElement","wrap","n","getChild","childKey","getLengthRestrictions","renderArray","createDefaultArrayRenderer","renderAction","DefaultArrayRenderer","removableChildClass","getElementCount","editAction","addAction","removeAction","applyArrayLengthRestrictions","RenderControl","key","Fragment","createRadioRenderer","CheckButtons","setTouched","fieldOptionAdornment","Radio","createCheckListRenderer","isArray","includes","setIncluded","CheckList","createElementSelectedRenderer","CheckBoxSelected","ElementSelected","_p$label","selControl","useElementSelectedRenderer","Fcheckbox","notValue","others","theseProps","r","element","DefaultAccordion","openCtrl","contentStyle","contentClassName","defaultExpanded","isGroup","_dataContext$dataNode","togglerClass","renderTitle","t","renderToggler","useCss","panelId","useId","dataControl","parentNode","use","accordionState","isOpen","fullContentStyle","currentIcon","accordionClassName","accordionTitleTextClass","accordionTitle","toggler","createAccordionGroupRenderer","createGroupRenderer","AccordionGroupRenderer","groupProps","GroupRenderType","Accordion","allChildren","titleChildren","placement","contentChildren","expandStateField","expandStateFieldNode","schemaDataForFieldRef","createNullToggleRenderer","lastDefined","getLastDefinedValue","current","nullControl","getNullToggler","renderData","DefaultBoolOptions","createGridRenderer","formRenderer","GridRenderer","Grid","_gridOptions$columns","filteredChildren","defaults","gridOptions","numColumns","columns","defaultColumns","getCellClassNames","rows","push","slice","row","rowIndex","cell","cellIndex","_cellClass$at","split","defaultOptions","navContainerClass","actions","nextText","nextIcon","nextValidate","prevText","prevIcon","prevValidate","renderNavigation","defaultNavigationRender","prev","next","createWizardRenderer","WizardRenderer","Wizard","mergedOptions","childrenLength","page","currentPage","isValid","isPageValid","createAction","nav","hidden","nextVisibleInDirection","iconPlacement","IconPlacement","AfterText","navElement","countVisibleUntil","totalPages","validatePage","child","untilPage","count","dir","validate","pageNode","valid","defaultRNDialogOptions","titleClass","createDialogRenderer","DefaultDialogRenderer","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","gcn","isFlexRenderer","isInlineRenderer","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","booleanOptions","optionRenderer","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","controlLabelTextClass","groupLabelTextClass","controlLabelClass","labelStart","labelEnd","_options$requiredElem","LabelType","forId","Control","RNIcon","RNSpan","android_ripple","RNLabel","_effect4","isNodeEmpty","_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.js","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","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","inputs","twMerge","clsx","TextClassContext","createContext","undefined","RNText","forwardRef","_ref","ref","asChild","props","_objectWithoutPropertiesLoose","_excluded","useContext","Component","Slot","Text","_extends","displayName","buttonVariants","cva","variants","variant","default","destructive","outline","secondary","ghost","link","size","sm","lg","icon","defaultVariants","buttonTextVariants","RNButton","Provider","value","Pressable","disabled","role","cssInterop","FontAwesome","target","nativeStyleToProp","MaterialIcons","Icon","name","iconLibrary","_effect","_useComponentTracking","IconLibrary","Material","createRNCheckboxRenderer","options","createDataRenderer","renderer","p","CheckBoxRenderer","renderType","DataRenderType","Checkbox","control","as","formControlProps","onCheckboxPressed","touched","checkboxDisabled","readonly","_jsxs","rendererClass","onPress","RNCheckbox","id","checked","onCheckedChange","renderLabel","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","locale","is24Hour","maximumDate","minimumDate","isVisible","useControl","innerPickerValue","getInnerPickerValue","formattedDate","getFormattedDate","handleConfirm","date","zonedDateTime","fromDate","getLocalTimeZone","toCalendarDate","toString","toAbsoluteString","toTime","_","hidePicker","FontAwesome5","color","DateTimePickerModal","onConfirm","onCancel","onHide","dateString","parseDate","toDate","parseAbsolute","toCalendarDateTime","now","parseTime","day","month","year","timeZone","hour","minute","hour12","timeStyle","DateFormatter","format","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","insets","useSafeAreaInsets","contentInsets","top","bottom","Platform","select","ios","android","left","right","optionStringMap","useMemo","Object","fromEntries","map","x","optionGroups","Array","from","Set","filter","selectedOption","useComputed","at","selectContentWidth","selectContentWidthValue","Select","onValueChange","o","SelectTrigger","onLayout","e","nativeEvent","SelectValue","SelectContent","ScrollView","SelectGroup","SelectLabel","renderOption","i","SelectItem","SelectPrimitive","Group","Value","_ref2","_effect2","Trigger","pointerEvents","_ref3","position","_excluded3","open","useRootContext","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","DialogOverlayNative","DialogOverlay","web","DialogContent","closeOnOutsidePress","closeOnPress","DialogTitle","Title","RNDialog","title","trigger","content","footer","onOpenChange","containerClass","_effect3","dialogOpen","useWindowDimensions","maxWidth","Math","min","TouchableOpacity","FontAwesome6","createRNScrollListRenderer","RNScrollListRenderer","dataProps","collection","ScrollList","formNode","renderChild","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","renderItem","item","flex","ItemSeparatorComponent","height","showsVerticalScrollIndicator","onEndReachedThreshold","onEndReached","keyExtractor","uniqueId","ListEmptyComponent","ActivityIndicator","ListFooterComponent","length","isValidElement","createDefaultDisplayRenderer","render","DefaultDisplay","displayProps","_iconDisplay$icon","_iconDisplay$icon2","display","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","renderError","errorId","controlEnd","controlStart","ec","errorText","error","_Fragment","createDefaultVisibilityRenderer","createVisibilityRenderer","DefaultVisibility","visibility","useEffect","setValue","ex","visible","showing","nativeRef","RNCheckButtons","isChecked","setChecked","entryAdornment","classes","controlClasses","Button","Input","RenderArrayElements","selOrUnsel","selectedClass","notSelectedClass","entryWrapperClass","onClick","notWrapInText","onChangeChecked","htmlFor","DefaultDisplayOnly","schemaInterface","resolved","isEmptyValue","schema","textValueForData","ControlInput","_formControlProps","inputProps","textValue","toText","useControlEffect","inputRef","onChangeValue","converted","createInputConversion","Bool","parseInt","l","substring","parseFloat","createDefaultArrayDataRenderer","defaultActions","DataArrayRenderer","designMode","addText","noAdd","noRemove","noReorder","removeText","editExternal","childOverrideClass","mergeObjects","isArrayRenderer","arrayProps","createArrayActions","getChildCount","renderElement","wrap","n","getChild","childKey","getLengthRestrictions","renderArray","createDefaultArrayRenderer","renderAction","DefaultArrayRenderer","removableChildClass","getElementCount","editAction","addAction","removeAction","applyArrayLengthRestrictions","RenderControl","key","Fragment","createRadioRenderer","CheckButtons","setTouched","fieldOptionAdornment","Radio","createCheckListRenderer","isArray","includes","setIncluded","CheckList","createElementSelectedRenderer","CheckBoxSelected","ElementSelected","_p$label","selControl","useElementSelectedRenderer","Fcheckbox","notValue","others","theseProps","r","element","DefaultAccordion","openCtrl","contentStyle","contentClassName","defaultExpanded","isGroup","_dataContext$dataNode","togglerClass","renderTitle","t","renderToggler","useCss","panelId","useId","dataControl","parentNode","use","accordionState","isOpen","fullContentStyle","currentIcon","accordionClassName","accordionTitleTextClass","accordionTitle","toggler","createAccordionGroupRenderer","createGroupRenderer","AccordionGroupRenderer","groupProps","GroupRenderType","Accordion","allChildren","titleChildren","placement","contentChildren","expandStateField","expandStateFieldNode","schemaDataForFieldRef","createNullToggleRenderer","lastDefined","getLastDefinedValue","current","nullControl","getNullToggler","renderData","DefaultBoolOptions","createGridRenderer","formRenderer","GridRenderer","Grid","_gridOptions$columns","filteredChildren","defaults","gridOptions","numColumns","columns","defaultColumns","getCellClassNames","rows","push","slice","row","rowIndex","cell","cellIndex","_cellClass$at","split","defaultOptions","navContainerClass","actions","nextText","nextIcon","nextValidate","prevText","prevIcon","prevValidate","renderNavigation","defaultNavigationRender","prev","next","createWizardRenderer","WizardRenderer","Wizard","mergedOptions","childrenLength","page","currentPage","isValid","isPageValid","createAction","nav","hidden","nextVisibleInDirection","iconPlacement","IconPlacement","AfterText","navElement","countVisibleUntil","totalPages","validatePage","child","untilPage","count","dir","validate","pageNode","valid","defaultRNDialogOptions","titleClass","createDialogRenderer","DefaultDialogRenderer","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","gcn","isFlexRenderer","isInlineRenderer","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","booleanOptions","optionRenderer","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","controlLabelTextClass","groupLabelTextClass","controlLabelClass","labelStart","labelEnd","_options$requiredElem","LabelType","forId","Control","RNIcon","RNSpan","android_ripple","RNLabel","_effect4","isNodeEmpty","_effect5","RNInput","_effect6","ReactNativeHtmlComponents","createDefaultRenderers","_options$extraRendere","_options$html","extraRenderers","node","every","_element$props$childr","_element$props"],"mappings":"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"}
|