All Projects → rescriptbr → ancestor

rescriptbr / ancestor

Licence: other
💀 UI primitives for ReScript and React

Programming Languages

ReScript
86 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to ancestor

comece-aqui
🚀 Quer aprender ReScript? Comece aqui
Stars: ✭ 214 (+48.61%)
Mutual labels:  rescript-bindings, rescript-lang, rescript-react
Matchbox
🔥 A react UI component library
Stars: ✭ 58 (-59.72%)
Mutual labels:  react-components, design-system
Axiom React
Axiom - Brandwatch design system and React pattern library
Stars: ✭ 41 (-71.53%)
Mutual labels:  react-components, design-system
Shine Design
为开发者、设计师和产品经理准备的 UI 设计语言
Stars: ✭ 157 (+9.03%)
Mutual labels:  react-components, design-system
Hiui
HIUI is a solution that is adequate for the fomulation and implementation of interaction and UI design standard for front, middle and backend.
Stars: ✭ 366 (+154.17%)
Mutual labels:  react-components, design-system
Circuit Ui
SumUp's component library for the web
Stars: ✭ 625 (+334.03%)
Mutual labels:  react-components, design-system
Styleguide
The VTEX Design System and React component library.
Stars: ✭ 138 (-4.17%)
Mutual labels:  react-components, design-system
smores-react
🍭 Marshmallow React components
Stars: ✭ 34 (-76.39%)
Mutual labels:  react-components, design-system
moon-design
Moon Design System for React
Stars: ✭ 209 (+45.14%)
Mutual labels:  react-components, design-system
rebass
⚛️ React primitive UI components built with styled-system.
Stars: ✭ 7,844 (+5347.22%)
Mutual labels:  react-components, design-system
sha-el-design
React components for easier customization and smooth development flow.
Stars: ✭ 33 (-77.08%)
Mutual labels:  react-components, design-system
Sancho
Responsive and accessible React UI components built with Typescript
Stars: ✭ 365 (+153.47%)
Mutual labels:  react-components, design-system
Operational Ui
Building blocks for effective operational interfaces
Stars: ✭ 258 (+79.17%)
Mutual labels:  react-components, design-system
Pivotal Ui
Pivotal's design system & component library
Stars: ✭ 637 (+342.36%)
Mutual labels:  react-components, design-system
design-system
A resource for creating user interfaces based on brand, UX, and dev principles
Stars: ✭ 17 (-88.19%)
Mutual labels:  react-components, design-system
React
Modern and minimalist React UI library.
Stars: ✭ 2,546 (+1668.06%)
Mutual labels:  react-components, design-system
shared-react-components-example
An example of a mono-repository of shared React components libraries!
Stars: ✭ 85 (-40.97%)
Mutual labels:  react-components, design-system
Stardust
🎨Tiller Design System
Stars: ✭ 19 (-86.81%)
Mutual labels:  react-components, design-system
neptune-web
Wise Web Design System
Stars: ✭ 55 (-61.81%)
Mutual labels:  react-components, design-system
Styled Bootstrap Components
The bootstrap components made with styled-components 💅
Stars: ✭ 196 (+36.11%)
Mutual labels:  react-components, design-system

npm version tests



Docs // Getting Started // ReScript Brazil Community

⚠️ DISCLAIMER: This library is still beta, you can check our roadmap here. We're trying to keep the breaking changes to a minimum whereever possible, but some breaking changes might happen until we release the v1.0.0.

Introduction

Ancestor is a suite of components that works as layout primitives to develop high-quality web apps, design systems, and style guides focused on responsiveness.

What and Why?

Every front-end project that is using libraries based on components like React, faces the same situation: Choose or develop a UI library to develop the interfaces.

In some cases, you can use libraries like Chakra UI, Material UI, or Ant Design that delivers a set of styled components (grids, buttons, inputs, selects, etc) and a lot of other utility functions and components for your web app.

However, in some cases, the team needs to create its own design system or style guide with a design language, colors, fonts, buttons, inputs and other specifications created by a design team. In this case, the usage of a library like Material UI or Chakra UI might not be the best choice, because depends on a lot of customizations or changes to adapt the library to the design specification.

It was the reason that we created Ancestor: to act as a foundation for your project or design system.

Features

Unstyled 💀

Different from popular libraries like Material UI, we don't deliver styled components with colors, fonts, borders, etc. All Ancestor's components are layout primitives with support to a lot of CSS properties like padding, margin, height, width, etc.

Responsiveness 💡

All properties from Ancestor's components are responsive, which makes it easy to develop interfaces that need to support multiple devices. Through the breakpoints defined by the library, you can change the appearance of a component in a specific device or screen size.

Consistent design 🎨

We don't deliver styled components, but we care about design consistency, especially when dealing with spacing, borders, etc.

Customizable ⚙️

All properties from Ancestor's components and parameters are customizable: Breakpoints, spacing, radius, grid columns, etc which makes it easy to customize and adapt Ancestor to your design system or style guide.

Installation

First off, install Ancestor using npm/yarn:

yarn add @rescriptbr/ancestor

If you want to use the default setup, you need to install Emotion.

yarn add @emotion/css

Add the package to bs-dependencies in your bsconfig.json:

{
"bs-dependencies": [
  "@rescript/react",
  "@rescriptbr/ancestor"
 ]
}

Basic usage

open Ancestor.Default

@react.component
let make = () => {
  <Grid height=[#xs(100.0->#pct)]>
    <Box
      flexDirection=[#xs(#column), #md(#row)]
      p=[xxs(6), md(12), lg(8)]
      position=[#xs(#relative)]
      columns=[#xs(#12), #md(#6)]
    >
      <Box
        flexGrow=[#xs(#num(1.0))]
        width=[#xs(15.0->#rem), #md(20.0->#rem)]
      >
        <Logo />
      </Box>
      <Box flexGrow=[#xs(#num(3.0))] pt=[xxs(4)]>
        <h1>
          {"A place to share knowledge"->React.string}
        </h1>
        <p>
          {"Where good ideas find you."->React.string}
        </p>
      </Box>
      <Box
        position=[#xs(#absolute)]
        bottom=[#xs(-5.0->#rem)]
        left=[#xs(-5.0->#rem)]
      >
          ....
      </Box>
    </Box>
  </Grid>
}

Example from ReScript Conduit

Documentation

Check out the official documentation.

License

MIT

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