text: "use strict";
  
  exports.__esModule = true;
  exports.vueUse = exports.registerDirectives = exports.registerDirective = exports.registerComponents = exports.registerComponent = void 0;
  
  /**
   * Load a component.
   * @param {object} Vue
   * @param {string} Component name
   * @param {object} Component definition
   */
  var registerComponent = function registerComponent(Vue, name, def) {
    Vue.component(name, def);
  };
  /**
   * Load a group of components.
   * @param {object} Vue
   * @param {object} Object of component definitions
   */
  
  
  exports.registerComponent = registerComponent;
  
  var registerComponents = function registerComponents(Vue, components) {
    for (var component in components) {
      registerComponent(Vue, component, components[component]);
    }
  };
  /**
   * Load a directive.
   * @param {object} Vue
   * @param {string} Directive name
   * @param {object} Directive definition
   */
  
  
  exports.registerComponents = registerComponents;
  
  var registerDirective = function registerDirective(Vue, name, def) {
    Vue.directive(name, def);
  };
  /**
   * Load a group of directives.
   * @param {object} Vue
   * @param {object} Object of directive definitions
   */
  
  
  exports.registerDirective = registerDirective;
  
  var registerDirectives = function registerDirectives(Vue, directives) {
    for (var directive in directives) {
      registerDirective(Vue, directive, directives[directive]);
    }
  };
  /**
   * Install plugin if window.Vue available
   * @param {object} Plugin definition
   */
  
  
  exports.registerDirectives = registerDirectives;
  
  var vueUse = function vueUse(VuePlugin) {
    /* istanbul ignore next */
    if (typeof window !== 'undefined' && window.Vue) {
      window.Vue.use(VuePlugin);
    }
  };
  
  exports.vueUse = vueUse;