@launchmenu/applet-dictionary
Version:
An applet to find dictionary definitions
32 lines • 3.7 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefinitionView = void 0;
const react_1 = __importDefault(require("react"));
const model_react_1 = require("model-react");
const core_1 = require("@launchmenu/core");
const Html_1 = require("../sanitize/Html");
const Wiktionary_1 = require("../Wiktionary");
/**
* Shows the definitions for a given word
*/
const DefinitionView = ({ word, language, }) => (react_1.default.createElement(react_1.default.Fragment, null,
react_1.default.createElement(model_react_1.Loader, null, h => (language
? Wiktionary_1.Wiktionary.get(word, language, h)
: Wiktionary_1.Wiktionary.getAll(word, h)).map((type, i) => (react_1.default.createElement(core_1.Box, { key: i },
react_1.default.createElement(core_1.Box, null, type.category),
react_1.default.createElement("ul", null, type.definitions.map(({ definition, examples }, j) => (react_1.default.createElement(core_1.Box, { key: j, as: "li" },
react_1.default.createElement(Html_1.Html, { content: definition }),
react_1.default.createElement(core_1.Box, { marginLeft: "large" }, examples.map(({ example, translation }, k) => (react_1.default.createElement(core_1.Box, { marginBottom: "medium", key: k },
react_1.default.createElement(Html_1.Html, { content: example }),
translation && (react_1.default.createElement(core_1.Box, null,
" ",
"- ",
react_1.default.createElement(Html_1.Html, { content: translation }))))))))))))))),
react_1.default.createElement("div", null,
"Powered by ",
react_1.default.createElement("a", { href: "https://www.wiktionary.org/" }, "Wiktionary"))));
exports.DefinitionView = DefinitionView;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmaW5pdGlvblZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaXRlbXMvRGVmaW5pdGlvblZpZXcudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtEQUEwQjtBQUMxQiw2Q0FBbUM7QUFDbkMsMkNBQTBDO0FBQzFDLDJDQUFzQztBQUN0Qyw4Q0FBeUM7QUFJekM7O0dBRUc7QUFDSSxNQUFNLGNBQWMsR0FBOEMsQ0FBQyxFQUN0RSxJQUFJLEVBQ0osUUFBUSxHQUNYLEVBQUUsRUFBRSxDQUFDLENBQ0Y7SUFDSSw4QkFBQyxvQkFBTSxRQUNGLENBQUMsQ0FBQyxFQUFFLENBQ0QsQ0FBQyxRQUFRO1FBQ0wsQ0FBQyxDQUFDLHVCQUFVLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyx1QkFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQy9CLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FDZiw4QkFBQyxVQUFHLElBQUMsR0FBRyxFQUFFLENBQUM7UUFDUCw4QkFBQyxVQUFHLFFBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBTztRQUMxQiwwQ0FDSyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FDakQsOEJBQUMsVUFBRyxJQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFDLElBQUk7WUFDaEIsOEJBQUMsV0FBSSxJQUFDLE9BQU8sRUFBRSxVQUFVLEdBQUk7WUFDN0IsOEJBQUMsVUFBRyxJQUFDLFVBQVUsRUFBQyxPQUFPLElBQ2xCLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQ3pDLDhCQUFDLFVBQUcsSUFBQyxZQUFZLEVBQUMsUUFBUSxFQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUM3Qiw4QkFBQyxXQUFJLElBQUMsT0FBTyxFQUFFLE9BQU8sR0FBSTtnQkFDekIsV0FBVyxJQUFJLENBQ1osOEJBQUMsVUFBRztvQkFDQyxHQUFHOztvQkFDRiw4QkFBQyxXQUFJLElBQUMsT0FBTyxFQUFFLFdBQVcsR0FBSSxDQUM5QixDQUNULENBQ0MsQ0FDVCxDQUFDLENBQ0EsQ0FDSixDQUNULENBQUMsQ0FDRCxDQUNILENBQ1QsQ0FBQyxDQUVEO0lBQ1Q7O1FBQ2UscUNBQUcsSUFBSSxFQUFDLDZCQUE2QixpQkFBZSxDQUM3RCxDQUNQLENBQ04sQ0FBQztBQXpDVyxRQUFBLGNBQWMsa0JBeUN6QiJ9