Refine ISAC selection controls and icons
This commit is contained in:
+45
-7
@@ -755,13 +755,29 @@ rail and filled square indicator; deselected segments remain readable and
|
||||
available. The channel rail collapses from six to three and then two columns as
|
||||
space narrows, with minimum 44-pixel mobile targets.
|
||||
|
||||
Use the shared `SegmentedChoice` component for compact, finite option sets.
|
||||
Radio mode represents one required choice; checkbox mode represents additive
|
||||
independent choices. Prefer this visible segmented treatment over a dropdown
|
||||
when the complete option set is small enough to scan comfortably. Dropdowns
|
||||
remain appropriate for long, dynamic, or search-oriented lists. Both modes
|
||||
share hover, pressed, focus-visible, selected, disabled, responsive, and
|
||||
44-pixel mobile-target behavior so feature modules do not reimplement it.
|
||||
Use the shared `SegmentedChoice` component for every static, scannable ISAC
|
||||
choice set containing two through six options. Radio mode represents one
|
||||
required choice; checkbox mode represents additive independent choices. This
|
||||
rule applies equally to editors and registry filters: do not introduce a native
|
||||
dropdown merely to save vertical space. Use the shared `SearchableAssignment`
|
||||
component in single or multiple mode when there are seven or more options, when
|
||||
the options come from a growing data registry, or when search materially helps
|
||||
recognition. Compact mode is the standard treatment for filter bars and dense
|
||||
repeated rows; full mode is used for primary relationships.
|
||||
|
||||
Native selects are not a default ISAC control. Retain one only when a documented
|
||||
browser-native behavior cannot be represented accessibly by either shared
|
||||
component. Such an exception must be called out in this design system in the
|
||||
same change. Both shared choice patterns expose explicit selection, hover,
|
||||
pressed, focus-visible, disabled, empty/all, responsive, and 44-pixel
|
||||
mobile-target states so modules do not reimplement them.
|
||||
|
||||
`SegmentedChoice` supports two restrained density variants. Icon-only segments
|
||||
may omit visible text when a canonical, unambiguous game icon exists; they must
|
||||
retain an accessible label and hover title. Text-only segments may omit the
|
||||
default square indicator when the selected background, orange text, and lower
|
||||
rail already communicate state clearly. Do not remove both visible text and an
|
||||
icon from the same option.
|
||||
|
||||
### Skill Chip data console
|
||||
|
||||
@@ -810,6 +826,28 @@ the filtered result registry opens as an anchored overlay. The compact overlay
|
||||
must layer above adjacent rows, retain pending-record labels, and collapse to
|
||||
one column on narrow screens.
|
||||
|
||||
Gear identity editing uses the shared segmented radio treatment for both Gear
|
||||
slot and item tier. Show all six slots together and all three tiers together so
|
||||
contributors can verify classification without opening a menu. The record name
|
||||
remains the dominant text field; at medium widths it occupies a full row above
|
||||
the two selectors. On narrow screens the slot selector becomes a three-by-two
|
||||
grid, both selectors use at least 44-pixel targets, and changing slot clears
|
||||
incompatible Talent relationships exactly as the former selector did. Gear
|
||||
slot segments use icon-only controls with accessible slot names; registry labels
|
||||
retain icon and text for rapid table scanning. Tier segments use the compact
|
||||
game notation `T0`, `T1`, and `T2`, omit the redundant square indicator, and
|
||||
rely on the selected rail and color; do not expand these to “Tier 0” inside
|
||||
dense segmented controls. On desktop, icon-only Gear slot segments are square
|
||||
32-pixel cells so their classification rail stays compact and the adjacent
|
||||
record-name input receives the dominant width. Increase those cells to square
|
||||
44-pixel targets at mobile sizes without reintroducing visible slot text.
|
||||
|
||||
Root-level static PNGs are interface icons and use content-fitted transparent
|
||||
bounds. Run `npm run assets:trim-icons` after adding or replacing them. The
|
||||
normalizer trims fully transparent padding, restores a two-pixel transparent
|
||||
safety margin so antialiased edges never touch the canvas, preserves RGBA PNG
|
||||
output, and leaves portrait/avatar and SVG asset classes untouched.
|
||||
|
||||
### Shared equipment profiles
|
||||
|
||||
Configuration inherited by every item of a finite equipment type belongs in a
|
||||
|
||||
Reference in New Issue
Block a user