use cranpose_core::{CompositionLocal, CompositionLocalProvider, compositionLocalOf};
use cranpose_macros::composable;
pub use cranpose_ui_graphics::accessibility::{
AccessibilityOptions, platform_accessibility_options, set_platform_accessibility_options,
};
pub fn local_accessibility_options() -> CompositionLocal<AccessibilityOptions> {
crate::composition_locals::cached_local(
|locals| &locals.accessibility_options,
|| compositionLocalOf(platform_accessibility_options),
)
}
#[composable]
pub fn ProvideAccessibilityOptions(options: AccessibilityOptions, content: impl FnOnce()) {
let provided = local_accessibility_options().provides(options.normalized());
CompositionLocalProvider([provided], move || content());
}
#[cfg(test)]
#[path = "tests/accessibility_options_tests.rs"]
mod tests;