1#![doc = include_str!("../README.md")]
2#![forbid(unsafe_code)]
3#![cfg_attr(docsrs, feature(doc_cfg))]
4#![warn(clippy::indexing_slicing)]
7
8mod cascade;
13mod commit;
14pub mod edit;
18mod error;
19mod event;
20pub mod field;
21mod focus;
22mod geom;
23mod hit;
24mod page;
25mod popup;
26pub mod route;
27#[cfg(feature = "javascript")]
31pub mod script;
32mod session;
33mod tab;
34mod update;
35
36pub use cascade::{
37 Cascade, FieldRef, FieldWrites, Keystroke, KeystrokeOutcome, NoScripts, PointerTrigger,
38};
39pub use commit::CommitOutcome;
40pub use edit::{Place, PlaceExt, Range, Selection, UndoItem, UndoStack};
41pub use error::Error;
42pub use event::{Button, Event, Key, Modifiers};
43pub use field::{ChoiceConfig, ChoiceState, FieldState, TextConfig, TextState, ToggleState};
44pub use focus::FocusChange;
45pub use geom::Rotation;
46pub use hit::Permissions;
47pub use page::{PageForm, WidgetInfo, read as read_page};
48pub use popup::{Placement, PopupGeometry, PopupView, ScrollView};
49pub use route::{
50 Context, appearances_on_page, apply, choose, close_popup, focus_field, focus_of, kill_focus,
51 popup_view, replace_selection, scroll_view, scroll_views_on_page,
52};
53#[cfg(feature = "javascript")]
54pub use script::{ScriptCascade, ScriptConfig, TranscriptLine};
55pub use session::{AnnotId, DragAnchor, FieldId, FocusTarget, FormSession, SessionConfig};
56pub use tab::{FocusRing, TabOrder};
57pub use update::{AppearanceUpdate, Response, UpdateKind};