Files
ulapp/FieldLogger/Resources/Styles/Styles.xaml
2026-08-20 22:00:31 -05:00

294 lines
17 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<?xaml-comp compile="true" ?>
<ResourceDictionary
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
<!-- Survey Teal shared component foundation. DynamicResource colors allow sunlight switching. -->
<Style TargetType="Page" ApplyToDerivedTypes="True">
<Setter Property="BackgroundColor" Value="{DynamicResource UlColorCanvas}" />
</Style>
<Style TargetType="ActivityIndicator">
<Setter Property="Color" Value="{DynamicResource UlColorPrimary}" />
</Style>
<Style TargetType="Border">
<Setter Property="BackgroundColor" Value="{DynamicResource UlColorSurface}" />
<Setter Property="Stroke" Value="{DynamicResource UlColorBorder}" />
<Setter Property="StrokeThickness" Value="1" />
<Setter Property="StrokeShape" Value="RoundRectangle 12" />
</Style>
<Style TargetType="Button">
<Setter Property="TextColor" Value="{DynamicResource UlColorOnPrimary}" />
<Setter Property="BackgroundColor" Value="{DynamicResource UlColorPrimary}" />
<Setter Property="FontFamily" Value="{StaticResource UlTypeFamilySansStrong}" />
<Setter Property="FontSize" Value="{StaticResource UlTypeLabelSize}" />
<Setter Property="FontAttributes" Value="Bold" />
<Setter Property="BorderColor" Value="Transparent" />
<Setter Property="BorderWidth" Value="0" />
<Setter Property="CornerRadius" Value="12" />
<Setter Property="Padding" Value="16,12" />
<Setter Property="MinimumHeightRequest" Value="{StaticResource UlTouchMinimum}" />
<Setter Property="MinimumWidthRequest" Value="{StaticResource UlTouchMinimum}" />
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Pressed">
<VisualState.Setters>
<Setter Property="BackgroundColor" Value="{DynamicResource UlColorPrimaryPressed}" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Disabled">
<VisualState.Setters>
<Setter Property="TextColor" Value="{DynamicResource UlColorSurfaceStrong}" />
<Setter Property="BackgroundColor" Value="{DynamicResource UlColorDisabled}" />
<Setter Property="Opacity" Value="0.7" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="FocusStates">
<VisualState x:Name="Unfocused" />
<VisualState x:Name="Focused">
<VisualState.Setters>
<Setter Property="BorderColor" Value="{DynamicResource UlColorFocus}" />
<Setter Property="BorderWidth" Value="3" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style x:Key="UlButtonPrimary" TargetType="Button" />
<Style x:Key="UlButtonSecondary" TargetType="Button">
<Setter Property="TextColor" Value="{DynamicResource UlColorPrimary}" />
<Setter Property="BackgroundColor" Value="{DynamicResource UlColorSurface}" />
<Setter Property="BorderColor" Value="{DynamicResource UlColorPrimary}" />
<Setter Property="BorderWidth" Value="2" />
</Style>
<Style x:Key="UlButtonAccent" TargetType="Button">
<Setter Property="TextColor" Value="{DynamicResource UlColorOnAccent}" />
<Setter Property="BackgroundColor" Value="{DynamicResource UlColorAccent}" />
</Style>
<Style x:Key="UlButtonPrimaryField" TargetType="Button">
<Setter Property="MinimumHeightRequest" Value="{StaticResource UlTouchPrimary}" />
<Setter Property="FontSize" Value="{StaticResource UlTypeBodySize}" />
<Setter Property="CornerRadius" Value="20" />
<Setter Property="Padding" Value="24,16" />
</Style>
<Style TargetType="ImageButton">
<Setter Property="BackgroundColor" Value="Transparent" />
<Setter Property="BorderColor" Value="Transparent" />
<Setter Property="BorderWidth" Value="0" />
<Setter Property="CornerRadius" Value="12" />
<Setter Property="MinimumHeightRequest" Value="{StaticResource UlTouchMinimum}" />
<Setter Property="MinimumWidthRequest" Value="{StaticResource UlTouchMinimum}" />
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Pressed">
<VisualState.Setters><Setter Property="Opacity" Value="0.72" /></VisualState.Setters>
</VisualState>
<VisualState x:Name="Disabled">
<VisualState.Setters><Setter Property="Opacity" Value="0.45" /></VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<Style x:Key="UlIconButton" TargetType="ImageButton">
<Setter Property="BackgroundColor" Value="{DynamicResource UlColorSurface}" />
<Setter Property="BorderColor" Value="{DynamicResource UlColorBorder}" />
<Setter Property="BorderWidth" Value="1" />
</Style>
<Style TargetType="Label">
<Setter Property="TextColor" Value="{DynamicResource UlColorText}" />
<Setter Property="BackgroundColor" Value="Transparent" />
<Setter Property="FontFamily" Value="{StaticResource UlTypeFamilySans}" />
<Setter Property="FontSize" Value="{StaticResource UlTypeBodySize}" />
</Style>
<Style TargetType="Span">
<Setter Property="TextColor" Value="{DynamicResource UlColorText}" />
<Setter Property="FontFamily" Value="{StaticResource UlTypeFamilySans}" />
</Style>
<Style x:Key="UlPageTitle" TargetType="Label">
<Setter Property="FontFamily" Value="{StaticResource UlTypeFamilySansStrong}" />
<Setter Property="FontAttributes" Value="Bold" />
<Setter Property="FontSize" Value="{StaticResource UlTypePageSize}" />
</Style>
<Style x:Key="UlSectionTitle" TargetType="Label">
<Setter Property="FontFamily" Value="{StaticResource UlTypeFamilySansStrong}" />
<Setter Property="FontAttributes" Value="Bold" />
<Setter Property="FontSize" Value="{StaticResource UlTypeSectionSize}" />
</Style>
<Style x:Key="UlBodyMuted" TargetType="Label">
<Setter Property="TextColor" Value="{DynamicResource UlColorTextMuted}" />
</Style>
<Style x:Key="UlTechnicalValue" TargetType="Label">
<Setter Property="FontFamily" Value="{StaticResource UlTypeFamilyMono}" />
<Setter Property="FontSize" Value="{StaticResource UlTypeMonoSize}" />
</Style>
<Style x:Key="Headline" TargetType="Label" BasedOn="{StaticResource UlPageTitle}">
<Setter Property="HorizontalOptions" Value="Center" />
<Setter Property="HorizontalTextAlignment" Value="Center" />
</Style>
<Style x:Key="SubHeadline" TargetType="Label" BasedOn="{StaticResource UlSectionTitle}">
<Setter Property="HorizontalOptions" Value="Center" />
<Setter Property="HorizontalTextAlignment" Value="Center" />
</Style>
<Style x:Key="UlCard" TargetType="Border">
<Setter Property="BackgroundColor" Value="{DynamicResource UlColorSurfaceRaised}" />
<Setter Property="Stroke" Value="{DynamicResource UlColorBorder}" />
<Setter Property="StrokeThickness" Value="1" />
<Setter Property="StrokeShape" Value="RoundRectangle 12" />
<Setter Property="Padding" Value="16" />
<Setter Property="Margin" Value="0,0,0,12" />
</Style>
<Style x:Key="UlJobRow" TargetType="Border">
<Setter Property="BackgroundColor" Value="{DynamicResource UlColorSurface}" />
<Setter Property="Stroke" Value="{DynamicResource UlColorBorder}" />
<Setter Property="StrokeThickness" Value="1" />
<Setter Property="Padding" Value="16,12" />
<Setter Property="MinimumHeightRequest" Value="{StaticResource UlTouchComfortable}" />
</Style>
<Style x:Key="UlStatusBadge" TargetType="Border">
<Setter Property="BackgroundColor" Value="{DynamicResource UlColorSurface}" />
<Setter Property="Stroke" Value="{DynamicResource UlColorNeutral}" />
<Setter Property="StrokeThickness" Value="1" />
<Setter Property="StrokeShape" Value="RoundRectangle 999" />
<Setter Property="Padding" Value="8,4" />
<!-- Consumers must supply visible status text and an icon; color is supplemental. -->
</Style>
<Style x:Key="UlDeviceChip" TargetType="Border" BasedOn="{StaticResource UlStatusBadge}">
<Setter Property="MinimumHeightRequest" Value="{StaticResource UlTouchMinimum}" />
<Setter Property="Padding" Value="12,8" />
</Style>
<Style x:Key="UlMetricValue" TargetType="Label">
<Setter Property="FontFamily" Value="{StaticResource UlTypeFamilyMono}" />
<Setter Property="FontAttributes" Value="Bold" />
<Setter Property="FontSize" Value="{StaticResource UlTypeDisplaySize}" />
</Style>
<Style x:Key="UlEmptyStateTitle" TargetType="Label" BasedOn="{StaticResource UlSectionTitle}">
<Setter Property="HorizontalTextAlignment" Value="Center" />
</Style>
<Style x:Key="UlEmptyStateBody" TargetType="Label" BasedOn="{StaticResource UlBodyMuted}">
<Setter Property="HorizontalTextAlignment" Value="Center" />
</Style>
<Style TargetType="Entry">
<Setter Property="TextColor" Value="{DynamicResource UlColorText}" />
<Setter Property="PlaceholderColor" Value="{DynamicResource UlColorTextMuted}" />
<Setter Property="BackgroundColor" Value="{DynamicResource UlColorSurface}" />
<Setter Property="FontFamily" Value="{StaticResource UlTypeFamilySans}" />
<Setter Property="FontSize" Value="{StaticResource UlTypeBodySize}" />
<Setter Property="MinimumHeightRequest" Value="{StaticResource UlTouchMinimum}" />
<Setter Property="MinimumWidthRequest" Value="{StaticResource UlTouchMinimum}" />
</Style>
<Style x:Key="UlInput" TargetType="Entry" />
<Style TargetType="Editor">
<Setter Property="TextColor" Value="{DynamicResource UlColorText}" />
<Setter Property="PlaceholderColor" Value="{DynamicResource UlColorTextMuted}" />
<Setter Property="BackgroundColor" Value="{DynamicResource UlColorSurface}" />
<Setter Property="FontFamily" Value="{StaticResource UlTypeFamilySans}" />
<Setter Property="FontSize" Value="{StaticResource UlTypeBodySize}" />
<Setter Property="MinimumHeightRequest" Value="{StaticResource UlTouchComfortable}" />
<Setter Property="MinimumWidthRequest" Value="{StaticResource UlTouchMinimum}" />
</Style>
<Style TargetType="Picker">
<Setter Property="TextColor" Value="{DynamicResource UlColorText}" />
<Setter Property="TitleColor" Value="{DynamicResource UlColorTextMuted}" />
<Setter Property="BackgroundColor" Value="{DynamicResource UlColorSurface}" />
<Setter Property="FontFamily" Value="{StaticResource UlTypeFamilySans}" />
<Setter Property="FontSize" Value="{StaticResource UlTypeBodySize}" />
<Setter Property="MinimumHeightRequest" Value="{StaticResource UlTouchMinimum}" />
<Setter Property="MinimumWidthRequest" Value="{StaticResource UlTouchMinimum}" />
</Style>
<Style TargetType="DatePicker">
<Setter Property="TextColor" Value="{DynamicResource UlColorText}" />
<Setter Property="BackgroundColor" Value="{DynamicResource UlColorSurface}" />
<Setter Property="FontFamily" Value="{StaticResource UlTypeFamilySans}" />
<Setter Property="FontSize" Value="{StaticResource UlTypeBodySize}" />
<Setter Property="MinimumHeightRequest" Value="{StaticResource UlTouchMinimum}" />
<Setter Property="MinimumWidthRequest" Value="{StaticResource UlTouchMinimum}" />
</Style>
<Style TargetType="TimePicker">
<Setter Property="TextColor" Value="{DynamicResource UlColorText}" />
<Setter Property="BackgroundColor" Value="{DynamicResource UlColorSurface}" />
<Setter Property="FontFamily" Value="{StaticResource UlTypeFamilySans}" />
<Setter Property="FontSize" Value="{StaticResource UlTypeBodySize}" />
<Setter Property="MinimumHeightRequest" Value="{StaticResource UlTouchMinimum}" />
<Setter Property="MinimumWidthRequest" Value="{StaticResource UlTouchMinimum}" />
</Style>
<Style TargetType="SearchBar">
<Setter Property="TextColor" Value="{DynamicResource UlColorText}" />
<Setter Property="PlaceholderColor" Value="{DynamicResource UlColorTextMuted}" />
<Setter Property="CancelButtonColor" Value="{DynamicResource UlColorPrimary}" />
<Setter Property="BackgroundColor" Value="{DynamicResource UlColorSurface}" />
<Setter Property="FontFamily" Value="{StaticResource UlTypeFamilySans}" />
<Setter Property="FontSize" Value="{StaticResource UlTypeBodySize}" />
<Setter Property="MinimumHeightRequest" Value="{StaticResource UlTouchMinimum}" />
</Style>
<Style TargetType="CheckBox">
<Setter Property="Color" Value="{DynamicResource UlColorPrimary}" />
<Setter Property="MinimumHeightRequest" Value="{StaticResource UlTouchMinimum}" />
<Setter Property="MinimumWidthRequest" Value="{StaticResource UlTouchMinimum}" />
</Style>
<Style TargetType="RadioButton">
<Setter Property="TextColor" Value="{DynamicResource UlColorText}" />
<Setter Property="BackgroundColor" Value="Transparent" />
<Setter Property="FontFamily" Value="{StaticResource UlTypeFamilySans}" />
<Setter Property="FontSize" Value="{StaticResource UlTypeBodySize}" />
<Setter Property="MinimumHeightRequest" Value="{StaticResource UlTouchMinimum}" />
<Setter Property="MinimumWidthRequest" Value="{StaticResource UlTouchMinimum}" />
</Style>
<Style TargetType="Switch">
<Setter Property="OnColor" Value="{DynamicResource UlColorPrimary}" />
<Setter Property="ThumbColor" Value="{DynamicResource UlColorSurface}" />
<Setter Property="MinimumHeightRequest" Value="{StaticResource UlTouchMinimum}" />
<Setter Property="MinimumWidthRequest" Value="{StaticResource UlTouchMinimum}" />
</Style>
<Style TargetType="Slider">
<Setter Property="MinimumTrackColor" Value="{DynamicResource UlColorPrimary}" />
<Setter Property="MaximumTrackColor" Value="{DynamicResource UlColorBorder}" />
<Setter Property="ThumbColor" Value="{DynamicResource UlColorPrimary}" />
<Setter Property="MinimumHeightRequest" Value="{StaticResource UlTouchMinimum}" />
</Style>
<Style TargetType="ProgressBar">
<Setter Property="ProgressColor" Value="{DynamicResource UlColorPrimary}" />
</Style>
<Style TargetType="RefreshView">
<Setter Property="RefreshColor" Value="{DynamicResource UlColorPrimary}" />
</Style>
<Style TargetType="ListView">
<Setter Property="SeparatorColor" Value="{DynamicResource UlColorBorder}" />
<Setter Property="RefreshControlColor" Value="{DynamicResource UlColorPrimary}" />
</Style>
<Style TargetType="Shell" ApplyToDerivedTypes="True">
<Setter Property="Shell.BackgroundColor" Value="{DynamicResource UlColorSurfaceStrong}" />
<Setter Property="Shell.ForegroundColor" Value="{DynamicResource UlColorOnStrong}" />
<Setter Property="Shell.TitleColor" Value="{DynamicResource UlColorOnStrong}" />
<Setter Property="Shell.DisabledColor" Value="{DynamicResource UlColorDisabled}" />
<Setter Property="Shell.UnselectedColor" Value="{DynamicResource UlColorBorder}" />
<Setter Property="Shell.NavBarHasShadow" Value="False" />
<Setter Property="Shell.TabBarBackgroundColor" Value="{DynamicResource UlColorSurfaceStrong}" />
<Setter Property="Shell.TabBarForegroundColor" Value="{DynamicResource UlColorOnStrong}" />
<Setter Property="Shell.TabBarTitleColor" Value="{DynamicResource UlColorOnStrong}" />
<Setter Property="Shell.TabBarUnselectedColor" Value="{DynamicResource UlColorBorder}" />
</Style>
<Style TargetType="NavigationPage">
<Setter Property="BarBackgroundColor" Value="{DynamicResource UlColorSurfaceStrong}" />
<Setter Property="BarTextColor" Value="{DynamicResource UlColorOnStrong}" />
<Setter Property="IconColor" Value="{DynamicResource UlColorOnStrong}" />
</Style>
<Style TargetType="TabbedPage">
<Setter Property="BarBackgroundColor" Value="{DynamicResource UlColorSurfaceStrong}" />
<Setter Property="BarTextColor" Value="{DynamicResource UlColorOnStrong}" />
<Setter Property="UnselectedTabColor" Value="{DynamicResource UlColorBorder}" />
<Setter Property="SelectedTabColor" Value="{DynamicResource UlColorOnStrong}" />
</Style>
</ResourceDictionary>