@axiapps/axi-design 1.37.0 → 1.37.1

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.
Files changed (3) hide show
  1. package/dist/axi.css +25 -17
  2. package/package.json +1 -1
  3. package/src/data.css +24 -16
package/dist/axi.css CHANGED
@@ -2442,27 +2442,35 @@ textarea.axi-input {
2442
2442
  the row is the whole fact, and a class beside it would be a second source of
2443
2443
  truth for one thing.
2444
2444
 
2445
- The fill is the float step, not the raised one, and the reason is the hover
2446
- directly above: hovering a row ALREADY raises it, so a selection drawn at the
2447
- raised step is indistinguishable from the row under the cursor -- and every
2448
- consumer who has hand-written this state has hit that and reached for a hue
2449
- instead, which is rule 2's tinted-everything failure arrived at honestly.
2450
- Hover is a transient lift and selection is a held one, so selection sits one
2451
- step beyond it and hovering a selected row must not pull it back down.
2452
-
2453
- No accent, and no leading edge either. The accent is for one claim per screen
2454
- and a selected row spends it on something a detail pane usually spends again;
2455
- an edge would need a border reserved on every cell of every row, which is the
2456
- grid-of-boxes rule 8 refuses. The attachment is the one-surface-many-elements
2457
- case, same as the hover. */
2445
+ The MARK is the leading edge, not the fill, and that is the whole design. The
2446
+ hover directly above already raises a row, so any selection drawn as a fill
2447
+ has to find a neutral step that hover is not using -- and there isn't one. The
2448
+ ramp a theme is guaranteed to give is ground, surface, surface-raised; the
2449
+ fourth token, --axi-surface-float, is not a step on it at all but a promise of
2450
+ OPACITY for things that sit over content, which is why the default theme sets
2451
+ it equal to --axi-surface and glass sets it darker than --axi-surface-raised.
2452
+ A selection filled from it is invisible in one theme and a step backwards in
2453
+ the other. This is the trap the token's name invites and the reason this
2454
+ comment says so: float is an axis, not a rung.
2455
+
2456
+ So selection and hover share the raised fill and are told apart by the edge,
2457
+ the same answer and the same reasoning as `.axi-rail__nav--quiet`. The first
2458
+ cell of every body row reserves a transparent control-weight border for it, so
2459
+ lighting the edge costs no reflow -- again exactly what `.axi-rail__item`
2460
+ does. One edge is a mark; rule 8's refusal is of a BOX around a row, which is
2461
+ what turns a list of numbers into a grid.
2462
+
2463
+ The attachment is the one-surface-many-elements case, same as the hover. */
2464
+ .axi-table :where(tbody tr) > :where(td, th):first-child {
2465
+ border-inline-start: var(--axi-border-control) solid transparent;
2466
+ }
2458
2467
  .axi-table tbody tr[aria-current] :is(td, th) {
2459
- background: var(--axi-surface-float);
2468
+ background: var(--axi-surface-raised);
2460
2469
  background-attachment: fixed;
2461
2470
  color: var(--axi-text);
2462
2471
  }
2463
- .axi-table tbody tr[aria-current]:hover :is(td, th) {
2464
- background: var(--axi-surface-float);
2465
- background-attachment: fixed;
2472
+ .axi-table tbody tr[aria-current] > :is(td, th):first-child {
2473
+ border-inline-start-color: var(--axi-accent);
2466
2474
  }
2467
2475
  .axi-table__num { color: var(--axi-text); }
2468
2476
  /* A name cell: an icon, a diamond or a rank beside the label. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axiapps/axi-design",
3
- "version": "1.37.0",
3
+ "version": "1.37.1",
4
4
  "description": "The design language for the axi suite — flat and outlined, dark, drawn in saturated ink.",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/src/data.css CHANGED
@@ -140,27 +140,35 @@
140
140
  the row is the whole fact, and a class beside it would be a second source of
141
141
  truth for one thing.
142
142
 
143
- The fill is the float step, not the raised one, and the reason is the hover
144
- directly above: hovering a row ALREADY raises it, so a selection drawn at the
145
- raised step is indistinguishable from the row under the cursor -- and every
146
- consumer who has hand-written this state has hit that and reached for a hue
147
- instead, which is rule 2's tinted-everything failure arrived at honestly.
148
- Hover is a transient lift and selection is a held one, so selection sits one
149
- step beyond it and hovering a selected row must not pull it back down.
143
+ The MARK is the leading edge, not the fill, and that is the whole design. The
144
+ hover directly above already raises a row, so any selection drawn as a fill
145
+ has to find a neutral step that hover is not using -- and there isn't one. The
146
+ ramp a theme is guaranteed to give is ground, surface, surface-raised; the
147
+ fourth token, --axi-surface-float, is not a step on it at all but a promise of
148
+ OPACITY for things that sit over content, which is why the default theme sets
149
+ it equal to --axi-surface and glass sets it darker than --axi-surface-raised.
150
+ A selection filled from it is invisible in one theme and a step backwards in
151
+ the other. This is the trap the token's name invites and the reason this
152
+ comment says so: float is an axis, not a rung.
150
153
 
151
- No accent, and no leading edge either. The accent is for one claim per screen
152
- and a selected row spends it on something a detail pane usually spends again;
153
- an edge would need a border reserved on every cell of every row, which is the
154
- grid-of-boxes rule 8 refuses. The attachment is the one-surface-many-elements
155
- case, same as the hover. */
154
+ So selection and hover share the raised fill and are told apart by the edge,
155
+ the same answer and the same reasoning as `.axi-rail__nav--quiet`. The first
156
+ cell of every body row reserves a transparent control-weight border for it, so
157
+ lighting the edge costs no reflow -- again exactly what `.axi-rail__item`
158
+ does. One edge is a mark; rule 8's refusal is of a BOX around a row, which is
159
+ what turns a list of numbers into a grid.
160
+
161
+ The attachment is the one-surface-many-elements case, same as the hover. */
162
+ .axi-table :where(tbody tr) > :where(td, th):first-child {
163
+ border-inline-start: var(--axi-border-control) solid transparent;
164
+ }
156
165
  .axi-table tbody tr[aria-current] :is(td, th) {
157
- background: var(--axi-surface-float);
166
+ background: var(--axi-surface-raised);
158
167
  background-attachment: fixed;
159
168
  color: var(--axi-text);
160
169
  }
161
- .axi-table tbody tr[aria-current]:hover :is(td, th) {
162
- background: var(--axi-surface-float);
163
- background-attachment: fixed;
170
+ .axi-table tbody tr[aria-current] > :is(td, th):first-child {
171
+ border-inline-start-color: var(--axi-accent);
164
172
  }
165
173
  .axi-table__num { color: var(--axi-text); }
166
174
  /* A name cell: an icon, a diamond or a rank beside the label. */