Simple React Bootstrap 4 components

Overview

reactstrap

CDNJS NPM Version Build Status Coverage Status License

reactstrap

Stateless React Components for Bootstrap 4.

Getting Started

Follow the create-react-app instructions to get started and then follow the reactstrap version of adding bootstrap.

tl;dr

npx create-react-app my-app
cd my-app/
npm start

or, if npx (Node >= 6 and npm >= 5.2 ) not available

npm install -g create-react-app

create-react-app my-app
cd my-app/
npm start

Then open http://localhost:3000/ to see your app. The initial structure of your app is setup. Next, let's add reactstrap and bootstrap.

Adding Bootstrap

Install reactstrap and Bootstrap from NPM. Reactstrap does not include Bootstrap CSS so this needs to be installed as well:

npm i bootstrap
npm i reactstrap react react-dom

Import Bootstrap CSS in the src/index.js file:

import 'bootstrap/dist/css/bootstrap.css';

Import required reactstrap components within src/App.js file or your custom component files:

import { Button } from 'reactstrap';

Now you are ready to use the imported reactstrap components within your component hierarchy defined in the render method. Here is an example App.js redone using reactstrap.

Dependencies

Required Peer Dependencies

These libraries are not bundled with Reactstrap and required at runtime:

Optional Dependencies

These libraries are not included in the main distribution file reactstrap.min.js and need to be manually included when using components that require transitions or popover effects (e.g. Tooltip, Modal, etc).

CDN

If you prefer to include Reactstrap globally by marking reactstrap as external in your application, the reactstrap library provides various single-file distributions, which are hosted on the following CDNs:

<!-- Main version -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/reactstrap/6.0.1/reactstrap.min.js"></script>

<!-- All optional dependencies version -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/reactstrap/6.0.1/reactstrap.full.min.js"></script>
<!-- Main version -->
<script src="https://unpkg.com/[email protected]/dist/reactstrap.min.js"></script>

<!-- All optional dependencies version -->
<script src="https://unpkg.com/[email protected]/dist/reactstrap.full.min.js"></script>

Note: To load a specific version of Reactstrap replace 6.0.1 with the version number.

Versions

