194 lines
7.0 KiB
JavaScript
194 lines
7.0 KiB
JavaScript
'use client';
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
treeItemLayoutClassNames: function() {
|
|
return treeItemLayoutClassNames;
|
|
},
|
|
useTreeItemLayoutStyles_unstable: function() {
|
|
return useTreeItemLayoutStyles_unstable;
|
|
}
|
|
});
|
|
const _react = require("@griffel/react");
|
|
const _reacttheme = require("@fluentui/react-theme");
|
|
const _treeContext = require("../../contexts/treeContext");
|
|
const _tokens = require("../../utils/tokens");
|
|
const _treeItemContext = require("../../contexts/treeItemContext");
|
|
const treeItemLayoutClassNames = {
|
|
root: 'fui-TreeItemLayout',
|
|
iconBefore: 'fui-TreeItemLayout__iconBefore',
|
|
main: 'fui-TreeItemLayout__main',
|
|
iconAfter: 'fui-TreeItemLayout__iconAfter',
|
|
expandIcon: 'fui-TreeItemLayout__expandIcon',
|
|
aside: 'fui-TreeItemLayout__aside',
|
|
actions: 'fui-TreeItemLayout__actions',
|
|
selector: 'fui-TreeItemLayout__selector'
|
|
};
|
|
const useRootBaseStyles = (0, _react.makeResetStyles)({
|
|
display: 'flex',
|
|
alignItems: 'center',
|
|
minHeight: '32px',
|
|
boxSizing: 'border-box',
|
|
gridArea: 'layout',
|
|
':hover': {
|
|
color: _reacttheme.tokens.colorNeutralForeground2Hover,
|
|
backgroundColor: _reacttheme.tokens.colorSubtleBackgroundHover,
|
|
// TODO: stop using treeItemLayoutClassNames.expandIcon for styling
|
|
[`& .${treeItemLayoutClassNames.expandIcon}`]: {
|
|
color: _reacttheme.tokens.colorNeutralForeground3Hover
|
|
}
|
|
},
|
|
':active': {
|
|
color: _reacttheme.tokens.colorNeutralForeground2Pressed,
|
|
backgroundColor: _reacttheme.tokens.colorSubtleBackgroundPressed,
|
|
// TODO: stop using treeItemLayoutClassNames.expandIcon for styling
|
|
[`& .${treeItemLayoutClassNames.expandIcon}`]: {
|
|
color: _reacttheme.tokens.colorNeutralForeground3Pressed
|
|
}
|
|
}
|
|
});
|
|
/**
|
|
* Styles for the root slot
|
|
*/ const useRootStyles = (0, _react.makeStyles)({
|
|
leaf: {
|
|
paddingLeft: `calc(var(${_tokens.treeItemLevelToken}, 1) * ${_reacttheme.tokens.spacingHorizontalXXL})`
|
|
},
|
|
branch: {
|
|
paddingLeft: `calc((var(${_tokens.treeItemLevelToken}, 1) - 1) * ${_reacttheme.tokens.spacingHorizontalXXL})`
|
|
},
|
|
medium: {
|
|
..._reacttheme.typographyStyles.body1
|
|
},
|
|
small: {
|
|
minHeight: '24px',
|
|
..._reacttheme.typographyStyles.caption1
|
|
},
|
|
// Appearance variations
|
|
subtle: {},
|
|
'subtle-alpha': {
|
|
':hover': {
|
|
backgroundColor: _reacttheme.tokens.colorSubtleBackgroundLightAlphaHover
|
|
},
|
|
':active': {
|
|
backgroundColor: _reacttheme.tokens.colorSubtleBackgroundLightAlphaPressed
|
|
}
|
|
},
|
|
transparent: {
|
|
backgroundColor: _reacttheme.tokens.colorTransparentBackground,
|
|
':hover': {
|
|
backgroundColor: _reacttheme.tokens.colorTransparentBackgroundHover
|
|
},
|
|
':active': {
|
|
backgroundColor: _reacttheme.tokens.colorTransparentBackgroundPressed
|
|
}
|
|
}
|
|
});
|
|
/**
|
|
* Styles for the action icon slot
|
|
*/ const useActionsBaseStyles = (0, _react.makeResetStyles)({
|
|
display: 'flex',
|
|
marginLeft: 'auto',
|
|
position: 'relative',
|
|
zIndex: 1,
|
|
gridArea: 'aside',
|
|
padding: `0 ${_reacttheme.tokens.spacingHorizontalS}`
|
|
});
|
|
/**
|
|
* Styles for the action icon slot
|
|
*/ const useAsideBaseStyles = (0, _react.makeResetStyles)({
|
|
display: 'flex',
|
|
marginLeft: 'auto',
|
|
alignItems: 'center',
|
|
zIndex: 0,
|
|
gridArea: 'aside',
|
|
padding: `0 ${_reacttheme.tokens.spacingHorizontalM}`,
|
|
gap: _reacttheme.tokens.spacingHorizontalXS
|
|
});
|
|
/**
|
|
* Styles for the expand icon slot
|
|
*/ const useExpandIconBaseStyles = (0, _react.makeResetStyles)({
|
|
display: 'flex',
|
|
alignItems: 'center',
|
|
justifyContent: 'center',
|
|
minWidth: '24px',
|
|
boxSizing: 'border-box',
|
|
color: _reacttheme.tokens.colorNeutralForeground3,
|
|
flex: `0 0 auto`,
|
|
padding: `${_reacttheme.tokens.spacingVerticalXS} 0`
|
|
});
|
|
/**
|
|
* Styles for the content slot
|
|
*/ const useMainBaseStyles = (0, _react.makeResetStyles)({
|
|
padding: `0 ${_reacttheme.tokens.spacingHorizontalXXS}`
|
|
});
|
|
/**
|
|
* Styles for the before/after icon slot
|
|
*/ const useIconBaseStyles = (0, _react.makeResetStyles)({
|
|
display: 'flex',
|
|
alignItems: 'center',
|
|
color: _reacttheme.tokens.colorNeutralForeground2,
|
|
lineHeight: _reacttheme.tokens.lineHeightBase500,
|
|
fontSize: _reacttheme.tokens.fontSizeBase500
|
|
});
|
|
const useIconBeforeStyles = (0, _react.makeStyles)({
|
|
medium: {
|
|
paddingRight: _reacttheme.tokens.spacingHorizontalXS
|
|
},
|
|
small: {
|
|
paddingRight: _reacttheme.tokens.spacingHorizontalXXS
|
|
}
|
|
});
|
|
const useIconAfterStyles = (0, _react.makeStyles)({
|
|
medium: {
|
|
paddingLeft: _reacttheme.tokens.spacingHorizontalXS
|
|
},
|
|
small: {
|
|
paddingLeft: _reacttheme.tokens.spacingHorizontalXXS
|
|
}
|
|
});
|
|
const useTreeItemLayoutStyles_unstable = (state)=>{
|
|
'use no memo';
|
|
const { main, iconAfter, iconBefore, expandIcon, root, aside, actions, selector } = state;
|
|
const rootStyles = useRootStyles();
|
|
const rootBaseStyles = useRootBaseStyles();
|
|
const actionsBaseStyles = useActionsBaseStyles();
|
|
const asideBaseStyles = useAsideBaseStyles();
|
|
const mainBaseStyles = useMainBaseStyles();
|
|
const expandIconBaseStyles = useExpandIconBaseStyles();
|
|
const iconBaseStyles = useIconBaseStyles();
|
|
const iconBeforeStyles = useIconBeforeStyles();
|
|
const iconAfterStyles = useIconAfterStyles();
|
|
const size = (0, _treeContext.useTreeContext_unstable)((ctx)=>ctx.size);
|
|
const appearance = (0, _treeContext.useTreeContext_unstable)((ctx)=>ctx.appearance);
|
|
const itemType = (0, _treeItemContext.useTreeItemContext_unstable)((ctx)=>ctx.itemType);
|
|
root.className = (0, _react.mergeClasses)(treeItemLayoutClassNames.root, rootBaseStyles, rootStyles[appearance], rootStyles[size], rootStyles[itemType], root.className);
|
|
main.className = (0, _react.mergeClasses)(treeItemLayoutClassNames.main, mainBaseStyles, main.className);
|
|
if (expandIcon) {
|
|
expandIcon.className = (0, _react.mergeClasses)(treeItemLayoutClassNames.expandIcon, expandIconBaseStyles, expandIcon.className);
|
|
}
|
|
if (iconBefore) {
|
|
iconBefore.className = (0, _react.mergeClasses)(treeItemLayoutClassNames.iconBefore, iconBaseStyles, iconBeforeStyles[size], iconBefore.className);
|
|
}
|
|
if (iconAfter) {
|
|
iconAfter.className = (0, _react.mergeClasses)(treeItemLayoutClassNames.iconAfter, iconBaseStyles, iconAfterStyles[size], iconAfter.className);
|
|
}
|
|
if (actions) {
|
|
actions.className = (0, _react.mergeClasses)(treeItemLayoutClassNames.actions, actionsBaseStyles, actions.className);
|
|
}
|
|
if (aside) {
|
|
aside.className = (0, _react.mergeClasses)(treeItemLayoutClassNames.aside, asideBaseStyles, aside.className);
|
|
}
|
|
if (selector) {
|
|
selector.className = (0, _react.mergeClasses)(treeItemLayoutClassNames.selector, selector.className);
|
|
}
|
|
return state;
|
|
};
|