Skip to Content
UI ComponentsBase Components

Base Components

Base components represent the everyday UI blocks that editors drag into ResultFly pages. Each control respects the workspace style_set, exposes bindings for data/state, and keeps logic minimal so they compose easily.

UI primitives

ComponentPurpose
Button.vuePrimary/secondary CTA with loading, disabled, and icon states.
TextBlock.vueRich text renderer for headings, paragraphs, and legal copy.
Image.vueStatic or dynamic media with focal point, object-fit, and lazy load controls.
Checkbox.vueBoolean toggle used in forms or preference screens.
TextInput.vueSingle-line input for names, codes, or short answers.
CodeInput.vuePIN/OTP capture with fixed-length slots and auto-advance behavior.
Avatar.vue / AvatarLabel.vueUser identity visuals combining pictures, initials, and labels.

Layout & containers

ComponentPurpose
Columns.vueResponsive multi-column layout with adjustable gutters.
Panel.vueCard-like container with padding, elevation, and header slots.
Cover.vueFull-width hero section mixing media, overlay gradients, and CTA slots.
PageContainer.vue / PageStage.vueShell components that enforce safe areas, scrolling, and responsive breakpoints for entire pages.

Content & messaging

ComponentPurpose
Banner.vue / PrizeBanner.vueHero or reward banners with headline, description, and CTA buttons.
ConnectionBanner.vueInline notice urging users to authenticate or reconnect services.
IconText.vueCompact row combining iconography and copy for feature callouts.
IconBadge.vue / StatusBadge.vueSmall status pills (e.g., “new”, “locked”, “in progress”).
QuestionText.vue / QuestionImage.vueBlocks used by quizzes/forms to present prompts and supporting visuals.
PhotoSlider.vueCarousel for showcasing multiple photos with swipe/arrow controls.
TaskList.vue / CardsPack.vueStructured lists for missions or card-like content collections.
AchievementsList.vue / Leaderboard.vueGamified social proof widgets for earned badges and rankings.

Forms & identity

ComponentPurpose
LeadForm.vueMulti-field form wrapper with validation, consent text, and submission handling.
AuthPanel.vueAuthentication-focused form (email/OTP) with helper text and error states.

Utility & feedback

ComponentPurpose
Timer.vueCountdown or stopwatch surface that can trigger follow-up actions.
ConfettiOverlay.vueCelebration overlay triggered after milestones.
Skeleton.vueLoading placeholder that mirrors component shapes.
ComponentMock.vueLightweight placeholder used inside Studio when source data is missing.
EmailPreviewModal.vueModal view that previews outbound email content.
PropFieldsEditor.vueInternal helper allowing authors to tweak component props within Studio.

All of these blocks can be combined on page nodes without writing code. Larger experiences (MemoryGame, SnakeGame, etc.) are described separately under UI Games or External Games because they implement dedicated mechanics rather than general-purpose UI.

Last updated on