npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@doj/quick-ui-rn

v0.3.6

Published

UI Components for React Native

Downloads

84

Readme

Quick UI - React Native

  • @doj/quick-ui-rn is a powerful React Native npm package designed to streamline and accelerate UI designing in your React Native projects.
  • With a collection of pre-built, customizable UI components and a suite of productivity-enhancing tools, this package aims to boost your development speed and efficiency.
  • Create stunning, pixel-perfect user interfaces effortlessly using the rich library of pre-designed UI components.
  • Our text, image, Buttons and all other components 100% rrsponsive in all devices of different sizes.
  • Whether you're building a simple login screen, a complex dashboard, or a feature-rich mobile app, @doj/quick-ui-rn provides a wide range of beautifully crafted UI elements that can be easily integrated and customized to match your desired style and branding.
  • Save valuable development time by leveraging the productivity tools included in this package. From layout templates and theme management to responsive design helpers and UI prototyping features, @doj/quick-ui-rn empowers you to iterate quickly, experiment with different designs, and deliver polished user interfaces in record time.

Key Features:

  • Extensive library of pre-built,
  • customizable UI components
  • Efficient and intuitive layout templates for rapid UI creation
  • Theme management for easy customization and consistent styling
  • Responsive design helpers for seamless adaptation to various screen sizes
  • UI prototyping features for quick experimentation and visualization

Take your React Native UI development to the next level with @doj/quick-ui-rn and experience a significant boost in your productivity while delivering stunning, professional-quality user interfaces.

All our components start with letter 'Q' which stands for Quick

Installation

npm install @doj/quick-ui-rn

Usage

import * as React from 'react';

import QuickUI, {
  QAvatar,
  QButton,
  QDialogModal,
  QImage,
  QModal,
  QRow,
  QScreen,
  QScrollView,
  QText,
  QBox,
  QTextInput,
  QPressableInput,
  QCard,
} from '@doj/quick-ui-rn';
const SampleImage = require('../assets/doj.jpeg');

