All Projects → HriBB → react-mdl-extra

HriBB / react-mdl-extra

Licence: MIT License
React MDL Extra components

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
shell
77523 projects

Projects that are alternatives of or similar to react-mdl-extra

Materialdesigninxamltoolkit
Google's Material Design in XAML & WPF, for C# & VB.Net.
Stars: ✭ 11,603 (+28200%)
Mutual labels:  design, material
Material
A UI/UX framework for creating beautiful applications.
Stars: ✭ 11,870 (+28851.22%)
Mutual labels:  design, material
Material Discord
Material design theme for Discord
Stars: ✭ 127 (+209.76%)
Mutual labels:  design, material
Material Design For Bootstrap
Important! A new UI Kit version for Bootstrap 5 is available. Access the latest free version via the link below.
Stars: ✭ 9,463 (+22980.49%)
Mutual labels:  design, material
Shrine Materialdesign2
implementation of Material Design 2 Shrine project
Stars: ✭ 215 (+424.39%)
Mutual labels:  design, material
Materialdesigndemo
A beautiful app designed with Material Design.
Stars: ✭ 1,391 (+3292.68%)
Mutual labels:  design, material
Motion
A library used to create beautiful animations and transitions for iOS.
Stars: ✭ 1,726 (+4109.76%)
Mutual labels:  design, material
Material Design Theme
🎨 A ex-theme for Discord according to Google's Material design Guidelines. Now moved to https://github.com/rauenzi/Nox
Stars: ✭ 50 (+21.95%)
Mutual labels:  design, material
React Mdc Web
Material Design Components for React
Stars: ✭ 175 (+326.83%)
Mutual labels:  design, material
Materialdesign2
A beautiful app designed with Material Design 2 using Android X.
Stars: ✭ 170 (+314.63%)
Mutual labels:  design, material
Vue Mdc
Material web components for Vue.js
Stars: ✭ 1,217 (+2868.29%)
Mutual labels:  design, material
Material Colors Native
Material Colors - A React Native App to Select Material Colors for macOS.
Stars: ✭ 246 (+500%)
Mutual labels:  design, material
Fiftyshadesof
An elegant context-care loading placeholder for Android
Stars: ✭ 1,110 (+2607.32%)
Mutual labels:  design, material
Materialize
Materialize, a CSS Framework based on Material Design
Stars: ✭ 38,630 (+94119.51%)
Mutual labels:  design, material
Materialdesigncolor
This project shows the color in material design
Stars: ✭ 55 (+34.15%)
Mutual labels:  design, material
Arclayout
With Arc Layout explore new styles and approaches on material design
Stars: ✭ 1,662 (+3953.66%)
Mutual labels:  design, material
Flutter Neumorphic
A complete, ready to use, Neumorphic ui kit for Flutter, 🕶️ dark mode compatible
Stars: ✭ 988 (+2309.76%)
Mutual labels:  design, material
Material Bottom Nav
A bottom navigation bar adhering to the Material Design specification.
Stars: ✭ 41 (+0%)
Mutual labels:  design, material
Material Apex
A Material Design Theme for Oracle APEX
Stars: ✭ 161 (+292.68%)
Mutual labels:  design, material
Dialogsheet
An Android library to create fully material designed bottom dialogs similar to the Android Pay app.
Stars: ✭ 236 (+475.61%)
Mutual labels:  design, material

React-MDL SelectField

This project is not maintained anymore. If someone wishes to take over, let me know ;)

Extra components for React Material Design Lite.

All components use a custom Dropdown, that uses react-portal to render itself to document body, and Tether for positioning.

Installation

npm install --save react-mdl-extra

Examples

https://hribb.github.io/react-mdl-extra/?down=0

git clone https://github.com/HriBB/react-mdl-extra
cd react-mdl-extra
npm install
npm run storybook
open http://localhost:9002/

Usage

Dropdown

import { Dropdown } from 'react-mdl-extra';

<Dropdown target={<Button>Open</Button>} align={'tl bl'} offset={'0 10px'}>
  <div className={'custom-menu'}>
    ...
  </div>
</Dropdown>

SelectField

import { SelectField, Option } from 'react-mdl-extra';

<SelectField label={'Select me'} value={3}>
  <Option value={1}>One</Option>
  <Option value={2}>Two</Option>
  <Option value={3}>Three</Option>
  <Option value={4}>Four</Option>
  <Option value={5}>Five</Option>
</SelectField>

MultiSelectField

import { MultiSelectField, Option } from 'react-mdl-extra';

<MultiSelectField label={'Select me many times'} value={[1,3]}>
  <Option value={1}>One</Option>
  <Option value={2}>Two</Option>
  <Option value={3}>Three</Option>
  <Option value={4}>Four</Option>
  <Option value={5}>Five</Option>
</MultiSelectField>

Menu

import { Menu, MenuItem } from 'react-mdl-extra';

<Menu target={<Button raised>Open menu</Button>}>
  <MenuItem>One</MenuItem>
  <MenuItem>Two</MenuItem>
  <MenuItem>Three</MenuItem>
</Menu>

AutoComplete

import { AutoComplete } from 'react-mdl-extra';

const items = [
  { id: 1, name: 'Darth Vader' },
  { id: 2, name: 'Luke Skywalker' },
  { id: 3, name: 'Obi Wan Kenobi' },
]

<AutoComplete
  label={'I will complete you'}
  items={items}
  valueIndex={'id'}
  dataIndex={'name'}
/>

Positioning Dropdown

See tether. Uses shorthand declaration. First two letter are the attachment property, followed by a space and second two letters, which are the targetAttachment property.

Examples:

align="tl bl"

Attach top left edge of the dropdown to the bottom left edge of the target.

align="br tr"

Attach bottom right edge of the dropdown to the top right edge of the target.

TODO

  • Split Dropdown into a separate component
  • Use native controls on mobile
  • Improve AutoComplete on mobile
  • Improve styles and remove sass
  • Improve position declaration
  • Create MultiSelectField
  • Create AutoCompleteField
  • Create DatePickerField
  • Key and focus handling
  • Add tests
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].