🔧 Configuration Options

Your plugin can have configuration in two ways: Simple Settings (auto-generated UI) and Custom Editors (advanced UI). You can use both in the same plugin!

When to Use Each Approach

Use Simple Settings (Auto-Generated UI)

Best for: Simple configuration options like numbers, dropdowns, and checkboxes.

settings: {
    columns: { type: 'number', label: 'Columns', default: 3 },
    showTitles: { type: 'boolean', label: 'Show Titles', default: true },
    theme: { type: 'select', label: 'Theme', options: [...] }
}

Pros:

  • Zero UI code needed
  • Consistent look and feel
  • Quick to implement

Use Custom Editor

Best for: Complex, interactive configuration like sortable lists, dynamic forms, or live previews.

editor: {
    openContentEditor: function(element, builder, onChange) {
        // Build your custom UI here
        const container = document.createElement('div');
        // Add sortable lists, dynamic forms, etc.
        return container;
    }
}

Pros:

  • Full control over UI/UX
  • Support for complex interactions
  • Can integrate third-party libraries

Use Both Together! 🎉

export default {
    name: 'my-plugin',
    
    settings: {
        // Simple options (auto-generated UI)
        columns: { type: 'number', label: 'Columns', default: 3 }
    },
    
    editor: {
        // Complex editor for advanced features
        openContentEditor: function(element, builder, onChange) {
            // Custom UI for managing list items, etc.
        }
    },
    
    mount: function(element, options) {
        // Your plugin logic
    }
}

Users will see both the auto-generated settings form AND your custom editor.


View this page on GitHub

© 2026 InnovaStudio

This site is built with Site Builder Kit