Home
Softono
w

wix

Professional software vendor delivering innovative solutions on the Softono platform. Specialized in both open-source and proprietary software development.

Total Products
5

Software by wix

react-native-calendars
Open Source

react-native-calendars

[![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://stand-with-ukraine.pp.ua) # React Native Calendars 🗓️ 📆 ## A declarative cross-platform React Native calendar component for iOS and Android. [![Version](https://img.shields.io/npm/v/react-native-calendars.svg)](https://www.npmjs.com/package/react-native-calendars) [![Build status](https://badge.buildkite.com/1a911fa39db2518a615b73f3dc18ec0938a66403f2ad66f79b.svg)](https://buildkite.com/wix-mobile-oss/react-native-calendars) <br> This module includes information on how to use this customizable **React Native** calendar component. The package is compatible with both **Android** and **iOS** <br> > ### **Official documentation** > > This README provides basic examples of how to get started with `react-native-calendars`. For detailed information, refer to the [official documentation site](https://wix.github.io/react-native-calendars/docs/Intro). ## Features ✨ - Pure JS. No Native code required - Date marking - dot, multi-dot, period, multi-period and custom marking - Customization of style, content (days, months, etc) and dates - Detailed documentation and examples - Swipeable calendar with flexible custom rendering - Scrolling to today, selecting dates, and more - Allowing or blocking certain dates - Accessibility support - Automatic date formatting for different locales ## Try it out ⚡ You can run a sample module using these steps: ``` $ git clone [email protected]:wix/react-native-calendars.git $ cd react-native-calendars $ yarn install $ cd ios && pod install && cd .. $ react-native run-ios ``` You can check example screens source code in [example module screens](https://github.com/wix-private/wix-react-native-calendar/tree/master/example/src/screens) This project is compatible with Expo/CRNA (without ejecting), and the examples have been [published on Expo](https://expo.io/@community/react-native-calendars-example) ## Getting Started 🔧 Here's how to get started with react-native-calendars in your React Native project: ### Install the package: ``` $ yarn add react-native-calendars ``` **RN Calendars is implemented in JavaScript, so no native module linking is required.** ## Usage 🚀 Basic usage examples of the library ##### **For detailed information on using this component, see the [official documentation site](https://wix.github.io/react-native-calendars/docs/Intro)** ### Importing the `Calendar` component ```javascript import {Calendar, CalendarList, Agenda} from 'react-native-calendars'; ``` ### Use the `Calendar` component in your app: ```javascript <Calendar onDayPress={day => { console.log('selected day', day); }} /> ``` ## Some Code Examples Here are a few code snippets that demonstrate how to use some of the key features of react-native-calendars: ### Creating a basic calendar with default settings: ```javascript import React, {useState} from 'react'; import {Calendar, LocaleConfig} from 'react-native-calendars'; const App = () => { const [selected, setSelected] = useState(''); return ( <Calendar onDayPress={day => { setSelected(day.dateString); }} markedDates={{ [selected]: {selected: true, disableTouchEvent: true, selectedDotColor: 'orange'} }} /> ); }; export default App; ``` ### Customize the appearance of the calendar: ```javascript <Calendar // Customize the appearance of the calendar style={{ borderWidth: 1, borderColor: 'gray', height: 350 }} // Specify the current date current={'2012-03-01'} // Callback that gets called when the user selects a day onDayPress={day => { console.log('selected day', day); }} // Mark specific dates as marked markedDates={{ '2012-03-01': {selected: true, marked: true, selectedColor: 'blue'}, '2012-03-02': {marked: true}, '2012-03-03': {selected: true, marked: true, selectedColor: 'blue'} }} /> ``` ### Configuring the locale: ```javascript import {LocaleConfig} from 'react-native-calendars'; import React, {useState} from 'react'; import {Calendar, LocaleConfig} from 'react-native-calendars'; LocaleConfig.locales['fr'] = { monthNames: [ 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre' ], monthNamesShort: ['Janv.', 'Févr.', 'Mars', 'Avril', 'Mai', 'Juin', 'Juil.', 'Août', 'Sept.', 'Oct.', 'Nov.', 'Déc.'], dayNames: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'], dayNamesShort: ['Dim.', 'Lun.', 'Mar.', 'Mer.', 'Jeu.', 'Ven.', 'Sam.'], today: "Aujourd'hui" }; LocaleConfig.defaultLocale = 'fr'; const App = () => { const [selected, setSelected] = useState(''); return ( <Calendar onDayPress={day => { setSelected(day.dateString); }} markedDates={{ [selected]: {selected: true, disableTouchEvent: true, selectedDotColor: 'orange'} }} /> ); }; export default App; ``` ### Adding a global theme to the calendar: ```javascript <Calendar style={{ borderWidth: 1, borderColor: 'gray', height: 350, }} theme={{ backgroundColor: '#ffffff', calendarBackground: '#ffffff', textSectionTitleColor: '#b6c1cd', selectedDayBackgroundColor: '#00adf5', selectedDayTextColor: '#ffffff', todayTextColor: '#00adf5', dayTextColor: '#2d4150', textDisabledColor: '#dd99ee' }} /> ``` ## Customized Calendar Examples ### Calendar <img src="https://github.com/wix-private/wix-react-native-calendar/blob/master/demo/assets/calendar.gif?raw=true"> ### Dot marking <img height={50} src="https://github.com/wix-private/wix-react-native-calendar/blob/master/demo/assets/marking1.png?raw=true"> ### Multi-Dot marking <img height=50 src="https://github.com/wix-private/wix-react-native-calendar/blob/master/demo/assets/marking4.png?raw=true"> ### Period Marking <img height=50 src="https://github.com/wix-private/wix-react-native-calendar/blob/master/demo/assets/marking2.png?raw=true"> <img height=50 src="https://github.com/wix-private/wix-react-native-calendar/blob/master/demo/assets/marking3.png?raw=true"> ### Multi-Period marking <img height=50 src="https://github.com/wix-private/wix-react-native-calendar/blob/master/demo/assets/marking6.png?raw=true"> ### Custom marking <img height=50 src="https://github.com/wix-private/wix-react-native-calendar/blob/master/demo/assets/marking5.png?raw=true"> <img height=350 src="https://github.com/wix-private/wix-react-native-calendar/blob/master/demo/assets/multi-marking.png?raw=true"> ### Date loading indicator <img height=50 src="https://github.com/wix-private/wix-react-native-calendar/blob/master/demo/assets/loader.png?raw=true"> ### Scrollable semi-infinite calendar <img src="https://github.com/wix-private/wix-react-native-calendar/blob/master/demo/assets/calendar-list.gif?raw=true"> ### Horizontal calendar <img src="https://github.com/wix-private/wix-react-native-calendar/blob/master/demo/assets/horizontal-calendar-list.gif?raw=true"> ### Agenda <img src="https://github.com/wix-private/wix-react-native-calendar/blob/master/demo/assets/agenda.gif?raw=true"> <br> ## Authors - [Tautvilas Mecinskas](https://github.com/tautvilas/) - Initial code - [@tautvilas](https://twitter.com/Tautvilas) - Katrin Zotchev - Initial design - [@katrin_zot](https://twitter.com/katrin_zot) See also the list of [contributors](https://github.com/wix/react-native-calendar-components/contributors) who participated in this project. ## Contributing We welcome contributions to react-native-calendars. If you have an idea for a new feature or have discovered a bug, please open an issue. Please `yarn test` and `yarn lint` before pushing changes. Don't forget to add a **title** and a **description** explaining the issue you're trying to solve and your proposed solution. Screenshots and Gifs are VERY helpful to add to the PR for reviews. Please DO NOT format the files - we're trying to keep a unified syntax and keep the reviewing process fast and simple. ## License React Native Calendars is MIT licensed

Mobile Development Web Components & Widgets
10.3K Github Stars
stylable
Open Source

stylable

[![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://stand-with-ukraine.pp.ua) ![Stylable CSS for Components](./stylable.svg) [![Build Status](https://github.com/wix/stylable/workflows/tests/badge.svg)](https://github.com/wix/stylable/actions) **Stylable** enables you to write reusable, highly-performant components. Each component exposes a style API that maps its internal parts so you can reuse components across teams without sacrificing stylability. - Scopes styles to components so they don't "leak" and clash with other styles. - Enables custom pseudo-classes and pseudo-elements that abstract the internal structure of a component. These can then be styled externally. - Cuts down on the resulting CSS bundles using "rule-shaking" and other optimizations At build time, the preprocessor converts the Stylable CSS into a minimal, flat, static, valid vanilla CSS that works cross-browser. Learn more in our [Documentation Center](https://stylable.io/). ## Installation There are two options for installing Stylable: - Create a new project using [create-stylable-app](./packages/create-stylable-app) - Install Stylable and its [webpack plugin](./packages/webpack-plugin) to an existing webpack based project For details on both options, see [Install & Configure](https://stylable.io/docs/getting-started/install-configure). ## Demos - [Mr. Potato Bruce](https://github.com/wix/potato-bruce) - A small application showcasing Stylable - [Manual Vue Integration](https://github.com/wix-playground/stylable-vue-example) - Simple example showing how to manually integrate Stylable into a Vue project (proof of concept) - [Various webpack project setups](./packages/webpack-plugin/test/e2e/projects) - An example of possible webpack configurations ## Repository Structure This repository is a `mono-repo` containing multiple `packages` that together comprise the Stylable ecosystem. It uses [NPM workspaces](https://docs.npmjs.com/cli/v8/using-npm/workspaces) to manage the various packages and their dependencies. ### Core & Internals | Package Name | Published Name | Latest Version | Description | | --------------------------------------- | ------------------------ | :-----------------------------------------------------------------------------------------------------------------------------: | ---------------------------------- | | [core](./packages/core) | `@stylable/core` | [![npm version](https://img.shields.io/npm/v/@stylable/core.svg)](https://www.npmjs.com/package/@stylable/core) | Core CSS preprocessor | | [runtime](./packages/runtime) | `@stylable/runtime` | [![npm version](https://img.shields.io/npm/v/@stylable/runtime.svg)](https://www.npmjs.com/package/@stylable/runtime) | Runtime browser code | | [optimizer](./packages/optimizer) | `@stylable/optimizer` | [![npm version](https://img.shields.io/npm/v/@stylable/optimizer.svg)](https://www.npmjs.com/package/@stylable/optimizer) | Production mode optimizer | | [module-utils](./packages/module-utils) | `@stylable/module-utils` | [![npm version](https://img.shields.io/npm/v/@stylable/module-utils.svg)](https://www.npmjs.com/package/@stylable/module-utils) | Stylable CommonJS module generator | | [custom-value](./packages/custom-value) | `@stylable/custom-value` | [![npm version](https://img.shields.io/npm/v/@stylable/custom-value.svg)](https://www.npmjs.com/package/@stylable/custom-value) | Stylable custom build-time values | ### Tooling & Utilities | Package Name | Published Name | Latest Version | Description | | ----------------------------------------------------- | ---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------: | ------------------------------------------------------------------------------------------ | | [cli](./packages/cli) | `@stylable/cli` | [![npm version](https://img.shields.io/npm/v/@stylable/cli.svg)](https://www.npmjs.com/package/@stylable/cli) | Used for managing Stylable stylesheets in a project | | [create-stylable-app](./packages/create-stylable-app) | `create-stylable-app` | [![npm version](https://img.shields.io/npm/v/create-stylable-app.svg)](https://www.npmjs.com/package/create-stylable-app) | Boilerplate generator CLI | | [schema-extract](./packages/schema-extract) | `@stylable/schema-extract` | [![npm version](https://img.shields.io/npm/v/@stylable/schema-extract.svg)](https://www.npmjs.com/package/@stylable/schema-extract) | JSON Schema convertor for Stylable stylesheets | | [language-service](./packages/language-service) | `@stylable/language-service` | [![npm version](https://img.shields.io/npm/v/@stylable/language-service.svg)](https://www.npmjs.com/package/@stylable/language-service) | Language service protocol provider, business logic for the stylable-intelligence extension | | [build-tools](./packages/build-tools) | `@stylable/build-tools` | [![npm version](https://img.shields.io/npm/v/@stylable/build-tools.svg)](https://www.npmjs.com/package/@stylable/build-tools) | A collection of tools used during build-time by our `webpack` and `rollup` plugins | ### Integrations | Package Name | Published Name | Latest Version | Description | | ----------------------------------------------------- | ------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------: | ------------------------------------------------------------------ | | [jest](./packages/jest) | `@stylable/jest` | [![npm version](https://img.shields.io/npm/v/@stylable/jest.svg)](https://www.npmjs.com/package/@stylable/jest) | Jest Stylable processor plugin | | [node](./packages/node) | `@stylable/node` | [![npm version](https://img.shields.io/npm/v/@stylable/node.svg)](https://www.npmjs.com/package/@stylable/node) | `require` hook and Node module factory | | [webpack-extensions](./packages/webpack-extensions) | `@stylable/webpack-extensions` | [![npm version](https://img.shields.io/npm/v/@stylable/webpack-extensions.svg)](https://www.npmjs.com/package/@stylable/webpack-extensions) | Experimental features for `webpack` integration | | [webpack-plugin](./packages/webpack-plugin) | `@stylable/webpack-plugin` | [![npm version](https://img.shields.io/npm/v/@stylable/webpack-plugin.svg)](https://www.npmjs.com/package/@stylable/webpack-plugin) | `webpack` (`^5.30.0`) integration plugin | | [experimental-loader](./packages/experimental-loader) | `@stylable/experimental-loader` | [![npm version](https://img.shields.io/npm/v/@stylable/experimental-loader.svg)](https://www.npmjs.com/package/@stylable/experimental-loader) | experimental `webpack` loader - not recommended for production use | | [rollup-plugin](./packages/rollup-plugin) | `@stylable/rollup-plugin` | [![npm version](https://img.shields.io/npm/v/@stylable/rollup-plugin.svg)](https://www.npmjs.com/package/@stylable/rollup-plugin) | Rollup (`v2.x`) integration plugin | | [esbuild](./packages/esbuild) | `@stylable/esbuild` | [![npm version](https://img.shields.io/npm/v/@stylable/rollup-plugin.svg)](https://www.npmjs.com/package/@stylable/esbuild) | esbuild integration plugin | ### Test-kits | Package Name | Published Name | Latest Version | Description | | ----------------------------------------- | ------------------------- | :-------------------------------------------------------------------------------------------------------------------------------: | ------------------------------------------------------------------------------------ | | [e2e-test-kit](./packages/e2e-test-kit) | `@stylable/e2e-test-kit` | [![npm version](https://img.shields.io/npm/v/@stylable/e2e-test-kit.svg)](https://www.npmjs.com/package/@stylable/e2e-test-kit) | `webpack` project runner used for `E2E` testing | | [dom-test-kit](./packages/dom-test-kit) | `@stylable/dom-test-kit` | [![npm version](https://img.shields.io/npm/v/@stylable/dom-test-kit.svg)](https://www.npmjs.com/package/@stylable/dom-test-kit) | Stylable DOM related testing utils | | [core-test-kit](./packages/core-test-kit) | `@stylable/core-test-kit` | [![npm version](https://img.shields.io/npm/v/@stylable/core-test-kit.svg)](https://www.npmjs.com/package/@stylable/core-test-kit) | Utilities used for testing core Stylable operations (processing and transformations) | ### External Packages | Package Name | Description | | --------------------------------------------------------------------- | --------------------------------------------------------- | | [stylable-intelligence](https://github.com/wix/stylable-intelligence) | VSCode extension providing language services for Stylable | ## Contributing Read our [contributing guidelines](./CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests. ## License Copyright (c) 2017 Wix.com Ltd. All Rights Reserved. Use of this source code is governed by a [MIT license](./LICENSE).

Web Components & Widgets Design Systems & Tokens
1.3K Github Stars
react-native-navigation
Open Source

react-native-navigation

[![SWUbanner](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://vshymanskyy.github.io/StandWithUkraine) <h1 align="center"> <img src=".logo.png"/><br/> React Native Navigation </h1> <p align="center"> <a href="https://www.npmjs.com/package/react-native-navigation"><img src="https://img.shields.io/npm/dw/react-native-navigation.svg?style=flat-square" alt="NPM downloads"></a> <a href="https://www.npmjs.com/package/react-native-navigation"><img src="https://img.shields.io/npm/v/react-native-navigation/latest.svg?style=flat-square" alt="NPM latest version"></a> <a href="https://www.npmjs.com/package/react-native-navigation"><img src="https://img.shields.io/npm/v/react-native-navigation/snapshot.svg?style=flat-square" alt="NPM snapshot version"></a> <a href="https://jenkins-oss.wixpress.com/job/multi-react-native-navigation-master/"><img src="https://img.shields.io/jenkins/s/http/jenkins-oss.wixpress.com:8080/job/multi-react-native-navigation-master.svg?style=flat-square" alt="NPM snapshot version"></a> </p> <p align="center"> <a href="https://twitter.com/reactnativenav"><img src="https://img.shields.io/twitter/follow/reactnativenav.svg?style=flat-square&colorA=1da1f2&colorB=&label=Follow%20us%20on%20Twitter" alt="Follow on Twitter"></a> <a href="https://discord.gg/DhkZjq2"><img src="https://img.shields.io/discord/242515947020222464.svg?color=%237289da&label=Chat%20on%20Discrd&style=flat-square" alt="Chat on Discord"></a> <a href="https://stackoverflow.com/questions/tagged/wix-react-native-navigation"><img src="https://img.shields.io/stackexchange/stackoverflow/t/wix-react-native-navigation.svg?style=flat-square" alt="StackExchange"></a> </p> React Native Navigation provides 100% native platform navigation on both iOS and Android for React Native apps. The JavaScript API is simple and cross-platform - just install it in your app and give your users the native feel they deserve. Ready to get started? Check out the [docs](https://wix.github.io/react-native-navigation/). # Quick Links - [Documentation](https://wix.github.io/react-native-navigation/) - [Changelog](https://github.com/wix/react-native-navigation/blob/master/CHANGELOG.md) - [Stack Overflow](http://stackoverflow.com/questions/tagged/wix-react-native-navigation) - [Chat with us](https://discord.gg/DhkZjq2) - [Contributing](https://wix.github.io/react-native-navigation/docs/meta-contributing) # Requirements Apps using React Native Navigation may target iOS 11 and Android 5.0 (API 21). You may use Windows, macOS or Linux as your development operating system. # Installation As `react-native-navigation` is a native navigation library - integrating it into your app will require editing native files. Follow the installation guides in the [documentation](https://wix.github.io/react-native-navigation/).

JavaScript Libraries & Components Mobile Development
13.2K Github Stars
Detox
Open Source

Detox

<!-- markdownlint-configure-file { "first-line-heading": 0 } --> [![SWUbanner](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner-direct.svg)](https://stand-with-ukraine.pp.ua) <p align="center"> <img alt="Detox" width=380 src="https://raw.githubusercontent.com/wix/Detox/master/docs/img/DetoxLogo.png"/> </p> <h1 align="center"> Detox </h1> <p align="center"> <b>Gray box end-to-end testing and automation framework for mobile apps.</b> </p> <p align="center"> <img alt="Demo" src="docs/img/Detox.gif"/> </p> <h1></h1> <img src="https://user-images.githubusercontent.com/1962469/89655670-1c235c80-d8d3-11ea-9320-0f865767ef5d.png" alt="" height=24 width=1> [![NPM Version](https://img.shields.io/npm/v/detox.svg?style=flat)](https://www.npmjs.com/package/detox) [![NPM Downloads](https://img.shields.io/npm/dm/detox.svg?style=flat)](https://www.npmjs.com/package/detox) [![Build status](https://badge.buildkite.com/39afde30a964a6763de9753762bc80264ba141e1c1f41fc878.svg)](https://buildkite.com/wix-mobile-oss/detox) [![Coverage Status](https://coveralls.io/repos/github/wix/Detox/badge.svg?branch=master)](https://coveralls.io/github/wix/Detox?branch=master) [![Detox is released under the MIT license](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![PR's welcome!](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://wix.github.io/Detox/docs/contributing) [![Discord](https://img.shields.io/discord/957617863550697482?color=%235865F2\&label=discord)](https://discord.gg/CkD5QKheF5) [![Twitter Follow](https://img.shields.io/twitter/follow/detoxe2e?label=Follow\&style=social)](https://twitter.com/detoxe2e) ## What Does a Detox Test Look Like? This is a test for a login screen, it runs on a device/simulator like an actual user: ```js describe('Login flow', () => { beforeEach(async () => { await device.reloadReactNative(); }); it('should login successfully', async () => { await element(by.id('email')).typeText('[email protected]'); await element(by.id('password')).typeText('123456'); const loginButton = element(by.text('Login')); await loginButton.tap(); await expect(loginButton).not.toExist(); await expect(element(by.label('Welcome'))).toBeVisible(); }); }); ``` [Get started with Detox now!](https://wix.github.io/Detox/docs/introduction/getting-started) ## About High velocity native mobile development requires us to adopt continuous integration workflows, which means our reliance on manual QA has to drop significantly. Detox tests your mobile app while it’s running in a real device/simulator, interacting with it just like a real user. The most difficult part of automated testing on mobile is the tip of the testing pyramid - E2E. The core problem with E2E tests is flakiness - tests are usually not deterministic. We believe the only way to tackle flakiness head on is by moving from black box testing to gray box testing. That’s where Detox comes into play. - **Cross Platform:** Write end-to-end tests in JavaScript for React Native apps (Android & iOS). - **Debuggable:** Modern async-await API allows breakpoints in asynchronous tests to work as expected. - **Automatically Synchronized:** Stops flakiness at the core by monitoring asynchronous operations in your app. - **Made For CI:** Execute your E2E tests on CI platforms like Travis CI, Circle CI or Jenkins without grief. - **Runs on Devices:** Gain confidence to ship by testing your app on a device/simulator just like a real user (not yet supported on iOS). - **Test Runner Agnostic:** Detox provides a set of APIs to use with any test runner without it. It comes with [Jest](https://jestjs.io) integration out of the box. ## Supported React Native Versions Detox was built from the ground up to support React Native projects. While Detox should work out of the box with any React Native version of the latest minor releases, the _official_ versions compatibility is provided according to the following: - **RN `v0.77.x` - `v0.84.x`:** Fully compatible with React Native's ["New Architecture"](https://reactnative.dev/docs/the-new-architecture/landing-page). Newer RN versions might work with Detox, but they've not been thoroughly tested by the Detox team yet. Although we do not officially support older React Native versions, we do our best to keep Detox compatible with them. > In case of a problem with an unsupported version of React Native, please [submit an issue](https://github.com/wix/Detox/issues/new/choose) or write us in our [Discord server](https://discord.gg/CkD5QKheF5) and we will do our best to help out. ### Known Issues with React Native - Visibility edge-case on Android: see this [RN issue](https://github.com/facebook/react-native/issues/23870). ## Get Started with Detox Read the [Getting Started Guide](https://wix.github.io/Detox/docs/introduction/getting-started) to get Detox running on your app in less than 10 minutes. ## Documents Site Explore further about using Detox from our new **[website](https://wix.github.io/Detox/)**. ## Core Principles We believe that the only way to address the core difficulties with mobile end-to-end testing is by rethinking some of the principles of the entire approach. See what Detox [does differently](https://wix.github.io/Detox/docs/articles/design-principles). ## Contributing to Detox Detox has been open-source from the first commit. If you’re interested in helping out with our roadmap, please see issues tagged with the [<img src="docs/img/github-label-contributors.png">](https://github.com/wix/Detox/labels/user%3A%20looking%20for%20contributors) label. If you have encountered a bug or would like to suggest a new feature, please open an issue. Dive into Detox core by reading the [Detox Contribution Guide](https://wix.github.io/Detox/docs/contributing). ## License - Detox is licensed under the [MIT License](LICENSE) ## Non-English Resources (Community) - [Getting Started (Brazilian Portuguese)](https://medium.com/quia-digital/iniciando-com-detox-framework-1-4-ce31ad7ae812)

Browser Automation Testing & QA
11.9K Github Stars
react-native-ui-lib
Open Source

react-native-ui-lib

[![SWUbanner](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner-direct.svg)](https://stand-with-ukraine.pp.ua) <p align="center"> <img src="https://user-images.githubusercontent.com/1780255/105469025-56759000-5ca0-11eb-993d-3568c1fd54f4.png" height="250px" style="display:block"/> </p> <p align="center">UI Toolset & Components Library for React Native</p> <p align="center"> <img src="https://user-images.githubusercontent.com/1780255/105469340-bec47180-5ca0-11eb-8986-3eb986f884d9.jpg"/> </p> --- [![Build Status](https://github.com/wix/react-native-ui-lib/blob/master/ios/rnuilib/Images.xcassets/AppIcon.appiconset/20.png?raw=true)](https://buildkite.com/wix-mobile-oss/react-native-ui-lib) [![npm](https://img.shields.io/npm/v/react-native-ui-lib.svg)](https://www.npmjs.com/package/react-native-ui-lib) [![NPM Downloads](https://img.shields.io/npm/dm/react-native-ui-lib.svg?style=flat)](https://www.npmjs.com/package/react-native-ui-lib) <a href="https://twitter.com/rnuilib"><img src="https://img.shields.io/twitter/follow/rnuilib.svg?style=flat&colorA=1DA1F2&colorB=20303C&label=Follow%20us%20on%20Twitter" alt="Follow on Twitter"></a> ## Notes #### React Native New Arc We are working on upgrading our UI Library to support the new React Native Architecture. Currently, we support React Native 0.73, and we plan to support React Native 0.77 next. While we don’t have a timeline yet, this is part of our roadmap. ## Links - [Docs](https://wix.github.io/react-native-ui-lib/) - [Figma library](https://www.figma.com/community/file/1379775092983284111/rnui-library) - [Discord Channel](https://discord.gg/2eW4g6Z) Download our Expo demo app <br> <img height="120" src="https://qr.expo.dev/expo-go?owner=vn.chemgio&slug=rnuilib&releaseChannel=default&host=exp.host"> <br> (You will need the Expo App) or open link in your devices [expo ] [exp://exp.host/@vn.chemgio/rnuilib?release-channel=default](exp://exp.host/@vn.chemgio/rnuilib?release-channel=default) ## Installing See setup instructions [here](https://wix.github.io/react-native-ui-lib/docs/getting-started/setup). #### New Major Version 6.0 See [breaking changes](https://wix.github.io/react-native-ui-lib/docs/getting-started/v6) #### For React Native >= 0.60.0 please use `react-native-ui-lib` #### For React Native < 0.60.0 please use `react-native-ui-lib@^3.0.0` ## Create your own Design System in 3 easy steps ### Step 1 Load your foundations and presets (colors, typography, spacings, etc...) ```js // FoundationConfig.js import {Colors, Typography, Spacings} from 'react-native-ui-lib'; Colors.loadColors({ primaryColor: '#2364AA', secondaryColor: '#81C3D7', textColor: '##221D23', errorColor: '#E63B2E', successColor: '#ADC76F', warnColor: '##FF963C' }); Typography.loadTypographies({ heading: {fontSize: 36, fontWeight: '600'}, subheading: {fontSize: 28, fontWeight: '500'}, body: {fontSize: 18, fontWeight: '400'} }); Spacings.loadSpacings({ page: 20, card: 12, gridGutter: 16 }); ``` ### Step 2 Set default configurations to your components ```js // ComponentsConfig.js import {ThemeManager} from 'react-native-ui-lib'; // with plain object ThemeManager.setComponentTheme('Card', { borderRadius: 8 }); // with a dynamic function ThemeManager.setComponentTheme('Button', (props, context) => { // 'square' is not an original Button prop, but a custom prop that can // be used to create different variations of buttons in your app if (props.square) { return { borderRadius: 0 }; } }); ``` ### Step 3 Use it all together. Your configurations will be applied on uilib components so you can use them easily with [modifiers](https://wix.github.io/react-native-ui-lib/docs/foundation/modifiers). ```jsx // MyScreen.js import React, {Component} from 'react'; import {View, Text, Card, Button} from 'react-native-ui-lib'; class MyScreen extends Component { render() { return ( <View flex padding-page> <Text heading marginB-s4> My Screen </Text> <Card height={100} center padding-card marginB-s4> <Text body>This is an example card </Text> </Card> <Button label="Button" body bg-primaryColor square></Button> </View> ); } } ``` ## Contributing See [Contribution Guide](https://github.com/wix/react-native-ui-lib/blob/master/CONTRIBUTING.md)

JavaScript Libraries & Components Mobile Development
7.1K Github Stars