@react-typed-forms/schemas-rn 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/utils/index.ts","../src/components/Icon.tsx","../src/components/RNCheckbox.tsx","../src/components/RNTextInput.tsx","../src/components/RNRadioItem.tsx","../src/components/RNDateTimePickerRenderer.tsx","../src/components/RNHtmlRenderer.tsx","../src/components/RNSelectRenderer.tsx","../src/tailwind.tsx","../src/components/RNText.tsx","../src/components/RNButton.tsx","../src/components/RNDialog.tsx"],"sourcesContent":["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 { 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\";\n\nconst 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-[20] native:w-[20] shrink-0 rounded-sm native:rounded border border-primary 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 >\n <Icon name={\"check\"} className={\"text-primary-500\"} />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n});\nRNCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { RNCheckbox };\n","import * as React from \"react\";\nimport { TextInput, type TextInputProps } from \"react-native\";\nimport { cn } from \"../utils\";\n\nconst RNTextInput = React.forwardRef<\n React.ElementRef<typeof TextInput>,\n TextInputProps & { disabled?: boolean }\n>(({ className, placeholderClassName, ...props }, ref) => {\n const editable = !props.disabled;\n const readonly = props.readOnly ? true : undefined;\n\n return (\n <TextInput\n ref={ref}\n {...props}\n className={cn(\n \"web:flex h-10 native:h-[54px] web:w-full rounded-md border bg-background px-3 web:py-2 text-base lg:text-sm native:text-lg native:leading-[1.25] text-foreground placeholder:text-muted-foreground web:ring-offset-background file:border-0 file:bg-transparent file:font-medium web:focus-visible:outline-none web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2\",\n !editable && \"opacity-50 web:cursor-not-allowed\",\n className,\n )}\n placeholderClassName={cn(\"text-muted-foreground\", placeholderClassName)}\n editable={editable}\n readOnly={readonly}\n />\n );\n});\n\nRNTextInput.displayName = \"RNInput\";\n\nexport { RNTextInput };\n","import * as RadioGroupPrimitive from \"@rn-primitives/radio-group\";\nimport * as React from \"react\";\nimport { Pressable, View } from \"react-native\";\nimport { cn } from \"../utils\";\nimport { CheckButtonsProps } from \"@react-typed-forms/schemas-html\";\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 DateTimePickerModal, {\n DateTimePickerProps,\n} from \"react-native-modal-datetime-picker\";\nimport { Pressable, Text, View } from \"react-native\";\nimport { RNTextInput } from \"./RNTextInput\";\nimport { Control, useControl } from \"@react-typed-forms/core\";\nimport {\n createDataRenderer,\n DataRenderType,\n FieldType,\n} from \"@react-typed-forms/schemas\";\nimport { DefaultDataRendererOptions } from \"@react-typed-forms/schemas-html\";\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(getLocalTimeZone());\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\n try {\n switch (mode) {\n case \"date\":\n options = {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\",\n timeZone: getLocalTimeZone(),\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, { HTMLSource } from \"react-native-render-html\";\nimport React from \"react\";\nimport { Dimensions, View } from \"react-native\";\n\nexport type RNHtmlRendererProps = {\n className?: string;\n html?: string;\n};\nexport function RNHtmlRenderer({ className, html }: RNHtmlRendererProps) {\n if (!html) return;\n const source = {\n html: html,\n } satisfies HTMLSource;\n\n return (\n <View className={className}>\n <RenderHtml\n contentWidth={Dimensions.get(\"window\").width}\n source={source}\n />\n </View>\n );\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 {\n createSelectConversion,\n SelectDataRendererProps,\n SelectRendererOptions,\n} from \"@react-typed-forms/schemas-html\";\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 } from \"@react-typed-forms/core\";\n\nexport interface ExtendedDropdown {\n portalHost?: 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={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\nfunction RNSelectRenderer({\n state,\n options,\n className,\n convert,\n required,\n emptyText = \"N/A\",\n requiredText = \"Please select\",\n portalHost,\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 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 return (\n <Select\n {...props}\n disabled={disabled}\n aria-disabled={disabled}\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 >\n <SelectTrigger className={\"bg-white\"}>\n <SelectValue placeholder={required ? requiredText : emptyText} />\n </SelectTrigger>\n <SelectContent\n insets={contentInsets}\n className={\"bg-white w-[250px]\"}\n portalHost={Platform.select({ ios: portalHost })}\n >\n <ScrollView className={\"max-h-64\"}>\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 {x.name}\n </SelectItem>\n );\n }\n}\n\ntype Option = SelectPrimitive.Option;\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n SelectPrimitive.TriggerRef,\n SelectPrimitive.TriggerProps\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex flex-row h-10 native:h-12 items-center text-sm justify-between border border-[#E7E7E8] bg-background px-3 py-2 web:ring-offset-background text-muted-foreground web:focus:outline-none web:focus:ring-2 web:focus:ring-ring web:focus:ring-offset-2 [&>span]:line-clamp-1\",\n props.disabled && \"web:cursor-not-allowed opacity-50\",\n className,\n )}\n {...props}\n >\n <Pressable>{children}</Pressable>\n <Icon\n name={\"chevron-down\"}\n className={\"!text-[12px] text-foreground text-accent\"}\n />\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\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-accent/50 active:bg-accent web:outline-none web:focus:bg-accent\",\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\nconst SelectSeparator = React.forwardRef<\n SelectPrimitive.SeparatorRef,\n SelectPrimitive.SeparatorProps\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n","import { HTMLAttributes } from \"react\";\nimport {\n DefaultRendererOptions,\n defaultTailwindTheme,\n} from \"@react-typed-forms/schemas-html\";\nimport { Platform, Pressable, Text, View } from \"react-native\";\nimport { RNCheckbox } from \"./components/RNCheckbox\";\nimport { RNTextInput } from \"./components/RNTextInput\";\nimport { RNRadioItem } from \"./components/RNRadioItem\";\nimport { createRNDateTimePickerRenderer } from \"./components/RNDateTimePickerRenderer\";\nimport {\n deepMerge,\n HtmlButtonProperties,\n HtmlComponents,\n HtmlDivProperties,\n HtmlIconProperties,\n HtmlInputProperties,\n IconLibrary,\n RendererRegistration,\n} from \"@react-typed-forms/schemas\";\nimport { RNHtmlRenderer } from \"./components/RNHtmlRenderer\";\nimport { createRNSelectRenderer } from \"./components/RNSelectRenderer\";\nimport { StyleProp } from \"react-native/Libraries/StyleSheet/StyleSheet\";\nimport { ViewStyle } from \"react-native/Libraries/StyleSheet/StyleSheetTypes\";\nimport { Icon } from \"./components/Icon\";\n\nexport const reactNativeHtml: 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};\n\nexport const defaultRnTailwindTheme = deepMerge<DefaultRendererOptions>(\n {\n data: {\n checkOptions: {\n entryClass: \"flex flex-row items-center gap-[8px]\",\n },\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\",\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 html: reactNativeHtml,\n extraRenderers: (options): RendererRegistration[] => {\n const renderers: RendererRegistration[] = [\n createRNSelectRenderer(options.data?.selectOptions),\n ];\n\n if (Platform.OS !== \"web\") {\n renderers.push(createRNDateTimePickerRenderer(options.data));\n }\n\n return renderers;\n },\n },\n defaultTailwindTheme,\n);\n\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}\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 ...props\n}: HtmlDivProperties) {\n return (\n <View\n className={className}\n style={style as StyleProp<ViewStyle>}\n {...props}\n >\n <Text className={textClass}>{children}</Text>\n </View>\n );\n}\n\nfunction RNDiv({\n className,\n html,\n children,\n textClass,\n text,\n style,\n inline,\n ...props\n}: HtmlDivProperties) {\n if (html != null) {\n return <RNHtmlRenderer {...props} html={html} />;\n }\n if (inline) {\n return (\n <Text style={style as StyleProp<ViewStyle>} className={textClass}>\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 {...props}\n >\n <Text className={textClass}>{text}</Text>\n </View>\n );\n }\n return (\n <View\n className={className}\n style={style as StyleProp<ViewStyle>}\n children={children}\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={(e) => onChangeChecked?.(!checked)}\n />\n );\n default:\n return (\n <RNTextInput\n {...(rest as any)}\n value={typeof value == \"number\" ? value.toString() : value}\n onChangeText={(t) => onChangeValue?.(t)}\n />\n );\n }\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 * as DialogPrimitive from \"@rn-primitives/dialog\";\nimport * as React from \"react\";\nimport {\n Platform,\n Pressable,\n StyleSheet,\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 MaterialIcons from \"@expo/vector-icons/MaterialIcons\";\nimport { FontAwesome6 } from \"@expo/vector-icons\";\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlayWeb = React.forwardRef<\n DialogPrimitive.OverlayRef,\n DialogPrimitive.OverlayProps\n>(({ className, ...props }, ref) => {\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 ref={ref}\n />\n );\n});\n\nDialogOverlayWeb.displayName = \"DialogOverlayWeb\";\n\nconst DialogOverlayNative = React.forwardRef<\n DialogPrimitive.OverlayRef,\n DialogPrimitive.OverlayProps\n>(({ className, children, ...props }, ref) => {\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 ref={ref}\n >\n <Animated.View\n entering={FadeIn.duration(150)}\n exiting={FadeOut.duration(150)}\n >\n <Pressable>{children}</Pressable>\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\nconst 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\nconst 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\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 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]\", containerClass)}\n style={{ maxWidth: width - 16 }}\n portalHost={Platform.select({ ios: portalHost })}\n >\n <View\n className={\"flex flex-row gap-[10px] justify-between items-start\"}\n >\n <DialogTitle asChild className={\"flex-1 flex-shrink title2\"}>\n {title}\n </DialogTitle>\n <DialogClose\n className={\n \"web:group rounded-sm web:ring-offset-background web:transition-opacity web:hover:opacity-100 web:focus:outline-none web:focus:ring-2 web:focus:ring-ring web:focus:ring-offset-2 web:disabled:pointer-events-none\"\n }\n >\n <FontAwesome6 name=\"xmark-circle\" size={24} color={\"#267151\"} />\n </DialogClose>\n </View>\n {content}\n {footer}\n </DialogContent>\n </Dialog>\n );\n}\n"],"names":["cn","inputs","twMerge","clsx","cssInterop","FontAwesome","className","target","nativeStyleToProp","MaterialIcons","Icon","name","iconLibrary","_effect","_useComponentTracking","IconLibrary","Material","_jsx","RNCheckbox","React","forwardRef","_ref","ref","props","_objectWithoutPropertiesLoose","_excluded","CheckboxPrimitive","Root","_extends","children","Indicator","displayName","RNTextInput","placeholderClassName","editable","disabled","readonly","readOnly","undefined","TextInput","RNRadioItem","checked","onChange","Pressable","onPress","View","RadioGroupPrimitive","Item","createRNDateTimePickerRenderer","options","createDataRenderer","p","mode","field","type","FieldType","DateTime","Time","RNDateTimePicker","control","as","inputClass","schemaType","Date","renderType","DataRenderType","locale","is24Hour","maximumDate","minimumDate","isVisible","useControl","innerPickerValue","getInnerPickerValue","formattedDate","getFormattedDate","handleConfirm","date","touched","zonedDateTime","fromDate","getLocalTimeZone","value","toCalendarDate","toString","toAbsoluteString","toTime","_","hidePicker","_jsxs","placeholder","FontAwesome5","size","color","DateTimePickerModal","onConfirm","onCancel","onHide","dateString","parseDate","toDate","parseAbsolute","toCalendarDateTime","now","parseTime","day","month","year","timeZone","hour","minute","hour12","timeStyle","DateFormatter","format","RNHtmlRenderer","html","source","RenderHtml","contentWidth","Dimensions","get","width","createRNSelectRenderer","asArray","_props$options","renderOptions","definition","RNSelectRenderer","rendererClass","state","id","required","emptyText","requiredText","convert","createSelectConversion","portalHost","String","Int","Dropdown","insets","useSafeAreaInsets","contentInsets","top","bottom","Platform","select","ios","android","left","right","optionStringMap","useMemo","Object","fromEntries","map","x","optionGroups","Array","from","Set","filter","group","selectedOption","useComputed","label","at","Select","defaultValue","onValueChange","o","SelectTrigger","SelectValue","SelectContent","ScrollView","SelectGroup","SelectLabel","renderOption","i","SelectItem","SelectPrimitive","Group","Value","_ref2","_excluded2","Trigger","_ref3","position","_excluded3","open","useRootContext","Portal","hostName","Overlay","style","OS","StyleSheet","absoluteFill","Animated","entering","FadeIn","exiting","FadeOut","Content","Viewport","_ref4","_excluded4","Label","_ref5","_excluded5","ItemIndicator","ItemText","SelectSeparator","_ref6","_excluded6","Separator","reactNativeHtml","I","RNIcon","B","RNSpan","Button","RNButton","RNLabel","Span","H1","Div","RNDiv","Input","RNInput","defaultRnTailwindTheme","deepMerge","data","checkOptions","entryClass","labelContainer","c","array","removableClass","action","buttonClass","textClass","adornment","accordion","helpText","iconName","iconClass","triggerContainerClass","triggerLabelClass","contentTextClass","extraRenderers","_options$data","renderers","selectOptions","push","defaultTailwindTheme","_effect2","Text","_effect3","inline","notWrapInText","androidRippleColor","nonTextContent","onClick","android_ripple","_effect4","_effect5","text","_effect6","onChangeValue","onChangeChecked","rest","onCheckedChange","e","onChangeText","t","TextClassContext","createContext","RNText","asChild","useContext","Component","Slot","buttonVariants","cva","variants","variant","default","destructive","outline","secondary","ghost","link","sm","lg","icon","defaultVariants","buttonTextVariants","Provider","role","Dialog","DialogPrimitive","DialogTrigger","DialogPortal","DialogClose","Close","DialogOverlayWeb","DialogOverlayNative","duration","DialogOverlay","web","DialogContent","closeOnOutsidePress","closeOnPress","DialogTitle","Title","RNDialog","title","trigger","content","footer","onOpenChange","containerClass","dialogOpen","useWindowDimensions","maxWidth","FontAwesome6"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { DefaultRendererOptions } from "@react-typed-forms/schemas-html";
2
+ import { HtmlComponents } from "@react-typed-forms/schemas";
3
+ export declare const reactNativeHtml: HtmlComponents;
4
+ export declare const defaultRnTailwindTheme: DefaultRendererOptions;
@@ -0,0 +1,2 @@
1
+ import { type ClassValue } from "clsx";
2
+ export declare function cn(...inputs: ClassValue[]): string;
package/package.json ADDED
@@ -0,0 +1,96 @@
1
+ {
2
+ "name": "@react-typed-forms/schemas-rn",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "type": "module",
6
+ "main": "lib/index.cjs",
7
+ "module": "lib/index.js",
8
+ "types": "lib/index.d.ts",
9
+ "exports": {
10
+ "types": "./lib/index.d.ts",
11
+ "require": "./lib/index.cjs",
12
+ "default": "./lib/index.js"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/doolse/react-typed-forms.git"
17
+ },
18
+ "author": "Jolse Maginnis",
19
+ "license": "ISC",
20
+ "bugs": {
21
+ "url": "https://github.com/doolse/react-typed-forms/issues"
22
+ },
23
+ "homepage": "https://github.com/doolse/react-typed-forms#readme",
24
+ "publishConfig": {
25
+ "access": "public"
26
+ },
27
+ "keywords": [
28
+ "react",
29
+ "typescript",
30
+ "forms",
31
+ "material-ui"
32
+ ],
33
+ "dependencies": {
34
+ "clsx": "^1 || ^2",
35
+ "@react-typed-forms/schemas-html": "^4.0.0",
36
+ "tailwind-merge": "^1.14.0",
37
+ "class-variance-authority": "^0.7.1",
38
+ "@rn-primitives/checkbox": "^1.1.0",
39
+ "@rn-primitives/slot": "^1.1.0",
40
+ "@rn-primitives/types": "^1.1.0",
41
+ "@rn-primitives/radio-group": "^1.1.0",
42
+ "@rn-primitives/select": "^1.1.0",
43
+ "@rn-primitives/dialog": "^1.1.0",
44
+ "@react-native-community/datetimepicker": "8.2.0",
45
+ "react-native-modal-datetime-picker": "^18.0.0",
46
+ "@internationalized/date": "^3.6.0",
47
+ "@expo/vector-icons": "^14.0.2",
48
+ "react-native-gesture-handler": "~2.20.2"
49
+ },
50
+ "peerDependencies": {
51
+ "@react-typed-forms/core": "^4.4.0",
52
+ "@react-typed-forms/schemas": "^16.0.0",
53
+ "react": "^18.3.1",
54
+ "react-dom": "^18.3.1",
55
+ "react-native": "^0.76.9",
56
+ "react-native-web": "~0.19.13",
57
+ "nativewind": "^4.1.23",
58
+ "react-native-css-interop": "^0.1.22",
59
+ "react-native-reanimated": ">=3.16.1",
60
+ "react-native-safe-area-context": "4.12.0",
61
+ "tailwindcss": "~3",
62
+ "react-native-svg": "^15.11.2",
63
+ "react-native-render-html": "^6.3.4"
64
+ },
65
+ "devDependencies": {
66
+ "@babel/core": "^7.25.2",
67
+ "tailwindcss": "^3.4.17",
68
+ "nativewind": "^4.1.23",
69
+ "react-native-safe-area-context": "4.12.0",
70
+ "react-native-reanimated": ">=3.16.1",
71
+ "react-native-css-interop": "^0.1.22",
72
+ "react-native-svg": "15.8.0",
73
+ "react-native": "^0.76.9",
74
+ "react-native-web": "~0.19.13",
75
+ "@react-typed-forms/core": "^4.4.0",
76
+ "@react-typed-forms/schemas": "^16.0.0",
77
+ "react": "^18.3.1 || ^19",
78
+ "react-dom": "^18.3.1 || ^19",
79
+ "@react-typed-forms/transform": "^0.4.0",
80
+ "@types/uuid": "^10.0.0",
81
+ "@types/react": "^18.2.28",
82
+ "markdown-magic": "^2.6.1",
83
+ "microbundle": "^0.15.1",
84
+ "nswag": "^13.18.2",
85
+ "prettier": "^3.2.5",
86
+ "rimraf": "^3.0.2",
87
+ "typescript": "^5.6.3",
88
+ "react-native-render-html": "^6.3.4"
89
+ },
90
+ "gitHead": "698e16cd3ab31b7dd0528fc76536f4d3205ce8c6",
91
+ "scripts": {
92
+ "build": "rimraf ./lib/ node_modules/.cache && microbundle -f modern,cjs --no-compress --jsxImportSource nativewind",
93
+ "watch": "microbundle -w -f modern,cjs --no-compress --jsxImportSource nativewind",
94
+ "update-readme": "md-magic --path README.md"
95
+ }
96
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,21 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ESNext",
4
+ "lib": ["dom", "dom.iterable", "esnext"],
5
+ "allowJs": true,
6
+ "skipLibCheck": true,
7
+ "strict": true,
8
+ "noEmit": true,
9
+ "forceConsistentCasingInFileNames": true,
10
+ "esModuleInterop": true,
11
+ "declaration": true,
12
+ "module": "ESNext",
13
+ "moduleResolution": "node",
14
+ "resolveJsonModule": true,
15
+ "isolatedModules": true,
16
+ "jsx": "preserve",
17
+ "outDir": "lib"
18
+ },
19
+ "include": ["src/**/*.ts", "src/**/*.tsx"],
20
+ "exclude": ["node_modules", "lib"]
21
+ }