A Hyperlink component for react-native that makes urls, fuzzy links, emails etc clickable

Overview

react-native-hyperlink

NPM version Awesome

A component for react-native & react-native-web that makes urls, fuzzy links, emails etc clickable

demo

Installation

npm i --save react-native-hyperlink

Props

name desc type default
linkify linkify-it object, for custom schema object require('linkify-it')()
linkStyle highlight clickable text with styles Text.propTypes.style
linkText A string or a func to replace parsed text oneOfType([ string, func ])
onPress Func to handle click over a clickable text with parsed text as arg func
onLongPress Func to handle long click over a clickable text with parsed text as arg func
linkDefault A platform specific fallback to handle onPress. Uses Linking. Disabled by default bool
injectViewProps Func with url as a param to inject props to the clickable component func i => ({})

Examples

Wrap any component that has (works for nested text too) in it

This text will be parsed to check for clickable strings like https://github.com/obipawan/hyperlink and made clickable. export const regularTextLongPress = () => alert(url + ", " + text) }> This text will be parsed to check for clickable strings like https://github.com/obipawan/hyperlink and made clickable for long click. export const nestedText = () => alert(url + ", " + text) }> A nested Text component https://facebook.github.io/react-native/docs/text.html works equally well with https://github.com/obipawan/hyperlink export const highlightText = () => Make clickable strings like https://github.com/obipawan/hyperlink stylable export const parseAndReplace = () => url === 'https://github.com/obipawan/hyperlink' ? 'Hyperlink' : url } > Make clickable strings cleaner with https://github.com/obipawan/hyperlink export const passPropsText = () => ({ testID: url === 'http://link.com' ? 'id1' : 'id2' , style: url === 'https://link.com' ? { color: 'red' } : { color: 'blue' }, //any other props you wish to pass to the component }) } > You can pass props to clickable components matched by url. This url looks red https://link.com and this url looks blue https://link2.com ">
import Hyperlink from 'react-native-hyperlink'

export const defaultLink = () =>
  <Hyperlink linkDefault={ true }>
    <Text style={ { fontSize: 15 } }>
      This text will be parsed to check for clickable strings like https://github.com/obipawan/hyperlink and made clickable.
    </Text>
  </Hyperlink>

export const regularText = () =>
  <Hyperlink onPress={ (url, text) => alert(url + ", " + text) }>
    <Text style={ { fontSize: 15 } }>
      This text will be parsed to check for clickable strings like https://github.com/obipawan/hyperlink and made clickable.
    </Text>
  </Hyperlink>

export const regularTextLongPress = () =>
  <Hyperlink onLongPress={ (url, text) => alert(url + ", " + text) }>
    <Text style={ { fontSize: 15 } }>
      This text will be parsed to check for clickable strings like https://github.com/obipawan/hyperlink and made clickable for long click.
    </Text>
  </Hyperlink>

export const nestedText = () =>
  <Hyperlink onPress={ (url, text) => alert(url + ", " + text) }>
    <View>
      <Text style={ { fontSize: 15 } }>
        A nested Text component https://facebook.github.io/react-native/docs/text.html works equally well <Text>with https://github.com/obipawan/hyperlink</Text>
      </Text>
    </View>
  </Hyperlink>

export const highlightText = () =>
  <Hyperlink linkStyle={ { color: '#2980b9', fontSize: 20 } }>
    <Text style={ { fontSize: 15 } }>
      Make clickable strings like https://github.com/obipawan/hyperlink stylable
    </Text>
  </Hyperlink>

export const parseAndReplace = () =>
  <Hyperlink
    linkStyle={ { color: '#2980b9', fontSize: 20 } }
    linkText={ url => url === 'https://github.com/obipawan/hyperlink' ? 'Hyperlink' : url }
  >
    <Text style={ { fontSize: 15 } }>
      Make clickable strings cleaner with https://github.com/obipawan/hyperlink
    </Text>
  </Hyperlink>

export const passPropsText = () =>
  <Hyperlink
    linkDefault
    injectViewProps={ url => ({
          testID: url === 'http://link.com' ? 'id1' : 'id2' ,
          style: url === 'https://link.com' ? { color: 'red' } : { color: 'blue' },
          //any other props you wish to pass to the component
    }) }
  >
    <Text>You can pass props to clickable components matched by url.
        <Text>This url looks red https://link.com
    </Text> and this url looks blue https://link2.com </Text>
  </Hyperlink>

