eQuantic.UIeQuantic.UI
Docs
Playground
GitHub
START HERE
Getting Started
WRITE-ONCE
Write-Once Components
Declarative Surface
Photon Engine
Design System
Capabilities
Storage
Forms
Code Editor
Markdown
Mermaid
Email Rendering
ARCHITECTURE
Architecture Overview
Package Architecture
Components
Styling
Localization
Analytics & GTM
COMPILATION
Compiler
Compile-Time Evaluation
Supported C# Features
External Type Resolution
Build Flow
Diagnostics
RUNTIME
Runtime (TypeScript)
Performance
SERVER
Server Integration
Assets
BunPackage
Security
ECOSYSTEM
Image
Charts
Icons
Lottie
DEVELOPMENT
Visual Editor
Debug
Roadmap
PT-BR
Analytics-pt-BR
Architecture-pt-BR
Assets-pt-BR
BuildFlow-pt-BR
BunPackage-pt-BR
Capabilities-pt-BR
Charts-pt-BR
CodeEditor-pt-BR
Compiler-pt-BR
CompileTimeEvaluation-pt-BR
Components-pt-BR
Debug-pt-BR
DeclarativeSurface-pt-BR
DesignSystem-pt-BR
Diagnostics-pt-BR
EmailRealizer-pt-BR
ExternalTypeResolution-pt-BR
Forms-pt-BR
GettingStarted-pt-BR
Home-pt-BR
Icons-pt-BR
Image-pt-BR
Localization-pt-BR
Lottie-pt-BR
Markdown-pt-BR
Mermaid-pt-BR
PackageArchitecture-pt-BR
Performance-pt-BR
Photon-pt-BR
Roadmap-pt-BR
Runtime-pt-BR
Security-pt-BR
ServerIntegration-pt-BR
Storage-pt-BR
Styling-pt-BR
SupportedFeatures-pt-BR
VisualEditor-pt-BR
WriteOnceComponents-pt-BR
ACTIONS & INPUTS
Button
IconButton
TextInput
Select
Checkbox
Switch
RadioGroup
SegmentedControl
Slider
Stepper
SearchField
SURFACES & DISPLAY
Card
Badge
Chip
Avatar
Banner
ProgressBar
EmptyState
Divider
NAVIGATION
Tabs
AppBar
BottomNavigation
Breadcrumb
Pagination
PageIndicator
Menu
Drawer
OVERLAYS
Dialog
BottomSheet
Toast
Popover
Tooltip
LISTS & DATA
List
ListView
Table
Accordion
CodeBlock
TOUCH INTERACTION
PullToRefresh
SwipeableRow
DocsTouch interaction
SwipeableRow
View source
1 min read
Reveals one action behind a horizontal swipe on a row. The open state is controlled, so only one row is ever open.
1
using eQuantic.UI.Components;
DEFAULT
Swipe meThe action sits behind
trailing action
Usage
1
2
3
4
5
6
7
8
9
new SwipeableRow(new ListItem(tx.Payee, tx.Memo))
{
ActionLabel = "Delete",
ActionIcon = Icons.Trash,
ActionVariant = Variant.Destructive,
OnAction = () => Delete(tx),
Open = _openRow == tx.Id,
OnOpenChanged = open => SetState(() => _openRow = open ? tx.Id : null),
}
API
Prop
Type
Default
Description
Child
VisualNode
The row itself.
ActionLabel
string
Label painted on the revealed pane.
ActionIcon
Icons
Glyph on the pane.
ActionVariant
Variant
Destructive
Colour of the pane.
OnAction
Action?
null
Fires when the action commits.
Open
bool
false
Controlled — track it in the parent so only one row opens.
OnOpenChanged
Action<bool>?
null
Reports the open state as the gesture settles.
States
State
Rendering
Swiping
The row translates one-to-one
Open
Snapped, the pane fully revealed
Committing
Full swipe fires the action
Closing
Any outside interaction closes it
Accessibility
The swipe action must also exist as a custom accessibility action on the row. A gesture-only action is a spec violation.
When to use
A frequent per-row action, as a shortcut.
Avoid
Swipe as the only path to an action.
Swipeable rows beside a horizontal carousel.
NOTEEvery dimension resolves through Sizing.*(SizeVariant) and the token scales — never a literal. Source: src/eQuantic.UI.Components/SwipeableRow.cs.