@jsenv/navi 0.27.8 → 0.27.9
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
CHANGED
|
@@ -6506,13 +6506,13 @@ const DIMENSION_PROPS = {
|
|
|
6506
6506
|
if (!value || value === "0") {
|
|
6507
6507
|
return { flexShrink: 0 };
|
|
6508
6508
|
}
|
|
6509
|
-
return { flexShrink: 1 };
|
|
6509
|
+
return { flexShrink: 1, minWidth: 0 };
|
|
6510
6510
|
},
|
|
6511
6511
|
shrinkY: (value) => {
|
|
6512
6512
|
if (!value || value === "0") {
|
|
6513
6513
|
return { flexShrink: 0 };
|
|
6514
6514
|
}
|
|
6515
|
-
return { flexShrink: 1 };
|
|
6515
|
+
return { flexShrink: 1, minHeight: 0 };
|
|
6516
6516
|
},
|
|
6517
6517
|
|
|
6518
6518
|
scaleX: (value) => {
|
|
@@ -6725,7 +6725,10 @@ const VISUAL_PROPS = {
|
|
|
6725
6725
|
overflow: PASS_THROUGH,
|
|
6726
6726
|
overflowX: PASS_THROUGH,
|
|
6727
6727
|
overflowY: PASS_THROUGH,
|
|
6728
|
-
overflowEllipsis: () => {
|
|
6728
|
+
overflowEllipsis: (value) => {
|
|
6729
|
+
if (value === undefined || value === false) {
|
|
6730
|
+
return null;
|
|
6731
|
+
}
|
|
6729
6732
|
return {
|
|
6730
6733
|
overflow: "hidden",
|
|
6731
6734
|
textOverflow: "ellipsis",
|
|
@@ -12445,6 +12448,27 @@ const useUIStateController = (
|
|
|
12445
12448
|
value: newUIState,
|
|
12446
12449
|
});
|
|
12447
12450
|
}
|
|
12451
|
+
// When this controller is a real input that has a visible proxy
|
|
12452
|
+
// (linked via `navi-control-proxy-for`), mirror the new state to the
|
|
12453
|
+
// proxy DOM synchronously. Otherwise the proxy would only catch up
|
|
12454
|
+
// later through a React re-render — visible as e.g. two radios
|
|
12455
|
+
// appearing checked at once between the real input update and the
|
|
12456
|
+
// next render (radio_sibling_uncheck case).
|
|
12457
|
+
if (el && !controlProxyFor) {
|
|
12458
|
+
const proxyEl = findControlProxy(el);
|
|
12459
|
+
if (proxyEl) {
|
|
12460
|
+
const propValue = uiStateController.getPropFromState(newUIState);
|
|
12461
|
+
proxyEl[statePropName] = propValue;
|
|
12462
|
+
// Also notify the proxy's controller so it can stay in sync with
|
|
12463
|
+
// state changes that originate from the real input (e.g. radio_sibling_uncheck).
|
|
12464
|
+
// Without this the proxy only learns about deselection later via state_prop
|
|
12465
|
+
// (Preact re-render), too late for lastActionValueRef to be updated.
|
|
12466
|
+
dispatchInternalCustomEvent(proxyEl, "navi_ui_state_change", {
|
|
12467
|
+
event: e,
|
|
12468
|
+
value: newUIState,
|
|
12469
|
+
});
|
|
12470
|
+
}
|
|
12471
|
+
}
|
|
12448
12472
|
const internalBehavior = e.detail?.internalBehavior;
|
|
12449
12473
|
if (internalBehavior) {
|
|
12450
12474
|
return true;
|
|
@@ -33709,6 +33733,7 @@ const css$m = /* css */`
|
|
|
33709
33733
|
);
|
|
33710
33734
|
|
|
33711
33735
|
display: flex;
|
|
33736
|
+
min-width: 0;
|
|
33712
33737
|
/* fit-content by default, but never wider than the parent */
|
|
33713
33738
|
max-width: 100%;
|
|
33714
33739
|
flex-direction: column;
|
|
@@ -33780,7 +33805,7 @@ const css$m = /* css */`
|
|
|
33780
33805
|
--x-list-item-font-weight: var(--list-item-font-weight);
|
|
33781
33806
|
|
|
33782
33807
|
box-sizing: border-box;
|
|
33783
|
-
min-width:
|
|
33808
|
+
min-width: 0;
|
|
33784
33809
|
max-width: 100%;
|
|
33785
33810
|
padding: var(--list-item-padding);
|
|
33786
33811
|
color: var(--x-list-item-color);
|
|
@@ -34979,6 +35004,10 @@ const css$l = /* css */`
|
|
|
34979
35004
|
outline-color: var(--list-item-outline-color);
|
|
34980
35005
|
outline-offset: var(--list-item-outline-offset);
|
|
34981
35006
|
|
|
35007
|
+
&[navi-selectable] {
|
|
35008
|
+
user-select: none;
|
|
35009
|
+
}
|
|
35010
|
+
|
|
34982
35011
|
&[data-interactive] {
|
|
34983
35012
|
cursor: pointer;
|
|
34984
35013
|
user-select: none;
|
|
@@ -35373,6 +35402,7 @@ const Selectable = props => {
|
|
|
35373
35402
|
},
|
|
35374
35403
|
"aria-selected": checked,
|
|
35375
35404
|
selected: checked,
|
|
35405
|
+
"navi-selectable": "",
|
|
35376
35406
|
children: jsxs(Field, {
|
|
35377
35407
|
as: selectableArea === "manual" ? "div" : undefined,
|
|
35378
35408
|
padding: "m",
|
|
@@ -35672,7 +35702,6 @@ installImportMetaCssBuild(import.meta);const css$k = /* css */`
|
|
|
35672
35702
|
font-size: var(--picker-font-size);
|
|
35673
35703
|
text-align: inherit;
|
|
35674
35704
|
text-overflow: ellipsis;
|
|
35675
|
-
white-space: nowrap;
|
|
35676
35705
|
background-color: var(--x-picker-background-color);
|
|
35677
35706
|
border-width: var(--picker-border-width);
|
|
35678
35707
|
border-style: solid;
|