@jsenv/navi 0.29.351 → 0.29.353
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 +44 -13
- package/dist/dev/jsenv_navi.js.map +4 -4
- package/dist/jsenv_navi.js +44 -13
- package/dist/jsenv_navi.js.map +4 -4
- package/package.json +1 -1
package/dist/dev/jsenv_navi.js
CHANGED
|
@@ -19680,7 +19680,22 @@ const TYPO_PROPS = {
|
|
|
19680
19680
|
}
|
|
19681
19681
|
return lineClampStyles(value);
|
|
19682
19682
|
},
|
|
19683
|
-
|
|
19683
|
+
/* A sized inline Box (a Text with a width) is a flex row the caller did not
|
|
19684
|
+
ask for, where the text runs are one anonymous item sized to their content:
|
|
19685
|
+
text-align alone moves nothing, the item is placed by justify-content. A
|
|
19686
|
+
flex row asked for keeps the two apart (Picker: textAlign is the text in
|
|
19687
|
+
the value slot, justify-content the slots). alignX, when given, wins. */
|
|
19688
|
+
textAlign: (value, { flexFromSize, remainingProps }) => {
|
|
19689
|
+
if (
|
|
19690
|
+
flexFromSize &&
|
|
19691
|
+
value !== "justify" &&
|
|
19692
|
+
remainingProps.alignX === undefined &&
|
|
19693
|
+
remainingProps.align === undefined
|
|
19694
|
+
) {
|
|
19695
|
+
return { textAlign: value, justifyContent: value };
|
|
19696
|
+
}
|
|
19697
|
+
return { textAlign: value };
|
|
19698
|
+
},
|
|
19684
19699
|
textBox: PASS_THROUGH,
|
|
19685
19700
|
textBoxTrim: PASS_THROUGH,
|
|
19686
19701
|
textBoxEdge: PASS_THROUGH,
|
|
@@ -22294,8 +22309,12 @@ const computeBox = (props, parentBoxFlow) => {
|
|
|
22294
22309
|
block = true;
|
|
22295
22310
|
}
|
|
22296
22311
|
}
|
|
22312
|
+
// An inline box ignores width/height, so a sized one becomes a flex row the
|
|
22313
|
+
// caller never asked for; textAlign reads that (see box_style_util.js).
|
|
22314
|
+
let flexFromSize = false;
|
|
22297
22315
|
if (inline && (rest.width !== undefined || rest.height !== undefined) && flex === undefined) {
|
|
22298
22316
|
flex = "x";
|
|
22317
|
+
flexFromSize = true;
|
|
22299
22318
|
}
|
|
22300
22319
|
let boxFlow;
|
|
22301
22320
|
if (inline) {
|
|
@@ -22389,6 +22408,7 @@ const computeBox = (props, parentBoxFlow) => {
|
|
|
22389
22408
|
const styleContext = {
|
|
22390
22409
|
parentBoxFlow,
|
|
22391
22410
|
boxFlow,
|
|
22411
|
+
flexFromSize,
|
|
22392
22412
|
styleCSSVars,
|
|
22393
22413
|
pseudoState: innerPseudoState,
|
|
22394
22414
|
pseudoClasses,
|
|
@@ -67812,6 +67832,7 @@ const css$x = /* css */`@layer navi {
|
|
|
67812
67832
|
|
|
67813
67833
|
&[data-scroller="document"] {
|
|
67814
67834
|
--x-list-group-label-top: var(--navi-safe-area-inset-top);
|
|
67835
|
+
--x-list-group-label-left: var(--navi-safe-area-inset-left);
|
|
67815
67836
|
}
|
|
67816
67837
|
|
|
67817
67838
|
&[data-expand-x] {
|
|
@@ -68077,7 +68098,6 @@ const css$x = /* css */`@layer navi {
|
|
|
68077
68098
|
|
|
68078
68099
|
& .navi_list_item {
|
|
68079
68100
|
scroll-margin-top: calc(var(--x-list-scroll-spacing-top) + var(--list-group-label-height, 0px));
|
|
68080
|
-
scroll-margin-left: calc(var(--x-list-scroll-spacing-left) + var(--list-group-label-width, 0px));
|
|
68081
68101
|
}
|
|
68082
68102
|
}
|
|
68083
68103
|
|
|
@@ -68086,6 +68106,21 @@ const css$x = /* css */`@layer navi {
|
|
|
68086
68106
|
}
|
|
68087
68107
|
}
|
|
68088
68108
|
|
|
68109
|
+
.navi_list_container[data-horizontal] > .navi_list_scroll_container > .navi_list > .navi_list_item_group {
|
|
68110
|
+
min-width: auto;
|
|
68111
|
+
max-width: none;
|
|
68112
|
+
|
|
68113
|
+
& > .navi_list_item_group_label {
|
|
68114
|
+
top: auto;
|
|
68115
|
+
left: var(--list-group-label-left, var(--x-list-group-label-left, 0px));
|
|
68116
|
+
}
|
|
68117
|
+
|
|
68118
|
+
& > .navi_list_item_group_list {
|
|
68119
|
+
flex-direction: row;
|
|
68120
|
+
width: auto;
|
|
68121
|
+
}
|
|
68122
|
+
}
|
|
68123
|
+
|
|
68089
68124
|
@supports (view-transition-group: contain) {
|
|
68090
68125
|
:root:not([data-navi-route-transition], [data-navi-route-travel]) .navi_list_container[data-item-transition] {
|
|
68091
68126
|
view-transition-name: match-element;
|
|
@@ -69705,18 +69740,13 @@ const useDuplicateHeaderWarning = ref => {
|
|
|
69705
69740
|
// fraction short of it, and without this slack it reads as being at rest: a
|
|
69706
69741
|
// bug that shows up on one machine and not the next.
|
|
69707
69742
|
const STUCK_SLACK = 1;
|
|
69708
|
-
// Which edge a part sticks to
|
|
69709
|
-
//
|
|
69710
|
-
// bottom/right) so the same markup works either way; a group label always caps
|
|
69711
|
-
// its group from the top.
|
|
69743
|
+
// Which edge a part sticks to: the edge the list scrolls FROM for the header
|
|
69744
|
+
// and a group label, the one it scrolls toward for the footer.
|
|
69712
69745
|
const getStickyEdge = (partEl, horizontal) => {
|
|
69713
69746
|
if (partEl.classList.contains("navi_list_item_footer")) {
|
|
69714
69747
|
return horizontal ? "right" : "bottom";
|
|
69715
69748
|
}
|
|
69716
|
-
|
|
69717
|
-
return horizontal ? "left" : "top";
|
|
69718
|
-
}
|
|
69719
|
-
return "top";
|
|
69749
|
+
return horizontal ? "left" : "top";
|
|
69720
69750
|
};
|
|
69721
69751
|
// A sticky inset is measured from the scrollport — the padding box of the
|
|
69722
69752
|
// scroller, or the viewport when the page scrolls. getScrollerViewportRect
|
|
@@ -72113,9 +72143,10 @@ const ListItemGroup = ({
|
|
|
72113
72143
|
if (!groupEl) {
|
|
72114
72144
|
return;
|
|
72115
72145
|
}
|
|
72116
|
-
const
|
|
72117
|
-
|
|
72118
|
-
|
|
72146
|
+
const {
|
|
72147
|
+
height
|
|
72148
|
+
} = labelEl.getBoundingClientRect();
|
|
72149
|
+
groupEl.style.setProperty("--list-group-label-height", `${height}px`);
|
|
72119
72150
|
}, []);
|
|
72120
72151
|
const {
|
|
72121
72152
|
className: labelClassName,
|