arcane_jaspr library
Arcane Jaspr - A Jaspr port of the Arcane UI component library Supabase-inspired design with switchable accent colors
Classes
- a
- The <a> HTML element (or anchor element), with its href attribute, creates a hyperlink to web pages, files, email addresses, locations in the same page, or anything else a URL can address.
- Accordion
- An accordion/collapsible component (Supabase-style)
- AccordionItem
- An accordion item data model
- AlertBanner
- An alert/banner component (Supabase-style)
- AlertDialog
- A simple alert dialog
- AlertStyle
- Alert/banner styling presets Use like: ArcaneAlert(style: AlertStyle.warning)
- Angle
-
The
<angle>CSS data type represents an angle value expressed in degrees, gradians, radians, or turns. It is used by CSS functions likerotate()and in gradient angles. - AnimatedCounter
- Animated counter display for statistics
- AnimatedGradientText
- Animated gradient text with color shift
- Animation
-
The
animationCSS property applies an animation between styles. - AppBinding
- Main class that provide services (also known as "bindings").
- Arcane
- Core Arcane utility class for app-wide operations
- ArcaneApp
- Root application component for Arcane Jaspr apps.
- ArcaneAvatar
- Avatar component for displaying user images or initials
- ArcaneBarriers
- Barrier colors for overlays
- ArcaneButton
- A styled button component.
- ArcaneCard
- A card component with consistent styling.
- ArcaneChip
- Chip/tag component for labels and filters
- ArcaneChipGroup
- Chip group for multiple chips
- ArcaneColors
- Centralized design tokens for Arcane Jaspr All values are static const strings that reference CSS variables for theme reactivity or provide consistent static values for spacing, typography, etc. Color tokens referencing CSS variables for dynamic theming
- ArcaneCommonStyles
- Common reusable style patterns
- ArcaneCtaBanner
- Call-to-action banner with gradient background
- ArcaneDialog
- A modal dialog component.
- ArcaneDivider
- A horizontal divider component
- ArcaneEffects
- Effect tokens for shadows, transitions, and animations
-
ArcaneField<
T> - A generic form field component in the Arcane UI component system.
-
ArcaneFieldDirectProvider<
T> - A flexible provider that delegates to custom getter/setter functions.
-
ArcaneFieldMapProvider<
T> - A concrete implementation of ArcaneFieldProvider using a nested Map for storage.
- ArcaneFieldMetadata
- Metadata class holding descriptive information for an ArcaneField.
-
ArcaneFieldProvider<
T> - The abstract base class for form field providers in the Arcane form system.
- ArcaneFieldStyles
- Static styles for ArcaneField components (public for @css annotation)
- ArcaneFieldWrapper
- A wrapper widget for form fields providing consistent styling and layout.
- ArcaneForm
- A complete form component with built-in state management.
- ArcaneFormProvider
- A form provider component that manages form state.
- ArcaneFormScope
- An inherited component to provide form context to descendants.
- ArcaneIconButton
- An icon-only button component.
- ArcaneInput
- Factory class for creating common field types.
- ArcaneLayout
- Layout tokens for container widths, heights, and dimensions
- ArcaneLoader
- Spinner loader component
- ArcaneProgressBar
- Progress bar component with various styles
- ArcaneRadius
- Border radius tokens (reference CSS variables for consistent theming)
- ArcaneRatingStars
- Star rating display component
- ArcaneSelect
- A select/dropdown input component
- ArcaneSocialIcon
- Social media icon link
- ArcaneSocialIconGroup
- Group of social icons
- ArcaneSpacing
- Spacing tokens for consistent padding, margin, and gap values
- ArcaneStyles
- Helper class for building inline CSS styles
- ArcaneTabItem
- A tab item for ArcaneTabs
- ArcaneTabs
- A tab component for switching between views.
- ArcaneTextArea
- A textarea component
- ArcaneTextInput
- A styled text input component
- ArcaneTheme
- Main theme configuration for Arcane Jaspr
- ArcaneThemeProvider
- InheritedComponent for theme propagation
- ArcaneToastTheme
- Toast theme configuration
- ArcaneTypography
- Typography tokens for font sizes, weights, and line heights
- ArcaneVerticalDivider
- A vertical divider component
- ArcaneWindow
- ArcaneWindow for web - just wraps ArcaneApp with optional background styling
- ArcaneZIndex
- Z-index tokens for layering
- article
- The <article> HTML element represents a self-contained composition in a document, page, application, or site, which is intended to be independently distributable or reusable (e.g., in syndication). Examples include: a forum post, a magazine or newspaper article, or a blog entry, a product card, a user-submitted comment, an interactive widget or gadget, or any other independent item of content.
- aside
- The <aside> HTML element represents a portion of a document whose content is only indirectly related to the document's main content. Asides are frequently presented as sidebars or call-out boxes.
- AspectRatio
-
The
aspect-ratioCSS property allows you to define the desired width-to-height ratio of an element's box. This means that even if the parent container or viewport size changes, the browser will adjust the element's dimensions to maintain the specified width-to-height ratio. -
AsyncSnapshot<
T> - Immutable representation of the most recent interaction with an asynchronous computation.
- AttrCheck
- audio
- The <audio> HTML element is used to embed sound content in documents. It may contain one or more audio sources, represented using the src attribute or the <source> element: the browser will choose the most suitable one. It can also be the destination for streamed media, using a MediaStream.
- AvatarGroup
- Avatar group for stacking multiple avatars
- AvatarStyle
- Avatar styling presets
- b
- The <b> HTML element is used to draw the reader's attention to the element's contents, which are not otherwise granted special importance. This was formerly known as the Boldface element, and most browsers still draw the text in boldface. However, you should not use <b> for styling text; instead, you should use the CSS font-weight property to create boldface text, or the <strong> element to indicate that text is of special importance.
- BackgroundImage
-
The
background-imageCSS property sets one or more background images on an element. It accepts images (url()), gradients, and the keywordnone. - BackgroundPosition
-
The
background-positionCSS property sets the initial position for each background image. The position is relative to the box established bybackground-origin. - BackgroundRepeat
-
The
background-repeatCSS property sets how background images are repeated. A background image can be repeated along the horizontal and vertical axes, or not repeated at all. - BackgroundSize
- The background-size CSS property sets the size of the element's background image. The image can be left to its natural size, stretched, or constrained to fit the available space.
- BackToTop
- A back to top button (Supabase-style)
- Badge
- A pill-shaped badge/label component
- BadgeStyle
- Badge styling presets Use like: ArcaneBadge(style: BadgeStyle.success)
- Bar
- An app bar / header component.
- blockquote
- The <blockquote> HTML element indicates that the enclosed text is an extended quotation. Usually, this is rendered visually by indentation. A URL for the source of the quotation may be given using the cite attribute, while a text representation of the source can be given using the <cite> element.
- body
- The <body> HTML element represents the content of an HTML document. There can be only one <body> element in a document.
- BodyText
- Body text component
- Border
- Border for BoxDecoration
- BorderRadius
- Border radius
- BorderSide
-
Represents one side of a CSS
Border. - BottomBar
- A fixed position bottom bar container
- A bottom navigation bar component.
- A bottom navigation item
- BoxConstraints
- Box constraints
- BoxDecoration
- Box decoration for Container
- BoxShadow
- Box shadow
- br
- The <br> HTML element produces a line break in text (carriage-return). It is useful for writing a poem or an address, where the division of lines is significant.
- 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
- The <button> HTML element is an interactive element activated by a user with a mouse, keyboard, finger, voice command, or other assistive technology. Once activated, it then performs a programmable action, such as submitting a form or opening a dialog.
- ButtonGroup
- A group of related buttons or controls
- ButtonPanel
- A panel component for action buttons, typically used in dialogs or footers.
- ButtonSizeStyle
- Button size presets
- ButtonStyle
- Button styling presets Use like: ArcaneButton(style: ButtonStyle.warning)
-
CachingIterable<
E> - A lazy caching version of Iterable.
- caption
- The <caption> HTML element specifies the caption (or title) of a table, providing the table an accessible description.
- CardCarousel
- A horizontally scrollable widget container with edge fading.
- CardCarouselTheme
- Card carousel theme configuration
- CardSection
- A card with section-style content organization.
- CardStyle
- Card styling presets Use like: ArcaneCard(style: CardStyle.elevated)
- Carpet
- A background container component that provides a subtle surface layer.
- Center
- A center alignment component
- CenterBody
- A component that centers its content both horizontally and vertically.
- ChangeNotifier
- A class that can be extended or mixed in that provides a change notification API using VoidCallback for notifications.
- Checkbox
- Checkbox input component
- CheckboxStyle
- Checkbox styling presets Use like: Checkbox(style: CheckboxStyle.primary)
- Chip
- A single chip component
- ChipGroup
- A group of selectable chips where multiple can be selected
- ChipStyle
- Chip styling presets Use like: ArcaneChip(style: ChipStyle.primary)
- circle
- The <circle> SVG element is an SVG basic shape, used to draw circles based on a center point and a radius.
- CircularProgress
- Circular progress indicator
- ClientAnnotation
- Use with client to annotate a client component.
- CloseButton
- A close button (X icon)
- code
- The <code> HTML element displays its contents styled in a fashion intended to indicate that the text is a short fragment of computer code. By default, the content text is displayed using the user agent's default monospace font.
- CodeSnippet
- A code snippet component with copy button (Supabase-style)
- col
- The <col> HTML element defines one or more columns in a column group represented by its parent <colgroup> element. The <col> element is only valid as a child of a <colgroup> element that has no span attribute defined.
- colgroup
- The <colgroup> HTML element defines a group of columns within a table.
- Collection
- A versatile collection widget for managing and displaying groups of items.
- Color
- Color utilities for Arcane Jaspr Provides a simple color representation for CSS output
- Colors
- Common colors
- ColorScheme
- Color scheme for theming
- Column
- A column layout component (vertical flex)
- Component
- Describes the configuration for an Element.
- ConfirmDialog
- A confirmation dialog component.
- Container
- A container component with styling options
- ContrastedColorScheme
- Contrasted color scheme for light/dark mode support
- CounterRow
- Counter row for displaying multiple stats
- CtaGroup
- A CTA button group component
- Cursor
-
The
cursorCSS property sets the mouse cursor, if any, to show when the mouse pointer is over an element. - Curve
- Describes the timing function of a transition.
-
CycleButton<
T> - A button that cycles through a list of values on each click.
-
CycleOption<
T> - An option for CycleButton
-
DataColumn<
T> - A column definition for DataTable
- datalist
- The <datalist> HTML element contains a set of <option> elements that represent the permissible or recommended options available to choose from within other controls.
-
DataTable<
T> - A data table component for displaying tabular data.
- dd
- The <dd> HTML element provides the description, definition, or value for the preceding term (<dt>) in a description list (<dl>).
- DecoderAnnotation
- Use with decoder to annotate an decoder function for a custom model.
- details
- The <details> HTML element creates a disclosure widget in which information is visible only when the widget is toggled into an "open" state. A summary or label must be provided using the <summary> element.
- dialog
- The <dialog> HTML element represents a dialog box or other interactive component, such as a dismissible alert, inspector, or subwindow.
- DialogBar
- A simple top bar for dialogs
- div
- The <div> HTML element is the generic container for flow content. It has no effect on the content or layout until styled in some way using CSS (e.g. styling is directly applied to it, or some kind of layout model like Flexbox is applied to its parent element).
- Divider
- A divider component
- DividerStyle
- Divider styling presets
- dl
- The <dl> HTML element represents a description list. The element encloses a list of groups of terms (specified using the <dt> element) and descriptions (provided by <dd> elements). Common uses for this element are to implement a glossary or to display metadata (a list of key-value pairs).
- Document
- DomComponent
- Represents a html element in the DOM
- DomElement
- DotsLoader
- Dots loader animation
- DropdownItem
- A dropdown menu item
- DropdownMenu
- A dropdown menu component (Supabase-style)
- dt
- The <dt> HTML element specifies a term in a description or definition list, and as such must be used inside a <dl> element. It is usually followed by a <dd> element; however, multiple <dt> elements in a row indicate several terms that are all defined by the immediate next <dd> element.
- EdgeInsets
- Edge insets for padding/margin
- Element
- An instantiation of a Component at a particular location in the tree.
- ElementSlot
- ellipse
- The <ellipse> element is an SVG basic shape, used to create ellipses based on a center coordinate, and both their x and y radius.
- em
- The <em> HTML element marks text that has stress emphasis. The <em> element can be nested, with each level of nesting indicating a greater degree of emphasis.
- embed
- The <embed> HTML element embeds external content at the specified point in the document. This content is provided by an external application or other source of interactive content such as a browser plug-in.
- EmptyState
- An empty state component for when there's no content
- EncoderAnnotation
- Use with encoder to annotate an encoder function for a custom model.
- ErrorState
- An error state component
- Expanded
- An expanded component that fills available space
- Expander
- An expandable/collapsible component.
- FAB
- A floating action button component.
- FABStyle
- FAB (Floating Action Button) styling presets Use like: FAB(style: FABStyle.primary)
-
Factory<
T> - A factory interface that also reports the type of the created objects.
- FaqAccordion
- A simple FAQ accordion
- FeatureCard
- A feature card component (Supabase-style) Used for showcasing product features with icon, title, and description
- fieldset
- The <fieldset> HTML element is used to group several controls as well as labels (<label>) within a web form.
- figcaption
- The <figcaption> HTML element represents a caption or legend describing the rest of the contents of its parent <figure> element, providing the <figure>> an accessible description.
- figure
- The <figure> HTML element represents self-contained content, potentially with an optional caption, which is specified using the <figcaption> element. The figure, its caption, and its contents are referenced as a single unit.
- FillScreen
- A screen that fills the entire viewport.
- Filter
- CSS filter effects let you define a way of processing an element's rendering before the element is displayed in the document. Examples of such effects include blurring and changing the intensity of the color of an element.
- Flex
- Controls how a flex item consumes available space inside a flex container.
- FloatingActionButton
- A floating action button
- Flow
- A flexible flow layout component that wraps children.
- FontFamilies
- A collection of generic and common font families.
- FontFamily
-
The
font-familyCSS property specifies a prioritized list of one or more font family names and/or generic family names for the selected element. - FontStyle
-
The
font-styleCSS property sets whether a font should be styled with a normal, italic, or oblique face from its font-family. - A website footer component (Supabase-style)
- The <footer> HTML element represents a footer for its nearest ancestor sectioning content or sectioning root element. A <footer> typically contains information about the author of the section, copyright data or links to related documents.
- A footer link
- A footer link group
- form
- The <form> HTML element represents a document section containing interactive controls for submitting information.
- FormContext
- Form context data for accessing form state.
- FormSection
- A form section that groups multiple fields together.
- Fragment
- A utility component that renders its children without any wrapper element.
- FullScreen
- A simple fullscreen container
-
FutureBuilder<
T> - Component that builds itself based on the latest snapshot of interaction with a Future.
- GameCard
- A game card with more details
- GameSelector
- A grid of game tiles
- GameTile
- A game tile component for game server selection
- Gap
- A flexible gap component
- Glass
- A glassmorphism container component.
- GlassCard
- A glass card with standard card styling
- GlobalKey
- A key that is unique across the entire app.
-
GlobalNodeKey<
T extends Node> -
A global key that provides access to the dom
web.Nodethat 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.
- GlowText
- Glow text effect
- GradientGlass
- A gradient glass effect
- GradientText
- Text with gradient color
- GridAreas
- Represents the grid areas defined in a grid layout.
- GridPlacement
- Describes where a grid item should be placed within a grid. It can place an item by naming a grid area, or by describing start/end lines for the item's row and column tracks. Use this to control the item's location and span inside its grid.
- GridTemplate
-
The
grid-templateCSS property defines grid columns, grid rows, and grid areas. - GridTrack
- Represents a single track in a grid layout, which can be a line, a size, or a repeated set of tracks.
- GridTracks
- Represents a list of grid tracks for rows or columns.
- GridView
- A grid layout component for displaying items in a grid.
- Gutter
- A spacing component that provides consistent gaps between elements.
- GutterTheme
- Gutter theme configuration
- h1
- The <h1> to <h6> HTML elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.
- h2
- The <h1> to <h6> HTML elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.
- h3
- The <h1> to <h6> HTML elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.
- h4
- The <h1> to <h6> HTML elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.
- h5
- The <h1> to <h6> HTML elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.
- h6
- The <h1> to <h6> HTML elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.
- HamburgerButton
- Hamburger menu button
- head
- The <head> HTML element contains machine-readable information (metadata) about the document, like its title, scripts, and style sheets.
- Header
- A website header/navbar component (Supabase-style)
- header
- The <header> HTML element represents introductory content, typically a group of introductory or navigational aids. It may contain some heading elements but also a logo, a search form, an author name, and other elements.
- Headline
- A styled headline component (Supabase-style typography)
- HeroCarousel
- A hero carousel with full-width slides.
- HeroSection
- A hero section component (Supabase-style)
- hr
- The <hr> HTML element represents a thematic break between paragraph-level elements: for example, a change of scene in a story, or a shift of topic within a section.
- html
- The <html> HTML element represents the root (top-level element) of an HTML document, so it is also referred to as the root element. All other elements must be descendants of this element.
- i
- The <i> HTML element represents a range of text that is set off from the normal text for some reason, such as idiomatic text, technical terms, taxonomical designations, among others. Historically, these have been presented using italicized type, which is the original source of the <i> naming of this element.
- IconButtonStyle
- Icon button styling presets Use like: ArcaneIconButton(style: IconButtonStyle.primary)
- IconCard
- A simple icon card for feature grids
- iframe
- The <iframe> HTML element represents a nested browsing context, embedding another HTML page into the current one.
- ImageCard
- An image card with overlay text
- ImageStyle
-
Helper representing an image style value such as
url(...)or gradients. - img
- The <img> HTML element embeds an image into the document.
- Import
- Define a platform specific import with auto-generated stubbing.
- InfoTooltip
- An info icon with tooltip
- 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> - InlineCode
- An inline code component
-
input<
T> - The <input> HTML element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent. The <input> element is one of the most powerful and complex in all of HTML due to the sheer number of combinations of input types and attributes.
- InputGroup
- An input group that combines multiple inputs in a row.
- InputSizeStyle
- Input size presets
- InputStyle
- Input field styling presets Use like: ArcaneTextInput(style: InputStyle.filled)
- IntegrationCard
- An integration/partner card (Supabase-style)
- IntegrationGrid
- A grid of integration cards
- JasprBadge
- A "Built with Jaspr" badge component.
- Key
- A Key is an identifier for Components and Elements.
- KeyValueRow
- A row for KeyValueTable
- KeyValueTable
- A simple key-value table (two columns)
- label
- The <label> HTML element represents a caption for an item in a user interface.
- 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.
- LeafElement
- LeafRenderObjectElement
- legend
- The <legend> HTML element represents a caption for the content of its parent <fieldset>.
- li
- The <li> HTML element is used to represent an item in a list. It must be contained in a parent element: an ordered list (<ol>), an unordered list (<ul>), or a menu (<menu>). In menus and unordered lists, list items are usually displayed using bullet points. In ordered lists, they are usually displayed with an ascending counter on the left, such as a number or letter.
- line
- The <line> element is an SVG basic shape used to create a line connecting two points.
- Linear
- Tuple used with Curve.linear. The optional arguments are percentages between 0-100.
- LinePlacement
- Places an item by specifying grid lines or spans.
- link
- The <link> HTML element specifies relationships between the current document and an external resource. This element is most commonly used to link to stylesheets, but is also used to establish site icons (both "favicon" style icons and icons for the home screen and apps on mobile devices) among other things.
- ListCard
- A list card that contains list items
- Listenable
- An object that maintains a list of listeners.
- ListenableBuilder
- ListView
- A list view component for displaying scrollable lists.
- Loader
- A loading spinner component
- LoaderStyles
- Style injection for loader animations
- LoadingOverlay
- Loading overlay for full-screen loading states
- LoadingSpinner
- Indeterminate loading spinner
- LoadingState
- A loading state component
- LocalKey
- A key that is not a GlobalKey.
- LogoCarousel
- An infinite scrolling logo carousel (Supabase-style)
- LogoGrid
- A static logo grid
- LogoItem
- A logo item for the carousel
- main_
- The <main> HTML element represents the primary content of a document, distinct from content that is repeated across multiple pages such as site headers, footers, and navigation bars.
- MasonryGrid
- A masonry-style layout component.
- MediaQuery
-
Media queries allow you to apply CSS styles depending on a device's media type (such as
printvs.screen) or other features or characteristics such as screen resolution or orientation, aspect ratio, browser viewport width or height, user preferences such as preferring reduced motion, data usage, or transparency. - MegaMenu
- A navigation dropdown with mega-menu style
- MegaMenuSection
- A section in a mega menu
- meta
- The <meta> HTML element represents metadata that cannot be represented by other HTML meta-related elements, like <base >, <link >, <script >, <style > or <title >.
- meter
- The <meter> HTML element represents either a scalar value within a known range or a fractional value.
- MetricDisplay
- A metric display with label
- MobileMenu
- A mobile hamburger menu (Supabase-style)
- Mobile navigation item
- MultiChildElement
- An Element that has multiple children based on a proxy list.
- MultiChildRenderObjectElement
- The <nav> HTML element represents a section of a page whose purpose is to provide navigation links, either within the current document or to other documents. Common examples of navigation sections are menus, tables of contents, and indexes.
- A carousel with navigation arrows.
- A navigation destination
- A screen with built-in navigation (sidebar or bottom nav).
- Navigation theme configuration
- A navigation link item
- A simple nav link component
- A navigation tile for sidebar or list navigation
- NewsletterForm
- A newsletter signup form (Supabase-style)
- Notification
- A notification that can bubble up the component tree.
- object
- The <object> HTML element represents an external resource, which can be treated as an image, a nested browsing context, or a resource to be handled by a plugin.
- 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.
- ol
- The <ol> HTML element represents an ordered list of items — typically rendered as a numbered list.
- optgroup
- The <optgroup> HTML element creates a grouping of options within a <select> element.
- option
- The <option> HTML element is used to define an item contained in a <select>, an <optgroup>, or a <datalist> element. As such, <option> can represent menu items in popups and other lists of items in an HTML document.
- Outline
-
Represents the CSS
outlineproperty. - OutlineText
- Outline text effect
- OutlineWidth
-
The CSS
outline-widthproperty sets the thickness of an element's outline. An outline is a line that is drawn around an element, outside the border. - Overflow
-
The
overflowCSS property sets the desired behavior when content does not fit in the element's padding box (overflows) in the horizontal and/or vertical direction. - OverflowValue
-
The
overflowCSS property sets the desired behavior when content does not fit in the element's padding box (overflows) in the horizontal and/or vertical direction. - p
- The <p> HTML element represents a paragraph. Paragraphs are usually represented in visual media as blocks of text separated from adjacent blocks by blank lines and/or first-line indentation, but HTML paragraphs can be any structural grouping of related content, such as images or form fields.
- Padding
- A padding wrapper component
- PageBody
- A page-level centered content container
- path
- The <path> SVG element is the generic element to define a shape. All the basic shapes can be created with a path element.
- polygon
- The <polygon> element defines a closed shape consisting of a set of connected straight line segments. The last point is connected to the first point.
- polyline
- The <polyline> SVG element is an SVG basic shape that creates straight lines connecting several points. Typically a polyline is used to create open shapes as the last point doesn't have to be connected to the first point.
- Position
-
The
positionCSS property sets how an element is positioned in a document - pre
- The <pre> HTML element represents preformatted text which is to be presented exactly as written in the HTML file. The text is typically rendered using a non-proportional, or monospaced, font. Whitespace inside this element is displayed as written.
- PricingCard
- A pricing card component (Supabase-style)
- PricingGrid
- A pricing grid for displaying multiple tiers
- PricingTier
- A pricing tier model
- progress
- The <progress> HTML element displays an indicator showing the completion progress of a task, typically displayed as a progress bar.
- ProgressBar
- A progress bar component
- ProgressStyle
- Progress bar styling presets
- PulseLoader
- Pulse loader animation
- Quotes
-
The CSS
quotesproperty sets how the browser should render quotation marks that are automatically added to the HTML<q>element or added using the open-quotes or close-quotes (or omitted using the no-open-quote and no-close-quote) values of the of the CSS content property. - Radio
- Radio button component
-
RadioCardItem<
T> - An item for RadioCards
-
RadioCards<
T> - A group of selectable cards where only one can be selected at a time.
- Radius
-
Represents a corner radius used by
BorderRadius. - RangeSlider
- Range slider with two handles
- RatingStars
- Rating stars component
- RawableRenderObject
- RawableRenderText
- RawText
- Renders its text input as raw HTML.
- rect
- The <rect> element is a basic SVG shape that draws rectangles, defined by their position, width, and height. The rectangles may have their corners rounded.
- RenderElement
- RenderFragment
- RenderObject
- RenderText
- Repeater
- A simple repeater component for generating repeated elements.
- ResponsiveScaffold
- A responsive scaffold that adapts to screen size
- Row
- A row layout component (horizontal flex)
- s
- The <s> HTML element renders text with a strikethrough, or a line through it. Use the <s> element to represent things that are no longer relevant or no longer accurate. However, <s> is not appropriate when indicating document edits; for that, use the <del> and <ins> elements, as appropriate.
- Screen
- Base screen component that provides consistent layout structure.
- script
- The <script> HTML element is used to embed executable code or data; this is typically used to embed or refer to JavaScript code. The <script> element can also be used with other languages, such as WebGL's GLSL shader programming language and JSON.
- ScrollProgress
- A scroll progress indicator
- Search
- A search input component with optional icon and clear button.
- Section
- A section component for grouping related content with an optional header.
- section
- The <section> HTML element represents a generic standalone section of a document, which doesn't have a more specific semantic element to represent it. Sections should always have a heading, with very few exceptions.
- select
- The <select> HTML element represents a control that provides a menu of options.
- SelectOption
- Select option model
-
Selector<
T> - A dropdown selector component.
-
SelectorOption<
T> - An option for Selector
- Sheet
- A sheet/drawer dialog that slides in from the edge.
- Sidebar
- A sidebar navigation component.
- SidebarGroup
- A sidebar item group with optional label
- SidebarItem
- A sidebar navigation item
- SizedBox
- A sized box component
- Skeleton
- Skeleton loading placeholder component
- SkeletonCard
- Skeleton card placeholder
- SkeletonText
- Skeleton text block with multiple lines
- Slider
- Range slider input component
- SliderStyle
- Slider styling presets Use like: Slider(style: SliderStyle.primary)
- SliverSection
- A sliver-style section for use in scrollable lists
- small
- The <small> HTML element represents side-comments and small print, like copyright and legal text, independent of its styled presentation. By default, it renders text within it one font-size smaller, such as from small to x-small.
- SocialIcon
- Social icon link component
- SocialLinkItem
- A social link item
- SocialLinks
- Social links component with labels
- source
- The <source> HTML element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element. It is an empty element, meaning that it has no content and does not have a closing tag. It is commonly used to offer the same media content in multiple file formats in order to provide compatibility with a broad range of browsers given their differing support for image file formats and media file formats.
- Spacer
- A flexible spacer component
- Spacing
- Represents spacing properties such as padding and margin in CSS.
- span
- The <span> HTML element is a generic inline container for phrasing content, which does not inherently represent anything. It can be used to group elements for styling purposes (using the class or id attributes), or because they share attribute values, such as lang. It should be used only when no other semantic element is appropriate. <span> is very much like a <div> element, but <div> is a block-level element whereas a <span> is an inline element.
- StatCard
- Stat card for displaying metrics with optional trend indicator
- StatCardRow
- A row of stat cards
-
State<
T extends StatefulComponent> - The logic and internal state for a StatefulComponent.
- 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.
- StatelessComponent
- A component that does not require mutable state.
- StatelessElement
- An Element that uses a StatelessComponent as its configuration.
- StaticTable
- A static table component for displaying simple tabular data.
- StatusBadge
- Status badge combining status indicator with text
- StatusIndicator
- Status indicator dot with optional label
- StepItem
- Step item data
- Stepper
- Horizontal stepper for multi-step processes
-
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.
- strong
- The <strong> HTML element indicates that its contents have strong importance, seriousness, or urgency. Browsers typically render the contents in bold type.
- StructuredCard
- A card with header, body, and footer sections
- Style
-
Renders the provided list of styles into css and wraps them
with a
<style>element. - StyleRule
- Styles
- Represents a set of css styles.
-
StylesMixin<
T> - Subheadline
- Subheadline / lead paragraph text
- summary
- The <summary> HTML element specifies a summary, caption, or legend for a <details> element's disclosure box. Clicking the <summary> element toggles the state of the parent <details> element open and closed.
- Surface
- A surface component with customizable elevation and appearance
- svg
- The <svg> element is a container that defines a new coordinate system and viewport. It is used as the outermost element of SVG documents, but it can also be used to embed an SVG fragment inside an SVG or HTML document.
- SyncAnnotation
-
SynchronousFuture<
T> - A Future whose then implementation calls the callback immediately.
- TabBar
- A simple tab bar without content (for custom tab handling)
- TabBarItem
- A tab bar item
- table
- The <table> HTML element represents tabular data—that is, information presented in a two-dimensional table comprised of rows and columns of cells containing data.
- tbody
- The <tbody> HTML element encapsulates a set of table rows (<tr> elements), indicating that they comprise the body of a table's (main) data.
- td
- The <td> HTML element defines a cell of a table that contains data and may be used as a child of the <tr> element.
- Terminal
- A terminal/command line component
- TestimonialCard
- A testimonial/quote card component (Supabase-style)
- Text
- Represents a plain text node with no additional properties.
- textarea
- The <textarea> HTML element represents a multi-line plain-text editing control, useful when you want to allow users to enter a sizeable amount of free-form text, for example a comment on a review or feedback form.
- TextDecoration
-
The
text-decorationCSS property sets the appearance of decorative lines on text. - TextDecorationLine
-
The
text-decoration-lineCSS property sets the kind of decoration that is used on text in an element, such as an underline or overline. - TextDecorationThickness
-
The
text-decoration-thicknessCSS property sets the stroke thickness of the decoration line that is used on text in an element, such as a line-through, underline, or overline. - TextElement
- TextInputDialog
- A text input dialog component.
- TextShadow
-
The
text-shadowCSS property adds shadows to text. - tfoot
- The <tfoot> HTML element encapsulates a set of table rows (<tr> elements), indicating that they comprise the foot of a table with information about the table's columns. This is usually a summary of the columns, e.g., a sum of the given numbers in a column.
- th
- The <th> HTML element defines a cell as the header of a group of table cells and may be used as a child of the <tr> element. The exact nature of this group is defined by the scope and headers attributes.
- thead
- The <thead> HTML element encapsulates a set of table rows (<tr> elements), indicating that they comprise the head of a table with information about the table's columns. This is usually in the form of column headers (<th> elements).
- ThemeToggle
- Day/Night theme toggle switch
- ThemeToggleSimple
- Simple text-based theme toggle
- Tile
- A list tile component for displaying items in a list.
- Timeline
- Timeline component for showing progression or history
- TimelineItem
- Timeline item data class
- Toast
- A toast notification component.
- ToastContainer
- A toast container that positions toasts on the screen.
- ToggleButton
- A toggle button (on/off state)
- ToggleButtonGroup
- A toggle button group (like pricing monthly/yearly)
- ToggleStyle
- Toggle/Switch styling presets Use like: ToggleSwitch(style: ToggleStyle.primary)
- ToggleSwitch
- A toggle switch component
- Toolbar
- A toolbar component for a horizontal bar of actions
- Tooltip
- A tooltip component (Supabase-style)
- TooltipCustom
- A tooltip with custom content
- TooltipStyle
- Tooltip styling presets
- tr
- The <tr> HTML element defines a row of cells in a table. The row's cells can then be established using a mix of <td> (data cell) and <th> (header cell) elements.
- TrackRepeat
- Represents a repeated fragment of the track list, allowing a large number of columns that exhibit a recurring pattern to be written in a more compact form.
- TrackSize
- Represents the size of a grid track in a grid layout.
- Transform
-
Represents the CSS
transformproperty. - Transition
-
Represents the CSS
transitionproperty. - u
- The <u> HTML element represents a span of inline text which should be rendered in a way that indicates that it has a non-textual annotation. This is rendered by default as a simple solid underline, but may be altered using CSS.
- ul
- The <ul> HTML element represents an unordered list of items, typically rendered as a bulleted list.
- UniqueKey
- A key that is only equal to itself.
- Unit
- Represents a CSS unit value.
-
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.
- VerticalStepper
- Vertical stepper variant
- video
- The <video> HTML element embeds a media player which supports video playback into the document. You can use <video> for audio content as well, but the <audio> element may provide a more appropriate user experience.
- WaitlistForm
- A waitlist form with additional fields
- wbr
- The <wbr> HTML element represents a word break opportunity—a position within text where the browser may optionally break a line, though its line-breaking rules would not otherwise create a break at that location.
- ZIndex
-
The
z-indexCSS property sets the z-order of a positioned element and its descendants or flex and grid items. Overlapping elements with a larger z-index cover those with a smaller one.
Enums
- AccentTheme
- Accent color theme for Supabase-style theming
- AlertVariant
- Alert/banner variants
- AlignContent
-
The CSS
align-contentproperty sets the distribution of space between and around content items along a flexbox's cross axis, or a grid or block-level element's block axis. - AlignItems
-
The CSS
align-itemsproperty sets the align-self value on all direct children as a group. In flexbox, it controls the alignment of items on the cross axis. In grid layout, it controls the alignment of items on the block axis within their grid areas. - Alignment
- Alignment
- AlignSelf
-
The
align-selfCSS property overrides a grid or flex item's align-items value. In grid, it aligns the item inside the grid area. In flexbox, it aligns the item on the cross axis. - All
-
The
allCSS property resets all of an element's properties. It can set properties to their initial or inherited values, or to the values specified in another cascade layer or stylesheet origin. - AnimationDirection
-
The
animation-directionCSS property sets whether an animation should play forward, backward, or alternate back and forth between playing the sequence forward and backward. - AnimationFillMode
-
The
animation-fill-modeCSS property sets how a CSS animation applies styles to its target before and after its execution. - AnimationPlayState
-
The
animation-play-stateCSS property sets whether an animation is running or paused. - Appearance
-
The
appearanceCSS property specifies the rendered appearance of replaced UI widget elements such as form controls. Most commonly, such elements are given native, platform-specific styling based on the operating system's theme, or a primitive appearance with styles that can be overridden using CSS. - AutoComplete
- Indicates whether input elements can by default have their values automatically completed by the browser. autocomplete attributes on form elements override it on <form>.
- AvatarSize
- Avatar size presets
- Axis
- Axis
- BackgroundAlignX
- BackgroundAlignY
- BackgroundAttachment
-
The
background-attachmentCSS property sets whether a background image's position is fixed within the viewport or scrolls with its containing block. - BackgroundAxisRepeat
- The background-repeat CSS property sets how background images are repeated. Per-axis values for the BackgroundRepeat property.
- BackgroundClip
-
The
background-clipCSS property sets whether an element's background extends underneath its border box, padding box, or content box. - BackgroundOrigin
-
The
background-originCSS property sets the background's origin: which box (border-box, padding-box or content-box) the background's position is relative to. - BadgeSize
- Badge size
- BadgeVariant
- Badge variants (legacy - prefer using BadgeStyle presets)
- BarBackButtonMode
- Back button display mode
- BorderStyle
-
Keywords for the visual style of borders (e.g.
dotted,solid,double). - BoxFit
- Box fit
- BoxSizing
-
The
box-sizingCSS property sets how the total width and height of an element is calculated. - Brightness
- Brightness mode
- ButtonSize
- Button size variants
- ButtonType
- Defines the default behavior of a button.
- ButtonVariant
- Button style variants (legacy - prefer using ButtonStyle presets)
- CheckboxSize
- Checkbox size variants
- ChipSize
- Chip size variants
- Combinator
- ConnectionState
- The state of connection to an asynchronous computation.
- Contrast
-
The
prefers-contrastCSS media feature is used to detect whether the user has requested the web content to be presented with a lower or higher contrast. - CrossAxisAlignment
- Cross axis alignment
- CrossOrigin
- Indicates if the fetching of the media must be done using a CORS request. Media data from a CORS request can be reused in the <canvas> element without being marked "tainted". If the crossorigin attribute is not specified, then a non-CORS request is sent (without the Origin request header), and the browser marks the media as tainted and restricts access to its data, preventing its usage in <canvas> elements. If the crossorigin attribute is specified, then a CORS request is sent (with the Origin request header); but if the server does not opt into allowing cross-origin access to the media data by the origin site (by not sending any Access-Control-Allow-Origin response header, or by not including the site's origin in any Access-Control-Allow-Origin response header it does send), then the browser blocks the media from loading, and logs a CORS error to the devtools console.
- Display
-
The
displayCSS property sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. - DropdownAlignment
- Dropdown alignment
- FABPosition
- FAB position variants
- FABSize
- FAB size variants
- FlexDirection
-
The
flex-directionCSS property sets how flex items are placed in the flex container defining the main axis and the direction (normal or reversed). - FlexWrap
-
The
flex-wrapCSS property sets whether flex items are forced onto one line or can wrap onto multiple lines. If wrapping is allowed, it sets the direction that lines are stacked. - FontWeight
- Font weight
- FormEncType
- The MIME type of a form submission.
- FormMethod
- The HTTP method to submit a form with.
- GutterSize
- Gutter size options
- HeadlineLevel
- Headline levels
- IconButtonSize
- Icon button size variants
- ImportPlatform
- InputType
- The type for an <input> element.
- JustifyContent
-
The CSS
justify-contentproperty defines how the browser distributes space between and around content items along the main axis of a flex container and the inline axis of grid and multicol containers. - JustifyItems
-
The CSS
justify-itemsproperty defines the defaultjustify-selffor all items of the box, giving them all a default way of justifying each box along the appropriate axis. - JustifySelf
-
The CSS
justify-selfproperty sets the way a box is justified inside its alignment container along the appropriate axis. - ListStyle
-
The
list-style-typeCSS property sets the marker (such as a disc, character, or custom counter style) of a list item element. - ListStylePosition
-
The
list-style-positionCSS property sets the position of the::markerrelative to a list item. - MainAxisAlignment
- Main axis alignment
- MainAxisSize
- Main axis size
- MediaLoading
- Indicates how the browser should load the media. Loading is only deferred when JavaScript is enabled.
- Navigation mode
- NumberingType
- The numbering type for a list element.
- Orientation
-
The
orientationCSS media feature can be used to test the orientation of the viewport (or the page box, for paged media). - OutlineStyle
- The style of an element's outline. An outline is a line that is drawn around an element, outside the border.
- PointerEvents
-
The
pointer-eventsCSS property sets under what circumstances (if any) a particular graphic element can become the target of pointer events. - Preload
- Intended to provide a hint to the browser about what the author thinks will lead to the best user experience when loading a media object. The default value is different for each browser. The spec advises it to be set to Preload.metadata.
- ProgressSize
- Progress bar size
- ReferrerPolicy
- The Referrer-Policy controls how much referrer information (sent with the Referer header) should be included with requests.
- SchedulerPhase
- SheetPosition
- Sheet position
- SocialPlatform
- Social media platforms
- SpellCheck
- Specifies whether an element is subject to spell checking by the underlying browser/OS.
- StatusType
- Status types
- StepJump
- Describes how the transition behaves at the start and end when using Curve.steps.
- Target
- The name/keyword for a browsing context (a tab, window, or <iframe>).
- TextAlign
- Text alignment
- TextDecorationLineKeyword
- TextDecorationStyle
-
The
text-decoration-styleCSS property sets the style of the lines specified by TextDecorationLine. - TextOverflow
- Text overflow
- TextTransform
-
The
text-transformCSS property specifies how to capitalize an element's text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. It also can help improve legibility for ruby. - TextWrap
- Indicates how the control wraps text.
- ThemeMode
- Theme mode
- ThemeToggleSize
- Theme toggle size
- ToastPosition
- Toast position
- ToastVariant
- Toast notification variant
- ToggleSwitchSize
- Toggle switch size variants
- TooltipPosition
- Tooltip position
- UserSelect
-
The
user-selectCSS property controls whether the user can select text. This doesn't have any effect on content loaded as part of a browser's user interface (its chrome), except in textboxes. - Visibility
-
The
visibilityCSS property shows or hides an element without changing the layout of a document. The property can also hide rows or columns in a<table>. - WhiteSpace
-
The
white-spaceCSS property sets how white space inside an element is handled. - WrapAlignment
- Wrap behavior
Mixins
- ComponentsBinding
- Main app binding, controls the root component and global state
- 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
-
PreloadStateMixin<
T extends StatefulComponent> - Mixin on State that preloads state on the server
- RenderObjectElement
- SchedulerBinding
-
SyncStateMixin<
T extends StatefulComponent, U> - Mixin on State that syncs state data from the server to the client.
-
ViewTransitionMixin<
T extends StatefulComponent>
Extensions
- AngleExt on num
- Extension helpers to create Angle values from numeric literals.
- AppContext on BuildContext
- ArcaneThemeContext on BuildContext
- Extension to easily access theme from context
- DurationExt on int
- DurationExtension on int
- Duration extension for convenience
- SelectorMixin on Selector
- UnitExt on num
Constants
- client → const ClientAnnotation
- Used to annotate a client component.
- css → const CssUtility
- Styling utility to create nested style definitions.
- 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.
Functions
-
arcaneStyles(
) → ArcaneStyles - Convenience function to create a new ArcaneStyles instance
-
describeIdentity(
Object? object) → String -
Returns a summary of the runtime type and hash code of
object. -
events<
V> ({VoidCallback? onClick, ValueChanged< V> ? onInput, ValueChanged<V> ? onChange}) → Map<String, EventCallback> -
Helper function to provide typed event handlers to the
eventsproperty of html components. -
fragment(
List< Component> children, {Key? key}) → Component -
Renders a list of
childrenwithout any wrapping element. -
lerpDuration(
Duration a, Duration b, double t) → Duration -
Linearly interpolate between two
Durations. -
objectRuntimeType(
Object? object, String optimizedValue) → String -
Framework code should use this method in favor of calling
toStringon Object.runtimeType. -
raw(
String text, {Key? key}) → Component - Renders its input as raw unescaped html using RawText.
-
rawStyles(
Map< String, String> properties) → Styles - Helper to create Jaspr Styles from a raw map. Usage: rawStyles({'color': 'red', 'padding': '10px'})
-
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.
-
text(
String text, {Key? key}) → Component - Renders a text node.
Typedefs
-
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.
- ComponentBuilder = Component Function(BuildContext context)
- Signature for a function that creates a component, e.g. StatelessComponent.build or State.build.
- ElementVisitor = void Function(Element element)
- Signature for the callback to BuildContext.visitChildElements.
- EventCallback = void Function(Event event)
-
IterableFilter<
T> = Iterable< T> Function(Iterable<T> input) - Signature for callbacks that filter an iterable.
- Margin = Spacing
-
The
marginCSS property sets the outer spacing of an element. - SelectInput = ArcaneSelect
- 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.
- TextArea = ArcaneTextArea
-
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.
- VerticalDivider = ArcaneVerticalDivider
- Legacy alias for backwards compatibility
- VoidCallback = void Function()
- Signature of callbacks that have no arguments and return no data.