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