Dependenies

linkify-it

Development

PRs highly appreciated

License

MIT License

Issues
  • Add TestID to clickable part for e2e tests

    Add TestID to clickable part for e2e tests

    Is your feature request related to a problem? Please describe. Yes. I'm using Detox to e2e tests and Detox can't press on the link without TestID.

    Describe the solution you'd like Please add the ability to set TestID to the clickable component. See RN docs for TestId: https://facebook.github.io/react-native/docs/view#testid

    Describe alternatives you've considered None.

    Additional context Thank you so much, you're awesome 😎

    help wanted 
    opened by gran33 11
  • Update to use getDerivedStateFromProps

    Update to use getDerivedStateFromProps

    Also stores the linkifyit instance within state, instead of on the Class.

    Resolves issue https://github.com/obipawan/react-native-hyperlink/issues/27

    opened by chrismllr 9
  • Color of normal text overrides link style

    Color of normal text overrides link style

    I have run into an issue while using this module with the child having a defined color. At the moment I have the <Hyperlink> component wrapping a single <Text> component. The <Hyperlink> component has the linkStyle prop defined with color: "blue". The <Text> component also has its color set on the style prop to some offshade of black. However the resulting text ends up being entirely in the <Text> components color. The color from the linkStyle prop is lost. Hope someone can help

    opened by lukefanning 8
  • Compile Javascript

    Compile Javascript

    Organized files.

    I had an issue where I was not able to use this package because of the javascript, so I created a compiled version through babel-cli.

    I also added better support for react-native-web.

    opened by rardoz 6
  • How to remove auto detect link?

    How to remove auto detect link?

    Hi @obipawan, i have an issue when using your lib that i want to display a text 'Saya telah membaca dan menyetujui ketentuan penggunaan cinobile.com' and i just want to use hyperlink for the text 'ketentuan penggunaan' only. But when using your lib, it detected both the url 'cinobile.com'. How to remove auto detect link? Thanks in advance

    opened by ngocht143 5
  • Tapping anywhere in original Text component triggers link

    Tapping anywhere in original Text component triggers link

    Tapping anywhere within the Text will trigger an onPress (in the below example).

    It seems the last link declared in the passed Text component will be used when tapping anywhere. Video attached.

    <Hyperlink 
      linkStyle={styles.linkStyles} 
      onPress={(url, text) => alert(`${url} -> ${text}`)}
    >
      <View>
        <Text>{meeting.body}</Text>
      </View>
    </Hyperlink>
    

    Versions

    "react": "16.3.0-alpha.1",
    "react-native": "0.54.0",
    "react-native-hyperlink": "^0.0.13"
    

    hyperlinks-multiple

    opened by chrismllr 5
  • Doesnt work on my android device

    Doesnt work on my android device

    Library doest work for android. anyone have the same case?

    opened by indrasantosa 5
  • onHover for RN Windows

    onHover for RN Windows

    I've been playing with react-native-hyperlink on windows (as in react-native-windows), and one of the things I miss is an onHover handler. I understand this might not be interesting on platforms without pointers, but would you take a PR to add this if it's behind a platform selector?

    opened by achipa 4
  • If no onButtonPress, default to just calling Linking.openURL()

    If no onButtonPress, default to just calling Linking.openURL()

    Why doesn't a URL hyperlink library open a URL by default if there's no special callback overriding the behavior? Doesn't make sense to me.

    opened by chuckhacker 4
  • [IOS] No component found for view with name

    [IOS] No component found for view with name "RCTVirtualText"

    Hey after RN upgrading to version 0.44, hyperlink stopped working. It crashes with this error:

    [error][tid:com.facebook.react.ShadowQueue][RCTUIManager.m:1011] No component found for view with name "RCTVirtualText"

    The code is:

    <Hyperlink onPress={ url => alert(url) }>
    	<Text>http://blabla.com</Text>
    </Hyperlink>
    
    

    The interesting part is that this is working fine:

    <Hyperlink onPress={ url => alert(url) }>
    	<Text>hello</Text>
    </Hyperlink>
    

    Any ideas?

    image

    opened by cherniv 4
  • Not detected hyper link in text

    Not detected hyper link in text

    I have some text detail to show and I won't show hyperlinks. this text's ok: 'this is link https://www.google.com.vn/' but this text is not OK: 'this is linkhttps://www.google.com.vn/' I think it can't be detected hyperlink when link not white space

    opened by XoanTT 0
  • Bump path-parse from 1.0.6 to 1.0.7

    Bump path-parse from 1.0.6 to 1.0.7

    Bumps path-parse from 1.0.6 to 1.0.7.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump browserslist from 4.8.0 to 4.16.6

    Bump browserslist from 4.8.0 to 4.16.6

    Bumps browserslist from 4.8.0 to 4.16.6.

    Changelog

    Sourced from browserslist's changelog.

    4.16.6

    • Fixed npm-shrinkwrap.json support in --update-db (by Geoff Newman).

    4.16.5

    • Fixed unsafe RegExp (by Yeting Li).

    4.16.4

    • Fixed unsafe RegExp.
    • Added artifactory support to --update-db (by Ittai Baratz).

    4.16.3

    • Fixed --update-db.

    4.16.2

    4.16.1

    • Fixed Chrome 4 with mobileToDesktop (by Aron Woost).

    4.16

    • Add browserslist config query.

    4.15

    • Add TypeScript types (by Dmitry Semigradsky).

    4.14.7

    • Fixed Yarn Workspaces support to --update-db (by Fausto Núñez Alberro).
    • Added browser changes to --update-db (by @​AleksandrSl).
    • Added color output to --update-db.
    • Updated package.funding to have link to our Open Collective.

    4.14.6

    • Fixed Yarn support in --update-db (by Ivan Storck).
    • Fixed npm 7 support in --update-db.

    4.14.5

    • Fixed last 2 electron versions query (by Sergey Melyukov).

    4.14.4

    • Fixed Unknown version 59 of op_mob error.

    4.14.3

    • Update Firefox ESR.

    4.14.2

    • Fixed --update-db on Windows (by James Ross).
    • Improved --update-db output.

    4.14.1

    • Added --update-db explanation (by Justin Zelinsky).

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump lodash from 4.17.15 to 4.17.21

    Bump lodash from 4.17.15 to 4.17.21

    Bumps lodash from 4.17.15 to 4.17.21.

    Commits
    • f299b52 Bump to v4.17.21
    • c4847eb Improve performance of toNumber, trim and trimEnd on large input strings
    • 3469357 Prevent command injection through _.template's variable option
    • ded9bc6 Bump to v4.17.20.
    • 63150ef Documentation fixes.
    • 00f0f62 test.js: Remove trailing comma.
    • 846e434 Temporarily use a custom fork of lodash-cli.
    • 5d046f3 Re-enable Travis tests on 4.17 branch.
    • aa816b3 Remove /npm-package.
    • d7fbc52 Bump to v4.17.19
    • Additional commits viewable in compare view
    Maintainer changes

    This version was pushed to npm by bnjmnt4n, a new releaser for lodash since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Is this still supported ??

    Is this still supported ??

    Not working on ios #56 + proptype errors on web. #58 Is this still supported ??

    opened by johannb75 1
  • When used on Web, error about prop types appear.

    When used on Web, error about prop types appear.

    Describe the bug This error is given on Web: Failed prop type: Hyperlink: prop type linkStyle is invalid; it must be a function, usually from the prop-types package, but received undefined. in Hyperlink (created by _default)

    This happens because Text.propTypes is no longer a thing in latest RNW.

    To Reproduce Try using this package with latest RNW.

    Expected behavior No error should be logged

    Additional info I patched this in my own project by simply doing this: linkStyle: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].number]),

    opened by Njaah-0 1
  • Non Safari default browser links do not work

    Non Safari default browser links do not work

    If your default browser is set to something aside from Safari -- links do not open.

    To Reproduce Steps to reproduce the behavior:

    1. Download Chrome and set it as a default browser
    2. Tap a link

    Expected behavior Links open

    Smartphone (please complete the following information):

    • OS: 14+ -- maybe lower
    opened by iamgerardm 3
  • linkDefault no longer works on iOS with Expo SDK 39

    linkDefault no longer works on iOS with Expo SDK 39

    Only on iOS seeing this issue, have to explicitly mention Linking.openURL in onPress func. This is after upgrading to RN Expo 39.0.0 SDK

    opened by karanmartian 10
  • Dot app domains not linked without http(s)

    Dot app domains not linked without http(s)

    Describe the bug A dot app domain (get.app) isn't linked without also adding http or https (https://get.app). This is however true for dot com (github.com / https://github.com) domains and others.

    To Reproduce Steps to reproduce the behavior:

    1. Input string "get.app and https://get.app"
    2. "get.app" is not linked

    Expected behavior 2. "get.app" is linked

    Screenshots Screen Shot 2020-08-27 at 15 55 17

    opened by robertgaal 2
  • Text Input

    Text Input

    Is your feature request related to a problem? Please describe. I can't identify links through Text Input

    Describe the solution you'd like It would be amazing if it were possible to identify links through Text Input, just like Whatsapp

    opened by filipegl 0
