@jsenv/navi 0.26.28 → 0.26.30

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.
@@ -5323,7 +5323,7 @@ const stateSignal = (defaultValue, options = {}) => {
5323
5323
  persists = false,
5324
5324
  debug,
5325
5325
  default: staticFallback,
5326
- ignoreArrayOrder = true,
5326
+ ignoreArrayOrder,
5327
5327
  } = options;
5328
5328
 
5329
5329
  // Check if defaultValue is a signal (dynamic default) or static value
@@ -5457,15 +5457,16 @@ const stateSignal = (defaultValue, options = {}) => {
5457
5457
  const hasAutoFix = Boolean(validity.validSuggestion);
5458
5458
  if (hasAutoFix) {
5459
5459
  if (debug) {
5460
- console.debug(
5461
- `[stateSignal:${signalIdString}] validation failed: `,
5460
+ console.debug(`[stateSignal:${signalIdString}] validation failed: `, {
5461
+ value,
5462
+ validValue: validity.validSuggestion.value,
5462
5463
  validity,
5463
- );
5464
+ });
5464
5465
  }
5465
5466
  } else {
5466
5467
  console.warn(
5467
5468
  `[stateSignal:${signalIdString}] validation failed with no valid suggestion: `,
5468
- validity,
5469
+ { value, validity },
5469
5470
  );
5470
5471
  }
5471
5472
  if (validity.validSuggestion) {
@@ -8453,6 +8454,14 @@ const Box = props => {
8453
8454
  const cssVar = styleContext.styleCSSVars[name];
8454
8455
  if (cssVar) {
8455
8456
  addCSSVar(mergedValue, cssVar, stylesTarget);
8457
+ if (name === "borderRadius" && value === "inherit") {
8458
+ // "inherit" cannot be expressed via a CSS variable — a var() reference
8459
+ // never propagates the inherit keyword itself. So when borderRadius="inherit"
8460
+ // we must also set the inline style directly so the element actually
8461
+ // inherits the radius from its parent.
8462
+ styleDeps.push(name, value);
8463
+ stylesTarget[name] = mergedValue;
8464
+ }
8456
8465
  return true;
8457
8466
  }
8458
8467
  styleDeps.push(name, value); // impact box style -> add to deps
@@ -8734,17 +8743,14 @@ const applySeparatorOnChildren = (children, separator) => {
8734
8743
  return childrenWithSeparators;
8735
8744
  };
8736
8745
  const shouldInjectSeparatorBetween = (left, right) => {
8737
- if (isPreactNode$1(left) && left.props?.hidden) {
8746
+ if (isValidElement(left) && left.props?.hidden) {
8738
8747
  return false;
8739
8748
  }
8740
- if (isPreactNode$1(right) && right.props?.hidden) {
8749
+ if (isValidElement(right) && right.props?.hidden) {
8741
8750
  return false;
8742
8751
  }
8743
8752
  return true;
8744
8753
  };
8745
- const isPreactNode$1 = jsxChild => {
8746
- return jsxChild !== null && typeof jsxChild === "object" && jsxChild.type !== undefined;
8747
- };
8748
8754
 
8749
8755
  /**
8750
8756
  * Fix alignment behavior for flex/grid containers that use `height: 100%`.
@@ -21082,12 +21088,9 @@ const markAsOutsideTextFlow = jsxElement => {
21082
21088
  const isMarkedAsOutsideTextFlow = jsxElement => {
21083
21089
  return outsideTextFlowSet.has(jsxElement.type);
21084
21090
  };
21085
- const isPreactNode = jsxChild => {
21086
- return jsxChild !== null && typeof jsxChild === "object" && jsxChild.type !== undefined;
21087
- };
21088
21091
  const shouldInjectSpacingBetween = (left, right) => {
21089
- const leftIsNode = isPreactNode(left);
21090
- const rightIsNode = isPreactNode(right);
21092
+ const leftIsNode = isValidElement(left);
21093
+ const rightIsNode = isValidElement(right);
21091
21094
  // only inject spacing when at least one side is a preact node
21092
21095
  if (!leftIsNode && !rightIsNode) {
21093
21096
  return false;
@@ -21211,7 +21214,6 @@ const TextUI = props => {
21211
21214
  childrenOutsideFlow,
21212
21215
  ...rest
21213
21216
  } = props;
21214
- const parentBoxFlow = useContext(BoxFlowContext);
21215
21217
  const defaultSpace = preventSpaceUnderlines ? FAKE_SPACE : REGULAR_SPACE;
21216
21218
  const resolvedSpacing = spacing ?? defaultSpace;
21217
21219
  const boxProps = {
@@ -21221,7 +21223,7 @@ const TextUI = props => {
21221
21223
  ref,
21222
21224
  "baseClassName": withPropsClassName("navi_text", rest.baseClassName)
21223
21225
  };
21224
- const shouldPreserveSpacing = rest.as === "pre" || rest.flex || rest.grid || isSpacingHandledByFlow(parentBoxFlow);
21226
+ const shouldPreserveSpacing = rest.as === "pre" || rest.flex || rest.grid;
21225
21227
  if (shouldPreserveSpacing) {
21226
21228
  boxProps.spacing = resolvedSpacing;
21227
21229
  } else {
@@ -22676,7 +22678,7 @@ installImportMetaCssBuild(import.meta);const css$A = /* css */`
22676
22678
  border-width: var(--button-border-width);
22677
22679
  border-style: solid;
22678
22680
  border-color: var(--x-button-border-color);
22679
- border-radius: var(--button-border-radius);
22681
+ border-radius: inherit;
22680
22682
  outline-width: var(--x-button-outline-width);
22681
22683
  outline-color: var(--button-outline-color);
22682
22684
  outline-offset: var(--x-button-outline-offset);
@@ -36224,12 +36226,13 @@ const BadgeCount = ({
36224
36226
  if (charCount > MAX_CHAR_AS_CIRCLE) {
36225
36227
  circle = false;
36226
36228
  }
36229
+ const textKey = loading + String(valueDisplayed) + hasOverflow;
36227
36230
  if (circle) {
36228
36231
  return jsx(TextAnchor, {
36229
36232
  childRef: ref,
36230
36233
  textAnchor: textAnchor,
36231
36234
  textSize: props.size,
36232
- textKey: loading + valueDisplayed + hasOverflow,
36235
+ textKey: textKey,
36233
36236
  lineLayout: lineLayout,
36234
36237
  children: jsxs(BadgeCountCircle, {
36235
36238
  ...props,
@@ -36248,7 +36251,7 @@ const BadgeCount = ({
36248
36251
  childRef: ref,
36249
36252
  textAnchor: textAnchor,
36250
36253
  textSize: props.size,
36251
- textKey: loading + valueFormatted + hasOverflow,
36254
+ textKey: textKey,
36252
36255
  lineLayout: lineLayout,
36253
36256
  children: jsxs(BadgeCountEllipse, {
36254
36257
  ...props,