jbolda / stripes-components

A component library for Stripes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

stripes-components

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.

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
<AutoSuggest> doc control
<Avatar> doc data-display
<Badge> doc data-display, design
<Button> doc control
<Callout> doc user-feedback
<Checkbox> control
<ConfirmationModal> doc control, prefab
<Col> doc structure
<Datepicker> doc control
<Dropdown> doc control
<DropdownMenu> control
<EditableList> doc control, prefab
<EmptyMessage> doc structure
<ErrorBoundary> user-feedback
<FilterControlGroup> control
<FilterGroups> doc control
<FilterPaneSearch> doc obsolete
<FocusLink> doc accessibility
<Headline> doc structure
<HotKeys> doc utility
<Icon> doc design
<IconButton> doc control
<InfoPopover> doc control, prefab
<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
<MultiSelection> doc control
<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
<Row> doc structure
<SearchField> doc control, prefab
<Select> doc control
<Selection> doc control
<Settings> doc prefab
<SRStatus> doc accessibility, user-feedback
<TextArea> control
<TextField> doc control
<TextLink> doc control
<Timepicker> doc control

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

Accessibility

  • 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.

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

About

A component library for Stripes

License:Apache License 2.0


Languages

Language:JavaScript 92.1%Language:CSS 7.8%Language:HTML 0.0%