Private
Public Access
1
0
Files

65 lines
1.9 KiB
JavaScript

'use client';
import { makeResetStyles, makeStyles, mergeClasses } from '@griffel/react';
import { typographyStyles } from '@fluentui/react-theme';
import { createFocusOutlineStyle } from '@fluentui/react-tabster';
export const dialogTitleClassNames = {
root: 'fui-DialogTitle',
action: 'fui-DialogTitle__action'
};
/**
* Styles for the root slot
*/ const useRootResetStyles = makeResetStyles({
...typographyStyles.subtitle1,
margin: 0,
gridRowStart: 1,
gridRowEnd: 1,
gridColumnStart: 1,
gridColumnEnd: 3
});
const useStyles = makeStyles({
rootWithoutAction: {
gridColumnEnd: 4
}
});
/**
* Styles for the action slot
*/ const useActionResetStyles = makeResetStyles({
gridRowStart: 1,
gridRowEnd: 1,
gridColumnStart: 3,
justifySelf: 'end',
alignSelf: 'start'
});
/**
* Styles to be applied on internal elements used by default action on non-modal Dialog
* @internal
*/ export const useDialogTitleInternalStyles = makeResetStyles({
...createFocusOutlineStyle(),
overflow: 'visible',
padding: 0,
borderStyle: 'none',
position: 'relative',
boxSizing: 'content-box',
backgroundColor: 'inherit',
color: 'inherit',
fontFamily: 'inherit',
fontSize: 'inherit',
cursor: 'pointer',
lineHeight: 0,
WebkitAppearance: 'button',
textAlign: 'unset'
});
/**
* Apply styling to the DialogTitle slots based on the state
*/ export const useDialogTitleStyles_unstable = (state)=>{
'use no memo';
const rootResetStyles = useRootResetStyles();
const actionResetStyles = useActionResetStyles();
const styles = useStyles();
state.root.className = mergeClasses(dialogTitleClassNames.root, rootResetStyles, !state.action && styles.rootWithoutAction, state.root.className);
if (state.action) {
state.action.className = mergeClasses(dialogTitleClassNames.action, actionResetStyles, state.action.className);
}
return state;
};