Standalone repo that builds embeddable JAMstack map bundles (web components), composes them into a lazy-loaded SPA via layouts/, and optionally wraps a Capacitor Android/iOS app — one build, choose your output/CDN. Diátaxis docs. History reset to a single clean commit; no PII, IPs, or internal terms. |
||
|---|---|---|
| .. | ||
| charts | ||
| legends | ||
| map-controls | ||
| poster | ||
| tables | ||
| PeopleGroupDetail.vue | ||
| README.md | ||
| ResearchMapFilterPanel.vue | ||
| ResearchMapSideMenu.vue | ||
| SideMenuDrawer.vue | ||
library/components/
Shared Vue components used by app-profiles. Full catalog, per-file roles, and gotchas live in
docs/reference.md; the library seam overview is indocs/reference.md.
Files in this folder
| File / folder | Role |
|---|---|
legends/ |
Legend UI — LegendDesktop.vue, LegendMobile.vue, LegendRows.vue, LegendTools.vue, SemanticTreeLegend.vue |
PeopleGroupDetail.vue |
Feature record card (right-side panel content); renders the live prayer-count bar |
ResearchMapFilterPanel.vue |
Research-map specific filter panel |
ResearchMapSideMenu.vue |
Research-map side menu |
SideMenuDrawer.vue |
Generic slide-in side panel primitive |
map-controls/ |
Per-button toolbar components — see subfolder README |
poster/ |
Poster export UI (dialog, preview, slot composition) — see subfolder README |
Conventions
- Every component uses
<script setup>(Vue 3.5+). - Every component that renders any CSS calls
useShadowStyles()so styles attach to the shadow root. - Stores accessed via
inject('mapStore' | 'uiStore' | 'dataStore')— never via directuseXxxStore()import. - Mapbox token via
inject('mapboxToken').
Cross-references
- Full component catalog (per-file roles + gotchas) →
docs/reference.md - Library seams & composables index (provide/inject mediator, shadow-DOM style injection) →
docs/reference.md - Conventions & how to add a component →
CONTRIBUTING.md
Next
If you need a component's contract or gotchas, see docs/reference.md. If you need to add a new component, follow the conventions above and add a matching entry to the file map.