arcane_lexicon library

Creates knowledge base websites from markdown files.

Arcane Lexicon transforms a directory of markdown files into a fully-featured documentation site with auto-generated navigation, search, theming, and more.

Quick Start

Create a full knowledge base site with 1-line theming:

import 'package:arcane_jaspr_neon/arcane_jaspr_neon.dart';
import 'package:arcane_jaspr_neubrutalism/arcane_jaspr_neubrutalism.dart';
import 'package:arcane_jaspr_shadcn/arcane_jaspr_shadcn.dart';
import 'package:arcane_lexicon/arcane_lexicon.dart' hide runApp;

const ArcaneStylesheet shadcnStylesheet = ShadcnStylesheet(
  theme: ShadcnTheme.charcoal,
);
const ArcaneStylesheet neonStylesheet = NeonStylesheet(
  theme: NeonTheme.green,
);
const ArcaneStylesheet neubrutalismStylesheet = NeubrutalismStylesheet(
  theme: NeubrutalismTheme.yellow,
);
const ArcaneStylesheet selectedStylesheet = shadcnStylesheet;

void main() async {
  Jaspr.initializeApp();
  runApp(
    await KnowledgeBaseApp.create(
      config: const SiteConfig(
        name: 'My Docs',
        contentDirectory: 'content',
      ),
      stylesheet: selectedStylesheet,
    ),
  );
}

Classes

