compsUi.js 844 B

12345678910111213141516171819202122232425262728
  1. import VTooltip from '../directives/VTooltip';
  2. import VAutofocus from '../directives/VAutofocus';
  3. import VClosePopover from '../directives/VClosePopover';
  4. const uiComponents = require.context('../components/ui', false, /\.vue$/);
  5. const transitionComponents = require.context(
  6. '../components/transitions',
  7. false,
  8. /\.vue$/
  9. );
  10. function componentsExtractor(app, components) {
  11. components.keys().forEach((key) => {
  12. const componentName = key.replace(/(.\/)|\.vue$/g, '');
  13. const component = components(key)?.default ?? {};
  14. app.component(componentName, component);
  15. });
  16. }
  17. export default function (app) {
  18. app.directive('tooltip', VTooltip);
  19. app.directive('autofocus', VAutofocus);
  20. app.directive('close-popover', VClosePopover);
  21. componentsExtractor(app, uiComponents);
  22. componentsExtractor(app, transitionComponents);
  23. }