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