All Projects β†’ techniq β†’ Mui Downshift

techniq / Mui Downshift

Licence: mit
Thin layer over paypal's downshift to use Material UI visual components

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Mui Downshift

Shards Dashboard
πŸ”₯A beautiful Bootstrap 4 admin dashboard templates pack.
Stars: ✭ 1,143 (+1170%)
Mutual labels:  material-ui
Mson React
React and Material-UI Rendering Layer for MSON
Stars: ✭ 74 (-17.78%)
Mutual labels:  material-ui
React Express Webpack
React boilerplate with ES2015, Express.js, and Webpack 4
Stars: ✭ 84 (-6.67%)
Mutual labels:  material-ui
Android Material Design In Practice
A project to demonstrate the latest material design principles with simple examples. It has additional examples on how to easily scale texts on different screen sizes without extra effort.
Stars: ✭ 67 (-25.56%)
Mutual labels:  material-ui
Gitexplorer Android
Find the right git commands πŸ”₯ without digging through the web.πŸ˜ŠπŸ˜ŠπŸ˜‰
Stars: ✭ 72 (-20%)
Mutual labels:  material-ui
Nextjs Full Demo
Demo about integration between examples of next.js and also fix some issues during development
Stars: ✭ 76 (-15.56%)
Mutual labels:  material-ui
Moviefinderusingmvvm Android
πŸ”₯ MVVM + Clean Architecture + Best Practices | 🍿Movie Finder is a sample Android application πŸ“±to search movies using OMDb API which is built to demonstrate use of Modern Android development tools - (Kotlin, Coroutines, Kodein, Architecture Components, MVVM, Retrofit, Gson, Material Components) πŸ˜ŠπŸ˜ŠπŸ˜‰
Stars: ✭ 66 (-26.67%)
Mutual labels:  material-ui
Gatsby Starter Procyon
An opinionated Gatsby starter designed for trash-eating pandas.
Stars: ✭ 88 (-2.22%)
Mutual labels:  material-ui
Materialchipview
Material Chip view. Can be used as tags for categories, contacts or creating text clouds
Stars: ✭ 1,181 (+1212.22%)
Mutual labels:  material-ui
Fullstack Shopping Cart
MERN stack shopping cart, written in TypeScript
Stars: ✭ 82 (-8.89%)
Mutual labels:  material-ui
Mahapps.metro.iconpacks
Awesome icon packs for WPF and UWP in one library
Stars: ✭ 1,157 (+1185.56%)
Mutual labels:  material-ui
Material Ui Layout
Declarative layout for Material UI
Stars: ✭ 71 (-21.11%)
Mutual labels:  material-ui
Nextjs With Redux And Material Ui
A boilerplate NextJS with Redux and Material UI
Stars: ✭ 79 (-12.22%)
Mutual labels:  material-ui
Segmentedarcview
Unique & beautiful segmented arc view with rich customisation options! RTL supported.
Stars: ✭ 67 (-25.56%)
Mutual labels:  material-ui
P32929.github.io
Second iteration of my portfolio - created using ReactJS, Material-UI, Overmind, etc
Stars: ✭ 84 (-6.67%)
Mutual labels:  material-ui
Artemis Dev Tool
An Apollo GraphQL Query Schema Testing Tool
Stars: ✭ 66 (-26.67%)
Mutual labels:  material-ui
Material Ui Color Picker
<ColorInput> component for material-ui
Stars: ✭ 74 (-17.78%)
Mutual labels:  material-ui
Togglebuttons
Android toggle buttons that adhere to the Material Design documentation.
Stars: ✭ 88 (-2.22%)
Mutual labels:  material-ui
Auxpack
A dashboard for monitoring Webpack build stats.
Stars: ✭ 86 (-4.44%)
Mutual labels:  material-ui
Create Mui Theme
online tool for creating material-ui themes
Stars: ✭ 80 (-11.11%)
Mutual labels:  material-ui

mui-downshift

Thin layer over paypal's downshift to use Material-UI 1.0 visual components

For examples of <MuiDownshift> in action, see demo or view the source

Features

  • Uses windowing for performance (via react-virtualized)
  • Asynchronous loading of items
    • Infinite scrolling
    • Paginated loading
    • Delayed loading of items until menu is opened
  • Customizable rendering (see getListItem, getInputProps, etc)
  • Control opening menu on input focus (or only on explict toggle)
  • Control height of menu based on number of items or pixels
  • Dynamic row heights using react-virtualized's CellMeasurer
  • Uses a portal to solve the z-index / stacking context problem and Material-UI's popover z-index value
  • All other capabilities inherited from downshift

Props

Property Type Required Description
items Array βœ“ Items to show in menu
getListItem Function Return an instance of Material-UI's <ListItem /> for each item. defaultProps implementation handles simple cases.
getListItemKey Function If defined, should return a deterministic key based on index within items, instead of just the default (default). Passed to react-virtualized's CellMeasurer keyMapper prop. Defining helps resolve an issue with menu changing size or the scroll position jumping around when appending more items. See the paginated fetch for an example.
getInputProps Function Customize look of Material-UI's <FormControl> and <Input />. Result of function is merged with Downshift's getInputProps
showEmpty Boolean If true, will render a single item if items is empty. Will call getListItem (if defined) with a null item to handle display
includeFooter Boolean If true, will render an additional item as the last item. Will call getListItem (if defined) with a null item to handle display. Useful for paginated scrolling (see demo) and showing loading status beyond the loading prop.
getInfiniteLoaderProps Function If provided, will wrap menu in react-virtualized InfiniteLoader and pass the props returned from the function. Be sure to provide all required props (isRowLoaded, rowCount, and loadMoreRows). Used for infinite scrolling (see demo).
getVirtualListProps Function Pass or override props provided to underlying react-virtualized List component. Note: Setting rowHeight will remove CellMeasurer usage, which is used to calculate heights dynamically. This can provide better performance, especially if set as a static value (ex. 48)
getRootProps Function Provide props to the root element that wraps the input and menu components
menuItemCount Number Number of items to show on menu before scrolling. Default 5
menuHeight Number Number of pixels to set menu before scrolling. Overrides menuItemCount if set. Default null
loading Boolean Show loading indicator
focusOnClear Boolean Focus input after clearing. See issue #9
all props available on downshift itemToString, onChange, onStateChange, ...
variant 'standard', 'filled', 'outlined' MUI input variant. Default 'standard'

Running Storybook

This project has some storybook stories.

To run storybook, you have to install the story dependencies first:

$ cd stories
$ yarn install
$ cd ..

Then use yarn to run the storybook script:

$ yarn storybook
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].