AbstractStatefulScreen
AbstractStatelessScreen
AccordionItemProps
Accordion item data.
AccordionProps
Accordion component properties.
ActionSheetItem
An action item for ArcaneActionSheet.
AlertDialogProps
Alert dialog component properties.
AlertProps
Alert component properties.
AppBinding
Main class that provide services (also known as "bindings").
ArcaneAccordion
Collapsible accordion component.
ArcaneAccordionItem
Accordion item data model.
ArcaneActionSheet
Action sheet with a list of actions (mobile-style).
ArcaneAlert
Inline alert component for important messages that need user attention.
ArcaneAlertDialog
Simple alert dialog with single dismiss action.
ArcaneApp
Root application component for Arcane Jaspr apps.
ArcaneAspectRatio
A container that maintains a specific aspect ratio.
ArcaneAuthProvider
Stub auth provider for non-web platforms.
ArcaneAvatar
Avatar component for displaying user images or initials.
ArcaneAvatarBadge
Badge displayed on an avatar.
ArcaneAvatarGroup
Avatar group for stacking multiple avatars with overlap.
ArcaneBoolField
ArcaneBox
A container component with enum-based styling.
ArcaneBreadcrumbs
Navigation breadcrumbs component.
ArcaneCalendar
A calendar component for date selection.
ArcaneCarouselSection
Marketing section with an infinite carousel.
ArcaneChart
ArcaneChartPoint
ArcaneCheckbox
Checkbox input component.
ArcaneCircularProgress
Circular progress indicator.
ArcaneColorField
ArcaneColors
Color design tokens as CSS variable references.
ArcaneCombobox<T>
An autocomplete combobox with search filtering.
ArcaneCommand
Command palette for quick actions and navigation.
ArcaneCommonStyles
Common style patterns.
ArcaneConfirmDialog
Confirmation dialog with confirm/cancel actions.
ArcaneContextMenu
Context menu that appears on right-click.
ArcaneCycleButton<T>
A button that cycles through a list of values on each click.
ArcaneDateField
ArcaneDatePicker
A date picker input with calendar dropdown.
ArcaneDecoration
A per-instance, theme-permeable box surface — the semantic counterpart to bounded literal ArcaneStyleData overrides (styles:).
ArcaneDialog
ArcaneDirection
ArcaneDisclosure
Disclosure widget using native HTML details/summary elements.
ArcaneDisclosureGroup
Group of disclosure widgets.
ArcaneDisclosureItem
Item in an ArcaneDisclosureGroup.
ArcaneDrawer
Slide-in drawer/sheet panel.
ArcaneDropdownDivider
Divider for dropdown menus - subtle horizontal line.
ArcaneDropdownItem
Dropdown item component with multiple style variants.
ArcaneDropdownMenu
Dropdown menu component.
ArcaneDropdownSectionHeader
Section header for dropdown menus - compact uppercase label.
ArcaneEffects
Effects design tokens.
ArcaneEmptyState
Empty state placeholder component displaying a message when there's no content.
ArcaneEnumField<T>
ArcaneFaqAccordion
FAQ accordion with question/answer pairs.
ArcaneField<T>
Generic form field component with provider-based state management.
ArcaneFieldDirectProvider<T>
Field provider delegating to custom getter/setter functions.
ArcaneFieldMapProvider<T>
Field provider using nested Map storage with dot notation access.
ArcaneFieldMetadata
Metadata for an ArcaneField.
ArcaneFieldProvider<T>
Abstract base class for form field providers.
ArcaneFieldStyles
ArcaneFieldWrapper
Wrapper for form fields providing consistent styling and layout.
ArcaneForm
Complete form component with built-in state management.
ArcaneFormContext
Form context data for accessing form state.
ArcaneFormProvider
Form provider component that manages form state.
ArcaneFormScope
Inherited component to provide form context to descendants.
ArcaneFormSection
Form section that groups multiple fields together.
ArcaneGallery
A themeable masonry gallery of media tiles.
ArcaneGalleryMedia
The primary media of a gallery tile.
ArcaneGalleryTile
One tile in an ArcaneGallery. Arcane owns the themed frame, the title/meta placement, and the layout; the consumer fills the app-specific slots.
ArcaneGap
A flexible gap component.
ArcaneGlyph
A structurally bounded, single rendered glyph.
ArcaneHeroCarousel
Hero carousel with full-width slides.
ArcaneHoverCard
A unified floating content component.
ArcaneIcon
Wrapper class providing access to all 1663 Lucide icons.
ArcaneImageCard
Image card with overlay text.
ArcaneInfiniteCarousel
Infinite scrolling carousel that auto-scrolls horizontally.
ArcaneInlineHeroBanner
A flat inline announcement that integrates with the hero section.
ArcaneInput
Factory class for creating common field types.
ArcaneInputGroup
Input group that combines multiple inputs in a row.
ArcaneInteraction
ArcaneItem
ArcaneKbd
Keyboard shortcut display component.
ArcaneLayout
Layout design tokens.
ArcaneLoadingSpinner
Indeterminate loading spinner.
ArcaneMegaMenu
Navigation dropdown with mega-menu style.
ArcaneMegaMenuSection
Section in a mega menu.
ArcaneMenubar
Horizontal menu bar component.
ArcaneMenubarMenu
Top-level menu in the menubar.
ArcaneMenuItem
Sealed class hierarchy for menu items. Use pattern matching to handle different item types in renderers.
ArcaneNavDropdown
Navigation dropdown for header menus.
ArcaneNavigableCarousel
Carousel with navigation arrows.
ArcaneNotFoundAction
A recovery link rendered by ArcaneNotFoundPage.
ArcaneNotFoundPage
A theme-aware 404 surface with semantic recovery navigation.
ArcaneOtpInput
One-time password input with separate digit fields.
ArcanePage
A semantic, responsive page shell shared by Arcane Jaspr applications.
ArcanePagination
Page navigation component.
ArcanePopover
ArcaneProgressBar
Progress bar component with various styles.
ArcaneRadio
Radio button component.
ArcaneRadioGroup<T>
A radio button group component.
ArcaneRadius
Border radius design tokens.
ArcaneRangeSlider
ArcaneResizable
A resizable panel group with draggable dividers.
ArcaneScaffold
ArcaneScaffoldProps
ArcaneScripts
ArcaneScriptsComponent
ArcaneScrollArea
A scrollable area with custom styled scrollbars.
ArcaneScrollRail
A scrollable sidebar rail that maintains position independently of page scroll.
ArcaneScrollRailLayout
A layout component that combines a scroll rail with main content.
ArcaneSelect
A select/dropdown input component.
ArcaneSelectOption
Select option model.
ArcaneSeparator
A visual separator/divider component.
ArcaneSheet
A modal sheet that slides in from screen edges.
ArcaneSidebar
Sidebar navigation component.
ArcaneSidebarCollapsed
Content that only displays when sidebar is collapsed.
ArcaneSidebarExpanded
Content that only displays when sidebar is expanded.
ArcaneSidebarGroup
Sidebar item group with optional label.
ArcaneSidebarItem
Sidebar navigation item.
ArcaneSidebarSection
Fixed sidebar section that is always expanded.
ArcaneSidebarSeparator
Visual separator between sidebar groups or items.
ArcaneSidebarSubMenu
Collapsible submenu section using native <details>/<summary>.
ArcaneSkeleton
Skeleton loading placeholder component.
ArcaneSkeletonCard
Skeleton card placeholder.
ArcaneSkeletonText
Skeleton text block with multiple lines.
ArcaneSlider
Slider input component with single value or range mode.
ArcaneSonner
ArcaneSpacing
Spacing design tokens as CSS value strings.
ArcaneSpinner
ArcaneStatusBadge
Compact status or label component with at most one leading mark.
ArcaneStringField
ArcaneStructuredCard
Card with header, body, and footer sections.
ArcaneStyleData
Immutable style configuration with type-safe enum properties.
ArcaneStylesheet
ArcaneTabBar
A simple tab bar without content for custom tab handling.
ArcaneTabBarItem
A tab bar item.
ArcaneTabItem
A tab item for ArcaneTabs.
ArcaneTableMd
ArcaneTabs
A tab component for switching between views.
ArcaneThemeProvider
Provides the current stylesheet and brightness to the component tree.
ArcaneTimeField
ArcaneToast
Toast notification component with auto-dismiss and global API support.
ArcaneToc
A table of contents component for documentation pages.
ArcaneToggleButton
A toggle button (on/off state).
ArcaneToggleButtonGroup
A toggle button group for switching between options.
ArcaneToggleGroup
A toggle group component for selecting one or multiple options.
ArcaneToggleSwitch
A toggle switch component.
ArcaneToolbar
A toolbar component for a horizontal bar of actions.
ArcaneTooltip
ArcaneTopAnnouncementBar
A thin sticky announcement bar at the top of the page.
ArcaneTypography
Typography design tokens.
ArcaneVirtualScroll<T>
A virtualized scroll list for large datasets.
ArcaneWindow
Web wrapper for ArcaneApp with optional background styling.
ArcaneZIndex
Z-index design tokens.
AspectRatioProps
Aspect ratio container component properties.
Asset
Represents an asset that can be processed by AssetTransformer.
AssetManager
Manages assets and resolves relative asset paths in rendered pages.
AssetTransformer
Interface for transforming assets during build time.
AsyncSnapshot<T>
Immutable representation of the most recent interaction with an asynchronous computation.
AuthGuard
Stub route protection for non-web platforms.
AuthState
Authentication state container.
AuthUser
Represents an authenticated user.
AvatarProps
Avatar component properties.
Bar
BlogLayout
A layout for blog articles.
Border
Border for BoxDecoration.
BoxConstraints
Flutter-like box constraints.
BoxDecoration
Box decoration for Container.
BoxShadow
Box shadow for elevation effects.
Breadcrumb item in the navigation trail.
Breadcrumb item data.
Breadcrumbs component properties.
BuildableElement
An Element that has a build method.
BuildContext
The BuildContext supplied to a Components build() method.
Builder
A stateless utility component whose build method uses its builder callback to create the component's child.
BuildOwner
Button
A styled button component.
ButtonGroup
A group of related buttons or controls.
ButtonGroupProps
Button group component properties.
ButtonPanel
A panel component for action buttons, typically used in dialogs or footers.
ButtonPanelProps
Button panel component properties.
ButtonProps
Canonical button properties with one optional semantic icon slot.
CachingIterable<E>
A lazy caching version of Iterable.
CalendarProps
Calendar component properties.
CalloutExtension
Card
Card component with consistent styling and multiple variants.
CardCarousel
Horizontally scrollable widget container.
CardProps
Card component properties.
CardSection
Carpet
Center
A center alignment component.
CenterBody
CenterProps
Center alignment component properties.
ChangelogParser
Parses CHANGELOG.md files following Keep a Changelog format.
ChangelogSections
Standard changelog section names.
ChangelogVersion
A parsed changelog entry representing a version.
ChangeNotifier
A class that can be extended or mixed in that provides a change notification API using VoidCallback for notifications.
ChartPointProps
ChartProps
CheckboxProps
Checkbox component properties.
CheckItemProps
Check item component properties.
CheckListProps
Check list component properties.
CircularProgressProps
Circular progress component properties.
ClientAnnotation
Use with client to annotate a client component.
Collection
Color
ARGB color representation with CSS output.
Colors
Common color constants.
Column
A column layout component (vertical flex).
ColumnProps
Column layout component properties.
ComboboxOption<T>
A combobox option.
CommandGroup
A group of related commands.
CommandGroupProps
Command group data.
CommandItem
A single command item.
CommandItemProps
Command item data.
CommandProps
Command palette component properties.
Component
Describes the configuration for an Element.
ComponentNode
A node that represents a component.
ComponentRenderers
ConfirmDialogProps
Confirm dialog component properties.
ConfirmText
Container
A container component with styling options.
Content
A component that wraps the content of a page and applies default typographic styles.
ContentApp
The root component for building a content-driven site.
ContextMenuProps
Context menu component properties.
CssGenerator
Generates CSS variable blocks from ThemePalette.
CtaCard
A dashed-border, centered call-to-action card: an optional icon in an accent circle, a bold title, a muted description, and a prominent CTA control that links via href or invokes onTap. Themed automatically by the active stylesheet.
CTACardProps
CTA (Call-to-Action) card component properties.
CustomComponent
CustomComponentBase
Base class for creating components based on a name pattern.
CycleButtonProps<T>
Cycle button component properties.
CycleOption<T>
Cycle option data.
DataColumn<T>
DataColumnProps<T>
Data column definition.
DataLoader
A data loader that loads additional data for a page.
DataTable<T>
DataTableProps<T>
Data table component properties.
DatePickerProps
Date picker component properties.
DateRange
A date range.
DateRangeValue
Date range value.
DecoderAnnotation
Use with decoder to annotate an decoder function for a custom model.
DefaultKnowledgeBaseRenderers
DefaultLayoutRenderers
DeleteIconButton
DeleteMenuButton
DialogDate
DialogDateMulti
DialogDateRange
DialogEmail
DialogProps
Dialog component properties.
DialogText
DialogTime
DirectionProps
DisclosureGroupProps
Disclosure group component properties.
DisclosureItemProps
Disclosure item data.
DisclosureProps
Disclosure component properties.
DocsLayout
A layout for documentation pages.
Document
DomComponent
Represents a html element in the DOM
DomElement
DrawerProps
Drawer component properties.
Dropdown menu component properties.
EdgeInsets
Flutter-like edge insets for padding and margin.
Element
An instantiation of a Component at a particular location in the tree.
ElementNode
A node that represents an element with a tag, attributes and children.
ElementSlot
EmptyLayout
An empty layout with no additional elements.
EmptyStateProps
Empty state component properties.
EncoderAnnotation
Use with encoder to annotate an encoder function for a custom model.
Expanded
An expanded component that fills available space.
ExpandedProps
Expanded component properties.
Expander
Fab
FabSocket
Factory<T>
A factory interface that also reports the type of the created objects.
FancyProgressBar
FeatureCard
A feature/navigation surface: an optional accent-tinted icon badge, a bold title, a muted description, and an optional call-to-action row. Lays out vertically by default and horizontally when horizontal is set. Becomes an anchor when href is set, or a clickable button when onTap is set. Themed automatically by the active stylesheet.
FeatureCardProps
Feature card component properties.
FeatureRowProps
Feature row component properties.
FieldWrapperProps
Field wrapper component properties.
FileAsset
An asset that is stored in a file.
FilePageSource
FilesystemDataLoader
A data loader that loads data from the filesystem.
FilesystemLoader
A loader that loads routes from the filesystem.
FillScreen
FlexiCardItem
Flexi card item data.
FlexiCardsProps
FlexiCards component properties.
FlexiCardsSimpleProps
FlexiCards simple component properties.
FloatingProps
Unified floating component properties.
FlowProps
Flow layout component properties.
FontConfig
Font family configuration for a theme.
FormHeader
FormProps
Form component properties.
FormSectionProps
Form section component properties.
Fragment
A utility component that renders its children without any wrapper element.
FutureBuilder<T>
Component that builds itself based on the latest snapshot of interaction with a Future.
GalleryProps
Properties for the gallery surface, passed to context.renderers.gallery.
GapProps
Gap component properties.
GitHubLoader
A loader that loads routes from a GitHub repository.
GitHubPageSource
GlobalKey
A key that is unique across the entire app.
GlobalNodeKey<T extends Node>
A global key that provides access to the dom web.Node that is associated with its element.
GlobalObjectKey
A global key that takes its identity from the object used as its value.
GlobalObjectNodeKey<T extends Node>
A global node key that takes its identity from the object used as its value.
GlobalObjectStateKey<T extends State<StatefulComponent>>
A global state key that takes its identity from the object used as its value.
GlobalStateKey<T extends State<StatefulComponent>>
A global key that provides access to the State that is associated with its element.
GuestGuard
Stub guest route protection for non-web platforms.
Gutter
A spacing component that provides consistent gaps between elements.
GutterProps
Gutter/spacing component properties.
HashingAssetTransformer
An asset transformer that adds a hash to the filename of assets.
HeadingAnchorsExtension
An extension that generates anchor links for headers in the page.
HtmlParser
A parser for HTML content.
HtmlText
Icon
IconButton
IconButtonMenu
IconCard
A compact surface: an accent-tinted icon badge, a bold title, and an optional muted subtitle. Becomes an anchor when href is set, or a clickable button when onTap is set. Themed automatically by the active stylesheet.
IconCardProps
Icon card component properties.
Icons
Image
Import
Define a platform specific import with auto-generated stubbing.
InheritedComponent
Base class for components that efficiently propagate information down the tree.
InheritedElement
An Element that uses an InheritedComponent as its configuration.
InheritedModel<T>
InheritedModelElement<T>
InheritedSecondaryOutput
InheritedWidget
InlineHeroBannerProps
Props for a flat, in-flow announcement row.
InputGroupProps
Input group component properties.
ItemProps
JasprAuthService
Stub implementation of JasprAuthService for non-web platforms.
JasprBadge
A "Built with Jaspr" badge component.
JasprHtmlBlockSyntax
KBAccordionComponent
KBAccordionGroupComponent
KBBadgeComponent
KBBannerComponent
KBCalloutTagComponent
KBCardComponent
KBCardGroupComponent
KBChangelog
A styled changelog timeline component.
KBCodeGroupComponent
KBColorComponent
KBColorItemComponent
KBColumnComponent
KBColumnsComponent
KbdProps
Keyboard shortcut display component properties.
KBEndpointComponent
KBExpandableComponent
KBFieldGroupComponent
KBFrameComponent
KBIconComponent
KBIcons
SVG icons used in JavaScript for dynamic DOM manipulation.
KBKbdComponent
KBLayout
The main layout wrapper for knowledge base pages. Matches the arcane_jaspr_neon pattern with single-line theming.
KBPageNav
Page navigation component showing previous and next articles.
KBPaletteOption
KBPanelComponent
KBParamFieldComponent
KBPathComponent
KBRating
Page rating component with thumbs up/down buttons.
KBRelatedPages
Widget that displays related pages based on shared tags.
KBResourceComponent
KBResourceGridComponent
KBResponseFieldComponent
KBRichMarkdownComponents
KBScriptConfig
Configuration constants for scripts.
KBScripts
Generates client-side JavaScript for the knowledge base.
KBSidebar
The sidebar navigation component for knowledge base pages. Matches the arcane_jaspr_neon pattern.
KBStepComponent
KBStepsComponent
KBStyles
Default CSS styles for knowledge base components.
KBStylesheetOption
KBSubpages
Subpages component that shows child pages of the current page.
KBTag
KBTagList
KBTileComponent
KBTilesComponent
KBTooltipComponent
KBTopBar
KBTreeComponent
KBTreeFileComponent
KBTreeFolderComponent
KBUpdateComponent
KBViewComponent
Key
A Key is an identifier for Components and Elements.
KeyValueRow
KeyValueRowData
Key-value row data.
KeyValueTable
KeyValueTableProps
Key-value table component properties.
KnowledgeBaseApp
Configuration for creating a knowledge base application.
KnowledgeBaseRenderData
KnowledgeBaseRenderers
LabeledGlobalKey
A global key with a debugging label.
LabeledGlobalNodeKey<T extends Node>
A global node key with a debugging label.
LabeledGlobalStateKey<T extends State<StatefulComponent>>
A global state key with a debugging label.
LayoutRenderers
LeafElement
LeafRenderObjectElement
LiquidTemplateEngine
A template engine that uses the Liquid templating language.
Listenable
An object that maintains a list of listeners.
ListenableBuilder
LoadingSpinnerProps
Loading spinner component properties.
LocalKey
A key that is not a GlobalKey.
Markdown
MarkdownOutput
Outputs a secondary 'index.html.md' file for a markdown page containing its unparsed content.
MarkdownParser
A parser for Markdown content.
MediaExtension
A PageExtension that transforms media syntax into embedded content.
MemoryAsset
An asset that is stored in memory as bytes.
MemoryDataLoader
A data loader that loads data from memory.
MemoryLoader
A loader that loads routes from memory.
MemoryPage
A page that is loaded from memory.
MemoryPageSource
Menubar menu data.
Menubar component properties.
Standard clickable menu item.
Checkbox menu item.
Label/header for grouping items (non-interactive).
Radio menu item (part of a group).
Visual separator between menu items.
Submenu with nested items.
MultiChildElement
An Element that has multiple children based on a proxy list.
MultiChildRenderObjectElement
MustacheTemplateEngine
A template engine that uses the Mustache templating language.
MutableText
NativeSelectOptionProps
NativeSelectProps
Builds navigation structure from a directory of markdown files.
Represents a single navigation item (page link).
A navigation link for the header.
The complete navigation manifest.
Represents a navigation section (folder of pages).
Node
A tree-like object that represents the content of a page.
NodesBuilder
Builds a list of nodes, including supported custom components.
Notification
A notification that can bubble up the component tree.
ObserverComponent
Base class for components that observes the build execution of it's descendants in the Component tree.
ObserverElement
An Element that uses an ObserverComponent as its configuration. You can override willRebuildElement, didRebuildElement and didUnmountElement to execute the required logic.
OnGesture
OnHover
OtpInputProps
OTP input component properties.
OutlineButtonMenu
Padding
A padding wrapper component.
PaddingWrapperProps
Padding wrapper component properties.
Page
A single page of the site.
PageConfig
The configuration for building a page.
PageExtension
An extension that can post-process a page and its parsed nodes.
PageLayout
A layout for a page.
PageLayoutBase
A base implementation of a page layout.
Navigation item with title and path for prev/next links.
PageParser
Parses a page into a list of nodes.
PageSource
PaginationProps
Pagination component properties.
PaletteGenerator
Generates a complete ThemePalette from a ThemeSeed.
PasswordPolicy
Password validation policy with configurable requirements.
PopupMenu
Positioned
A positioned child for use within a Stack.
PricingCard
A plan surface: an optional icon, a title, a price row, an optional subtitle, an included/excluded feature list, an optional spec table, and a call-to-action button. Themed automatically by the active stylesheet.
PricingCardProps
Pricing card component properties.
PricingGrid
A responsive grid of pricing cards, one per tiers entry, laid out in columns equal columns (defaulting to one column per tier). Themed automatically by the active stylesheet.
PricingGridProps
Pricing grid component properties.
PricingTier
Pricing tier data.
ProgressProps
Progress bar component properties.
RadioCards<T>
RadioGroupProps<T>
Radio group component properties.
RadioOption<T>
Radio button option model.
RadioOptionProps<T>
Radio option data.
RadiusConfig
Border radius configuration for a theme.
RatingConfig
Configuration for the rating system.
RatingCounts
Holds the count of helpful and not helpful ratings.
RatingStars
A simple row of text rating stars (★/☆), sized by size and colored with the palette's warning token. When interactive, each star click reports its 1-based position via onRatingChanged.
RatingStarsSimpleProps
Simple rating stars component properties.
RawableRenderObject
RawableRenderText
ReadingTimeExtension
A PageExtension that calculates reading time for pages.
ReadingTimeResult
Result of reading time calculation.
RenderElement
RenderFragment
RenderObject
RenderText
ResizablePanelData
Resizable panel data.
ResizableProps
Resizable panel group component properties.
RichText
Rich text component supporting mixed styling.
RouteLoader
A loader that loads routes and creates pages.
RouteLoaderBase<T extends PageSource>
A base class for RouteLoader implementations.
Row
A row layout component (horizontal flex).
RowProps
Row layout component properties.
RSSFilter
RSSItem
RSSOutput
Outputs a rss feed for your pages.
Screen
ScrollAreaProps
Scroll area component properties.
ScrollRailLayoutProps
Scroll rail layout component properties.
ScrollRailProps
Scroll rail component properties.
SearchIndexEntry
A single entry in the search index.
SearchIndexGenerator
Generates a search index JSON file from the navigation manifest.
SearchResult
SecondaryOutput
A secondary output for a page.
Section
SelectOptionProps<T>
Select option data.
Selector<T>
SelectProps<T>
Select component properties.
SeparatorProps
Unified separator component properties.
SheetProps
Sheet/drawer component properties.
SidebarGroupProps
Sidebar group component properties.
SidebarItemProps
Sidebar item component properties.
SidebarProps
Sidebar component properties.
SidebarSectionProps
Sidebar section component properties (fixed, non-collapsible section).
SidebarSubMenuProps
Sidebar submenu component properties (collapsible section).
SiteConfig
Configuration for the knowledge base site.
SitemapGenerator
Generates an XML sitemap from the navigation manifest.
SizedBox
A sized box component.
SizedBoxProps
SizedBox component properties.
SkeletonProps
Skeleton component properties.
SliderProps
Slider component properties.
SliverScreen
SlotCounterCardProps
Slot counter card component properties.
SlotCounterProps
Slot counter component properties.
SlotCounterRowProps
Slot counter row component properties.
A social media link.
Spacer
A flexible spacer component.
SpacerProps
Spacer component properties.
SpecEntry
Hardware/feature specification entry.
SpecRowProps
Spec row component properties.
Stack
An Stack component for positioning children on top of each other.
StatCard
A compact metric surface: an uppercase label, a large value, and optional icon, trend, and description. Themed automatically by the active stylesheet.
StatCardProps
Stat card component properties.
StatCardRow
A responsive grid of StatCards laid out in columns equal columns.
StatCardRowProps
Stat card row component properties.
StatefulBuilder
A platonic component that both has state and calls a closure to obtain its child component.
StatefulComponent
A component that has mutable state.
StatefulElement
An Element that uses a StatefulComponent as its configuration.
StatefulWidget
StatelessComponent
A component that does not require mutable state.
StatelessElement
An Element that uses a StatelessComponent as its configuration.
StatelessWidget
StaticTable
StaticTableProps
Static table component properties.
StatusBadgeProps
Unified badge component properties.
StreamBuilder<T>
Component that builds itself based on the latest snapshot of interaction with a Stream.
StreamBuilderBase<T, S>
Base class for components that build themselves based on interaction with a specified Stream.
SyncAnnotation
SynchronousFuture<T>
A Future whose then implementation calls the callback immediately.
TabBarItemProps
Tab bar item data.
TabBarProps
Tab bar component properties.
TabItemProps
Tab item data.
TableOfContentsExtension
An extension that generates a table of contents from the headers in the page.
TabsProps
Tabs component properties.
TemplateEngine
A template engine for preprocessing a page's content.
TestimonialCard
A quote surface: an optional uniform accent border, a large decorative quote, an optional rating row, and an author row (avatar or initials, name, and a muted title · company line). Themed automatically by the active stylesheet.
TestimonialCardProps
Testimonial card component properties.
Text
Text component with enum-based styling.
TextArea
A textarea component.
TextAreaProps
Text area component properties.
TextButtonMenu
TextElement
TextInput
A styled text input component.
TextInputProps
Text input component properties.
TextNode
A node that represents simple text content.
TextSpan
Text span for use within RichText.
ThemedKBPage
Documentation page wrapper with light/dark mode toggle.
ThemePalette
Complete color palette derived from ThemeSeed.
ThemeSeed
Minimal color input for theme generation.
Tile
TimeOfDay
Represents a time of day with hour and minute.
TimePickerProps
Time picker component properties.
ToastAction
Toast action button data.
ToastContainerProps
Toast container component properties.
ToastData
Toast data for the queue.
ToastManager
Global toast manager singleton.
ToastProps
Toast component properties.
TocEntry
Represents a heading entry for the table of contents.
ToggleButtonProps
Toggle button component properties.
ToggleGroupItem
A toggle group item.
ToggleGroupItemProps
Toggle group item data.
ToggleGroupProps
Toggle group component properties.
ToggleSwitchProps
Toggle switch component properties.
ToolbarProps
Toolbar component properties.
TopAnnouncementBarProps
Props for the single flat announcement surface supported by Arcane.
UniqueKey
A key that is only equal to itself.
ValueKey<T>
A key that uses a value of a particular type to identify itself.
ValueListenable<T>
An interface for subclasses of Listenable that expose a value.
ValueListenableBuilder<T>
ValueNotifier<T>
A ChangeNotifier that holds a single value.
VirtualScrollProps<T>
Virtual scroll component properties.
Wrap
A flexible flow layout component that wraps children.

