Documentation
Apprenez à créer des applications puissantes avec Qödiak. Parcourez les composants, les tutoriels et les meilleures pratiques.
Components
AnimatedCounter
An animated number counter that smoothly counts from a start value to an end value when scrolled into view, ideal for showcasing statistics, metrics, and numbers on any site.
generalAnimatedGradient
Smooth animated gradient background for modern, premium aesthetics. Supports linear and radial gradients with configurable colors, animation speed, and intensity. GPU‑accelerated for smooth 60fps performance.
generalAppSettings
App-level configuration that applies to the entire application. It controls app metadata, publishing, authentication, email notifications, SEO, webhooks, and branding. These settings are distinct from page-level and component-level properties.
generalBadge
A small label or tag component used for status indicators, categories, highlights, and similar purposes. It supports multiple visual variants.
generalButton
An interactive button component that supports link navigation, page data source operations (record navigation, new record, mode switching), form submission, and custom JavaScript execution. Save/Delete actions must use a custom script with navigation. The component offers two visual variants and can enable or disable dynamically based on data context.
interactiveCalendar
A full‑featured calendar component built with react‑big‑calendar. It can display events in month, week, day, or agenda views and includes navigation and view‑switching capabilities, making it suitable for any site that needs scheduling, event management, or date visualization.
generalCard
Feature card component with an icon, title, description, and entrance animations. Ideal for showcasing features, services, or benefits in grid layouts with world‑class animation support.
generalCarousel
A professional carousel/slider component that automatically rotates slides, provides navigation controls, and supports customizable transition effects. It can display images, text overlays, and call‑to‑action buttons, making it suitable for any site type.
generalChart
Professional data visualization component using Recharts. Supports bar, line, pie, and area charts with customizable styling. Universal component suitable for any site type that displays data such as dashboards, analytics, reports, statistics, progress tracking, and comparisons.
generalChatbot
AI Chatbot component that embeds a chatbot on any page. It can appear as a floating widget (corner bubble) or be placed inline within page content.
advancedCheckbox
A checkbox group component that lets users select multiple options from a predefined list. It renders as a set of checkboxes with individual labels and supports vertical or horizontal layout.
inputsConfettiTrigger
Triggers a confetti explosion on page load, button click, or manually. Ideal for celebration moments such as form‑submission success, milestone achievements, or festive events. Uses a hardware‑accelerated canvas animation.
generalCountdownTimer
A real‑time countdown timer that shows the time remaining until a specified target date/time. It updates every second, offers customizable formatting, and displays a completion message when the countdown reaches zero. Suitable for any site.
generalDataCardGrid
A visual card‑based grid for displaying data. Ideal for consumer‑facing content where visual discovery matters, such as recipes, products, portfolios, and similar collections. Use it instead of DataGrid when browsing or discovering items is more important than managing data.
data-displayDataGrid
A feature‑rich data grid powered by AG Grid Community. It can display structured data from static JSON or dynamic data sources such as database tables or REST APIs. The grid supports virtual scrolling, column resizing and filtering, CSV export, inline editing, CRUD actions, and custom JavaScript handlers for row clicks.
data-displayDataSourceSearch
A search/filter control that connects to a page data source. Place it above a DataGrid to add search functionality.
advancedDate
Date picker input for selecting dates. Provides a calendar popup on desktop and a native date picker on mobile.
inputsDateTime
A combined date and time picker input that lets users select both a calendar date and a clock time. It uses the native <code>datetime-local</code> picker on most platforms.
inputsDateTimePicker
A flexible date and time picker built with react-datepicker. It can handle date‑only, time‑only, combined datetime, and date‑range selections, with customizable formatting for any site that requires date or time input.
inputsDecorativeDivider
An elegant decorative element that shows horizontal lines with an optional icon between them. Place it above section headings to add visual polish and signal the start of important sections, creating the “--- icon ---” pattern often seen on premium websites.
generalDivider
A horizontal line that visually separates content sections, helping to establish hierarchy and organization.
layoutDropdown
Select dropdown for choosing one option from a predefined list. Supports static options, dynamic options from queries, and query‑centric data binding.
inputsFileUpload
File upload input component allowing users to select and upload files with validation for file types, size limits, and multiple file selection.
generalFlex
A flexible layout component that uses CSS Flexbox to arrange child components horizontally (row) or vertically (column). It offers control over alignment, justification, gaps, and wrapping, and includes a default top margin of 20 px for vertical spacing.
layoutFloatingElements
Animated floating elements such as hearts, stars, sparkles, bubbles, or petals that create a whimsical background layer. The component lets you configure density, speed, colors, layering, and optional blur to suit weddings, celebrations, romance, or creative portfolio contexts.
generalFooter
Responsive footer component that displays brand identity, organized link groups, social media links, and a copyright notice. It supports light and dark visual variants and adapts its grid layout from mobile to desktop.
navigationGameCanvas
An interactive HTML5 Canvas component that provides a sandboxed JavaScript environment for building games and interactive visualizations. It includes a game loop, keyboard input handling, score tracking, and high‑score persistence, making it suitable for classic arcade titles, puzzles, educational games, and other interactive experiences.
generalGrid
Responsive grid layout component that arranges child components in equal‑width columns. It automatically stacks to a single column on mobile devices, making it ideal for professional multi‑column form layouts and card grids.
layoutHeading
Heading text with configurable size and semantic HTML level. Used for page titles, section headers, and content hierarchy.
typographyHero
Large banner section with a heading, description, optional image, and call‑to‑action buttons. Ideal for landing pages, feature introductions, and main page banners.
generalHeroParallax
A scroll‑based parallax hero section that applies 3D rotation and translation effects to three animated rows of products or items. Each row moves according to scroll position using spring physics, and every item links to a page within your app.
generalHoverScale
Provides a subtle zoom or lift animation on hover for images and cards. It adds responsive, interactive feel to photo‑heavy sites while keeping performance smooth with pure CSS.
generalImage
The Image component displays photos, illustrations, or graphics and supports various sizing and fit modes.
mediaInput
Single-line text input field with support for various input types (text, email, password, number, tel, url). Includes label, placeholder, validation, and data binding capabilities.
inputsLogos
Displays a horizontal row of logos for partners, clients, integrations, or certifications. Use on landing pages to show social proof.
generalMap
Embedded Google Maps for displaying locations. Use an address or latitude/longitude coordinates.
advancedNavbar
A responsive navigation bar that displays brand identity, navigation links, an optional call‑to‑action button, and a mobile hamburger menu. It supports three visual variants (light, dark, glass) and can be fixed to the top of the viewport.
navigationPageRoot
Page-level configuration stored in <code>puckData.root.props</code>. It controls page metadata, data sources, form settings, and overall page behavior. These settings apply to the entire page, not to individual components.
generalPhotoGallery
An interactive photo gallery that includes a lightbox viewer, offering grid or masonry layouts with hover effects and click‑to‑zoom functionality. It can be used on any type of site.
generalQRCode
Generates a QR code from provided content such as URLs, text, or vCard data. Suitable for shareable links, tickets, payments, and contact information.
advancedRadio
Radio button group for selecting one option from mutually exclusive choices. Use when the user can see all options at once, typically with 2‑5 options.
inputsRichText
Rich text component that supports HTML formatting such as bold, italic, links, lists, and headings. All content is sanitized with DOMPurify for security.
typographyRoleGate
Conditional rendering component that shows or hides content based on user roles. It supports OR logic (user needs any role) or AND logic (user needs all roles). Use it for role‑specific UI elements such as admin buttons or owner‑only sections.
authenticationScrollReveal
Scroll-triggered animations that reveal content as the user scrolls down the page. It supports a stagger mode for card grids where child elements animate one‑by‑one and uses IntersectionObserver for performance.
generalShoppingCart
E‑commerce shopping cart component with a product grid, category filtering, a floating cart sidebar, and configurable checkout. Product data is loaded via a query binding with field mappings for title, price, image, categories, and more. The component provides add‑to‑cart, quantity controls, and subtotal calculation.
generalSignature
A signature capture pad for forms that need handwritten signatures. The component records the signature and provides it as a data URL for storage.
inputsSkeletonLoader
A loading placeholder that displays a shimmer or pulse animation while content loads, providing a professional UX for data fetched from APIs or databases.
generalSpace
A spacing component that adds vertical or horizontal whitespace between elements, ensuring consistent spacing throughout a layout.
layoutStats
A component that displays multiple statistics or feature items in a horizontal row, showing a title and a short description for each. Ideal for highlighting key metrics, features, or value propositions.
generalTable
A simple read‑only data table for displaying tabular data. Use DataGrid instead if pagination, sorting, search, or inline editing are required.
advancedText
A simple paragraph component for body copy, descriptions, and supporting text. It allows alignment, sizing, and color customization.
typographyTextArea
A multi-line text input field for longer content such as descriptions, comments, notes, or messages. Supports configuration of visible rows and a maximum character length.
inputsTextHighlight
Animated background, underline, or text‑gradient highlights applied to key phrases within a block of text. Uses pure CSS for smooth performance and works well with hero copy, headings, and benefit statements.
generalTime
Time picker input for selecting times. Provides time selection interface on desktop and native time picker on mobile.
inputsTimeline
An animated vertical timeline with a scroll‑based progress indicator that presents chronological entries, each with a title, description, optional bullet points, and optional images. Ideal for company histories, product roadmaps, project milestones, changelogs, and “About Us” pages.
generalTypingAnimation
A dynamic typing animation that cycles through multiple text strings, creating an eye‑catching typewriter effect for headlines and other prominent text areas.
generalVideoPlayer
A professional video player that supports URLs from YouTube, Vimeo, Facebook, Twitch, SoundCloud, Streamable, Wistia, DailyMotion, Mixcloud, as well as direct file URLs. It is fully responsive, offers customizable controls, and allows setting of aspect ratios, making it suitable for any site type.
media