Releases(v0.0.19)
  • v0.0.19(Dec 24, 2019)

  • v0.0.18(Dec 11, 2019)

  • v0.0.17(Dec 10, 2019)

  • v0.0.16(Aug 25, 2019)

    • Remove swap file. Fixes #40 (e3015d8613693892ab8a54a6a7f9edfbfac79664)
    • Fix null children crash. Fixes #36 (60e0ad12ccb93aee37cf94e1a403cd69c025e2f5)
    • Fix link for linkify-it in README #32 @daisy1754
    • Typescript: added d.ts file #41 @Titozzz 🎊
    • Update linkify. Fixes #37 (596ef76f3bf1b63c19aa854bce1af4fdf2d8dc49)
    Source code(tar.gz)
    Source code(zip)
  • v0.0.14(Apr 26, 2018)

  • v0.0.13(Apr 21, 2018)

    • Normalize link protocol to lowercase so Android can recognize it (#24) @Ashoat
    • Only add onLongPress to link component (#22 ) @Derenge
    • fix unnecessary highlight when onPress or onLongPress props are not provided (86936891f91f952ea8a5d724316a2907583a3dbf)
    Source code(tar.gz)
    Source code(zip)
  • v0.0.12(Jan 5, 2018)

    • Compile Javascript, with better support for react-native-web (e9d415430a40070cad641e1c8c0c850508bbffd1) @rardoz
    • Added text to onPress and onLongPress functions (971b86690ae70a8acb4a422b646a48df50494e4e) @Kebabpizza
    Source code(tar.gz)
    Source code(zip)
  • v0.0.11(Aug 31, 2017)

  • v0.0.10(Jul 9, 2017)

  • v0.0.9(Apr 14, 2017)

    • Detect if Text.propTypes actually exists for web (378a943104c829dfb5fd67e71f5cdd7d21b1549f) @RangerMauve
    • minor lint fixes (5834cfabc16a9331a6d4161d2808e1ba9fbc7ac4)
    • fix for new linkify prop (04afb7d3fdaa4baa056721eb1ce8246bffb0f11c)
    Source code(tar.gz)
    Source code(zip)
  • v0.0.8(Jan 6, 2017)

  • 0.0.7(Nov 14, 2016)

  • 0.0.6(Sep 13, 2016)

    • linkify-it as prop for custom schema handling (5df250bb7c658a49508d2935cbec8a7f31e7d9f7)
    • lint fixes (7a34662b7132f73bbf6b3244effb0801103f3072)
    • ES6 (6ae728c966872b2642ae80f60006ce1544eac669)
    Source code(tar.gz)
    Source code(zip)
  • 0.0.5(May 25, 2016)

  • 0.0.4(May 9, 2016)

    • Add proper test after successful pretest to prevent exception on false positives (a7189de) @gnl
    • Return the unprocessed component when the linkify code throws an exception (68dc24d) @gnl
    • linkText prop as func or text (eca36f7)
    Source code(tar.gz)
    Source code(zip)
Owner
Pawan
Pawan
Pre-styled card form to subscribe emails to a newsletter and other lists (for Mailchimp + TinyLetter)

React Subscribe Card Requirements Requires React and... Mailchimp account or TinyLetter account Example import React from "react"; import SubscribeCar

null 9 Sep 12, 2021
Periqles is a React component library for Relay and Apollo that makes it easy to collect user input.

periqles Painless forms for GraphQL. Demo → Periqles is a React component library for Relay and Apollo that makes it easy to collect user input. Periq

OSLabs Beta 114 Oct 14, 2021
🧩 Medly components provides numerous themable react components, each with multiple varitaions of sizes, colors, position etc.

?? Medly components provides numerous themable react components, each with multiple varitaions of sizes, colors, position etc.

Medly 53 Nov 30, 2021
React Native horizontal scroll view component as seen on Clubhouse tags

React Native horizontal scroll view component as seen on Clubhouse tags

Fatih Taşdemir 81 Nov 18, 2021
react-var-ui is a simple React component library for variable setting and preview, inspired by iOS settings, react-dat-gui and dat.gui.

react-var-ui is a simple React component library for variable setting and preview, inspired by iOS settings, react-dat-gui and dat.gui. While some cod

Mat Sz 55 Nov 21, 2021
react-health-card 🏥💳 An awesome react health card component.

react-health-card An awesome health card component. Installation yarn add react-health-card or npm install react-health-card --save Usage import Healt

medipass 26 Nov 8, 2021
Material-UI is a simple and customizable component library to build faster, beautiful, and more accessible React applications. Follow your own design system, or start with Material Design.

Material-UI Quickly build beautiful React apps. Material-UI is a simple and customizable component library to build faster, beautiful, and more access

Material-UI 73.4k Dec 2, 2021
Font Awesome 5 React component

react-fontawesome Font Awesome 5 React component using SVG with JS Documentation How to Help Contributors Releasing this project (only project owners

Fort Awesome 3.5k Nov 26, 2021
A React Component library implementing the Base design language

Base Web React Components Base is a design system comprised of modern, responsive, living components. Base Web is the React implementation of Base. Us

Uber Open Source 7.1k Nov 25, 2021
The Most Complete React UI Component Library

PrimeReact PrimeReact is a rich set of open source UI Components for React. See PrimeReact homepage for live showcase and documentation. Download Prim

PrimeFaces 2.3k Nov 25, 2021
React utility component primitives & UI framework for use with Tailwind CSS

Tailwind React UI NB: As the 0.#.# version number suggests this is still very much work in progress, so semantic versioning will not be followed until

Ed Mortlock 242 Nov 28, 2021
React particles animation background component

particles-bg React component for particles backgrounds This project refers to the source code of the Proton official website, I packaged it into a com

lindelof 454 Nov 20, 2021
Rheostat is a www, mobile, and accessible slider component built with React

Rheostat A mobile, tablet, desktop, and accessible slider for the web. Install npm install rheostat Initialize As of v3.0.0, the rheostat project reli

Airbnb 1.6k Nov 23, 2021
A simple React component that is resizable with a handle.

React-Resizable View the Demo A simple widget that can be resized via one or more handles. You can either use the <Resizable> element directly, or use

RGL 1.7k Nov 30, 2021
📕React component library designed on the "new skeuomorphism" or "neumorphism" UI/UX trend.

?? React component library designed on the "new skeuomorphism" or "neumorphism" UI/UX trend.

Ankit Kumar Pandit 430 Nov 22, 2021
React Component for Swapping on the Serum DEX

@project-serum/swap-ui A reusable React component for swapping on the Serum DEX. The Solana program can be found here. Usage Install First install the

Project Serum 59 Nov 28, 2021
A React Component library for buliding modern applications easily & quickly.

A React Component library for building modern applications easily & quickly

Elementz 336 Nov 23, 2021
Orbit-components is a React component library which provides developers with the easiest possible way of building Kiwi.com’s products.

Orbit-components is a React component library which provides developers with the easiest possible way of building Kiwi.com’s products.

Kiwi.com 1.1k Nov 27, 2021
A React component generation for app prototyping

General Component(GC, from now) is a React component generation library which helps you prototype your service quickly.

null 11 Aug 7, 2021