@axiapps/axi-design 1.27.1 → 1.28.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
@@ -1540,6 +1540,31 @@ textarea.axi-input {
1540
1540
  left/top or inset the placement needs); this only changes which box those
1541
1541
  offsets are measured from. */
1542
1542
  .axi-tooltip--anchored { position: absolute; }
1543
+ /* The third placement, and the one the base class cannot express: the box is
1544
+ laid out by whoever owns its wrapper, and this element positions itself not
1545
+ at all. Charting libraries are the case that forces it - recharts renders
1546
+ custom tooltip content inside a wrapper it has already placed and
1547
+ transformed - but the shape is general: any library that hands you a slot
1548
+ and puts the slot where it wants it.
1549
+
1550
+ Worth saying why the base class LOOKS like it already works here, because
1551
+ it does, and for a reason that will not hold. A `position: fixed` box with
1552
+ every inset auto resolves to its static position, so dropped into such a
1553
+ wrapper it lands exactly where the wrapper is - zero drift, measurably. It
1554
+ then scrolls with the chart only because the wrapper carries a transform,
1555
+ which is the very containment the base class's <body> contract exists to
1556
+ escape. Two facts hold it up, both of them someone else's: that the library
1557
+ keeps transforming the wrapper, and that it keeps emitting positioning at
1558
+ all. recharts drops both when its `portal` prop is set, and the failure is
1559
+ silent - a tooltip pinned to the viewport while the chart scrolls away.
1560
+
1561
+ So this says the true thing instead of inheriting the accident. `static`
1562
+ rather than `relative` because the consumer has no offsets to apply - that
1563
+ is the whole point of the modifier - and `z-index: auto` because a layer is
1564
+ meaningless on a static box and layer 70 would only be a claim it cannot
1565
+ honour. */
1566
+ .axi-tooltip--flow { position: static; z-index: auto; }
1567
+
1543
1568
  /* A tooltip carrying a sentence rather than a value. nowrap is right for a
1544
1569
  reading - a number that breaks across two lines is harder to read than one
1545
1570
  that runs past its trigger - and wrong for prose, which needs a width from
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axiapps/axi-design",
3
- "version": "1.27.1",
3
+ "version": "1.28.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",
package/src/shells.css CHANGED
@@ -568,6 +568,31 @@
568
568
  left/top or inset the placement needs); this only changes which box those
569
569
  offsets are measured from. */
570
570
  .axi-tooltip--anchored { position: absolute; }
571
+ /* The third placement, and the one the base class cannot express: the box is
572
+ laid out by whoever owns its wrapper, and this element positions itself not
573
+ at all. Charting libraries are the case that forces it - recharts renders
574
+ custom tooltip content inside a wrapper it has already placed and
575
+ transformed - but the shape is general: any library that hands you a slot
576
+ and puts the slot where it wants it.
577
+
578
+ Worth saying why the base class LOOKS like it already works here, because
579
+ it does, and for a reason that will not hold. A `position: fixed` box with
580
+ every inset auto resolves to its static position, so dropped into such a
581
+ wrapper it lands exactly where the wrapper is - zero drift, measurably. It
582
+ then scrolls with the chart only because the wrapper carries a transform,
583
+ which is the very containment the base class's <body> contract exists to
584
+ escape. Two facts hold it up, both of them someone else's: that the library
585
+ keeps transforming the wrapper, and that it keeps emitting positioning at
586
+ all. recharts drops both when its `portal` prop is set, and the failure is
587
+ silent - a tooltip pinned to the viewport while the chart scrolls away.
588
+
589
+ So this says the true thing instead of inheriting the accident. `static`
590
+ rather than `relative` because the consumer has no offsets to apply - that
591
+ is the whole point of the modifier - and `z-index: auto` because a layer is
592
+ meaningless on a static box and layer 70 would only be a claim it cannot
593
+ honour. */
594
+ .axi-tooltip--flow { position: static; z-index: auto; }
595
+
571
596
  /* A tooltip carrying a sentence rather than a value. nowrap is right for a
572
597
  reading - a number that breaks across two lines is harder to read than one
573
598
  that runs past its trigger - and wrong for prose, which needs a width from