Skip to main content

perspective_viewer/ui/
mod.rs

1// ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2// ┃ ██████ ██████ ██████       █      █      █      █      █ █▄  ▀███ █       ┃
3// ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█  ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄  ▀█ █ ▀▀▀▀▀ ┃
4// ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄   █ ▄▄▄▄▄ ┃
5// ┃ █      ██████ █  ▀█▄       █ ██████      █      ███▌▐███ ███████▄ █       ┃
6// ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
7// ┃ Copyright (c) 2017, the Perspective Authors.                              ┃
8// ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
9// ┃ This file is part of the Perspective library, distributed under the terms ┃
10// ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11// ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
13//! Generic widgets and DOM infrastructure with no dependency on viewer
14//! state: nothing here may import `config`, `session`, `renderer`,
15//! `presentation`, `tasks`, `queries`, `workspace`, `agent`,
16//! `custom_elements`, `components`, or `js::plugin`.
17
18pub mod containers;
19pub mod context_menu;
20pub mod dragdrop;
21pub mod font_loader;
22pub mod form;
23pub mod modal;
24pub use modal::{ModalLink, SetModalLink};
25pub mod portal;
26pub mod style;
27
28pub use containers::control_group::ControlGroup;
29pub use containers::dropdown_menu::{DropDownMenu, DropDownMenuItem};
30pub use containers::scroll_panel::ScrollPanel;
31pub use containers::scroll_panel_item::ScrollPanelItem;
32pub use containers::select::{Select, SelectItem};
33pub use containers::sidebar::Sidebar;
34pub use containers::sidebar_close_button::SidebarCloseButton;
35pub use containers::split_panel::{Orientation, SplitPanel};
36pub use containers::tab_list::{TabItem, TabList};
37pub use context_menu::{ContextMenu, ContextMenuEntry, ContextMenuItem};
38pub use dragdrop::{
39    DragDropContainer, DragEndCallback, DragTargetState, PointerDownCallback,
40    clear_document_selection, closest_draggable,
41};
42pub use font_loader::{FontLoader, FontLoaderProps, FontLoaderStatus};
43pub use form::color_selector::ColorSelector;
44pub use form::intl_label::{IntlLabel, intl_content_style, intl_slug};
45pub use form::mirrored_textarea::MirroredTextarea;
46pub use form::multi_stop_gradient_selector::MultiStopGradientSelector;
47pub use form::named_value_picker::NamedValuePicker;
48pub use form::number_field::NumberField;
49pub use form::number_input::NumberInput;
50pub use form::number_range_field::NumberRangeField;
51pub use form::optional_field::OptionalField;
52pub use form::palette_selector::PaletteSelector;
53pub use form::select_enum_field::SelectEnumField;
54pub use form::select_value_field::SelectValueField;
55pub use portal::{MODAL_SLOT, PortalModal};
56pub use style::StyleProvider;