Giter VIP home page Giter VIP logo

yew_styles's Introduction

Yew Styles

Crate Info Crate Info API Docs Discord Chat License

Yew Styles is a style framework for yew without JavaScript dependencies

Motivation

The purpose of developing this project is first, provide a style framework for yew that doesn't require any JavaScript dependencies also to create a layout system which is not far of the flexbox concept, and, to take the rust benefits and implement properties selected by enumeration in the most of the cases which makes fast for developing applications and avoids the practice try and error

How it works

Each component is split in two parts, the logical yew component and its sass module, however, it is not necessary to worry about the sass module only it needs to be include in the project

Note: One of the goals of yew_styles project is include css in the components without depending of any external css file. Possible candidates are CssinRust or RUSS

How install it

  1. Install the sass module: npm install yew-styles
  2. Add the yew_style crate with the features needed for your project in Cargo.toml file:
yew_styles = { version="0.10", features=["button", "text", "navbar"] }
  1. Import the main.css file in you main javascript/typescript file project:
    import 'node_modules/yew-styles/main.css';
  1. Ready to import and use in your project ๐Ÿš€

Visual example:

You can find all the visual example in the website https://yewstyles.spielrs.tech

Run the documentation page

  1. git clone https://github.com/spielrs/yew_styles.git
  2. cd yew_styles
  3. npm start

In the left side there is a list of links where each one access to a correspondent component documentation, there, shows how to use it.

Rust Docs

You can also see all the Yew Style documentation in rust docs here. It includes description and examples for each component

Run the tests

Inside of the project run:

cargo test --target wasm32-unknown-unknown --manifest-path=crate/yew_styles/Cargo.toml

Development phase

Yew Styles cover all the common cases used in a web application however there are still a lot of work to do and components to implement. All contributions are appreciated.

How contribute

First, open an issue describing about the fix, improvement or implementation and as suggestion, don't start to work in it until that is discussed. If the contribution is a fix or small improvement in a component, only a pull request to master explaining what resolve or improve that, is required. If it is an implementation, please follow the next requirements:

  • Firstable open an issue describing about the component
  • Unit tests, which checks that the component is created and its logic works, in the same file where it is implemented (test events is not needed for now)
  • One component per file, if multiple components have connections between them, it is possible create subfolder
  • Documentation in the component showing an example of using it and small description of each prop
  • Create a component page in /crate/src/page with the same structure than the rest of the components

Do you like Yew Styles?

If you like Yew Styles, help me supporting the project:

  • BAT rewards in case that you use Brave Browser
  • Using this link to create an account in Binance (get 10% fee back for every trading)

If you need a feature that is not cover yet, as soon as possible, you can also fund the issue here

Code of Conduct

Please check our code of conduct

Code Contributors

Roadmap

  • Button
  • Layout
  • Navbar
  • Form
  • Card
  • Text
  • Dropdown
  • Progress
  • Spinners
  • Table
  • Pagination
  • Modal
  • Sidebar
  • Tab
  • Tooltips
  • Collapse
  • Carousel
  • Calendar
  • Assets (implemented in the new library yew_assets)

License

Yew Style is MIT and Apache-2.0 licensed

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.