components library

Carpenter foundation plus reusable basic and behavioural UI components.

Classes

AngleUnit
A physical angle that can be converted without a rendering context.
Application
The root of a Carpenter application.
CarpenterActionDescriptor
Immutable application action metadata used by Carpenter surfaces to project consistent label, icon, availability, semantics, shortcut, and invocation.
CarpenterActionPalette
State palette for one semantic action color family.
CarpenterActionStyle
Resolved colors for one action after semantic role, prominence, and widget state have been applied.
CarpenterActionTheme
Resolves semantic action color roles, prominence, and interaction state without requiring components to choose raw colors.
CarpenterAdaptiveContext
CarpenterAsyncAutosuggest<T>
Async lifecycle wrapper for CarpenterAutosuggest with debounce and stale-result protection.
CarpenterAttachment<T>
CarpenterAttachmentList<T>
CarpenterAutosuggest<T>
An editable controlled field offering optional suggestions for free text.
CarpenterAvatar
Compact identity primitive for initials, images or arbitrary avatar content.
CarpenterAvatarGroup
Compact overlapping identity group with an automatic overflow avatar.
CarpenterAvatarItem
Identity data for one entry in a CarpenterAvatarGroup, using an image and/or initials.
CarpenterBadge
Compact supplementary label or count. Use status indicators for business status.
CarpenterButton
Semantic text action with optional icon, keyboard/focus handling, and caller-controlled execution feedback.
CarpenterCalendar
Controlled month calendar used by date inputs and page-level scheduling UI.
CarpenterCancellationSignal
Cancellation signal shared by asynchronous Carpenter behaviours.
CarpenterCapabilityScope
CarpenterCard
A semantic surface grouping one related block of content.
CarpenterCheckbox
Controlled selection control with unchecked, checked, and mixed presentation.
CarpenterColorPicker
Opaque RGB color picker with HSV surface and HEX/RGB inputs.
CarpenterComboBox<T>
An editable controlled field whose query may resolve to one selected option.
CarpenterContentTheme
Semantic foreground palette for non-interactive content.
CarpenterContextActionRegion
Makes one semantic action set available through platform-appropriate alternative gestures.
CarpenterControl
Behaviour-only primitive for custom interactive Carpenter components.
CarpenterControlState
Public snapshot of the shared Carpenter interaction state.
CarpenterDateInput
Controlled date field with masked manual entry and an adaptive picker action.
CarpenterDateRange
CarpenterDateRangeInput
Controlled inclusive date range field with a mask and adaptive picker action.
CarpenterDialog
A controlled modal composition container with trapped keyboard focus.
CarpenterDragController
CarpenterDraggable<T>
Typed pointer drag source backed by Flutter's drag recognizers and Carpenter sessions.
CarpenterDragPayload<T>
CarpenterDragScope
Shared drag-and-drop runtime for coordinated sources and targets.
CarpenterDragSession
CarpenterDropDetails<T>
CarpenterDropdown
A controlled action-menu trigger.
CarpenterDropTarget<T>
Typed drop target with operation negotiation and before/inside/after geometry.
CarpenterDropTargetState<T>
CarpenterExpander
Collapsible content surface retained from the previous workbench API.
CarpenterFeedbackStyle
Resolved passive feedback colors for one semantic feedback role.
CarpenterFeedbackTheme
Maps FeedbackColorRole values to resolved passive feedback styles.
CarpenterFieldFeedback
Semantic supporting feedback for a Carpenter field.
CarpenterFieldShell
Shared semantic frame for Carpenter field controls.
CarpenterFieldStyle
Resolved field colors after availability, focus, hover, and validation state have been applied.
CarpenterFieldTheme
Semantic field palette and state resolver shared by Carpenter input controls.
CarpenterFileCandidate<T>
CarpenterFileDropData<T>
CarpenterFileDropZone<T>
Standalone file drop surface. Link it to a CarpenterFileInput by giving both widgets the same CarpenterFileIntakeController.
CarpenterFileInput<T>
Input-shaped file selector that is also a typed Carpenter drop target.
CarpenterFileIntakeController<T>
Event bridge used by platform adapters and linked drop zones.
CarpenterFocusTheme
CarpenterIcon
CarpenterIconButton
Icon-only semantic action that requires an explicit accessible name.
CarpenterIconData
Base contract for non-Flutter icon sources rendered by Carpenter.
CarpenterIcons
Minimal framework-independent glyph ids retained for adapters and examples. Applications may replace these with their own icon font or icon package.
CarpenterInput
CarpenterInputCapabilities
CarpenterInputMask
CarpenterInspector
Recursive readable presentation for map/list payloads and diagnostic data.
An inline semantic navigation action.
CarpenterLoader
Indeterminate circular activity indicator without Material dependency.
CarpenterMaskedInput
Text input that applies a semantic mask while reusing the standard Carpenter field pipeline.
CarpenterMenu
A keyboard- and pointer-operable list of semantic actions.
CarpenterMenuItem
One action presented by a CarpenterMenu.
CarpenterMotionTheme
CarpenterNotice
CarpenterNumberInput
Controlled numeric field with locale-tolerant decimal parsing.
CarpenterOption<T>
Immutable selectable option with stable identity, value, display text, accessibility label, and availability.
CarpenterOverlayTheme
CarpenterPopover
A controlled, interactive container attached to an anchor.
CarpenterProgress
Linear progress indicator.
CarpenterRadio<T>
One mutually exclusive choice inside a matching CarpenterRadioGroup.
CarpenterRadioGroup<T>
Controlled group of mutually exclusive radio choices with shared selection and keyboard navigation.
CarpenterRequestGate<C extends CarpenterCancellationSignal>
Owns the generic "latest request wins" lifecycle used by async UI data.
CarpenterRequestLease<C extends CarpenterCancellationSignal>
One asynchronous request admitted by a CarpenterRequestGate.
CarpenterSearchCancellation
Cooperative cancellation signal for one suggestion request. Cancelling notifies listeners once but does not abort HTTP or other transport work automatically.
CarpenterSelect<T>
A controlled field for selecting exactly one value from typed options.
CarpenterSelectionButtonGroup<T>
Controlled single-choice group for switching one local content scope.
CarpenterSelectionButtonOption<T>
Descriptor for one choice in a controlled CarpenterSelectionButtonGroup.
CarpenterSelectionPalette
Selected-state palette for one SelectionColorRole.
CarpenterSelectionStyle
Resolved colors for a selectable control after role, selection, hover, and disabled state have been applied.
CarpenterSelectionTheme
Resolves selection controls from semantic color role, selected state, and WidgetState values.
CarpenterShape
Directional start/end shape descriptor for controls that may join a group.
CarpenterShapeTheme
CarpenterSizeTheme
CarpenterSpacingTheme
CarpenterStatusIndicator
CarpenterSurfaceTheme
CarpenterSwitch
Controlled binary setting with a visible label and optional supporting description.
CarpenterTag
Compact semantic tag backed by the current status-indicator primitive.
CarpenterText
CarpenterTextArea
CarpenterTheme
Inherited boundary that exposes CarpenterThemeData to descendant Carpenter components.
CarpenterThemeData
Immutable semantic theme assembled from generated Carpenter tokens for one brightness, contrast, and density combination.
CarpenterTime
CarpenterTimeInput
Controlled 24-hour field with masked manual entry and an adaptive picker action.
CarpenterToast
The semantic visual representation of one toast notification.
CarpenterToastDescriptor
CarpenterToasterController
Imperatively manages transient toast presentation, not application state.
CarpenterToastRegion
Hosts a bounded visible toast stack and queues the controller remainder.
CarpenterToggleButton
Binary action button whose selected state is controlled by the caller.
CarpenterTooltip
Short, non-interactive supplemental text for an anchored control.
CarpenterTypographyTheme
Resolves semantic Carpenter typography roles and component text treatments into Flutter TextStyle values using the active unit scale.
CarpenterUploadProgress
Determinate upload progress presentation. The caller owns transfer state and updates value; this widget does not start or monitor an upload.
CarpenterViewportPolicy
Degrees
An angle expressed in degrees.
Em
A value relative to the effective em of the current element.
GravityIcon
Compatibility wrapper around the generic CarpenterIcon renderer.
GravityIconData
A reference to one SVG from Carpenter's bundled Gravity icon set.
GravityIcons
Bundled Gravity UI icon catalog.
LengthUnit
A physical length that can be resolved in a typography context.
LengthUnitContext
Runtime values required to resolve relative length units.
LoadingBoundary
Owns a loading scope and lets its parent choose the loading presentation.
LoadingController
UI-agnostic handle exposed to descendants through BuildContext.loading.
LoadingCubit
Compatibility name for code written against Carpenter's former Bloc-backed loading implementation.
LoadingNotifier
Framework-neutral loading state owner.
LoadingScope
Dependency-injection boundary for loading state.
LoadingState
Immutable snapshot of the operations currently owned by a loading scope.
Milliseconds
A duration expressed in milliseconds.
PaletteTokens
Px
An absolute logical-pixel value.
Radians
An angle expressed in radians.
Rem
A value relative to the root rem configured for the widget subtree.
Seconds
A duration expressed in seconds.
TimeUnit
A physical time value that can be converted to a Dart Duration.
Turns
An angle expressed in complete turns.
Unit
A typed physical UI quantity.
UnitsHandle
Resolves typed units and mutates the local em declaration of an element.
UnitsRoot
Configures the root rem value for a subtree.

