This is a SharePoint Framework (SPFx) component library built using Material-UI (MUI). It provides reusable React components for building modern and visually appealing user interfaces in SharePoint.
To install this component library in your SPFx project, you can use npm:
npm install mui-spfx-controls --save
Once installed, you can import and use the components in your SPFx web part or extension. Alternatively, prebuilt webparts can be used after deploying solution to site's AppCatalog For example:
import * as React from 'react';
import * as ReactDom from "react-dom";
import { BaseClientSideWebPart } from '@microsoft/sp-webpart-base';
import { PeoplePicker, IPeoplePickerProps } from 'mui-spfx-controls';
export default class PeoplePickerWebPart extends BaseClientWebPart {
public render(): void {
const element = React.ReactElement<IPeoplePickerProps> = React.createElement(
PeoplePicker,
{
context: this.context,
label: "People",
size: "small",
disabled: false,
variant: "outlined",
tagVariant: "filled",
color: "primary",
tagColor: "secondary",
}
);
ReactDom.render(element, this.domElement);
}
}
import * as React from 'react';
import * as ReactDom from "react-dom";
import { BaseClientSideWebPart } from '@microsoft/sp-webpart-base';
import { Dashboard, IDashboardProps } from 'mui-spfx-controls';
export default class PeoplePickerWebPart extends BaseClientWebPart {
public render(): void {
const element = React.ReactElement<IDashboardProps> = React.createElement(
Dashboard,
{
context: this.context,
list: "ListName",
fields: ["Field1", "Field2", "Field3", "Field4", ],
height: 750,
}
);
ReactDom.render(element, this.domElement);
}
}
A SharePoint people picker component with MUI library integration
- context (required): SP context
- label (required): Textfield label
- onSelectionChange (optional): Get selection value updates
- searchSuggestionLimit (optional): number of suggestions to provide
- disabled (optional): Is component disabled
- variant (optional): Textfield variant ('standard', 'outlined', 'filled')
- tagVariant (optional): Chip variant ('filled', 'outlined')
- color (optional): Button color, e.g., "primary" or "secondary"
- tagColor (optional): Chip color, e.g., "default" or "secondary"
- size (optional): Size of component
- LoadingComponent (optional): A loading component
- styles (optional): Styles to apply
- sx (optional): MUI's sx prop
A dashboard component with MUI Data Grid
- context (required): SP context
- list (required): SharePoint list to pull data from
- fields (required): Internal Name of fields to display in dashboard
- height (optional): Absolute or relative container height
- sx (optional): MUI's sx prop
If you want to contribute to the library, you can follow these steps:
Clone the repository:
git clone https://github.com/anapeksha/mui-spfx-controls.git
Install dependencies:
cd mui-spfx-controls
npm install
Serve the solution
npm run serve:fast
Test the components/webparts in a sample SPFx project
This project is licensed under the MIT License - see the LICENSE.md
file for details.