@teamsnap/teamsnap-ui
Version:
a CSS component library for TeamSnap
93 lines (92 loc) • 4.75 kB
JavaScript
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (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;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var React = __importStar(require("react"));
var react_1 = require("@storybook/react");
var addon_actions_1 = require("@storybook/addon-actions");
var addon_knobs_1 = require("@storybook/addon-knobs");
var FieldWrapper_1 = __importDefault(require("./FieldWrapper"));
var stories = (0, react_1.storiesOf)("FieldWrapper", module);
exports.default = {
title: 'FieldWrapper',
component: FieldWrapper_1.default,
};
var statusOptions = {
success: "success",
error: "error",
default: null
};
stories.add("Default", function () {
return (React.createElement(FieldWrapper_1.default, { name: "example", label: "Test Input", field: "input", fieldProps: { placeholder: "Some placehodler text" } }));
});
stories.add("Select", function () {
var errorMessage = (0, addon_knobs_1.text)("Error Message", "There was an error", null);
var status = (0, addon_knobs_1.select)("status", statusOptions, null);
return (React.createElement(FieldWrapper_1.default, { name: "example", label: "Test Input", field: "select", status: status, message: status === "error" ? errorMessage : null, fieldProps: {
options: [
{
label: "Tournament",
value: "tournament"
},
{
label: "Other",
value: "other"
}
]
} }));
});
// TODO: Array to allow multiple checkboxes or radio buttons in one field wrapper
stories.add("Checkbox", function () {
var errorMessage = (0, addon_knobs_1.text)("Error Message", "There was an error", null);
var status = (0, addon_knobs_1.select)("status", statusOptions, null);
return (React.createElement(FieldWrapper_1.default, { name: "example", label: "Test Input", field: "checkbox", status: status, message: status === "error" ? errorMessage : null, fieldProps: {
inputProps: {
onChange: (0, addon_actions_1.action)('checkbox value changed'),
},
options: [{ label: "Check me A", name: "A", value: "A" }, { label: "Check me B", name: "B", value: "B" }]
} }));
});
stories.add("Radio", function () {
var errorMessage = (0, addon_knobs_1.text)("Error Message", "There was an error", null);
var status = (0, addon_knobs_1.select)("status", statusOptions, null);
return (React.createElement(FieldWrapper_1.default, { name: "example", label: "Test Input", field: "radio", status: status, message: status === "error" ? errorMessage : null, fieldProps: {
inputProps: {
onChange: (0, addon_actions_1.action)('radio value changed'),
},
options: [
{ label: "Video killed the radio star", value: "A" },
{ label: "Check me", value: "B" }
]
} }));
});
stories.add("Toggle", function () {
var errorMessage = (0, addon_knobs_1.text)("Error Message", "There was an error", null);
var status = (0, addon_knobs_1.select)("status", statusOptions, null);
return (React.createElement(FieldWrapper_1.default, { name: "example", label: "Test Input", field: "toggle", status: status, message: status === "error" ? errorMessage : null }));
});
stories.add("Textarea", function () {
var errorMessage = (0, addon_knobs_1.text)("Error Message", "There was an error", null);
var status = (0, addon_knobs_1.select)("status", statusOptions, null);
return (React.createElement(FieldWrapper_1.default, { name: "example", label: "Test Input", field: "textarea", status: status, message: status === "error" ? errorMessage : null, fieldProps: { placeholder: "Some placehodler text" } }));
});