1#![allow(
2clippy::type_complexity,
6 clippy::too_many_arguments,
7 clippy::collapsible_if,
8 clippy::manual_find,
9 clippy::redundant_guards,
10 clippy::needless_range_loop,
11 clippy::explicit_counter_loop,
12 clippy::if_same_then_else,
13 dead_code
14)]
15
16#[cfg(test)]
17pub(crate) mod a11y_set_semantics;
18pub mod accordion;
19pub mod animations;
20pub mod avatar;
21pub mod badge;
22pub mod banner;
23pub mod breadcrumb;
24pub mod button;
25pub mod calendar;
26pub mod card;
27pub mod checkbox;
28pub mod code_editor;
29pub use code_editor::{
30 BracketPair, COMMON_BRACKETS, CodeConfig, CodeEditor, CodeEditorHandle, CompletionContext,
31 CompletionItem, CompletionKind, IndentStyle, LogView, LogViewHandle, PlainTextEditor,
32};
33pub mod color_edit;
34pub mod color_picker;
35pub mod combo_box;
36pub mod command_link_button;
37pub mod command_palette;
38pub mod common;
39pub(crate) mod data_views;
40pub mod date_edit;
41pub mod date_range_edit;
42pub mod date_time_edit;
43pub mod dialog;
44pub mod docking;
45pub use data_views::{ActivateOn, DragTransferMode, RowDragData, ViewId};
46pub(crate) mod drag_preview;
47pub mod drop_target;
48pub mod drop_zone;
49pub mod file_picker_field;
50pub mod focus_scope;
51pub mod font_picker;
52pub mod grid_view;
53pub mod group_box;
54pub mod group_header;
55pub mod hex_color_input;
56pub mod icon_button;
57pub mod input_dialog;
58pub mod keystroke_format;
59pub mod language_switcher;
60pub mod link;
61pub(crate) mod list_item_a11y;
62pub(crate) mod list_source;
63pub mod list_view;
64pub mod menu;
65pub mod menu_bar;
66pub(crate) mod menu_context;
67pub mod menu_item;
68pub mod menu_list;
69pub mod message_box;
70pub mod notification;
71pub mod overlay_trigger;
72pub mod panel;
73pub mod password_field;
74pub(crate) mod popover_caret;
75pub mod popover_surface;
76pub mod popover_widget;
77pub mod primitives;
78#[cfg(feature = "telemetry")]
79pub mod privacy_settings;
80pub mod progress_bar;
81pub mod radio_button;
82pub mod radio_group;
83pub mod radio_tile;
84pub mod radio_tile_group;
85pub mod repeater;
86pub mod rich_text;
87pub mod scroll_area;
88pub mod scroll_bar;
89pub mod search_field;
90pub mod segmented_control;
91pub(crate) mod severity_badge;
92pub mod shadow;
93pub mod shortcut_settings;
94pub mod slider;
95pub mod snackbar;
96pub mod spin_box;
97pub mod spinner;
98pub mod split_button;
99pub mod splitter;
100pub mod standard_item;
101pub mod status_bar;
102pub mod stepper;
103pub mod styles;
104pub mod tab_widget;
105pub mod table_view;
106pub mod text_input;
107pub mod text_scale_control;
108pub mod theme_switcher;
109pub mod time_edit;
110pub mod title_bar;
111pub mod toast;
112pub mod toggle;
113pub mod tool_box;
114pub mod toolbar;
115pub mod tooltip;
116pub(crate) mod tree_source;
117pub mod tree_table_view;
118pub mod tree_view;
119
120#[cfg(feature = "preview")]
121mod doc_snippets;
122#[cfg(feature = "preview")]
123mod preview_catalog;
124
125pub use tooltip::TooltipWidget;
126
127pub use accordion::{Accordion, AccordionOrientation};
128pub use animations::{
129 Blur, Collapse, Crossfade, Cycle, Fade, Pulse, Rotate, Scale, ScaleOrigin, Shake, Slide,
130 SlideEdge, SmoothSize, SmoothSizeAxes, Unroll, UnrollFrom,
131};
132pub use avatar::{Avatar, AvatarCorner, AvatarPresence, AvatarShape, AvatarSize};
133pub use badge::Badge;
134pub use banner::{Banner, BannerSeverity};
135pub use breadcrumb::{Breadcrumb, BreadcrumbItem};
136pub use button::{Button, ButtonVariant, IconLocation};
137pub use calendar::{Calendar, DateRange, WeekNumberDisplay};
138pub use card::Card;
139pub use checkbox::Checkbox;
140pub use color_edit::ColorEdit;
141pub use color_picker::{ColorPicker, ColorPickerLayout, ColorSwatch, DEFAULT_SWATCHES};
142pub use combo_box::ComboBox;
143pub use command_link_button::CommandLinkButton;
144pub use command_palette::{CommandPalette, PaletteCommand};
145pub use common::scroll::OverscrollBehavior;
146pub use date_edit::DateEdit;
147pub use date_range_edit::DateRangeEdit;
148pub use date_time_edit::DateTimeEdit;
149pub use dialog::{Dialog, DialogContent, ModalContainer, ModalScrim};
150pub use docking::{
151 CornerOwners, DockAction, DockActionId, DockActionPlacement, DockCorner, DockLayoutState,
152 DockOpenLocation, DockOpenMode, DockPolicy, DockRail, DockRailItemSize, DockRailSlot, DockSide,
153 DockTabDisplay, DockTabId, DockWidget, DockWidgetId, DockingLayout, DockingModel,
154 TabPresentation,
155};
156pub use drop_target::{DropRegionSpec, DropTarget};
157pub use drop_zone::DropZone;
158pub use file_picker_field::{FilePickerField, FilePickerKind};
159pub use focus_scope::FocusScope;
160pub use font_picker::{FontMeta, FontPicker, FontPreviewMode, FontSpacingFilter};
161pub use teksilo_core::styles::{
162 DropRegion, DropRegionSet, DropTargetDragState, DropTargetStyle, DropTargetStyleConfig,
163 DropTargetVariant, RadioTileStyle, RadioTileStyleConfig, RadioTileVariant,
164 SharedDropTargetStyle, SharedRadioTileStyle, TabIndicatorPosition,
165};
166pub use teksilo_data::CheckState;
167pub use grid_view::{
170 GridSectionProvider, GridSizing, GridTabTraversal, GridView, GroupingSections, ScrollAnchor,
171 TileContext, grouping_sections,
172};
173pub use group_box::GroupBox;
174pub use group_header::GroupHeader;
175pub use hex_color_input::HexColorInput;
176pub use icon_button::{BuiltInIcons, IconButton, IconButtonSize};
177pub use input_dialog::InputDialog;
178pub use language_switcher::LanguageSwitcher;
179pub use link::Link;
180pub use list_view::ListView;
181pub use menu::{
182 MenuEntry, MenuItemState, MenuItems, MenuModel, MenuNode, NativeMenuMode, StandardMenu,
183 StandardMenuRole,
184};
185pub use menu_bar::{CollapsePolicy, MenuBar};
186pub use menu_item::MenuItem;
187pub use menu_list::{MenuList, MenuSeparator};
188pub use message_box::{
189 ButtonRole, EventContextMessageBoxExt, MessageBox, MessageBoxButton, MessageBoxButtons,
190 MessageBoxResult, MessageBoxSeverity, StandardButton,
191};
192pub use notification::{
193 ARCHIVE_FILE_NAME, ArchivedAction, ArchivedActionStyle, DEFAULT_ARCHIVE_LIMIT,
194 NotificationArchive, NotificationArchiveModel, NotificationCenterButton, NotificationEntry,
195 NotificationLog, NotificationLogDialog, NotificationUpdate,
196};
197pub use overlay_trigger::OverlayTrigger;
198pub use panel::Panel;
199pub use password_field::{AtRevealPolicy, EchoMode, PasswordField, RevealMode};
200pub use popover_surface::PopoverSurface;
201pub use popover_widget::{
202 PopoverButton, PopoverCustom, PopoverIconButton, PopoverTrigger, PopoverWidget,
203};
204pub use primitives::text_input_field::{InputPurpose, ValidationFeedback, ValidationOutcome};
205pub use primitives::{
206 AspectRatio, Center, ColumnFlow, DeadZone, Divider, Expand, FixedSize, FormLayout, Grid,
207 HStack, IconWidget, ImageFit, ImageWidget, MasonryLayout, MaxSize, MinSize, Padding,
208 RectWidget, Shrinkable, Spacer, Switcher, TextWidget, TrackSize, VStack, Wrap, ZStack,
209};
210pub use primitives::{TextFieldHandle, TextInputField};
211#[cfg(feature = "telemetry")]
212pub use privacy_settings::PrivacySettings;
213pub use progress_bar::ProgressBar;
214pub use radio_button::RadioButton;
215pub use radio_group::RadioGroup;
216pub use radio_tile::{RadioTile, RadioTileIndicatorSide};
217pub use radio_tile_group::{RadioTileGroup, TileLayout};
218pub use repeater::Repeater;
219pub use scroll_area::{ScrollArea, ScrollBarMode, ScrollBarPolicy};
220pub use scroll_bar::{ScrollBar, ScrollBarOrientation};
221pub use search_field::SearchField;
222pub use segmented_control::{
223 Segment, SegmentDisplay, SegmentId, SegmentOverflow, SegmentSizing, SegmentedControl,
224};
225pub use shortcut_settings::ShortcutSettings;
226pub use slider::Slider;
227pub use snackbar::Snackbar;
228pub use spin_box::{
229 ButtonLayout as SpinButtonLayout, SpinBox, SpinValue, StepType, WheelMode, WrapMode,
230};
231pub use spinner::Spinner;
232pub use split_button::SplitButton;
233pub use splitter::{
234 PaneDescriptor, PaneSnapshot, PaneState, Splitter, SplitterModel, SplitterState,
235};
236pub use teksilo_core::focus::TraversalScopePolicy;
237pub use standard_item::{StandardListItem, StandardTreeItem};
240pub use status_bar::StatusBar;
241pub use stepper::{
242 ChromePosition, Step, StepStatus, Stepper, StepperController, StepperOrientation, Wizard,
243};
244pub use tab_widget::{
245 ContextMenuFactory, IconFactory as TabIconFactory, STATIC_KIND, StaticContentFactory, TabBar,
246 TabBarOrientation, TabBarVisibility, TabDelegate, TabDisplayMode, TabHandle, TabId, TabInfo,
247 TabOverflowButton, TabSizing, TabWidget,
248};
249pub use table_view::{
250 Alignment as TableAlignment, CellContext, CellSelectionModel, Column, ColumnContext,
251 ColumnResizePolicy, ColumnWidth, EditTriggers, GridLines, PinnedSide, SortDirection,
252 TabTraversal, TableSelectionMode, TableView, TruncationPolicy,
253};
254pub use teksilo_tokens::Orientation;
255pub use text_input::{TextInput, ValidationState};
256pub use text_scale_control::TextScaleControl;
257pub use theme_switcher::ThemeSwitcher;
258pub use time_edit::{SecondsMode, TimeEdit, TimeFormat};
259pub use title_bar::{DragRegion, ResizeStrip, TitleBar, WindowControls, WindowFrame};
260pub use toast::{
261 EventContextToastExt, Toast, ToastAction, ToastActionStyle, ToastAudience, ToastDismissCause,
262 ToastHandle, ToastHost, ToastInstallOptions, ToastPriority, ToastRegistry, ToastRoute,
263 ToastSeverity, ToastSurface,
264};
265pub use toggle::Toggle;
266pub use tool_box::{ToolBox, ToolBoxItem, ToolBoxOrientation};
267pub use toolbar::{Toolbar, ToolbarAction, ToolbarItem, ToolbarOrientation, ToolbarOverflow};
268pub use tree_source::{TreeRow, TreeRowMeta};
269pub use tree_table_view::TreeTableView;
270pub use tree_view::{TreeRowContext, TreeView};
271
272pub fn framework_locales() -> &'static [(&'static str, &'static [&'static str])] {
293 &[
294 ("en-US", &[include_str!("../locales/en-US.ftl")]), ("ar-SA", &[include_str!("../locales/ar-SA.ftl")]), ("cs-CZ", &[include_str!("../locales/cs-CZ.ftl")]), ("da-DK", &[include_str!("../locales/da-DK.ftl")]), ("de-DE", &[include_str!("../locales/de-DE.ftl")]), ("el-GR", &[include_str!("../locales/el-GR.ftl")]), ("es-ES", &[include_str!("../locales/es-ES.ftl")]), ("fi-FI", &[include_str!("../locales/fi-FI.ftl")]), ("fr-FR", &[include_str!("../locales/fr-FR.ftl")]), ("he-IL", &[include_str!("../locales/he-IL.ftl")]), ("hu-HU", &[include_str!("../locales/hu-HU.ftl")]), ("it-IT", &[include_str!("../locales/it-IT.ftl")]), ("ja-JP", &[include_str!("../locales/ja-JP.ftl")]), ("ko-KR", &[include_str!("../locales/ko-KR.ftl")]), ("nb-NO", &[include_str!("../locales/nb-NO.ftl")]), ("nl-NL", &[include_str!("../locales/nl-NL.ftl")]), ("pl-PL", &[include_str!("../locales/pl-PL.ftl")]), ("pt-PT", &[include_str!("../locales/pt-PT.ftl")]), ("ro-RO", &[include_str!("../locales/ro-RO.ftl")]), ("ru-RU", &[include_str!("../locales/ru-RU.ftl")]), ("sv-SE", &[include_str!("../locales/sv-SE.ftl")]), ("tr-TR", &[include_str!("../locales/tr-TR.ftl")]), ("uk-UA", &[include_str!("../locales/uk-UA.ftl")]), ]
318}
319
320#[cfg(test)]
321mod layout_integration_tests;