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

react-open-form

v1.0.1

Published

Dynamic wizard that works with OpenForm API

Downloads

9

Readme

React Open Form

NPM JavaScript Style Guide

This react library could be connected with an API that follows some specific configurations. An example of the API specification could be seen on swaggerhub

You need a configurable apiUrl and apiKey to connect with the backend. The API sent a collection of forms, questions and sections the react library will know how to render.

Install

npm install --save react-open-form

Usage

import React, { Component } from 'react'

import OpenForm from 'react-open-form'

class Example extends Component {
  render () {
    return (
      <OpenForm
        apiUrl='http://example.com/api'
        apiKey='API_KEY'
      />
    )
  }
}

Props

Common props you may want to specify include:

  • apiUrl - The API URL of your Api.
  • apiKey - The API KEY of your Api.
  • entityId - Entity ID of the user who will use the wizard.
  • entityType - Entity TYPE of the user who will use the wizard.
  • formId - The wizard will be shown directly passing its number id. Skipping the list of categories and forms.
  • wizardBackgroundColor - Optional main background color, if none is passed the default will be applied.
  • styles - An object to pass custom styles.
  • customLoading - Optional Loading component, if none is passed the default will be applied.

Customize styles

General

  • listContainer - Styles for the list of forms/categories container
  • listItem - Styles for the items on the list
  • primaryButton - Styles for primary button
  • secondaryButton - Styles for secondary button
  • loadingContainer - Styles for Loading component container
  • wizardContainer - Styles for Form Wizard container

SubSection

  • subSectionContainer - Styles for subsection container
  • subSectionInfo - Styles for container of name and description
  • subSectionName - Styles for subsection name
  • subSectionDescription - Styles for subsection description
  • subSectionLongDescription - Styles for subsection long description
  • subSectionQuestions - Styles for subsection questions container

Progress bar

  • progressBarBackground - Styles for progress bar background
  • progressBarCompleted - Styles for progress bar completed line
  • progressBarLabel - Styles for progress bar label

Questions - Generals

  • questionsRowContainer - Styles for row of questions container
  • questionContainer - Styles for individual question container
  • questionTitle - Styles for question title
  • questionDescription - Styles for question description
  • questionReadMore - Styles for 'Read More' button
  • errorMessage - Styles for questions error message
  • metadataQuestion - Styles for metadata questions container
  • selectQuestionContainer - Styles for select questions container

Questions - Types

Each question has the same theme by default.

  • textInputQuestion - Styles for text input questions
  • numberQuestion - Styles for number input questions
  • dateQuestion - Styles for date picker questions
  • textAreaQuestion - Styles for text area questions
  • selectQuestion IMPORTANT - Select questions use ReactSelect. On selectQuestion prop you can pass the same type of object you pass on styles prop from react-select. Style Object

Questions - Multiple Answers

  • addAnswer - Styles for add new answers button
  • removeAnswer - Styles for remove answer button

Example

const customStyles = {
  listItem: {
    fontSize: '10px',
    color: 'black'
  }
}

License

MIT © rootstrap