Enums

AccordionVariant
Accordion variant styles.
AlertStyle
Alert visual style variant.
AlignItems
Align items values
Alignment
Alignment positions for layout.
AnimationPreset
Animation presets for common UI patterns
ArcaneColor
Semantic color values that map to theme CSS custom properties.
ArcaneDirectionValue
ArcaneDropdownItemStyle
Style variants for dropdown items
ArcaneGalleryLayout
How an ArcaneGallery arranges its tiles.
ArcanePageWidth
The content-width policy used by ArcanePage.
AuthMethod
Supported authentication methods.
AuthStatus
Authentication status enumeration.
AvatarBadgePosition
Position for avatar badge.
AvatarGroupDirection
Direction for avatar group stacking.
AvatarShape
AvatarSize
Avatar size with extended range for flexibility.
Axis
Axis direction.
Background
Background color presets
BackgroundClip
background-clip presets. text clips the background to the foreground text (gradient text); ArcaneStyleData emits it with the -webkit- prefix.
BadgeVariant
Badge variant for all badge styles.
BarBackButtonMode
BorderColor
Border color presets
BorderPreset
Border presets combining width, style, and color
BorderWidth
Border width presets
BoxFit
Image fit modes.
BoxSizing
box-sizing presets.
Brightness
Brightness mode for the application.
ButtonIconPosition
Placement for a button's single semantic icon.
ButtonSize
Button size enum with icon variants. Supports both abbreviated (sm/md/lg) and spelled-out (small/medium/large) styles.
ButtonType
ButtonVariant
CalendarMode
Calendar selection mode.
CalendarModeVariant
CardVariant
CheckStyle
ColorVariant
Color variants for semantic meaning.
ComboboxSize
Size variants for combobox.
ComponentSize
Unified size enum supporting both naming conventions. Use whichever style you prefer - they are aliases.
ConnectionState
The state of connection to an asynchronous computation.
CrossAxisAlignment
Cross axis alignment for flex layouts.
Cursor
Cursor presets
CycleButtonSize
CycleButtonVariant
DataTableTextAlign
DatePickerSize
Size variants for date picker.
DatePickerSizeVariant
DirectionValue
DisclosureVariant
Display
CSS display property values
DrawerPosition
DrawerSize
Easing
Animation timing functions
Elevation
Theme-neutral elevation intent.
EmptyStateSizeVariant
EmptyStateStyleVariant
FlexDirection
Flex direction values
FlexPreset
Flex shorthand presets
FlexWrap
Flex wrap values
FloatingPosition
Position of floating content relative to trigger.
FloatingTrigger
Floating content trigger mode.
FontFamily
Font family presets
FontSize
Font size presets using rem units
FontStyle
Font style values
FontWeight
Font weight values.
Gap
Gap presets for flex and grid layouts
GestureType
GridAutoFlow
Grid auto-flow values
GridColumns
Grid template column presets
GridRows
Grid template row presets
GutterSize
IconSize
Icon size presets for consistent sizing.
ImportPlatform
JustifyContent
Justify content values
KbdStyle
KBNavigationBarPosition
KBTagSize
KBThemeMode
Theme mode options for the knowledge base.
LetterSpacing
Letter spacing presets
LineHeight
Line height presets
MainAxisAlignment
Main axis alignment for flex layouts.
MainAxisSize
Main axis size behavior.
MarginPreset
Compound margin presets
MaxHeight
Max height presets
MaxWidth
Max-width container presets
MinWidth
Min width presets
ObjectFit
Object fit values
ObjectPosition
Object position values
Opacity
Opacity presets
OtpInputSize
Size variants for OTP input.
OtpInputSizeVariant
OutlinePreset
Outline presets
Overflow
Overflow behavior values
OverflowAxis
Overflow X/Y specific values
PaddingPreset
Compound padding presets
PaginationSize
PaginationSizeVariant
PaginationStyle
PaginationStyleVariant
PlaceContent
Place content values
PlaceItems
Place items values
PointerEvents
Pointer events presets
Position
CSS position values
PricingCardVariant
Visual variant for pricing cards.
ProgressVariant
RadioGroupLayout
RadioGroupVariant
Radius
Border radius presets
ResizeDirection
SchedulerPhase
ScrollbarStyleVariant
ScrollbarVisibilityVariant
ScrollDirectionVariant
ScrollRailPosition
ScrollRailSize
SelectDropdownDirection
SeparatorOrientation
Separator orientation.
SeparatorVariant
Separator visual style variants.
Shadow
Box shadow presets
SheetPosition
Sheet position (edge from which it slides).
SheetSize
Sheet size variants.
SheetSizeVariant
Size
Size keyword presets
SkeletonShape
SliderVariant
SlotCounterColor
SlotCounterSize
Spacing
Single-value spacing scale based on 4px unit
StatusType
StyleVariant
Style variants for visual treatment.
TextAlign
Text alignment options.
TextAreaResize
Resize direction for a TextAreaProps control.
TextColor
Text/foreground color presets
TextDecoration
Text decoration values
TextInputType
TextInputVariant
TextOverflow
Text overflow behavior.
TextTransform
Text transform values
ThemeMode
Theme mode selection.
ToastPosition
ToastVariant
ToggleGroupSelectionType
ToggleGroupSize
Toggle group size.
ToggleGroupSizeVariant
ToggleGroupType
Toggle group selection type.
ToggleGroupVariant
Toggle group variants.
ToggleGroupVariantStyle
Transform
Transform presets
TransformOrigin
Transform origin presets
Transition
Transition presets
Visibility
Visibility values
WhiteSpace
White space handling values
WordBreak
Word break values
WrapAlignment
Wrap alignment for flex wrap layouts.
ZIndex
Z-index layer presets

