@axiapps/axi-design 1.23.1 → 1.24.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/dist/axi.css CHANGED
@@ -31,9 +31,15 @@
31
31
  wedge of colour. The ground stays a colour. This is the page's light. */
32
32
  --axi-ground-image: none;
33
33
  --axi-surface: #222731; /* a panel raised off the page */
34
- --axi-surface-raised: #2b313d; /* a chip or popover raised off a panel */
35
- /* The fill for a surface that FLOATS over content which scrolls behind it: a
36
- command palette, a menu popover, a modal. Holds --axi-surface, because for
34
+ /* A chip, a hover, a table head - something raised off a panel that is part
35
+ of the page rather than over it. It said "a chip or popover" until the
36
+ popovers moved to the float: what they were borrowing was opacity, which
37
+ this token cannot promise under a translucent theme. */
38
+ --axi-surface-raised: #2b313d;
39
+ /* The fill for a surface that FLOATS over content which scrolls behind it:
40
+ the command palette, the menu and picker popovers, the modal, the drawer,
41
+ the toast, and any .axi-panel--float or .axi-rail--float a consumer
42
+ declares. Holds --axi-surface, because for
37
43
  a theme whose panels are opaque a floating panel is just a panel and there
38
44
  is nothing to decide.
39
45
 
@@ -724,7 +730,9 @@ button.axi-panel--tile:hover,
724
730
  min-width: 100%;
725
731
  max-height: 340px; overflow-y: auto;
726
732
  padding: 6px;
727
- background: var(--axi-surface-raised);
733
+ /* Float, for the reason .axi-menu__pop is - this is the same object with a
734
+ selected row. */
735
+ background: var(--axi-surface-float);
728
736
  backdrop-filter: var(--axi-surface-filter);
729
737
  border: var(--axi-border-panel) solid var(--axi-ink-line);
730
738
  border-radius: var(--axi-radius);
