Hotspots Widget is an Available, No schema impact Capell package in the Capell Foundation product group. It ships as capell-app/widget-hotspots and extends these surfaces: admin, frontend.
Hotspots adds a Layout Builder widget for placing bounded, accessible points over a local image. Each point can expose supporting content or an approved lazy widget target.
Editors position and label hotspots in Layout Builder, and visitors can inspect those points from the public image using the provided interaction controls.
Status details:
- Status: Available
- Tier: free
- Bundle: foundation
- Composer package:
capell-app/widget-hotspots - Namespace:
Capell\WidgetHotspots - Theme key: not applicable
For developers: The typed extension validates coordinate bounds, point limits, local media, and registry-backed targets before public rendering.
For teams: Teams can annotate products, diagrams, or places directly on an image without building a custom interactive map.
Screenshot contract: docs/screenshots.json.
- Hotspots Widget extension card (marketplace, required evidence).
- Hotspots fields in Layout Builder (admin, supplementary evidence).
- Hotspots public output (frontend, required evidence).
- Hotspots fields in Layout Builder with admin sidebar menu open (admin, supplementary evidence).
Capell\WidgetHotspots\Providers\WidgetHotspotsServiceProvider
HotspotsWidget
HotspotDataHotspotsInputDataHotspotsRenderData
content-widget: Capell\WidgetHotspots\WidgetHotspotsContribution
Capell\WidgetHotspots\Health\WidgetHotspotsHealthCheck
packages/widget-hotspots/resources/views/widget.blade.php
widget-hotspots
This package has no schema impact. It extends Capell through content-widget contributions instead of declaring package-owned tables.
- Required packages:
capell-app/admin,capell-app/core,capell-app/frontend,capell-app/layout-builder. - Admin navigation: no admin page or resource contribution is declared.
- Admin/editor extensions:
content-widget: WidgetHotspotsContribution. - Permissions: no package permission declarations or Shield gates detected; host access rules still apply.
- Public routes: none declared.
- Database changes: no package migrations declared.
- Config: no package config files.
- Settings: no package settings declared.
- Queues or schedules: none declared.
- Cache tags:
widget-hotspots. - Commands: none declared.
- Keep required Capell packages on compatible v4 releases:
capell-app/admin,capell-app/core,capell-app/frontend,capell-app/layout-builder. - Keep public Blade and cached HTML free of authoring markers, model IDs, permissions, signed editor URLs, and lazy database queries.
- Custom write integrations must preserve invalidation for
widget-hotspotscache tags.
| Symptom | Likely cause | Check | Fix |
|---|---|---|---|
| Package surface is missing after install | Provider or manifest is not loaded | Confirm capell.json, package composer.json, and provider registration |
Reinstall the package, refresh Composer autoload, and clear host caches |
| Public output leaks unexpected state | Render data, cache variation, or authoring boundary has regressed | Check public Blade, cache tags, and public-output safety tests | Move data loading out of Blade and rerun the package public-output tests |
- Install the package:
composer require capell-app/widget-hotspots. - Open the package detail or install-intent surface and confirm the Hotspots Widget extension card is present.