Reactstrap has two primary distribution versions:

  1. reactstrap.min.js

    This file excludes the optional dependencies – react-popper and react-transition-group. This is the recommended approach (similar approach in Bootstrap's JavaScript components) for including Reactstrap as it reduces the filesize and gives more flexibility in configuring needed dependencies.

    Recommended use cases:

    • Small, medium, or large applications
    • Applications that do not use any transitions or popper components
    • Applications that directly use react-popper or react-transition-group – Reactstrap and your application will use the single global version included
  2. reactstrap.full.min.js

    This file includes the optional dependencies – react-popper and react-transition-group

    Recommended use cases:

    • Small applications

Example

<!doctype html>
<html lang="en">
  <head>
    <!-- Required dependencies -->
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/prop-types/15.6.1/prop-types.min.js"></script>
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/react/16.3.2/umd/react.production.min.js"></script>
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/react-dom/16.3.2/umd/react-dom.production.min.js"></script>
    <!-- Optional dependencies -->
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/react-transition-group/2.2.1/react-transition-group.min.js"></script>
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/react-popper/0.10.4/umd/react-popper.min.js"></script>
    <!-- Reactstrap -->
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/reactstrap/6.0.1/reactstrap.min.js"></script>
    <!-- Lastly, include your app's bundle -->
    <script type="text/javascript" src="/assets/bundle.js"></script>
  </head>
  <body>
    <div id="my-app" />
  </body>
</html>

About the Project

This library contains React Bootstrap 4 components that favor composition and control. The library does not depend on jQuery or Bootstrap javascript. However, Poppers.js via react-popper is relied upon for advanced positioning of content like Tooltips, Popovers, and auto-flipping Dropdowns.

There are a few core concepts to understand in order to make the most out of this library.

  1. Your content is expected to be composed via props.children rather than using named props to pass in Components.

    // Content passed in via props
    const Example = (props) => {
      return (
        <p>This is a tooltip <TooltipTrigger tooltip={TooltipContent}>example</TooltipTrigger>!</p>
      );
    }
    
    // Content passed in as children (Preferred)
    const PreferredExample = (props) => {
      return (
        <p>
          This is a <a href="#" id="TooltipExample">tooltip</a> example.
          <Tooltip target="TooltipExample">
            <TooltipContent/>
          </Tooltip>
        </p>
      );
    }
  2. Attributes in this library are used to pass in state, conveniently apply modifier classes, enable advanced functionality (like tether), or automatically include non-content based elements.

    Examples:

    • isOpen - current state for items like dropdown, popover, tooltip
    • toggle - callback for toggling isOpen in the controlling component
    • color - applies color classes, ex: <Button color="danger"/>
    • size - for controlling size classes. ex: <Button size="sm"/>
    • tag - customize component output by passing in an element name or Component
    • boolean based props (attributes) when possible for alternative style classes or sr-only content

Documentation

https://reactstrap.github.io

Documentation search is powered by Algolia's DocSearch.

CodeSandbox Examples

Here are some ready-to-go examples for CodeSandbox that you can experiment with.

https://github.com/reactstrap/code-sandbox-examples

Contributing

Development

Install dependencies:

npm install

Run examples at http://localhost:8080/ with webpack dev server:

npm start

Run tests & coverage report:

npm test

Watch tests:

npm run test-watch

Releasing

Create Release Branch

Note: you must have the GITHUB_TOKEN environment variable set to a valid GitHub token with write access to your repo.

To create a release branch and changelog, run the following command, optionally with a semantic release type (major, minor, patch) (if not provided, it will default to semver (it's best to let it default)):

./scripts/release <release-type>

Verify changelog in branch. Create a PR if everything looks good. Merge when tests are green.

Tagging and Publishing

Note: you must have write permission to this repo do perform this action

Once the release branch is merged, checkout master and run:

./scripts/publish

This will build the current state of master, tag it based on the release version and push the tag up to GitHub. Travis will detect the new tag and publish to npm.

OR

You can create a new tag via the GitHub user interface. If you do it this way, make sure to use the correct version as the tag name (eg. 6.2.0).

In the wild

Organizations and projects using reactstrap

Submit a PR to add to this list!

Looking to build, document and publish reusable components built on top of reactstrap? Consider forking https://github.com/reactstrap/component-template to kickstart your project!

Comments
  • Bundle using Rollup

    Bundle using Rollup

    Reactstrap currently bundles using Webpack and generates both a lib dir for individual imports and minified versions + source maps in the dist dir.

    The current bundled and minified version of ReactStrap is 295kB (70.4kB gzipped). The individual transpiled components are great to cherry pick what you need into your project. However because they are individually transpiled, each of them will contain the Babel helpers which adds up quickly when importing multiple components. For example the transpiled Button component consists for almost 50% of Babel helpers.

    Both Webpack 2 and Rollup support tree shaking. However, this is only supported when the imported dependency uses the ES6 import and export statements instead of the CommonJS require and exports.

    This PR:

    • Adds a rollup config
    • Updates the babel config to not transpile modules (~breaks current Webpack 1 builds~ fixed)
    • Uses babeli instead of uglify for minifying because uglify does not support import and export

    This gives the following benefits:

    • Rollup produces smaller builds. A complete build is only 111kB (27kB gzipped) instead of 295kB!
    • This allows us to create different builds at the same time: CommonJS, ES and UMD (probably don't care about UMD)
    • We can use package.json directives jsnext:main and module to point at the ES build to allow Webpack 2 and Rollup do their tree shaking when bundling Reactstrap. main will keep pointing at the CommonJS build for backwards compatibility.

    image

    ~~This is still experimental. Work left to be done:~~

    • [ ] ~~Upgrade to Webpack 2 if we want to keep using the dev server or remove completely~~
    • [x] Destructure React into PropTypes below all the imports
    • [x] Fix all other things that broke because we no longer transpile modules.
    • [x] Fork Tether and update package.json to use fork

    Testing the changes

    To test that the Rollup build works, we can run the tests against the bundled and minified build. To do so, first point all the imports at the bundled version (tested on my mac):

    sed -i "" "s/\.\.\/\'/\.\.\/\.\.\/dist\/reactstrap.es'/" src/__tests__/*.spec.js
    

    After that, run tests as usual.

    Breaking changes

    None! 💃

    opened by balloob 40
  • command failed with exit code 127.

    command failed with exit code 127.

    My operating system: OSX 10.12.6 I followed the instructions on the main website on how to set up a react-strap project. I get the following output when trying to run: yarn start

    Kyles-MacBook-Pro:sandbox1 kyle$ yarn start yarn run v1.3.2 $ react-scripts start /bin/sh: react-scripts: command not found error Command failed with exit code 127. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

    opened by kingerking 35
  • Toggle called from unmounted Tooltips

    Toggle called from unmounted Tooltips

    • components: UncontrolledTooltip
    • reactstrap version #6.5.0
    • react version #16.3.2

    What is happening?

    Error message is being printed in the console because setState is being called on an unmounted component (UncontrolledTooltip).

    What should be happening?

    No error should be printed. The tooltip component methods "show" and "hide" should each check that the component is still mounted before calling "toggle" when they are called via "setTimeout", because "setTimeout" could trigger after the component has already been unmounted. This happens specifically with UncontrolledTooltip because it manages whether or not it is open using setState, however, in practice this could occur on any component which uses a Tooltip.

    Steps to reproduce issue

    1. Add UncontrolledTooltip to page
    2. Cause tooltip to show
    3. Perform an action which causes the tooltip to hide, then quickly perform an action which removes the tooltip entirely.
    4. Observe the error in the logs.

    Error message in console

    warning.js:33 Warning: Can't call setState (or forceUpdate) on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method. in UncontrolledTooltip (created by [redacted]) [redacted] printWarning @ warning.js:33 warning @ warning.js:57 warnAboutUpdateOnUnmounted @ react-dom.development.js:11186 scheduleWorkImpl @ react-dom.development.js:12130 scheduleWork @ react-dom.development.js:12082 enqueueSetState @ react-dom.development.js:6644 Component.setState @ react.development.js:238 toggle @ reactstrap.es.js:5337 toggle @ reactstrap.es.js:4180 hide @ reactstrap.es.js:4123 setTimeout (async) onMouseLeaveTooltip @ reactstrap.es.js:4077

    Thanks!

    bug help wanted Hacktoberfest 
    opened by StephenLucasKnutson 27
  • Tracking Beta 1 Changes

    Tracking Beta 1 Changes

    read through https://github.com/twbs/bootstrap/issues/21568

    • Grid/Layout
    • Card
      • [x] Renamed .card-block to .card-body https://github.com/twbs/bootstrap/pull/22828
      • [x] inverse is no longer a thing, just use .text-white (keep for convenience?)
      • [x] Outline (.card-outeline-{color}) is now border util .border-{color}
      • [x] Color (.card-{color}) is now bg util .bg-{color}
    • Nav/NavBar
      • [x] nav now has .nav-fill
      • [x] nav vertical should accept a string for the responsive size (.flex-{size}-column)
      • [x] nav now has .card-header-tabs/.card-header-pills (add boolean card prop?)
      • [x] .navbar-inverse -> .navbar-dark
      • [x] .navbar-toggler-left and .navbar-toggler-right have been removed
      • [x] Navbar toggle class .navbar-toggleable{-sm|-md|-lg|-xl} -> .navbar-expand{-sm|-md|-lg|-xl}
    • Popover
      • [x] Renamed .popover-title to .popover-header and .popover-content to .popover-body twbs/bootstrap#22829
      • [x] tether -> poppers.js
    • Tooltip
      • [x] tether -> poppers.js
    • Forms
      • [x] form validations (feedback and "server-side" classes)
    • Dropdowns
      • [x] .show is now needed on .dropdown-menu when open
      • [x] tether -> poppers.js
    • Badge
      • [x] .badge-default -> .badge-secondary

    bootstrap v4 beta docs: https://getbootstrap.com/docs/4.0/getting-started/introduction/

    The v5 branch will have the latest changes while the list is being completed. Items marked as completed on the list indicate that the item is addressed in the v5 branch. This issue will be closed one v5 has been merged into master.

    Feel free to add anything not listed with a general description and link to either docs page or pr and I'll update the list 🙌

    help wanted PR Welcome 
    opened by eddywashere 25
  • modal-open not being removed from body after closing modal

    modal-open not being removed from body after closing modal

    • components: Modal
    • reactstrap version #6.5.0
    • import method es
    • react version #6.6.3
    • bootstrap version #4.1.3

    What is happening?

    The modal-open CSS class is not being removed from <body>when I close a modal. Clicking on the header's "x" button (or any other means of closing the modal) causes the page to be unscrollable.

    What should be happening?

    The modal-open style should be removed from the page when all modals are closed.

    Investigation

    Tracing through the Modal code in Chrome devtools, what I saw was two Modal instances being constructed but only one Modal instance is actually being used. The first Modal instance is being constructed by React but is never used after the constructor runs. It's being thrown away. None of its lifecycle methods are run. The second Modal instance is being used normally and its lifecycle methods fire, but when it closes, Modal.openCount is still nonzero so the modal-open style is not removed from the <body>.

    Looking at Modal.js code, I saw a problem which explained the behavior above. The Modal constructor contains a side effect: a call to init() which sets modal-open on the <body>. The constructor (and hence init()) is being called twice, but destroy() is only being called once.

    I was able to resolve the problem by forking reactstrap and moving the call to init() from the end of the constructor to the beginning of componentDidMount:

    class Modal extends React.Component {
      constructor(props) {
        super(props);
    
        this._element = null;
        this._originalBodyPadding = null;
        this.getFocusableChildren = this.getFocusableChildren.bind(this);
        this.handleBackdropClick = this.handleBackdropClick.bind(this);
        this.handleBackdropMouseDown = this.handleBackdropMouseDown.bind(this);
        this.handleEscape = this.handleEscape.bind(this);
        this.handleTab = this.handleTab.bind(this);
        this.onOpened = this.onOpened.bind(this);
        this.onClosed = this.onClosed.bind(this);
    
        this.state = {
          isOpen: props.isOpen,
        };
    
        // removed
        // if (this.props.isOpen) {
        //   this.init();
        // }
      }
    
      componentDidMount() {
        // added
        if (this.props.isOpen) {
          this.init();
        }
    
        if (this.props.onEnter) {
          this.props.onEnter();
        }
    
        if (this.state.isOpen && this.props.autoFocus) {
          this.setFocus();
        }
    
        this._isMounted = true;
      }
    

    React advises against side effects in constructors. I suspect the behavior above may be one reason for this recommendation. Apparently, React can construct instances and throw them away without running any lifecycle methods!

    I'm happy to prepare a PR to move Modal initialization into componentDidMount(). But there may be other reasons that I'm not aware of to use this non-recommended side effect in the constructor.

    Does anyone know the history of why init() is being called in the constructor instead of in componentDidMount where side effects and DOM manipulations are recommended?

    Steps to reproduce issue

    Repro steps are difficult at the moment because the problem shows up in the middle of a fairly complicated project. To display a modal, my app pushes data into an array that's stored in React Context (the new 16.x kind, not the deprecated old context). Another part of the app will notice the change to Context and will transform each element in the array into one or more modals. When a modal is closed, the onClosed event handler will remove the data from the array in Context which will cause the modal to be unmounted.

    I can pull this logic out of my app to provide a simpler repro, but doing this will take some time so (per discussion above) I wanted to understand more about the reasons for initializing in the constructor before going through the trouble of creating a repro. Hope this is OK.

    Error message in console

    (none-- it's UI behavior, not an error, that's the problem)
    

    Code

    See above-- this behavior is deeply nested inside my app, so it's non-trivial to pull it out. I can do it if needed, though.

    opened by justingrant 22
  • UncontrolledDropdown in 8.0.0 does not find toggle function in this.context

    UncontrolledDropdown in 8.0.0 does not find toggle function in this.context

    • components: UncontrolledDrownDown
    • reactstrap version #8.0.0
    • import method umd/csj/es
    • react version #16.4.1
    • bootstrap version #4.3.1

    What is happening?

    On clicking the dropdown button in the UncontrolledDropdown component, an unhandled exception is raised and the dropdown menu does not appear.

    What should be happening?

    On clicking the dropdown button, the dropdown menu should appear.

    Steps to reproduce issue

    1. Render the UncontrolledDropdown as provided in the docs
    2. Click on the button
    3. Observe that the dropdown menu does not toggle open and that there is an exception in the consolee.

    Error message in console

    Uncaught TypeError: this.context.toggle is not a function
        at ProxyComponent.onClick (DropdownToggle.js:59)
        at ProxyComponent.onClick (react-hot-loader.development.js:693)
        at ProxyComponent.onClick (Button.js:52)
        at ProxyComponent.onClick (react-hot-loader.development.js:693)
        at HTMLUnknownElement.callCallback (react-dom.development.js:100)
        at Object.invokeGuardedCallbackDev (react-dom.development.js:138)
        at Object.invokeGuardedCallback (react-dom.development.js:187)
        at Object.invokeGuardedCallbackAndCatchFirstError (react-dom.development.js:201)
        at executeDispatch (react-dom.development.js:461)
        at executeDispatchesInOrder (react-dom.development.js:483)
        at executeDispatchesAndRelease (react-dom.development.js:581)
        at executeDispatchesAndReleaseTopLevel (react-dom.development.js:592)
        at forEachAccumulated (react-dom.development.js:562)
        at runEventsInBatch (react-dom.development.js:723)
        at runExtractedEventsInBatch (react-dom.development.js:732)
        at handleTopLevel (react-dom.development.js:4477)
    

    Code

    <UncontrolledDropdown>
                    <DropdownToggle caret>
                        Dropdown
                    </DropdownToggle>
                    <DropdownMenu>
                        <DropdownItem header>Header</DropdownItem>
                        <DropdownItem disabled>Action</DropdownItem>
                        <DropdownItem>Another Action</DropdownItem>
                        <DropdownItem divider />
                        <DropdownItem>Another Action</DropdownItem>
                    </DropdownMenu>
                </UncontrolledDropdown>
    
    bug Hacktoberfest 
    opened by twheys 21
  • Roadmap to Stable Release

    Roadmap to Stable Release

    Some of these items include nested components, listing only top level sections.

    • [x] Tables
    • [x] Container
    • [x] Row
    • [x] Col
    • [x] Button
    • [x] ButtonGroup
    • [x] ButtonDropdown
    • [x] Dropdown
    • [x] Modal
    • [x] Popover
    • [x] Tag
    • [x] Card
    • [x] Tooltip
    • [x] Navbar
    • [x] Nav
      • [x] TabContent, TabPane
    • [x] Forms (In Progress)
    • [x] Jumbotron
    • [x] InputGroup
    • [x] Alert
    • [x] MediaObject
    • [x] Breadcrumb
    • [x] Pagination
    • [x] Progress
    • [x] ListGroup
    • [ ] Scrollspy
    • [x] Collapse
    • [x] Carousel
    • [ ] Utilities
    • [ ] Better Documentation for customizing component output with tag prop

    Each component should have an individual issue to track status that contains the following

    • any component names necessary
    • propTypes for each component
    • example react markup
    opened by eddywashere 21
  • build breaks with 5.0.0-beta.2

    build breaks with 5.0.0-beta.2

    Issue description

    • reactstrap version #5.0.0-beta.2
    • import method es
    • react version #16.2.0
    • bootstrap version #4.0.0

    What is happening?

    when building with gulp + browserify this happens:

    /Users/matteo/dev/my-project/node_modules/react-popper/lib/react-popper.js:1
    export { default as Manager } from './Manager';
    ^
    ParseError: 'import' and 'export' may appear only with 'sourceType: module'
    
    • If I install 5.0.0-beta everything is fine
    • If I install 5.0.0-beta.2 the build breaks
    • If I manually install react-popper 0.8.2 and delete 0.8.1 everything is fine again

    the strange thing is that react-popper was updated from 0.8.1 to 0.8.2 to "fix: build" (see https://github.com/souporserious/react-popper/commit/0d97929b038b1bba69f920772505f8d6af158f3f), while reactstrap's commit b515e6b says "chore(build): downgrade react-popper to fix build"

    opened by cvlmtg 20
  • V5

    V5

    Anyone and everyone please review and give feedback. Lots of changes and descriptive commit messages with deprecations and breaking changes information (which I hope get automatically added to the release notes).

    Tests have been updated Docs have been (mostly) updated.

    closes #487, closes #529, closes #539, closes #113, closes #337, closes #424, closes #465, closes #438, closes #466, closes #502, closes #532, closes #535, closes #563, closes #548, closes #551, closes #485, closes #583 (Have to put keyword in front of every issue number... why can't it just be comma seprated)

    opened by TheSharpieOne 19
  • NavLink and React Router - results in complete site reload

    NavLink and React Router - results in complete site reload

    Issue description

    Hello, i have a problem with the combination of react router and reactstrap. Routing does not work properly when you create a link without the <Link to="XXX"> method. When I use reactstrap the entirely site reloads its content.

    Steps to reproduce issue

    • create a simple react-router
    • add two or more subpages
    • create a nav with two links (one with NavLink and one with Link)

    Example:

    <Nav className="mr-auto" navbar>
       <NavItem>
          <NavLink href="/">Home</NavLink> // does not work
       </NavItem>
       <NavItem>
          <Link to="/another-site">Another Site</Link> // work as expected
       </NavItem>
    </Nav>
    

    Resulting html from NavLink (reactstrap) and Link (react-router):

    <a href="/" class="nav-link">Home</a>
    <a href="/another-link">Another Link</a>
    

    I could use the Link component and add manually the className="nav-link" but it would be great if you can provide me a better solution for this problem.

    Thanks in advance Dennis

    opened by HD-CMS 19
  • Carousel Component captions overflow

    Carousel Component captions overflow

    • components: Carousel
    • reactstrap version 9.0.0
    • react version 17.0.2
    • bootstrap version 5.1.0

    What is happening?

    • When using a carousel the captions are visible twice & overflow out of the component.

    What should be happening?

    • Captions shouldn't overflow out of the component.

    Steps to reproduce issue

    Error message in console

    • Warning: Carousel.childContextTypes is specified but there is no getChildContext() method on the instance. You can either define getChildContext() on Carousel or remove childContextTypes from it.

    image

    image

    opened by ronaklalwaniii 18
  • chore(deps-dev): bump @babel/core from 7.15.5 to 7.20.12

    chore(deps-dev): bump @babel/core from 7.15.5 to 7.20.12

    Bumps @babel/core from 7.15.5 to 7.20.12.

    Release notes

    Sourced from @​babel/core's releases.

    v7.20.12 (2023-01-04)

    Thanks @​cross19xx, @​JBYoshi and @​nmn for your first PRs!

    :bug: Bug Fix

    • babel-traverse
    • babel-helper-create-class-features-plugin, babel-plugin-proposal-class-properties

    :nail_care: Polish

    • babel-traverse

    Committers: 5

    v7.20.11 (2022-12-23)

    :eyeglasses: Spec Compliance

    • babel-helper-module-transforms, babel-plugin-proposal-dynamic-import, babel-plugin-transform-modules-amd, babel-plugin-transform-modules-commonjs, babel-plugin-transform-modules-systemjs

    :bug: Bug Fix

    • babel-plugin-transform-block-scoping

    Committers: 2

    v7.20.10 (2022-12-23)

    :bug: Bug Fix

    Committers: 2

    v7.20.9 (2022-12-23)

    :bug: Bug Fix

    • babel-plugin-transform-block-scoping

    ... (truncated)

    Changelog

    Sourced from @​babel/core's changelog.

    v7.20.12 (2023-01-04)

    :bug: Bug Fix

    • babel-traverse
    • babel-helper-create-class-features-plugin, babel-plugin-proposal-class-properties

    :nail_care: Polish

    • babel-traverse

    v7.20.11 (2022-12-23)

    :eyeglasses: Spec Compliance

    • babel-helper-module-transforms, babel-plugin-proposal-dynamic-import, babel-plugin-transform-modules-amd, babel-plugin-transform-modules-commonjs, babel-plugin-transform-modules-systemjs

    :bug: Bug Fix

    • babel-plugin-transform-block-scoping

    v7.20.10 (2022-12-23)

    :bug: Bug Fix

    v7.20.9 (2022-12-23)

    :bug: Bug Fix

    • babel-plugin-transform-block-scoping

    v7.20.8 (2022-12-22)

    :bug: Bug Fix

    • babel-plugin-transform-block-scoping
    • babel-plugin-proposal-class-properties, babel-traverse

    v7.20.7 (2022-12-22)

    :eyeglasses: Spec Compliance

    • babel-helper-member-expression-to-functions, babel-helper-replace-supers, babel-plugin-proposal-class-properties, babel-plugin-transform-classes
    • babel-helpers, babel-plugin-proposal-class-properties, babel-plugin-transform-classes, babel-plugin-transform-object-super

    :bug: Bug Fix

    ... (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)
    dependencies 
    opened by dependabot[bot] 0
  • fix(#2664): close offcanvas when fade is false

    fix(#2664): close offcanvas when fade is false

    • [x] Bug fix
    • [ ] New feature
    • [ ] Chore
    • [ ] Breaking change
    • [x] There is an open issue which this change addresses
    • [ ] I have read the CONTRIBUTING document.
    • [ ] My commits follow the Git Commit Guidelines
    • [ ] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
      • [ ] I have updated the documentation accordingly.
    • [ ] My change requires a change to Typescript typings.
      • [ ] I have updated the typings accordingly.
    • [x] I have added tests to cover my changes.
    • [x] All new and existing tests passed.
    opened by illiteratewriter 0
  • 2431 remove margin bottom form group v2

    2431 remove margin bottom form group v2

    • [ ] Bug fix
    • [x] New feature
    • [ ] Chore
    • [ ] Breaking change
    • [ ] There is an open issue which this change addresses
    • [x] I have read the CONTRIBUTING document.
    • [x] My commits follow the Git Commit Guidelines
    • [x] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
      • [ ] I have updated the documentation accordingly.
    • [x] My change requires a change to Typescript typings.
      • [x] I have updated the typings accordingly.
    • [x] I have added tests to cover my changes.
    • [x] All new and existing tests passed.

    Relates to issue #2431. Adds noMargin property to FormGroup to allow removal of mb-3 class.

    opened by AJax2012 0
  • fix(docs): remove errors in storybook

    fix(docs): remove errors in storybook

    • removed errors that were shown in console in storybook
    • [x] Bug fix
    • [ ] New feature
    • [ ] Chore
    • [ ] Breaking change
    • [ ] There is an open issue which this change addresses
    • [x] I have read the CONTRIBUTING document.
    • [x] My commits follow the Git Commit Guidelines
    • [x] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
      • [ ] I have updated the documentation accordingly.
    • [ ] My change requires a change to Typescript typings.
      • [ ] I have updated the typings accordingly.
    • [ ] I have added tests to cover my changes.
    • [x] All new and existing tests passed.
    opened by illiteratewriter 0
  • fix(#2660): dropdown closes for complex children

    fix(#2660): dropdown closes for complex children

    • fix issue where if children of dropdown toggle where not simple strings the dropdown would remain open
    • [x] Bug fix
    • [ ] New feature
    • [ ] Chore
    • [ ] Breaking change
    • [x] There is an open issue which this change addresses
    • [x] I have read the CONTRIBUTING document.
    • [x] My commits follow the Git Commit Guidelines
    • [x] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
      • [ ] I have updated the documentation accordingly.
    • [ ] My change requires a change to Typescript typings.
      • [ ] I have updated the typings accordingly.
    • [ ] I have added tests to cover my changes.
    • [x] All new and existing tests passed.
    opened by illiteratewriter 0
  • fix(#1289): prevent error in Strict Mode

    fix(#1289): prevent error in Strict Mode

    • remove findDomNode error which was thrown for components using Fade.js file in ReactStrict mode
    • [x] Bug fix
    • [ ] New feature
    • [ ] Chore
    • [ ] Breaking change
    • [x] There is an open issue which this change addresses
    • [x] I have read the CONTRIBUTING document.
    • [x] My commits follow the Git Commit Guidelines
    • [x] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
      • [ ] I have updated the documentation accordingly.
    • [ ] My change requires a change to Typescript typings.
      • [ ] I have updated the typings accordingly.
    • [x] I have added tests to cover my changes.
    • [x] All new and existing tests passed.
    opened by illiteratewriter 0
Releases(v9.1.5)
Owner
reactstrap
React Bootstrap 4 components
reactstrap
A React utility belt for function components and higher-order components.

A Note from the Author (acdlite, Oct 25 2018): Hi! I created Recompose about three years ago. About a year after that, I joined the React team. Today,

Andrew Clark 14.8k Jan 4, 2023
Nextjs-components: A collection of React components

nextjs-components A collection of React components, transcribed from https://vercel.com/design. 1 Motivation Blog post from 01/09/2022 Todo's Unit tes

null 94 Nov 30, 2022
Free Open Source High Quality Dashboard based on Bootstrap 4 & React 16: http://dashboards.webkom.co/react/airframe

Airframe React High Quality Dashboard / Admin / Analytics template that works great on any smartphone, tablet or desktop. Available as Open Source as

Mustafa Nabavi 6 Jun 5, 2022
Ember-cli addon for using Bootstrap as native Ember components.

ember-bootstrap An ember-cli addon for using Bootstrap 4 und 5 in Ember applications. The addon includes the Bootstrap CSS (or Sass, Less) in your pro

kaliber5 491 Dec 25, 2022
React components and hooks for creating VR/AR applications with @react-three/fiber

@react-three/xr React components and hooks for creating VR/AR applications with @react-three/fiber npm install @react-three/xr These demos are real,

Poimandres 1.4k Jan 4, 2023
A react component available on npm to easily link to your project on github and is made using React, TypeScript and styled-components.

fork-me-corner fork-me-corner is a react component available on npm to easily link to your project on github and is made using React, TypeScript and s

Victor Dantas 9 Jun 30, 2022
we are make our components in story book. So if we add some components you can find document and example of useage in storybook.

we are make our components in story book. So if we add some components you can find document and example of useage in storybook.

고스락 6 Aug 12, 2022
Providing accessible components with Web Components & Material You

tiny-material Still on developing, DO NOT use for production environment Run well on Google Chrome, Firefox, Chrome for Android, Microsoft Edge (Chrom

HugePancake 11 Dec 31, 2022
Redux-Toolkit example with React Hooks CRUD Application, Axios, Rest API, Bootstrap

Redux-Toolkit CRUD example with React Hooks, Axios & Web API Build Redux-Toolkit CRUD application with React Hooks and Rest API calls in that: Each it

null 69 Dec 27, 2022
⚡️ Simple, Modular & Accessible UI Components for your React Applications

Build Accessible React Apps with Speed ⚡️ Chakra UI provides a set of accessible, reusable, and composable React components that make it super easy to

Chakra UI 30.5k Jan 4, 2023
🏎 A set of primitives to build simple, flexible, WAI-ARIA compliant React autocomplete, combobox or select dropdown components.

downshift ?? Primitives to build simple, flexible, WAI-ARIA compliant React autocomplete, combobox or select dropdown components. Read the docs | See

Downshift 11.1k Dec 28, 2022
Simple and customizable React UI components.

poem-ui Simple and customizable React UI components. Some components use third-party plug-ins to improve the interaction. You can remove third-party p

UIUX Lab 2 Jan 5, 2022
Recoil is an experimental state management library for React apps. It provides several capabilities that are difficult to achieve with React alone, while being compatible with the newest features of React.

Recoil · Recoil is an experimental set of utilities for state management with React. Please see the website: https://recoiljs.org Installation The Rec

Facebook Experimental 18.2k Jan 8, 2023
📓 The UI component explorer. Develop, document, & test React, Vue, Angular, Web Components, Ember, Svelte & more!

Build bulletproof UI components faster Storybook is a development environment for UI components. It allows you to browse a component library, view the

Storybook 75.8k Jan 4, 2023
React components for efficiently rendering large lists and tabular data

React components for efficiently rendering large lists and tabular data. Check out the demo for some examples. Sponsors The following wonderful compan

Brian Vaughn 24.5k Jan 7, 2023
Tweak React components in real time. (Deprecated: use Fast Refresh instead.)

React Hot Loader Tweak React components in real time ⚛️ ⚡️ Watch Dan Abramov's talk on Hot Reloading with Time Travel. Moving towards next step React-

Dan Abramov 12.2k Jan 1, 2023
React components for efficiently rendering large lists and tabular data

react-window React components for efficiently rendering large lists and tabular data React window works by only rendering part of a large data set (ju

Brian Vaughn 13.5k Jan 4, 2023
React UI Components for macOS High Sierra and Windows 10

React UI Components for macOS High Sierra and Windows 10. npm install react-desktop --save Help wanted! I am looking for developers to help me develop

Gabriel Bull 9.4k Dec 24, 2022
A collection of composable React components for building interactive data visualizations

an ecosystem of composable React components for building interactive data visualizations. Victory Contents Getting Started Victory Native API Document

Formidable 10.1k Jan 3, 2023