UNPKG

obsidian-dev-utils

Version:

This is the collection of useful functions that you can use for your Obsidian plugin development

221 lines (207 loc) 14.6 kB
/* THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source, please visit the github repository of this plugin */ (function initCjs() { const globalThisRecord = globalThis; globalThisRecord['__name'] ??= name; const originalRequire = require; if (originalRequire && !originalRequire.__isPatched) { // eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function. require = Object.assign( (id) => requirePatched(id), originalRequire, { __isPatched: true } ); } const newFuncs = { __extractDefault() { return extractDefault; }, process() { const browserProcess = { browser: true, cwd() { return '/'; }, env: {}, platform: 'android' }; return browserProcess; } }; for (const key of Object.keys(newFuncs)) { globalThisRecord[key] ??= newFuncs[key]?.(); } function name(obj) { return obj; } function extractDefault(module) { return module && module.__esModule && 'default' in module ? module.default : module; } const OBSIDIAN_BUILT_IN_MODULE_NAMES = [ 'obsidian', '@codemirror/autocomplete', '@codemirror/collab', '@codemirror/commands', '@codemirror/language', '@codemirror/lint', '@codemirror/search', '@codemirror/state', '@codemirror/text', '@codemirror/view', '@lezer/common', '@lezer/lr', '@lezer/highlight']; const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [ '@codemirror/closebrackets', '@codemirror/comment', '@codemirror/fold', '@codemirror/gutter', '@codemirror/highlight', '@codemirror/history', '@codemirror/matchbrackets', '@codemirror/panel', '@codemirror/rangeset', '@codemirror/rectangular-selection', '@codemirror/stream-parser', '@codemirror/tooltip']; function requirePatched(id) { if (OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id)) { return originalRequire?.(id); } // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet. if (globalThis?.app?.isMobile) { if (id === 'process' || id === 'node:process') { console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`); return globalThis.process; } } else { const module = originalRequire?.(id); if (module) { return extractDefault(module); } } console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`); return {}; } })(); "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var ValidatorComponent_exports = {}; __export(ValidatorComponent_exports, { getValidatorComponent: () => getValidatorComponent }); module.exports = __toCommonJS(ValidatorComponent_exports); var import_obsidian = require('obsidian'); var import_CssClass = require('../../../CssClass.cjs'); var import_PluginContext = require('../../Plugin/PluginContext.cjs'); var import_SettingComponentWrapper = require('./SettingComponentWrapper.cjs'); class OverlayValidatorComponent { constructor(el) { this.el = el; const wrapper = (0, import_SettingComponentWrapper.ensureWrapped)(el); this._validatorEl = wrapper.createEl("input", { attr: { tabindex: -1 } }); (0, import_PluginContext.addPluginCssClasses)(this._validatorEl, import_CssClass.CssClass.OverlayValidator); this._validatorEl.addEventListener("focus", () => { this.el.focus(); }); this._validatorEl.isActiveElement = this.isElementOrDescendantActive.bind(this); let tabIndexEl = this.el.querySelector("[tabindex]"); if (!tabIndexEl) { if (this.el.getAttr("tabindex") === null) { this.el.tabIndex = -1; } tabIndexEl = this.el; } this.el.addEventListener("focusin", () => { this.forceBlurValidatorEl(); }); this.el.addEventListener("click", () => { tabIndexEl.focus(); }); this.el.addEventListener("focusout", () => { window.setTimeout(() => { if (this.isElementOrDescendantActive()) { return; } this.forceBlurValidatorEl(); }, 0); }); } get validatorEl() { return this._validatorEl; } _validatorEl; forceBlurValidatorEl() { this._validatorEl.dispatchEvent(new Event("blur")); } isElementOrDescendantActive() { return this.el.contains(document.activeElement); } } class ValidatorElementWrapper { constructor(validatorEl) { this.validatorEl = validatorEl; } } function getValidatorComponent(obj) { if (isValidatorComponent(obj)) { return obj; } if (obj instanceof import_obsidian.ColorComponent) { return new ValidatorElementWrapper(obj.colorPickerEl); } if (obj instanceof import_obsidian.DropdownComponent) { return new ValidatorElementWrapper(obj.selectEl); } if (obj instanceof import_obsidian.ProgressBarComponent) { return new OverlayValidatorComponent(obj.progressBar); } if (obj instanceof import_obsidian.SearchComponent) { return new ValidatorElementWrapper(obj.inputEl); } if (obj instanceof import_obsidian.SliderComponent) { return new ValidatorElementWrapper(obj.sliderEl); } if (obj instanceof import_obsidian.TextAreaComponent) { return new ValidatorElementWrapper(obj.inputEl); } if (obj instanceof import_obsidian.TextComponent) { return new ValidatorElementWrapper(obj.inputEl); } if (obj instanceof import_obsidian.ToggleComponent) { return new OverlayValidatorComponent(obj.toggleEl); } return null; } function isValidatorComponent(obj) { return !!obj.validatorEl; } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { getValidatorComponent }); //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvU2V0dGluZ0NvbXBvbmVudHMvVmFsaWRhdG9yQ29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIENvbnRhaW5zIGEgY29tcG9uZW50IHRoYXQgaGFzIGEgdmFsaWRhdG9yIGVsZW1lbnQuXG4gKi9cblxuaW1wb3J0IHtcbiAgQ29sb3JDb21wb25lbnQsXG4gIERyb3Bkb3duQ29tcG9uZW50LFxuICBQcm9ncmVzc0JhckNvbXBvbmVudCxcbiAgU2VhcmNoQ29tcG9uZW50LFxuICBTbGlkZXJDb21wb25lbnQsXG4gIFRleHRBcmVhQ29tcG9uZW50LFxuICBUZXh0Q29tcG9uZW50LFxuICBUb2dnbGVDb21wb25lbnRcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IFZhbGlkYXRvckVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9IVE1MRWxlbWVudC50cyc7XG5cbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vLi4vLi4vQ3NzQ2xhc3MudHMnO1xuaW1wb3J0IHsgYWRkUGx1Z2luQ3NzQ2xhc3NlcyB9IGZyb20gJy4uLy4uL1BsdWdpbi9QbHVnaW5Db250ZXh0LnRzJztcbmltcG9ydCB7IGVuc3VyZVdyYXBwZWQgfSBmcm9tICcuL1NldHRpbmdDb21wb25lbnRXcmFwcGVyLnRzJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0aGF0IGhhcyBhIHZhbGlkYXRvciBlbGVtZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRvckNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBBIHZhbGlkYXRvciBlbGVtZW50IG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICByZWFkb25seSB2YWxpZGF0b3JFbDogVmFsaWRhdG9yRWxlbWVudDtcbn1cblxuY2xhc3MgT3ZlcmxheVZhbGlkYXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIFZhbGlkYXRvckNvbXBvbmVudCB7XG4gIHB1YmxpYyBnZXQgdmFsaWRhdG9yRWwoKTogVmFsaWRhdG9yRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRvckVsO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfdmFsaWRhdG9yRWw6IFZhbGlkYXRvckVsZW1lbnQ7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWw6IEhUTUxFbGVtZW50KSB7XG4gICAgY29uc3Qgd3JhcHBlciA9IGVuc3VyZVdyYXBwZWQoZWwpO1xuXG4gICAgdGhpcy5fdmFsaWRhdG9yRWwgPSB3cmFwcGVyLmNyZWF0ZUVsKCdpbnB1dCcsIHtcbiAgICAgIGF0dHI6IHtcbiAgICAgICAgdGFiaW5kZXg6IC0xXG4gICAgICB9XG4gICAgfSk7XG4gICAgYWRkUGx1Z2luQ3NzQ2xhc3Nlcyh0aGlzLl92YWxpZGF0b3JFbCwgQ3NzQ2xhc3MuT3ZlcmxheVZhbGlkYXRvcik7XG5cbiAgICB0aGlzLl92YWxpZGF0b3JFbC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsICgpID0+IHtcbiAgICAgIHRoaXMuZWwuZm9jdXMoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX3ZhbGlkYXRvckVsLmlzQWN0aXZlRWxlbWVudCA9IHRoaXMuaXNFbGVtZW50T3JEZXNjZW5kYW50QWN0aXZlLmJpbmQodGhpcyk7XG5cbiAgICBsZXQgdGFiSW5kZXhFbCA9IHRoaXMuZWwucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJ1t0YWJpbmRleF0nKTtcbiAgICBpZiAoIXRhYkluZGV4RWwpIHtcbiAgICAgIGlmICh0aGlzLmVsLmdldEF0dHIoJ3RhYmluZGV4JykgPT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5lbC50YWJJbmRleCA9IC0xO1xuICAgICAgfVxuICAgICAgdGFiSW5kZXhFbCA9IHRoaXMuZWw7XG4gICAgfVxuXG4gICAgdGhpcy5lbC5hZGRFdmVudExpc3RlbmVyKCdmb2N1c2luJywgKCkgPT4ge1xuICAgICAgdGhpcy5mb3JjZUJsdXJWYWxpZGF0b3JFbCgpO1xuICAgIH0pO1xuICAgIHRoaXMuZWwuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICB0YWJJbmRleEVsLmZvY3VzKCk7XG4gICAgfSk7XG4gICAgdGhpcy5lbC5hZGRFdmVudExpc3RlbmVyKCdmb2N1c291dCcsICgpID0+IHtcbiAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNFbGVtZW50T3JEZXNjZW5kYW50QWN0aXZlKCkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZvcmNlQmx1clZhbGlkYXRvckVsKCk7XG4gICAgICB9LCAwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZm9yY2VCbHVyVmFsaWRhdG9yRWwoKTogdm9pZCB7XG4gICAgdGhpcy5fdmFsaWRhdG9yRWwuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2JsdXInKSk7XG4gIH1cblxuICBwcml2YXRlIGlzRWxlbWVudE9yRGVzY2VuZGFudEFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbC5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtcbiAgfVxufVxuXG5jbGFzcyBWYWxpZGF0b3JFbGVtZW50V3JhcHBlciBpbXBsZW1lbnRzIFZhbGlkYXRvckNvbXBvbmVudCB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgdmFsaWRhdG9yRWw6IFZhbGlkYXRvckVsZW1lbnQpIHt9XG59XG5cbi8qKlxuICogR2V0cyBhIHZhbGlkYXRvciBjb21wb25lbnQgcmVsYXRlZCB0byB0aGUgZ2l2ZW4gb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBvYmogLSBBbnkgb2JqZWN0LlxuICogQHJldHVybnMgVGhlIHJlbGF0ZWQgdmFsaWRhdG9yIGNvbXBvbmVudCBvciBgbnVsbGAgaWYgbm8gcmVsYXRlZCB2YWxpZGF0b3IgY29tcG9uZW50IGlzIGZvdW5kLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmFsaWRhdG9yQ29tcG9uZW50KG9iajogdW5rbm93bik6IG51bGwgfCBWYWxpZGF0b3JDb21wb25lbnQge1xuICBpZiAoaXNWYWxpZGF0b3JDb21wb25lbnQob2JqKSkge1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBpZiAob2JqIGluc3RhbmNlb2YgQ29sb3JDb21wb25lbnQpIHtcbiAgICByZXR1cm4gbmV3IFZhbGlkYXRvckVsZW1lbnRXcmFwcGVyKG9iai5jb2xvclBpY2tlckVsKTtcbiAgfVxuXG4gIGlmIChvYmogaW5zdGFuY2VvZiBEcm9wZG93bkNvbXBvbmVudCkge1xuICAgIHJldHVybiBuZXcgVmFsaWRhdG9yRWxlbWVudFdyYXBwZXIob2JqLnNlbGVjdEVsKTtcbiAgfVxuXG4gIGlmIChvYmogaW5zdGFuY2VvZiBQcm9ncmVzc0JhckNvbXBvbmVudCkge1xuICAgIHJldHVybiBuZXcgT3ZlcmxheVZhbGlkYXRvckNvbXBvbmVudChvYmoucHJvZ3Jlc3NCYXIpO1xuICB9XG5cbiAgaWYgKG9iaiBpbnN0YW5jZW9mIFNlYXJjaENvbXBvbmVudCkge1xuICAgIHJldHVybiBuZXcgVmFsaWRhdG9yRWxlbWVudFdyYXBwZXIob2JqLmlucHV0RWwpO1xuICB9XG5cbiAgaWYgKG9iaiBpbnN0YW5jZW9mIFNsaWRlckNvbXBvbmVudCkge1xuICAgIHJldHVybiBuZXcgVmFsaWRhdG9yRWxlbWVudFdyYXBwZXIob2JqLnNsaWRlckVsKTtcbiAgfVxuXG4gIGlmIChvYmogaW5zdGFuY2VvZiBUZXh0QXJlYUNvbXBvbmVudCkge1xuICAgIHJldHVybiBuZXcgVmFsaWRhdG9yRWxlbWVudFdyYXBwZXIob2JqLmlucHV0RWwpO1xuICB9XG5cbiAgaWYgKG9iaiBpbnN0YW5jZW9mIFRleHRDb21wb25lbnQpIHtcbiAgICByZXR1cm4gbmV3IFZhbGlkYXRvckVsZW1lbnRXcmFwcGVyKG9iai5pbnB1dEVsKTtcbiAgfVxuXG4gIGlmIChvYmogaW5zdGFuY2VvZiBUb2dnbGVDb21wb25lbnQpIHtcbiAgICByZXR1cm4gbmV3IE92ZXJsYXlWYWxpZGF0b3JDb21wb25lbnQob2JqLnRvZ2dsZUVsKTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBpc1ZhbGlkYXRvckNvbXBvbmVudChvYmo6IHVua25vd24pOiBvYmogaXMgVmFsaWRhdG9yQ29tcG9uZW50IHtcbiAgcmV0dXJuICEhKG9iaiBhcyBQYXJ0aWFsPFZhbGlkYXRvckNvbXBvbmVudD4pLnZhbGlkYXRvckVsO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSxzQkFTTztBQUlQLHNCQUF5QjtBQUN6QiwyQkFBb0M7QUFDcEMscUNBQThCO0FBWTlCLE1BQU0sMEJBQXdEO0FBQUEsRUFPckQsWUFBNkIsSUFBaUI7QUFBakI7QUFDbEMsVUFBTSxjQUFVLDhDQUFjLEVBQUU7QUFFaEMsU0FBSyxlQUFlLFFBQVEsU0FBUyxTQUFTO0FBQUEsTUFDNUMsTUFBTTtBQUFBLFFBQ0osVUFBVTtBQUFBLE1BQ1o7QUFBQSxJQUNGLENBQUM7QUFDRCxrREFBb0IsS0FBSyxjQUFjLHlCQUFTLGdCQUFnQjtBQUVoRSxTQUFLLGFBQWEsaUJBQWlCLFNBQVMsTUFBTTtBQUNoRCxXQUFLLEdBQUcsTUFBTTtBQUFBLElBQ2hCLENBQUM7QUFFRCxTQUFLLGFBQWEsa0JBQWtCLEtBQUssNEJBQTRCLEtBQUssSUFBSTtBQUU5RSxRQUFJLGFBQWEsS0FBSyxHQUFHLGNBQTJCLFlBQVk7QUFDaEUsUUFBSSxDQUFDLFlBQVk7QUFDZixVQUFJLEtBQUssR0FBRyxRQUFRLFVBQVUsTUFBTSxNQUFNO0FBQ3hDLGFBQUssR0FBRyxXQUFXO0FBQUEsTUFDckI7QUFDQSxtQkFBYSxLQUFLO0FBQUEsSUFDcEI7QUFFQSxTQUFLLEdBQUcsaUJBQWlCLFdBQVcsTUFBTTtBQUN4QyxXQUFLLHFCQUFxQjtBQUFBLElBQzVCLENBQUM7QUFDRCxTQUFLLEdBQUcsaUJBQWlCLFNBQVMsTUFBTTtBQUN0QyxpQkFBVyxNQUFNO0FBQUEsSUFDbkIsQ0FBQztBQUNELFNBQUssR0FBRyxpQkFBaUIsWUFBWSxNQUFNO0FBQ3pDLGFBQU8sV0FBVyxNQUFNO0FBQ3RCLFlBQUksS0FBSyw0QkFBNEIsR0FBRztBQUN0QztBQUFBLFFBQ0Y7QUFFQSxhQUFLLHFCQUFxQjtBQUFBLE1BQzVCLEdBQUcsQ0FBQztBQUFBLElBQ04sQ0FBQztBQUFBLEVBQ0g7QUFBQSxFQTdDQSxJQUFXLGNBQWdDO0FBQ3pDLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFBQSxFQUVpQjtBQUFBLEVBMkNULHVCQUE2QjtBQUNuQyxTQUFLLGFBQWEsY0FBYyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQUEsRUFDbkQ7QUFBQSxFQUVRLDhCQUF1QztBQUM3QyxXQUFPLEtBQUssR0FBRyxTQUFTLFNBQVMsYUFBYTtBQUFBLEVBQ2hEO0FBQ0Y7QUFFQSxNQUFNLHdCQUFzRDtBQUFBLEVBQ25ELFlBQTRCLGFBQStCO0FBQS9CO0FBQUEsRUFBZ0M7QUFDckU7QUFRTyxTQUFTLHNCQUFzQixLQUF5QztBQUM3RSxNQUFJLHFCQUFxQixHQUFHLEdBQUc7QUFDN0IsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJLGVBQWUsZ0NBQWdCO0FBQ2pDLFdBQU8sSUFBSSx3QkFBd0IsSUFBSSxhQUFhO0FBQUEsRUFDdEQ7QUFFQSxNQUFJLGVBQWUsbUNBQW1CO0FBQ3BDLFdBQU8sSUFBSSx3QkFBd0IsSUFBSSxRQUFRO0FBQUEsRUFDakQ7QUFFQSxNQUFJLGVBQWUsc0NBQXNCO0FBQ3ZDLFdBQU8sSUFBSSwwQkFBMEIsSUFBSSxXQUFXO0FBQUEsRUFDdEQ7QUFFQSxNQUFJLGVBQWUsaUNBQWlCO0FBQ2xDLFdBQU8sSUFBSSx3QkFBd0IsSUFBSSxPQUFPO0FBQUEsRUFDaEQ7QUFFQSxNQUFJLGVBQWUsaUNBQWlCO0FBQ2xDLFdBQU8sSUFBSSx3QkFBd0IsSUFBSSxRQUFRO0FBQUEsRUFDakQ7QUFFQSxNQUFJLGVBQWUsbUNBQW1CO0FBQ3BDLFdBQU8sSUFBSSx3QkFBd0IsSUFBSSxPQUFPO0FBQUEsRUFDaEQ7QUFFQSxNQUFJLGVBQWUsK0JBQWU7QUFDaEMsV0FBTyxJQUFJLHdCQUF3QixJQUFJLE9BQU87QUFBQSxFQUNoRDtBQUVBLE1BQUksZUFBZSxpQ0FBaUI7QUFDbEMsV0FBTyxJQUFJLDBCQUEwQixJQUFJLFFBQVE7QUFBQSxFQUNuRDtBQUVBLFNBQU87QUFDVDtBQUVBLFNBQVMscUJBQXFCLEtBQXlDO0FBQ3JFLFNBQU8sQ0FBQyxDQUFFLElBQW9DO0FBQ2hEOyIsCiAgIm5hbWVzIjogW10KfQo=