Mixins

AccordionRendererContract
Mixin defining the renderer methods for accordion components.
AlertRendererContract
Mixin defining the renderer methods for alert components.
AspectRatioRendererContract
Mixin defining the renderer methods for aspect ratio components.
AvatarRendererContract
Mixin defining the renderer methods for avatar components.
Mixin defining the renderer methods for breadcrumb components.
ButtonPanelRendererContract
Mixin defining the renderer methods for button panel components.
ButtonRendererContract
Mixin defining the renderer method for button components.
CalendarRendererContract
Mixin defining the renderer methods for calendar components.
CardRendererContract
Mixin defining the renderer methods for card components.
ChartRendererContract
CheckboxRendererContract
Mixin defining the renderer method for checkbox components.
CheckListRendererContract
Mixin defining the renderer methods for check list components.
CommandRendererContract
Mixin defining the renderer methods for command palette components.
ComponentsBinding
Main app binding, controls the root component and global state
ConfirmDialogRendererContract
Mixin defining the renderer methods for confirm and alert dialog components.
ContextMenuRendererContract
Mixin defining the renderer methods for context menu components.
CTACardRendererContract
Mixin defining the renderer method for CTA card component.
CycleButtonRendererContract
Mixin defining the renderer methods for cycle button and toggle button components.
DataTableRendererContract
Mixin defining the renderer methods for data table components.
DatePickerRendererContract
Mixin defining the renderer methods for date picker components.
DialogRendererContract
Mixin defining the renderer methods for dialog components.
DirectionRendererContract
DisclosureRendererContract
Mixin defining the renderer methods for disclosure components.
DrawerRendererContract
Mixin defining the renderer methods for drawer components.
Mixin defining the renderer methods for dropdown menu components.
EmptyStateRendererContract
Mixin defining the renderer methods for empty state components.
FeatureCardRendererContract
Mixin defining the renderer methods for feature card components.
FieldWrapperRendererContract
Mixin defining the renderer methods for field wrapper components.
FlexiCardsRendererContract
Mixin defining the renderer methods for flexi cards components.
FloatingRendererContract
Mixin defining the renderer methods for floating components.
FlowRendererContract
Mixin defining the renderer methods for flow/layout components.
GalleryRendererContract
Renderer contract for the gallery component.
GutterRendererContract
Mixin defining the renderer methods for gutter/spacing components.
ItemRendererContract
KbdRendererContract
Mixin defining the renderer methods for keyboard shortcut components.
Mixin defining the renderer methods for menubar components.
NativeSelectRendererContract
NotifiableElementMixin
Mixin this class to allow receiving Notification objects dispatched by child elements.
OnFirstBuild
Mixin on StatelessComponent that performs some async task on the first build
OtpInputRendererContract
Mixin defining the renderer method for OTP input components.
PaginationRendererContract
Mixin defining the renderer methods for pagination components.
PreloadStateMixin<T extends StatefulComponent>
Mixin on State that preloads state on the server
PricingCardRendererContract
Mixin defining the renderer methods for pricing card components.
ProgressRendererContract
Mixin defining the renderer methods for progress components.
PromoRendererContract
RadioGroupRendererContract
Mixin defining the renderer method for radio group components.
RenderObjectElement
ResizableRendererContract
Mixin defining the renderer methods for resizable components.
ScaffoldRendererContract
SchedulerBinding
ScrollAreaRendererContract
Mixin defining the renderer methods for scroll area components.
ScrollRailRendererContract
Mixin defining the renderer methods for scroll rail components.
SelectRendererContract
Mixin defining the renderer methods for select components.
SeparatorRendererContract
Mixin defining the renderer methods for separator components.
SidebarRendererContract
Mixin defining the renderer methods for sidebar components.
SkeletonRendererContract
Mixin defining the renderer methods for skeleton components.
SliderRendererContract
Mixin defining the renderer method for slider components.
SlotCounterRendererContract
Mixin defining the renderer methods for slot counter components.
SpecRowRendererContract
Mixin defining the renderer methods for spec row components.
StatCardRendererContract
Mixin defining the renderer methods for stat card components.
StaticTableRendererContract
Mixin defining the renderer methods for static table components.
StatusBadgeRendererContract
Mixin defining the renderer methods for status badge components.
SyncStateMixin<T extends StatefulComponent, U>
Mixin on State that syncs state data from the server to the client.
TabsRendererContract
Mixin defining the renderer methods for tab components.
TestimonialCardRendererContract
Mixin defining the renderer methods for testimonial card components.
TextAreaRendererContract
Mixin defining the renderer method for text area components.
TextInputRendererContract
Mixin defining the renderer method for text input components.
TimePickerRendererContract
Mixin defining the renderer method for time picker components.
ToastRendererContract
Mixin defining the renderer methods for toast components.
ToggleGroupRendererContract
Mixin defining the renderer methods for toggle group components.
ToggleSwitchRendererContract
Mixin defining the renderer method for toggle switch components.

