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,17 @@
'use client';
import * as React from 'react';
import { useBreadcrumb_unstable } from './useBreadcrumb';
import { renderBreadcrumb_unstable } from './renderBreadcrumb';
import { useBreadcrumbStyles_unstable } from './useBreadcrumbStyles.styles';
import { useBreadcrumbContextValues_unstable } from './useBreadcrumbContextValue';
import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';
/**
* Breadcrumb component - TODO: add more docs
*/ export const Breadcrumb = /*#__PURE__*/ React.forwardRef((props, ref)=>{
const state = useBreadcrumb_unstable(props, ref);
const contextValues = useBreadcrumbContextValues_unstable(state);
useBreadcrumbStyles_unstable(state);
useCustomStyleHook_unstable('useBreadcrumbStyles_unstable')(state);
return renderBreadcrumb_unstable(state, contextValues);
});
Breadcrumb.displayName = 'Breadcrumb';

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useBreadcrumb_unstable } from './useBreadcrumb';\nimport { renderBreadcrumb_unstable } from './renderBreadcrumb';\nimport { useBreadcrumbStyles_unstable } from './useBreadcrumbStyles.styles';\nimport type { BreadcrumbProps } from './Breadcrumb.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useBreadcrumbContextValues_unstable } from './useBreadcrumbContextValue';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * Breadcrumb component - TODO: add more docs\n */\nexport const Breadcrumb: ForwardRefComponent<BreadcrumbProps> = React.forwardRef((props, ref) => {\n const state = useBreadcrumb_unstable(props, ref);\n const contextValues = useBreadcrumbContextValues_unstable(state);\n\n useBreadcrumbStyles_unstable(state);\n useCustomStyleHook_unstable('useBreadcrumbStyles_unstable')(state);\n\n return renderBreadcrumb_unstable(state, contextValues);\n});\n\nBreadcrumb.displayName = 'Breadcrumb';\n"],"names":["React","useBreadcrumb_unstable","renderBreadcrumb_unstable","useBreadcrumbStyles_unstable","useBreadcrumbContextValues_unstable","useCustomStyleHook_unstable","Breadcrumb","forwardRef","props","ref","state","contextValues","displayName"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,sBAAsB,QAAQ,kBAAkB;AACzD,SAASC,yBAAyB,QAAQ,qBAAqB;AAC/D,SAASC,4BAA4B,QAAQ,+BAA+B;AAG5E,SAASC,mCAAmC,QAAQ,8BAA8B;AAClF,SAASC,2BAA2B,QAAQ,kCAAkC;AAE9E;;CAEC,GACD,OAAO,MAAMC,2BAAmDN,MAAMO,UAAU,CAAC,CAACC,OAAOC;IACvF,MAAMC,QAAQT,uBAAuBO,OAAOC;IAC5C,MAAME,gBAAgBP,oCAAoCM;IAE1DP,6BAA6BO;IAC7BL,4BAA4B,gCAAgCK;IAE5D,OAAOR,0BAA0BQ,OAAOC;AAC1C,GAAG;AAEHL,WAAWM,WAAW,GAAG"}

View File

