1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
//! Common re-exports for app developers.
//!
//! `use plushie::prelude::*` imports everything needed to write
//! a plushie app: the `App` trait, event/command types, UI builders,
//! and common property types.
// Core trait
/// Core Elm-architecture trait implemented by every plushie app.
pub use crateApp;
// Automation
/// Typed TreeNode wrapper with text, role, and a11y accessors.
pub use crateElement;
/// Typed widget-targeting selector (id, text, role, label, focused).
pub use crateSelector;
/// Platform effect kind (file dialog, clipboard, notification).
pub use EffectKind;
/// Typed logical key (Enter, Escape, Char, Named, etc.).
pub use Key;
/// Key + modifiers combo accepted by [`TestSession::press`](crate::test::TestSession::press).
pub use KeyPress;
/// Mouse button enum used by pointer events.
pub use MouseButton;
/// Pointer device kind (Mouse, Touch, Pen).
pub use PointerKind;
// Derive macros for widget authoring
/// Derive macro generating widget command variants.
pub use crateWidgetCommand;
/// Derive macro generating widget event variants.
pub use crateWidgetEvent;
/// Derive macro generating typed widget prop structs.
pub use crateWidgetProps;
// Widget registrar (for App::view)
/// Registrar passed to [`App::view`] so composite widgets can register expanders.
pub use crateWidgetRegistrar;
// View
/// Return type for [`App::view`]: a retained UI tree node.
pub use crateView;
/// Collection of top-level windows yielded by [`App::view`].
pub use crateViewList;
// Events
/// Top-level event enum delivered to `update`.
pub use crateEvent;
/// Canonical event-family-to-type mapping.
pub use crateEventType;
/// Typed match type returned by [`Event::widget_match`].
pub use crateWidgetMatch;
/// Typed widget-event match arms (Click, Input, Toggle, ...).
pub use crate*;
// Scoped IDs
/// Window-qualified scoped identifier (`main#scope/widget`).
pub use ScopedId;
// Commands and operation types
/// Side-effect command returned from `update`.
pub use crateCommand;
/// File-dialog configuration.
pub use crateFileDialogOpts;
/// OS-notification configuration.
pub use crateNotificationOpts;
/// Notification urgency level.
pub use crateNotificationUrgency;
/// Window display mode (windowed / fullscreen).
pub use crateWindowMode;
// Subscriptions
/// Declarative event-source subscription returned from `subscribe`.
pub use crateSubscription;
// UI builder functions
/// UI builder functions (`window`, `column`, `text`, `button`, ...).
pub use crate*;
// Property types
/// Trait for widget prop structs extractable from a `TreeNode`.
pub use crateFromNode;
/// Trait for plushie-typed values (wire encode/decode).
pub use cratePlushieType;
/// Encoder trait for widget command enums.
pub use crateWidgetCommandEncode;
/// Encoder trait for widget event enums.
pub use crateWidgetEventEncode;
/// Accessibility metadata.
pub use crateA11y;
/// Alignment (start/center/end).
pub use crateAlign;
/// Scrollable anchor (start / end).
pub use crateAnchor;
/// Angle with dual-storage (degrees-on-wire).
pub use crateAngle;
/// Animated value wrapper (plain, transition, spring, sequence).
pub use crateAnimatable;
/// Arrow-key navigation mode.
pub use crateArrowMode;
/// Widget background descriptor.
pub use crateBackground;
/// Border descriptor.
pub use crateBorder;
/// RGBA color with hex validation.
pub use crateColor;
/// Content-fit policy for images/SVG.
pub use crateContentFit;
/// Cursor interaction style.
pub use crateCursorStyle;
/// Custom theme builder.
pub use crateCustomTheme;
/// Primary-axis direction (Horizontal / Vertical / Both).
pub use crateDirection;
/// Axis constraint for canvas drag interactions.
pub use crateDragAxis;
/// Text ellipsis placement.
pub use crateEllipsis;
/// QR-code error-correction level.
pub use crateErrorCorrection;
/// Canvas fill rule.
pub use crateFillRule;
/// Image filter method (nearest / linear).
pub use crateFilterMethod;
/// Font specifier (family, weight, style, stretch).
pub use crateFont;
/// Font stretch variant.
pub use crateFontStretch;
/// Gradient descriptor.
pub use crateGradient;
/// Horizontal alignment variant.
pub use crateHorizontalAlignment;
/// Text-input hint purpose (password, email, URL, ...).
pub use crateInputPurpose;
/// Keyboard modifier state (Shift, Ctrl, Alt, Super).
pub use crateKeyModifiers;
/// Layout length (fill, shrink, fixed, fill-portion).
pub use crateLength;
/// `Length` variant shortcuts for builder call sites.
pub use crate*;
/// Canvas stroke line cap.
pub use crateLineCap;
/// Text line height (relative or absolute).
pub use crateLineHeight;
/// Canvas stroke line join.
pub use crateLineJoin;
/// Inner padding.
pub use cratePadding;
/// Position point.
pub use cratePosition;
/// Corner radius (uniform or per-corner).
pub use crateRadius;
/// Drop-shadow descriptor.
pub use crateShadow;
/// Text shaping strategy.
pub use crateShaping;
/// Sort order for tables and lists.
pub use crateSortOrder;
/// Named or custom widget style.
pub use crateStyle;
/// Map of widget-type to style presets.
pub use crateStyleMap;
/// Text-specific horizontal alignment.
pub use crateTextAlignment;
/// Text layout direction.
pub use crateTextDirection;
/// Text-editor cursor movement direction.
pub use crateTextMotion;
/// Theme variant (system / named / custom).
pub use crateTheme;
/// Passthrough prop type that keeps untyped JSON.
pub use crateUntypedProps;
/// Window stacking level.
pub use crateWindowLevel;
/// Text-wrap policy.
pub use crateWrapping;
// A11y sub-types for typed accessibility builders
/// Accessibility popup hint kind.
pub use HasPopup;
/// Live-region politeness (Polite / Assertive).
pub use Live;
/// Accessibility orientation.
pub use Orientation;
/// Accessibility role.
pub use Role;
// Animation
/// A single step within a [`Sequence`].
pub use crateAnimationStep;
/// Easing curve enum.
pub use crateEasing;
/// Animation repeat policy.
pub use crateRepeat;
/// Multi-step animation sequence.
pub use crateSequence;
/// Spring animation descriptor.
pub use crateSpring;
/// Spring physics parameters.
pub use crateSpringConfig;
/// Time-based transition descriptor.
pub use crateTransition;
/// SDK-side numeric interpolator.
pub use crateTween;