Extension Types

PageDataMap
The data exposed to and used by the page, accessed with Page.data.

Extensions

AppContext on BuildContext
ArcaneColorOps on String
Opacity and blend helpers for ANY CSS color string.
ArcaneThemeContext on BuildContext
Extension for easy access to theme properties from context.
AuthContextExtension on BuildContext
Extension for accessing auth state from any component.
DurationExtension on int
Duration extension for convenience.
IconSizeExtension on IconSize
Extension to convert IconSize to pixel values.
NodeExtension on Node
PageBuilderExtension on Iterable<PageParser>
PageContext on BuildContext
Context extensions to get the current page and pages in a components build method.
PageHandlersExtension on Page
Common build steps that may be used in a page builder function.
ResolveAssetExtension on BuildContext
Provides the resolveAsset extension to resolve assets relative to the current page.
RouteLoaderExtension on RouteLoader

Constants

arcaneAllDocsStyles → const String
All documentation styles combined.
arcaneAllSidebarStyles → const String
All sidebar styles combined.
arcaneCalloutStyles → const String
Callout/admonition block styles.
arcaneCodeCopyButtonStyles → const String
Code block copy button styles.
arcaneProseCodeStyles → const String
Prose code block styles with syntax highlighting.
arcaneProseStyles → const String
Base prose typography styles for markdown content.
arcaneSidebarComponentStyles → const String
ArcaneSidebar component tree-line styles.
arcaneSidebarTreeStyles → const String
Sidebar tree-line navigation styles.
arcaneTocTreeLinesCss → const String
CSS styles for ArcaneToc tree-line visual connectors.
client → const ClientAnnotation
Used to annotate a client component.
decoder → const DecoderAnnotation
Used to annotate an decoder function for a custom model.
encoder → const EncoderAnnotation
Used to annotate an encoder function for a custom model.
factory → const Object
Annotation on a function that creates new objects.
immutable → const Immutable
Annotation on an immutable class.
kDebugMode → const bool
A constant that is true if the application was compiled in debug mode.
kGenerateMode → const bool
A constant that is true if the application is running in static-site-generation mode.
kIsWasm → const bool
A constant that is true if the application was compiled to WebAssembly.
kIsWeb → const bool
A constant that is true if the application was compiled to run on the web.
kReleaseMode → const bool
A constant that is true if the application was compiled in release mode.
kVerboseMode → const bool
A constant that is true if the application was run in verbose mode.
mustCallSuper → const Object
Annotation on instance member that overriding members must call.
nonVirtual → const Object
Annotation on instance member that must not be overridden.
optionalTypeArgs → const Object
Annotation on type arguments that can safely be omitted.
protected → const Object
Annotation on instance member that should only be used by subclasses.
sync → const SyncAnnotation
visibleForTesting → const Object
Annotation on a public declaration that should only be used in tests.

