All Projects → standard-components → standard-components

standard-components / standard-components

Licence: MIT license
A specification for functional UI components

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to standard-components

Styled System
⬢ Style props for rapid UI development
Stars: ✭ 7,126 (+13603.85%)
Mutual labels:  design-systems, layout, typography
Interior
Design system for the modern web.
Stars: ✭ 77 (+48.08%)
Mutual labels:  design-systems, layout, typography
Theme Ui
Build consistent, themeable React apps based on constraint-based design principles
Stars: ✭ 4,150 (+7880.77%)
Mutual labels:  color, layout, typography
theme-ui-native
Build consistent, themeable React Native apps based on constraint-based design principles
Stars: ✭ 67 (+28.85%)
Mutual labels:  color, layout, typography
rebass
⚛️ React primitive UI components built with styled-system.
Stars: ✭ 7,844 (+14984.62%)
Mutual labels:  color, layout, typography
specification
Software Bill of Material (SBOM) standard designed for use in application security contexts and supply chain component analysis
Stars: ✭ 129 (+148.08%)
Mutual labels:  specification, standard
Conventionalcommits.org
The conventional commits specification
Stars: ✭ 3,552 (+6730.77%)
Mutual labels:  specification, standard
Sdmx Rest
This repository is used for maintaining the SDMX RESTful web services specification.
Stars: ✭ 50 (-3.85%)
Mutual labels:  specification, standard
Typography
C# Font Reader (TrueType / OpenType / OpenFont / CFF / woff / woff2) , Glyphs Layout and Rendering
Stars: ✭ 246 (+373.08%)
Mutual labels:  layout, typography
BrAPI
Repository for version control of the BrAPI specifications
Stars: ✭ 50 (-3.85%)
Mutual labels:  specification, standard
Sigmf
The Signal Metadata Format Specification
Stars: ✭ 120 (+130.77%)
Mutual labels:  specification, standard
Sync.sketchplugin
Keep your design team in sync!
Stars: ✭ 357 (+586.54%)
Mutual labels:  design-systems, typography
biolink-model
Schema and generated objects for biolink data model and upper ontology
Stars: ✭ 83 (+59.62%)
Mutual labels:  specification, standard
shared-row
This is an open data specification for describing the right-of-way (ROW) for street centerline networks. It is intended to establish a common set of attributes (schema) to describe how space is allocated along a streets right of way from sidewalk edge to sidewalk edge.
Stars: ✭ 16 (-69.23%)
Mutual labels:  specification, standard
Opencypher
Specification of the Cypher property graph query language
Stars: ✭ 534 (+926.92%)
Mutual labels:  specification, standard
security-policy-specification-standard
This document proposes a way of standardising the structure, language, and grammar used in security policies.
Stars: ✭ 24 (-53.85%)
Mutual labels:  specification, standard
Leerraum.js
A PDF typesetting library with exact positioning and hyphenated line breaking
Stars: ✭ 233 (+348.08%)
Mutual labels:  layout, typography
Ui Ux
📝 Curated list for UI/UX Designers
Stars: ✭ 125 (+140.38%)
Mutual labels:  design-systems, typography
Doric
Protocol oriented, type safe, scalable design system foundation swift framework for iOS.
Stars: ✭ 75 (+44.23%)
Mutual labels:  color, typography
responsive type
A one size fits all responsive type solution. Demo: https://codepen.io/kylevilleneuve/pen/XqeVdZ
Stars: ✭ 53 (+1.92%)
Mutual labels:  typography

Standard Components

A specification for functional UI components

https://standard-components.com

Motivation

UI component libraries come in all shapes and sizes. This specification is intended as a way to standardize naming conventions and props APIs in order to create an ecosystem of interchangeable UI components and encourage greater code reusability.

Component Names

In order to create libraries of interchangeable UI components, the following naming convention should be used. This list is intentionally limited and is meant to be a starting point for demonstration. More components will likely be added over time.

Box

The Box component is a primitive box-model layout component that handles margin, padding, width, and other layout styles.

Flex

The Flex component is an extension of the Box component with flexbox-specific properties.

Text

The Text component is a primitive typographic component that handles font size, weight, line-height, alignment, and other typographic styles.

Heading

The Heading component is an extension of the Text component intended for headings.

Image

The Image component is a content component that displays images.

BackgroundImage

The BackgroundImage is an extension of the Box component with props for displaying background images.

Button

The Button component is an interactive component with styles that look like a button.

Link

The Link component is an interactive component meant for navigation.

Style Props

Style props are a higher-level abstraction on top of CSS meant for flexibility and to help address per-instance styling concerns. Style props are largely based on CSS properties, with shorthand props for margin and padding.

Variants

Some components, such as Buttons, use style variants to render different versions, such as primary and secondary Button styles. Variants should be handled with a variant prop, with shorthand boolean props for primary and secondary variants.

See Props for more.

Themes

Themes are objects that define the values used by style props. Themes ensure consistent margin, padding, colors, font sizes, and other UI constants.

See Themes for more.

Component Types

By adhering to a strict component type structure, components in a system can be concerned with a singular purpose and allow for greater interchangeability across libraries.

Layout

Layout components control width, height, and spacing. They do not attempt to control typography or other considerations.

Typography

Typographic components are concerned with font families, sizes, weights, leading, tracking, and other properties. Typographic components are not concerned with layout.

Content

Content components display things like images, videos, and diagrams without affecting layout, typography, or other styling concerns.

Interaction

Interactive elements, such as links, buttons, and form elements, require user input and do not generally handle layout or typographic concerns.

Style

Style components handle other UI styles, such as borders, radii, shadows, and gradients without affecting layout or typography.

Position

Position components remove their children from the normal document flow and should be used sparingly.

Related


Made by Compositor | GitHub | MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].