A component library for Stripes
JavaScript CSS
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

stripes-components

Copyright (C) 2016-2018 The Open Library Foundation

This software is distributed under the terms of the Apache License, Version 2.0. See the file "LICENSE" for more information.

Introduction

This is a library of React components and utility functions for use with the Stripes UI toolkit, part of the FOLIO project.

Component categories

These are general descriptive categories that indicate the type of use cases that components serve. A component can have multiple categories associated with it.

Category Description
structure These are components that aid in the general structure/layout of your app's UI. They include generic containers and components that render structurally important HTML tags (<Headline>, for instance.)
control Components with the control category are form elements and other interactive widgets including <TextField>, <Button> and <Dropdown> - additionally, this category includes components that aid the functionality of other control components, such as the way <DropdownMenu> is used with <Dropdown>
data-display Data display components are used for display of dynamic content. These include <List> and <MultiColumnList>
design These components render <Icon>s and other prominent visual landmarks.
user-feedback These components are geared for making the user aware of happenings in the system. They include <Callout> and <SRStatus>.
accessibility Components with this category play an important role in developing accessible modules.
utility These components aid in interaction with the FOLIO system.
prefab These components are re-useable pre-constructed components that make re-use of other shared components. Useful constructions such as <AddressFieldGroup> and <EditableList> fall into this category.
obsolete Component has been replaced by better solution and is intended for removal in future releases.

Links to documentation of specific components and utilities

The following components are available in the lib directory.

Component doc categories
<Accordion> doc structure
<AddressFieldGroup> doc control, prefab
<AppIcon> doc design
<Avatar> doc data-display
<Badge> doc data-display, design
<Button> doc control
<Callout> doc user-feedback
<Checkbox> control
<ConfirmationModal> doc control, prefab
<Datepicker> doc control
<Dropdown> doc control
<DropdownMenu> control
<EditableList> doc control, prefab
<EmptyMessage> doc structure
<EntrySelector> control
<ErrorBoundary> user-feedback
<FilterControlGroup> control
<FilterGroups> doc control
<FilterPane> doc structure
<FilterPaneSearch> doc obsolete
<FocusLink> doc accessibility
<Headline> doc structure
<HotKeys> doc utility
<Icon> doc design
<IconButton> doc control
<IfInterface> doc utility
<IfPermission> doc utility
<InfoPopover> doc control, prefab
<InjectIntl> doc utility
<KeyValue> doc data-display
<Layer> doc structure
<Layout> structure
<LayoutBox> structure
<LayoutGrid> doc structure
<LayoutHeader> doc structure
<List> doc data-display
<MenuItem> doc control
<MetaSection> doc data-display
<Modal> doc container
<ModalFooter> doc container
<MultiColumnList> doc data-display
<NavList> doc control
<NavListItem> control
<NavListSection> control
<Pane> doc structure
<PaneHeader> structure
<PaneMenu> control
<Paneset> doc structure
<PaneSubheader> doc structure
<Pluggable> utility
<Popover> doc control
<RadioButton> control
<RadioButtonGroup> doc control
<ReduxFormField> doc control
<RepeatableField> doc control, prefab
<SearchField> doc control, prefab
<SegmentedControl> doc control
<Select> doc control
<Selection> doc control
<Settings> doc prefab
<SRStatus> doc accessibility, user-feedback
<TabButton> control
<TextArea> control
<TextField> control
<Timepicker> doc control

There are also various utility functions (as opposed to React components), which are documented separately.

Patterns

Useful recipes for UI patterns appearing in FOLIO modules.

Testing

Stripes Components' tests are automated browser tests powered by Karma and written using Mocha, Chai, and BigTest.

Component tests can be run by navigating to your stripes-components folder and running

yarn test

This will spin up Karma via stripes-cli and run all tests locally in the Chrome browser.

See our testing documentation for more information on writing tests.

FAQ

Check our Frequently asked questions for Module developers page

To be documented

XXX Say something about sharedStyles, global.css and variables.css.

Additional information

Some related documents:

See project STCOM (STripes COMponents) at the FOLIO issue tracker.

Other FOLIO Developer documentation is at dev.folio.org