@jsenv/navi 0.29.410 → 0.29.412
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/dev/jsenv_navi.js +32 -0
- package/dist/dev/jsenv_navi.js.map +3 -3
- package/dist/jsenv_navi.js +32 -0
- package/dist/jsenv_navi.js.map +3 -3
- package/docs/AI_INSTRUCTIONS.md +2 -1
- package/docs/scroll.md +43 -0
- package/package.json +1 -1
package/dist/dev/jsenv_navi.js
CHANGED
|
@@ -41470,6 +41470,13 @@ const useUIGroupStateController = (
|
|
|
41470
41470
|
placeOneChild(childUIStateController, childNewState, e);
|
|
41471
41471
|
},
|
|
41472
41472
|
setUIState: (newUIState, e) => {
|
|
41473
|
+
// `undefined` is how a parent empties a child (see the object
|
|
41474
|
+
// group's distributeChildUIState): what a leaf holds when it holds
|
|
41475
|
+
// nothing, and for a group of the default shape, the empty of its
|
|
41476
|
+
// type — not a value of the wrong shape to refuse.
|
|
41477
|
+
if (newUIState === undefined && stateShapeIsTheDefaultOne) {
|
|
41478
|
+
newUIState = fallbackState;
|
|
41479
|
+
}
|
|
41473
41480
|
if (
|
|
41474
41481
|
stateType === "object" &&
|
|
41475
41482
|
stateShapeIsTheDefaultOne &&
|
|
@@ -71188,6 +71195,11 @@ const css$x = /* css */`@layer navi {
|
|
|
71188
71195
|
display: flex;
|
|
71189
71196
|
overflow: hidden;
|
|
71190
71197
|
|
|
71198
|
+
&[data-borderless] {
|
|
71199
|
+
--x-list-border-radius: 0px;
|
|
71200
|
+
overflow: visible;
|
|
71201
|
+
}
|
|
71202
|
+
|
|
71191
71203
|
&[data-overflow-visible="both"] {
|
|
71192
71204
|
overflow: visible;
|
|
71193
71205
|
}
|
|
@@ -71872,6 +71884,7 @@ const ListUI = props => {
|
|
|
71872
71884
|
"data-item-transition": itemTransition ? "" : undefined,
|
|
71873
71885
|
popover: popover,
|
|
71874
71886
|
"data-horizontal": horizontal ? "" : undefined,
|
|
71887
|
+
"data-borderless": isBorderless(rest) ? "" : undefined,
|
|
71875
71888
|
"data-scroller": getScrollerAttribute(scroller),
|
|
71876
71889
|
"data-overflow-visible": getOverflowVisibleAttribute(overflow, overflowX, overflowY),
|
|
71877
71890
|
"navi-hover-while-scrolling": hoverWhileScrolling ? "" : undefined,
|
|
@@ -73341,6 +73354,25 @@ const getScrollerAttribute = scroller => {
|
|
|
73341
73354
|
return "parent";
|
|
73342
73355
|
};
|
|
73343
73356
|
|
|
73357
|
+
// A radius asked for explicitly is kept: a borderless list painting a
|
|
73358
|
+
// background of its own may want that surface rounded, and clipped to it.
|
|
73359
|
+
const isBorderless = ({
|
|
73360
|
+
border,
|
|
73361
|
+
borderWidth,
|
|
73362
|
+
borderRadius
|
|
73363
|
+
}) => {
|
|
73364
|
+
if (borderRadius !== undefined) {
|
|
73365
|
+
return false;
|
|
73366
|
+
}
|
|
73367
|
+
if (borderWidth !== undefined) {
|
|
73368
|
+
return parseFloat(borderWidth) === 0;
|
|
73369
|
+
}
|
|
73370
|
+
if (border === undefined) {
|
|
73371
|
+
return false;
|
|
73372
|
+
}
|
|
73373
|
+
return border === "none" || parseFloat(border) === 0;
|
|
73374
|
+
};
|
|
73375
|
+
|
|
73344
73376
|
// overflow lands as an inline style on the inner scroll element, which is
|
|
73345
73377
|
// enough for every value but "visible": that one only means anything once the
|
|
73346
73378
|
// frame around it stops clipping too. Reading the per-axis props over the
|