@jsenv/navi 0.27.63 → 0.27.64
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/jsenv_navi.js +19 -13
- package/dist/jsenv_navi.js.map +8 -7
- package/package.json +1 -1
package/dist/jsenv_navi.js
CHANGED
|
@@ -6494,9 +6494,6 @@ const DIMENSION_PROPS = {
|
|
|
6494
6494
|
if (parentBoxFlow === "flex-y" || parentBoxFlow === "inline-flex-y") {
|
|
6495
6495
|
return {
|
|
6496
6496
|
alignSelf: "stretch",
|
|
6497
|
-
// ensure we override any with: 'fit-content' for instance
|
|
6498
|
-
// also useful for ".navi_text_sizer" to inherit the full size
|
|
6499
|
-
width: "100%",
|
|
6500
6497
|
};
|
|
6501
6498
|
}
|
|
6502
6499
|
// Can't use flexGrow — parent is not flex-x
|
|
@@ -6515,9 +6512,6 @@ const DIMENSION_PROPS = {
|
|
|
6515
6512
|
if (parentBoxFlow === "flex-x" || parentBoxFlow === "inline-flex-x") {
|
|
6516
6513
|
return {
|
|
6517
6514
|
alignSelf: "stretch",
|
|
6518
|
-
// ensure we override any with: 'fit-content' for instance
|
|
6519
|
-
// also useful for ".navi_text_sizer" to inherit the full size
|
|
6520
|
-
height: "100%",
|
|
6521
6515
|
};
|
|
6522
6516
|
}
|
|
6523
6517
|
// Can't use flexGrow — parent is not flex-y
|
|
@@ -28315,6 +28309,7 @@ installImportMetaCssBuild(import.meta);const css$J = /* css */`
|
|
|
28315
28309
|
--button-color-disabled: var(--button-color-readonly);
|
|
28316
28310
|
|
|
28317
28311
|
/* Here to be easy to override */
|
|
28312
|
+
display: inline-block; /* So box css can override when wanting to put button inline flex */
|
|
28318
28313
|
font-size: var(--button-font-size);
|
|
28319
28314
|
font-family: var(--button-font-family);
|
|
28320
28315
|
}
|
|
@@ -28347,7 +28342,6 @@ installImportMetaCssBuild(import.meta);const css$J = /* css */`
|
|
|
28347
28342
|
touch-action: manipulation;
|
|
28348
28343
|
user-select: none;
|
|
28349
28344
|
-webkit-tap-highlight-color: var(--navi-control-tap-highlight-color);
|
|
28350
|
-
display: inline-flex;
|
|
28351
28345
|
|
|
28352
28346
|
.navi_button_content {
|
|
28353
28347
|
position: relative;
|
|
@@ -28535,6 +28529,7 @@ installImportMetaCssBuild(import.meta);const css$J = /* css */`
|
|
|
28535
28529
|
}
|
|
28536
28530
|
&[data-icon] {
|
|
28537
28531
|
--button-padding: 0;
|
|
28532
|
+
display: inline-flex;
|
|
28538
28533
|
}
|
|
28539
28534
|
/* cta: call-to-action — special background, border matches background */
|
|
28540
28535
|
&[data-cta] {
|
|
@@ -28623,7 +28618,7 @@ const ButtonUI = props => {
|
|
|
28623
28618
|
});
|
|
28624
28619
|
return jsxs(Box, {
|
|
28625
28620
|
inline: true,
|
|
28626
|
-
|
|
28621
|
+
block: true,
|
|
28627
28622
|
...buttonControlRootProps,
|
|
28628
28623
|
...buttonControlHostProps,
|
|
28629
28624
|
// eslint-disable-next-line react/no-children-prop
|
|
@@ -36115,6 +36110,11 @@ const PickerCustom = props => {
|
|
|
36115
36110
|
ref,
|
|
36116
36111
|
mode: modeProp
|
|
36117
36112
|
} = props;
|
|
36113
|
+
// Resolve the id the same way useControlProps does (own id > Field's id > generated id)
|
|
36114
|
+
// before computing popupId below, so two Pickers without an explicit id never collide.
|
|
36115
|
+
const idDefault = useId();
|
|
36116
|
+
const controlId = useContext(ControlIdContext);
|
|
36117
|
+
props.id = props.id || controlId || idDefault;
|
|
36118
36118
|
// Freeze the mode for the lifetime of an opening: compute it when closed,
|
|
36119
36119
|
// keep it stable while open so a screen resize mid-session doesn't switch
|
|
36120
36120
|
// between Popover and Dialog.
|
|
@@ -39962,7 +39962,7 @@ installImportMetaCssBuild(import.meta);const css$l = /* css */`
|
|
|
39962
39962
|
--x-color: var(--color, white);
|
|
39963
39963
|
|
|
39964
39964
|
position: relative;
|
|
39965
|
-
display: inline
|
|
39965
|
+
display: inline;
|
|
39966
39966
|
max-width: 200px;
|
|
39967
39967
|
padding-top: var(--padding-y);
|
|
39968
39968
|
padding-right: var(--padding-x);
|
|
@@ -39971,7 +39971,6 @@ installImportMetaCssBuild(import.meta);const css$l = /* css */`
|
|
|
39971
39971
|
align-items: stretch;
|
|
39972
39972
|
color: var(--x-color);
|
|
39973
39973
|
font-size: var(--font-size);
|
|
39974
|
-
line-height: normal;
|
|
39975
39974
|
background: var(--x-background);
|
|
39976
39975
|
background-color: var(--x-background-color);
|
|
39977
39976
|
border-radius: 1em;
|
|
@@ -39982,7 +39981,7 @@ installImportMetaCssBuild(import.meta);const css$l = /* css */`
|
|
|
39982
39981
|
}
|
|
39983
39982
|
|
|
39984
39983
|
&[data-text-overflow] {
|
|
39985
|
-
display:
|
|
39984
|
+
display: inline;
|
|
39986
39985
|
|
|
39987
39986
|
.navi_text_overflow_wrapper {
|
|
39988
39987
|
/* Keep badge text and button together */
|
|
@@ -39994,10 +39993,13 @@ installImportMetaCssBuild(import.meta);const css$l = /* css */`
|
|
|
39994
39993
|
display: inline-flex;
|
|
39995
39994
|
margin-top: calc(-1 * var(--padding-y));
|
|
39996
39995
|
margin-bottom: calc(-1 * var(--padding-y));
|
|
39996
|
+
padding-top: var(--padding-y);
|
|
39997
39997
|
padding-right: calc(var(--padding-x) / 2);
|
|
39998
|
+
padding-bottom: var(--padding-y);
|
|
39998
39999
|
padding-left: calc(var(--padding-x) / 2);
|
|
39999
40000
|
align-items: center;
|
|
40000
40001
|
cursor: pointer;
|
|
40002
|
+
pointer-events: auto;
|
|
40001
40003
|
user-select: none;
|
|
40002
40004
|
|
|
40003
40005
|
&:first-child {
|
|
@@ -40109,6 +40111,11 @@ const BadgeList = ({
|
|
|
40109
40111
|
const measure = () => {
|
|
40110
40112
|
visibleEl.style.width = "";
|
|
40111
40113
|
if (shrinkWrap) {
|
|
40114
|
+
// Clone the already-rendered DOM nodes instead of letting React/Preact
|
|
40115
|
+
// render the children a second time into the ghost: re-rendering would
|
|
40116
|
+
// instantiate Badge/Badge.Button a second time, double-registering
|
|
40117
|
+
// their controllers (and any other mount side effect) under the same id.
|
|
40118
|
+
measureEl.replaceChildren(...Array.from(visibleEl.children, child => child.cloneNode(true)));
|
|
40112
40119
|
const optimalWidth = measureWidestChildRow(measureEl);
|
|
40113
40120
|
if (optimalWidth !== null) {
|
|
40114
40121
|
visibleEl.style.width = `${Math.ceil(optimalWidth)}px`;
|
|
@@ -40150,8 +40157,7 @@ const BadgeList = ({
|
|
|
40150
40157
|
...sharedProps,
|
|
40151
40158
|
ref: measureRef,
|
|
40152
40159
|
"aria-hidden": "true",
|
|
40153
|
-
"navi-badge-list-clone": ""
|
|
40154
|
-
children: childArray
|
|
40160
|
+
"navi-badge-list-clone": ""
|
|
40155
40161
|
}), jsxs(Box, {
|
|
40156
40162
|
baseClassName: "navi_badge_list",
|
|
40157
40163
|
...sharedProps,
|