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,24 @@
'use client';
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "AppItem", {
enumerable: true,
get: function() {
return AppItem;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
const _useAppItem = require("./useAppItem");
const _renderAppItem = require("./renderAppItem");
const _useAppItemStylesstyles = require("./useAppItemStyles.styles");
const AppItem = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
const state = (0, _useAppItem.useAppItem_unstable)(props, ref);
(0, _useAppItemStylesstyles.useAppItemStyles_unstable)(state);
(0, _reactsharedcontexts.useCustomStyleHook_unstable)('useAppItemStyles_unstable')(state);
return (0, _renderAppItem.renderAppItem_unstable)(state);
});
AppItem.displayName = 'AppItem';

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/AppItem/AppItem.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\nimport { useAppItem_unstable } from './useAppItem';\nimport { renderAppItem_unstable } from './renderAppItem';\nimport { useAppItemStyles_unstable } from './useAppItemStyles.styles';\nimport type { AppItemProps } from './AppItem.types';\n\n/**\n * AppItem component - Application item in the navigation menu.\n */\nexport const AppItem: ForwardRefComponent<AppItemProps> = React.forwardRef((props, ref) => {\n const state = useAppItem_unstable(props, ref);\n\n useAppItemStyles_unstable(state);\n useCustomStyleHook_unstable('useAppItemStyles_unstable')(state);\n\n return renderAppItem_unstable(state);\n});\n\nAppItem.displayName = 'AppItem';\n"],"names":["React","useCustomStyleHook_unstable","useAppItem_unstable","renderAppItem_unstable","useAppItemStyles_unstable","AppItem","forwardRef","props","ref","state","displayName"],"mappings":"AAAA;;;;;;;;;;;;iEAEuB,QAAQ;qCAEa,kCAAkC;4BAE1C,eAAe;+BACZ,kBAAkB;wCACf,4BAA4B;AAM/D,MAAMK,UAAAA,WAAAA,GAA6CL,OAAMM,UAAU,CAAC,CAACC,OAAOC;IACjF,MAAMC,YAAQP,+BAAAA,EAAoBK,OAAOC;QAEzCJ,iDAAAA,EAA0BK;QAC1BR,gDAAAA,EAA4B,6BAA6BQ;IAEzD,WAAON,qCAAAA,EAAuBM;AAChC,GAAG;AAEHJ,QAAQK,WAAW,GAAG"}

View File

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

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/AppItem/AppItem.types.ts"],"sourcesContent":["import { ARIAButtonSlotProps } from '@fluentui/react-aria';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport { NavDensity } from '../Nav/Nav.types';\n\nexport type AppItemSlots = {\n /**\n * The root element of the AppItem.\n */\n root: NonNullable<Slot<ARIAButtonSlotProps<'a'>>>;\n\n /**\n * Icon that renders before the content.\n */\n icon?: Slot<'span'>;\n};\n\n/**\n * AppItem Props\n */\nexport type AppItemProps = ComponentProps<AppItemSlots> & { href?: string };\n\n/**\n * State used in rendering AppItem\n */\nexport type AppItemState = ComponentState<AppItemSlots> & {\n /**\n * The density of the NavItem\n *\n * @default 'medium'\n */\n density: NavDensity;\n};\n"],"names":[],"mappings":"AAqBA;;CAEC,GACD,WAOE"}

View File

@@ -0,0 +1,34 @@
"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, {
AppItem: function() {
return _AppItem.AppItem;
},
appItemClassNames: function() {
return _useAppItemStylesstyles.appItemClassNames;
},
renderAppItem_unstable: function() {
return _renderAppItem.renderAppItem_unstable;
},
useAppItemStyles: function() {
return _useAppItemStylesstyles.useAppItemStyles;
},
useAppItemStyles_unstable: function() {
return _useAppItemStylesstyles.useAppItemStyles_unstable;
},
useAppItem_unstable: function() {
return _useAppItem.useAppItem_unstable;
}
});
const _AppItem = require("./AppItem");
const _renderAppItem = require("./renderAppItem");
const _useAppItem = require("./useAppItem");
const _useAppItemStylesstyles = require("./useAppItemStyles.styles");

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/AppItem/index.ts"],"sourcesContent":["export { AppItem } from './AppItem';\nexport type { AppItemProps, AppItemSlots, AppItemState } from './AppItem.types';\nexport { renderAppItem_unstable } from './renderAppItem';\nexport { useAppItem_unstable } from './useAppItem';\nexport { appItemClassNames, useAppItemStyles, useAppItemStyles_unstable } from './useAppItemStyles.styles';\n"],"names":["AppItem","renderAppItem_unstable","useAppItem_unstable","appItemClassNames","useAppItemStyles","useAppItemStyles_unstable"],"mappings":";;;;;;;;;;;;eAASA,gBAAO;;;eAIPG,yCAAiB;;;eAFjBF,qCAAsB;;;eAEHG,wCAAgB;;;eAAEC,iDAAyB;;;eAD9DH,+BAAmB;;;yBAHJ,YAAY;+BAEG,kBAAkB;4BACrB,eAAe;wCAC4B,4BAA4B"}

View File