Enums

ActionColorRole
Semantic color family for interactive actions.
ActionColorSlot
Theme slot resolved for an action color family and prominence.
ActionExecutionPhase
Presentation phase of an asynchronous or externally tracked action.
ActionProminence
Visual emphasis of an action, independent from its semantic color role.
CarpenterActionIconPosition
Position of an action icon relative to its label.
CarpenterAttachmentPhase
CarpenterCardSurfaceRole
Semantic background role for a CarpenterCard.
CarpenterContextActionTrigger
Input source that requested a contextual action surface.
CarpenterDensity
Global density preference used by semantic sizing and spacing resolution.
CarpenterDragActivation
CarpenterDragOperation
CarpenterDropAxis
CarpenterDropPosition
CarpenterNoticeTone
Semantic feedback surface for page and action-level messages.
CarpenterTagTone
Semantic tag tone retained from the previous Carpenter API.
CarpenterToastPlacement
CarpenterViewportClass
CheckboxValue
Tri-state checkbox value.
ContentColorRole
Semantic foreground color for non-action content.
ContrastMode
Requested contrast level for semantic Carpenter colors.
ControlSize
Semantic size scale used by compact controls.
DialogDismissPolicy
Policy controlling which implicit gestures may dismiss a dialog.
FeedbackColorRole
Semantic color family for passive feedback and status presentation.
FieldAvailability
Interaction availability of an input field.
FieldSize
Semantic size scale used by fields and field-like controls.
IconSize
Semantic size scale used by icons.
OptionsLoadState
Loading state for option-producing controls such as selects and suggestions.
OverlayPlacement
Preferred placement of anchored overlay content relative to its anchor.
SelectionColorRole
Semantic color family for selection indicators and selected surfaces.
ShapeRole
Semantic endpoint shape used by grouped surfaces and controls.
ToastDuration
Semantic lifetime of transient toast feedback.
TooltipDelay
Semantic delay before tooltip presentation.
TypographyEmphasis
Semantic weight applied within a TypographyRole.
TypographyRole
Semantic typography family chosen independently from emphasis and color.

