UNPKG

obsidian-dev-utils

Version:

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

125 lines (122 loc) 12.9 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){require=Object.assign(id=>requirePatched(id),originalRequire,{__isPatched:true})}const newFuncs={__extractDefault:__name(()=>extractDefault,"__extractDefault"),process:__name(()=>{const browserProcess={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};return browserProcess},"process")};for(const key of Object.keys(newFuncs)){globalThisRecord[key]??=newFuncs[key]?.()}function name(obj){return obj}__name(name,"name");function extractDefault(module){return module&&module.__esModule&&"default"in module?module.default:module}__name(extractDefault,"extractDefault");function requirePatched(id){const module=originalRequire?.(id);if(module){return extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return globalThis.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})(); "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,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvU2V0dGluZ0NvbXBvbmVudHMvVmFsaWRhdG9yQ29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIENvbnRhaW5zIGEgY29tcG9uZW50IHRoYXQgaGFzIGEgdmFsaWRhdG9yIGVsZW1lbnQuXG4gKi9cblxuaW1wb3J0IHtcbiAgQ29sb3JDb21wb25lbnQsXG4gIERyb3Bkb3duQ29tcG9uZW50LFxuICBQcm9ncmVzc0JhckNvbXBvbmVudCxcbiAgU2VhcmNoQ29tcG9uZW50LFxuICBTbGlkZXJDb21wb25lbnQsXG4gIFRleHRBcmVhQ29tcG9uZW50LFxuICBUZXh0Q29tcG9uZW50LFxuICBUb2dnbGVDb21wb25lbnRcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IFZhbGlkYXRvckVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9IVE1MRWxlbWVudC50cyc7XG5cbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vLi4vLi4vQ3NzQ2xhc3MudHMnO1xuaW1wb3J0IHsgYWRkUGx1Z2luQ3NzQ2xhc3NlcyB9IGZyb20gJy4uLy4uL1BsdWdpbi9QbHVnaW5Db250ZXh0LnRzJztcbmltcG9ydCB7IGVuc3VyZVdyYXBwZWQgfSBmcm9tICcuL1NldHRpbmdDb21wb25lbnRXcmFwcGVyLnRzJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0aGF0IGhhcyBhIHZhbGlkYXRvciBlbGVtZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRvckNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgdmFsaWRhdG9yIGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHJlYWRvbmx5IHZhbGlkYXRvckVsOiBWYWxpZGF0b3JFbGVtZW50O1xufVxuXG5jbGFzcyBPdmVybGF5VmFsaWRhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgVmFsaWRhdG9yQ29tcG9uZW50IHtcbiAgcHVibGljIGdldCB2YWxpZGF0b3JFbCgpOiBWYWxpZGF0b3JFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsaWRhdG9yRWw7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF92YWxpZGF0b3JFbDogVmFsaWRhdG9yRWxlbWVudDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbDogSFRNTEVsZW1lbnQpIHtcbiAgICBjb25zdCB3cmFwcGVyID0gZW5zdXJlV3JhcHBlZChlbCk7XG5cbiAgICB0aGlzLl92YWxpZGF0b3JFbCA9IHdyYXBwZXIuY3JlYXRlRWwoJ2lucHV0Jywge1xuICAgICAgYXR0cjoge1xuICAgICAgICB0YWJpbmRleDogLTFcbiAgICAgIH1cbiAgICB9KTtcbiAgICBhZGRQbHVnaW5Dc3NDbGFzc2VzKHRoaXMuX3ZhbGlkYXRvckVsLCBDc3NDbGFzcy5PdmVybGF5VmFsaWRhdG9yKTtcblxuICAgIHRoaXMuX3ZhbGlkYXRvckVsLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgKCkgPT4ge1xuICAgICAgdGhpcy5lbC5mb2N1cygpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fdmFsaWRhdG9yRWwuaXNBY3RpdmVFbGVtZW50ID0gdGhpcy5pc0VsZW1lbnRPckRlc2NlbmRhbnRBY3RpdmUuYmluZCh0aGlzKTtcblxuICAgIGxldCB0YWJJbmRleEVsID0gdGhpcy5lbC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignW3RhYmluZGV4XScpO1xuICAgIGlmICghdGFiSW5kZXhFbCkge1xuICAgICAgaWYgKHRoaXMuZWwuZ2V0QXR0cigndGFiaW5kZXgnKSA9PT0gbnVsbCkge1xuICAgICAgICB0aGlzLmVsLnRhYkluZGV4ID0gLTE7XG4gICAgICB9XG4gICAgICB0YWJJbmRleEVsID0gdGhpcy5lbDtcbiAgICB9XG5cbiAgICB0aGlzLmVsLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCAoKSA9PiB7XG4gICAgICB0aGlzLmZvcmNlQmx1clZhbGlkYXRvckVsKCk7XG4gICAgfSk7XG4gICAgdGhpcy5lbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgIHRhYkluZGV4RWwuZm9jdXMoKTtcbiAgICB9KTtcbiAgICB0aGlzLmVsLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgKCkgPT4ge1xuICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5pc0VsZW1lbnRPckRlc2NlbmRhbnRBY3RpdmUoKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZm9yY2VCbHVyVmFsaWRhdG9yRWwoKTtcbiAgICAgIH0sIDApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JjZUJsdXJWYWxpZGF0b3JFbCgpOiB2b2lkIHtcbiAgICB0aGlzLl92YWxpZGF0b3JFbC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYmx1cicpKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNFbGVtZW50T3JEZXNjZW5kYW50QWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVsLmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpO1xuICB9XG59XG5cbmNsYXNzIFZhbGlkYXRvckVsZW1lbnRXcmFwcGVyIGltcGxlbWVudHMgVmFsaWRhdG9yQ29tcG9uZW50IHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSB2YWxpZGF0b3JFbDogVmFsaWRhdG9yRWxlbWVudCkge31cbn1cblxuLyoqXG4gKiBHZXRzIGEgdmFsaWRhdG9yIGNvbXBvbmVudCByZWxhdGVkIHRvIHRoZSBnaXZlbiBvYmplY3QuXG4gKlxuICogQHBhcmFtIG9iaiAtIEFueSBvYmplY3QuXG4gKiBAcmV0dXJucyBUaGUgcmVsYXRlZCB2YWxpZGF0b3IgY29tcG9uZW50IG9yIGBudWxsYCBpZiBubyByZWxhdGVkIHZhbGlkYXRvciBjb21wb25lbnQgaXMgZm91bmQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWYWxpZGF0b3JDb21wb25lbnQob2JqOiB1bmtub3duKTogbnVsbCB8IFZhbGlkYXRvckNvbXBvbmVudCB7XG4gIGlmIChpc1ZhbGlkYXRvckNvbXBvbmVudChvYmopKSB7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIGlmIChvYmogaW5zdGFuY2VvZiBDb2xvckNvbXBvbmVudCkge1xuICAgIHJldHVybiBuZXcgVmFsaWRhdG9yRWxlbWVudFdyYXBwZXIob2JqLmNvbG9yUGlja2VyRWwpO1xuICB9XG5cbiAgaWYgKG9iaiBpbnN0YW5jZW9mIERyb3Bkb3duQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIG5ldyBWYWxpZGF0b3JFbGVtZW50V3JhcHBlcihvYmouc2VsZWN0RWwpO1xuICB9XG5cbiAgaWYgKG9iaiBpbnN0YW5jZW9mIFByb2dyZXNzQmFyQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIG5ldyBPdmVybGF5VmFsaWRhdG9yQ29tcG9uZW50KG9iai5wcm9ncmVzc0Jhcik7XG4gIH1cblxuICBpZiAob2JqIGluc3RhbmNlb2YgU2VhcmNoQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIG5ldyBWYWxpZGF0b3JFbGVtZW50V3JhcHBlcihvYmouaW5wdXRFbCk7XG4gIH1cblxuICBpZiAob2JqIGluc3RhbmNlb2YgU2xpZGVyQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIG5ldyBWYWxpZGF0b3JFbGVtZW50V3JhcHBlcihvYmouc2xpZGVyRWwpO1xuICB9XG5cbiAgaWYgKG9iaiBpbnN0YW5jZW9mIFRleHRBcmVhQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIG5ldyBWYWxpZGF0b3JFbGVtZW50V3JhcHBlcihvYmouaW5wdXRFbCk7XG4gIH1cblxuICBpZiAob2JqIGluc3RhbmNlb2YgVGV4dENvbXBvbmVudCkge1xuICAgIHJldHVybiBuZXcgVmFsaWRhdG9yRWxlbWVudFdyYXBwZXIob2JqLmlucHV0RWwpO1xuICB9XG5cbiAgaWYgKG9iaiBpbnN0YW5jZW9mIFRvZ2dsZUNvbXBvbmVudCkge1xuICAgIHJldHVybiBuZXcgT3ZlcmxheVZhbGlkYXRvckNvbXBvbmVudChvYmoudG9nZ2xlRWwpO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGlzVmFsaWRhdG9yQ29tcG9uZW50KG9iajogdW5rbm93bik6IG9iaiBpcyBWYWxpZGF0b3JDb21wb25lbnQge1xuICByZXR1cm4gISEob2JqIGFzIFBhcnRpYWw8VmFsaWRhdG9yQ29tcG9uZW50PikudmFsaWRhdG9yRWw7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLHNCQVNPO0FBSVAsc0JBQXlCO0FBQ3pCLDJCQUFvQztBQUNwQyxxQ0FBOEI7QUFZOUIsTUFBTSwwQkFBd0Q7QUFBQSxFQU9yRCxZQUE2QixJQUFpQjtBQUFqQjtBQUNsQyxVQUFNLGNBQVUsOENBQWMsRUFBRTtBQUVoQyxTQUFLLGVBQWUsUUFBUSxTQUFTLFNBQVM7QUFBQSxNQUM1QyxNQUFNO0FBQUEsUUFDSixVQUFVO0FBQUEsTUFDWjtBQUFBLElBQ0YsQ0FBQztBQUNELGtEQUFvQixLQUFLLGNBQWMseUJBQVMsZ0JBQWdCO0FBRWhFLFNBQUssYUFBYSxpQkFBaUIsU0FBUyxNQUFNO0FBQ2hELFdBQUssR0FBRyxNQUFNO0FBQUEsSUFDaEIsQ0FBQztBQUVELFNBQUssYUFBYSxrQkFBa0IsS0FBSyw0QkFBNEIsS0FBSyxJQUFJO0FBRTlFLFFBQUksYUFBYSxLQUFLLEdBQUcsY0FBMkIsWUFBWTtBQUNoRSxRQUFJLENBQUMsWUFBWTtBQUNmLFVBQUksS0FBSyxHQUFHLFFBQVEsVUFBVSxNQUFNLE1BQU07QUFDeEMsYUFBSyxHQUFHLFdBQVc7QUFBQSxNQUNyQjtBQUNBLG1CQUFhLEtBQUs7QUFBQSxJQUNwQjtBQUVBLFNBQUssR0FBRyxpQkFBaUIsV0FBVyxNQUFNO0FBQ3hDLFdBQUsscUJBQXFCO0FBQUEsSUFDNUIsQ0FBQztBQUNELFNBQUssR0FBRyxpQkFBaUIsU0FBUyxNQUFNO0FBQ3RDLGlCQUFXLE1BQU07QUFBQSxJQUNuQixDQUFDO0FBQ0QsU0FBSyxHQUFHLGlCQUFpQixZQUFZLE1BQU07QUFDekMsYUFBTyxXQUFXLE1BQU07QUFDdEIsWUFBSSxLQUFLLDRCQUE0QixHQUFHO0FBQ3RDO0FBQUEsUUFDRjtBQUVBLGFBQUsscUJBQXFCO0FBQUEsTUFDNUIsR0FBRyxDQUFDO0FBQUEsSUFDTixDQUFDO0FBQUEsRUFDSDtBQUFBLEVBN0NBLElBQVcsY0FBZ0M7QUFDekMsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBLEVBRWlCO0FBQUEsRUEyQ1QsdUJBQTZCO0FBQ25DLFNBQUssYUFBYSxjQUFjLElBQUksTUFBTSxNQUFNLENBQUM7QUFBQSxFQUNuRDtBQUFBLEVBRVEsOEJBQXVDO0FBQzdDLFdBQU8sS0FBSyxHQUFHLFNBQVMsU0FBUyxhQUFhO0FBQUEsRUFDaEQ7QUFDRjtBQUVBLE1BQU0sd0JBQXNEO0FBQUEsRUFDbkQsWUFBNEIsYUFBK0I7QUFBL0I7QUFBQSxFQUFnQztBQUNyRTtBQVFPLFNBQVMsc0JBQXNCLEtBQXlDO0FBQzdFLE1BQUkscUJBQXFCLEdBQUcsR0FBRztBQUM3QixXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQUksZUFBZSxnQ0FBZ0I7QUFDakMsV0FBTyxJQUFJLHdCQUF3QixJQUFJLGFBQWE7QUFBQSxFQUN0RDtBQUVBLE1BQUksZUFBZSxtQ0FBbUI7QUFDcEMsV0FBTyxJQUFJLHdCQUF3QixJQUFJLFFBQVE7QUFBQSxFQUNqRDtBQUVBLE1BQUksZUFBZSxzQ0FBc0I7QUFDdkMsV0FBTyxJQUFJLDBCQUEwQixJQUFJLFdBQVc7QUFBQSxFQUN0RDtBQUVBLE1BQUksZUFBZSxpQ0FBaUI7QUFDbEMsV0FBTyxJQUFJLHdCQUF3QixJQUFJLE9BQU87QUFBQSxFQUNoRDtBQUVBLE1BQUksZUFBZSxpQ0FBaUI7QUFDbEMsV0FBTyxJQUFJLHdCQUF3QixJQUFJLFFBQVE7QUFBQSxFQUNqRDtBQUVBLE1BQUksZUFBZSxtQ0FBbUI7QUFDcEMsV0FBTyxJQUFJLHdCQUF3QixJQUFJLE9BQU87QUFBQSxFQUNoRDtBQUVBLE1BQUksZUFBZSwrQkFBZTtBQUNoQyxXQUFPLElBQUksd0JBQXdCLElBQUksT0FBTztBQUFBLEVBQ2hEO0FBRUEsTUFBSSxlQUFlLGlDQUFpQjtBQUNsQyxXQUFPLElBQUksMEJBQTBCLElBQUksUUFBUTtBQUFBLEVBQ25EO0FBRUEsU0FBTztBQUNUO0FBRUEsU0FBUyxxQkFBcUIsS0FBeUM7QUFDckUsU0FBTyxDQUFDLENBQUUsSUFBb0M7QUFDaEQ7IiwKICAibmFtZXMiOiBbXQp9Cg==