Public Access
Repaint the phone's chrome, radii and accent to the v5 vocabulary
This commit is contained in:
@@ -12,10 +12,28 @@
|
||||
the alternative, and the red one is the one that costs something.
|
||||
|
||||
── v2 ──────────────────────────────────────────────────────────────────────────────────────────────
|
||||
The second design rounds everything. The corner radii below are the design's own — 4 for a tag, 9 for a
|
||||
button or a pill, 10 for a list row, 11 for the search well, 12 for a card, 14 for a block of
|
||||
monospaced output — and they are a ladder rather than a set of preferences: the radius says how big the
|
||||
thing is, so a 12 on a chip or a 4 on a card reads as the wrong size before it reads as the wrong shape.
|
||||
The second design rounded everything on its own ladder — 4 for a tag, 9 for a button or a pill, 10 for
|
||||
a list row, 11 for the search well, 12 for a card, 14 for a block of monospaced output — and the numbers
|
||||
below carried it for three passes: the radius said how big the thing was, so a 12 on a chip or a 4 on a
|
||||
card read as the wrong size before it read as the wrong shape. Left as a record of that reasoning rather
|
||||
than deleted, because the reasoning still holds; only the numbers it was reasoning about have moved.
|
||||
|
||||
── v5 ──────────────────────────────────────────────────────────────────────────────────────────────
|
||||
This pass takes the desktop's v5 ladder instead of v2's own, on the same reversal recorded for the
|
||||
fonts: the phone now matches the desktop's shape as well as its face. Three rungs rather than six —
|
||||
cards and sections stay 12, a button or a field is 10, a chip or a tag is 6 — collapsing v2's 9/10/11
|
||||
into the one value the desktop's buttons and fields already use, and moving its 4 up to 6 and its 14
|
||||
down to 12 to land on the desktop's own chip and card numbers. The ladder still says how big a thing
|
||||
is before it says what shape it is; it is just a shorter ladder now, because the desktop it is copying
|
||||
never drew v2's 11-radius search well or a card any rounder than a chip's neighbour a step away, and the
|
||||
same case that closed the gap between 9, 10 and 11 closes the one between 12 and 14.
|
||||
|
||||
Not every radius on this head belongs to this ladder. The floating action button is 28 — half its own
|
||||
56, which is a circle rather than a ladder rung — and the sheets stay at 22 on their top corners only,
|
||||
which is a phone idiom this codebase's own bottom sheets have used since v2 and the desktop draws
|
||||
nothing like. Both are documented where they are set rather than here, for the reason FAB and sheet
|
||||
radii are always documented locally: a reader who only ever meets one of them should not have to find
|
||||
this paragraph to learn it was deliberate.
|
||||
-->
|
||||
|
||||
<Style Selector="Button.primary">
|
||||
@@ -23,15 +41,32 @@
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
<Setter Property="HorizontalContentAlignment" Value="Center" />
|
||||
<Setter Property="VerticalContentAlignment" Value="Center" />
|
||||
<Setter Property="Background" Value="{StaticResource Accent}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource AccentInk}" />
|
||||
<Setter Property="CornerRadius" Value="9" />
|
||||
<Setter Property="CornerRadius" Value="10" />
|
||||
<Setter Property="FontFamily" Value="{StaticResource MonoFont}" />
|
||||
<Setter Property="FontSize" Value="12" />
|
||||
<Setter Property="FontWeight" Value="SemiBold" />
|
||||
</Style>
|
||||
|
||||
<!--
|
||||
◆ Gradient and glow, replacing a flat Accent fill — the same swap App.axaml's Button.accent made on the
|
||||
desktop, and for the same reason: this design draws every primary button top-to-bottom from a lighter
|
||||
violet into the accent proper, lifted off the surface with a soft violet glow rather than a border. Both
|
||||
live in Palette.axaml as AccentGradient and AccentGlow, already resolvable here because the palette is
|
||||
shared — this is a resource-key swap, not new colour.
|
||||
|
||||
Background and BoxShadow are set here rather than as plain Setters above, because Fluent's default
|
||||
button template only lets a style reach the fill and the glow through the ContentPresenter it draws
|
||||
itself around — the same reason the desktop's rule targets /template/ ContentPresenter rather than the
|
||||
Button. Height, radius and the rest stay ordinary Setters on Button.primary itself; only the two the
|
||||
template intercepts move down here.
|
||||
-->
|
||||
<Style Selector="Button.primary /template/ ContentPresenter">
|
||||
<Setter Property="Background" Value="{StaticResource AccentGradient}" />
|
||||
<Setter Property="BoxShadow" Value="{StaticResource AccentGlow}" />
|
||||
</Style>
|
||||
<Style Selector="Button.primary:pressed /template/ ContentPresenter">
|
||||
<Setter Property="Background" Value="{StaticResource Accent}" />
|
||||
<Setter Property="Background" Value="{StaticResource AccentGradient}" />
|
||||
<Setter Property="Opacity" Value="0.82" />
|
||||
</Style>
|
||||
|
||||
@@ -39,9 +74,15 @@
|
||||
Disabled is drawn as flat and unlit rather than merely dimmed. The design's CONTINUE button on the
|
||||
recovery screen is disabled until the checkbox is ticked, and a user who cannot tell it is disabled
|
||||
reads the screen as broken rather than as waiting for them.
|
||||
|
||||
BoxShadow has to be cleared here too, as "none" rather than left unset — see the remark on
|
||||
Button.accent:disabled in the desktop's App.axaml for why the literal string is required and an empty
|
||||
BoxShadows is not: the base rule's glow Setter is still in effect wherever a more specific one does not
|
||||
override it, and a disabled primary button lit with a glow would read as wanting to be pressed.
|
||||
-->
|
||||
<Style Selector="Button.primary:disabled /template/ ContentPresenter">
|
||||
<Setter Property="Background" Value="{StaticResource Raised}" />
|
||||
<Setter Property="BoxShadow" Value="none" />
|
||||
<Setter Property="TextElement.Foreground" Value="{StaticResource TextFaint}" />
|
||||
</Style>
|
||||
|
||||
@@ -54,7 +95,7 @@
|
||||
<Setter Property="BorderBrush" Value="{StaticResource BorderMid}" />
|
||||
<Setter Property="BorderThickness" Value="1" />
|
||||
<Setter Property="Foreground" Value="{StaticResource Text}" />
|
||||
<Setter Property="CornerRadius" Value="9" />
|
||||
<Setter Property="CornerRadius" Value="10" />
|
||||
<Setter Property="FontFamily" Value="{StaticResource MonoFont}" />
|
||||
<Setter Property="FontSize" Value="11.5" />
|
||||
<Setter Property="FontWeight" Value="SemiBold" />
|
||||
@@ -69,7 +110,7 @@
|
||||
<Setter Property="BorderBrush" Value="{StaticResource DangerSoft}" />
|
||||
<Setter Property="BorderThickness" Value="1" />
|
||||
<Setter Property="Foreground" Value="{StaticResource Danger}" />
|
||||
<Setter Property="CornerRadius" Value="9" />
|
||||
<Setter Property="CornerRadius" Value="10" />
|
||||
<Setter Property="FontFamily" Value="{StaticResource MonoFont}" />
|
||||
<Setter Property="FontSize" Value="10.5" />
|
||||
<Setter Property="FontWeight" Value="SemiBold" />
|
||||
@@ -126,7 +167,17 @@
|
||||
|
||||
Accent-filled, which it shares with Button.primary and with nothing else — and it means the same thing
|
||||
in both places: the one action on the surface that is not a choice between peers. Circular by radius
|
||||
rather than by a Path, so the pressed state the template draws is the same shape as the button.
|
||||
rather than by a Path, so the pressed state the template draws is the same shape as the button — 28,
|
||||
exactly half its own 56, which is a geometric constraint rather than a ladder rung and does not move
|
||||
with the rest of this file's radii.
|
||||
|
||||
◆ Gradient and glow since v5, matching Button.primary rather than staying a flat fill once that one
|
||||
moved. The two are the only accent-filled controls on this head and are read as one idea — "the thing
|
||||
this surface wants you to do" — so a flat FAB beside a gradient primary button would be the seam this
|
||||
codebase's palette file keeps warning about, one screenshot over from the button it echoes. The glow
|
||||
reads as well on a floating circle as it does on a bar-anchored rectangle: if anything a control that
|
||||
already floats over content earns a lift more than one sitting in a row of chrome does, so it is kept
|
||||
rather than dropped for the FAB's own shape.
|
||||
|
||||
Still only on HOSTS. The design puts a second one on S3 and that editor genuinely does not exist yet, so
|
||||
the style being here is not permission to draw one there.
|
||||
@@ -135,7 +186,6 @@
|
||||
<Setter Property="Width" Value="56" />
|
||||
<Setter Property="Height" Value="56" />
|
||||
<Setter Property="Padding" Value="0" />
|
||||
<Setter Property="Background" Value="{StaticResource Accent}" />
|
||||
<Setter Property="BorderThickness" Value="0" />
|
||||
<Setter Property="CornerRadius" Value="28" />
|
||||
<Setter Property="HorizontalContentAlignment" Value="Center" />
|
||||
@@ -145,8 +195,14 @@
|
||||
<Setter Property="FontSize" Value="24" />
|
||||
<Setter Property="FontWeight" Value="SemiBold" />
|
||||
</Style>
|
||||
<!-- See the remark above Button.primary's own /template/ ContentPresenter rule: BoxShadow has no home on
|
||||
a Button itself, so the fill moves down here alongside it rather than staying a plain Setter. -->
|
||||
<Style Selector="Button.fab /template/ ContentPresenter">
|
||||
<Setter Property="Background" Value="{StaticResource AccentGradient}" />
|
||||
<Setter Property="BoxShadow" Value="{StaticResource AccentGlow}" />
|
||||
</Style>
|
||||
<Style Selector="Button.fab:pressed /template/ ContentPresenter">
|
||||
<Setter Property="Background" Value="{StaticResource Accent}" />
|
||||
<Setter Property="Background" Value="{StaticResource AccentGradient}" />
|
||||
<Setter Property="Opacity" Value="0.82" />
|
||||
</Style>
|
||||
|
||||
@@ -194,7 +250,7 @@
|
||||
-->
|
||||
<Style Selector="Border.output">
|
||||
<Setter Property="Background" Value="{StaticResource TerminalSurface}" />
|
||||
<Setter Property="CornerRadius" Value="14" />
|
||||
<Setter Property="CornerRadius" Value="12" />
|
||||
<Setter Property="Padding" Value="12" />
|
||||
</Style>
|
||||
|
||||
@@ -205,7 +261,7 @@
|
||||
-->
|
||||
<Style Selector="Border.tag">
|
||||
<Setter Property="Background" Value="{StaticResource Chip}" />
|
||||
<Setter Property="CornerRadius" Value="4" />
|
||||
<Setter Property="CornerRadius" Value="6" />
|
||||
<Setter Property="Padding" Value="7,2" />
|
||||
<Setter Property="VerticalAlignment" Value="Center" />
|
||||
</Style>
|
||||
@@ -231,7 +287,7 @@
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource BorderMid}" />
|
||||
<Setter Property="BorderThickness" Value="1" />
|
||||
<Setter Property="CornerRadius" Value="4" />
|
||||
<Setter Property="CornerRadius" Value="6" />
|
||||
<Setter Property="Padding" Value="11,0" />
|
||||
<Setter Property="Foreground" Value="{StaticResource TextDim}" />
|
||||
<Setter Property="VerticalContentAlignment" Value="Center" />
|
||||
@@ -267,11 +323,17 @@
|
||||
Checked is a filled surface with accent *text*, not an accent fill. v2 makes that distinction
|
||||
everywhere — see the remark on AccentText in Palette.axaml — and a chip is where it matters most: a row
|
||||
of four solid blue lozenges is a row of four things that all look like the primary action.
|
||||
|
||||
◆ Its own radius rather than Border.tag's or Button.chiptoggle's, despite the name. v2 drew this control
|
||||
on the ladder's button-or-pill rung rather than its tag rung — 9, not 4 — and the v5 pass carries the
|
||||
same rung forward to 10 rather than to Border.tag's 6: it is a much larger control at 34 tall against a
|
||||
tag's line-height, and a radius picked for a 34-pixel chip is not the one a 20-pixel tag needs, whatever
|
||||
the class is called. See the remark on Phone.axaml's own ladder, above.
|
||||
-->
|
||||
<Style Selector="RadioButton.chip">
|
||||
<Setter Property="MinHeight" Value="34" />
|
||||
<Setter Property="Padding" Value="13,6" />
|
||||
<Setter Property="CornerRadius" Value="9" />
|
||||
<Setter Property="CornerRadius" Value="10" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource BorderMid}" />
|
||||
<Setter Property="BorderThickness" Value="1" />
|
||||
@@ -314,7 +376,7 @@
|
||||
<Setter Property="Background" Value="{StaticResource Field}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource BorderMid}" />
|
||||
<Setter Property="BorderThickness" Value="1" />
|
||||
<Setter Property="CornerRadius" Value="11" />
|
||||
<Setter Property="CornerRadius" Value="10" />
|
||||
<Setter Property="Foreground" Value="{StaticResource Text}" />
|
||||
<Setter Property="FontFamily" Value="{StaticResource MonoFont}" />
|
||||
<Setter Property="FontSize" Value="12" />
|
||||
|
||||
Reference in New Issue
Block a user