Copyright (C) 2016-2019 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.
This is a library of React components and utility functions for use with the Stripes UI toolkit, part of the FOLIO project.
A listing of our components with demonstrations and example usage can be found here: https://folio-org.github.io/stripes-components
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. |
The following components are available in the lib directory.
There are also various utility functions (as opposed to React components), which are documented separately.
- Accessibility overview - general overview of some utilities that stripes-components provides.
- Accessibility for developers - dev-specific primer for accessibility. More direct code/component reference - a great intro for those who are unfamiliar to accessibility.
Useful recipes for UI patterns appearing in FOLIO modules.
- Show/Hide Columns in MCL -- Give users the ability to select only the data they need to see.
- Accessible Routing -- Detail the approaches to implementing accessible focus management.
We provide a handful of components and utilities for date/time functionality.
- Datepicker, Timepicker, DateRangeWrapper components - UI-widgets for accepting date/time input.
- FormattedDate, FormattedUTCDate, FormattedTime - Cross-browser convenience components for displaying localized representations of system ISO8601 timestamps.
- dateTimeUtils - A handful of utility functions for working with date/time code in application logic.
- Hooks
- useFormatDate - presentational date-formatting.
- useFormatTime - presentational time-formatting.
- useDynamicLocale - loading DayJS locale information within functional components (also available in component form, via
DynamicLocaleRenderer
).
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.
Check our Frequently asked questions for Module developers page
XXX Say something about
sharedStyles
,
global.css
and
variables.css
.
Some related documents:
See project STCOM (STripes COMponents) at the FOLIO issue tracker.
Other FOLIO Developer documentation is at dev.folio.org