1.0.2 • Published 4 years ago

@fidisys-oss/design-system v1.0.2

Weekly downloads
3
License
-
Repository
-
Last release
4 years ago

Fidisys Design System (Working Title)

Fidisys Design System is a reusable component library that helps Fidisys contributors build UIs faster. The goal is to make building durable UIs more productive and satisfying.

Live design system link

https://design-system-poc.fidisys.com/

How to use

Import components you want into your UI

import { DefaultButton } from '@fidisys-oss/design-system';

and use them like so

  const example = () => (
    <div>
      <DefaultButton btnName="Default Button" clickEvent={() => 0} />
    </div>
  )

Style Guide Architecture

These are a collection of architectural styles to follow when building Style Guide by following Atomic Structure principles.

Atoms -> Molecules -> Organisms -> Templates -> Pages

Atoms

Atoms are the basic building blocks like form labels, inputs, buttons etc.,

Buttons

Buttons express what action will occur when the user clicks or touches it. Buttons are used to initialize an action, either in the background or foreground of an experience.

Checkbox

A checkbox is an input option that represents a setting or value with an on, off, or mixed choice. A check mark within the checkbox indicates that the setting is selected or checked. Used for selecting multiple values from several options.

DatePicker

By clicking the input box, you can select a date from a popup calendar.

Heading

Display heading in different level.

Icons

For app level icons.

Images

For displaying images and avatar.

Input

A basic widget for getting the user input.

Links

For displaying hyperlinks.

Pagination

A long list can be divided into several pages using Pagination, and only one page will be loaded at a time.

Rate

Show evaluation and a quick rating operation on something.

Select

Select component to select value from options.

Switch

Switching Selector. Used to quickly switch between two possible states.

Tags

Tags for categorizing or markup.

Text

Display text in different level.

TimePicker

By clicking the input box, you can select a time from a popup panel.

Molecules

Molecules are relatively simple groups of UI elements functioning together as a unit. For example, a form label, search input, and button can join together to create a search form molecule.

Info

Used to display info for resume and user.

InputWithLabel

Used to show form field with label.

Logo

Logos are the single biggest representation of a brand.

RateGroup

Used to display read only rate with text, label and heading.

TextGroup

Used to display group of texts.

Organisms

Organisms are relatively complex UI components composed of groups of molecules and/or atoms and/or other organisms. Like cards, header, footer etc.,

Card

Used to display content related to a single subject. The content can consist of multiple elements of varying types and sizes.

CheckboxGroup

Generate a group of checkboxes from an array.

Header

Header is used to identify content that precedes the primary content of the web page.

RatingList

Used to display the list of rating with label.

Resume

Resume contains Professional statement, Education & Fellowships, Certifications.

Reviews

A review displays user feedback.

Tabs

Tabs make it easy to switch between different views.

UserDetails

Used to display the user details such as name, photo, address, contact, etc...

Templates

Templates are page-level objects that place components into a layout and articulate the design’s underlying content structure. Like grid-layouts etc.,

Banner

Banner presents an overview of the site's important content. It consists of image and text.

BookAppointment

Request an appointment with name, phone number, date, time and purpose of visit.

FilterResults

Used to filter the results by Location, ZIP code, Provider Category, Speciality by Provider Category, Type of Patient Served, Gender of Healthcare Provider.

Layout

For page layouts.

CardList

A list can be used to display content related to a single subject.

ReviewList

Used to display the list of reviews.

Overview

Used to display overview of physician and patient satisfaction reviews.

ResultsList

Used to display the list of physicians with pagination and sort options.

ReviewsTemplate

To display reviews and user can write a review.

SearchByState

To search and find physicians by state.

SearchOptions

To search and find physicians using options such as Dentists, Physicians, Healthcare Providers, Hospital name, City or State, ZIP code, Types of patient served, Gender of Healthcare Provider.

Pages

Pages apply real content to templates and articulate variations to demonstrate the final UI and test the resilience of the design system.

InfoPage

Info page with Header, Overview, Reviews and Book appointment.

SearchPage

Search page with Header, Banner, Search options, Search by state.

SearchResult

Search result page with Header, Filter Results and Physicians list with sort and pagination.

Components File and Folder Structure

Should follow this basic file and folder structure:

src/components/atoms:

.
├── stories.js
├── tests.js
├── styles.less
└── index.js

stories.js

Writing stories whenever updating/creating components inorder to have clear documentation about components with the help of knobs, info, docs and actions.

Knobs - https://github.com/storybookjs/storybook/tree/master/addons/knobs

info - https://github.com/storybookjs/storybook/tree/master/addons/info

docs - https://github.com/storybookjs/storybook/tree/master/addons/docs

actions - https://github.com/storybookjs/storybook/tree/master/addons/actions

Module stories should be like Atoms/Buttons , Molecules/Search, Organisms/Cards and Templates/Layouts

tests.js

Writing test cases for every component to check whether a component renders correctly for given props. And snapshot tests are used to make sure your UI does not change unexpectedly.

styles.js - How to style components

Use less.

index.js

Which contains atoms/molecules/organisms/templates/pages definition. And maintain props definitions and defaults which inreturn reflects in documentation of each component.

Used by

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago