Up until we started working on the Link component, our components have been completely written in React/TypeScript. Consequently, our components package is set up to only export or expose TypeScript files. Expo related code is used for development only and therefore not exported.
The calendar functionality for the link component (#169) is the first feature that we've come across that requires native functionality. After further investigation, our project structure would have to change and we may have to move from Expo to a bare RN project in order to support native functionality. Removing Expo would also mean that we'd lose some convenient developer functionality such as QR code scanning and simple configuration.
This begs the question of whether custom native functionality is within the scope of this component library. Before we make any major changes to the code base, we should first determine if and how many other current existing components might require native functionality.
Acceptance Criteria
[ ] Go through each component in our component spreadsheet and determine which (if any) components use a native library or custom native functionality in a new column
[ ] If the component already aligns closely to VADS, determine if we could rebuild the component with non-native code
[ ] If the component doesn't align with VADS, determine if the VADS equivalent would require a native module
[ ] Create tickets to restructure codebase to support native modules if we find that there are components that absolutely need native code
Description
Up until we started working on the Link component, our components have been completely written in React/TypeScript. Consequently, our
components
package is set up to only export or expose TypeScript files. Expo related code is used for development only and therefore not exported.The calendar functionality for the link component (#169) is the first feature that we've come across that requires native functionality. After further investigation, our project structure would have to change and we may have to move from Expo to a bare RN project in order to support native functionality. Removing Expo would also mean that we'd lose some convenient developer functionality such as QR code scanning and simple configuration.
This begs the question of whether custom native functionality is within the scope of this component library. Before we make any major changes to the code base, we should first determine if and how many other current existing components might require native functionality.
Acceptance Criteria