mui / mui-design-kits

The public feature and bug tracker for the MUI Design kits and Connect Figma plugin.
https://mui.com/design-kits/
110 stars 16 forks source link

[Figma] Bulk Actions #169

Open ivanbachev opened 1 year ago

ivanbachev commented 1 year ago

Duplicates

Latest version

Summary 💡

What are the recommended guidelines on bulk selection in the Table and DataGrid components and shouldn’t there be dedicated components for a bulk selection bar _(similar to the dedicated toolbar “Custom / Table / Toolbar” component)?

Currently there are two “bulk actions” examples available in the Figma ui kit for the Table component:

There are no examples provided for how bulk selection works on the “Data Grid” component.

The online documentation is also limited. I was only able to find this example https://mui.com/material-ui/react-table/#sorting-amp-selecting, which looks right but differs from the examples shown in the Figma UI kit.

[Screen Shot 2023-03-15 at 12 16 55](https://mui.com/material-ui/react-table/#sorting-amp-selecting)

Examples 🌈

I would personally recommend the Carbon Design System solution for covering the toolbar as this prevents the user from searching or filtering while the bulk actions are active. https://carbondesignsystem.com/components/data-table/usage#multi-select-and-batch-action https://react.carbondesignsystem.com/?path=/story/components-datatable-batch-actions--default

Motivation 🔩

My personal opinion is that there must be a consistency between the Table and DataGrid component regarding handling bulk actions. I would say a dedicated “Bulk Actions” component is need in the UI kit, with variants for Text and Icon buttons, "Cancel" action to clear the selection and etc.

oliviertassinari commented 1 year ago

Interesting question. I'm not aware that we have a story for this, so far, we leave this to the realm of the product designers that build with the components, cc @gerdadesign in guess you would like to recommend a specific solution.

adrianmanea commented 1 year ago

I also noticed this issue, and you are correct. There should be a defined way of doing bulk actions, at least out-of-the-box. That's why I have designed two concepts. People can try them out since a standard one is not available in the API. I think the one from the documentation is also custom created, correct?