lucid-ui
Version:
A UI component library from Xandr.
265 lines • 11.8 kB
JavaScript
;
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.Colors = exports.Interactive = exports.DoubleNested = exports.Nested = exports.Basic = void 0;
var react_1 = __importStar(require("react"));
var lodash_1 = __importDefault(require("lodash"));
var Tag_1 = __importDefault(require("../Tag/Tag"));
exports.default = {
title: 'Communication/Tag',
component: Tag_1.default,
args: Tag_1.default.defaultProps,
parameters: {
docs: {
description: {
component: Tag_1.default.peek.description,
},
},
},
};
var Basic = function (args) {
return (react_1.default.createElement("div", null,
react_1.default.createElement("div", null,
react_1.default.createElement(Tag_1.default, __assign({}, args), "Amet"),
react_1.default.createElement(Tag_1.default, __assign({}, args), "nam"),
react_1.default.createElement(Tag_1.default, __assign({}, args), "quibusdam"),
react_1.default.createElement(Tag_1.default, __assign({}, args, { isRemovable: true }), "nobis"),
react_1.default.createElement(Tag_1.default, __assign({}, args, { isRemovable: true }), "autem"),
react_1.default.createElement(Tag_1.default, __assign({}, args, { isRemovable: true }), "sapiente")),
react_1.default.createElement("div", null,
react_1.default.createElement(Tag_1.default, __assign({}, args),
"Fruits",
react_1.default.createElement(Tag_1.default, __assign({}, args), "Apples"),
react_1.default.createElement(Tag_1.default, __assign({}, args), "Oranges"),
react_1.default.createElement(Tag_1.default, __assign({}, args), "Bananas")),
react_1.default.createElement(Tag_1.default, __assign({}, args, { isRemovable: true }),
"Vegetables",
react_1.default.createElement(Tag_1.default, __assign({}, args, { isRemovable: true }), "Carrots"),
react_1.default.createElement(Tag_1.default, __assign({}, args, { isRemovable: true }), "Spinach"),
react_1.default.createElement(Tag_1.default, __assign({}, args, { isRemovable: true }), "Celery")))));
};
exports.Basic = Basic;
var Nested = function (args) {
var words = [
'Fashion',
'The',
'Vexillologist',
'Cold Brew',
'This is a longer sentence that should be handled okay',
];
return (react_1.default.createElement("div", null,
react_1.default.createElement(Tag_1.default, __assign({}, args),
"Grouped items",
lodash_1.default.times(8, function (n) { return (react_1.default.createElement(Tag_1.default, { key: n }, words[n % words.length])); })),
react_1.default.createElement(Tag_1.default, __assign({}, args, { isRemovable: true }),
"Grouped items",
lodash_1.default.times(10, function (n) { return (react_1.default.createElement(Tag_1.default, __assign({}, args, { isRemovable: true, key: n }), words[n % words.length])); }))));
};
exports.Nested = Nested;
exports.Nested.parameters = {
docs: {
description: {
story: "Use a parent `tag` to group child `tags` into categories. This example also shows you how to dynamically generate a list of `tags`.",
},
},
};
var DoubleNested = function (args) {
var words = [
'Fashion',
'The',
'Vexillologist',
'Cold Brew',
'This is a longer sentence that should be handled okay but what if it is even longer than you could ever think imaginable',
];
return (react_1.default.createElement("div", null,
react_1.default.createElement(Tag_1.default, __assign({}, args, { isTop: true }),
"Global:",
react_1.default.createElement(Tag_1.default, __assign({}, args),
"Group 1",
lodash_1.default.times(4, function (n) { return (react_1.default.createElement(Tag_1.default, __assign({}, args, { key: n }), words[n % words.length])); })),
react_1.default.createElement(Tag_1.default, __assign({}, args),
"Group 2",
lodash_1.default.times(4, function (n) { return (react_1.default.createElement(Tag_1.default, __assign({}, args, { key: n }), words[n % words.length])); }))),
react_1.default.createElement(Tag_1.default, __assign({}, args, { isTop: true }),
"In-Progess:",
react_1.default.createElement(Tag_1.default, __assign({}, args),
"Group 1",
lodash_1.default.times(4, function (n) { return (react_1.default.createElement(Tag_1.default, __assign({}, args, { key: n }), words[n % words.length])); })),
react_1.default.createElement(Tag_1.default, __assign({}, args),
"Group 2",
lodash_1.default.times(4, function (n) { return (react_1.default.createElement(Tag_1.default, __assign({}, args, { key: n }), words[n % words.length])); })))));
};
exports.DoubleNested = DoubleNested;
exports.DoubleNested.parameters = {
docs: {
description: {
story: "Double nesting allows you to add a third level of hierarchy to your `tag` categorization.",
},
},
};
var Interactive = function (args) {
var groups = [
['Last Man on Earth', ['Phil']],
['Last Woman on Earth', ['Carol']],
[
'Star Wars',
[
'Ask Aak',
'Admiral Gial Ackbar',
'Acros-Krik',
'Ak-Rev',
'Stass Allie',
'Almec',
'Mas Amedda',
'Amee',
'Padmé Amidala',
'Cassian Andor',
'Bail Antilles',
'Raymus Antilles',
'Wedge Antilles',
'Queen Apailana',
'Commander Appo',
'Passel Argente',
'Faro Argyus',
'Seti Ashgad',
'AZI-3',
],
],
[
'Lord of the Rings',
[
'Adrahil',
'Adrahil II',
'Aegnor',
'Aerandir',
'Aghan',
'Aglahad',
'Ailinel',
'Alatar',
'Aldamir',
'Aldor',
'Almarian',
'Almiel',
'Amandil',
'Amdír',
'Amlaith',
'Amrod',
'Amroth',
'Anardil',
'Anborn',
'Ancalagon The Black',
'Andróg',
'Angbor',
'Angelimar',
'Angelimir',
'Angrod',
'Anárion',
'Ar-Adûnakhôr',
'Ar-Gimilzôr',
'Ar-Pharazôn',
'Ar-Sakalthôr',
'Ar-Zimrathôn',
'Arador',
'Araglas',
'Aragorn I',
'Aragorn II Elessar',
],
],
[
'Star Trek',
[
'Jonathan Archer',
'Ayala',
'Azan',
'Reginald Barclay',
'Lieutenant, JG (TNG,FCT)',
'Engineering Officer (TNG,Movies)',
'Bareil Antos',
'Julian Bashir',
'Season 6 (TNG)',
'Lieutenant, JG (S1-3)',
],
],
];
var _a = (0, react_1.useState)({}), removedItems = _a[0], setRemovedItems = _a[1];
var handleRemove = function (_a) {
var callbackId = _a.props.callbackId;
var newRemovedItems = lodash_1.default.set(removedItems, callbackId, true);
setRemovedItems(__assign({}, newRemovedItems));
};
return (react_1.default.createElement("div", null, lodash_1.default.map(groups, function (_a, groupIndex) {
var group = _a[0], names = _a[1];
var groupCallbackId = "".concat(groupIndex);
if (lodash_1.default.get(removedItems, groupCallbackId) === true) {
return null;
}
return (react_1.default.createElement(Tag_1.default, __assign({}, args, { key: groupCallbackId, isRemovable: true, onRemove: handleRemove, callbackId: groupCallbackId }),
group,
lodash_1.default.map(names, function (name, nameIndex) {
var nameCallbackId = "".concat(groupIndex, ".").concat(nameIndex);
if (lodash_1.default.get(removedItems, nameCallbackId) === true) {
return null;
}
return (react_1.default.createElement(Tag_1.default, __assign({}, args, { key: nameCallbackId, isRemovable: true, onRemove: handleRemove, callbackId: nameCallbackId }), name));
})));
})));
};
exports.Interactive = Interactive;
exports.Interactive.parameters = {
docs: {
description: {
story: "Use interactive `tags` to allow users to remove a selection.",
},
},
};
var Colors = function (args) {
return (react_1.default.createElement("div", null,
react_1.default.createElement(Tag_1.default, __assign({}, args),
react_1.default.createElement(Tag_1.default, __assign({}, args, { kind: 'info' }), "notitia"),
react_1.default.createElement(Tag_1.default, __assign({}, args, { kind: 'danger' }), "periculum"),
react_1.default.createElement(Tag_1.default, __assign({}, args, { kind: 'default' }), "deficio")),
react_1.default.createElement(Tag_1.default, __assign({}, args),
react_1.default.createElement(Tag_1.default, __assign({}, args, { isRemovable: true, kind: 'info' }), "notitia"),
react_1.default.createElement(Tag_1.default, __assign({}, args, { isRemovable: true, kind: 'danger' }), "periculum"))));
};
exports.Colors = Colors;
exports.Colors.parameters = {
docs: {
description: {
story: "`Tag` is available in two additional colors: `kind='danger'` for settings that can not be saved (for example, custom dates outside of the flight range), and `kind='default'` for disabled items (for example, past flights). The `'default'` color cannot be used for the `isRemovable` `tag`.",
},
},
};
//# sourceMappingURL=Tag.stories.js.map