@launchmenu/applet-dictionary
Version:
An applet to find dictionary definitions
31 lines • 2.53 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Html = void 0;
const react_1 = __importDefault(require("react"));
const sanitize_html_1 = __importDefault(require("sanitize-html"));
const defaultOptions = {
allowedTags: ["b", "i", "em", "strong", "a", "br", "img"],
allowedAttributes: {
a: ["href"],
img: ["src", "width"],
},
allowedIframeHostnames: ["www.youtube.com"],
transformTags: {
a: (tagName, attributes) => {
const baseHref = attributes.href;
const href = baseHref.match(/^https?:\/\//i)
? baseHref
: `https://en.wiktionary.org/${baseHref}`;
return { tagName, attribs: { ...attributes, href } };
},
},
};
/** An element that allows for html string contents. Performs sanitization for safety */
const Html = ({ content, options }) => (react_1.default.createElement("div", { dangerouslySetInnerHTML: {
__html: sanitize_html_1.default(content, { ...defaultOptions, ...options }),
} }));
exports.Html = Html;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHRtbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zYW5pdGl6ZS9IdG1sLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxrREFBMEI7QUFDMUIsa0VBQXlDO0FBRXpDLE1BQU0sY0FBYyxHQUEwQjtJQUMxQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7SUFDekQsaUJBQWlCLEVBQUU7UUFDZixDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDWCxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO0tBQ3hCO0lBQ0Qsc0JBQXNCLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztJQUMzQyxhQUFhLEVBQUU7UUFDWCxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztZQUNqQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQztnQkFDeEMsQ0FBQyxDQUFDLFFBQVE7Z0JBQ1YsQ0FBQyxDQUFDLDZCQUE2QixRQUFRLEVBQUUsQ0FBQztZQUM5QyxPQUFPLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFDLEdBQUcsVUFBVSxFQUFFLElBQUksRUFBQyxFQUFDLENBQUM7UUFDckQsQ0FBQztLQUNKO0NBQ0osQ0FBQztBQUVGLHdGQUF3RjtBQUNqRixNQUFNLElBQUksR0FJWixDQUFDLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBQyxFQUFFLEVBQUUsQ0FBQyxDQUN6Qix1Q0FDSSx1QkFBdUIsRUFBRTtRQUNyQixNQUFNLEVBQUUsdUJBQVksQ0FBQyxPQUFPLEVBQUUsRUFBQyxHQUFHLGNBQWMsRUFBRSxHQUFHLE9BQU8sRUFBQyxDQUFDO0tBQ2pFLEdBQ0gsQ0FDTCxDQUFDO0FBVlcsUUFBQSxJQUFJLFFBVWYifQ==