@@ -1255,7 +1263,13 @@ textarea.axi-input {
1255
1263
  position: absolute; top: calc(100% + 9px); left: 0; z-index: 41;
1256
1264
  width: var(--axi-menu-width, 310px);
1257
1265
  max-height: 340px; overflow-y: auto; padding: 8px;
1258
- background: var(--axi-surface-raised);
1266
+ /* The other component --axi-surface-float names. It read --axi-surface-raised
1267
+ because that token's comment says "a chip or popover" and, before the float
1268
+ existed, raised was the only word for "higher than the panel". Height is
1269
+ carried by the border and the block, though - the modal is the highest
1270
+ surface on screen and sits on the plain fill - so what raised was actually
1271
+ lending here was opacity it cannot promise under a translucent theme. */
1272
+ background: var(--axi-surface-float);
1259
1273
  backdrop-filter: var(--axi-surface-filter);
1260
1274
  border: var(--axi-border-panel) solid var(--axi-ink-line);
1261
1275
  border-radius: var(--axi-radius);
@@ -1519,7 +1533,9 @@ textarea.axi-input {
1519
1533
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 51;
1520
1534
  width: min(var(--axi-drawer-width, 560px), 100vw);
1521
1535
  display: flex; flex-direction: column;
1522
- background: var(--axi-surface);
1536
+ /* A drawer is pinned to three edges with the page live beside it, and its
1537
+ own body scrolls. Float on both counts. */
1538
+ background: var(--axi-surface-float);
1523
1539
  backdrop-filter: var(--axi-surface-filter);
1524
1540
  border-left: var(--axi-border-panel) solid var(--axi-ink-line);
1525
1541
  }
@@ -1708,7 +1724,12 @@ textarea.axi-input {
1708
1724
  .axi-modal {
1709
1725
  padding: 0;
1710
1726
  max-width: min(var(--axi-modal-width, 560px), calc(100vw - 32px));
1711
- background: var(--axi-surface);
1727
+ /* The float surface, not the plain one. --axi-surface-float's own note names
1728
+ this component as one of its three consumers and it was only ever wired
1729
+ into the palette; a modal is the strongest case the token has, because the
1730
+ whole app is behind it and a scrim does not make a .42-alpha pane legible
1731
+ on a platform where the blur is switched off. */
1732
+ background: var(--axi-surface-float);
1712
1733
  backdrop-filter: var(--axi-surface-filter);
1713
1734
  color: var(--axi-text);
1714
1735
  border: var(--axi-border-panel) solid var(--axi-ink-line);
@@ -1804,7 +1825,11 @@ textarea.axi-input {
1804
1825
  pointer-events: auto;
1805
1826
  display: flex; align-items: center; gap: 12px;
1806
1827
  padding: 12px 15px;
1807
- background: var(--axi-surface-raised);
1828
+ /* Float at the control weight. A toast is the one floating thing the reader
1829
+ did not open and cannot hold still: whatever is under it is mid-scroll by
1830
+ definition, which is the float's case exactly, while the border and the
1831
+ block stay at the control step for the reason above. */
1832
+ background: var(--axi-surface-float);
1808
1833
  backdrop-filter: var(--axi-surface-filter);
1809
1834
  border: var(--axi-border-control) solid var(--axi-ink-line);
1810
1835
  border-radius: var(--axi-radius-sm);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axiapps/axi-design",
3
- "version": "1.23.1",
3
+ "version": "1.24.0",
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",
@@ -458,7 +458,9 @@ button.axi-panel--tile:hover,
458
458
  min-width: 100%;
459
459
  max-height: 340px; overflow-y: auto;
460
460
  padding: 6px;
461
- background: var(--axi-surface-raised);
461
+ /* Float, for the reason .axi-menu__pop is - this is the same object with a
462
+ selected row. */
463
+ background: var(--axi-surface-float);
462
464
  backdrop-filter: var(--axi-surface-filter);
463
465
  border: var(--axi-border-panel) solid var(--axi-ink-line);
464
466
  border-radius: var(--axi-radius);
package/src/shells.css CHANGED
@@ -293,7 +293,13 @@
293
293
  position: absolute; top: calc(100% + 9px); left: 0; z-index: 41;
294
294
  width: var(--axi-menu-width, 310px);
295
295
  max-height: 340px; overflow-y: auto; padding: 8px;
296
- background: var(--axi-surface-raised);
296
+ /* The other component --axi-surface-float names. It read --axi-surface-raised
297
+ because that token's comment says "a chip or popover" and, before the float
298
+ existed, raised was the only word for "higher than the panel". Height is
299
+ carried by the border and the block, though - the modal is the highest
300
+ surface on screen and sits on the plain fill - so what raised was actually
301
+ lending here was opacity it cannot promise under a translucent theme. */
302
+ background: var(--axi-surface-float);
297
303
  backdrop-filter: var(--axi-surface-filter);
298
304
  border: var(--axi-border-panel) solid var(--axi-ink-line);
299
305
  border-radius: var(--axi-radius);
@@ -557,7 +563,9 @@
557
563
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 51;
558
564
  width: min(var(--axi-drawer-width, 560px), 100vw);
559
565
  display: flex; flex-direction: column;
560
- background: var(--axi-surface);
566
+ /* A drawer is pinned to three edges with the page live beside it, and its
567
+ own body scrolls. Float on both counts. */
568
+ background: var(--axi-surface-float);
561
569
  backdrop-filter: var(--axi-surface-filter);
562
570
  border-left: var(--axi-border-panel) solid var(--axi-ink-line);
563
571
  }
@@ -746,7 +754,12 @@
746
754
  .axi-modal {
747
755
  padding: 0;
748
756
  max-width: min(var(--axi-modal-width, 560px), calc(100vw - 32px));
749
- background: var(--axi-surface);
757
+ /* The float surface, not the plain one. --axi-surface-float's own note names
758
+ this component as one of its three consumers and it was only ever wired
759
+ into the palette; a modal is the strongest case the token has, because the
760
+ whole app is behind it and a scrim does not make a .42-alpha pane legible
761
+ on a platform where the blur is switched off. */
762
+ background: var(--axi-surface-float);
750
763
  backdrop-filter: var(--axi-surface-filter);
751
764
  color: var(--axi-text);
752
765
  border: var(--axi-border-panel) solid var(--axi-ink-line);
@@ -842,7 +855,11 @@
842
855
  pointer-events: auto;
843
856
  display: flex; align-items: center; gap: 12px;
844
857
  padding: 12px 15px;
845
- background: var(--axi-surface-raised);
858
+ /* Float at the control weight. A toast is the one floating thing the reader
859
+ did not open and cannot hold still: whatever is under it is mid-scroll by
860
+ definition, which is the float's case exactly, while the border and the
861
+ block stay at the control step for the reason above. */
862
+ background: var(--axi-surface-float);
846
863
  backdrop-filter: var(--axi-surface-filter);
847
864
  border: var(--axi-border-control) solid var(--axi-ink-line);
848
865
  border-radius: var(--axi-radius-sm);
package/src/tokens.css CHANGED
@@ -27,9 +27,15 @@
27
27
  wedge of colour. The ground stays a colour. This is the page's light. */
28
28
  --axi-ground-image: none;
29
29
  --axi-surface: #222731; /* a panel raised off the page */
30
- --axi-surface-raised: #2b313d; /* a chip or popover raised off a panel */
31
- /* The fill for a surface that FLOATS over content which scrolls behind it: a
32
- command palette, a menu popover, a modal. Holds --axi-surface, because for
30
+ /* A chip, a hover, a table head - something raised off a panel that is part
31
+ of the page rather than over it. It said "a chip or popover" until the
32
+ popovers moved to the float: what they were borrowing was opacity, which
33
+ this token cannot promise under a translucent theme. */
34
+ --axi-surface-raised: #2b313d;
35
+ /* The fill for a surface that FLOATS over content which scrolls behind it:
36
+ the command palette, the menu and picker popovers, the modal, the drawer,
37
+ the toast, and any .axi-panel--float or .axi-rail--float a consumer
38
+ declares. Holds --axi-surface, because for
33
39
  a theme whose panels are opaque a floating panel is just a panel and there
34
40
  is nothing to decide.
35
41