@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/jsenv_navi.js
CHANGED
|
@@ -19076,7 +19076,22 @@ const TYPO_PROPS = {
|
|
|
19076
19076
|
}
|
|
19077
19077
|
return lineClampStyles(value);
|
|
19078
19078
|
},
|
|
19079
|
-
|
|
19079
|
+
/* A sized inline Box (a Text with a width) is a flex row the caller did not
|
|
19080
|
+
ask for, where the text runs are one anonymous item sized to their content:
|
|
19081
|
+
text-align alone moves nothing, the item is placed by justify-content. A
|
|
19082
|
+
flex row asked for keeps the two apart (Picker: textAlign is the text in
|
|
19083
|
+
the value slot, justify-content the slots). alignX, when given, wins. */
|
|
19084
|
+
textAlign: (value, { flexFromSize, remainingProps }) => {
|
|
19085
|
+
if (
|
|
19086
|
+
flexFromSize &&
|
|
19087
|
+
value !== "justify" &&
|
|
19088
|
+
remainingProps.alignX === undefined &&
|
|
19089
|
+
remainingProps.align === undefined
|
|
19090
|
+
) {
|
|
19091
|
+
return { textAlign: value, justifyContent: value };
|
|
19092
|
+
}
|
|
19093
|
+
return { textAlign: value };
|
|
19094
|
+
},
|
|
19080
19095
|
textBox: PASS_THROUGH,
|
|
19081
19096
|
textBoxTrim: PASS_THROUGH,
|
|
19082
19097
|
textBoxEdge: PASS_THROUGH,
|
|
@@ -21654,8 +21669,12 @@ const computeBox = (props, parentBoxFlow) => {
|
|
|
21654
21669
|
block = true;
|
|
21655
21670
|
}
|
|
21656
21671
|
}
|
|
21672
|
+
// An inline box ignores width/height, so a sized one becomes a flex row the
|
|
21673
|
+
// caller never asked for; textAlign reads that (see box_style_util.js).
|
|
21674
|
+
let flexFromSize = false;
|
|
21657
21675
|
if (inline && (rest.width !== undefined || rest.height !== undefined) && flex === undefined) {
|
|
21658
21676
|
flex = "x";
|
|
21677
|
+
flexFromSize = true;
|
|
21659
21678
|
}
|
|
21660
21679
|
let boxFlow;
|
|
21661
21680
|
if (inline) {
|
|
@@ -21749,6 +21768,7 @@ const computeBox = (props, parentBoxFlow) => {
|
|
|
21749
21768
|
const styleContext = {
|
|
21750
21769
|
parentBoxFlow,
|
|
21751
21770
|
boxFlow,
|
|
21771
|
+
flexFromSize,
|
|
21752
21772
|
styleCSSVars,
|
|
21753
21773
|
pseudoState: innerPseudoState,
|
|
21754
21774
|
pseudoClasses,
|
|
@@ -66525,6 +66545,7 @@ const css$x = /* css */`@layer navi {
|
|
|
66525
66545
|
|
|
66526
66546
|
&[data-scroller="document"] {
|
|
66527
66547
|
--x-list-group-label-top: var(--navi-safe-area-inset-top);
|
|
66548
|
+
--x-list-group-label-left: var(--navi-safe-area-inset-left);
|
|
66528
66549
|
}
|
|
66529
66550
|
|
|
66530
66551
|
&[data-expand-x] {
|
|
@@ -66790,7 +66811,6 @@ const css$x = /* css */`@layer navi {
|
|
|
66790
66811
|
|
|
66791
66812
|
& .navi_list_item {
|
|
66792
66813
|
scroll-margin-top: calc(var(--x-list-scroll-spacing-top) + var(--list-group-label-height, 0px));
|
|
66793
|
-
scroll-margin-left: calc(var(--x-list-scroll-spacing-left) + var(--list-group-label-width, 0px));
|
|
66794
66814
|
}
|
|
66795
66815
|
}
|
|
66796
66816
|
|
|
@@ -66799,6 +66819,21 @@ const css$x = /* css */`@layer navi {
|
|
|
66799
66819
|
}
|
|
66800
66820
|
}
|
|
66801
66821
|
|
|
66822
|
+
.navi_list_container[data-horizontal] > .navi_list_scroll_container > .navi_list > .navi_list_item_group {
|
|
66823
|
+
min-width: auto;
|
|
66824
|
+
max-width: none;
|
|
66825
|
+
|
|
66826
|
+
& > .navi_list_item_group_label {
|
|
66827
|
+
top: auto;
|
|
66828
|
+
left: var(--list-group-label-left, var(--x-list-group-label-left, 0px));
|
|
66829
|
+
}
|
|
66830
|
+
|
|
66831
|
+
& > .navi_list_item_group_list {
|
|
66832
|
+
flex-direction: row;
|
|
66833
|
+
width: auto;
|
|
66834
|
+
}
|
|
66835
|
+
}
|
|
66836
|
+
|
|
66802
66837
|
@supports (view-transition-group: contain) {
|
|
66803
66838
|
:root:not([data-navi-route-transition], [data-navi-route-travel]) .navi_list_container[data-item-transition] {
|
|
66804
66839
|
view-transition-name: match-element;
|
|
@@ -68348,18 +68383,13 @@ const useDuplicateHeaderWarning = ref => {
|
|
|
68348
68383
|
// fraction short of it, and without this slack it reads as being at rest: a
|
|
68349
68384
|
// bug that shows up on one machine and not the next.
|
|
68350
68385
|
const STUCK_SLACK = 1;
|
|
68351
|
-
// Which edge a part sticks to
|
|
68352
|
-
//
|
|
68353
|
-
// bottom/right) so the same markup works either way; a group label always caps
|
|
68354
|
-
// its group from the top.
|
|
68386
|
+
// Which edge a part sticks to: the edge the list scrolls FROM for the header
|
|
68387
|
+
// and a group label, the one it scrolls toward for the footer.
|
|
68355
68388
|
const getStickyEdge = (partEl, horizontal) => {
|
|
68356
68389
|
if (partEl.classList.contains("navi_list_item_footer")) {
|
|
68357
68390
|
return horizontal ? "right" : "bottom";
|
|
68358
68391
|
}
|
|
68359
|
-
|
|
68360
|
-
return horizontal ? "left" : "top";
|
|
68361
|
-
}
|
|
68362
|
-
return "top";
|
|
68392
|
+
return horizontal ? "left" : "top";
|
|
68363
68393
|
};
|
|
68364
68394
|
// A sticky inset is measured from the scrollport — the padding box of the
|
|
68365
68395
|
// scroller, or the viewport when the page scrolls. getScrollerViewportRect
|
|
@@ -70718,9 +70748,10 @@ const ListItemGroup = ({
|
|
|
70718
70748
|
if (!groupEl) {
|
|
70719
70749
|
return;
|
|
70720
70750
|
}
|
|
70721
|
-
const
|
|
70722
|
-
|
|
70723
|
-
|
|
70751
|
+
const {
|
|
70752
|
+
height
|
|
70753
|
+
} = labelEl.getBoundingClientRect();
|
|
70754
|
+
groupEl.style.setProperty("--list-group-label-height", `${height}px`);
|
|
70724
70755
|
}, []);
|
|
70725
70756
|
const {
|
|
70726
70757
|
className: labelClassName,
|