lucid-ui
Version:
A UI component library from Xandr.
129 lines • 7.48 kB
JavaScript
"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
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 });
exports.LabelAsProp = exports.LabelAsChild = exports.States = exports.Basic = void 0;
var react_1 = __importStar(require("react"));
var RadioButtonLabeled_1 = __importDefault(require("./RadioButtonLabeled"));
exports.default = {
title: 'Controls/RadioButtonLabeled',
component: RadioButtonLabeled_1.default,
parameters: {
docs: {
description: {
component: RadioButtonLabeled_1.default.peek.description,
},
},
},
args: RadioButtonLabeled_1.default.defaultProps,
};
/* Basic */
var Basic = function (args) {
var style = {
marginBottom: '3px',
};
var _a = (0, react_1.useState)('vanilla'), flavor = _a[0], setFlavor = _a[1];
var handleSelectedFlavor = function (flavor) {
setFlavor(flavor);
};
return (react_1.default.createElement("section", null,
react_1.default.createElement("span", { style: {
display: 'inline-flex',
flexDirection: 'column',
alignItems: 'flex-start',
} },
react_1.default.createElement(RadioButtonLabeled_1.default, __assign({}, args, { isSelected: flavor === 'vanilla', name: 'interactive-radio-buttons', onSelect: function () { return handleSelectedFlavor('vanilla'); }, style: style }),
react_1.default.createElement(RadioButtonLabeled_1.default.Label, null, "Vanilla")),
react_1.default.createElement(RadioButtonLabeled_1.default, __assign({}, args, { isSelected: flavor === 'chocolate', name: 'interactive-radio-buttons', onSelect: function () { return handleSelectedFlavor('chocolate'); }, style: style }),
react_1.default.createElement(RadioButtonLabeled_1.default.Label, null, "Chocolate")),
react_1.default.createElement(RadioButtonLabeled_1.default, __assign({}, args, { isSelected: flavor === 'strawberry', name: 'interactive-radio-buttons', onSelect: function () { return handleSelectedFlavor('strawberry'); }, style: style }),
react_1.default.createElement(RadioButtonLabeled_1.default.Label, null, "Strawberry")),
react_1.default.createElement(RadioButtonLabeled_1.default, __assign({}, args, { isSelected: flavor === 'saltedCaramel', name: 'interactive-radio-buttons', onSelect: function () { return handleSelectedFlavor('saltedCaramel'); }, style: style }),
react_1.default.createElement(RadioButtonLabeled_1.default.Label, null, "Salted caramel")),
react_1.default.createElement(RadioButtonLabeled_1.default, __assign({}, args, { isSelected: flavor === 'mintChip', name: 'interactive-radio-buttons', onSelect: function () { return handleSelectedFlavor('mintChip'); }, style: style }),
react_1.default.createElement(RadioButtonLabeled_1.default.Label, null, "Mint chocolate chip (the best)")))));
};
exports.Basic = Basic;
/* States */
var States = function (args) {
var style = {
marginBottom: '3px',
marginRight: '13px',
};
return (react_1.default.createElement("section", null,
react_1.default.createElement(RadioButtonLabeled_1.default, __assign({}, args, { style: style }),
react_1.default.createElement(RadioButtonLabeled_1.default.Label, null, "(default props)")),
react_1.default.createElement("section", { style: { display: 'flex' } },
react_1.default.createElement(RadioButtonLabeled_1.default, __assign({}, args, { isDisabled: true, style: style }),
react_1.default.createElement(RadioButtonLabeled_1.default.Label, null, "Disabled")),
react_1.default.createElement(RadioButtonLabeled_1.default, __assign({}, args, { isSelected: true, style: style }),
react_1.default.createElement(RadioButtonLabeled_1.default.Label, null, "Selected")),
react_1.default.createElement(RadioButtonLabeled_1.default, __assign({}, args, { isDisabled: true, isSelected: true, style: style }),
react_1.default.createElement(RadioButtonLabeled_1.default.Label, null, "Disabled and Selected")))));
};
exports.States = States;
/* Label As Child */
var LabelAsChild = function (args) {
var style = {
marginBottom: '3px',
};
return (react_1.default.createElement("section", null,
react_1.default.createElement(RadioButtonLabeled_1.default, __assign({}, args, { style: style }),
react_1.default.createElement(RadioButtonLabeled_1.default.Label, null, "Just text")),
react_1.default.createElement(RadioButtonLabeled_1.default, __assign({}, args, { style: style }),
react_1.default.createElement(RadioButtonLabeled_1.default.Label, null,
react_1.default.createElement("span", null, "HTML element")))));
};
exports.LabelAsChild = LabelAsChild;
/* Label As Prop */
var LabelAsProp = function (args) {
var style = {
marginBottom: '3px',
};
return (react_1.default.createElement("section", null,
react_1.default.createElement(RadioButtonLabeled_1.default, { Label: 'Just text', style: style }),
react_1.default.createElement(RadioButtonLabeled_1.default, { Label: react_1.default.createElement("span", null, "HTML element"), style: style }),
react_1.default.createElement(RadioButtonLabeled_1.default, { Label: [
'Text in an array',
'Only the first value in the array is used',
'The rest of these should be ignored',
], style: style }),
react_1.default.createElement(RadioButtonLabeled_1.default, { Label: [
react_1.default.createElement("span", { key: '1' }, "HTML element in an array"),
react_1.default.createElement("span", { key: '2' }, "Again only the first value in the array is used"),
react_1.default.createElement("span", { key: '3' }, "The rest should not be rendered"),
], style: style })));
};
exports.LabelAsProp = LabelAsProp;
//# sourceMappingURL=RadioButtonLabeled.stories.js.map