UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Office 365.

80 lines 4.06 kB
import * as tslib_1 from "tslib"; import * as React from 'react'; import { Checkbox } from 'office-ui-fabric-react/lib/Checkbox'; import { Dropdown } from 'office-ui-fabric-react/lib/Dropdown'; import { Facepile } from 'office-ui-fabric-react/lib/Facepile'; import { PersonaSize } from 'office-ui-fabric-react/lib/Persona'; import { Slider } from 'office-ui-fabric-react/lib/Slider'; import { autobind } from 'office-ui-fabric-react/lib/Utilities'; import { facepilePersonas } from './FacepileExampleData'; import './Facepile.Examples.scss'; import * as exampleStylesImport from '../../../common/_exampleStyles.scss'; var exampleStyles = exampleStylesImport; var FacepileBasicExample = /** @class */ (function (_super) { tslib_1.__extends(FacepileBasicExample, _super); function FacepileBasicExample(props) { var _this = _super.call(this, props) || this; _this.state = { numberOfFaces: 3, imagesFadeIn: true, personaSize: PersonaSize.size32 }; return _this; } FacepileBasicExample.prototype.render = function () { var _this = this; var _a = this.state, numberOfFaces = _a.numberOfFaces, personaSize = _a.personaSize; var facepileProps = { personaSize: personaSize, personas: facepilePersonas.slice(0, numberOfFaces), getPersonaProps: function (persona) { return { imageShouldFadeIn: _this.state.imagesFadeIn }; }, ariaDescription: 'To move through the items use left and right arrow keys.' }; return (React.createElement("div", { className: 'ms-FacepileExample' }, React.createElement(Facepile, tslib_1.__assign({}, facepileProps)), React.createElement("div", { className: 'control' }, React.createElement(Slider, { label: 'Number of Personas:', min: 1, max: 5, step: 1, showValue: true, value: numberOfFaces, onChange: this._onChangePersonaNumber }), React.createElement(Dropdown, { label: 'Persona Size:', selectedKey: this.state.personaSize, options: [ { key: PersonaSize.size16, text: PersonaSize[PersonaSize.size16] }, { key: PersonaSize.size24, text: PersonaSize[PersonaSize.size24] }, { key: PersonaSize.size28, text: PersonaSize[PersonaSize.size28] }, { key: PersonaSize.size32, text: PersonaSize[PersonaSize.size32] }, { key: PersonaSize.size40, text: PersonaSize[PersonaSize.size40] } ], onChanged: this._onChangePersonaSize }), React.createElement(Checkbox, { className: exampleStyles.exampleCheckbox, label: 'Fade In', checked: this.state.imagesFadeIn, onChange: this._onChangeFadeIn })))); }; FacepileBasicExample.prototype._onChangeFadeIn = function (ev, checked) { this.setState(function (prevState) { prevState.imagesFadeIn = checked; return prevState; }); }; FacepileBasicExample.prototype._onChangePersonaNumber = function (value) { this.setState(function (prevState) { prevState.numberOfFaces = value; return prevState; }); }; FacepileBasicExample.prototype._onChangePersonaSize = function (value) { this.setState(function (prevState) { prevState.personaSize = value.key; return prevState; }); }; tslib_1.__decorate([ autobind ], FacepileBasicExample.prototype, "_onChangeFadeIn", null); tslib_1.__decorate([ autobind ], FacepileBasicExample.prototype, "_onChangePersonaNumber", null); tslib_1.__decorate([ autobind ], FacepileBasicExample.prototype, "_onChangePersonaSize", null); return FacepileBasicExample; }(React.Component)); export { FacepileBasicExample }; //# sourceMappingURL=Facepile.Basic.Example.js.map