| ADR | Architecture Decision Record — formeel document dat een architectuurbeslissing vastlegt met context, overwegingen en gevolgen. Zie Beslissingen. |
| Addon | (Vision) Uitbreidingsmodule voor Beam. Vier tiers: Kit, Stuff Pack, Game Pack, Expansion. Zie Vision Overzicht. |
| BrandColorToken | Verwijzing naar een merkleur of shade variant ('primary', 'accent-200', etc.) die resolves naar var(--brand-{token}). Ondersteunt base kleuren en OKLCH shade varianten (50-900). Gebruikt in achtergronden en buttons. |
| Block | Bouwsteen van een pagina. Elk block heeft een type, unieke ID en props. Opgeslagen als JSONB in pages.blocks. Drie betekenissen: (1) de type-definitie (hero, text), (2) een instantie op een pagina (block met UUID xyz), (3) het JSONB object. Zie Block Types. |
| Block picker | Sidebar-paneel in de editor waarmee gebruikers nieuwe blocks toevoegen aan een pagina. |
| Block type | Een van de 11 soorten blocks: hero, features, testimonials-grid, featured-testimonial, testimonials-carousel, cta, text, faq, group, columns, buttons. Zie Block Types. |
| Carousel engine | Client-side bibliotheek voor horizontale swipe-carousels. Beam gebruikt Embla Carousel — headless, ~7KB gzip, React (embla-carousel-react) en vanilla (embla-carousel). Zie ADR-009. |
| Bubble menu | Zwevende toolbar die verschijnt bij tekst selectie in de Tiptap rich text editor. Bevat inline formatting, heading levels, text style presets en een expand-knop om de tekst in een modal te bewerken. |
| Bootstrap | Automatische setup bij registratie: bootstrap_new_user() trigger maakt team_members record (owner) + site aan. |
| Cascade-hrefs | Automatische update van interne links (buttons) op alle pagina’s wanneer een pagina-slug wijzigt. Via POST /pages/:id/cascade-hrefs. |
| Custom domain | Een eigen domein (bijv. example.com) gekoppeld aan een Beam site via CF Pages Custom Domains. Max 5 per site. |
| Dirty state | Wanneer de editor onopgeslagen wijzigingen bevat. Detectie via vergelijking van page met originalPage. |
| Echo prevention | Mechanisme dat voorkomt dat een Tiptap editor zijn eigen Zustand store-updates terugleest. Gebruikt per-editor write timestamps (Map) met een venster van 50ms. |
| Editor | De fullscreen visuele editor voor het bewerken van pagina blocks. Draait in EditorLayout zonder dashboard sidebar. |
| Expand modal | Uitklapbare modal voor het bewerken van rich text. Dezelfde Tiptap editor verplaatst van canvas naar modal; canvas toont statische HTML als placeholder. |
| FOUT | Flash of Unstyled Text — zichtbare font-wissel wanneer een webfont later laadt dan de fallback. Beam voorkomt dit via <link rel="preload"> op de publieke site en FontFace API + opacity transitie in de editor. |
| Ghost user | Een Supabase auth user aangemaakt door een invite die nooit geaccepteerd is. Wordt opgeruimd via delete_ghost_user(). |
| Gilde | (Vision) Gebruikersclassificatie op basis van industrie/identiteit. 6 gilden: Healers, Creators, Merchants, Scholars, Hosts, Builders. |
| Group | Container block dat andere blocks bevat. Gebruikt voor visuele groepering en als pattern container. |
| Dark mode tokens | Automatisch berekende dark mode varianten van semantic tokens via OKLCH kleurruimte. Geactiveerd via @media (prefers-color-scheme: dark) in brand CSS. |
| Guardrail | Automatische kwaliteitscheck op design tokens: WCAG AA contrast validatie, font pairing verificatie. Altijd actief, niet optioneel. Via GET /brand/:siteId/contrast. |
| HeaderDesign | JSONB configuratie-object voor header styling. Bevat achtergrond, border, schaduw, positie, hoogte, typografie, button styling en scroll-gedrag. Opgeslagen in site_settings.header_design. Gedefinieerd in @beam/shared. |
| HeaderNavType | Type-definitie voor header navigatie layout: logo-menu-button (Logo—Menu—CTA) of menu-logo-menu (Menu—Logo—Menu). Opgeslagen in site_settings.header_nav_type. |
| BrandLogo | Logo variant in het merkprofiel. Bevat id, label (bijv. Primary, Wit, Donker) en url. Opgeslagen als array in brand_profiles.logos. Selecteerbaar in header config via selectedLogoId. |
| BrowserMockup | Herbruikbaar dashboard component dat content toont in een browser-achtig frame (traffic lights + URL balk). Ondersteunt CSS zoom (scrollable, sticky headers) en transform: scale() (statische previews). |
| LQIP | Low Quality Image Placeholder — een 20px blur preview van een afbeelding, opgeslagen als base64 data URL in blur_data_url. Gegenereerd via CF Image Resizing. |
| Magic link | Eenmalige authenticatie-link verstuurd via email. Gebruikt voor team uitnodigingen via Supabase Auth. |
| OKLCH | Perceptueel uniforme kleurruimte (Lightness, Chroma, Hue). Beam gebruikt OKLCH voor het genereren van kleurschalen (50-900) en dark mode varianten vanuit brand kleuren. |
| Media | Afbeelding, document of video in de media library. Opgeslagen in R2 (images/docs) of Bunny Stream (video). |
| Media library | De dashboard module (/media) voor beheer van afbeeldingen, documenten en video’s. Ondersteunt upload, stock foto’s, tags en bulk operaties. |
| Owner | De primaire gebruiker van een team/site. Elke site heeft precies 1 owner. Aangemaakt bij registratie via bootstrap trigger. |
| Page | Een webpagina binnen een site. Bevat blocks (JSONB), slug, SEO velden en publicatiestatus (draft / published). |
| Pattern | Herbruikbaar block template. Kan als synced container in meerdere pagina’s worden ingevoegd. Bij “Update all uses” worden alle instanties bijgewerkt via propagatie. |
| Pattern container | Een group-block met _pattern_id metadata dat een pattern instance vertegenwoordigt in een pagina. |
| PKCE | Proof Key for Code Exchange — OAuth flow gebruikt door Supabase Auth. Veiliger dan implicit grant omdat tokens niet via URL fragment worden verstuurd. |
| Primary domain | Het hoofddomein van een site. Er is altijd precies 1 primary. Bij verwijdering wordt het volgende domein promoted. |
| Propagatie | Het bijwerken van alle pattern instances wanneer het bronpattern gewijzigd wordt. Via POST /patterns/propagate. |
| R2 | Cloudflare’s object storage (S3-compatible, geen egress kosten). Primaire opslag voor media bestanden. |
| RLS | Row Level Security — PostgreSQL feature die data-toegang afdwingt op rij-niveau. Alle Beam tabellen hebben RLS policies. Zie Data & Architectuur. |
| Site | De container voor alle content van een gebruiker: pagina’s, media, patterns, domeinen, instellingen. Max 10 actieve sites per owner. Ondersteunt soft delete met 14 dagen grace period. |
| Site switcher | UI component in het user dropdown menu waarmee gebruikers tussen hun sites wisselen. Toont favicon en sitenaam per site. Bij wisselen worden alle site-scoped data (pages, menus, settings, domains) herladen. |
| Soft delete | Verwijdermethode waarbij een record niet direct uit de database wordt gewist, maar een deleted_at timestamp krijgt. Het record wordt gefilterd uit reguliere queries en na een grace period (14 dagen voor sites) definitief verwijderd door een cron job. |
| Semantic token | Design token met een semantische betekenis (bijv. surface, border, on-primary) afgeleid van brand kleuren. Maakt het mogelijk om kleurgebruik los te koppelen van specifieke hex waarden. |
| Shade scale | 10-staps kleurschaal (50-900) gegenereerd via OKLCH vanuit een enkele brand kleur. Bijv. --brand-primary-50 (lichtst) t/m --brand-primary-900 (donkerst). |
| Slug | URL-pad van een pagina (bijv. over-ons). Moet uniek zijn, lowercase, max 63 tekens. Regex: ^[a-z0-9]([a-z0-9-]{1,61}[a-z0-9])?$. |
| Style Pack | (Vision) Visueel thema gebaseerd op design tokens. Gekoppeld aan gilde en class combinatie. |
| Team | Een groep gebruikers die samenwerken aan een site. Bestaat uit 1 owner + optioneel admins, editors, viewers. Technisch: alle records in team_members met dezelfde owner_id. Zie Rollen & Rechten. |
| Focus trap | Mechanisme in de Modal component dat Tab/Shift+Tab binnen de modal houdt (WCAG 2.1 §2.4.3). Ondersteunt buttons, inputs, links en [contenteditable] elementen. |
| Testimonial | Klantbeoordeling of getuigenis bestaande uit een quote, auteur (naam, rol, bedrijf), optionele media (avatar of logo) en optionele sterrenrating (0-5). Gebruik in testimonials-grid, featured-testimonial en testimonials-carousel blocks. |
| Featured testimonial | Uitgelichte enkel testimonial block (featured-testimonial). Toont één quote groot en gecentreerd zonder sectie-titel. Decoratief groot aanhalingsteken als er geen media is. |
| Tiptap | Headless WYSIWYG editor gebouwd op ProseMirror. Gebruikt in de hero block editor voor rich text titel en subtitel. Lazy-loaded in apart vendor chunk. Eén editor instance per RichText component; verplaatst naar expand modal voor uitgebreid bewerken. |
| Token version | Snapshot van design tokens op een bepaald moment. Auto-snapshots worden gemaakt bij elke wijziging; named snapshots zijn handmatige checkpoints. Max 50 auto-snapshots per site. |
| Variable font | Font bestand dat alle weights (bijv. 100-900) in één woff2 file bevat via variabele assen. Beam gebruikt 19 variable fonts + 3 statische fallbacks. Elimineert browser font-synthese en reduceert het aantal bestanden. |
| W3C Design Tokens | W3C Community Group specificatie voor design token uitwisseling. Beam exporteert tokens in dit formaat via GET /brand/:siteId/tokens. Compatibel met Figma Tokens en Style Dictionary. |
| WCAG AA | Web Content Accessibility Guidelines niveau AA — vereist minimaal 4.5:1 contrast ratio voor normale tekst, 3:1 voor grote tekst. Beam’s guardrail systeem valideert dit automatisch. |
| Vertical Pack | (Vision) Industrie-specifiek addon pakket met blocks, style pack en content templates. |
| Worker | Cloudflare Worker — serverless functie op V8 isolate. Beam’s API (beam-api) en router (beam-router) draaien als Workers. |