chromatic-lattice/src/components/index.ts

34 lines
1.2 KiB
TypeScript
Raw Normal View History

// Import and register all components,
// which will allow us to use them in any template strings anywhere in the project
import CollapseTransition from "@ivanv/vue-collapse-transition/src/CollapseTransition.vue";
2021-08-27 05:18:34 +00:00
import { App } from "vue";
import VueNextSelect from "vue-next-select";
import "vue-next-select/dist/index.css";
import panZoom from "vue-panzoom";
2021-08-27 05:18:34 +00:00
import Sortable from "vue-sortable";
import VueTextareaAutosize from "vue-textarea-autosize";
import Toast from "vue-toastification";
import "vue-toastification/dist/index.css";
2021-09-05 02:42:48 +00:00
import Changelog from "../data/Changelog.vue";
export function registerComponents(vue: App): void {
/* from files */
const componentsContext = require.context("./");
componentsContext.keys().forEach(path => {
const component = componentsContext(path).default;
if (component && !(component.name in vue._context.components)) {
vue.component(component.name, component);
}
});
2021-09-05 02:42:48 +00:00
vue.component("Changelog", Changelog);
/* from packages */
vue.component("collapse-transition", CollapseTransition);
vue.use(VueTextareaAutosize);
vue.use(Sortable);
vue.component("vue-select", VueNextSelect);
vue.use(panZoom);
2021-08-27 05:18:34 +00:00
vue.use(Toast);
}