1import { StyleProp } from 'react-native'; 2import * as RN from 'react-native'; 3 4declare module 'react-native' { 5 /** 6 * View 7 */ 8 interface ViewProps { 9 className?: string; 10 } 11 12 interface ViewStyle { 13 /** @platform web */ 14 backdropFilter?: string; 15 /** @platform web */ 16 animationDelay?: string; 17 /** @platform web */ 18 animationDirection?: string; 19 /** @platform web */ 20 animationDuration?: string; 21 /** @platform web */ 22 animationFillMode?: string; 23 /** @platform web */ 24 animationName?: string | any[]; 25 /** @platform web */ 26 animationIterationCount?: number | 'infinite'; 27 /** @platform web */ 28 animationPlayState?: string; 29 /** @platform web */ 30 animationTimingFunction?: string; 31 /** @platform web */ 32 backgroundAttachment?: string; 33 /** @platform web */ 34 backgroundBlendMode?: string; 35 /** @platform web */ 36 backgroundClip?: string; 37 /** @platform web */ 38 backgroundImage?: string; 39 /** @platform web */ 40 backgroundOrigin?: 'border-box' | 'content-box' | 'padding-box'; 41 /** @platform web */ 42 backgroundPosition?: string; 43 /** @platform web */ 44 backgroundRepeat?: string; 45 /** @platform web */ 46 backgroundSize?: string; 47 /** @platform web */ 48 boxShadow?: string; 49 /** @platform web */ 50 boxSizing?: string; 51 /** @platform web */ 52 clip?: string; 53 /** @platform web */ 54 cursor?: string; 55 /** @platform web */ 56 filter?: string; 57 /** @platform web */ 58 gridAutoColumns?: string; 59 /** @platform web */ 60 gridAutoFlow?: string; 61 /** @platform web */ 62 gridAutoRows?: string; 63 /** @platform web */ 64 gridColumnEnd?: string; 65 /** @platform web */ 66 gridColumnGap?: string; 67 /** @platform web */ 68 gridColumnStart?: string; 69 /** @platform web */ 70 gridRowEnd?: string; 71 /** @platform web */ 72 gridRowGap?: string; 73 /** @platform web */ 74 gridRowStart?: string; 75 /** @platform web */ 76 gridTemplateColumns?: string; 77 /** @platform web */ 78 gridTemplateRows?: string; 79 /** @platform web */ 80 gridTemplateAreas?: string; 81 /** @platform web */ 82 outline?: string; 83 /** @platform web */ 84 outlineColor?: string; 85 /** @platform web */ 86 overflowX?: string; 87 /** @platform web */ 88 overflowY?: string; 89 /** @platform web */ 90 overscrollBehavior?: 'auto' | 'contain' | 'none'; 91 /** @platform web */ 92 overscrollBehaviorX?: 'auto' | 'contain' | 'none'; 93 /** @platform web */ 94 overscrollBehaviorY?: 'auto' | 'contain' | 'none'; 95 /** @platform web */ 96 perspective?: string; 97 /** @platform web */ 98 perspectiveOrigin?: string; 99 /** @platform web */ 100 touchAction?: string; 101 /** @platform web */ 102 transformOrigin?: string; 103 /** @platform web */ 104 transitionDelay?: string; 105 /** @platform web */ 106 transitionDuration?: string; 107 /** @platform web */ 108 transitionProperty?: string; 109 /** @platform web */ 110 transitionTimingFunction?: string; 111 /** @platform web */ 112 userSelect?: string; 113 /** @platform web */ 114 visibility?: string; 115 /** @platform web */ 116 willChange?: string; 117 /** @platform web */ 118 position?: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky'; 119 } 120 121 /** 122 * Text 123 */ 124 interface TextProps { 125 className?: string; 126 style?: StyleProp<TextStyle>; 127 /** @platform web */ 128 tabIndex?: number; 129 /** @platform web */ 130 lang?: string; 131 } 132 133 interface TextStyle { 134 /** @platform web */ 135 backdropFilter?: string; 136 /** @platform web */ 137 animationDelay?: string; 138 /** @platform web */ 139 animationDirection?: string; 140 /** @platform web */ 141 animationDuration?: string; 142 /** @platform web */ 143 animationFillMode?: string; 144 /** @platform web */ 145 animationName?: string | any[]; 146 /** @platform web */ 147 animationIterationCount?: number | 'infinite'; 148 /** @platform web */ 149 animationPlayState?: string; 150 /** @platform web */ 151 animationTimingFunction?: string; 152 /** @platform web */ 153 backgroundAttachment?: string; 154 /** @platform web */ 155 backgroundBlendMode?: string; 156 /** @platform web */ 157 backgroundClip?: string; 158 /** @platform web */ 159 backgroundImage?: string; 160 /** @platform web */ 161 backgroundOrigin?: 'border-box' | 'content-box' | 'padding-box'; 162 /** @platform web */ 163 backgroundPosition?: string; 164 /** @platform web */ 165 backgroundRepeat?: string; 166 /** @platform web */ 167 backgroundSize?: string; 168 /** @platform web */ 169 boxShadow?: string; 170 /** @platform web */ 171 boxSizing?: string; 172 /** @platform web */ 173 clip?: string; 174 /** @platform web */ 175 cursor?: string; 176 /** @platform web */ 177 filter?: string; 178 /** @platform web */ 179 gridAutoColumns?: string; 180 /** @platform web */ 181 gridAutoFlow?: string; 182 /** @platform web */ 183 gridAutoRows?: string; 184 /** @platform web */ 185 gridColumnEnd?: string; 186 /** @platform web */ 187 gridColumnGap?: string; 188 /** @platform web */ 189 gridColumnStart?: string; 190 /** @platform web */ 191 gridRowEnd?: string; 192 /** @platform web */ 193 gridRowGap?: string; 194 /** @platform web */ 195 gridRowStart?: string; 196 /** @platform web */ 197 gridTemplateColumns?: string; 198 /** @platform web */ 199 gridTemplateRows?: string; 200 /** @platform web */ 201 gridTemplateAreas?: string; 202 /** @platform web */ 203 outline?: string; 204 /** @platform web */ 205 outlineColor?: string; 206 /** @platform web */ 207 overflowX?: string; 208 /** @platform web */ 209 overflowY?: string; 210 /** @platform web */ 211 overscrollBehavior?: 'auto' | 'contain' | 'none'; 212 /** @platform web */ 213 overscrollBehaviorX?: 'auto' | 'contain' | 'none'; 214 /** @platform web */ 215 overscrollBehaviorY?: 'auto' | 'contain' | 'none'; 216 /** @platform web */ 217 perspective?: string; 218 /** @platform web */ 219 perspectiveOrigin?: string; 220 /** @platform web */ 221 touchAction?: string; 222 /** @platform web */ 223 transformOrigin?: string; 224 /** @platform web */ 225 transitionDelay?: string; 226 /** @platform web */ 227 transitionDuration?: string; 228 /** @platform web */ 229 transitionProperty?: string; 230 /** @platform web */ 231 transitionTimingFunction?: string; 232 /** @platform web */ 233 userSelect?: string; 234 /** @platform web */ 235 visibility?: string; 236 /** @platform web */ 237 willChange?: string; 238 /** @platform web */ 239 position?: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky'; 240 /** @platform web */ 241 fontFeatureSettings?: string; 242 /** @platform web */ 243 textIndent?: string; 244 /** @platform web */ 245 textOverflow?: string; 246 /** @platform web */ 247 textRendering?: string; 248 /** @platform web */ 249 unicodeBidi?: string; 250 /** @platform web */ 251 wordWrap?: string; 252 } 253 254 /** 255 * Pressable 256 */ 257 interface PressableStateCallbackType { 258 readonly pressed: boolean; 259 readonly hovered: boolean; 260 } 261 262 interface PressableProps { 263 children?: 264 | React.ReactNode 265 | ((state: PressableStateCallbackType) => React.ReactNode) 266 | undefined; 267 style?: 268 | RN.StyleProp<ViewStyle> 269 | ((state: PressableStateCallbackType) => RN.StyleProp<ViewStyle>); 270 } 271 272 // export const Pressable: React.ForwardRefExoticComponent< 273 // PressableProps & React.RefAttributes<RN.View> 274 // >; 275 276 interface FlatListProps<ItemT> extends RN.VirtualizedListProps<ItemT> { 277 className?: string; 278 } 279 280 interface ImagePropsBase { 281 className?: string; 282 } 283 284 interface SwitchProps { 285 className?: string; 286 } 287 288 interface InputAccessoryViewProps { 289 className?: string; 290 } 291 292 interface TouchableWithoutFeedbackProps { 293 className?: string; 294 } 295} 296