@lotics/ui 27.8.0 → 27.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/composition.md +14 -0
- package/package.json +1 -1
package/docs/composition.md
CHANGED
|
@@ -286,6 +286,11 @@ leaves the reader no reason to open the chevron.
|
|
|
286
286
|
|
|
287
287
|
## No dead rows — registers & tables
|
|
288
288
|
|
|
289
|
+
**The identifier leads.** A register's FIRST column is the thing the reader came to find the row
|
|
290
|
+
by — its key, code, or id — because that is what they are scanning against a document, an email,
|
|
291
|
+
or someone on the phone. Pushing it right of a name or a status makes every lookup a hunt across
|
|
292
|
+
the row, and no other column can take its place: a name repeats, a status is shared by dozens.
|
|
293
|
+
|
|
289
294
|
Every listed record is actionable. PRIMARY entity rows press-open the workspace `Drawer`
|
|
290
295
|
(sequenced — see [master-detail](#master-detail--list--workspace-drawer-with-sequencing));
|
|
291
296
|
read-only drill-downs expand via `Accordion` or glance via `Peek`; every other row gets an
|
|
@@ -770,6 +775,15 @@ Anything pressable is ≥ 40px tall (8px minimum gap between pressables). 16px b
|
|
|
770
775
|
canvas padding, 16–20 inside bands, 10–12 between content lines. Density comes from alignment +
|
|
771
776
|
hierarchy, not cramming.
|
|
772
777
|
|
|
778
|
+
**The trim test — does this element RESTATE something already on the screen?** Run it over every
|
|
779
|
+
screen before shipping: a per-row proportion bar when the percentage is already on the row; the
|
|
780
|
+
percentage itself when the column holds four values and a total; a state line that only says
|
|
781
|
+
nothing has happened; a gloss explaining the WIDGET rather than the domain. A gloss earns its
|
|
782
|
+
place only by stating a truth that is otherwise INVISIBLE. This is the hardest slop to see and the
|
|
783
|
+
most common, because it survives every other check: each piece is defensible alone, and only the
|
|
784
|
+
question "what does this tell me that the screen does not already say" catches decoration wearing
|
|
785
|
+
an information costume.
|
|
786
|
+
|
|
773
787
|
## Testing an overlay component — assert through the logic, prove in a browser
|
|
774
788
|
|
|
775
789
|
**A `Popover`-backed surface does not mount under jsdom.** It positions in a `useLayoutEffect` +
|