@launchmenu/applet-dictionary
Version:
An applet to find dictionary definitions
29 lines • 2.34 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"],
allowedAttributes: {
a: ["href"],
},
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 */
exports.Html = ({ content, options }) => (react_1.default.createElement("div", { dangerouslySetInnerHTML: {
__html: sanitize_html_1.default(content, { ...defaultOptions, ...options }),
} }));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHRtbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9IdG1sLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxrREFBMEI7QUFDMUIsa0VBQXlDO0FBRXpDLE1BQU0sY0FBYyxHQUEwQjtJQUMxQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDO0lBQzVDLGlCQUFpQixFQUFFO1FBQ2YsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO0tBQ2Q7SUFDRCxzQkFBc0IsRUFBRSxDQUFDLGlCQUFpQixDQUFDO0lBQzNDLGFBQWEsRUFBRTtRQUNYLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRTtZQUN2QixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDO2dCQUN4QyxDQUFDLENBQUMsUUFBUTtnQkFDVixDQUFDLENBQUMsNkJBQTZCLFFBQVEsRUFBRSxDQUFDO1lBQzlDLE9BQU8sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUMsR0FBRyxVQUFVLEVBQUUsSUFBSSxFQUFDLEVBQUMsQ0FBQztRQUNyRCxDQUFDO0tBQ0o7Q0FDSixDQUFDO0FBRUYsd0ZBQXdGO0FBQzNFLFFBQUEsSUFBSSxHQUlaLENBQUMsRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFDLEVBQUUsRUFBRSxDQUFDLENBQ3pCLHVDQUNJLHVCQUF1QixFQUFFO1FBQ3JCLE1BQU0sRUFBRSx1QkFBWSxDQUFDLE9BQU8sRUFBRSxFQUFDLEdBQUcsY0FBYyxFQUFFLEdBQUcsT0FBTyxFQUFDLENBQUM7S0FDakUsR0FDSCxDQUNMLENBQUMifQ==