It's Blueprint, but for
Yew in Rust.
Warning: 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
leave a star to let me know you are interested in this project.
Installation
Usage
Check the
template repository
to see how things work. The Blueprint CSS needs to be downloaded from your
build script.
To easily get started, you can use
cargo-generate
to get started very quickly:
cargo generate --git https://github.com/yewprint/yewprint-template.git
Development Environment
cargo xtask start
You can now go to http://localhost:8000
Blueprint CSS update
cargo xtask update-css
Roadmap
- [ ] Doc web-site designed with the library itself (like https://blueprintjs.com) including link to the Yew library
- [ ] [FocusStyleManager](https://blueprintjs.com/docs/#core/accessibility.focus-management)
- [ ] [Classes & Typography (and bp3- prefix)](https://blueprintjs.com/docs/#core/classes)
- [ ] [Breadcrumbs](https://blueprintjs.com/docs/#core/components/breadcrumbs)
- [x] [Button](https://blueprintjs.com/docs/#core/components/button)
- [ ] Complete Button API
- [ ] AnchorButton
- [x] [ButtonGroup](https://blueprintjs.com/docs/#core/components/button-group)
- [x] [Callout](https://blueprintjs.com/docs/#core/components/callout)
- [x] [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)
- [x] [Divider](https://blueprintjs.com/docs/#core/components/divider)
- [ ] [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)
- [x] [Menu](https://blueprintjs.com/docs/#core/components/menu)
- [ ] Complete Menu API
- depends on: Popover
- [ ] [Popover](https://blueprintjs.com/docs/#core/components/menu.dropdowns) (dropdowns)
- [ ] [Navbar](https://blueprintjs.com/docs/#core/components/navbar)
- [ ] [OverflowList](https://blueprintjs.com/docs/#core/components/overflow-list)
- [x] [PanelStack](https://blueprintjs.com/docs/#core/components/panel-stack)
- [x] [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)
- [x] [Spinner](https://blueprintjs.com/docs/#core/components/spinner)
- [x] [Tabs](https://blueprintjs.com/docs/#core/components/tabs)
- [x] [Tag](https://blueprintjs.com/docs/#core/components/tag)
- [x] [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)
- [x] [ControlGroup](https://blueprintjs.com/docs/#core/components/control-group)
- [ ] [Label](https://blueprintjs.com/docs/#core/components/label)
- [x] [Checkbox](https://blueprintjs.com/docs/#core/components/checkbox)
- [x] [RadioGroup](https://blueprintjs.com/docs/#core/components/radio)
- [x] [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)
- [ ] [FileInput](https://blueprintjs.com/docs/#core/components/file-input)
- [x] [NumericInput](https://blueprintjs.com/docs/#core/components/numeric-input)
- [x] [InputGroup](https://blueprintjs.com/docs/#core/components/text-inputs.input-group)
- [x] [TextArea](https://blueprintjs.com/docs/#core/components/text-inputs.text-area)
- [ ] [TagInput](https://blueprintjs.com/docs/#core/components/tag-input)
- [x] [Overlay](https://blueprintjs.com/docs/#core/components/overlay)
- [x] [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)
- [ ] [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)
- [ ] [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/#table)
- [ ] [TimezonePicker](https://blueprintjs.com/docs/#timezone)