@jsenv/navi 0.29.410 → 0.29.411

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.
@@ -69815,6 +69815,11 @@ const css$x = /* css */`@layer navi {
69815
69815
  display: flex;
69816
69816
  overflow: hidden;
69817
69817
 
69818
+ &[data-borderless] {
69819
+ --x-list-border-radius: 0px;
69820
+ overflow: visible;
69821
+ }
69822
+
69818
69823
  &[data-overflow-visible="both"] {
69819
69824
  overflow: visible;
69820
69825
  }
@@ -70499,6 +70504,7 @@ const ListUI = props => {
70499
70504
  "data-item-transition": itemTransition ? "" : undefined,
70500
70505
  popover: popover,
70501
70506
  "data-horizontal": horizontal ? "" : undefined,
70507
+ "data-borderless": isBorderless(rest) ? "" : undefined,
70502
70508
  "data-scroller": getScrollerAttribute(scroller),
70503
70509
  "data-overflow-visible": getOverflowVisibleAttribute(overflow, overflowX, overflowY),
70504
70510
  "navi-hover-while-scrolling": hoverWhileScrolling ? "" : undefined,
@@ -71869,6 +71875,25 @@ const getScrollerAttribute = scroller => {
71869
71875
  return "parent";
71870
71876
  };
71871
71877
 
71878
+ // A radius asked for explicitly is kept: a borderless list painting a
71879
+ // background of its own may want that surface rounded, and clipped to it.
71880
+ const isBorderless = ({
71881
+ border,
71882
+ borderWidth,
71883
+ borderRadius
71884
+ }) => {
71885
+ if (borderRadius !== undefined) {
71886
+ return false;
71887
+ }
71888
+ if (borderWidth !== undefined) {
71889
+ return parseFloat(borderWidth) === 0;
71890
+ }
71891
+ if (border === undefined) {
71892
+ return false;
71893
+ }
71894
+ return border === "none" || parseFloat(border) === 0;
71895
+ };
71896
+
71872
71897
  // overflow lands as an inline style on the inner scroll element, which is
71873
71898
  // enough for every value but "visible": that one only means anything once the
71874
71899
  // frame around it stops clipping too. Reading the per-axis props over the