Reacticx Documentation
repository·main·Indexed 23 days ago
https://github.com/rit3zh/reacticxA library of accessible React Native components for mobile applications. Features include a comprehensive UI kit with components such as Card, Dialog, Breadcrumbs, ExpandableButton, AvatarGroup, and Center, as well as the reacticx-ui package (v1.21.0).
What's inside Reacticx
- Reactix is an open-source React Native UI library designed for developers who need beautiful, production-ready components without high complexity. It focuses on providing high-quality mobile interfaces that are easy to implement and customize.
Key features of Reactix
mainReactix distinguishes itself from other UI libraries through several core principles:
- Copy & Paste: Unlike traditional libraries, there is no mandatory package installation required. You can simply copy the code you need directly into your project.
- Transparent Code: Components are designed to be readable and modifiable, allowing you to learn from them and customize them to your specific needs.
- Mobile First: The library is built specifically for mobile environments, prioritizing gestures, transitions, and touch feedback.
- Production Ready: It utilizes React Native Reanimated and Skia to ensure smooth, 60fps animations and professional-grade performance.
How Settings V1 components work together
mainSettings V1 uses a compound component pattern (similar to Radix UI). You compose the screen declaratively by nesting primitives. The components do not manage their own state; you are responsible for managing state (like toggle values) and passing them down as props.
Every settings screen follows this hierarchy:
Root: The top-level container.Section: Groups related items, optionally containing aLabel(header) and aFooter.Group: A card-like container with rounded corners that automatically handles separators between items.ItemorLargeItem: The individual rows within a group.Content: A flex container inside an item to holdTitle,Subtitle, orValuecomponents.
<Settings.Root> <Settings.Section> <Settings.Label>Section Title</Settings.Label> <Settings.Group> <Settings.Item> {/* children */} </Settings.Item> </Settings.Group> <Settings.Footer>Helper text goes here.</Settings.Footer> </Settings.Section> </Settings.Root>The component request lifecycle
mainOnce a request is submitted, it typically follows these steps:
- Community feedback: Other users upvote and comment. Higher interest leads to higher priority.
- Triage: Maintainers review the request and apply labels for tracking.
- Implementation: Accepted components are added to the roadmap and built.
- Release: The component is shipped in a future release and documented in the official docs.
How to use custom components in toasts
mainInstead of passing a simple string toToast.showortoast.show, you can pass any valid React component. This allows you to create highly customized notification layouts with specific icons, colors, and internal structures.TypeScript support in Reacticx
mainAll Reacticx components include full TypeScript type definitions. Props are documented inline, providing autocomplete and type-checking within your IDE without requiring additional@typespackages.Use the Pagination component
mainThePaginationcomponent is a draggable pagination indicator. To use it, import the component and provide the required props defined inPaginationProps.Use the Theme Switch component
mainAfter installing the required dependencies, copy thetheme-switchcomponent code into your project to enable the Skia-based theme switching interaction.Install dependencies for VerticalPageCarousel
mainTo use the
VerticalPageCarouselcomponent, you must install the following peer dependencies in your React Native project:react-native-reanimated@sbaiahmed1/react-native-blurreact-native-workletsexpo-haptics
react-native-reanimated @sbaiahmed1/react-native-blur react-native-worklets expo-hapticsUse the Circle Loader component
mainTheCircleLoaderis a component that displays three dots animating in a wave pattern. It requiresreact-native-reanimatedandreact-native-svgto function.Install dependencies for Tabs component
mainThe Tabs component requires
react-native-reanimatedfor animations and@sbaiahmed1/react-native-blurfor blur effects. Install them using your package manager:react-native-reanimated @sbaiahmed1/react-native-blurInstall dependencies for Scale Carousel
mainTo use the
ScaleCarouselcomponent, you must install the following peer dependencies in your React Native project:react-native-reanimatedexpo-hapticsreact-native-worklets
react-native-reanimated expo-haptics react-native-worklets