UNPKG

@cimpress/react-components

Version:
83 lines 4.11 kB
import React, { Component } from 'react'; import { colors, Spinner } from '@cimpress/react-components'; export default class SpinnerDemo extends Component { constructor() { super(...arguments); Object.defineProperty(this, "state", { enumerable: true, configurable: true, writable: true, value: { spinnerHidden: false, showFullPage: false, offset: 0, } }); Object.defineProperty(this, "toggleFullPage", { enumerable: true, configurable: true, writable: true, value: () => { this.setState(prevState => ({ showFullPage: !prevState.showFullPage })); } }); Object.defineProperty(this, "toggleSlowSpinner", { enumerable: true, configurable: true, writable: true, value: () => { this.setState(prevState => ({ spinnerHidden: !prevState.spinnerHidden })); } }); Object.defineProperty(this, "handleSpinnerOffset", { enumerable: true, configurable: true, writable: true, value: offset => { this.setState(prevState => ({ offset: (offset + prevState.offset) % 1 })); } }); } render() { const { spinnerHidden, offset } = this.state; return (React.createElement("div", null, React.createElement("div", { className: "row" }, React.createElement("div", { className: "col-md-4" }, "Large (default) Size (72px):", React.createElement(Spinner, null)), React.createElement("div", { className: "col-md-4" }, "Medium (38px):", React.createElement(Spinner, { size: "medium" })), React.createElement("div", { className: "col-md-4" }, "Small Size (16px):", React.createElement(Spinner, { size: "small" }))), React.createElement("div", { className: "row", style: { paddingTop: '15px' } }, React.createElement("div", { className: "col-md-4" }, "Default Duration (2):", React.createElement(Spinner, null)), React.createElement("div", { className: "col-md-4" }, React.createElement("div", null, "Full Page Center:"), React.createElement("button", { onClick: this.toggleFullPage, className: "btn btn-primary" }, "Show spinner"), this.state.showFullPage ? React.createElement(Spinner, { fullPage: true }) : ''), React.createElement("div", { className: "col-md-4" }, "Fast Duration (1):", React.createElement(Spinner, { duration: 1 }))), React.createElement("div", { className: "row", style: { paddingTop: '15px' } }, React.createElement("div", { className: "col-md-4" }, React.createElement("div", null, "Slow Duration (8):"), React.createElement("div", null, "Utilize the offset feature to minimize jitter."), spinnerHidden ? (React.createElement("div", { style: { height: '72px', width: '72px', fontSize: '22px', color: colors.platinum, display: 'flex', justifyContent: 'center', alignItems: 'center', } }, Math.round(this.state.offset * 100), "%")) : (React.createElement(Spinner, { duration: 8, offset: offset, handleOffset: this.handleSpinnerOffset })), React.createElement("button", { onClick: this.toggleSlowSpinner, className: "btn btn-primary" }, this.state.spinnerHidden ? 'Reveal' : 'Hide'))))); } } //# sourceMappingURL=spinner.js.map