material

module
v0.0.0-...-1bbb42b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 17, 2021 License: MIT

README

Material Components For Vecty

Vecty Material is Vecty bindings for the material-components-web JavaScript library (MDC).

Project Status

Material was under active development, but development was suspended in 2018. Development is currently ongoing to move the project to WASM, but as of now the project is not fully functional.

Your help is requested and appreciated. With your support, it will be possible to easily build a web application in Go using material components. Help make this dream a reality by contributing to the project!

Monetary contributions are not accepted at this time; only pull requests.

Getting Started

To simplify demos and development, this package makes use of gaepher. To install it, run:

go install bitbucket.org/xoviat/gaepher@6134584

Once gaepher is installed, change to the demos folder

cd demos

Then run it with

gaepher serve

Under the hood, gaepher will compile the demo using the go compiler, then start an http server on port 4000 and serve a bootstrap html file, the wasm_exec.js from your local go installation, and the wasm file. This allows all code in the repository to be written in go without html, css, or js.

Gaepher is meant to make development of this project efficient and painless. If you have questions/comments about running the demos, or think the process could be more efficient, commment on the relevant issue.

Contributing

Any and all ideas, changes, bug reports, etc. are encouraged.

Get involved by:

  • Opening issues and submitting merge requests at our Gitlab project .
  • Starting a discussion in the Gopher Slack #GopherJS channel.

Project Goals

  • Expose an API that supports idiomatic Go programming while maintaining the general terminology of MDC resources.
  • Minimal dependencies to keep generated JavaScript sizes as small as possible.
  • Modular package organization so you can pick-and-choose components just like the MDC library.
  • Limited scope. Only focus on wrapping the JavaScript functionality of the MDC library.

Project Non-Goals

  • HTML/CSS. These are areas of the MDC library that are best handled by projects that consume Material's packages. Check out vecty-material as an example.

Terminology

To help avoid ambiguity in code and documentation, here's a quick list of definitions we are trying to enforce in Material.

Term Definition
material-components-web The official upstream JavaScript library.
MDC or MCW Synonyms/abbreviations of material-components-web.
Material This project.
Material component Our github.com/vecty-components/material/* Go packages.
Material menu An example of a specific type of Material component.

Directories

Path Synopsis
The base package contains code shared by implementations of material components for GopherJS.
The base package contains code shared by implementations of material components for GopherJS.
https://material.io/components/web/catalog/buttons/
https://material.io/components/web/catalog/buttons/
Quickstart Guide 1.
Quickstart Guide 1.
appbar
appbar implements a material appbar component.
appbar implements a material appbar component.
drawer
drawer implements a material drawer component.
drawer implements a material drawer component.
formfield
formfield implements a material formfield component.
formfield implements a material formfield component.
iconbutton
iconbutton implements a material iconbutton component.
iconbutton implements a material iconbutton component.
menu
menu implements a material menu component.
menu implements a material menu component.
radio
radio implements a material radio component.
radio implements a material radio component.
ripple
ripple implements a material ripple component.
ripple implements a material ripple component.
selection
selection implements a material selection component.
selection implements a material selection component.
slider
slider implements a material slider component.
slider implements a material slider component.
tabbar
tabbar implements a material tabbar component.
tabbar implements a material tabbar component.
textfield
textfield implements a material textfield component.
textfield implements a material textfield component.
https://material.io/components/web/catalog/dialogs/
https://material.io/components/web/catalog/dialogs/

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL