Private
Public Access
1
0

feat: Fluent UI Outlook Lite + connections mockup

This commit is contained in:
2026-04-14 18:52:25 +00:00
parent 1199eff6c3
commit dfa4010406
34820 changed files with 1003813 additions and 205 deletions

View File

@@ -0,0 +1,25 @@
'use client';
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "MenuSplitGroup", {
enumerable: true,
get: function() {
return MenuSplitGroup;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _useMenuSplitGroup = require("./useMenuSplitGroup");
const _renderMenuSplitGroup = require("./renderMenuSplitGroup");
const _useMenuSplitGroupStylesstyles = require("./useMenuSplitGroupStyles.styles");
const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
const _useMenuSplitGroupContextValues = require("./useMenuSplitGroupContextValues");
const MenuSplitGroup = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
const state = (0, _useMenuSplitGroup.useMenuSplitGroup_unstable)(props, ref);
(0, _useMenuSplitGroupStylesstyles.useMenuSplitGroupStyles_unstable)(state);
(0, _reactsharedcontexts.useCustomStyleHook_unstable)('useMenuSplitGroupStyles_unstable')(state);
return (0, _renderMenuSplitGroup.renderMenuSplitGroup_unstable)(state, (0, _useMenuSplitGroupContextValues.useMenuSplitGroupContextValues)(state));
});
MenuSplitGroup.displayName = 'MenuSplitGroup';

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MenuSplitGroup/MenuSplitGroup.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useMenuSplitGroup_unstable } from './useMenuSplitGroup';\nimport { renderMenuSplitGroup_unstable } from './renderMenuSplitGroup';\nimport { useMenuSplitGroupStyles_unstable } from './useMenuSplitGroupStyles.styles';\nimport type { MenuSplitGroupProps } from './MenuSplitGroup.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useMenuSplitGroupContextValues } from './useMenuSplitGroupContextValues';\n\n/**\n * Layout wrapper that provides extra keyboard navigation behavior for two `MenuItem` components.\n */\nexport const MenuSplitGroup: ForwardRefComponent<MenuSplitGroupProps> = React.forwardRef((props, ref) => {\n const state = useMenuSplitGroup_unstable(props, ref);\n\n useMenuSplitGroupStyles_unstable(state);\n\n useCustomStyleHook_unstable('useMenuSplitGroupStyles_unstable')(state);\n\n return renderMenuSplitGroup_unstable(state, useMenuSplitGroupContextValues(state));\n});\n\nMenuSplitGroup.displayName = 'MenuSplitGroup';\n"],"names":["React","useMenuSplitGroup_unstable","renderMenuSplitGroup_unstable","useMenuSplitGroupStyles_unstable","useCustomStyleHook_unstable","useMenuSplitGroupContextValues","MenuSplitGroup","forwardRef","props","ref","state","displayName"],"mappings":"AAAA;;;;;;;;;;;;iEAEuB,QAAQ;mCACY,sBAAsB;sCACnB,yBAAyB;+CACtB,mCAAmC;qCAGxC,kCAAkC;gDAC/B,mCAAmC;AAK3E,MAAMM,iBAAAA,WAAAA,GAA2DN,OAAMO,UAAU,CAAC,CAACC,OAAOC;IAC/F,MAAMC,YAAQT,6CAAAA,EAA2BO,OAAOC;QAEhDN,+DAAAA,EAAiCO;QAEjCN,gDAAAA,EAA4B,oCAAoCM;IAEhE,WAAOR,mDAAAA,EAA8BQ,WAAOL,8DAAAA,EAA+BK;AAC7E,GAAG;AAEHJ,eAAeK,WAAW,GAAG"}

View File

@@ -0,0 +1,6 @@
/**
* State used in rendering MenuSplitGroup
*/ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MenuSplitGroup/MenuSplitGroup.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport { MenuSplitGroupContextValue } from '../../contexts/menuSplitGroupContext';\n\nexport type MenuSplitGroupSlots = {\n root: Slot<'div'>;\n};\n\nexport type MenuSplitGroupContextValues = {\n menuSplitGroup: MenuSplitGroupContextValue;\n};\n\n/**\n * MenuSplitGroup Props\n */\nexport type MenuSplitGroupProps = ComponentProps<MenuSplitGroupSlots>;\n\n/**\n * State used in rendering MenuSplitGroup\n */\nexport type MenuSplitGroupState = ComponentState<MenuSplitGroupSlots> &\n Pick<MenuSplitGroupContextValue, 'setMultiline'>;\n"],"names":[],"mappings":"AAgBA;;CAEC,GACD,WACmD"}

View File

@@ -0,0 +1,31 @@
"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, {
MenuSplitGroup: function() {
return _MenuSplitGroup.MenuSplitGroup;
},
menuSplitGroupClassNames: function() {
return _useMenuSplitGroupStylesstyles.menuSplitGroupClassNames;
},
renderMenuSplitGroup_unstable: function() {
return _renderMenuSplitGroup.renderMenuSplitGroup_unstable;
},
useMenuSplitGroupStyles_unstable: function() {
return _useMenuSplitGroupStylesstyles.useMenuSplitGroupStyles_unstable;
},
useMenuSplitGroup_unstable: function() {
return _useMenuSplitGroup.useMenuSplitGroup_unstable;
}
});
const _MenuSplitGroup = require("./MenuSplitGroup");
const _renderMenuSplitGroup = require("./renderMenuSplitGroup");
const _useMenuSplitGroup = require("./useMenuSplitGroup");
const _useMenuSplitGroupStylesstyles = require("./useMenuSplitGroupStyles.styles");

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MenuSplitGroup/index.ts"],"sourcesContent":["export { MenuSplitGroup } from './MenuSplitGroup';\nexport type { MenuSplitGroupProps, MenuSplitGroupSlots, MenuSplitGroupState } from './MenuSplitGroup.types';\nexport { renderMenuSplitGroup_unstable } from './renderMenuSplitGroup';\nexport { useMenuSplitGroup_unstable } from './useMenuSplitGroup';\nexport { menuSplitGroupClassNames, useMenuSplitGroupStyles_unstable } from './useMenuSplitGroupStyles.styles';\n"],"names":["MenuSplitGroup","renderMenuSplitGroup_unstable","useMenuSplitGroup_unstable","menuSplitGroupClassNames","useMenuSplitGroupStyles_unstable"],"mappings":";;;;;;;;;;;;eAASA,8BAAc;;;eAIdG,uDAAwB;;;eAFxBF,mDAA6B;;;eAEHG,+DAAgC;;;eAD1DF,6CAA0B;;;gCAHJ,mBAAmB;sCAEJ,yBAAyB;mCAC5B,sBAAsB;+CACU,mCAAmC"}

View File

@@ -0,0 +1,21 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "renderMenuSplitGroup_unstable", {
enumerable: true,
get: function() {
return renderMenuSplitGroup_unstable;
}
});
const _jsxruntime = require("@fluentui/react-jsx-runtime/jsx-runtime");
const _reactutilities = require("@fluentui/react-utilities");
const _menuSplitGroupContext = require("../../contexts/menuSplitGroupContext");
const renderMenuSplitGroup_unstable = (state, contexts)=>{
(0, _reactutilities.assertSlots)(state);
var _contexts_menuSplitGroup;
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_menuSplitGroupContext.MenuSplitGroupContextProvider, {
value: (_contexts_menuSplitGroup = contexts === null || contexts === void 0 ? void 0 : contexts.menuSplitGroup) !== null && _contexts_menuSplitGroup !== void 0 ? _contexts_menuSplitGroup : _menuSplitGroupContext.menuSplitGroupContextDefaultValue,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(state.root, {})
});
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MenuSplitGroup/renderMenuSplitGroup.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { JSXElement } from '@fluentui/react-utilities';\nimport type { MenuSplitGroupState, MenuSplitGroupSlots, MenuSplitGroupContextValues } from './MenuSplitGroup.types';\nimport { menuSplitGroupContextDefaultValue, MenuSplitGroupContextProvider } from '../../contexts/menuSplitGroupContext';\n\n/**\n * Render the final JSX of MenuSplitGroup\n */\nexport const renderMenuSplitGroup_unstable = (\n state: MenuSplitGroupState,\n contexts?: MenuSplitGroupContextValues,\n): JSXElement => {\n assertSlots<MenuSplitGroupSlots>(state);\n\n return (\n <MenuSplitGroupContextProvider value={contexts?.menuSplitGroup ?? menuSplitGroupContextDefaultValue}>\n <state.root />\n </MenuSplitGroupContextProvider>\n );\n};\n"],"names":["assertSlots","menuSplitGroupContextDefaultValue","MenuSplitGroupContextProvider","renderMenuSplitGroup_unstable","state","contexts","value","menuSplitGroup","root"],"mappings":";;;;+BAUaG;;;;;;4BATb,gDAAiD;gCACrB,4BAA4B;uCAGyB,uCAAuC;AAKjH,sCAAsC,CAC3CC,OACAC;QAEAL,2BAAAA,EAAiCI;QAGOC;IADxC,OAAA,WAAA,OACE,eAAA,EAACH,oDAAAA,EAAAA;QAA8BI,OAAOD,4BAAAA,aAAAA,QAAAA,aAAAA,KAAAA,IAAAA,KAAAA,IAAAA,SAAUE,cAAAA,AAAc,MAAA,QAAxBF,6BAAAA,KAAAA,IAAAA,2BAA4BJ,wDAAAA;kBAChE,WAAA,OAAA,eAAA,EAACG,MAAMI,IAAI,EAAA,CAAA;;AAGjB,EAAE"}

View File

@@ -0,0 +1,98 @@
'use client';
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "useMenuSplitGroup_unstable", {
enumerable: true,
get: function() {
return useMenuSplitGroup_unstable;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _reactutilities = require("@fluentui/react-utilities");
const _reacttabster = require("@fluentui/react-tabster");
const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
const _keyboardkeys = require("@fluentui/keyboard-keys");
const _useMenuSplitGroupStylesstyles = require("./useMenuSplitGroupStyles.styles");
const useMenuSplitGroup_unstable = (props, ref)=>{
const innerRef = _react.useRef(undefined);
const { dir, targetDocument } = (0, _reactsharedcontexts.useFluent_unstable)();
const nextArrowKey = (0, _reactutilities.getRTLSafeKey)(_keyboardkeys.ArrowRight, dir);
const prevArrowKey = (0, _reactutilities.getRTLSafeKey)(_keyboardkeys.ArrowLeft, dir);
const { findNextFocusable, findPrevFocusable } = (0, _reacttabster.useFocusFinders)();
const { multilineRef, setMultiline } = useHandleMultilineMenuItem();
const onKeyDown = _react.useCallback((e)=>{
var _innerRef_current;
const activeElement = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.activeElement;
if (!activeElement) {
return;
}
if (!((_innerRef_current = innerRef.current) === null || _innerRef_current === void 0 ? void 0 : _innerRef_current.contains(activeElement))) {
return;
}
if (e.key === nextArrowKey) {
const next = findNextFocusable(activeElement, {
container: innerRef.current
});
next === null || next === void 0 ? void 0 : next.focus();
}
if (e.key === prevArrowKey) {
const prev = findPrevFocusable(activeElement, {
container: innerRef.current
});
prev === null || prev === void 0 ? void 0 : prev.focus();
}
}, [
findNextFocusable,
findPrevFocusable,
targetDocument,
nextArrowKey,
prevArrowKey
]);
return {
components: {
root: 'div'
},
setMultiline,
root: _reactutilities.slot.always((0, _reactutilities.getIntrinsicElementProps)('div', {
role: 'group',
// FIXME:
// `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`
// but since it would be a breaking change to fix it, we are casting ref to it's proper type
ref: (0, _reactutilities.useMergedRefs)(ref, innerRef, multilineRef),
onKeyDown,
...props
}), {
elementType: 'div'
})
};
};
/**
* Creates a callback that lets a multiline menu item child set an attribute on this component
* Children can mount before parents so we need to store the value and apply it when the parent is mounted
*/ const useHandleMultilineMenuItem = ()=>{
const [handle] = _react.useState(()=>{
let isMultiline = false;
let multilineNode = null;
function applyAttr() {
multilineNode === null || multilineNode === void 0 ? void 0 : multilineNode.toggleAttribute(_useMenuSplitGroupStylesstyles.menuSplitGroupMultilineAttr, isMultiline);
}
return {
multilineRef: (node)=>{
if (node) {
multilineNode = node;
applyAttr();
} else {
multilineNode = null;
}
},
setMultiline: (value)=>{
isMultiline = value;
applyAttr();
}
};
});
return handle;
};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,25 @@
'use client';
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "useMenuSplitGroupContextValues", {
enumerable: true,
get: function() {
return useMenuSplitGroupContextValues;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const useMenuSplitGroupContextValues = (state)=>{
'use no memo';
return _react.useMemo(()=>{
return {
menuSplitGroup: {
setMultiline: state.setMultiline
}
};
}, [
state.setMultiline
]);
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MenuSplitGroup/useMenuSplitGroupContextValues.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { MenuSplitGroupContextValues, MenuSplitGroupState } from './MenuSplitGroup.types';\n\nexport const useMenuSplitGroupContextValues = (state: MenuSplitGroupState): MenuSplitGroupContextValues => {\n 'use no memo';\n\n return React.useMemo(() => {\n return {\n menuSplitGroup: {\n setMultiline: state.setMultiline,\n },\n };\n }, [state.setMultiline]);\n};\n"],"names":["React","useMenuSplitGroupContextValues","state","useMemo","menuSplitGroup","setMultiline"],"mappings":"AAAA;;;;;;;;;;;;iEAEuB,QAAQ;AAGxB,MAAMC,iCAAiC,CAACC;IAC7C;IAEA,OAAOF,OAAMG,OAAO,CAAC;QACnB,OAAO;YACLC,gBAAgB;gBACdC,cAAcH,MAAMG,YAAY;YAClC;QACF;IACF,GAAG;QAACH,MAAMG,YAAY;KAAC;AACzB,EAAE"}

View File

@@ -0,0 +1,83 @@
'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, {
menuSplitGroupClassNames: function() {
return menuSplitGroupClassNames;
},
menuSplitGroupMultilineAttr: function() {
return menuSplitGroupMultilineAttr;
},
useMenuSplitGroupStyles_unstable: function() {
return useMenuSplitGroupStyles_unstable;
}
});
const _react = require("@griffel/react");
const menuSplitGroupMultilineAttr = 'data-multiline';
const menuSplitGroupClassNames = {
root: 'fui-MenuSplitGroup'
};
/**
* Styles for the root slot
* TODO - remove the use of nested combinators to style child menu items
*/ const useStyles = /*#__PURE__*/ (0, _react.__styles)({
root: {
Bhlrgs3: "f1v24km9",
mc9l5x: "f22iagw",
rue6gn: 0,
oe75ve: 0,
Bbblmiw: 0,
Bn2ps6a: "fa49so4",
Bu15iap: [
"fsdyxoe",
"fuk6rhi"
],
B71tm0z: [
"fn8z6db",
"f1be8c1t"
],
Gjs4sj: [
"f1vtn0lh",
"f8hq2kl"
],
foni4y: "f7j48hl",
Ie9k5m: "f13du8c1",
f30fub: "fe64lw1",
Jberyy: "f92oj5h"
}
}, {
d: [
".f1v24km9[data-multiline]>.fui-MenuItem:nth-of-type(2){align-self:center;}",
".f22iagw{display:flex;}",
[
".fa49so4>.fui-MenuItem:nth-of-type(1){flex:1;}",
{
p: -1
}
],
".fsdyxoe>.fui-MenuItem:nth-of-type(2){border-top-left-radius:0;}",
".fuk6rhi>.fui-MenuItem:nth-of-type(2){border-top-right-radius:0;}",
".fn8z6db>.fui-MenuItem:nth-of-type(2){border-bottom-left-radius:0;}",
".f1be8c1t>.fui-MenuItem:nth-of-type(2){border-bottom-right-radius:0;}",
".f1vtn0lh>.fui-MenuItem:nth-of-type(2){padding-left:0;}",
".f8hq2kl>.fui-MenuItem:nth-of-type(2){padding-right:0;}",
".f7j48hl>.fui-MenuItem:nth-of-type(2)::before{content:\"\";}",
".f13du8c1>.fui-MenuItem:nth-of-type(2)::before{width:var(--strokeWidthThin);}",
".fe64lw1>.fui-MenuItem:nth-of-type(2)::before{height:20px;}",
".f92oj5h>.fui-MenuItem:nth-of-type(2)::before{background-color:var(--colorNeutralStroke1);}"
]
});
const useMenuSplitGroupStyles_unstable = (state)=>{
'use no memo';
const styles = useStyles();
state.root.className = (0, _react.mergeClasses)(menuSplitGroupClassNames.root, styles.root, state.root.className);
return state;
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["useMenuSplitGroupStyles.styles.js"],"sourcesContent":["'use client';\nimport { makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { menuItemClassNames } from '../MenuItem/useMenuItemStyles.styles';\nexport const menuSplitGroupMultilineAttr = 'data-multiline';\nexport const menuSplitGroupClassNames = {\n root: 'fui-MenuSplitGroup'\n};\n/**\n * Styles for the root slot\n * TODO - remove the use of nested combinators to style child menu items\n */ const useStyles = makeStyles({\n root: {\n [`[${menuSplitGroupMultilineAttr}]`]: {\n [`& > .${menuItemClassNames.root}:nth-of-type(2)`]: {\n alignSelf: 'center'\n }\n },\n display: 'flex',\n [`& > .${menuItemClassNames.root}:nth-of-type(1)`]: {\n flex: 1\n },\n [`& > .${menuItemClassNames.root}:nth-of-type(2)`]: {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n paddingLeft: 0,\n '::before': {\n content: '\"\"',\n width: tokens.strokeWidthThin,\n height: '20px',\n backgroundColor: tokens.colorNeutralStroke1\n }\n }\n }\n});\n/**\n * Apply styling to the MenuSplitGroup slots based on the state\n */ export const useMenuSplitGroupStyles_unstable = (state)=>{\n 'use no memo';\n const styles = useStyles();\n state.root.className = mergeClasses(menuSplitGroupClassNames.root, styles.root, state.root.className);\n return state;\n};\n"],"names":["__styles","mergeClasses","tokens","menuItemClassNames","menuSplitGroupMultilineAttr","menuSplitGroupClassNames","root","useStyles","Bhlrgs3","mc9l5x","rue6gn","oe75ve","Bbblmiw","Bn2ps6a","Bu15iap","B71tm0z","Gjs4sj","foni4y","Ie9k5m","f30fub","Jberyy","d","p","useMenuSplitGroupStyles_unstable","state","styles","className"],"mappings":"AAAA,YAAY;;;;;;;;;;;;IAKCK,wBAAwB;;;+BADG;;;oCAiCS;;;;uBApCR,gBAAgB;AAGlD,MAAMD,8BAA8B,gBAAgB;AACpD,iCAAiC;IACpCE,IAAI,EAAE;AACV,CAAC;AACD;;;CAGA,GAAI,MAAMC,SAAS,GAAA,WAAA,OAAGP,eAAA,EAAA;IAAAM,IAAA,EAAA;QAAAE,OAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;YAAA;YAAA;SAAA;QAAAC,OAAA,EAAA;YAAA;YAAA;SAAA;QAAAC,MAAA,EAAA;YAAA;YAAA;SAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;IAAA;AAAA,GAAA;IAAAC,CAAA,EAAA;QAAA;QAAA;QAAA;YAAA;YAAA;gBAAAC,CAAA,EAAA,CAAA;YAAA;SAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;KAAA;AAAA,CAuBrB,CAAC;AAGS,MAAMC,oCAAoCC,KAAK,IAAG;IACzD,aAAa;IACb,MAAMC,MAAM,GAAGlB,SAAS,CAAC,CAAC;IAC1BiB,KAAK,CAAClB,IAAI,CAACoB,SAAS,OAAGzB,mBAAY,EAACI,wBAAwB,CAACC,IAAI,EAAEmB,MAAM,CAACnB,IAAI,EAAEkB,KAAK,CAAClB,IAAI,CAACoB,SAAS,CAAC;IACrG,OAAOF,KAAK;AAChB,CAAC"}

View File

@@ -0,0 +1,62 @@
'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, {
menuSplitGroupClassNames: function() {
return menuSplitGroupClassNames;
},
menuSplitGroupMultilineAttr: function() {
return menuSplitGroupMultilineAttr;
},
useMenuSplitGroupStyles_unstable: function() {
return useMenuSplitGroupStyles_unstable;
}
});
const _react = require("@griffel/react");
const _reacttheme = require("@fluentui/react-theme");
const _useMenuItemStylesstyles = require("../MenuItem/useMenuItemStyles.styles");
const menuSplitGroupMultilineAttr = 'data-multiline';
const menuSplitGroupClassNames = {
root: 'fui-MenuSplitGroup'
};
/**
* Styles for the root slot
* TODO - remove the use of nested combinators to style child menu items
*/ const useStyles = (0, _react.makeStyles)({
root: {
[`[${menuSplitGroupMultilineAttr}]`]: {
[`& > .${_useMenuItemStylesstyles.menuItemClassNames.root}:nth-of-type(2)`]: {
alignSelf: 'center'
}
},
display: 'flex',
[`& > .${_useMenuItemStylesstyles.menuItemClassNames.root}:nth-of-type(1)`]: {
flex: 1
},
[`& > .${_useMenuItemStylesstyles.menuItemClassNames.root}:nth-of-type(2)`]: {
borderTopLeftRadius: 0,
borderBottomLeftRadius: 0,
paddingLeft: 0,
'::before': {
content: '""',
width: _reacttheme.tokens.strokeWidthThin,
height: '20px',
backgroundColor: _reacttheme.tokens.colorNeutralStroke1
}
}
}
});
const useMenuSplitGroupStyles_unstable = (state)=>{
'use no memo';
const styles = useStyles();
state.root.className = (0, _react.mergeClasses)(menuSplitGroupClassNames.root, styles.root, state.root.className);
return state;
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.ts"],"sourcesContent":["'use client';\n\nimport { makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { menuItemClassNames } from '../MenuItem/useMenuItemStyles.styles';\nimport type { MenuSplitGroupSlots, MenuSplitGroupState } from './MenuSplitGroup.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\n\nexport const menuSplitGroupMultilineAttr = 'data-multiline';\n\nexport const menuSplitGroupClassNames: SlotClassNames<MenuSplitGroupSlots> = {\n root: 'fui-MenuSplitGroup',\n};\n/**\n * Styles for the root slot\n * TODO - remove the use of nested combinators to style child menu items\n */\nconst useStyles = makeStyles({\n root: {\n [`[${menuSplitGroupMultilineAttr}]`]: {\n [`& > .${menuItemClassNames.root}:nth-of-type(2)`]: {\n alignSelf: 'center',\n },\n },\n display: 'flex',\n [`& > .${menuItemClassNames.root}:nth-of-type(1)`]: {\n flex: 1,\n },\n [`& > .${menuItemClassNames.root}:nth-of-type(2)`]: {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n paddingLeft: 0,\n '::before': {\n content: '\"\"',\n width: tokens.strokeWidthThin,\n height: '20px',\n backgroundColor: tokens.colorNeutralStroke1,\n },\n },\n },\n});\n\n/**\n * Apply styling to the MenuSplitGroup slots based on the state\n */\nexport const useMenuSplitGroupStyles_unstable = (state: MenuSplitGroupState): MenuSplitGroupState => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(menuSplitGroupClassNames.root, styles.root, state.root.className);\n return state;\n};\n"],"names":["makeStyles","mergeClasses","tokens","menuItemClassNames","menuSplitGroupMultilineAttr","menuSplitGroupClassNames","root","useStyles","alignSelf","display","flex","borderTopLeftRadius","borderBottomLeftRadius","paddingLeft","content","width","strokeWidthThin","height","backgroundColor","colorNeutralStroke1","useMenuSplitGroupStyles_unstable","state","styles","className"],"mappings":"AAAA;;;;;;;;;;;;IAUaK,wBAAAA;;;+BAFAD;;;IAqCAgB,gCAAAA;;;;uBA3C4B,iBAAiB;4BACnC,wBAAwB;yCACZ,uCAAuC;AAInE,MAAMhB,8BAA8B,iBAAiB;AAErD,iCAAsE;IAC3EE,MAAM;AACR,EAAE;AACF;;;CAGC,GACD,MAAMC,gBAAYP,iBAAAA,EAAW;IAC3BM,MAAM;QACJ,CAAC,CAAC,CAAC,EAAEF,4BAA4B,CAAC,CAAC,CAAC,EAAE;YACpC,CAAC,CAAC,KAAK,EAAED,2CAAAA,CAAmBG,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE;gBAClDE,WAAW;YACb;QACF;QACAC,SAAS;QACT,CAAC,CAAC,KAAK,EAAEN,2CAAAA,CAAmBG,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE;YAClDI,MAAM;QACR;QACA,CAAC,CAAC,KAAK,EAAEP,2CAAAA,CAAmBG,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE;YAClDK,qBAAqB;YACrBC,wBAAwB;YACxBC,aAAa;YACb,YAAY;gBACVC,SAAS;gBACTC,OAAOb,kBAAAA,CAAOc,eAAe;gBAC7BC,QAAQ;gBACRC,iBAAiBhB,kBAAAA,CAAOiB,mBAAmB;YAC7C;QACF;IACF;AACF;AAKO,yCAAyC,CAACE;IAC/C;IAEA,MAAMC,SAASf;IACfc,MAAMf,IAAI,CAACiB,SAAS,OAAGtB,mBAAAA,EAAaI,yBAAyBC,IAAI,EAAEgB,OAAOhB,IAAI,EAAEe,MAAMf,IAAI,CAACiB,SAAS;IACpG,OAAOF;AACT,EAAE"}