Properties

toast ToastManager
Global toast accessor.
no setter

Functions

anchorAttrs(String anchorId) Map<String, String>
calculateReadingTime(String content, {int wordsPerMinute = 200}) ReadingTimeResult
Calculate reading time for markdown or plain text content.
calendarAttrs({required String calendarId, required int year, required int month, String mode = 'single', DateTime? selected, DateTime? rangeStart, DateTime? rangeEnd, DateTime? minDate, DateTime? maxDate, bool showWeekNumbers = false, bool showToday = true, int firstDayOfWeek = 0}) Map<String, String>
calendarPickerAttrs(String calendarId) Map<String, String>
calendarTriggerAttrs(String calendarId) Map<String, String>
carouselAttrs({required String groupId, required int activeIndex, required int slideCount, bool loop = false, String? autoplayMs}) Map<String, String>
carouselSlideAttrs({required String groupId, required int index, bool active = false}) Map<String, String>
cx(List<String?> classes) String
Joins CSS class names into a single space-separated string, skipping nulls and blank entries.
describeIdentity(Object? object) String
Returns a summary of the runtime type and hash code of object.
dismissAttrs() Map<String, String>
encodeArcaneAction(ArcaneInteraction action) String
encodeArcaneActions(List<ArcaneInteraction> actions) String
fieldAttrs({required String formId, required String name, String? value, bool required = false, bool disabled = false, String? type, String? validate}) Map<String, String>
formAttrs({required String formId, String? endpoint, String? method, bool resetOnSubmit = false}) Map<String, String>
groupAttrs({required String groupId, String mode = 'single', String? value, bool? required, bool? disabled, String? minSelections, String? maxSelections, String? changeAction}) Map<String, String>
groupItemAttrs({required String groupId, required String value, bool selected = false, bool disabled = false}) Map<String, String>
interactionAttrs(ArcaneInteraction? action) Map<String, String>
interactionEventAttrs({ArcaneInteraction? onClick, ArcaneInteraction? onChange, ArcaneInteraction? onSubmit, ArcaneInteraction? onDoubleClick, ArcaneInteraction? onContextMenu, ArcaneInteraction? onMouseEnter, ArcaneInteraction? onMouseLeave, ArcaneInteraction? onFocus, ArcaneInteraction? onBlur, ArcaneInteraction? onKeyDown, ArcaneInteraction? onLongPress}) Map<String, String>
lerpDuration(Duration a, Duration b, double t) Duration
Linearly interpolate between two Durations.
mergeAttrs(List<Map<String, String>> attrs) Map<String, String>
objectRuntimeType(Object? object, String optimizedValue) String
Framework code should use this method in favor of calling toString on Object.runtimeType.
paginationAttrs({required String groupId, required int activePage, required int pageCount}) Map<String, String>
panelAttrs({required String groupId, required String panelId, bool expanded = false, bool exclusive = false}) Map<String, String>
panelContentAttrs({required String groupId, required String panelId, bool expanded = false}) Map<String, String>
runApp(Component app) → void
Main entry point for a jaspr app
shortHash(Object? object) String
Returns a 5 character long hexadecimal string generated from Object.hashCode's 20 least-significant bits.
sliderAttrs({required String sliderId, required double min, required double max, double? value, double? lo, double? hi, double? step, bool range = false, bool disabled = false, String? changeAction}) Map<String, String>
stepAttrs({required String groupId, required int index, bool active = false, bool completed = false}) Map<String, String>
stepperAttrs({required String groupId, required int activeStep, required int stepCount, bool linear = true}) Map<String, String>
surfaceAttrs({required String surface, required String id, bool initiallyOpen = false, bool dismissible = true, bool escapeCloses = true, bool focusTrap = true, bool scrimCloses = true, bool restoreFocus = true, String? anchorId, String? anchorPlacement, String? anchorOffset, String? anchorAlign, String? animation, String? group, bool exclusive = false}) Map<String, String>
tabPanelAttrs({required String groupId, required String tabId, bool active = false}) Map<String, String>
tabsAttrs({required String groupId, required String activeTab, String orientation = 'horizontal'}) Map<String, String>
tabTriggerAttrs({required String groupId, required String tabId, bool active = false, bool disabled = false}) Map<String, String>
textInputAttrs({ArcaneInteraction? onChange, ArcaneInteraction? onSubmit, String? formId, String? fieldName, String? fieldType, String? fieldValidate, bool required = false, bool disabled = false}) Map<String, String>
timePickerAttrs({required String pickerId, bool use24Hour = false, bool clearable = true, String? placeholder, String? value}) Map<String, String>
timePickerClearAttrs() Map<String, String>
timePickerDisplayAttrs() Map<String, String>

