Code Monkey home page Code Monkey logo

fundamental-styles's Introduction

Fundamental Library Styles

npm version Build Status Slack

What is Fundamental Library Styles?

Fundamental Library Styles is a light-weight presentation layer that can be used with your UI framework of choice (e.g. Angular, React, Vue, etc.). With Fundamental Library Styles’ library of stylesheets and HTML tags, developers can build consistent Fiori apps in any web-based technology.

Learn more at http://sap.github.io/fundamental-styles/

We are also working on Angular, React and Vue implementations.

Getting Started

The library is modular so you can use as little or as much as you need.

CDN

The fully compiled, minified library is available via CDN for inclusion in your application.

<link href="//unpkg.com/fundamental-styles@latest/dist/fundamental-styles.css" rel="stylesheet">

NPM Package

The compiled CSS for the full library and modules, e.g., core, layout, etc., are distributed via NPM.

npm install fundamental-styles --save

NOTE: We only distribute the fonts, icons and compiled CSS for each component, not the full project or HTML for specific components.

Working with the Project

Download and Installation

  1. Clone Repository - Clone the repo using the git software of your choice or using the git command git clone https://github.com/SAP/fundamental-styles.git

  2. Install NPM Dependencies: npm install

  3. Install Ruby Gems - These gems are needed to be installed for the documentation site. Navigate to the docs folder and gem install ruby bundler jekyll

  4. Serve the documentation website locally - npm start

  5. Serve the development playground locally: npm run start:playground

Project Dependencies

The project has the following prerequisites:

  • Git (for downloading this repo)
  • Node LTS
  • Ruby (for running the documentation website locally)
  • Docker (for running the visual regression testing framework)

Few differences between Fundamental Library Styles and Fundamental

Fundamental Library Styles is aiming to deliver:

  • Fiori 3.0 compliant components
  • themable components built on top of SAP Theming Base Content by consuming the CSS Custom Properties delivered by the theming library
  • self-contained components(each component style file contains all the styling needed to be rendered properly and at the same time avoid external styling bleeding in and bleading out. Bleading in means that global reset wouldn't affect the component and bleading out means that the component styling should not affect other HTML elements)
  • An html reference specification that consuming libraries must adhere to.
  • Accessibility support
    • Accessibility - Color contrast support for WCAG 2.0 level AA (4.5:1 for typical text)
    • Accessibility - Semantic HTML reference
    • Accessibility - Aria attributes noted when possible in HTML reference

This library is also being consumed by Fundamental Library for Angular, Fundamental Library for React, and Fundamental Library for Vue.

Support

If you encounter an issue, you can create a ticket or post on the Fundamentals Slack channel.

Contributing

If you want to contribute, please check the Contribution Guidelines. Also check the Development Guidelines and Visual Testing Guide.

Versioning

The fundamental-styles library follows Semantic Versioning. These components strictly adhere to the [MAJOR].[MINOR].[PATCH] numbering system (also known as [BREAKING].[FEATURE].[FIX]).

Merges to the master branch will be published as a prerelease. Prereleases will include an rc version (e.g. [MAJOR].[MINOR].[PATCH]-rc.[RC]).

The following circumstances will be considered a MAJOR or BREAKING change:

  • Droppping existing classnames, css variables, color names, color groups, spacing parameters
  • The existing underlying HTML markup of a component is altered
  • An existing unit test is altered to account for either of the above

The following circumstances will NOT be considered a MAJOR or BREAKING change:

  • Introducing new classnames, css variables, color names, color groups, spacing parameters
  • Non-visual HTML attribute changes/additions (such as role, aria-*, data-*)
  • Adding or modifying CSS properties and values of existing classnames.
  • An existing unit test is altered to account for non-visual HTML attribute changes/additions (such as role, aria-*, data-*)

License

Copyright (c) 2019 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file.

fundamental-styles's People

Contributors

fundamental-bot avatar eboyer avatar xak avatar ckoutsiaris avatar jbadan avatar ianquigley-sap avatar dependabot-preview[bot] avatar joseegm avatar droshev avatar innaatanasova avatar greg-a-smith avatar jkmarkowski avatar salarenko avatar saishan avatar dorinr avatar stefanoscalzo avatar jysw380 avatar ritarora avatar mikerodonnell89 avatar bcullman avatar rengare avatar hertweckhr1 avatar trilodge avatar leannerivera avatar dependabot[bot] avatar jonathanbaker7 avatar christiankienle avatar codesofra avatar dennisweissmann avatar jacobdevera avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.