@@ -0,0 +1 @@
export { };

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/Breadcrumb/Breadcrumb.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\n/**\n * Data shared between breadcrumb components\n */\nexport type BreadcrumbContextValues = Required<Pick<BreadcrumbProps, 'size'>>;\n\nexport type BreadcrumbSlots = {\n /**\n * Root element of the component.\n */\n root: Slot<'nav'>;\n /**\n * Ordered list which contains items.\n */\n list?: Slot<'ol'>;\n};\n\n/**\n * Breadcrumb Props\n */\nexport type BreadcrumbProps = ComponentProps<BreadcrumbSlots> & {\n /**\n * Sets the focus behavior for the Breadcrumb.\n *\n * `tab`\n * This behaviour will cycle through all elements inside of the Breadcrumb when pressing the Tab key and then release focus\n * after the last inner element.\n *\n * `arrow`\n * This behaviour will cycle through all elements inside of the Breadcrumb when pressing the Arrow key.\n *\n * @default 'tab'\n */\n focusMode?: 'arrow' | 'tab';\n\n /**\n * Controls size of Breadcrumb items and dividers.\n *\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n};\n\n/**\n * State used in rendering Breadcrumb\n */\nexport type BreadcrumbState = ComponentState<BreadcrumbSlots> & Required<Pick<BreadcrumbProps, 'size'>>;\n\nexport type BreadcrumbBaseProps = Omit<BreadcrumbProps, 'size'>;\n\nexport type BreadcrumbBaseState = Omit<BreadcrumbState, 'size'>;\n"],"names":[],"mappings":"AAmDA,WAAgE"}

View File

@@ -0,0 +1,17 @@
'use client';
import * as React from 'react';
const BreadcrumbContext = React.createContext(undefined);
/**
* @internal
*/ export const breadcrumbDefaultValue = {
size: 'medium'
};
/**
* @internal
*/ export const BreadcrumbProvider = BreadcrumbContext.Provider;
/**
* @internal
*/ export const useBreadcrumbContext_unstable = ()=>{
var _React_useContext;
return (_React_useContext = React.useContext(BreadcrumbContext)) !== null && _React_useContext !== void 0 ? _React_useContext : breadcrumbDefaultValue;
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/Breadcrumb/BreadcrumbContext.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { BreadcrumbContextValues } from './Breadcrumb.types';\n\nconst BreadcrumbContext = React.createContext<BreadcrumbContextValues | undefined>(undefined);\n\n/**\n * @internal\n */\nexport const breadcrumbDefaultValue: BreadcrumbContextValues = {\n size: 'medium',\n};\n\n/**\n * @internal\n */\nexport const BreadcrumbProvider = BreadcrumbContext.Provider;\n\n/**\n * @internal\n */\nexport const useBreadcrumbContext_unstable = (): BreadcrumbContextValues =>\n React.useContext(BreadcrumbContext) ?? breadcrumbDefaultValue;\n"],"names":["React","BreadcrumbContext","createContext","undefined","breadcrumbDefaultValue","size","BreadcrumbProvider","Provider","useBreadcrumbContext_unstable","useContext"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAG/B,MAAMC,oBAAoBD,MAAME,aAAa,CAAsCC;AAEnF;;CAEC,GACD,OAAO,MAAMC,yBAAkD;IAC7DC,MAAM;AACR,EAAE;AAEF;;CAEC,GACD,OAAO,MAAMC,qBAAqBL,kBAAkBM,QAAQ,CAAC;AAE7D;;CAEC,GACD,OAAO,MAAMC,gCAAgC;QAC3CR;WAAAA,CAAAA,oBAAAA,MAAMS,UAAU,CAACR,gCAAjBD,+BAAAA,oBAAuCI;EAAuB"}

View File

@@ -0,0 +1,5 @@
export { Breadcrumb } from './Breadcrumb';
export { BreadcrumbProvider, breadcrumbDefaultValue, useBreadcrumbContext_unstable } from './BreadcrumbContext';
export { renderBreadcrumb_unstable } from './renderBreadcrumb';
export { useBreadcrumb_unstable, useBreadcrumbBase_unstable, useBreadcrumbA11yBehavior_unstable } from './useBreadcrumb';
export { breadcrumbClassNames, useBreadcrumbStyles_unstable } from './useBreadcrumbStyles.styles';

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/Breadcrumb/index.ts"],"sourcesContent":["export { Breadcrumb } from './Breadcrumb';\nexport type {\n BreadcrumbBaseProps,\n BreadcrumbBaseState,\n BreadcrumbContextValues,\n BreadcrumbProps,\n BreadcrumbSlots,\n BreadcrumbState,\n} from './Breadcrumb.types';\nexport { BreadcrumbProvider, breadcrumbDefaultValue, useBreadcrumbContext_unstable } from './BreadcrumbContext';\nexport { renderBreadcrumb_unstable } from './renderBreadcrumb';\nexport {\n useBreadcrumb_unstable,\n useBreadcrumbBase_unstable,\n useBreadcrumbA11yBehavior_unstable,\n} from './useBreadcrumb';\nexport { breadcrumbClassNames, useBreadcrumbStyles_unstable } from './useBreadcrumbStyles.styles';\n"],"names":["Breadcrumb","BreadcrumbProvider","breadcrumbDefaultValue","useBreadcrumbContext_unstable","renderBreadcrumb_unstable","useBreadcrumb_unstable","useBreadcrumbBase_unstable","useBreadcrumbA11yBehavior_unstable","breadcrumbClassNames","useBreadcrumbStyles_unstable"],"mappings":"AAAA,SAASA,UAAU,QAAQ,eAAe;AAS1C,SAASC,kBAAkB,EAAEC,sBAAsB,EAAEC,6BAA6B,QAAQ,sBAAsB;AAChH,SAASC,yBAAyB,QAAQ,qBAAqB;AAC/D,SACEC,sBAAsB,EACtBC,0BAA0B,EAC1BC,kCAAkC,QAC7B,kBAAkB;AACzB,SAASC,oBAAoB,EAAEC,4BAA4B,QAAQ,+BAA+B"}

View File

@@ -0,0 +1,16 @@
import { jsx as _jsx } from "@fluentui/react-jsx-runtime/jsx-runtime";
import { assertSlots } from '@fluentui/react-utilities';
import { BreadcrumbProvider } from './BreadcrumbContext';
/**
* Render the final JSX of Breadcrumb
*/ export const renderBreadcrumb_unstable = (state, contextValues)=>{
assertSlots(state);
return /*#__PURE__*/ _jsx(state.root, {
children: /*#__PURE__*/ _jsx(BreadcrumbProvider, {
value: contextValues,
children: state.list && /*#__PURE__*/ _jsx(state.list, {
children: state.root.children
})
})
});
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/Breadcrumb/renderBreadcrumb.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { JSXElement } from '@fluentui/react-utilities';\n\nimport { BreadcrumbProvider } from './BreadcrumbContext';\nimport type { BreadcrumbState, BreadcrumbSlots, BreadcrumbContextValues } from './Breadcrumb.types';\n/**\n * Render the final JSX of Breadcrumb\n */\nexport const renderBreadcrumb_unstable = (\n state: BreadcrumbState,\n contextValues: BreadcrumbContextValues,\n): JSXElement => {\n assertSlots<BreadcrumbSlots>(state);\n return (\n <state.root>\n <BreadcrumbProvider value={contextValues}>\n {state.list && <state.list>{state.root.children}</state.list>}\n </BreadcrumbProvider>\n </state.root>\n );\n};\n"],"names":["assertSlots","BreadcrumbProvider","renderBreadcrumb_unstable","state","contextValues","root","value","list","children"],"mappings":"AAAA,0BAA0B,GAC1B,iDAAiD;AAEjD,SAASA,WAAW,QAAQ,4BAA4B;AAGxD,SAASC,kBAAkB,QAAQ,sBAAsB;AAEzD;;CAEC,GACD,OAAO,MAAMC,4BAA4B,CACvCC,OACAC;IAEAJ,YAA6BG;IAC7B,qBACE,KAACA,MAAME,IAAI;kBACT,cAAA,KAACJ;YAAmBK,OAAOF;sBACxBD,MAAMI,IAAI,kBAAI,KAACJ,MAAMI,IAAI;0BAAEJ,MAAME,IAAI,CAACG,QAAQ;;;;AAIvD,EAAE"}

View File

@@ -0,0 +1,72 @@
'use client';
import * as React from 'react';
import { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';
import { useArrowNavigationGroup } from '@fluentui/react-tabster';
/**
* Create the state required to render Breadcrumb.
*
* The returned state can be modified with hooks such as useBreadcrumbStyles_unstable,
* before being passed to renderBreadcrumb_unstable.
*
* @param props - props from this instance of Breadcrumb
* @param ref - reference to root HTMLElement of Breadcrumb
*/ export const useBreadcrumb_unstable = (props, ref)=>{
const { focusMode = 'tab', size = 'medium', ...breadcrumbProps } = props;
const state = useBreadcrumbBase_unstable(breadcrumbProps, ref);
const focusAttributes = useBreadcrumbA11yBehavior_unstable({
focusMode
});
return {
...state,
root: {
...focusAttributes,
...state.root
},
size
};
};
/**
* Base hook for Breadcrumb component, which manages state related to slots structure and ARIA attributes.
*
* Note: keyboard navigation behavior is not handled in this hook, but in useBreadcrumbA11yBehavior_unstable.
*
* @param props - props from this instance of Breadcrumb
* @param ref - reference to root HTMLElement of Breadcrumb
*/ export const useBreadcrumbBase_unstable = (props, ref)=>{
const { focusMode = 'tab', list, ...rest } = props;
var _props_arialabel;
return {
components: {
root: 'nav',
list: 'ol'
},
root: slot.always(getIntrinsicElementProps('nav', {
ref,
'aria-label': (_props_arialabel = props['aria-label']) !== null && _props_arialabel !== void 0 ? _props_arialabel : 'breadcrumb',
...rest
}), {
elementType: 'nav'
}),
list: slot.optional(list, {
renderByDefault: true,
defaultProps: {
role: 'list'
},
elementType: 'ol'
})
};
};
/**
* Hook to get accessibility attributes for Breadcrumb component, such as roving tab index.
* Based on Tabster's useArrowNavigationGroup.
*
* @param focusMode - whether the Breadcrumb uses arrow key navigation or tab key navigation
* @returns Tabster DOM attributes
*/ export const useBreadcrumbA11yBehavior_unstable = ({ focusMode })=>{
const focusAttributes = useArrowNavigationGroup({
circular: true,
axis: 'horizontal',
memorizeCurrent: true
});
return focusMode === 'arrow' ? focusAttributes : {};
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/Breadcrumb/useBreadcrumb.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport type { BreadcrumbBaseProps, BreadcrumbBaseState, BreadcrumbProps, BreadcrumbState } from './Breadcrumb.types';\nimport { TabsterDOMAttribute, useArrowNavigationGroup } from '@fluentui/react-tabster';\n\n/**\n * Create the state required to render Breadcrumb.\n *\n * The returned state can be modified with hooks such as useBreadcrumbStyles_unstable,\n * before being passed to renderBreadcrumb_unstable.\n *\n * @param props - props from this instance of Breadcrumb\n * @param ref - reference to root HTMLElement of Breadcrumb\n */\nexport const useBreadcrumb_unstable = (props: BreadcrumbProps, ref: React.Ref<HTMLElement>): BreadcrumbState => {\n const { focusMode = 'tab', size = 'medium', ...breadcrumbProps } = props;\n const state = useBreadcrumbBase_unstable(breadcrumbProps, ref);\n const focusAttributes = useBreadcrumbA11yBehavior_unstable({ focusMode });\n\n return {\n ...state,\n root: {\n ...focusAttributes,\n ...state.root,\n },\n size,\n };\n};\n\n/**\n * Base hook for Breadcrumb component, which manages state related to slots structure and ARIA attributes.\n *\n * Note: keyboard navigation behavior is not handled in this hook, but in useBreadcrumbA11yBehavior_unstable.\n *\n * @param props - props from this instance of Breadcrumb\n * @param ref - reference to root HTMLElement of Breadcrumb\n */\nexport const useBreadcrumbBase_unstable = (\n props: BreadcrumbBaseProps,\n ref: React.Ref<HTMLElement>,\n): BreadcrumbBaseState => {\n const { focusMode = 'tab', list, ...rest } = props;\n\n return {\n components: {\n root: 'nav',\n list: 'ol',\n },\n root: slot.always(\n getIntrinsicElementProps('nav', {\n ref,\n 'aria-label': props['aria-label'] ?? 'breadcrumb',\n ...rest,\n }),\n { elementType: 'nav' },\n ),\n list: slot.optional(list, { renderByDefault: true, defaultProps: { role: 'list' }, elementType: 'ol' }),\n };\n};\n\n/**\n * Hook to get accessibility attributes for Breadcrumb component, such as roving tab index.\n * Based on Tabster's useArrowNavigationGroup.\n *\n * @param focusMode - whether the Breadcrumb uses arrow key navigation or tab key navigation\n * @returns Tabster DOM attributes\n */\nexport const useBreadcrumbA11yBehavior_unstable = ({\n focusMode,\n}: Pick<BreadcrumbBaseProps, 'focusMode'>): Partial<TabsterDOMAttribute> => {\n const focusAttributes = useArrowNavigationGroup({\n circular: true,\n axis: 'horizontal',\n memorizeCurrent: true,\n });\n\n return focusMode === 'arrow' ? focusAttributes : {};\n};\n"],"names":["React","getIntrinsicElementProps","slot","useArrowNavigationGroup","useBreadcrumb_unstable","props","ref","focusMode","size","breadcrumbProps","state","useBreadcrumbBase_unstable","focusAttributes","useBreadcrumbA11yBehavior_unstable","root","list","rest","components","always","elementType","optional","renderByDefault","defaultProps","role","circular","axis","memorizeCurrent"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,wBAAwB,EAAEC,IAAI,QAAQ,4BAA4B;AAE3E,SAA8BC,uBAAuB,QAAQ,0BAA0B;AAEvF;;;;;;;;CAQC,GACD,OAAO,MAAMC,yBAAyB,CAACC,OAAwBC;IAC7D,MAAM,EAAEC,YAAY,KAAK,EAAEC,OAAO,QAAQ,EAAE,GAAGC,iBAAiB,GAAGJ;IACnE,MAAMK,QAAQC,2BAA2BF,iBAAiBH;IAC1D,MAAMM,kBAAkBC,mCAAmC;QAAEN;IAAU;IAEvE,OAAO;QACL,GAAGG,KAAK;QACRI,MAAM;YACJ,GAAGF,eAAe;YAClB,GAAGF,MAAMI,IAAI;QACf;QACAN;IACF;AACF,EAAE;AAEF;;;;;;;CAOC,GACD,OAAO,MAAMG,6BAA6B,CACxCN,OACAC;IAEA,MAAM,EAAEC,YAAY,KAAK,EAAEQ,IAAI,EAAE,GAAGC,MAAM,GAAGX;QAUzBA;IARpB,OAAO;QACLY,YAAY;YACVH,MAAM;YACNC,MAAM;QACR;QACAD,MAAMZ,KAAKgB,MAAM,CACfjB,yBAAyB,OAAO;YAC9BK;YACA,cAAcD,CAAAA,mBAAAA,KAAK,CAAC,aAAa,cAAnBA,8BAAAA,mBAAuB;YACrC,GAAGW,IAAI;QACT,IACA;YAAEG,aAAa;QAAM;QAEvBJ,MAAMb,KAAKkB,QAAQ,CAACL,MAAM;YAAEM,iBAAiB;YAAMC,cAAc;gBAAEC,MAAM;YAAO;YAAGJ,aAAa;QAAK;IACvG;AACF,EAAE;AAEF;;;;;;CAMC,GACD,OAAO,MAAMN,qCAAqC,CAAC,EACjDN,SAAS,EAC8B;IACvC,MAAMK,kBAAkBT,wBAAwB;QAC9CqB,UAAU;QACVC,MAAM;QACNC,iBAAiB;IACnB;IAEA,OAAOnB,cAAc,UAAUK,kBAAkB,CAAC;AACpD,EAAE"}

View File

@@ -0,0 +1,10 @@
'use client';
import * as React from 'react';
export function useBreadcrumbContextValues_unstable(state) {
const { size } = state;
return React.useMemo(()=>({
size
}), [
size
]);
}

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/Breadcrumb/useBreadcrumbContextValue.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { BreadcrumbContextValues, BreadcrumbState } from './Breadcrumb.types';\n\nexport function useBreadcrumbContextValues_unstable(state: BreadcrumbState): BreadcrumbContextValues {\n const { size } = state;\n return React.useMemo(() => ({ size }), [size]);\n}\n"],"names":["React","useBreadcrumbContextValues_unstable","state","size","useMemo"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAG/B,OAAO,SAASC,oCAAoCC,KAAsB;IACxE,MAAM,EAAEC,IAAI,EAAE,GAAGD;IACjB,OAAOF,MAAMI,OAAO,CAAC,IAAO,CAAA;YAAED;QAAK,CAAA,GAAI;QAACA;KAAK;AAC/C"}

View File

@@ -0,0 +1,21 @@
'use client';
import { __resetStyles, mergeClasses } from '@griffel/react';
export const breadcrumbClassNames = {
root: 'fui-Breadcrumb',
list: 'fui-Breadcrumb__list'
};
const useListClassName = /*#__PURE__*/__resetStyles("rc5rb6b", null, [".rc5rb6b{list-style-type:none;display:flex;align-items:center;margin:0;padding:0;}"]);
/**
* Apply styling to the Breadcrumb slots based on the state
*/
export const useBreadcrumbStyles_unstable = state => {
'use no memo';
const listBaseClassName = useListClassName();
state.root.className = mergeClasses(breadcrumbClassNames.root, state.root.className);
if (state.list) {
state.list.className = mergeClasses(listBaseClassName, breadcrumbClassNames.list, state.list.className);
}
return state;
};

View File

@@ -0,0 +1 @@
{"version":3,"names":["__resetStyles","mergeClasses","breadcrumbClassNames","root","list","useListClassName","useBreadcrumbStyles_unstable","state","listBaseClassName","className"],"sources":["useBreadcrumbStyles.styles.js"],"sourcesContent":["'use client';\nimport { makeResetStyles, mergeClasses } from '@griffel/react';\nexport const breadcrumbClassNames = {\n root: 'fui-Breadcrumb',\n list: 'fui-Breadcrumb__list'\n};\nconst useListClassName = makeResetStyles({\n listStyleType: 'none',\n display: 'flex',\n alignItems: 'center',\n margin: 0,\n padding: 0\n});\n/**\n * Apply styling to the Breadcrumb slots based on the state\n */ export const useBreadcrumbStyles_unstable = (state)=>{\n 'use no memo';\n const listBaseClassName = useListClassName();\n state.root.className = mergeClasses(breadcrumbClassNames.root, state.root.className);\n if (state.list) {\n state.list.className = mergeClasses(listBaseClassName, breadcrumbClassNames.list, state.list.className);\n }\n return state;\n};\n"],"mappings":"AAAA,YAAY;;AACZ,SAAAA,aAAA,EAA0BC,YAAY,QAAQ,gBAAgB;AAC9D,OAAO,MAAMC,oBAAoB,GAAG;EAChCC,IAAI,EAAE,gBAAgB;EACtBC,IAAI,EAAE;AACV,CAAC;AACD,MAAMC,gBAAgB,gBAAGL,aAAA,wGAMxB,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMM,4BAA4B,GAAIC,KAAK,IAAG;EACrD,aAAa;;EACb,MAAMC,iBAAiB,GAAGH,gBAAgB,CAAC,CAAC;EAC5CE,KAAK,CAACJ,IAAI,CAACM,SAAS,GAAGR,YAAY,CAACC,oBAAoB,CAACC,IAAI,EAAEI,KAAK,CAACJ,IAAI,CAACM,SAAS,CAAC;EACpF,IAAIF,KAAK,CAACH,IAAI,EAAE;IACZG,KAAK,CAACH,IAAI,CAACK,SAAS,GAAGR,YAAY,CAACO,iBAAiB,EAAEN,oBAAoB,CAACE,IAAI,EAAEG,KAAK,CAACH,IAAI,CAACK,SAAS,CAAC;EAC3G;EACA,OAAOF,KAAK;AAChB,CAAC","ignoreList":[]}

View File

@@ -0,0 +1,24 @@
'use client';
import { makeResetStyles, mergeClasses } from '@griffel/react';
export const breadcrumbClassNames = {
root: 'fui-Breadcrumb',
list: 'fui-Breadcrumb__list'
};
const useListClassName = makeResetStyles({
listStyleType: 'none',
display: 'flex',
alignItems: 'center',
margin: 0,
padding: 0
});
/**
* Apply styling to the Breadcrumb slots based on the state
*/ export const useBreadcrumbStyles_unstable = (state)=>{
'use no memo';
const listBaseClassName = useListClassName();
state.root.className = mergeClasses(breadcrumbClassNames.root, state.root.className);
if (state.list) {
state.list.className = mergeClasses(listBaseClassName, breadcrumbClassNames.list, state.list.className);
}
return state;
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/Breadcrumb/useBreadcrumbStyles.styles.ts"],"sourcesContent":["'use client';\n\nimport { makeResetStyles, mergeClasses } from '@griffel/react';\nimport type { BreadcrumbSlots, BreadcrumbState } from './Breadcrumb.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\n\nexport const breadcrumbClassNames: SlotClassNames<BreadcrumbSlots> = {\n root: 'fui-Breadcrumb',\n list: 'fui-Breadcrumb__list',\n};\n\nconst useListClassName = makeResetStyles({\n listStyleType: 'none',\n display: 'flex',\n alignItems: 'center',\n margin: 0,\n padding: 0,\n});\n\n/**\n * Apply styling to the Breadcrumb slots based on the state\n */\nexport const useBreadcrumbStyles_unstable = (state: BreadcrumbState): BreadcrumbState => {\n 'use no memo';\n\n const listBaseClassName = useListClassName();\n state.root.className = mergeClasses(breadcrumbClassNames.root, state.root.className);\n if (state.list) {\n state.list.className = mergeClasses(listBaseClassName, breadcrumbClassNames.list, state.list.className);\n }\n return state;\n};\n"],"names":["makeResetStyles","mergeClasses","breadcrumbClassNames","root","list","useListClassName","listStyleType","display","alignItems","margin","padding","useBreadcrumbStyles_unstable","state","listBaseClassName","className"],"mappings":"AAAA;AAEA,SAASA,eAAe,EAAEC,YAAY,QAAQ,iBAAiB;AAI/D,OAAO,MAAMC,uBAAwD;IACnEC,MAAM;IACNC,MAAM;AACR,EAAE;AAEF,MAAMC,mBAAmBL,gBAAgB;IACvCM,eAAe;IACfC,SAAS;IACTC,YAAY;IACZC,QAAQ;IACRC,SAAS;AACX;AAEA;;CAEC,GACD,OAAO,MAAMC,+BAA+B,CAACC;IAC3C;IAEA,MAAMC,oBAAoBR;IAC1BO,MAAMT,IAAI,CAACW,SAAS,GAAGb,aAAaC,qBAAqBC,IAAI,EAAES,MAAMT,IAAI,CAACW,SAAS;IACnF,IAAIF,MAAMR,IAAI,EAAE;QACdQ,MAAMR,IAAI,CAACU,SAAS,GAAGb,aAAaY,mBAAmBX,qBAAqBE,IAAI,EAAEQ,MAAMR,IAAI,CAACU,SAAS;IACxG;IACA,OAAOF;AACT,EAAE"}