Neo Maps is a modular open-source ecosystem for building GIS frontend SDKs.
The first module is Leaflet Layer Panel: a framework-agnostic layer management system for Leaflet with Angular as the first adapter implementation. The architecture is designed so future modules can live beside it.
A production-oriented SDK for managing Leaflet layers:
- grouped overlay panels
- base layer selection
- visibility toggles
- opacity controls
- search and filtering
- lazy loading
- URL synchronization
- local storage persistence
- layer ordering
- SVG icon registry
- shared theming with CSS variables and Tailwind tokens
- Angular adapter, with React and Vue placeholders
| Package | Role |
|---|---|
@neo-maps/leaflet-layer-panel |
Framework-independent Leaflet layer engine, state, events, loading, and map orchestration. |
@neo-maps/leaflet-layer-panel-angular |
Standalone Angular adapter and Tailwind UI. |
@neo-maps/leaflet-layer-panel-react |
Placeholder React adapter surface. Coming soon |
@neo-maps/leaflet-layer-panel-vue |
Placeholder Vue adapter surface. Coming soon |
@neo-maps/layer-panel-headless |
Rendering-neutral tree models and interaction contracts. |
@neo-maps/layer-panel-icons |
Framework-independent SVG icon registry. |
@neo-maps/layer-panel-theme |
CSS variables, design tokens, theme creator, and Tailwind preset. |
@neo-maps/layer-panel-utils |
Persistence, URL sync, layer rules, query parsing, and browser-safe helpers. |
Install the Angular adapter and Leaflet:
npm install leaflet @neo-maps/leaflet-layer-panel-angularAdd the package styles:
@import 'leaflet/dist/leaflet.css';
@import '@neo-maps/layer-panel-theme/styles/theme.css';
@import '@neo-maps/leaflet-layer-panel-angular/styles.css';The Angular adapter installs the required Neo Maps packages for you:
@neo-maps/leaflet-layer-panel
@neo-maps/layer-panel-icons
@neo-maps/layer-panel-theme
For local development in this monorepo:
corepack enable
pnpm install
pnpm nx serve demo-angular-localpackages/
SDK packages published under @neo-maps
showcases/
user-facing examples that install Neo Maps from npm
development/
contributor playgrounds wired to the local packages
showcases are intentionally standalone projects. They are meant for users who want to copy an example and run it like a real application.
development is for contributors. These projects use the local workspace packages through Nx and TypeScript path aliases.
development/demo-angular-local
-> adapter-angular
-> core
-> ui-headless
-> icons
-> theme
-> utils
UI components never touch Leaflet directly. They call adapter services, which delegate to LayerPanelCore, MapEngine, LayerManager, and LayerLoader.
See docs/architecture.md, docs/theming.md, and RELEASE_NOTES.md.
- stabilize the Leaflet Layer Panel API
- publish packages independently
- complete React and Vue adapters
- add more Neo Maps modules around common GIS workflows
- prepare semantic versioning and release automation


