@axiapps/axi-design 1.45.0 → 1.46.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/README.md CHANGED
@@ -147,6 +147,7 @@ not "what does the system look like". Everything else is
147
147
  | `--axi-action-hit` | the hit target of an `.axi-action--glyph`, whose label is one character and gives the pointer nothing to land on | `24px` | `<button class="axi-action axi-action--glyph" style="--axi-action-hit: 32px">` |
148
148
  | `--axi-well-pad` | the padding inside an `.axi-well` | `10px` | `<div class="axi-well" style="--axi-well-pad: 18px">` |
149
149
  | `--axi-well-radius` | an `.axi-well`'s corner radius, for a well used at reading scale rather than page scale | `var(--axi-radius)` | `<div class="axi-well" style="--axi-well-radius: var(--axi-radius-sm)">` |
150
+ | `--axi-empty-pad` | the padding inside an `.axi-empty`, for an empty state standing in a tighter space than a table would | `24px 16px` | `<div class="axi-empty" style="--axi-empty-pad: 12px">` |
150
151
  | `--axi-rail-w` | an `.axi-rail`'s width, for labels longer than the default holds | `208px` | `<aside class="axi-rail" style="--axi-rail-w: 260px">` |
151
152
  | `--axi-rail-pad` | the padding inside an `.axi-rail` | `10px` | `<aside class="axi-rail" style="--axi-rail-pad: 6px">` |
152
153
  | `--axi-toolbar-pad` | the padding inside an `.axi-toolbar` | `14px` | `<div class="axi-toolbar" style="--axi-toolbar-pad: 4px 7px">` |
package/dist/axi.css CHANGED
@@ -590,6 +590,30 @@ button.axi-panel--tile:hover,
590
590
  the pad knob is still the right way to say anything else. */
591
591
  .axi-well--sm { --axi-well-radius: var(--axi-radius-sm); }
592
592
 
593
+ /* ---------- the empty state ---------- */
594
+ /* A well with nothing in it but the sentence saying so.
595
+
596
+ Every view that can have no data has to say so somewhere, and the first
597
+ consumer counted said it eighty times - a dashed-border box, centred, small,
598
+ dim - in eighty copies of the same eleven utilities, none of them a word the
599
+ language had. Dashed, because the box was "provisional"; the language says
600
+ provisional with the outlined/filled distinction (rule 5), so the edge is
601
+ the well's own rule. It is a well because an absence is a recess: the place
602
+ a table would stand, sunk into the surface, with nothing standing in it.
603
+
604
+ Only the sentence's type and placement are added to the well, and the
605
+ generous pad is the point - an empty state that is as tall as a single row
606
+ reads as a row that failed to render. */
607
+ .axi-empty {
608
+ background: var(--axi-well-fill);
609
+ border: var(--axi-border-control) solid var(--axi-well-line);
610
+ border-radius: var(--axi-radius-sm);
611
+ padding: var(--axi-empty-pad, 24px 16px);
612
+ text-align: center;
613
+ font: var(--axi-t-small);
614
+ color: var(--axi-text-dim);
615
+ }
616
+
593
617
  /* ---------- button ---------- */
594
618
  .axi-btn {
595
619
  display: inline-flex; align-items: center; gap: 8px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axiapps/axi-design",
3
- "version": "1.45.0",
3
+ "version": "1.46.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",
@@ -186,6 +186,30 @@ button.axi-panel--tile:hover,
186
186
  the pad knob is still the right way to say anything else. */
187
187
  .axi-well--sm { --axi-well-radius: var(--axi-radius-sm); }
188
188
 
189
+ /* ---------- the empty state ---------- */
190
+ /* A well with nothing in it but the sentence saying so.
191
+
192
+ Every view that can have no data has to say so somewhere, and the first
193
+ consumer counted said it eighty times - a dashed-border box, centred, small,
194
+ dim - in eighty copies of the same eleven utilities, none of them a word the
195
+ language had. Dashed, because the box was "provisional"; the language says
196
+ provisional with the outlined/filled distinction (rule 5), so the edge is
197
+ the well's own rule. It is a well because an absence is a recess: the place
198
+ a table would stand, sunk into the surface, with nothing standing in it.
199
+
200
+ Only the sentence's type and placement are added to the well, and the
201
+ generous pad is the point - an empty state that is as tall as a single row
202
+ reads as a row that failed to render. */
203
+ .axi-empty {
204
+ background: var(--axi-well-fill);
205
+ border: var(--axi-border-control) solid var(--axi-well-line);
206
+ border-radius: var(--axi-radius-sm);
207
+ padding: var(--axi-empty-pad, 24px 16px);
208
+ text-align: center;
209
+ font: var(--axi-t-small);
210
+ color: var(--axi-text-dim);
211
+ }
212
+
189
213
  /* ---------- button ---------- */
190
214
  .axi-btn {
191
215
  display: inline-flex; align-items: center; gap: 8px;