export default function App() {
  const [openModal, setOpenModal] = React.useState(false);
  const [openDialog, setOpenDialog] = React.useState(false);
  return (
    <QScreen bg="lightblue" qs={{ px: 10 }}>
      <QuickUI.QText size="h3" ta="center" mb={15}>
        Quick UI - React Native
      </QuickUI.QText>
      <QScrollView showScrollbar>
        <QBox>
          <QText
            size="h1"
            color="#B90000"
            bw={1}
            bs="dashed"
            ta="center"
            bc="#B90000"
            mb={20}
          >
            Typography
          </QText>
          <QText size="h1">Heading 1</QText>
          <QText size="h2">Heading 2</QText>
          <QText size="h3">Heading 3</QText>
          <QText size="h4">Heading 4</QText>
          <QText size="h5">Heading 5</QText>
          <QText size="h6">Heading 6</QText>
          <QText>Normal Text</QText>
          <QText size="label">Label</QText>
          <QText size="sm">Small Text</QText>
          <QText size="xs">Extra Small Text</QText>
          <QText muted>Muted Text</QText>
          <QText bold>Bold Text</QText>
          <QText color="red">Colored Text</QText>
          <QText qs={{ fs: 20, fw: 'bold' }}>Text with QuickStyles</QText>
        </QBox>
        <QBox my={10}>
          <QText
            qs={{
              color: '#B90000',
              bw: 1,
              bc: '#B90000',
              mb: 20,
              bs: 'dashed',
              ta: 'center',
            }}
            size="h1"
          >
            Inputs
          </QText>
          <QTextInput
            label="Fullname"
            placeholder="Enter fullname"
            // leftIcon={<QAvatar source={SampleImage} />}
          />
          <QPressableInput
            label="Open Dialog"
            placeholder="Pressale Input"
            leftIcon={<QAvatar source={SampleImage} size={20} />}
            onPress={() => setOpenDialog(true)}
          />
        </QBox>
        <QBox my={10}>
          <QText
            qs={{
              color: '#B90000',
              bw: 1,
              bc: '#B90000',
              mb: 20,
              bs: 'dashed',
              ta: 'center',
            }}
            size="h1"
          >
            Cards
          </QText>
          <QCard h={100} jc="center" ai="center" mb={10}>
            <QText>Normal Card</QText>
          </QCard>
          <QCard h={100} jc="center" ai="center" mb={10} rounded={10}>
            <QText>Rounded Card</QText>
          </QCard>
          <QCard
            jc="center"
            ai="center"
            mb={10}
            rounded={50}
            w={100}
            h={100}
            as="center"
          >
            <QText>Circle Card</QText>
          </QCard>
          <QCard
            h={100}
            jc="center"
            ai="center"
            isPressable
            onPress={() => console.warn('Pressable Card')}
          >
            <QText>Pressable Card</QText>
          </QCard>
        </QBox>
        <QBox my={10}>
          <QText
            qs={{
              color: '#B90000',
              bw: 1,
              bc: '#B90000',
              mb: 20,
              bs: 'dashed',
              ta: 'center',
            }}
            size="h1"
          >
            Layouts
          </QText>
          <QText size="h4">1. DScreen</QText>
          <QText>{`<DScreen>\n A component that wraps it's children below the statusbar for both android and ios\n</DScreen>`}</QText>
        </QBox>
        <QBox fld="row" ai="center" jc="space-between" gap={30} mx={15} my={10}>
          <QButton
            title="Open Modal"
            _textStyle={{ color: 'blue' }}
            _textProps={{ fs: 20, bold: true }}
            onPress={() => setOpenModal(true)}
            shadow="2xl"
            bw={0}
            bg={'white'}
            flex={1}
            isLoading
          />
          <QButton
            flex={1}
            title="Open Dialog"
            color="red"
            onPress={() => setOpenDialog(true)}
            rightIcon={<QAvatar source={SampleImage} size={25} />}
          />
        </QBox>

        <QModal
          visible={openModal}
          setVisible={setOpenModal}
          onOpen={() => console.log('Modal Opened')}
          onClose={() => console.log('Modal Closed')}
        />

        <QDialogModal
          visible={openDialog}
          title="Quick UI"
          message="Welcome to Quick UI"
          setVisible={setOpenDialog}
          closeModalOnOutSidePress={false}
          onOutSidePressed={() => console.log('Outside Press!')}
        />

        <QRow ai="center" jc="center" my={20} gap={60}>
          <QBox ai="center">
            <QImage source={SampleImage} rounded={10} />
            <QText size="sm" bold>
              Image
            </QText>
          </QBox>
          <QBox>
            <QAvatar source={SampleImage} />
            <QText size="sm" bold>
              Avatar1
            </QText>
          </QBox>
          <QBox>
            <QAvatar source={SampleImage} size={60} />
            <QText size="sm" bold>
              Avatar2
            </QText>
          </QBox>
        </QRow>
      </QScrollView>
    </QScreen>
  );
}

Props

fs: fontSize

Types => number | string | undefined

fw: fontWeight

Types => 'bold' | 'normal' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' | undefined

ta: textAlign

Types =>

h: height

Types => number | string | undefined

w: width

Types =>

minH: minHeight

Types =>

minW: minWidth

Types =>

bg: backgroundColor

Types =>

m: margin

Types =>

mb: marginBottom

Types =>

mt: marginTop

Types =>

ml: marginLeft

Types =>

mr: marginRight

Types =>

my: marginVertical

Types =>

mx: marginHorizontal

Types =>

p: padding

Types =>

pb: paddingBottom

Types =>

pt: paddingTop

Types =>

pl: paddingLeft

Types =>

pr: paddingRight

Types =>

py: paddingVertical

Types =>

px: paddingHorizontal

Types =>

position: position

Types =>

color: color

Types =>

flex: flex

Types =>

gap: gap

Types =>

gapX: gap from left to right

Types =>

gapY: gap from top to bottom

Types =>

fld: flexDirection

Types =>

jc: justifyContent

Types =>

ai: alignItems

Types =>

as: alignSelf

Types =>

bw: borderWidth

Types =>

bs: borderStyle

Types =>

bc: borderColor

Types =>

bbw: borderBottomWidth

Types =>

btw: borderTopWidth

Types =>

blw: borderLeftWidth

Types =>

brw: borderRightWidth

Types =>

rounded: borderRadius

Types =>

roundedTop: roundedTop

Types =>

roundedBottom: roundedBottom

Types =>

roundedTopLeft: borderTopStartRadius

Types =>

roundedTopRight: borderTopEndRadius

Types =>

roundedBottomLeft: borderBottomStartRadius

Types =>

roundedBottomRight: borderBottomEndRadius

Types =>

shadow: shadow and elevation for both ios and android,

Types =>

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT