File size: 2,025 Bytes
f546440
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/* settings/perms.css — wave 33 (owner item 11, W33-T34/T38).
 *
 * ⛔ CONTRACT C4: `index.css` is lane B's. Everything the permission editor's
 * per-database DISCLOSURE needs is new, so it lives here and is imported by
 * `PermsEditor.tsx` — the established practice (`query.css`, `navExtras.css`,
 * `SwipeView.css`). Nothing in this file redefines an `index.css` rule; it only
 * styles classes that did not exist before this wave.
 *
 * WHY A DISCLOSURE AT ALL. Owner, 2026-08-14: *"the database should not show all
 * immediately the detail (for filter or hide fields), the user should have the
 * ability to see ALL databases"*. Those two clauses pull against each other —
 * more databases, less detail per database — and an accordion is what satisfies
 * both. Before wave 33 the list was a fixed TWO and every panel rendered inline;
 * it is now every database the tenant has.
 */

/* The trailing controls of a module head, grouped as ONE flex child so the
   `space-between` rule in `index.css` still sees exactly two children. */
.set-perm-headend {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: none;
}

/* Smaller than a primary action and quieter than `Copy to…`: this button reveals
   detail, it does not commit anything. It borrows `.set-secondary`'s border,
   surface and focus ring rather than restating them — a second definition of the
   button chrome is a second place for the focus ring to go missing. */
.set-perm-disclose {
  font-size: var(--lp-fs-2xs);
  padding: 3px 9px;
  white-space: nowrap;
}

/* The open state reads as pressed, so a scrolled-away head still says which
   database owns the panels below it. */
.set-perm-disclose[aria-expanded="true"] {
  border-color: var(--lp-blue-deep);
  color: var(--lp-blue-deep);
}

@media (max-width: 640px) {
  /* The head wraps before the label truncates: a database name is the one thing
     in this row that cannot be guessed from context. */
  .set-perm-headend { flex-wrap: wrap; justify-content: flex-end; }
}