Skip to main content

Extending Widgemo Overview

Use this section when built-in config is no longer enough and you need to register new behavior through widgemoRegistry.

Extension Paths​

Extension pathUse whenRegistry/API surface
Custom renderAsA field value needs a new visual treatmentregisterWidgemoRenderAs
Custom field typeA reusable domain field needs its own semantic typeregisterWidgemoFieldType
Custom modeThe content area needs a new layout strategyregisterWidgemoMode
Custom iconConfig should reference icon names from your own icon setregisterWidgemoIcon
Lifecycle hookYou need runtime interception at named core hook pointsregisterWidgemoHook

Choose the Smallest Surface​

GoalPreferWhy
Change how one value looksCustom renderAsSmallest and most config-friendly extension
Reuse a domain-specific field categoryCustom Field TypesAdds semantic meaning, not just presentation
Replace table/grid/board/carousel/chart with a new layoutCustom ModesMoves the whole content area to a new renderer
Use branded or domain-specific icon names in configCustom IconsKeeps config icon references stable and reusable
Intercept runtime lifecycle eventsExtension APIHook surface is separate from layout and field registration
  1. Exhaust built-in config first: mode, fields, renderAs, actions, theming.
  2. Read Extension API for the exact registry contracts.
  3. Pick one extension surface and keep it narrowly scoped.
  4. Use namespaced registration names (acme.timeline, acme.swatch, acme.flag) to reduce collisions.

Section Map​