schlechtenburg/packages/core/lib/use-dynamic-blocks.ts

21 lines
481 B
TypeScript
Raw Permalink Normal View History

2020-12-30 02:32:46 +01:00
import {
ref,
inject,
reactive,
} from 'vue';
2021-03-08 16:29:35 +01:00
import { BlockLibrary } from './types';
2020-12-30 14:34:23 +01:00
import { Mode, SbMode } from './mode';
2020-12-30 02:32:46 +01:00
2021-03-08 16:29:35 +01:00
export const SymBlockLibrary = Symbol('Schlechtenburg block library');
2020-12-30 02:32:46 +01:00
export function useDynamicBlocks() {
const mode = inject(Mode, ref(SbMode.Edit));
2021-03-08 16:29:35 +01:00
const customBlocks: BlockLibrary = inject(SymBlockLibrary, reactive({}));
2021-02-23 00:12:06 +01:00
const getBlock = (name: string) => customBlocks[name];
2020-12-30 02:32:46 +01:00
return {
mode,
customBlocks,
getBlock,
};
}