@jsenv/navi 0.12.10 → 0.12.11
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 +180 -126
- package/dist/jsenv_navi.js.map +42 -27
- package/package.json +1 -1
package/dist/jsenv_navi.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { installImportMetaCss } from "./jsenv_navi_side_effects.js";
|
|
2
|
-
import { createIterableWeakSet, createPubSub, createValueEffect, createStyleController, getVisuallyVisibleInfo, getFirstVisuallyVisibleAncestor, allowWheelThrough, resolveCSSColor, visibleRectEffect, pickPositionRelativeTo, getBorderSizes, getPaddingSizes, activeElementSignal, canInterceptKeys, createGroupTransitionController, getElementSignature, getBorderRadius, getBackground, preventIntermediateScrollbar, createOpacityTransition, stringifyStyle, mergeOneStyle, mergeTwoStyles,
|
|
2
|
+
import { createIterableWeakSet, createPubSub, createValueEffect, createStyleController, getVisuallyVisibleInfo, getFirstVisuallyVisibleAncestor, allowWheelThrough, resolveCSSColor, visibleRectEffect, pickPositionRelativeTo, getBorderSizes, getPaddingSizes, activeElementSignal, canInterceptKeys, createGroupTransitionController, getElementSignature, getBorderRadius, getBackground, preventIntermediateScrollbar, createOpacityTransition, stringifyStyle, mergeOneStyle, mergeTwoStyles, normalizeStyles, resolveCSSSize, findBefore, findAfter, initFocusGroup, elementIsFocusable, pickLightOrDark, resolveColorLuminance, dragAfterThreshold, getScrollContainer, stickyAsRelativeCoords, createDragToMoveGestureController, getDropTargetInfo, setStyles, useActiveElement } from "@jsenv/dom";
|
|
3
3
|
import { prefixFirstAndIndentRemainingLines } from "@jsenv/humanize";
|
|
4
4
|
import { effect, signal, computed, batch, useSignal } from "@preact/signals";
|
|
5
5
|
import { useEffect, useRef, useCallback, useContext, useState, useLayoutEffect, useMemo, useErrorBoundary, useImperativeHandle, useId } from "preact/hooks";
|
|
@@ -9209,6 +9209,9 @@ const createUITransitionController = (
|
|
|
9209
9209
|
duration,
|
|
9210
9210
|
styleSynchronizer: "inline_style",
|
|
9211
9211
|
onFinish: (targetSlotOpacityTransition) => {
|
|
9212
|
+
targetSlotBackground.style.removeProperty("--target-slot-background");
|
|
9213
|
+
targetSlotBackground.style.removeProperty("--target-slot-width");
|
|
9214
|
+
targetSlotBackground.style.removeProperty("--target-slot-height");
|
|
9212
9215
|
targetSlotOpacityTransition.cancel();
|
|
9213
9216
|
},
|
|
9214
9217
|
});
|
|
@@ -10482,11 +10485,6 @@ const VISUAL_PROP_NAME_SET = new Set(Object.keys(VISUAL_PROPS));
|
|
|
10482
10485
|
const CONTENT_PROP_NAME_SET = new Set(Object.keys(CONTENT_PROPS));
|
|
10483
10486
|
const STYLE_PROP_NAME_SET = new Set(Object.keys(All_PROPS));
|
|
10484
10487
|
|
|
10485
|
-
const HANDLED_BY_VISUAL_CHILD_PROP_SET = new Set([
|
|
10486
|
-
...INNER_SPACING_PROP_NAME_SET,
|
|
10487
|
-
...VISUAL_PROP_NAME_SET,
|
|
10488
|
-
...CONTENT_PROP_NAME_SET,
|
|
10489
|
-
]);
|
|
10490
10488
|
const COPIED_ON_VISUAL_CHILD_PROP_SET = new Set([
|
|
10491
10489
|
...LAYOUT_PROP_NAME_SET,
|
|
10492
10490
|
"expand",
|
|
@@ -10496,6 +10494,20 @@ const COPIED_ON_VISUAL_CHILD_PROP_SET = new Set([
|
|
|
10496
10494
|
"contentAlignX",
|
|
10497
10495
|
"contentAlignY",
|
|
10498
10496
|
]);
|
|
10497
|
+
const HANDLED_BY_VISUAL_CHILD_PROP_SET = new Set([
|
|
10498
|
+
...INNER_SPACING_PROP_NAME_SET,
|
|
10499
|
+
...VISUAL_PROP_NAME_SET,
|
|
10500
|
+
...CONTENT_PROP_NAME_SET,
|
|
10501
|
+
]);
|
|
10502
|
+
const getVisualChildStylePropStrategy = (name) => {
|
|
10503
|
+
if (COPIED_ON_VISUAL_CHILD_PROP_SET.has(name)) {
|
|
10504
|
+
return "copy";
|
|
10505
|
+
}
|
|
10506
|
+
if (HANDLED_BY_VISUAL_CHILD_PROP_SET.has(name)) {
|
|
10507
|
+
return "forward";
|
|
10508
|
+
}
|
|
10509
|
+
return null;
|
|
10510
|
+
};
|
|
10499
10511
|
|
|
10500
10512
|
const isStyleProp = (name) => STYLE_PROP_NAME_SET.has(name);
|
|
10501
10513
|
|
|
@@ -10527,6 +10539,9 @@ const getStylePropGroup = (name) => {
|
|
|
10527
10539
|
return null;
|
|
10528
10540
|
};
|
|
10529
10541
|
const getNormalizer = (key) => {
|
|
10542
|
+
if (key === "borderRadius") {
|
|
10543
|
+
return normalizeTypoStyle;
|
|
10544
|
+
}
|
|
10530
10545
|
const group = getStylePropGroup(key);
|
|
10531
10546
|
if (group === "margin" || group === "padding") {
|
|
10532
10547
|
return normalizeSpacingStyle;
|
|
@@ -10536,58 +10551,18 @@ const getNormalizer = (key) => {
|
|
|
10536
10551
|
}
|
|
10537
10552
|
return stringifyStyle;
|
|
10538
10553
|
};
|
|
10539
|
-
|
|
10540
|
-
const
|
|
10541
|
-
|
|
10542
|
-
|
|
10543
|
-
propName,
|
|
10544
|
-
styleContext,
|
|
10545
|
-
context = "js",
|
|
10546
|
-
) => {
|
|
10547
|
-
if (propValue === undefined) {
|
|
10548
|
-
return;
|
|
10549
|
-
}
|
|
10550
|
-
const { managedByCSSVars } = styleContext;
|
|
10551
|
-
if (!managedByCSSVars) {
|
|
10552
|
-
throw new Error("managedByCSSVars is required in styleContext");
|
|
10553
|
-
}
|
|
10554
|
-
const normalizer = getNormalizer(propName);
|
|
10555
|
-
const getStyle = All_PROPS[propName];
|
|
10556
|
-
if (
|
|
10557
|
-
getStyle === PASS_THROUGH ||
|
|
10558
|
-
// style not listed can be passed through as-is (accentColor, zIndex, ...)
|
|
10559
|
-
getStyle === undefined
|
|
10560
|
-
) {
|
|
10561
|
-
const cssValue = normalizer(propValue, propName);
|
|
10562
|
-
const cssVar = managedByCSSVars[propName];
|
|
10563
|
-
const mergedValue = mergeOneStyle(
|
|
10564
|
-
styleObject[propName],
|
|
10565
|
-
cssValue,
|
|
10566
|
-
propName,
|
|
10567
|
-
context,
|
|
10568
|
-
);
|
|
10569
|
-
if (cssVar) {
|
|
10570
|
-
styleObject[cssVar] = mergedValue;
|
|
10571
|
-
} else {
|
|
10572
|
-
styleObject[propName] = mergedValue;
|
|
10573
|
-
}
|
|
10574
|
-
return;
|
|
10575
|
-
}
|
|
10576
|
-
const values = getStyle(propValue, styleContext);
|
|
10577
|
-
if (!values) {
|
|
10578
|
-
return;
|
|
10579
|
-
}
|
|
10580
|
-
for (const key of Object.keys(values)) {
|
|
10581
|
-
const value = values[key];
|
|
10582
|
-
const cssValue = normalizer(value, key);
|
|
10583
|
-
const cssVar = managedByCSSVars[key];
|
|
10584
|
-
const mergedValue = mergeOneStyle(styleObject[key], cssValue, key, context);
|
|
10585
|
-
if (cssVar) {
|
|
10586
|
-
styleObject[cssVar] = mergedValue;
|
|
10587
|
-
} else {
|
|
10588
|
-
styleObject[key] = mergedValue;
|
|
10589
|
-
}
|
|
10554
|
+
const getHowToHandleStyleProp = (name) => {
|
|
10555
|
+
const getStyle = All_PROPS[name];
|
|
10556
|
+
if (getStyle === PASS_THROUGH) {
|
|
10557
|
+
return null;
|
|
10590
10558
|
}
|
|
10559
|
+
return getStyle;
|
|
10560
|
+
};
|
|
10561
|
+
const prepareStyleValue = (existingValue, value, name, context) => {
|
|
10562
|
+
const normalizer = getNormalizer(name);
|
|
10563
|
+
const cssValue = normalizer(value, name);
|
|
10564
|
+
const mergedValue = mergeOneStyle(existingValue, cssValue, name, context);
|
|
10565
|
+
return mergedValue;
|
|
10591
10566
|
};
|
|
10592
10567
|
|
|
10593
10568
|
// Unified design scale using t-shirt sizes with rem units for accessibility.
|
|
@@ -10943,6 +10918,20 @@ const PSEUDO_CLASSES = {
|
|
|
10943
10918
|
},
|
|
10944
10919
|
};
|
|
10945
10920
|
|
|
10921
|
+
const dispatchNaviPseudoStateEvent = (element, value, previousValue) => {
|
|
10922
|
+
if (!element) {
|
|
10923
|
+
return;
|
|
10924
|
+
}
|
|
10925
|
+
element.dispatchEvent(
|
|
10926
|
+
new CustomEvent("navi_pseudo_state", {
|
|
10927
|
+
detail: {
|
|
10928
|
+
pseudoState: value,
|
|
10929
|
+
previousPseudoState: previousValue,
|
|
10930
|
+
},
|
|
10931
|
+
}),
|
|
10932
|
+
);
|
|
10933
|
+
};
|
|
10934
|
+
|
|
10946
10935
|
const EMPTY_STATE = {};
|
|
10947
10936
|
const initPseudoStyles = (
|
|
10948
10937
|
element,
|
|
@@ -10951,10 +10940,20 @@ const initPseudoStyles = (
|
|
|
10951
10940
|
pseudoState, // ":disabled", ":read-only", ":-navi-loading", etc...
|
|
10952
10941
|
effect,
|
|
10953
10942
|
elementToImpact = element,
|
|
10943
|
+
elementListeningPseudoState,
|
|
10954
10944
|
},
|
|
10955
10945
|
) => {
|
|
10946
|
+
const onStateChange = (value, previousValue) => {
|
|
10947
|
+
effect?.(value, previousValue);
|
|
10948
|
+
dispatchNaviPseudoStateEvent(
|
|
10949
|
+
elementListeningPseudoState,
|
|
10950
|
+
value,
|
|
10951
|
+
previousValue,
|
|
10952
|
+
);
|
|
10953
|
+
};
|
|
10954
|
+
|
|
10956
10955
|
if (!pseudoClasses || pseudoClasses.length === 0) {
|
|
10957
|
-
|
|
10956
|
+
onStateChange(EMPTY_STATE);
|
|
10958
10957
|
return () => {};
|
|
10959
10958
|
}
|
|
10960
10959
|
|
|
@@ -11000,10 +10999,17 @@ const initPseudoStyles = (
|
|
|
11000
10999
|
if (!someChange) {
|
|
11001
11000
|
return;
|
|
11002
11001
|
}
|
|
11003
|
-
|
|
11002
|
+
const previousState = state;
|
|
11004
11003
|
state = currentState;
|
|
11004
|
+
onStateChange(state, previousState);
|
|
11005
11005
|
};
|
|
11006
11006
|
|
|
11007
|
+
element.addEventListener("navi_pseudo_state_check", (event) => {
|
|
11008
|
+
const previousState = event.detail.previousPseudoState;
|
|
11009
|
+
state = event.detail.pseudoState;
|
|
11010
|
+
onStateChange(state, previousState);
|
|
11011
|
+
});
|
|
11012
|
+
|
|
11007
11013
|
for (const pseudoClass of pseudoClasses) {
|
|
11008
11014
|
const pseudoClassDefinition = PSEUDO_CLASSES[pseudoClass];
|
|
11009
11015
|
if (!pseudoClassDefinition) {
|
|
@@ -11081,7 +11087,7 @@ const getStyleToApply = (styles, pseudoState, pseudoNamedStyles) => {
|
|
|
11081
11087
|
}
|
|
11082
11088
|
let style = styles || {};
|
|
11083
11089
|
for (const styleToAdd of styleToAddSet) {
|
|
11084
|
-
style = mergeTwoStyles(style, styleToAdd);
|
|
11090
|
+
style = mergeTwoStyles(style, styleToAdd, "css");
|
|
11085
11091
|
}
|
|
11086
11092
|
return style;
|
|
11087
11093
|
};
|
|
@@ -11246,9 +11252,8 @@ const Box = props => {
|
|
|
11246
11252
|
layout = getDefaultDisplay(TagName);
|
|
11247
11253
|
}
|
|
11248
11254
|
const innerClassName = withPropsClassName(baseClassName, className);
|
|
11249
|
-
const
|
|
11250
|
-
const
|
|
11251
|
-
const shouldForwardAllToChild = visualSelector && pseudoStateSelector;
|
|
11255
|
+
const selfForwardedProps = {};
|
|
11256
|
+
const childForwardedProps = {};
|
|
11252
11257
|
{
|
|
11253
11258
|
const parentLayout = useContext(BoxLayoutContext);
|
|
11254
11259
|
const styleDeps = [
|
|
@@ -11304,66 +11309,112 @@ const Box = props => {
|
|
|
11304
11309
|
pseudoElements
|
|
11305
11310
|
};
|
|
11306
11311
|
const boxStyles = {};
|
|
11307
|
-
|
|
11308
|
-
|
|
11309
|
-
|
|
11310
|
-
|
|
11311
|
-
|
|
11312
|
+
let boxPseudoNamedStyles = PSEUDO_NAMED_STYLES_DEFAULT;
|
|
11313
|
+
const shouldForwardAllToChild = visualSelector && pseudoStateSelector;
|
|
11314
|
+
const addStyle = (value, name, stylesTarget, context) => {
|
|
11315
|
+
styleDeps.push(value); // impact box style -> add to deps
|
|
11316
|
+
const cssVar = managedByCSSVars[name];
|
|
11317
|
+
const mergedValue = prepareStyleValue(stylesTarget[name], value, name, context);
|
|
11318
|
+
if (cssVar) {
|
|
11319
|
+
stylesTarget[cssVar] = mergedValue;
|
|
11320
|
+
return true;
|
|
11312
11321
|
}
|
|
11313
|
-
|
|
11314
|
-
|
|
11315
|
-
|
|
11316
|
-
|
|
11317
|
-
|
|
11318
|
-
|
|
11319
|
-
|
|
11320
|
-
if (COPIED_ON_VISUAL_CHILD_PROP_SET.has(propName)) {
|
|
11321
|
-
return "style_and_forward";
|
|
11322
|
-
}
|
|
11322
|
+
stylesTarget[name] = mergedValue;
|
|
11323
|
+
return false;
|
|
11324
|
+
};
|
|
11325
|
+
const addStyleMaybeForwarding = (value, name, stylesTarget, context, visualChildPropStrategy) => {
|
|
11326
|
+
if (!visualChildPropStrategy) {
|
|
11327
|
+
addStyle(value, name, stylesTarget, context);
|
|
11328
|
+
return false;
|
|
11323
11329
|
}
|
|
11324
|
-
|
|
11325
|
-
|
|
11330
|
+
const cssVar = managedByCSSVars[name];
|
|
11331
|
+
if (cssVar) {
|
|
11332
|
+
// css var wins over visual child handling
|
|
11333
|
+
addStyle(value, name, stylesTarget, context);
|
|
11334
|
+
return false;
|
|
11326
11335
|
}
|
|
11327
|
-
if (
|
|
11328
|
-
|
|
11336
|
+
if (visualChildPropStrategy === "copy") {
|
|
11337
|
+
// we stylyze ourself + forward prop to the child
|
|
11338
|
+
addStyle(value, name, stylesTarget, context);
|
|
11329
11339
|
}
|
|
11330
|
-
return
|
|
11340
|
+
return true;
|
|
11331
11341
|
};
|
|
11332
|
-
const
|
|
11333
|
-
const
|
|
11334
|
-
|
|
11342
|
+
const assignStyle = (value, name, styleContext, boxStylesTarget, styleOrigin) => {
|
|
11343
|
+
const context = styleOrigin === "base_style" ? "js" : "css";
|
|
11344
|
+
const isCss = styleOrigin === "base_style" || styleOrigin === "style";
|
|
11345
|
+
if (isCss) {
|
|
11346
|
+
addStyle(value, name, boxStylesTarget, context);
|
|
11335
11347
|
return;
|
|
11336
11348
|
}
|
|
11337
|
-
const
|
|
11338
|
-
const
|
|
11339
|
-
if (
|
|
11340
|
-
|
|
11341
|
-
|
|
11349
|
+
const isPseudoStyle = styleOrigin === "pseudo_style";
|
|
11350
|
+
const mightStyle = isStyleProp(name);
|
|
11351
|
+
if (!mightStyle) {
|
|
11352
|
+
// not a style prop what do we do with it?
|
|
11353
|
+
if (shouldForwardAllToChild) {
|
|
11354
|
+
if (isPseudoStyle) ; else {
|
|
11355
|
+
childForwardedProps[name] = value;
|
|
11356
|
+
}
|
|
11357
|
+
} else {
|
|
11358
|
+
if (isPseudoStyle) {
|
|
11359
|
+
console.warn(`unsupported pseudo style key "${name}"`);
|
|
11360
|
+
}
|
|
11361
|
+
selfForwardedProps[name] = value;
|
|
11362
|
+
}
|
|
11363
|
+
return;
|
|
11342
11364
|
}
|
|
11343
|
-
if
|
|
11344
|
-
|
|
11345
|
-
|
|
11346
|
-
|
|
11365
|
+
// it's a style prop, we need first to check if we have css var to handle them
|
|
11366
|
+
// otherwise we decide to put it either on self or child
|
|
11367
|
+
const visualChildPropStrategy = visualSelector && getVisualChildStylePropStrategy(name);
|
|
11368
|
+
const getStyle = getHowToHandleStyleProp(name);
|
|
11369
|
+
if (
|
|
11370
|
+
// prop name === css style name
|
|
11371
|
+
!getStyle) {
|
|
11372
|
+
const needForwarding = addStyleMaybeForwarding(value, name, boxStylesTarget, context, visualChildPropStrategy);
|
|
11373
|
+
if (needForwarding) {
|
|
11374
|
+
if (isPseudoStyle) ; else {
|
|
11375
|
+
childForwardedProps[name] = value;
|
|
11376
|
+
}
|
|
11347
11377
|
}
|
|
11348
|
-
|
|
11349
|
-
|
|
11378
|
+
return;
|
|
11379
|
+
}
|
|
11380
|
+
const cssValues = getStyle(value, styleContext);
|
|
11381
|
+
if (!cssValues) {
|
|
11382
|
+
return;
|
|
11383
|
+
}
|
|
11384
|
+
let needForwarding = false;
|
|
11385
|
+
for (const styleName of Object.keys(cssValues)) {
|
|
11386
|
+
const cssValue = cssValues[styleName];
|
|
11387
|
+
needForwarding = addStyleMaybeForwarding(cssValue, styleName, boxStylesTarget, context, visualChildPropStrategy);
|
|
11388
|
+
}
|
|
11389
|
+
if (needForwarding) {
|
|
11390
|
+
if (isPseudoStyle) ; else {
|
|
11391
|
+
childForwardedProps[name] = value;
|
|
11350
11392
|
}
|
|
11351
11393
|
}
|
|
11352
11394
|
};
|
|
11353
|
-
|
|
11354
|
-
|
|
11395
|
+
if (baseStyle) {
|
|
11396
|
+
for (const key of baseStyle) {
|
|
11397
|
+
const value = baseStyle[key];
|
|
11398
|
+
assignStyle(value, key, styleContext, boxStyles, "baseStyle");
|
|
11399
|
+
}
|
|
11400
|
+
}
|
|
11401
|
+
const remainingPropKeyArray = Object.keys(rest);
|
|
11402
|
+
for (const propName of remainingPropKeyArray) {
|
|
11403
|
+
if (propName === "ref") {
|
|
11355
11404
|
// some props not destructured but that are neither
|
|
11356
11405
|
// style props, nor should be forwarded to the child
|
|
11357
11406
|
continue;
|
|
11358
11407
|
}
|
|
11359
|
-
const
|
|
11360
|
-
|
|
11408
|
+
const propValue = rest[propName];
|
|
11409
|
+
assignStyle(propValue, propName, styleContext, boxStyles, "prop");
|
|
11361
11410
|
}
|
|
11362
|
-
let pseudoNamedStyles = PSEUDO_NAMED_STYLES_DEFAULT;
|
|
11363
11411
|
if (pseudoStyle) {
|
|
11412
|
+
const assignPseudoStyle = (propValue, propName, pseudoStyleContext, pseudoStylesTarget) => {
|
|
11413
|
+
assignStyle(propValue, propName, pseudoStyleContext, pseudoStylesTarget, "pseudo_style");
|
|
11414
|
+
};
|
|
11364
11415
|
const pseudoStyleKeys = Object.keys(pseudoStyle);
|
|
11365
11416
|
if (pseudoStyleKeys.length) {
|
|
11366
|
-
|
|
11417
|
+
boxPseudoNamedStyles = {};
|
|
11367
11418
|
for (const key of pseudoStyleKeys) {
|
|
11368
11419
|
const pseudoStyleContext = {
|
|
11369
11420
|
...styleContext,
|
|
@@ -11381,9 +11432,9 @@ const Box = props => {
|
|
|
11381
11432
|
const pseudoClassStyle = pseudoStyle[key];
|
|
11382
11433
|
for (const pseudoClassStyleKey of Object.keys(pseudoClassStyle)) {
|
|
11383
11434
|
const pseudoClassStyleValue = pseudoClassStyle[pseudoClassStyleKey];
|
|
11384
|
-
|
|
11435
|
+
assignPseudoStyle(pseudoClassStyleValue, pseudoClassStyleKey, pseudoStyleContext, pseudoClassStyles);
|
|
11385
11436
|
}
|
|
11386
|
-
|
|
11437
|
+
boxPseudoNamedStyles[key] = pseudoClassStyles;
|
|
11387
11438
|
continue;
|
|
11388
11439
|
}
|
|
11389
11440
|
// pseudo element
|
|
@@ -11393,29 +11444,31 @@ const Box = props => {
|
|
|
11393
11444
|
const pseudoElementStyle = pseudoStyle[key];
|
|
11394
11445
|
for (const pseudoElementStyleKey of Object.keys(pseudoElementStyle)) {
|
|
11395
11446
|
const pseudoElementStyleValue = pseudoElementStyle[pseudoElementStyleKey];
|
|
11396
|
-
|
|
11447
|
+
assignPseudoStyle(pseudoElementStyleValue, pseudoElementStyleKey, pseudoStyleContext, pseudoElementStyles);
|
|
11397
11448
|
}
|
|
11398
|
-
|
|
11449
|
+
boxPseudoNamedStyles[key] = pseudoElementStyles;
|
|
11399
11450
|
continue;
|
|
11400
11451
|
}
|
|
11401
11452
|
console.warn(`unsupported pseudo style key "${key}"`);
|
|
11402
11453
|
}
|
|
11403
11454
|
}
|
|
11404
|
-
|
|
11455
|
+
childForwardedProps.pseudoStyle = pseudoStyle;
|
|
11405
11456
|
}
|
|
11406
11457
|
if (typeof style === "string") {
|
|
11407
|
-
|
|
11408
|
-
|
|
11458
|
+
const styleObject = normalizeStyles(style, "css");
|
|
11459
|
+
for (const styleName of Object.keys(styleObject)) {
|
|
11460
|
+
const styleValue = styleObject[styleName];
|
|
11461
|
+
assignStyle(styleValue, styleName, styleContext, boxStyles, "style");
|
|
11462
|
+
}
|
|
11409
11463
|
} else if (style && typeof style === "object") {
|
|
11410
|
-
for (const
|
|
11411
|
-
const
|
|
11412
|
-
assignStyle(
|
|
11413
|
-
styleDeps.push(stylePropValue); // impact box style -> add to deps
|
|
11464
|
+
for (const styleName of Object.keys(style)) {
|
|
11465
|
+
const styleValue = style[styleName];
|
|
11466
|
+
assignStyle(styleValue, styleName, styleContext, boxStyles, "style");
|
|
11414
11467
|
}
|
|
11415
11468
|
}
|
|
11416
11469
|
const updateStyle = useCallback(state => {
|
|
11417
11470
|
const boxEl = ref.current;
|
|
11418
|
-
applyStyle(boxEl, boxStyles, state,
|
|
11471
|
+
applyStyle(boxEl, boxStyles, state, boxPseudoNamedStyles);
|
|
11419
11472
|
}, styleDeps);
|
|
11420
11473
|
const finalStyleDeps = [pseudoStateSelector, innerPseudoState, updateStyle];
|
|
11421
11474
|
// By default ":hover", ":active" are not tracked.
|
|
@@ -11446,11 +11499,13 @@ const Box = props => {
|
|
|
11446
11499
|
return null;
|
|
11447
11500
|
}
|
|
11448
11501
|
const pseudoStateEl = pseudoStateSelector ? boxEl.querySelector(pseudoStateSelector) : boxEl;
|
|
11502
|
+
const visualEl = visualSelector ? boxEl.querySelector(visualSelector) : null;
|
|
11449
11503
|
return initPseudoStyles(pseudoStateEl, {
|
|
11450
11504
|
pseudoClasses: innerPseudoClasses,
|
|
11451
11505
|
pseudoState: innerPseudoState,
|
|
11452
11506
|
effect: updateStyle,
|
|
11453
|
-
elementToImpact: boxEl
|
|
11507
|
+
elementToImpact: boxEl,
|
|
11508
|
+
elementListeningPseudoState: visualEl
|
|
11454
11509
|
});
|
|
11455
11510
|
}, finalStyleDeps);
|
|
11456
11511
|
}
|
|
@@ -11461,9 +11516,9 @@ const Box = props => {
|
|
|
11461
11516
|
let innerChildren;
|
|
11462
11517
|
if (hasChildFunction) {
|
|
11463
11518
|
if (Array.isArray(children)) {
|
|
11464
|
-
innerChildren = children.map(child => typeof child === "function" ? child(
|
|
11519
|
+
innerChildren = children.map(child => typeof child === "function" ? child(childForwardedProps) : child);
|
|
11465
11520
|
} else if (typeof children === "function") {
|
|
11466
|
-
innerChildren = children(
|
|
11521
|
+
innerChildren = children(childForwardedProps);
|
|
11467
11522
|
} else {
|
|
11468
11523
|
innerChildren = children;
|
|
11469
11524
|
}
|
|
@@ -11476,7 +11531,7 @@ const Box = props => {
|
|
|
11476
11531
|
"data-layout-inline": inline ? "" : undefined,
|
|
11477
11532
|
"data-layout-row": row ? "" : undefined,
|
|
11478
11533
|
"data-layout-column": column ? "" : undefined,
|
|
11479
|
-
...
|
|
11534
|
+
...selfForwardedProps,
|
|
11480
11535
|
children: jsx(BoxLayoutContext.Provider, {
|
|
11481
11536
|
value: layout,
|
|
11482
11537
|
children: innerChildren
|
|
@@ -16573,10 +16628,9 @@ installImportMetaCss(import.meta);import.meta.css = /* css */`
|
|
|
16573
16628
|
display: inline-flex;
|
|
16574
16629
|
box-sizing: border-box;
|
|
16575
16630
|
padding: 0;
|
|
16576
|
-
flex-direction: inherit;
|
|
16577
16631
|
background: none;
|
|
16578
16632
|
border: none;
|
|
16579
|
-
border-radius:
|
|
16633
|
+
border-radius: var(--x-border-radius);
|
|
16580
16634
|
outline: none;
|
|
16581
16635
|
cursor: pointer;
|
|
16582
16636
|
}
|
|
@@ -16752,7 +16806,7 @@ const ButtonBasic = props => {
|
|
|
16752
16806
|
return jsxs(Box, {
|
|
16753
16807
|
...buttonProps,
|
|
16754
16808
|
as: "span",
|
|
16755
|
-
|
|
16809
|
+
className: "navi_button_content",
|
|
16756
16810
|
children: [innerChildren, jsx("span", {
|
|
16757
16811
|
className: "navi_button_shadow"
|
|
16758
16812
|
})]
|
|
@@ -21654,15 +21708,15 @@ const DialogLayout = ({
|
|
|
21654
21708
|
...props
|
|
21655
21709
|
}) => {
|
|
21656
21710
|
return jsx(Box, {
|
|
21657
|
-
|
|
21711
|
+
baseClassName: "navi_dialog_layout",
|
|
21658
21712
|
managedByCSSVars: DialogManagedByCSSVars,
|
|
21659
21713
|
visualSelector: ".navi_dialog_content",
|
|
21660
21714
|
...props,
|
|
21661
|
-
contentAlignX: contentAlignX,
|
|
21662
|
-
contentAlignY: contentAlignY,
|
|
21663
21715
|
children: jsx(Box, {
|
|
21664
|
-
className: "navi_dialog_content",
|
|
21665
21716
|
row: true,
|
|
21717
|
+
className: "navi_dialog_content",
|
|
21718
|
+
contentAlignX: contentAlignX,
|
|
21719
|
+
contentAlignY: contentAlignY,
|
|
21666
21720
|
children: children
|
|
21667
21721
|
})
|
|
21668
21722
|
});
|