UNPKG

@cimpress/react-components

Version:
98 lines 6.1 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); const react_1 = __importStar(require("react")); const react_components_1 = require("@cimpress/react-components"); const disabledValue = { value: 'one', label: 'One' }; class SelectDemo extends react_1.Component { constructor() { super(...arguments); Object.defineProperty(this, "state", { enumerable: true, configurable: true, writable: true, value: { options: [ { value: 'one', label: 'One' }, { value: 'two', label: 'Two' }, { value: 'three', label: 'Three' }, { value: 'four', label: 'Four' }, { value: 'five', label: 'Five' }, ], selectedSingle: undefined, selectedMulti: undefined, selectedBlur: undefined, } }); Object.defineProperty(this, "onSingleSelectionChange", { enumerable: true, configurable: true, writable: true, value: selectedSingle => { this.setState({ selectedSingle }); } }); Object.defineProperty(this, "onMultiSelectionChange", { enumerable: true, configurable: true, writable: true, value: selectedMulti => { this.setState({ selectedMulti }); } }); Object.defineProperty(this, "onBlurSelectionChange", { enumerable: true, configurable: true, writable: true, value: (selectedBlur, action) => { // v. ^2.0 does not support onBlurResetsInput so the following workaround is required to preserve inputs on blur if (action.action !== 'input-blur' && action.action !== 'menu-close') { this.setState({ selectedBlur }); } } }); } render() { return (react_1.default.createElement(react_1.default.Fragment, null, react_1.default.createElement("div", { className: "row" }, react_1.default.createElement("div", { className: "col-md-6" }, react_1.default.createElement(react_components_1.Select, { isClearable: true, label: "Select a thing", value: this.state.selectedSingle, options: this.state.options, onChange: this.onSingleSelectionChange, helpText: "You can select a single thing from here." })), react_1.default.createElement("div", { className: "col-md-6" }, react_1.default.createElement(react_components_1.Select, { isClearable: true, label: "Select many things", value: this.state.selectedMulti, options: this.state.options, onChange: this.onMultiSelectionChange, isMulti: true, helpText: "You can select multiple things from here." })), react_1.default.createElement("div", { className: "col-md-6" }, react_1.default.createElement(react_components_1.Select, { isClearable: true, label: "On Blur Test", value: this.state.selectedBlur, inputValue: this.state.selectedBlur, options: this.state.options, onInputChange: this.onBlurSelectionChange, helpText: "Type something and then click outside to test blur." })), react_1.default.createElement("div", { className: "col-md-6" }, react_1.default.createElement(react_components_1.Select, { isDisabled: true, isClearable: true, label: "Disable Test", value: disabledValue, options: this.state.options, menuPortalTarget: document.body, onBlurResetsInput: false, helpText: "You can't select anything because the select is disabled." }))), react_1.default.createElement("div", { className: "row" }, react_1.default.createElement("div", { className: "col-md-4" }, react_1.default.createElement(react_components_1.Select, { isMulti: true, isClearable: true, label: "Select many things", value: this.state.selectedMulti, options: this.state.options, onChange: this.onMultiSelectionChange, status: "success", helpText: "You can safely select multiple things from here." })), react_1.default.createElement("div", { className: "col-md-4" }, react_1.default.createElement(react_components_1.Select, { isClearable: true, label: "Select a thing", value: this.state.selectedSingle, options: this.state.options, onChange: this.onSingleSelectionChange, status: "warning", helpText: "You need to cautiously select a single thing from here." })), react_1.default.createElement("div", { className: "col-md-4" }, react_1.default.createElement(react_components_1.Select, { isClearable: true, label: "Select a thing", value: this.state.selectedSingle, options: this.state.options, onChange: this.onSingleSelectionChange, status: "error", helpText: "It is dangerous to select anything." }))))); } } exports.default = SelectDemo; //# sourceMappingURL=select.js.map