Skip to content

Glossarium

TermDefinitie
ADRArchitecture 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.
BrandColorTokenVerwijzing 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.
BlockBouwsteen 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 pickerSidebar-paneel in de editor waarmee gebruikers nieuwe blocks toevoegen aan een pagina.
Block typeEen van de 11 soorten blocks: hero, features, testimonials-grid, featured-testimonial, testimonials-carousel, cta, text, faq, group, columns, buttons. Zie Block Types.
Carousel engineClient-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 menuZwevende 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.
BootstrapAutomatische setup bij registratie: bootstrap_new_user() trigger maakt team_members record (owner) + site aan.
Cascade-hrefsAutomatische update van interne links (buttons) op alle pagina’s wanneer een pagina-slug wijzigt. Via POST /pages/:id/cascade-hrefs.
Custom domainEen eigen domein (bijv. example.com) gekoppeld aan een Beam site via CF Pages Custom Domains. Max 5 per site.
Dirty stateWanneer de editor onopgeslagen wijzigingen bevat. Detectie via vergelijking van page met originalPage.
Echo preventionMechanisme dat voorkomt dat een Tiptap editor zijn eigen Zustand store-updates terugleest. Gebruikt per-editor write timestamps (Map) met een venster van 50ms.
EditorDe fullscreen visuele editor voor het bewerken van pagina blocks. Draait in EditorLayout zonder dashboard sidebar.
Expand modalUitklapbare modal voor het bewerken van rich text. Dezelfde Tiptap editor verplaatst van canvas naar modal; canvas toont statische HTML als placeholder.
FOUTFlash 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 userEen 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.
GroupContainer block dat andere blocks bevat. Gebruikt voor visuele groepering en als pattern container.
Dark mode tokensAutomatisch berekende dark mode varianten van semantic tokens via OKLCH kleurruimte. Geactiveerd via @media (prefers-color-scheme: dark) in brand CSS.
GuardrailAutomatische kwaliteitscheck op design tokens: WCAG AA contrast validatie, font pairing verificatie. Altijd actief, niet optioneel. Via GET /brand/:siteId/contrast.
HeaderDesignJSONB 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.
HeaderNavTypeType-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.
BrandLogoLogo 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.
BrowserMockupHerbruikbaar 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).
LQIPLow 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 linkEenmalige authenticatie-link verstuurd via email. Gebruikt voor team uitnodigingen via Supabase Auth.
OKLCHPerceptueel uniforme kleurruimte (Lightness, Chroma, Hue). Beam gebruikt OKLCH voor het genereren van kleurschalen (50-900) en dark mode varianten vanuit brand kleuren.
MediaAfbeelding, document of video in de media library. Opgeslagen in R2 (images/docs) of Bunny Stream (video).
Media libraryDe dashboard module (/media) voor beheer van afbeeldingen, documenten en video’s. Ondersteunt upload, stock foto’s, tags en bulk operaties.
OwnerDe primaire gebruiker van een team/site. Elke site heeft precies 1 owner. Aangemaakt bij registratie via bootstrap trigger.
PageEen webpagina binnen een site. Bevat blocks (JSONB), slug, SEO velden en publicatiestatus (draft / published).
PatternHerbruikbaar block template. Kan als synced container in meerdere pagina’s worden ingevoegd. Bij “Update all uses” worden alle instanties bijgewerkt via propagatie.
Pattern containerEen group-block met _pattern_id metadata dat een pattern instance vertegenwoordigt in een pagina.
PKCEProof Key for Code Exchange — OAuth flow gebruikt door Supabase Auth. Veiliger dan implicit grant omdat tokens niet via URL fragment worden verstuurd.
Primary domainHet hoofddomein van een site. Er is altijd precies 1 primary. Bij verwijdering wordt het volgende domein promoted.
PropagatieHet bijwerken van alle pattern instances wanneer het bronpattern gewijzigd wordt. Via POST /patterns/propagate.
R2Cloudflare’s object storage (S3-compatible, geen egress kosten). Primaire opslag voor media bestanden.
RLSRow Level Security — PostgreSQL feature die data-toegang afdwingt op rij-niveau. Alle Beam tabellen hebben RLS policies. Zie Data & Architectuur.
SiteDe 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 switcherUI 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 deleteVerwijdermethode 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 tokenDesign 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 scale10-staps kleurschaal (50-900) gegenereerd via OKLCH vanuit een enkele brand kleur. Bijv. --brand-primary-50 (lichtst) t/m --brand-primary-900 (donkerst).
SlugURL-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.
TeamEen 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 trapMechanisme 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.
TestimonialKlantbeoordeling 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 testimonialUitgelichte enkel testimonial block (featured-testimonial). Toont één quote groot en gecentreerd zonder sectie-titel. Decoratief groot aanhalingsteken als er geen media is.
TiptapHeadless 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 versionSnapshot 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 fontFont 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 TokensW3C 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 AAWeb 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.
WorkerCloudflare Worker — serverless functie op V8 isolate. Beam’s API (beam-api) en router (beam-router) draaien als Workers.