@r74tech/docusaurus-plugin-panzoom
Version:
A plugin to enable the panzoom component on SVG and other elements
45 lines (44 loc) • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validatedThemeConfig = exports.PanZoomPlugin = void 0;
const utils_validation_1 = require("@docusaurus/utils-validation");
const path_1 = require("path");
/**
* Main module for the PanZoom plugin
* @param context
* @param options
* @returns
*/
const PanZoomPlugin = (context, options) => {
return {
name: "docusaurus-plugin-panzoom",
getClientModules() {
return [
(0, path_1.resolve)(__dirname, "./PanZoom")
];
}
};
};
exports.PanZoomPlugin = PanZoomPlugin;
/**
* Theme validation rules for this plugin
*/
const panZoomValidator = utils_validation_1.Joi.object({
zoom: utils_validation_1.Joi.object({
selectors: utils_validation_1.Joi.array(),
wrap: utils_validation_1.Joi.boolean(),
timeout: utils_validation_1.Joi.number(),
excludeClass: utils_validation_1.Joi.string(),
})
});
/**
* Add a validation for the theme configuration
* @param data
* @returns
*/
function validatedThemeConfig(data) {
const { themeConfig, validate } = data;
const validated = validate(panZoomValidator, themeConfig);
return validated;
}
exports.validatedThemeConfig = validatedThemeConfig;