@@ -0,0 +1,21 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "renderAppItem_unstable", {
enumerable: true,
get: function() {
return renderAppItem_unstable;
}
});
const _jsxruntime = require("@fluentui/react-jsx-runtime/jsx-runtime");
const _reactutilities = require("@fluentui/react-utilities");
const renderAppItem_unstable = (state)=>{
(0, _reactutilities.assertSlots)(state);
return /*#__PURE__*/ (0, _jsxruntime.jsxs)(state.root, {
children: [
state.icon && /*#__PURE__*/ (0, _jsxruntime.jsx)(state.icon, {}),
state.root.children
]
});
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/AppItem/renderAppItem.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { JSXElement } from '@fluentui/react-utilities';\nimport type { AppItemState, AppItemSlots } from './AppItem.types';\n\n/**\n * Render the final JSX of AppItem\n */\nexport const renderAppItem_unstable = (state: AppItemState): JSXElement => {\n assertSlots<AppItemSlots>(state);\n\n return (\n <state.root>\n {state.icon && <state.icon />}\n {state.root.children}\n </state.root>\n );\n};\n"],"names":["assertSlots","renderAppItem_unstable","state","root","icon","children"],"mappings":";;;;+BAUaC;;;;;;4BATb,iCAAiD;gCAErB,4BAA4B;AAOjD,+BAA+B,CAACC;QACrCF,2BAAAA,EAA0BE;IAE1B,OAAA,WAAA,OACE,gBAAA,EAACA,MAAMC,IAAI,EAAA;;YACRD,MAAME,IAAI,IAAA,WAAA,OAAI,eAAA,EAACF,MAAME,IAAI,EAAA,CAAA;YACzBF,MAAMC,IAAI,CAACE,QAAQ;;;AAG1B,EAAE"}

View File

@@ -0,0 +1,41 @@
'use client';
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "useAppItem_unstable", {
enumerable: true,
get: function() {
return useAppItem_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 _reactaria = require("@fluentui/react-aria");
const _NavContext = require("../NavContext");
const useAppItem_unstable = (props, ref)=>{
const { icon, as, href } = props;
const rootElementType = as || (href ? 'a' : 'button');
const { density = 'medium' } = (0, _NavContext.useNavContext_unstable)();
const root = _reactutilities.slot.always((0, _reactutilities.getIntrinsicElementProps)(rootElementType, (0, _reactaria.useARIAButtonProps)(rootElementType, {
...props
})), {
elementType: rootElementType,
defaultProps: {
ref: ref,
type: rootElementType
}
});
return {
components: {
root: rootElementType,
icon: 'span'
},
root,
icon: _reactutilities.slot.optional(icon, {
elementType: 'span'
}),
density
};
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/AppItem/useAppItem.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport type { AppItemProps, AppItemState } from './AppItem.types';\nimport { ARIAButtonSlotProps, useARIAButtonProps } from '@fluentui/react-aria';\nimport { useNavContext_unstable } from '../NavContext';\n\n/**\n * Create the state required to render AppItem.\n *\n * The returned state can be modified with hooks such as useAppItemStyles_unstable,\n * before being passed to renderAppItem_unstable.\n *\n * @param props - props from this instance of AppItem\n * @param ref - reference to root HTMLDivElement of AppItem\n */\nexport const useAppItem_unstable = (\n props: AppItemProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): AppItemState => {\n const { icon, as, href } = props;\n const rootElementType = as || (href ? 'a' : 'button');\n\n const { density = 'medium' } = useNavContext_unstable();\n\n const root = slot.always<ARIAButtonSlotProps<'a'>>(\n getIntrinsicElementProps(\n rootElementType,\n useARIAButtonProps(rootElementType, {\n ...props,\n }),\n ),\n {\n elementType: rootElementType,\n defaultProps: {\n ref: ref as React.Ref<HTMLButtonElement & HTMLAnchorElement>,\n type: rootElementType,\n },\n },\n );\n\n return {\n components: {\n root: rootElementType,\n icon: 'span',\n },\n root,\n icon: slot.optional(icon, {\n elementType: 'span',\n }),\n density,\n };\n};\n"],"names":["React","getIntrinsicElementProps","slot","useARIAButtonProps","useNavContext_unstable","useAppItem_unstable","props","ref","icon","as","href","rootElementType","density","root","always","elementType","defaultProps","type","components","optional"],"mappings":"AAAA;;;;;+BAiBaK;;;;;;;iEAfU,QAAQ;gCACgB,4BAA4B;2BAEnB,uBAAuB;4BACxC,gBAAgB;AAWhD,4BAA4B,CACjCC,OACAC;IAEA,MAAM,EAAEC,IAAI,EAAEC,EAAE,EAAEC,IAAI,EAAE,GAAGJ;IAC3B,MAAMK,kBAAkBF,MAAOC,CAAAA,OAAO,MAAM,QAAA,CAAO;IAEnD,MAAM,EAAEE,UAAU,QAAQ,EAAE,OAAGR,kCAAAA;IAE/B,MAAMS,OAAOX,oBAAAA,CAAKY,MAAM,KACtBb,wCAAAA,EACEU,iBACAR,iCAAAA,EAAmBQ,iBAAiB;QAClC,GAAGL,KAAK;IACV,KAEF;QACES,aAAaJ;QACbK,cAAc;YACZT,KAAKA;YACLU,MAAMN;QACR;IACF;IAGF,OAAO;QACLO,YAAY;YACVL,MAAMF;YACNH,MAAM;QACR;QACAK;QACAL,MAAMN,oBAAAA,CAAKiB,QAAQ,CAACX,MAAM;YACxBO,aAAa;QACf;QACAH;IACF;AACF,EAAE"}

View File

@@ -0,0 +1,134 @@
'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, {
appItemClassNames: function() {
return appItemClassNames;
},
useAppItemStyles: function() {
return useAppItemStyles;
},
useAppItemStyles_unstable: function() {
return useAppItemStyles_unstable;
}
});
const _react = require("@griffel/react");
const _sharedNavStylesstyles = require("../sharedNavStyles.styles");
const appItemClassNames = {
root: 'fui-AppItem',
icon: 'fui-AppItem__icon'
};
const useAppItemStyles = /*#__PURE__*/ (0, _react.__styles)({
root: {
Bokbzmb: "f1x6gvzo",
Jyy4pa: "f1djyvue",
B1u1w3b: "feysv1g",
a9b677: "f1jd6clc",
Bt984gj: "f122n59",
i8kkvl: 0,
Belr9w4: 0,
rmohyg: "f1ga9sj3",
Byoj8tv: 0,
uwmqm3: 0,
z189sj: 0,
z8tnut: 0,
B0ocmuz: [
"f1fdqhks",
"fnlwq4f"
],
Bahqtrf: "fk6fouc",
Be2twd7: "fod5ikn",
Bhrd7zp: "fl43uef",
Bg96gwp: "faaz57k"
},
small: {
Byoj8tv: 0,
uwmqm3: 0,
z189sj: 0,
z8tnut: 0,
B0ocmuz: [
"f1m1l4b8",
"f1yxbtnt"
],
i8kkvl: 0,
Belr9w4: 0,
rmohyg: "f1let0xu"
},
absentIconRootAdjustment: {
B1hrpyx: "ft8721j"
}
}, {
d: [
[
".feysv1g{margin-inline:4px;}",
{
p: -1
}
],
".f1jd6clc{width:revert;}",
".f122n59{align-items:center;}",
[
".f1ga9sj3{gap:10px;}",
{
p: -1
}
],
".f1djyvue{-webkit-margin-start:-6px;margin-inline-start:-6px;}",
".f1x6gvzo{-webkit-margin-end:0px;margin-inline-end:0px;}",
[
".f1fdqhks{padding:var(--spacingVerticalS) var(--spacingHorizontalS) var(--spacingVerticalS) var(--spacingHorizontalMNudge);}",
{
p: -1
}
],
[
".fnlwq4f{padding:var(--spacingVerticalS) var(--spacingHorizontalMNudge) var(--spacingVerticalS) var(--spacingHorizontalS);}",
{
p: -1
}
],
".fk6fouc{font-family:var(--fontFamilyBase);}",
".fod5ikn{font-size:var(--fontSizeBase400);}",
".fl43uef{font-weight:var(--fontWeightSemibold);}",
".faaz57k{line-height:var(--lineHeightBase400);}",
[
".f1m1l4b8{padding:var(--spacingVerticalS) var(--spacingHorizontalS) var(--spacingVerticalS) 14px;}",
{
p: -1
}
],
[
".f1yxbtnt{padding:var(--spacingVerticalS) 14px var(--spacingVerticalS) var(--spacingHorizontalS);}",
{
p: -1
}
],
[
".f1let0xu{gap:14px;}",
{
p: -1
}
],
".ft8721j{-webkit-padding-start:16px;padding-inline-start:16px;}"
]
});
const useAppItemStyles_unstable = (state)=>{
'use no memo';
const rootDefaultClassName = (0, _sharedNavStylesstyles.useRootDefaultClassName)();
const iconStyles = (0, _sharedNavStylesstyles.useIconStyles)();
const appItemSpecificStyles = useAppItemStyles();
const { density, icon } = state;
state.root.className = (0, _react.mergeClasses)(rootDefaultClassName, appItemClassNames.root, appItemSpecificStyles.root, density === 'small' && appItemSpecificStyles.small, !icon && appItemSpecificStyles.absentIconRootAdjustment, state.root.className);
if (state.icon) {
state.icon.className = (0, _react.mergeClasses)(appItemClassNames.icon, iconStyles.base, state.icon.className);
}
return state;
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["useAppItemStyles.styles.js"],"sourcesContent":["'use client';\nimport { makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { useIconStyles, useRootDefaultClassName } from '../sharedNavStyles.styles';\nexport const appItemClassNames = {\n root: 'fui-AppItem',\n icon: 'fui-AppItem__icon'\n};\n/**\n * Styles for the root slot\n */ export const useAppItemStyles = makeStyles({\n root: {\n marginInline: '4px',\n width: 'revert',\n alignItems: 'center',\n gap: '10px',\n marginInlineStart: '-6px',\n marginInlineEnd: '0px',\n padding: `${tokens.spacingVerticalS} ${tokens.spacingHorizontalS} ${tokens.spacingVerticalS} ${tokens.spacingHorizontalMNudge}`,\n ...typographyStyles.subtitle2\n },\n small: {\n padding: `${tokens.spacingVerticalS} ${tokens.spacingHorizontalS} ${tokens.spacingVerticalS} 14px`,\n gap: '14px'\n },\n absentIconRootAdjustment: {\n paddingInlineStart: '16px'\n }\n});\n/**\n * Apply styling to the AppItem slots based on the state\n */ export const useAppItemStyles_unstable = (state)=>{\n 'use no memo';\n const rootDefaultClassName = useRootDefaultClassName();\n const iconStyles = useIconStyles();\n const appItemSpecificStyles = useAppItemStyles();\n const { density, icon } = state;\n state.root.className = mergeClasses(rootDefaultClassName, appItemClassNames.root, appItemSpecificStyles.root, density === 'small' && appItemSpecificStyles.small, !icon && appItemSpecificStyles.absentIconRootAdjustment, state.root.className);\n if (state.icon) {\n state.icon.className = mergeClasses(appItemClassNames.icon, iconStyles.base, state.icon.className);\n }\n return state;\n};\n"],"names":["__styles","mergeClasses","tokens","typographyStyles","useIconStyles","useRootDefaultClassName","appItemClassNames","root","icon","useAppItemStyles","Bokbzmb","Jyy4pa","B1u1w3b","a9b677","Bt984gj","i8kkvl","Belr9w4","rmohyg","Byoj8tv","uwmqm3","z189sj","z8tnut","B0ocmuz","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","small","absentIconRootAdjustment","B1hrpyx","d","p","useAppItemStyles_unstable","state","rootDefaultClassName","iconStyles","appItemSpecificStyles","density","className","base"],"mappings":"AAAA,YAAY;;;;;;;;;;;;IAICM,iBAAiB;;;oBAMG;;;6BAqBS;;;;uBA9BD,gBAAgB;uCAEF,2BAA2B;AAC3E,0BAA0B;IAC7BC,IAAI,EAAE,aAAa;IACnBC,IAAI,EAAE;AACV,CAAC;AAGU,MAAMC,mBAAgB,WAAA,OAAGT,eAAA,EAAA;IAAAO,IAAA,EAAA;QAAAG,OAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,OAAA,EAAA;YAAA;YAAA;SAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,OAAA,EAAA;IAAA;IAAAC,KAAA,EAAA;QAAAT,OAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,MAAA,EAAA;QAAAC,OAAA,EAAA;YAAA;YAAA;SAAA;QAAAP,MAAA,EAAA;QAAAC,OAAA,EAAA;QAAAC,MAAA,EAAA;IAAA;IAAAW,wBAAA,EAAA;QAAAC,OAAA,EAAA;IAAA;AAAA,GAAA;IAAAC,CAAA,EAAA;QAAA;YAAA;YAAA;gBAAAC,CAAA,EAAA,CAAA;YAAA;SAAA;QAAA;QAAA;QAAA;YAAA;YAAA;gBAAAA,CAAA,EAAA,CAAA;YAAA;SAAA;QAAA;QAAA;QAAA;YAAA;YAAA;gBAAAA,CAAA,EAAA,CAAA;YAAA;SAAA;QAAA;YAAA;YAAA;gBAAAA,CAAA,EAAA,CAAA;YAAA;SAAA;QAAA;QAAA;QAAA;QAAA;QAAA;YAAA;YAAA;gBAAAA,CAAA,EAAA,CAAA;YAAA;SAAA;QAAA;YAAA;YAAA;gBAAAA,CAAA,EAAA,CAAA;YAAA;SAAA;QAAA;YAAA;YAAA;gBAAAA,CAAA,EAAA,CAAA;YAAA;SAAA;QAAA;KAAA;AAAA,CAkBnC,CAAC;AAGS,MAAMC,6BAA6BC,KAAK,IAAG;IAClD,aAAa;IACb,MAAMC,oBAAoB,OAAG7B,8CAAuB,CAAC,CAAC;IACtD,MAAM8B,UAAU,OAAG/B,oCAAa,CAAC,CAAC;IAClC,MAAMgC,qBAAqB,GAAG3B,gBAAgB,CAAC,CAAC;IAChD,MAAM,EAAE4B,OAAO,EAAE7B,IAAAA,EAAM,GAAGyB,KAAK;IAC/BA,KAAK,CAAC1B,IAAI,CAAC+B,SAAS,OAAGrC,mBAAY,EAACiC,oBAAoB,EAAE5B,iBAAiB,CAACC,IAAI,EAAE6B,qBAAqB,CAAC7B,IAAI,EAAE8B,OAAO,KAAK,OAAO,IAAID,qBAAqB,CAACT,KAAK,EAAE,CAACnB,IAAI,IAAI4B,qBAAqB,CAACR,wBAAwB,EAAEK,KAAK,CAAC1B,IAAI,CAAC+B,SAAS,CAAC;IAChP,IAAIL,KAAK,CAACzB,IAAI,EAAE;QACZyB,KAAK,CAACzB,IAAI,CAAC8B,SAAS,OAAGrC,mBAAY,EAACK,iBAAiB,CAACE,IAAI,EAAE2B,UAAU,CAACI,IAAI,EAAEN,KAAK,CAACzB,IAAI,CAAC8B,SAAS,CAAC;IACtG;IACA,OAAOL,KAAK;AAChB,CAAC"}

View File

@@ -0,0 +1,60 @@
'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, {
appItemClassNames: function() {
return appItemClassNames;
},
useAppItemStyles: function() {
return useAppItemStyles;
},
useAppItemStyles_unstable: function() {
return useAppItemStyles_unstable;
}
});
const _react = require("@griffel/react");
const _reacttheme = require("@fluentui/react-theme");
const _sharedNavStylesstyles = require("../sharedNavStyles.styles");
const appItemClassNames = {
root: 'fui-AppItem',
icon: 'fui-AppItem__icon'
};
const useAppItemStyles = (0, _react.makeStyles)({
root: {
marginInline: '4px',
width: 'revert',
alignItems: 'center',
gap: '10px',
marginInlineStart: '-6px',
marginInlineEnd: '0px',
padding: `${_reacttheme.tokens.spacingVerticalS} ${_reacttheme.tokens.spacingHorizontalS} ${_reacttheme.tokens.spacingVerticalS} ${_reacttheme.tokens.spacingHorizontalMNudge}`,
..._reacttheme.typographyStyles.subtitle2
},
small: {
padding: `${_reacttheme.tokens.spacingVerticalS} ${_reacttheme.tokens.spacingHorizontalS} ${_reacttheme.tokens.spacingVerticalS} 14px`,
gap: '14px'
},
absentIconRootAdjustment: {
paddingInlineStart: '16px'
}
});
const useAppItemStyles_unstable = (state)=>{
'use no memo';
const rootDefaultClassName = (0, _sharedNavStylesstyles.useRootDefaultClassName)();
const iconStyles = (0, _sharedNavStylesstyles.useIconStyles)();
const appItemSpecificStyles = useAppItemStyles();
const { density, icon } = state;
state.root.className = (0, _react.mergeClasses)(rootDefaultClassName, appItemClassNames.root, appItemSpecificStyles.root, density === 'small' && appItemSpecificStyles.small, !icon && appItemSpecificStyles.absentIconRootAdjustment, state.root.className);
if (state.icon) {
state.icon.className = (0, _react.mergeClasses)(appItemClassNames.icon, iconStyles.base, state.icon.className);
}
return state;
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/AppItem/useAppItemStyles.styles.ts"],"sourcesContent":["'use client';\n\nimport { makeStyles, mergeClasses } from '@griffel/react';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { AppItemSlots, AppItemState } from './AppItem.types';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { useIconStyles, useRootDefaultClassName } from '../sharedNavStyles.styles';\n\nexport const appItemClassNames: SlotClassNames<AppItemSlots> = {\n root: 'fui-AppItem',\n icon: 'fui-AppItem__icon',\n};\n\n/**\n * Styles for the root slot\n */\nexport const useAppItemStyles = makeStyles({\n root: {\n marginInline: '4px',\n width: 'revert',\n alignItems: 'center',\n gap: '10px',\n marginInlineStart: '-6px',\n marginInlineEnd: '0px',\n padding: `${tokens.spacingVerticalS} ${tokens.spacingHorizontalS} ${tokens.spacingVerticalS} ${tokens.spacingHorizontalMNudge}`,\n ...typographyStyles.subtitle2,\n },\n small: {\n padding: `${tokens.spacingVerticalS} ${tokens.spacingHorizontalS} ${tokens.spacingVerticalS} 14px`,\n gap: '14px',\n },\n absentIconRootAdjustment: {\n paddingInlineStart: '16px',\n },\n});\n\n/**\n * Apply styling to the AppItem slots based on the state\n */\nexport const useAppItemStyles_unstable = (state: AppItemState): AppItemState => {\n 'use no memo';\n\n const rootDefaultClassName = useRootDefaultClassName();\n const iconStyles = useIconStyles();\n const appItemSpecificStyles = useAppItemStyles();\n\n const { density, icon } = state;\n\n state.root.className = mergeClasses(\n rootDefaultClassName,\n appItemClassNames.root,\n appItemSpecificStyles.root,\n density === 'small' && appItemSpecificStyles.small,\n !icon && appItemSpecificStyles.absentIconRootAdjustment,\n state.root.className,\n );\n\n if (state.icon) {\n state.icon.className = mergeClasses(appItemClassNames.icon, iconStyles.base, state.icon.className);\n }\n\n return state;\n};\n"],"names":["makeStyles","mergeClasses","tokens","typographyStyles","useIconStyles","useRootDefaultClassName","appItemClassNames","root","icon","useAppItemStyles","marginInline","width","alignItems","gap","marginInlineStart","marginInlineEnd","padding","spacingVerticalS","spacingHorizontalS","spacingHorizontalMNudge","subtitle2","small","absentIconRootAdjustment","paddingInlineStart","useAppItemStyles_unstable","state","rootDefaultClassName","iconStyles","appItemSpecificStyles","density","className","base"],"mappings":"AAAA;;;;;;;;;;;;IAQaM,iBAAAA;;;oBAQAG;;;6BAuBAe;eAAAA;;;uBArC4B,iBAAiB;4BAGjB,wBAAwB;uCACV,4BAA4B;AAE5E,0BAAwD;IAC7DjB,MAAM;IACNC,MAAM;AACR,EAAE;AAKK,MAAMC,uBAAmBT,iBAAAA,EAAW;IACzCO,MAAM;QACJG,cAAc;QACdC,OAAO;QACPC,YAAY;QACZC,KAAK;QACLC,mBAAmB;QACnBC,iBAAiB;QACjBC,SAAS,GAAGd,kBAAAA,CAAOe,gBAAgB,CAAC,CAAC,EAAEf,kBAAAA,CAAOgB,kBAAkB,CAAC,CAAC,EAAEhB,kBAAAA,CAAOe,gBAAgB,CAAC,CAAC,EAAEf,kBAAAA,CAAOiB,uBAAuB,EAAE;QAC/H,GAAGhB,4BAAAA,CAAiBiB,SAAS;IAC/B;IACAC,OAAO;QACLL,SAAS,GAAGd,kBAAAA,CAAOe,gBAAgB,CAAC,CAAC,EAAEf,kBAAAA,CAAOgB,kBAAkB,CAAC,CAAC,EAAEhB,kBAAAA,CAAOe,gBAAgB,CAAC,KAAK,CAAC;QAClGJ,KAAK;IACP;IACAS,0BAA0B;QACxBC,oBAAoB;IACtB;AACF,GAAG;AAKI,kCAAkC,CAACE;IACxC;IAEA,MAAMC,2BAAuBrB,8CAAAA;IAC7B,MAAMsB,iBAAavB,oCAAAA;IACnB,MAAMwB,wBAAwBnB;IAE9B,MAAM,EAAEoB,OAAO,EAAErB,IAAI,EAAE,GAAGiB;IAE1BA,MAAMlB,IAAI,CAACuB,SAAS,OAAG7B,mBAAAA,EACrByB,sBACApB,kBAAkBC,IAAI,EACtBqB,sBAAsBrB,IAAI,EAC1BsB,YAAY,WAAWD,sBAAsBP,KAAK,EAClD,CAACb,QAAQoB,sBAAsBN,wBAAwB,EACvDG,MAAMlB,IAAI,CAACuB,SAAS;IAGtB,IAAIL,MAAMjB,IAAI,EAAE;QACdiB,MAAMjB,IAAI,CAACsB,SAAS,OAAG7B,mBAAAA,EAAaK,kBAAkBE,IAAI,EAAEmB,WAAWI,IAAI,EAAEN,MAAMjB,IAAI,CAACsB,SAAS;IACnG;IAEA,OAAOL;AACT,EAAE"}