@silexlabs/grapesjs-symbols
Version:
Symbols for GrapesJS
32 lines • 1.3 kB
JavaScript
import SymbolsView from './view/SymbolsView';
import initCommands from './SymbolsCommands';
import { registerCapabilities } from './capabilities';
import initTraits from './view/traits';
import { makeInstanceIdsUnique } from './id-utils';
export default (editor, opts = {}) => {
const options = { ...{
appendTo: '#symbols',
emptyText: 'No symbol yet.',
primaryColor: '#b9a5a6',
secondaryColor: '#463a3c',
highlightColor: '#d97aa6',
}, ...opts };
editor.on('load', () => {
// Display symbols
new SymbolsView({ ...options, editor });
// Commands to create/delete symbols
initCommands(editor);
// Add traits like a plugin
initTraits(editor, options);
// When a symbol instance is created (by any method: drop, duplicate, API, etc.),
// update ID references to match the new unique IDs generated by GrapesJS
editor.on('symbol:instance:add', ({ component }) => {
makeInstanceIdsUnique(editor, component);
});
});
// Register AI capabilities if grapesjs-ai-capabilities is loaded
editor.on('ai-capabilities:ready', (addCapability) => {
registerCapabilities(addCapability);
});
};
//# sourceMappingURL=index.js.map