1*999ead72SEvan Baconimport React, { ComponentType, forwardRef } from 'react'; 292f6de58SWill Schurman 3*999ead72SEvan Baconimport View from '../primitives/RNWView'; 492f6de58SWill Schurmanimport { ViewProps } from '../primitives/View'; 555058f92SEvan Bacon 6*999ead72SEvan Baconfunction createView(nativeProps: ViewProps & { __element: string }): ComponentType<ViewProps> { 7*999ead72SEvan Bacon return forwardRef((props: ViewProps, ref) => { 8*999ead72SEvan Bacon return <View {...nativeProps} {...props} ref={ref} />; 955058f92SEvan Bacon }) as ComponentType<ViewProps>; 10*999ead72SEvan Bacon} 1155058f92SEvan Bacon 12*999ead72SEvan Baconexport const Table = createView({ __element: 'table' }); 13*999ead72SEvan BaconTable.displayName = 'Table'; 1455058f92SEvan Bacon 15*999ead72SEvan Baconexport const THead = createView({ __element: 'thead' }); 16*999ead72SEvan BaconTHead.displayName = 'THead'; 1755058f92SEvan Bacon 18*999ead72SEvan Baconexport const TBody = createView({ __element: 'tbody' }); 19*999ead72SEvan BaconTBody.displayName = 'TBody'; 2055058f92SEvan Bacon 21*999ead72SEvan Baconexport const TFoot = createView({ __element: 'tfoot' }); 22*999ead72SEvan BaconTFoot.displayName = 'TFoot'; 2355058f92SEvan Bacon 24*999ead72SEvan Baconexport const TH = createView({ __element: 'th' }); 25*999ead72SEvan BaconTH.displayName = 'TH'; 2655058f92SEvan Bacon 27*999ead72SEvan Baconexport const TR = createView({ __element: 'tr' }); 28*999ead72SEvan BaconTR.displayName = 'TR'; 2955058f92SEvan Bacon 30*999ead72SEvan Baconexport const TD = createView({ __element: 'td' }); 31*999ead72SEvan BaconTD.displayName = 'TD'; 3255058f92SEvan Bacon 33*999ead72SEvan Baconexport const Caption = createView({ __element: 'caption' }); 34*999ead72SEvan BaconCaption.displayName = 'Caption'; 35