yewprint/README.md

137 lines
7.1 KiB
Markdown
Raw Normal View History

2020-09-19 12:08:57 +00:00
![Demo](https://github.com/cecton/blueprint-rs/blob/main/demo.mp4?raw=true)
2020-09-13 20:21:47 +00:00
blueprint-rs
============
It's [Blueprint](https://blueprintjs.com), but for
[Yew](https://github.com/yewstack/yew) in [Rust](https://www.rust-lang.org/).
This is in early development and it is possible it won't be finished if there
is no interest. Don't use this in production! Please help or at least leave it
a star to let me know you are interested in this project.
Installation
------------
2020-09-20 17:59:47 +00:00
## Development
This section will walk you through setting up the environment required to modify
the source of `yewprint`.
2020-09-13 20:21:47 +00:00
### Prerequisites
2020-09-20 17:59:47 +00:00
- [Rust](https://rustup.rs/)
- [wasm-pack](https://github.com/rustwasm/wasm-pack)
- [simple-http-server](https://github.com/TheWaWaR/simple-http-server)
- [cargo-watch](https://github.com/passcod/cargo-watch)
> You may encounter issues when running this command on MacOS. Refer to this issue for more details [cargo-watch/issues/129](https://github.com/passcod/cargo-watch/issues/129)
2020-09-13 20:21:47 +00:00
### Use as a library
```toml
2020-09-20 15:06:28 +00:00
yewprint = { git = "https://github.com/cecton/yewprint.git", branch = "main" }
2020-09-13 20:21:47 +00:00
```
### Development server
```
./dev.sh
```
2020-09-20 09:05:06 +00:00
#### Troubleshooting
- I can't install `cargo-watch` on OSX.
This happens on some machines. Try installing the
[pre-compiled binary](https://github.com/passcod/cargo-watch/releases)
instead.
2020-09-20 09:05:06 +00:00
Roadmap
-------
- [ ] Doc web-site designed with the library itself (like https://blueprintjs.com) including link to the Yew library
2020-09-20 09:05:06 +00:00
- [ ] [FocusStyleManager](https://blueprintjs.com/docs/#core/accessibility.focus-management)
- [ ] [Classes & Typography (and bp3- prefix)](https://blueprintjs.com/docs/#core/classes)
- [HTML elements](https://blueprintjs.com/docs/#core/components/html)
- [HTML table](https://blueprintjs.com/docs/#core/components/html-table)
- [Non-ideal state](https://blueprintjs.com/docs/#core/components/non-ideal-state)
- [HTML select](https://blueprintjs.com/docs/#core/components/html-select)
- [HTML input](https://blueprintjs.com/docs/#core/components/text-inputs.html-input)
- [Search field](https://blueprintjs.com/docs/#core/components/text-inputs.search-field)
- [ ] [Breadcrumbs](https://blueprintjs.com/docs/#core/components/breadcrumbs)
- [x] [Button](https://blueprintjs.com/docs/#core/components/button)
- [ ] Complete Button API
- [ ] AnchorButton
- [ ] [ButtonGroup](https://blueprintjs.com/docs/#core/components/button-group)
2020-09-20 15:04:22 +00:00
- depends on: Button
2020-09-20 09:05:06 +00:00
- [ ] [Callout](https://blueprintjs.com/docs/#core/components/callout)
- [ ] [Card](https://blueprintjs.com/docs/#core/components/card)
- [x] [Collapse](https://blueprintjs.com/docs/#core/components/collapse)
- [ ] [CollapsibleList](https://blueprintjs.com/docs/#core/components/collapsible-list)
- [ ] [Divider](https://blueprintjs.com/docs/#core/components/divider)
2020-09-20 15:04:22 +00:00
- depends on: ButtonGroup
2020-09-20 09:05:06 +00:00
- [ ] [EditableText](https://blueprintjs.com/docs/#core/components/editable-text)
- [ ] [Hotkeys](https://blueprintjs.com/docs/#core/components/hotkeys)
- [x] [Icon](https://blueprintjs.com/docs/#core/components/icon)
- [ ] [Menu](https://blueprintjs.com/docs/#core/components/menu)
- [ ] [Popover](https://blueprintjs.com/docs/#core/components/menu.dropdowns) (dropdowns)
- depends on: Menu
- [ ] [Navbar](https://blueprintjs.com/docs/#core/components/navbar)
- [ ] [OverflowList](https://blueprintjs.com/docs/#core/components/overflow-list)
- [ ] [PanelStack](https://blueprintjs.com/docs/#core/components/panel-stack)
- [ ] [ProgressBar](https://blueprintjs.com/docs/#core/components/progress-bar)
- [ ] [ResizeSensor](https://blueprintjs.com/docs/#core/components/resize-sensor)
- [ ] [Skeleton](https://blueprintjs.com/docs/#core/components/skeleton)
- [ ] [Spinner](https://blueprintjs.com/docs/#core/components/spinner)
- [ ] [Tabs](https://blueprintjs.com/docs/#core/components/tabs)
- [ ] [Tag](https://blueprintjs.com/docs/#core/components/tag)
- [ ] [Text](https://blueprintjs.com/docs/#core/components/text)
- [x] [Tree](https://blueprintjs.com/docs/#core/components/tree)
- depends on: Collapse, Icon
- [ ] [FormGroup](https://blueprintjs.com/docs/#core/components/form-group)
- [ ] [ControlGroup](https://blueprintjs.com/docs/#core/components/control-group)
- [ ] [Label](https://blueprintjs.com/docs/#core/components/label)
- [ ] [Checkbox](https://blueprintjs.com/docs/#core/components/checkbox)
- [ ] [RadioGroup](https://blueprintjs.com/docs/#core/components/radio)
- [ ] [Sliders](https://blueprintjs.com/docs/#core/components/sliders)
- [ ] [RangeSlider](https://blueprintjs.com/docs/#core/components/sliders.range-slider)
- [ ] [MultiSlider](https://blueprintjs.com/docs/#core/components/sliders.multi-slider)
- [x] [Switch](https://blueprintjs.com/docs/#core/components/switch)
2020-09-20 15:04:22 +00:00
- [ ] Complete Switch API
2020-09-20 09:05:06 +00:00
- [ ] [FileInput](https://blueprintjs.com/docs/#core/components/file-input)
- [ ] [NumericInput](https://blueprintjs.com/docs/#core/components/numeric-input)
- [ ] [InputGroup](https://blueprintjs.com/docs/#core/components/text-inputs.input-group)
- [ ] [TextArea](https://blueprintjs.com/docs/#core/components/text-inputs.text-area)
- [ ] [TagInput](https://blueprintjs.com/docs/#core/components/tag-input)
- [ ] [Overlay](https://blueprintjs.com/docs/#core/components/overlay)
- depends on: Portal
- [ ] [Portal](https://blueprintjs.com/docs/#core/components/portal)
- [ ] [Alert](https://blueprintjs.com/docs/#core/components/alert)
- depends on: Button, Dialog
- [ ] [Context menu](https://blueprintjs.com/docs/#core/components/context-menu)
- depends on: Popover
- [ ] [Dialog](https://blueprintjs.com/docs/#core/components/dialog)
- depends on: Icon, Overlay, Button
- [ ] [Drawer](https://blueprintjs.com/docs/#core/components/drawer)
- depends on: Icon, Overlay, Button
- [ ] [Popover](https://blueprintjs.com/docs/#core/components/popover)
- depends on: ResizeSensor, Tooltip, Overlay
- [ ] [Toast](https://blueprintjs.com/docs/#core/components/toast)
- depends on: Button, ButtonGroup, Icon, AnchorButton
- [ ] [Tooltip](https://blueprintjs.com/docs/#core/components/tooltip)
- depends on: Popover
- [ ] [DatePicker](https://blueprintjs.com/docs/#datetime/datepicker)
- [ ] [DateRangePicker](https://blueprintjs.com/docs/#datetime/daterangepicker)
- [ ] [TimePicker](https://blueprintjs.com/docs/#datetime/timepicker)
- [ ] [DateTimePicker](https://blueprintjs.com/docs/#datetime/datetimepicker)
- [ ] [DateInput](https://blueprintjs.com/docs/#datetime/dateinput)
- [ ] [DateRangeInput](https://blueprintjs.com/docs/#datetime/daterangeinput)
- [ ] [Select](https://blueprintjs.com/docs/#select/select-component)
- [ ] [Suggest](https://blueprintjs.com/docs/#select/suggest)
- [ ] [MultiSelect](https://blueprintjs.com/docs/#select/multi-select)
- [ ] [Omnibar](https://blueprintjs.com/docs/#select/omnibar)
- [ ] [QueryList](https://blueprintjs.com/docs/#select/query-list)
- [ ] [Table](https://blueprintjs.com/docs/#select/query-list)
- [ ] [TimezonePicker](https://blueprintjs.com/docs/#timezone)