UNPKG

@uifabric/experiments

Version:

Experimental React components for building experiences for Office 365.

47 lines 2.04 kB
define(["require", "exports", "tslib", "react", "../../utilities/BaseState"], function (require, exports, tslib_1, React, BaseState_1) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ToggleState = /** @class */ (function (_super) { tslib_1.__extends(ToggleState, _super); function ToggleState(props) { var _this = _super.call(this, props, { controlledProps: ['checked', 'text'], transformViewProps: function (newProps) { newProps.text = newProps.checked ? props.onText : props.offText; return newProps; } }) || this; _this._toggleButtonRef = React.createRef(); _this.focus = function () { if (_this._toggleButtonRef.current) { _this._toggleButtonRef.current.focus(); } }; _this._onClick = function (ev) { var _a = _this.props, disabled = _a.disabled, onChange = _a.onChange; var checked = _this.state.checked; if (!disabled) { // Only update the state if the user hasn't provided it. _this.setState({ checked: !checked }); if (onChange) { onChange(ev, !checked); } } }; _this.state = { checked: !!props.defaultChecked, text: !!props.defaultChecked ? props.onText : props.offText, onChange: _this._noop, onClick: _this._onClick, toggleButtonRef: _this._toggleButtonRef }; return _this; } ToggleState.prototype._noop = function () { /* no-op */ }; return ToggleState; }(BaseState_1.BaseState)); exports.ToggleState = ToggleState; }); //# sourceMappingURL=Toggle.state.js.map