Extensions

LoadingBuildContext on BuildContext
UnitLiterals on num
Numeric literals for typed units.
UnitsBuildContext on BuildContext
Adds context.units(...), context.units.set(...), and context.units.reset().

Constants

palette → const PaletteTokens

Functions

carpenterFileDragPayload<T>({required Iterable<CarpenterFileCandidate<T>> files, Object? id, Set<CarpenterDragOperation> allowedOperations = const {CarpenterDragOperation.copy, CarpenterDragOperation.move}}) CarpenterDragPayload<CarpenterFileDropData<T>>
carpenterFormatDate(DateTime value) String
carpenterFormatDateRange(CarpenterDateRange value) String
carpenterFormatRgbHex(Color color) String
carpenterFormatTime(CarpenterTime value) String
carpenterParseDate(String value) DateTime?
carpenterParseDateRange(String value) CarpenterDateRange?
carpenterParseRgbColor(String source) Color?
carpenterParseTime(String value) CarpenterTime?
showCarpenterDialog<T>({required BuildContext context, required String title, required Widget content, required CarpenterDialogActionsBuilder<T> actionsBuilder, DialogDismissPolicy dismissPolicy = DialogDismissPolicy.escapeOnly, String? semanticLabel, FocusNode? initialFocusNode}) Future<T?>
Opens a typed Carpenter modal route and completes with the value supplied to an action's CarpenterDialogClose.

Typedefs

CarpenterControlBuilder = Widget Function(BuildContext context, CarpenterControlState state)
CarpenterDialogActionsBuilder<T> = List<CarpenterActionDescriptor> Function(CarpenterDialogClose<T> close)
CarpenterDialogClose<T> = void Function([T? result])
CarpenterDragCanceledCallback = void Function(Velocity velocity, Offset offset)
CarpenterDragSessionCallback = void Function(CarpenterDragSession? session)
CarpenterDropAcceptance<T> = bool Function(CarpenterDropDetails<T> details)
CarpenterDropCallback<T> = void Function(CarpenterDropDetails<T> details)
CarpenterDropTargetBuilder<T> = Widget Function(BuildContext context, CarpenterDropTargetState<T> state)
CarpenterFileAcceptance<T> = bool Function(CarpenterFileCandidate<T> file)
CarpenterFilesChanged<T> = void Function(List<CarpenterFileCandidate<T>> files)
CarpenterIconSource = Object
Value accepted by Carpenter icon slots.
CarpenterInspectorFieldFilter = bool Function(String key, Object? value)
CarpenterInspectorLabelBuilder = String Function(String key)
CarpenterInspectorScalarBuilder = String Function(Object? value)
CarpenterSuggestionLoader<T> = Future<List<CarpenterOption<T>>> Function(String query, CarpenterSearchCancellation cancellation)
Loads options for a trimmed query and a per-request cancellation signal. Return the complete suggestion list for that query. The autosuggest owns the signal and ignores cancelled or superseded completions; the loader owns any transport resources.
CarpenterValueEquality<T> = bool Function(T first, T second)
LoadingBoundaryBuilder = Widget Function(BuildContext context, LoadingState state, Widget child)
Builds UI around a locally-owned LoadingNotifier.

Exceptions / Errors

MissingUnitContextException
Thrown when a relative unit lacks required runtime context.
UnitParseException
A parse failure with the source representation that caused it.