@jsenv/navi 0.30.21 → 0.30.22
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 +66 -5
- package/dist/dev/jsenv_navi.js.map +3 -3
- package/dist/jsenv_navi.js +66 -5
- package/dist/jsenv_navi.js.map +3 -3
- package/package.json +1 -1
package/dist/dev/jsenv_navi.js
CHANGED
|
@@ -64626,6 +64626,7 @@ const css$R = /* css */`.navi_control_swap {
|
|
|
64626
64626
|
--x-control-swap-size: var(--navi-control-swap-size, calc(var(--navi-control-line-height) + 2 * var(--navi-s) + 2 *
|
|
64627
64627
|
var(--navi-control-border-width)));
|
|
64628
64628
|
--x-control-swap-gap: var(--navi-control-swap-gap, var(--navi-xs));
|
|
64629
|
+
--x-control-swap-seam-travel: calc(var(--x-control-swap-gap) + var(--navi-control-border-width));
|
|
64629
64630
|
height: var(--x-control-swap-size);
|
|
64630
64631
|
align-items: stretch;
|
|
64631
64632
|
gap: var(--x-control-swap-gap);
|
|
@@ -64639,15 +64640,45 @@ const css$R = /* css */`.navi_control_swap {
|
|
|
64639
64640
|
min-width: 0;
|
|
64640
64641
|
height: 100%;
|
|
64641
64642
|
position: relative;
|
|
64643
|
+
|
|
64644
|
+
&:has( ~ .navi_control_swap_stage)[aria-expanded="true"] {
|
|
64645
|
+
--x-corner-top-right-radius: 0;
|
|
64646
|
+
--x-corner-bottom-right-radius: 0;
|
|
64647
|
+
}
|
|
64648
|
+
|
|
64649
|
+
.navi_control_swap_stage ~ &[aria-expanded="true"] {
|
|
64650
|
+
--x-corner-top-left-radius: 0;
|
|
64651
|
+
--x-corner-bottom-left-radius: 0;
|
|
64652
|
+
}
|
|
64653
|
+
|
|
64654
|
+
&:focus-visible, &[data-focus-visible] {
|
|
64655
|
+
z-index: var(--navi-z-index-control-focused);
|
|
64656
|
+
}
|
|
64642
64657
|
}
|
|
64643
64658
|
|
|
64644
64659
|
& > .navi_control_swap_stage {
|
|
64660
|
+
min-width: 0;
|
|
64661
|
+
margin-left: calc(-1 * var(--x-control-swap-seam-travel));
|
|
64645
64662
|
overflow-clip-margin: var(--navi-focus-outline-width);
|
|
64646
64663
|
flex: 1 1 0;
|
|
64647
|
-
min-width: 0;
|
|
64648
64664
|
display: flex;
|
|
64649
64665
|
overflow: clip;
|
|
64650
64666
|
container-type: inline-size;
|
|
64667
|
+
|
|
64668
|
+
&:hover {
|
|
64669
|
+
z-index: var(--navi-z-index-control-hovered);
|
|
64670
|
+
position: relative;
|
|
64671
|
+
}
|
|
64672
|
+
|
|
64673
|
+
&:has(:focus-visible, [data-focus-visible]) {
|
|
64674
|
+
z-index: var(--navi-z-index-control-focused);
|
|
64675
|
+
position: relative;
|
|
64676
|
+
}
|
|
64677
|
+
|
|
64678
|
+
&:has([aria-expanded="true"]) {
|
|
64679
|
+
z-index: var(--navi-z-index-control-expanded);
|
|
64680
|
+
position: relative;
|
|
64681
|
+
}
|
|
64651
64682
|
}
|
|
64652
64683
|
|
|
64653
64684
|
& > .navi_control_swap_stage > .navi_control_swap_track {
|
|
@@ -64666,20 +64697,43 @@ const css$R = /* css */`.navi_control_swap {
|
|
|
64666
64697
|
width: 100%;
|
|
64667
64698
|
height: 100%;
|
|
64668
64699
|
}
|
|
64700
|
+
|
|
64701
|
+
&:first-child > :not([navi-out-of-flow]) {
|
|
64702
|
+
--x-corner-top-left-radius: 0;
|
|
64703
|
+
--x-corner-bottom-left-radius: 0;
|
|
64704
|
+
border-top-left-radius: 0 !important;
|
|
64705
|
+
border-bottom-left-radius: 0 !important;
|
|
64706
|
+
}
|
|
64707
|
+
|
|
64708
|
+
&:last-child > :not([navi-out-of-flow]) {
|
|
64709
|
+
--x-corner-top-right-radius: 0;
|
|
64710
|
+
--x-corner-bottom-right-radius: 0;
|
|
64711
|
+
border-top-right-radius: 0 !important;
|
|
64712
|
+
border-bottom-right-radius: 0 !important;
|
|
64713
|
+
}
|
|
64669
64714
|
}
|
|
64670
64715
|
}
|
|
64671
64716
|
|
|
64717
|
+
&[data-active-index="1"] > .navi_control_swap_stage {
|
|
64718
|
+
transform: translateX(var(--x-control-swap-seam-travel));
|
|
64719
|
+
}
|
|
64720
|
+
|
|
64672
64721
|
&[data-active-index="1"] > .navi_control_swap_stage > .navi_control_swap_track {
|
|
64673
64722
|
transform: translateX(calc(-100cqw - var(--x-control-swap-gap)));
|
|
64674
64723
|
}
|
|
64675
64724
|
|
|
64676
|
-
&[data-animation] > .navi_control_swap_stage > .navi_control_swap_track {
|
|
64725
|
+
&[data-animation] > .navi_control_swap_stage, &[data-animation] > .navi_control_swap_stage > .navi_control_swap_track {
|
|
64677
64726
|
transition: transform var(--navi-control-swap-animation-duration, .22s)
|
|
64678
64727
|
ease;
|
|
64679
64728
|
}
|
|
64680
64729
|
|
|
64730
|
+
&[data-animation] > .navi_control_swap_cap {
|
|
64731
|
+
transition: border-radius
|
|
64732
|
+
var(--navi-control-swap-animation-duration, .22s) ease;
|
|
64733
|
+
}
|
|
64734
|
+
|
|
64681
64735
|
@media (prefers-reduced-motion: reduce) {
|
|
64682
|
-
&[data-animation] > .navi_control_swap_stage > .navi_control_swap_track {
|
|
64736
|
+
&[data-animation] > .navi_control_swap_stage, &[data-animation] > .navi_control_swap_stage > .navi_control_swap_track, &[data-animation] > .navi_control_swap_cap {
|
|
64683
64737
|
transition: none;
|
|
64684
64738
|
}
|
|
64685
64739
|
}
|
|
@@ -64710,8 +64764,9 @@ const css$R = /* css */`.navi_control_swap {
|
|
|
64710
64764
|
*
|
|
64711
64765
|
* The row is one length tall — `--navi-control-swap-size`, a line of text
|
|
64712
64766
|
* between two `s` paddings — and everything in it is that tall: the caps are
|
|
64713
|
-
* squares of it, the control holding the floor fills it.
|
|
64714
|
-
* is the space between
|
|
64767
|
+
* squares of it, the control holding the floor fills it. The control is joined
|
|
64768
|
+
* to its cap by a shared border; `--navi-control-swap-gap` is the space between
|
|
64769
|
+
* it and the other cap.
|
|
64715
64770
|
*/
|
|
64716
64771
|
const ControlSwap = props => {
|
|
64717
64772
|
import.meta.css = [css$R, "@jsenv/navi/src/control/control_swap/control_swap.jsx"];
|
|
@@ -71852,6 +71907,12 @@ const SlideContainer = ({
|
|
|
71852
71907
|
// names a slide, and the container standing on its first one is a fact only
|
|
71853
71908
|
// the map knows (see the layout effect that paints it).
|
|
71854
71909
|
const areaOnScreen = containerRef.current.getAttribute(SLIDE_CURRENT_ATTRIBUTE);
|
|
71910
|
+
// Standing on the first slide by default holds a rank, and the slide at
|
|
71911
|
+
// that rank changes with their order. Someone outside is naming slides, so
|
|
71912
|
+
// the one on screen is held by its name from this answer on.
|
|
71913
|
+
if (current !== areaOnScreen) {
|
|
71914
|
+
setCurrentAreaState(areaOnScreen);
|
|
71915
|
+
}
|
|
71855
71916
|
if (areaAsked === areaOnScreen) {
|
|
71856
71917
|
return;
|
|
71857
71918
|
}
|