Typedefs

AInlineHeroBanner = ArcaneInlineHeroBanner
AsyncCallback = Future<void> Function()
Signature of callbacks that have no arguments and return no data, but that return a Future to indicate when their work is complete.
AsyncComponentBuilder<T> = Component Function(BuildContext context, AsyncSnapshot<T> snapshot)
Signature for strategies that build components based on asynchronous interaction.
AsyncValueGetter<T> = Future<T> Function()
Signature for callbacks that are to asynchronously report a value on demand.
AsyncValueSetter<T> = Future<void> Function(T value)
Signature for callbacks that report that a value has been set and return a Future that completes when the value has been saved.
AToast = ArcaneToast
ATopAnnouncementBar = ArcaneTopAnnouncementBar
ComponentBuilder = Component Function(BuildContext context)
Signature for a function that creates a component, e.g. StatelessComponent.build or State.build.
ConfigResolver = PageConfig Function(PageSource)
A function that resolves the configuration for a page based on its source.
CustomComponentBuilder = Component Function(String name, Map<String, String> attributes, Component? child)
A builder for creating components from a name, attributes, and child.
DemoBuilder = Widget? Function(String componentType)
Callback type for building demo components.
DocumentBuilder = Document Function(Page page)
ElementVisitor = void Function(Element element)
Signature for the callback to BuildContext.visitChildElements.
EmptyStateSize = EmptyStateSizeVariant
EmptyStateStyle = EmptyStateStyleVariant
EventCallback = void Function(Event event)
GithubLoader = GitHubLoader
IconData = ArcaneGlyph Function({IconSize size})
IndexedWidgetBuilder = Widget Function(BuildContext context, int index)
IterableFilter<T> = Iterable<T> Function(Iterable<T> input)
Signature for callbacks that filter an iterable.
NullableIndexedWidgetBuilder = Widget? Function(BuildContext context, int index)
PageBuilder = Future<Component> Function(Page)
A function that builds a page based on its configuration.
RatingCallback = Future<void> Function(String pagePath, bool isHelpful)
Callback type for handling rating submissions.
ResizablePanel = ResizablePanelData
ScrollbarStyle = ScrollbarStyleVariant
ScrollbarVisibility = ScrollbarVisibilityVariant
ScrollDirection = ScrollDirectionVariant
SelectInput = ArcaneSelect
State<T extends StatefulWidget> = State<T>
StatefulComponentBuilder = Component Function(BuildContext context, StateSetter setState)
Signature for the builder callback used by StatefulBuilder.
StateSetter = void Function(VoidCallback fn)
The signature of State.setState functions.
ValueChanged<T> = void Function(T value)
Signature for callbacks that report that an underlying value has changed.
ValueGetter<T> = T Function()
Signature for callbacks that are to report a value on demand.
ValueSetter<T> = void Function(T value)
Signature for callbacks that report that a value has been set.
VoidCallback = void Function()
Signature of callbacks that have no arguments and return no data.
Widget = Component
WidgetBuilder = Widget Function(BuildContext context)