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,16 @@
'use client';
import * as React from 'react';
import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';
import { useMessageBar_unstable } from './useMessageBar';
import { renderMessageBar_unstable } from './renderMessageBar';
import { useMessageBarStyles_unstable } from './useMessageBarStyles.styles';
import { useMessageBarContextValue_unstable } from './useMessageBarContextValues';
/**
* MessageBar component
*/ export const MessageBar = /*#__PURE__*/ React.forwardRef((props, ref)=>{
const state = useMessageBar_unstable(props, ref);
useMessageBarStyles_unstable(state);
useCustomStyleHook_unstable('useMessageBarStyles_unstable')(state);
return renderMessageBar_unstable(state, useMessageBarContextValue_unstable(state));
});
MessageBar.displayName = 'MessageBar';

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBar/MessageBar.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';\nimport { useMessageBar_unstable } from './useMessageBar';\nimport { renderMessageBar_unstable } from './renderMessageBar';\nimport { useMessageBarStyles_unstable } from './useMessageBarStyles.styles';\nimport type { MessageBarProps } from './MessageBar.types';\nimport { useMessageBarContextValue_unstable } from './useMessageBarContextValues';\n\n/**\n * MessageBar component\n */\nexport const MessageBar: ForwardRefComponent<MessageBarProps> = React.forwardRef((props, ref) => {\n const state = useMessageBar_unstable(props, ref);\n\n useMessageBarStyles_unstable(state);\n useCustomStyleHook_unstable('useMessageBarStyles_unstable')(state);\n return renderMessageBar_unstable(state, useMessageBarContextValue_unstable(state));\n});\n\nMessageBar.displayName = 'MessageBar';\n"],"names":["React","useCustomStyleHook_unstable","useMessageBar_unstable","renderMessageBar_unstable","useMessageBarStyles_unstable","useMessageBarContextValue_unstable","MessageBar","forwardRef","props","ref","state","displayName"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAE/B,SAASC,2BAA2B,QAAQ,kCAAkC;AAC9E,SAASC,sBAAsB,QAAQ,kBAAkB;AACzD,SAASC,yBAAyB,QAAQ,qBAAqB;AAC/D,SAASC,4BAA4B,QAAQ,+BAA+B;AAE5E,SAASC,kCAAkC,QAAQ,+BAA+B;AAElF;;CAEC,GACD,OAAO,MAAMC,2BAAmDN,MAAMO,UAAU,CAAC,CAACC,OAAOC;IACvF,MAAMC,QAAQR,uBAAuBM,OAAOC;IAE5CL,6BAA6BM;IAC7BT,4BAA4B,gCAAgCS;IAC5D,OAAOP,0BAA0BO,OAAOL,mCAAmCK;AAC7E,GAAG;AAEHJ,WAAWK,WAAW,GAAG"}

View File

@@ -0,0 +1,3 @@
/**
* State used in rendering MessageBar
*/ export { };

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBar/MessageBar.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { MessageBarContextValue } from '../../contexts/messageBarContext';\n\nexport type MessageBarSlots = {\n root: Slot<'div'>;\n icon?: Slot<'div'>;\n /**\n * Rendered when the component is in multiline layout to guarantee correct spacing even\n * if no actions are rendered. When actions are rendered, the default actions grid area will render\n * over this element\n *\n * NOTE: If you are using this slot, this probably means that you are using the MessageBar without\n * actions, this is not recommended from an accesibility point of view\n */\n bottomReflowSpacer?: Slot<'div'>;\n};\n\nexport type MessageBarContextValues = {\n messageBar: MessageBarContextValue;\n};\n\nexport type MessageBarIntent = 'info' | 'success' | 'warning' | 'error';\n\n/**\n * MessageBar Props\n */\nexport type MessageBarProps = ComponentProps<MessageBarSlots> &\n Pick<Partial<MessageBarContextValue>, 'layout'> & {\n /**\n * Default designs announcement presets\n * @default info\n */\n intent?: MessageBarIntent;\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions\n */\n politeness?: 'assertive' | 'polite';\n /**\n * Use squal for page level messages and rounded for component level messages\n * @default rounded\n */\n shape?: 'square' | 'rounded';\n };\n\n/**\n * State used in rendering MessageBar\n */\nexport type MessageBarState = ComponentState<MessageBarSlots> &\n Required<Pick<MessageBarProps, 'layout' | 'intent' | 'shape'>> &\n Pick<MessageBarContextValue, 'actionsRef' | 'bodyRef' | 'titleId'> & {\n /**\n * @deprecated Code is unused, replaced by motion components\n */\n transitionClassName: string;\n };\n"],"names":[],"mappings":"AA4CA;;CAEC,GACD,WAOI"}

View File

@@ -0,0 +1,16 @@
import * as React from 'react';
import { CheckmarkCircleFilled, InfoFilled, WarningFilled, DiamondDismissFilled } from '@fluentui/react-icons';
export function getIntentIcon(intent) {
switch(intent){
case 'info':
return /*#__PURE__*/ React.createElement(InfoFilled, null);
case 'warning':
return /*#__PURE__*/ React.createElement(WarningFilled, null);
case 'error':
return /*#__PURE__*/ React.createElement(DiamondDismissFilled, null);
case 'success':
return /*#__PURE__*/ React.createElement(CheckmarkCircleFilled, null);
default:
return null;
}
}

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBar/getIntentIcon.tsx"],"sourcesContent":["import * as React from 'react';\nimport { MessageBarProps } from './MessageBar.types';\nimport { CheckmarkCircleFilled, InfoFilled, WarningFilled, DiamondDismissFilled } from '@fluentui/react-icons';\nimport type { JSXElement } from '@fluentui/react-utilities';\n\nexport function getIntentIcon(intent: MessageBarProps['intent']): JSXElement | null {\n switch (intent) {\n case 'info':\n return <InfoFilled />;\n case 'warning':\n return <WarningFilled />;\n case 'error':\n return <DiamondDismissFilled />;\n case 'success':\n return <CheckmarkCircleFilled />;\n\n default:\n return null;\n }\n}\n"],"names":["React","CheckmarkCircleFilled","InfoFilled","WarningFilled","DiamondDismissFilled","getIntentIcon","intent"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B,SAASC,qBAAqB,EAAEC,UAAU,EAAEC,aAAa,EAAEC,oBAAoB,QAAQ,wBAAwB;AAG/G,OAAO,SAASC,cAAcC,MAAiC;IAC7D,OAAQA;QACN,KAAK;YACH,qBAAO,oBAACJ;QACV,KAAK;YACH,qBAAO,oBAACC;QACV,KAAK;YACH,qBAAO,oBAACC;QACV,KAAK;YACH,qBAAO,oBAACH;QAEV;YACE,OAAO;IACX;AACF"}

View File

@@ -0,0 +1,5 @@
export { MessageBar } from './MessageBar';
export { renderMessageBar_unstable } from './renderMessageBar';
export { useMessageBar_unstable } from './useMessageBar';
export { messageBarClassNames, useMessageBarStyles_unstable } from './useMessageBarStyles.styles';
export { useMessageBarContextValue_unstable } from './useMessageBarContextValues';

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBar/index.ts"],"sourcesContent":["export { MessageBar } from './MessageBar';\nexport type {\n MessageBarContextValues,\n MessageBarIntent,\n MessageBarProps,\n MessageBarSlots,\n MessageBarState,\n} from './MessageBar.types';\nexport { renderMessageBar_unstable } from './renderMessageBar';\nexport { useMessageBar_unstable } from './useMessageBar';\nexport { messageBarClassNames, useMessageBarStyles_unstable } from './useMessageBarStyles.styles';\nexport { useMessageBarContextValue_unstable } from './useMessageBarContextValues';\n"],"names":["MessageBar","renderMessageBar_unstable","useMessageBar_unstable","messageBarClassNames","useMessageBarStyles_unstable","useMessageBarContextValue_unstable"],"mappings":"AAAA,SAASA,UAAU,QAAQ,eAAe;AAQ1C,SAASC,yBAAyB,QAAQ,qBAAqB;AAC/D,SAASC,sBAAsB,QAAQ,kBAAkB;AACzD,SAASC,oBAAoB,EAAEC,4BAA4B,QAAQ,+BAA+B;AAClG,SAASC,kCAAkC,QAAQ,+BAA+B"}

View File

@@ -0,0 +1,18 @@
import { jsx as _jsx, jsxs as _jsxs } from "@fluentui/react-jsx-runtime/jsx-runtime";
import { assertSlots } from '@fluentui/react-utilities';
import { MessageBarContextProvider } from '../../contexts/messageBarContext';
/**
* Render the final JSX of MessageBar
*/ export const renderMessageBar_unstable = (state, contexts)=>{
assertSlots(state);
return /*#__PURE__*/ _jsx(MessageBarContextProvider, {
value: contexts.messageBar,
children: /*#__PURE__*/ _jsxs(state.root, {
children: [
state.icon && /*#__PURE__*/ _jsx(state.icon, {}),
state.root.children,
state.bottomReflowSpacer && /*#__PURE__*/ _jsx(state.bottomReflowSpacer, {})
]
})
});
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBar/renderMessageBar.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 { MessageBarState, MessageBarSlots, MessageBarContextValues } from './MessageBar.types';\nimport { MessageBarContextProvider } from '../../contexts/messageBarContext';\n\n/**\n * Render the final JSX of MessageBar\n */\nexport const renderMessageBar_unstable = (state: MessageBarState, contexts: MessageBarContextValues): JSXElement => {\n assertSlots<MessageBarSlots>(state);\n\n return (\n <MessageBarContextProvider value={contexts.messageBar}>\n <state.root>\n {state.icon && <state.icon />}\n {state.root.children}\n {state.bottomReflowSpacer && <state.bottomReflowSpacer />}\n </state.root>\n </MessageBarContextProvider>\n );\n};\n"],"names":["assertSlots","MessageBarContextProvider","renderMessageBar_unstable","state","contexts","value","messageBar","root","icon","children","bottomReflowSpacer"],"mappings":"AAAA,0BAA0B,GAC1B,iDAAiD;AAEjD,SAASA,WAAW,QAAQ,4BAA4B;AAGxD,SAASC,yBAAyB,QAAQ,mCAAmC;AAE7E;;CAEC,GACD,OAAO,MAAMC,4BAA4B,CAACC,OAAwBC;IAChEJ,YAA6BG;IAE7B,qBACE,KAACF;QAA0BI,OAAOD,SAASE,UAAU;kBACnD,cAAA,MAACH,MAAMI,IAAI;;gBACRJ,MAAMK,IAAI,kBAAI,KAACL,MAAMK,IAAI;gBACzBL,MAAMI,IAAI,CAACE,QAAQ;gBACnBN,MAAMO,kBAAkB,kBAAI,KAACP,MAAMO,kBAAkB;;;;AAI9D,EAAE"}

View File

@@ -0,0 +1,81 @@
'use client';
import * as React from 'react';
import { getIntrinsicElementProps, slot, useId, useMergedRefs } from '@fluentui/react-utilities';
import { useAnnounce } from '@fluentui/react-shared-contexts';
import { getIntentIcon } from './getIntentIcon';
import { useMessageBarReflow } from './useMessageBarReflow';
import { useMessageBarTransitionContext } from '../../contexts/messageBarTransitionContext';
import { useMotionForwardedRef } from '@fluentui/react-motion';
/**
* Create the state required to render MessageBar.
*
* The returned state can be modified with hooks such as useMessageBarStyles_unstable,
* before being passed to renderMessageBar_unstable.
*
* @param props - props from this instance of MessageBar
* @param ref - reference to root HTMLElement of MessageBar
*/ export const useMessageBar_unstable = (props, ref)=>{
const { layout = 'auto', intent = 'info', politeness, shape = 'rounded' } = props;
const computedPoliteness = (politeness !== null && politeness !== void 0 ? politeness : intent === 'info') ? 'polite' : 'assertive';
const autoReflow = layout === 'auto';
const { ref: reflowRef, reflowing } = useMessageBarReflow(autoReflow);
const computedLayout = autoReflow ? reflowing ? 'multiline' : 'singleline' : layout;
// eslint-disable-next-line @typescript-eslint/no-deprecated
const { className: transitionClassName, nodeRef } = useMessageBarTransitionContext();
const motionRef = useMotionForwardedRef();
const actionsRef = React.useRef(null);
const bodyRef = React.useRef(null);
const { announce } = useAnnounce();
const titleId = useId();
React.useEffect(()=>{
var _bodyRef_current, _actionsRef_current;
const bodyMessage = (_bodyRef_current = bodyRef.current) === null || _bodyRef_current === void 0 ? void 0 : _bodyRef_current.textContent;
const actionsMessage = (_actionsRef_current = actionsRef.current) === null || _actionsRef_current === void 0 ? void 0 : _actionsRef_current.textContent;
const message = [
bodyMessage,
actionsMessage
].filter(Boolean).join(',');
announce(message, {
polite: computedPoliteness === 'polite',
alert: computedPoliteness === 'assertive'
});
}, [
bodyRef,
actionsRef,
announce,
computedPoliteness
]);
return {
components: {
root: 'div',
icon: 'div',
bottomReflowSpacer: 'div'
},
root: slot.always(getIntrinsicElementProps('div', {
ref: useMergedRefs(ref, reflowRef, nodeRef, motionRef),
role: 'group',
'aria-labelledby': titleId,
...props
}), {
elementType: 'div'
}),
icon: slot.optional(props.icon, {
renderByDefault: true,
elementType: 'div',
defaultProps: {
children: getIntentIcon(intent)
}
}),
bottomReflowSpacer: slot.optional(props.bottomReflowSpacer, {
renderByDefault: computedLayout === 'multiline',
elementType: 'div'
}),
layout: computedLayout,
intent,
transitionClassName,
actionsRef,
bodyRef,
titleId,
shape
};
};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,19 @@
'use client';
import * as React from 'react';
export function useMessageBarContextValue_unstable(state) {
const { layout, actionsRef, bodyRef, titleId } = state;
const messageBarContext = React.useMemo(()=>({
layout,
actionsRef,
bodyRef,
titleId
}), [
layout,
actionsRef,
bodyRef,
titleId
]);
return {
messageBar: messageBarContext
};
}

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBar/useMessageBarContextValues.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { MessageBarContextValues, MessageBarState } from './MessageBar.types';\n\nexport function useMessageBarContextValue_unstable(state: MessageBarState): MessageBarContextValues {\n const { layout, actionsRef, bodyRef, titleId } = state;\n\n const messageBarContext = React.useMemo(\n () => ({\n layout,\n actionsRef,\n bodyRef,\n titleId,\n }),\n [layout, actionsRef, bodyRef, titleId],\n );\n\n return {\n messageBar: messageBarContext,\n };\n}\n"],"names":["React","useMessageBarContextValue_unstable","state","layout","actionsRef","bodyRef","titleId","messageBarContext","useMemo","messageBar"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAG/B,OAAO,SAASC,mCAAmCC,KAAsB;IACvE,MAAM,EAAEC,MAAM,EAAEC,UAAU,EAAEC,OAAO,EAAEC,OAAO,EAAE,GAAGJ;IAEjD,MAAMK,oBAAoBP,MAAMQ,OAAO,CACrC,IAAO,CAAA;YACLL;YACAC;YACAC;YACAC;QACF,CAAA,GACA;QAACH;QAAQC;QAAYC;QAASC;KAAQ;IAGxC,OAAO;QACLG,YAAYF;IACd;AACF"}

View File

@@ -0,0 +1,84 @@
'use client';
import * as React from 'react';
import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';
import { isHTMLElement } from '@fluentui/react-utilities';
export function useMessageBarReflow(enabled = false) {
const { targetDocument } = useFluent();
const forceUpdate = React.useReducer(()=>({}), {})[1];
const reflowingRef = React.useRef(false);
// TODO: exclude types from this lint rule: https://github.com/microsoft/fluentui/issues/31286
const resizeObserverRef = React.useRef(null);
const prevInlineSizeRef = React.useRef(-1);
const handleResize = React.useCallback((entries)=>{
var _entry_borderBoxSize_, _entry_borderBoxSize;
// Resize observer is only owned by this component - one resize observer entry expected
// No need to support multiple fragments - one border box entry expected
if (process.env.NODE_ENV !== 'production' && entries.length > 1) {
// eslint-disable-next-line no-console
console.error([
'useMessageBarReflow: Resize observer should only have one entry. ',
'If multiple entries are observed, the first entry will be used.',
'This is a bug, please report it to the Fluent UI team.'
].join(' '));
}
const entry = entries[0];
var _entry_borderBoxSize__inlineSize;
// `borderBoxSize` is not supported before Chrome 84, Firefox 92, nor Safari 15.4
const inlineSize = (_entry_borderBoxSize__inlineSize = entry === null || entry === void 0 ? void 0 : (_entry_borderBoxSize = entry.borderBoxSize) === null || _entry_borderBoxSize === void 0 ? void 0 : (_entry_borderBoxSize_ = _entry_borderBoxSize[0]) === null || _entry_borderBoxSize_ === void 0 ? void 0 : _entry_borderBoxSize_.inlineSize) !== null && _entry_borderBoxSize__inlineSize !== void 0 ? _entry_borderBoxSize__inlineSize : entry === null || entry === void 0 ? void 0 : entry.target.getBoundingClientRect().width;
if (inlineSize === undefined || !entry) {
return;
}
const { target } = entry;
if (!isHTMLElement(target)) {
return;
}
let nextReflowing;
// No easy way to really determine when the single line layout will fit
// Just keep try to set single line layout as long as the size is growing
// Will cause flickering when size is being adjusted gradually (i.e. drag) - but this should not be a common case
if (reflowingRef.current) {
if (prevInlineSizeRef.current < inlineSize) {
nextReflowing = false;
}
} else {
const scrollWidth = target.scrollWidth;
if (inlineSize < scrollWidth) {
nextReflowing = true;
}
}
prevInlineSizeRef.current = inlineSize;
if (typeof nextReflowing !== 'undefined' && reflowingRef.current !== nextReflowing) {
reflowingRef.current = nextReflowing;
forceUpdate();
}
}, [
forceUpdate
]);
const ref = React.useCallback((el)=>{
var _resizeObserverRef_current;
if (!enabled || !el || !(targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView)) {
return;
}
(_resizeObserverRef_current = resizeObserverRef.current) === null || _resizeObserverRef_current === void 0 ? void 0 : _resizeObserverRef_current.disconnect();
const win = targetDocument.defaultView;
const resizeObserver = new win.ResizeObserver(handleResize);
resizeObserverRef.current = resizeObserver;
resizeObserver.observe(el, {
box: 'border-box'
});
}, [
targetDocument,
handleResize,
enabled
]);
React.useEffect(()=>{
return ()=>{
var _resizeObserverRef_current;
(_resizeObserverRef_current = resizeObserverRef.current) === null || _resizeObserverRef_current === void 0 ? void 0 : _resizeObserverRef_current.disconnect();
};
}, []);
return {
ref,
reflowing: reflowingRef.current
};
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,99 @@
'use client';
import { __resetStyles, __styles, mergeClasses, shorthands } from '@griffel/react';
import { tokens } from '@fluentui/react-theme';
export const messageBarClassNames = {
root: 'fui-MessageBar',
icon: 'fui-MessageBar__icon',
bottomReflowSpacer: 'fui-MessageBar__bottomReflowSpacer'
};
const useRootBaseStyles = /*#__PURE__*/__resetStyles("r2oyxsj", "r1wuyrhw", [".r2oyxsj{white-space:nowrap;display:grid;grid-template-columns:auto 1fr auto auto;grid-template-rows:1fr;grid-template-areas:\"icon body secondaryActions actions\";padding-left:var(--spacingHorizontalM);border:var(--strokeWidthThin) solid var(--colorNeutralStroke1);border-radius:var(--borderRadiusMedium);align-items:center;min-height:36px;box-sizing:border-box;background-color:var(--colorNeutralBackground3);}", ".r1wuyrhw{white-space:nowrap;display:grid;grid-template-columns:auto 1fr auto auto;grid-template-rows:1fr;grid-template-areas:\"icon body secondaryActions actions\";padding-right:var(--spacingHorizontalM);border:var(--strokeWidthThin) solid var(--colorNeutralStroke1);border-radius:var(--borderRadiusMedium);align-items:center;min-height:36px;box-sizing:border-box;background-color:var(--colorNeutralBackground3);}"]);
const useIconBaseStyles = /*#__PURE__*/__resetStyles("r1df1z33", "rivnfjc", [".r1df1z33{grid-area:icon;font-size:var(--fontSizeBase500);margin-right:var(--spacingHorizontalS);color:var(--colorNeutralForeground3);display:flex;align-items:center;}", ".rivnfjc{grid-area:icon;font-size:var(--fontSizeBase500);margin-left:var(--spacingHorizontalS);color:var(--colorNeutralForeground3);display:flex;align-items:center;}"]);
const useReflowSpacerBaseStyles = /*#__PURE__*/__resetStyles("r1vx593n", null, [".r1vx593n{margin-bottom:var(--spacingVerticalS);grid-area:secondaryActions;}"]);
const useStyles = /*#__PURE__*/__styles({
rootMultiline: {
Huce71: "f6juhto",
Bt984gj: "f1s2louj",
z8tnut: "f1ngh7ph",
Budl1dq: "f17g0uqy",
zoa1oz: "f1w7oly7"
},
secondaryActionsMultiline: {
Brf1p80: "f1e8xxv9",
B6of3ja: "f1gaxbfw",
jrapky: "fqcjy3b",
t21cq0: ["fibjyge", "f9yszdx"]
},
square: {
Beyfa6y: 0,
Bbmb7ep: 0,
Btl43ni: 0,
B7oj6ja: 0,
Dimara: "fokr779"
}
}, {
d: [".f6juhto{white-space:normal;}", ".f1s2louj{align-items:start;}", ".f1ngh7ph{padding-top:var(--spacingVerticalMNudge);}", ".f17g0uqy{grid-template-columns:auto 1fr auto;}", ".f1w7oly7{grid-template-areas:\"icon body actions\" \"secondaryActions secondaryActions secondaryActions\";}", ".f1e8xxv9{justify-content:end;}", ".f1gaxbfw{margin-top:var(--spacingVerticalMNudge);}", ".fqcjy3b{margin-bottom:var(--spacingVerticalS);}", ".fibjyge{margin-right:0px;}", ".f9yszdx{margin-left:0px;}", [".fokr779{border-radius:0;}", {
p: -1
}]]
});
const useIconIntentStyles = /*#__PURE__*/__styles({
info: {},
error: {
sj55zd: "f1ca9wz"
},
warning: {
sj55zd: "f14a4cve"
},
success: {
sj55zd: "f36rra6"
}
}, {
d: [".f1ca9wz{color:var(--colorStatusDangerForeground1);}", ".f14a4cve{color:var(--colorStatusWarningForeground3);}", ".f36rra6{color:var(--colorStatusSuccessForeground1);}"]
});
const useRootIntentStyles = /*#__PURE__*/__styles({
info: {},
error: {
De3pzq: "f1eon7jj",
g2u3we: "f1f8dvr7",
h3c5rm: ["f1g1ijmo", "f1nxacbt"],
B9xav0g: "fo25q1j",
zhjwy3: ["f1nxacbt", "f1g1ijmo"]
},
warning: {
De3pzq: "f13ftzij",
g2u3we: "frd1ypx",
h3c5rm: ["f1gyjrma", "f18qd5xz"],
B9xav0g: "fqyqtrt",
zhjwy3: ["f18qd5xz", "f1gyjrma"]
},
success: {
De3pzq: "f64thcm",
g2u3we: "f1b4u7v",
h3c5rm: ["f1nyd2b1", "f70v3om"],
B9xav0g: "fk173vo",
zhjwy3: ["f70v3om", "f1nyd2b1"]
}
}, {
d: [".f1eon7jj{background-color:var(--colorStatusDangerBackground1);}", ".f1f8dvr7{border-top-color:var(--colorStatusDangerBorder1);}", ".f1g1ijmo{border-right-color:var(--colorStatusDangerBorder1);}", ".f1nxacbt{border-left-color:var(--colorStatusDangerBorder1);}", ".fo25q1j{border-bottom-color:var(--colorStatusDangerBorder1);}", ".f13ftzij{background-color:var(--colorStatusWarningBackground1);}", ".frd1ypx{border-top-color:var(--colorStatusWarningBorder1);}", ".f1gyjrma{border-right-color:var(--colorStatusWarningBorder1);}", ".f18qd5xz{border-left-color:var(--colorStatusWarningBorder1);}", ".fqyqtrt{border-bottom-color:var(--colorStatusWarningBorder1);}", ".f64thcm{background-color:var(--colorStatusSuccessBackground1);}", ".f1b4u7v{border-top-color:var(--colorStatusSuccessBorder1);}", ".f1nyd2b1{border-right-color:var(--colorStatusSuccessBorder1);}", ".f70v3om{border-left-color:var(--colorStatusSuccessBorder1);}", ".fk173vo{border-bottom-color:var(--colorStatusSuccessBorder1);}"]
});
/**
* Apply styling to the MessageBar slots based on the state
*/
export const useMessageBarStyles_unstable = state => {
'use no memo';
const rootBaseStyles = useRootBaseStyles();
const iconBaseStyles = useIconBaseStyles();
const iconIntentStyles = useIconIntentStyles();
const rootIntentStyles = useRootIntentStyles();
const reflowSpacerStyles = useReflowSpacerBaseStyles();
const styles = useStyles();
state.root.className = mergeClasses(messageBarClassNames.root, rootBaseStyles, state.layout === 'multiline' && styles.rootMultiline, state.shape === 'square' && styles.square, rootIntentStyles[state.intent], state.root.className);
if (state.icon) {
state.icon.className = mergeClasses(messageBarClassNames.icon, iconBaseStyles, iconIntentStyles[state.intent], state.icon.className);
}
if (state.bottomReflowSpacer) {
state.bottomReflowSpacer.className = mergeClasses(messageBarClassNames.bottomReflowSpacer, reflowSpacerStyles);
}
return state;
};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,103 @@
'use client';
import { makeResetStyles, makeStyles, mergeClasses, shorthands } from '@griffel/react';
import { tokens } from '@fluentui/react-theme';
export const messageBarClassNames = {
root: 'fui-MessageBar',
icon: 'fui-MessageBar__icon',
bottomReflowSpacer: 'fui-MessageBar__bottomReflowSpacer'
};
const useRootBaseStyles = makeResetStyles({
whiteSpace: 'nowrap',
display: 'grid',
gridTemplateColumns: 'auto 1fr auto auto',
gridTemplateRows: '1fr',
gridTemplateAreas: '"icon body secondaryActions actions"',
paddingLeft: tokens.spacingHorizontalM,
border: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke1}`,
borderRadius: tokens.borderRadiusMedium,
alignItems: 'center',
minHeight: '36px',
boxSizing: 'border-box',
backgroundColor: tokens.colorNeutralBackground3
});
const useIconBaseStyles = makeResetStyles({
gridArea: 'icon',
fontSize: tokens.fontSizeBase500,
marginRight: tokens.spacingHorizontalS,
color: tokens.colorNeutralForeground3,
display: 'flex',
alignItems: 'center'
});
const useReflowSpacerBaseStyles = makeResetStyles({
marginBottom: tokens.spacingVerticalS,
gridArea: 'secondaryActions'
});
const useStyles = makeStyles({
rootMultiline: {
whiteSpace: 'normal',
alignItems: 'start',
paddingTop: tokens.spacingVerticalMNudge,
gridTemplateColumns: 'auto 1fr auto',
gridTemplateAreas: `
"icon body actions"
"secondaryActions secondaryActions secondaryActions"
`
},
secondaryActionsMultiline: {
justifyContent: 'end',
marginTop: tokens.spacingVerticalMNudge,
marginBottom: tokens.spacingVerticalS,
marginRight: '0px'
},
square: {
borderRadius: '0'
}
});
const useIconIntentStyles = makeStyles({
info: {
},
error: {
color: tokens.colorStatusDangerForeground1
},
warning: {
color: tokens.colorStatusWarningForeground3
},
success: {
color: tokens.colorStatusSuccessForeground1
}
});
const useRootIntentStyles = makeStyles({
info: {
},
error: {
backgroundColor: tokens.colorStatusDangerBackground1,
...shorthands.borderColor(tokens.colorStatusDangerBorder1)
},
warning: {
backgroundColor: tokens.colorStatusWarningBackground1,
...shorthands.borderColor(tokens.colorStatusWarningBorder1)
},
success: {
backgroundColor: tokens.colorStatusSuccessBackground1,
...shorthands.borderColor(tokens.colorStatusSuccessBorder1)
}
});
/**
* Apply styling to the MessageBar slots based on the state
*/ export const useMessageBarStyles_unstable = (state)=>{
'use no memo';
const rootBaseStyles = useRootBaseStyles();
const iconBaseStyles = useIconBaseStyles();
const iconIntentStyles = useIconIntentStyles();
const rootIntentStyles = useRootIntentStyles();
const reflowSpacerStyles = useReflowSpacerBaseStyles();
const styles = useStyles();
state.root.className = mergeClasses(messageBarClassNames.root, rootBaseStyles, state.layout === 'multiline' && styles.rootMultiline, state.shape === 'square' && styles.square, rootIntentStyles[state.intent], state.root.className);
if (state.icon) {
state.icon.className = mergeClasses(messageBarClassNames.icon, iconBaseStyles, iconIntentStyles[state.intent], state.icon.className);
}
if (state.bottomReflowSpacer) {
state.bottomReflowSpacer.className = mergeClasses(messageBarClassNames.bottomReflowSpacer, reflowSpacerStyles);
}
return state;
};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,16 @@
'use client';
import * as React from 'react';
import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';
import { useMessageBarActions_unstable } from './useMessageBarActions';
import { renderMessageBarActions_unstable } from './renderMessageBarActions';
import { useMessageBarActionsStyles_unstable } from './useMessageBarActionsStyles.styles';
import { useMessageBarActionsContextValue_unstable } from './useMessageBarActionsContextValues';
/**
* MessageBarActions component
*/ export const MessageBarActions = /*#__PURE__*/ React.forwardRef((props, ref)=>{
const state = useMessageBarActions_unstable(props, ref);
useMessageBarActionsStyles_unstable(state);
useCustomStyleHook_unstable('useMessageBarActionsStyles_unstable')(state);
return renderMessageBarActions_unstable(state, useMessageBarActionsContextValue_unstable());
});
MessageBarActions.displayName = 'MessageBarActions';

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarActions/MessageBarActions.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';\nimport { useMessageBarActions_unstable } from './useMessageBarActions';\nimport { renderMessageBarActions_unstable } from './renderMessageBarActions';\nimport { useMessageBarActionsStyles_unstable } from './useMessageBarActionsStyles.styles';\nimport type { MessageBarActionsProps } from './MessageBarActions.types';\nimport { useMessageBarActionsContextValue_unstable } from './useMessageBarActionsContextValues';\n\n/**\n * MessageBarActions component\n */\nexport const MessageBarActions: ForwardRefComponent<MessageBarActionsProps> = React.forwardRef((props, ref) => {\n const state = useMessageBarActions_unstable(props, ref);\n\n useMessageBarActionsStyles_unstable(state);\n useCustomStyleHook_unstable('useMessageBarActionsStyles_unstable')(state);\n return renderMessageBarActions_unstable(state, useMessageBarActionsContextValue_unstable());\n});\n\nMessageBarActions.displayName = 'MessageBarActions';\n"],"names":["React","useCustomStyleHook_unstable","useMessageBarActions_unstable","renderMessageBarActions_unstable","useMessageBarActionsStyles_unstable","useMessageBarActionsContextValue_unstable","MessageBarActions","forwardRef","props","ref","state","displayName"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAE/B,SAASC,2BAA2B,QAAQ,kCAAkC;AAC9E,SAASC,6BAA6B,QAAQ,yBAAyB;AACvE,SAASC,gCAAgC,QAAQ,4BAA4B;AAC7E,SAASC,mCAAmC,QAAQ,sCAAsC;AAE1F,SAASC,yCAAyC,QAAQ,sCAAsC;AAEhG;;CAEC,GACD,OAAO,MAAMC,kCAAiEN,MAAMO,UAAU,CAAC,CAACC,OAAOC;IACrG,MAAMC,QAAQR,8BAA8BM,OAAOC;IAEnDL,oCAAoCM;IACpCT,4BAA4B,uCAAuCS;IACnE,OAAOP,iCAAiCO,OAAOL;AACjD,GAAG;AAEHC,kBAAkBK,WAAW,GAAG"}

View File

@@ -0,0 +1,3 @@
/**
* State used in rendering MessageBarActions
*/ export { };

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarActions/MessageBarActions.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { ButtonContextValue } from '@fluentui/react-button';\nimport type { MessageBarContextValue } from '../../contexts/messageBarContext';\n\nexport type MessageBarActionsSlots = {\n root: Slot<'div'>;\n /**\n * Generally the 'Dismiss' button for the MessageBar\n */\n containerAction?: Slot<'div'>;\n};\n\nexport type MessageBarActionsContextValues = {\n button: ButtonContextValue;\n};\n\n/**\n * MessageBarActions Props\n */\nexport type MessageBarActionsProps = ComponentProps<MessageBarActionsSlots>;\n\n/**\n * State used in rendering MessageBarActions\n */\nexport type MessageBarActionsState = ComponentState<MessageBarActionsSlots> &\n Pick<Required<MessageBarContextValue>, 'layout'> & {\n /**\n * Whether there are actions as children of this component\n */\n hasActions: boolean;\n };\n"],"names":[],"mappings":"AAqBA;;CAEC,GACD,WAMI"}

View File

@@ -0,0 +1,5 @@
export { MessageBarActions } from './MessageBarActions';
export { renderMessageBarActions_unstable } from './renderMessageBarActions';
export { useMessageBarActions_unstable } from './useMessageBarActions';
export { messageBarActionsClassNames, useMessageBarActionsStyles_unstable } from './useMessageBarActionsStyles.styles';
export { useMessageBarActionsContextValue_unstable } from './useMessageBarActionsContextValues';

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarActions/index.ts"],"sourcesContent":["export { MessageBarActions } from './MessageBarActions';\nexport type {\n MessageBarActionsContextValues,\n MessageBarActionsProps,\n MessageBarActionsSlots,\n MessageBarActionsState,\n} from './MessageBarActions.types';\nexport { renderMessageBarActions_unstable } from './renderMessageBarActions';\nexport { useMessageBarActions_unstable } from './useMessageBarActions';\nexport { messageBarActionsClassNames, useMessageBarActionsStyles_unstable } from './useMessageBarActionsStyles.styles';\nexport { useMessageBarActionsContextValue_unstable } from './useMessageBarActionsContextValues';\n"],"names":["MessageBarActions","renderMessageBarActions_unstable","useMessageBarActions_unstable","messageBarActionsClassNames","useMessageBarActionsStyles_unstable","useMessageBarActionsContextValue_unstable"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,sBAAsB;AAOxD,SAASC,gCAAgC,QAAQ,4BAA4B;AAC7E,SAASC,6BAA6B,QAAQ,yBAAyB;AACvE,SAASC,2BAA2B,EAAEC,mCAAmC,QAAQ,sCAAsC;AACvH,SAASC,yCAAyC,QAAQ,sCAAsC"}

View File

@@ -0,0 +1,16 @@
import { jsx as _jsx, jsxs as _jsxs } from "@fluentui/react-jsx-runtime/jsx-runtime";
import { assertSlots } from '@fluentui/react-utilities';
import { ButtonContextProvider } from '@fluentui/react-button';
/**
* Render the final JSX of MessageBarActions
*/ export const renderMessageBarActions_unstable = (state, contexts)=>{
assertSlots(state);
return /*#__PURE__*/ _jsxs(ButtonContextProvider, {
value: contexts.button,
children: [
state.layout === 'multiline' && state.containerAction && /*#__PURE__*/ _jsx(state.containerAction, {}, "containerAction"),
/*#__PURE__*/ _jsx(state.root, {}),
state.layout !== 'multiline' && state.containerAction && /*#__PURE__*/ _jsx(state.containerAction, {}, "containerAction")
]
});
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarActions/renderMessageBarActions.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 {\n MessageBarActionsState,\n MessageBarActionsSlots,\n MessageBarActionsContextValues,\n} from './MessageBarActions.types';\nimport { ButtonContextProvider } from '@fluentui/react-button';\n\n/**\n * Render the final JSX of MessageBarActions\n */\nexport const renderMessageBarActions_unstable = (\n state: MessageBarActionsState,\n contexts: MessageBarActionsContextValues,\n): JSXElement => {\n assertSlots<MessageBarActionsSlots>(state);\n\n return (\n <ButtonContextProvider value={contexts.button}>\n {state.layout === 'multiline' && state.containerAction && <state.containerAction key=\"containerAction\" />}\n <state.root />\n {state.layout !== 'multiline' && state.containerAction && <state.containerAction key=\"containerAction\" />}\n </ButtonContextProvider>\n );\n};\n"],"names":["assertSlots","ButtonContextProvider","renderMessageBarActions_unstable","state","contexts","value","button","layout","containerAction","root"],"mappings":"AAAA,0BAA0B,GAC1B,iDAAiD;AAEjD,SAASA,WAAW,QAAQ,4BAA4B;AAOxD,SAASC,qBAAqB,QAAQ,yBAAyB;AAE/D;;CAEC,GACD,OAAO,MAAMC,mCAAmC,CAC9CC,OACAC;IAEAJ,YAAoCG;IAEpC,qBACE,MAACF;QAAsBI,OAAOD,SAASE,MAAM;;YAC1CH,MAAMI,MAAM,KAAK,eAAeJ,MAAMK,eAAe,kBAAI,KAACL,MAAMK,eAAe,MAAK;0BACrF,KAACL,MAAMM,IAAI;YACVN,MAAMI,MAAM,KAAK,eAAeJ,MAAMK,eAAe,kBAAI,KAACL,MAAMK,eAAe,MAAK;;;AAG3F,EAAE"}

View File

@@ -0,0 +1,33 @@
'use client';
import * as React from 'react';
import { getIntrinsicElementProps, slot, useMergedRefs } from '@fluentui/react-utilities';
import { useMessageBarContext } from '../../contexts/messageBarContext';
/**
* Create the state required to render MessageBarActions.
*
* The returned state can be modified with hooks such as useMessageBarActionsStyles_unstable,
* before being passed to renderMessageBarActions_unstable.
*
* @param props - props from this instance of MessageBarActions
* @param ref - reference to root HTMLElement of MessageBarActions
*/ export const useMessageBarActions_unstable = (props, ref)=>{
const { layout = 'singleline', actionsRef } = useMessageBarContext();
return {
components: {
root: 'div',
containerAction: 'div'
},
containerAction: slot.optional(props.containerAction, {
renderByDefault: false,
elementType: 'div'
}),
root: slot.always(getIntrinsicElementProps('div', {
ref: useMergedRefs(ref, actionsRef),
...props
}), {
elementType: 'div'
}),
layout,
hasActions: !!props.children
};
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarActions/useMessageBarActions.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { getIntrinsicElementProps, slot, useMergedRefs } from '@fluentui/react-utilities';\nimport type { MessageBarActionsProps, MessageBarActionsState } from './MessageBarActions.types';\nimport { useMessageBarContext } from '../../contexts/messageBarContext';\n\n/**\n * Create the state required to render MessageBarActions.\n *\n * The returned state can be modified with hooks such as useMessageBarActionsStyles_unstable,\n * before being passed to renderMessageBarActions_unstable.\n *\n * @param props - props from this instance of MessageBarActions\n * @param ref - reference to root HTMLElement of MessageBarActions\n */\nexport const useMessageBarActions_unstable = (\n props: MessageBarActionsProps,\n ref: React.Ref<HTMLDivElement>,\n): MessageBarActionsState => {\n const { layout = 'singleline', actionsRef } = useMessageBarContext();\n return {\n components: {\n root: 'div',\n containerAction: 'div',\n },\n containerAction: slot.optional(props.containerAction, { renderByDefault: false, elementType: 'div' }),\n root: slot.always(\n getIntrinsicElementProps('div', {\n ref: useMergedRefs(ref, actionsRef),\n ...props,\n }),\n { elementType: 'div' },\n ),\n layout,\n hasActions: !!props.children,\n };\n};\n"],"names":["React","getIntrinsicElementProps","slot","useMergedRefs","useMessageBarContext","useMessageBarActions_unstable","props","ref","layout","actionsRef","components","root","containerAction","optional","renderByDefault","elementType","always","hasActions","children"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,wBAAwB,EAAEC,IAAI,EAAEC,aAAa,QAAQ,4BAA4B;AAE1F,SAASC,oBAAoB,QAAQ,mCAAmC;AAExE;;;;;;;;CAQC,GACD,OAAO,MAAMC,gCAAgC,CAC3CC,OACAC;IAEA,MAAM,EAAEC,SAAS,YAAY,EAAEC,UAAU,EAAE,GAAGL;IAC9C,OAAO;QACLM,YAAY;YACVC,MAAM;YACNC,iBAAiB;QACnB;QACAA,iBAAiBV,KAAKW,QAAQ,CAACP,MAAMM,eAAe,EAAE;YAAEE,iBAAiB;YAAOC,aAAa;QAAM;QACnGJ,MAAMT,KAAKc,MAAM,CACff,yBAAyB,OAAO;YAC9BM,KAAKJ,cAAcI,KAAKE;YACxB,GAAGH,KAAK;QACV,IACA;YAAES,aAAa;QAAM;QAEvBP;QACAS,YAAY,CAAC,CAACX,MAAMY,QAAQ;IAC9B;AACF,EAAE"}

View File

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

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarActions/useMessageBarActionsContextValues.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { MessageBarActionsContextValues } from './MessageBarActions.types';\n\nexport function useMessageBarActionsContextValue_unstable(): MessageBarActionsContextValues {\n const buttonContext = React.useMemo(\n () => ({\n size: 'small' as const,\n }),\n [],\n );\n\n return {\n button: buttonContext,\n };\n}\n"],"names":["React","useMessageBarActionsContextValue_unstable","buttonContext","useMemo","size","button"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAG/B,OAAO,SAASC;IACd,MAAMC,gBAAgBF,MAAMG,OAAO,CACjC,IAAO,CAAA;YACLC,MAAM;QACR,CAAA,GACA,EAAE;IAGJ,OAAO;QACLC,QAAQH;IACV;AACF"}

View File

@@ -0,0 +1,42 @@
'use client';
import { __resetStyles, __styles, mergeClasses } from '@griffel/react';
import { tokens } from '@fluentui/react-theme';
export const messageBarActionsClassNames = {
root: 'fui-MessageBarActions',
containerAction: 'fui-MessageBarActions__containerAction'
};
/**
* Styles for the root slot
*/
const useRootBaseStyles = /*#__PURE__*/__resetStyles("r1t4x98y", "r15utzv5", [".r1t4x98y{grid-area:secondaryActions;display:flex;column-gap:var(--spacingHorizontalM);padding-right:var(--spacingHorizontalM);}", ".r15utzv5{grid-area:secondaryActions;display:flex;column-gap:var(--spacingHorizontalM);padding-left:var(--spacingHorizontalM);}"]);
const useContainerActionBaseStyles = /*#__PURE__*/__resetStyles("rgzw8nq", "r13ur29z", [".rgzw8nq{grid-area:actions;padding-right:var(--spacingHorizontalM);}", ".r13ur29z{grid-area:actions;padding-left:var(--spacingHorizontalM);}"]);
const useMultilineStyles = /*#__PURE__*/__styles({
root: {
Brf1p80: "f1e8xxv9",
B6of3ja: "f1gaxbfw",
jrapky: "fqcjy3b",
t21cq0: ["fibjyge", "f9yszdx"],
z189sj: ["f1p3vkop", "f8cewkv"]
},
noActions: {
mc9l5x: "fjseox"
}
}, {
d: [".f1e8xxv9{justify-content:end;}", ".f1gaxbfw{margin-top:var(--spacingVerticalMNudge);}", ".fqcjy3b{margin-bottom:var(--spacingVerticalS);}", ".fibjyge{margin-right:0px;}", ".f9yszdx{margin-left:0px;}", ".f1p3vkop{padding-right:var(--spacingVerticalM);}", ".f8cewkv{padding-left:var(--spacingVerticalM);}", ".fjseox{display:none;}"]
});
/**
* Apply styling to the MessageBarActions slots based on the state
*/
export const useMessageBarActionsStyles_unstable = state => {
'use no memo';
const rootBaseStyles = useRootBaseStyles();
const containerActionBaseStyles = useContainerActionBaseStyles();
const multilineStyles = useMultilineStyles();
state.root.className = mergeClasses(messageBarActionsClassNames.root, rootBaseStyles, state.layout === 'multiline' && multilineStyles.root, !state.hasActions && multilineStyles.noActions, state.root.className);
if (state.containerAction) {
state.containerAction.className = mergeClasses(messageBarActionsClassNames.containerAction, containerActionBaseStyles, state.containerAction.className);
}
return state;
};

View File

@@ -0,0 +1 @@
{"version":3,"names":["__resetStyles","__styles","mergeClasses","tokens","messageBarActionsClassNames","root","containerAction","useRootBaseStyles","useContainerActionBaseStyles","useMultilineStyles","Brf1p80","B6of3ja","jrapky","t21cq0","z189sj","noActions","mc9l5x","d","useMessageBarActionsStyles_unstable","state","rootBaseStyles","containerActionBaseStyles","multilineStyles","className","layout","hasActions"],"sources":["useMessageBarActionsStyles.styles.js"],"sourcesContent":["'use client';\nimport { makeResetStyles, makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const messageBarActionsClassNames = {\n root: 'fui-MessageBarActions',\n containerAction: 'fui-MessageBarActions__containerAction'\n};\n/**\n * Styles for the root slot\n */ const useRootBaseStyles = makeResetStyles({\n gridArea: 'secondaryActions',\n display: 'flex',\n columnGap: tokens.spacingHorizontalM,\n paddingRight: tokens.spacingHorizontalM\n});\nconst useContainerActionBaseStyles = makeResetStyles({\n gridArea: 'actions',\n paddingRight: tokens.spacingHorizontalM\n});\nconst useMultilineStyles = makeStyles({\n root: {\n justifyContent: 'end',\n marginTop: tokens.spacingVerticalMNudge,\n marginBottom: tokens.spacingVerticalS,\n marginRight: '0px',\n paddingRight: tokens.spacingVerticalM\n },\n noActions: {\n display: 'none'\n }\n});\n/**\n * Apply styling to the MessageBarActions slots based on the state\n */ export const useMessageBarActionsStyles_unstable = (state)=>{\n 'use no memo';\n const rootBaseStyles = useRootBaseStyles();\n const containerActionBaseStyles = useContainerActionBaseStyles();\n const multilineStyles = useMultilineStyles();\n state.root.className = mergeClasses(messageBarActionsClassNames.root, rootBaseStyles, state.layout === 'multiline' && multilineStyles.root, !state.hasActions && multilineStyles.noActions, state.root.className);\n if (state.containerAction) {\n state.containerAction.className = mergeClasses(messageBarActionsClassNames.containerAction, containerActionBaseStyles, state.containerAction.className);\n }\n return state;\n};\n"],"mappings":"AAAA,YAAY;;AACZ,SAAAA,aAAA,EAAAC,QAAA,EAAsCC,YAAY,QAAQ,gBAAgB;AAC1E,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,OAAO,MAAMC,2BAA2B,GAAG;EACvCC,IAAI,EAAE,uBAAuB;EAC7BC,eAAe,EAAE;AACrB,CAAC;AACD;AACA;AACA;AAAI,MAAMC,iBAAiB,gBAAGP,aAAA,gSAK7B,CAAC;AACF,MAAMQ,4BAA4B,gBAAGR,aAAA,wKAGpC,CAAC;AACF,MAAMS,kBAAkB,gBAAGR,QAAA;EAAAI,IAAA;IAAAK,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;EAAA;EAAAC,SAAA;IAAAC,MAAA;EAAA;AAAA;EAAAC,CAAA;AAAA,CAW1B,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMC,mCAAmC,GAAIC,KAAK,IAAG;EAC5D,aAAa;;EACb,MAAMC,cAAc,GAAGb,iBAAiB,CAAC,CAAC;EAC1C,MAAMc,yBAAyB,GAAGb,4BAA4B,CAAC,CAAC;EAChE,MAAMc,eAAe,GAAGb,kBAAkB,CAAC,CAAC;EAC5CU,KAAK,CAACd,IAAI,CAACkB,SAAS,GAAGrB,YAAY,CAACE,2BAA2B,CAACC,IAAI,EAAEe,cAAc,EAAED,KAAK,CAACK,MAAM,KAAK,WAAW,IAAIF,eAAe,CAACjB,IAAI,EAAE,CAACc,KAAK,CAACM,UAAU,IAAIH,eAAe,CAACP,SAAS,EAAEI,KAAK,CAACd,IAAI,CAACkB,SAAS,CAAC;EACjN,IAAIJ,KAAK,CAACb,eAAe,EAAE;IACvBa,KAAK,CAACb,eAAe,CAACiB,SAAS,GAAGrB,YAAY,CAACE,2BAA2B,CAACE,eAAe,EAAEe,yBAAyB,EAAEF,KAAK,CAACb,eAAe,CAACiB,SAAS,CAAC;EAC3J;EACA,OAAOJ,KAAK;AAChB,CAAC","ignoreList":[]}

View File

@@ -0,0 +1,44 @@
'use client';
import { makeResetStyles, makeStyles, mergeClasses } from '@griffel/react';
import { tokens } from '@fluentui/react-theme';
export const messageBarActionsClassNames = {
root: 'fui-MessageBarActions',
containerAction: 'fui-MessageBarActions__containerAction'
};
/**
* Styles for the root slot
*/ const useRootBaseStyles = makeResetStyles({
gridArea: 'secondaryActions',
display: 'flex',
columnGap: tokens.spacingHorizontalM,
paddingRight: tokens.spacingHorizontalM
});
const useContainerActionBaseStyles = makeResetStyles({
gridArea: 'actions',
paddingRight: tokens.spacingHorizontalM
});
const useMultilineStyles = makeStyles({
root: {
justifyContent: 'end',
marginTop: tokens.spacingVerticalMNudge,
marginBottom: tokens.spacingVerticalS,
marginRight: '0px',
paddingRight: tokens.spacingVerticalM
},
noActions: {
display: 'none'
}
});
/**
* Apply styling to the MessageBarActions slots based on the state
*/ export const useMessageBarActionsStyles_unstable = (state)=>{
'use no memo';
const rootBaseStyles = useRootBaseStyles();
const containerActionBaseStyles = useContainerActionBaseStyles();
const multilineStyles = useMultilineStyles();
state.root.className = mergeClasses(messageBarActionsClassNames.root, rootBaseStyles, state.layout === 'multiline' && multilineStyles.root, !state.hasActions && multilineStyles.noActions, state.root.className);
if (state.containerAction) {
state.containerAction.className = mergeClasses(messageBarActionsClassNames.containerAction, containerActionBaseStyles, state.containerAction.className);
}
return state;
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarActions/useMessageBarActionsStyles.styles.ts"],"sourcesContent":["'use client';\n\nimport { makeResetStyles, makeStyles, mergeClasses } from '@griffel/react';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { tokens } from '@fluentui/react-theme';\nimport type { MessageBarActionsSlots, MessageBarActionsState } from './MessageBarActions.types';\n\nexport const messageBarActionsClassNames: SlotClassNames<MessageBarActionsSlots> = {\n root: 'fui-MessageBarActions',\n containerAction: 'fui-MessageBarActions__containerAction',\n};\n\n/**\n * Styles for the root slot\n */\nconst useRootBaseStyles = makeResetStyles({\n gridArea: 'secondaryActions',\n display: 'flex',\n columnGap: tokens.spacingHorizontalM,\n paddingRight: tokens.spacingHorizontalM,\n});\n\nconst useContainerActionBaseStyles = makeResetStyles({\n gridArea: 'actions',\n paddingRight: tokens.spacingHorizontalM,\n});\n\nconst useMultilineStyles = makeStyles({\n root: {\n justifyContent: 'end',\n marginTop: tokens.spacingVerticalMNudge,\n marginBottom: tokens.spacingVerticalS,\n marginRight: '0px',\n paddingRight: tokens.spacingVerticalM,\n },\n\n noActions: {\n display: 'none',\n },\n});\n\n/**\n * Apply styling to the MessageBarActions slots based on the state\n */\nexport const useMessageBarActionsStyles_unstable = (state: MessageBarActionsState): MessageBarActionsState => {\n 'use no memo';\n\n const rootBaseStyles = useRootBaseStyles();\n const containerActionBaseStyles = useContainerActionBaseStyles();\n const multilineStyles = useMultilineStyles();\n state.root.className = mergeClasses(\n messageBarActionsClassNames.root,\n rootBaseStyles,\n state.layout === 'multiline' && multilineStyles.root,\n !state.hasActions && multilineStyles.noActions,\n state.root.className,\n );\n\n if (state.containerAction) {\n state.containerAction.className = mergeClasses(\n messageBarActionsClassNames.containerAction,\n containerActionBaseStyles,\n state.containerAction.className,\n );\n }\n\n return state;\n};\n"],"names":["makeResetStyles","makeStyles","mergeClasses","tokens","messageBarActionsClassNames","root","containerAction","useRootBaseStyles","gridArea","display","columnGap","spacingHorizontalM","paddingRight","useContainerActionBaseStyles","useMultilineStyles","justifyContent","marginTop","spacingVerticalMNudge","marginBottom","spacingVerticalS","marginRight","spacingVerticalM","noActions","useMessageBarActionsStyles_unstable","state","rootBaseStyles","containerActionBaseStyles","multilineStyles","className","layout","hasActions"],"mappings":"AAAA;AAEA,SAASA,eAAe,EAAEC,UAAU,EAAEC,YAAY,QAAQ,iBAAiB;AAE3E,SAASC,MAAM,QAAQ,wBAAwB;AAG/C,OAAO,MAAMC,8BAAsE;IACjFC,MAAM;IACNC,iBAAiB;AACnB,EAAE;AAEF;;CAEC,GACD,MAAMC,oBAAoBP,gBAAgB;IACxCQ,UAAU;IACVC,SAAS;IACTC,WAAWP,OAAOQ,kBAAkB;IACpCC,cAAcT,OAAOQ,kBAAkB;AACzC;AAEA,MAAME,+BAA+Bb,gBAAgB;IACnDQ,UAAU;IACVI,cAAcT,OAAOQ,kBAAkB;AACzC;AAEA,MAAMG,qBAAqBb,WAAW;IACpCI,MAAM;QACJU,gBAAgB;QAChBC,WAAWb,OAAOc,qBAAqB;QACvCC,cAAcf,OAAOgB,gBAAgB;QACrCC,aAAa;QACbR,cAAcT,OAAOkB,gBAAgB;IACvC;IAEAC,WAAW;QACTb,SAAS;IACX;AACF;AAEA;;CAEC,GACD,OAAO,MAAMc,sCAAsC,CAACC;IAClD;IAEA,MAAMC,iBAAiBlB;IACvB,MAAMmB,4BAA4Bb;IAClC,MAAMc,kBAAkBb;IACxBU,MAAMnB,IAAI,CAACuB,SAAS,GAAG1B,aACrBE,4BAA4BC,IAAI,EAChCoB,gBACAD,MAAMK,MAAM,KAAK,eAAeF,gBAAgBtB,IAAI,EACpD,CAACmB,MAAMM,UAAU,IAAIH,gBAAgBL,SAAS,EAC9CE,MAAMnB,IAAI,CAACuB,SAAS;IAGtB,IAAIJ,MAAMlB,eAAe,EAAE;QACzBkB,MAAMlB,eAAe,CAACsB,SAAS,GAAG1B,aAChCE,4BAA4BE,eAAe,EAC3CoB,2BACAF,MAAMlB,eAAe,CAACsB,SAAS;IAEnC;IAEA,OAAOJ;AACT,EAAE"}

View File

@@ -0,0 +1,17 @@
'use client';
import * as React from 'react';
import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';
import { useMessageBarBody_unstable } from './useMessageBarBody';
import { renderMessageBarBody_unstable } from './renderMessageBarBody';
import { useMessageBarBodyStyles_unstable } from './useMessageBarBodyStyles.styles';
import { useMessageBarBodyContextValues_unstable } from './useMessageBarBodyContextValues';
/**
* MessageBarBody component
*/ export const MessageBarBody = /*#__PURE__*/ React.forwardRef((props, ref)=>{
const state = useMessageBarBody_unstable(props, ref);
const ctx = useMessageBarBodyContextValues_unstable(state);
useMessageBarBodyStyles_unstable(state);
useCustomStyleHook_unstable('useMessageBarBodyStyles_unstable')(state);
return renderMessageBarBody_unstable(state, ctx);
});
MessageBarBody.displayName = 'MessageBarBody';

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarBody/MessageBarBody.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';\nimport { useMessageBarBody_unstable } from './useMessageBarBody';\nimport { renderMessageBarBody_unstable } from './renderMessageBarBody';\nimport { useMessageBarBodyStyles_unstable } from './useMessageBarBodyStyles.styles';\nimport { useMessageBarBodyContextValues_unstable } from './useMessageBarBodyContextValues';\nimport type { MessageBarBodyProps } from './MessageBarBody.types';\n\n/**\n * MessageBarBody component\n */\nexport const MessageBarBody: ForwardRefComponent<MessageBarBodyProps> = React.forwardRef((props, ref) => {\n const state = useMessageBarBody_unstable(props, ref);\n const ctx = useMessageBarBodyContextValues_unstable(state);\n\n useMessageBarBodyStyles_unstable(state);\n useCustomStyleHook_unstable('useMessageBarBodyStyles_unstable')(state);\n return renderMessageBarBody_unstable(state, ctx);\n});\n\nMessageBarBody.displayName = 'MessageBarBody';\n"],"names":["React","useCustomStyleHook_unstable","useMessageBarBody_unstable","renderMessageBarBody_unstable","useMessageBarBodyStyles_unstable","useMessageBarBodyContextValues_unstable","MessageBarBody","forwardRef","props","ref","state","ctx","displayName"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAE/B,SAASC,2BAA2B,QAAQ,kCAAkC;AAC9E,SAASC,0BAA0B,QAAQ,sBAAsB;AACjE,SAASC,6BAA6B,QAAQ,yBAAyB;AACvE,SAASC,gCAAgC,QAAQ,mCAAmC;AACpF,SAASC,uCAAuC,QAAQ,mCAAmC;AAG3F;;CAEC,GACD,OAAO,MAAMC,+BAA2DN,MAAMO,UAAU,CAAC,CAACC,OAAOC;IAC/F,MAAMC,QAAQR,2BAA2BM,OAAOC;IAChD,MAAME,MAAMN,wCAAwCK;IAEpDN,iCAAiCM;IACjCT,4BAA4B,oCAAoCS;IAChE,OAAOP,8BAA8BO,OAAOC;AAC9C,GAAG;AAEHL,eAAeM,WAAW,GAAG"}

View File

@@ -0,0 +1,3 @@
/**
* State used in rendering MessageBarBody
*/ export { };

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarBody/MessageBarBody.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type MessageBarBodyContextValues = {\n link: {\n inline?: boolean;\n };\n};\n\nexport type MessageBarBodySlots = {\n root: Slot<'div'>;\n};\n\n/**\n * MessageBarBody Props\n */\nexport type MessageBarBodyProps = ComponentProps<MessageBarBodySlots>;\n\n/**\n * State used in rendering MessageBarBody\n */\nexport type MessageBarBodyState = ComponentState<MessageBarBodySlots>;\n"],"names":[],"mappings":"AAiBA;;CAEC,GACD,WAAsE"}

View File

@@ -0,0 +1,4 @@
export { MessageBarBody } from './MessageBarBody';
export { renderMessageBarBody_unstable } from './renderMessageBarBody';
export { useMessageBarBody_unstable } from './useMessageBarBody';
export { messageBarBodyClassNames, useMessageBarBodyStyles_unstable } from './useMessageBarBodyStyles.styles';

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarBody/index.ts"],"sourcesContent":["export { MessageBarBody } from './MessageBarBody';\nexport type {\n MessageBarBodyContextValues,\n MessageBarBodyProps,\n MessageBarBodySlots,\n MessageBarBodyState,\n} from './MessageBarBody.types';\nexport { renderMessageBarBody_unstable } from './renderMessageBarBody';\nexport { useMessageBarBody_unstable } from './useMessageBarBody';\nexport { messageBarBodyClassNames, useMessageBarBodyStyles_unstable } from './useMessageBarBodyStyles.styles';\n"],"names":["MessageBarBody","renderMessageBarBody_unstable","useMessageBarBody_unstable","messageBarBodyClassNames","useMessageBarBodyStyles_unstable"],"mappings":"AAAA,SAASA,cAAc,QAAQ,mBAAmB;AAOlD,SAASC,6BAA6B,QAAQ,yBAAyB;AACvE,SAASC,0BAA0B,QAAQ,sBAAsB;AACjE,SAASC,wBAAwB,EAAEC,gCAAgC,QAAQ,mCAAmC"}

View File

@@ -0,0 +1,12 @@
import { jsx as _jsx } from "@fluentui/react-jsx-runtime/jsx-runtime";
import { assertSlots } from '@fluentui/react-utilities';
import { LinkContextProvider } from '@fluentui/react-link';
/**
* Render the final JSX of MessageBarBody
*/ export const renderMessageBarBody_unstable = (state, contextValues)=>{
assertSlots(state);
return /*#__PURE__*/ _jsx(LinkContextProvider, {
value: contextValues.link,
children: /*#__PURE__*/ _jsx(state.root, {})
});
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarBody/renderMessageBarBody.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 { MessageBarBodyState, MessageBarBodySlots, MessageBarBodyContextValues } from './MessageBarBody.types';\nimport { LinkContextProvider } from '@fluentui/react-link';\n\n/**\n * Render the final JSX of MessageBarBody\n */\nexport const renderMessageBarBody_unstable = (\n state: MessageBarBodyState,\n contextValues: MessageBarBodyContextValues,\n): JSXElement => {\n assertSlots<MessageBarBodySlots>(state);\n\n return (\n <LinkContextProvider value={contextValues.link}>\n <state.root />\n </LinkContextProvider>\n );\n};\n"],"names":["assertSlots","LinkContextProvider","renderMessageBarBody_unstable","state","contextValues","value","link","root"],"mappings":"AAAA,0BAA0B,GAC1B,iDAAiD;AAEjD,SAASA,WAAW,QAAQ,4BAA4B;AAGxD,SAASC,mBAAmB,QAAQ,uBAAuB;AAE3D;;CAEC,GACD,OAAO,MAAMC,gCAAgC,CAC3CC,OACAC;IAEAJ,YAAiCG;IAEjC,qBACE,KAACF;QAAoBI,OAAOD,cAAcE,IAAI;kBAC5C,cAAA,KAACH,MAAMI,IAAI;;AAGjB,EAAE"}

View File

@@ -0,0 +1,26 @@
'use client';
import * as React from 'react';
import { getIntrinsicElementProps, slot, useMergedRefs } from '@fluentui/react-utilities';
import { useMessageBarContext } from '../../contexts/messageBarContext';
/**
* Create the state required to render MessageBarBody.
*
* The returned state can be modified with hooks such as useMessageBarBodyStyles_unstable,
* before being passed to renderMessageBarBody_unstable.
*
* @param props - props from this instance of MessageBarBody
* @param ref - reference to root HTMLElement of MessageBarBody
*/ export const useMessageBarBody_unstable = (props, ref)=>{
const { bodyRef } = useMessageBarContext();
return {
components: {
root: 'div'
},
root: slot.always(getIntrinsicElementProps('div', {
ref: useMergedRefs(ref, bodyRef),
...props
}), {
elementType: 'div'
})
};
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarBody/useMessageBarBody.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { getIntrinsicElementProps, slot, useMergedRefs } from '@fluentui/react-utilities';\nimport type { MessageBarBodyProps, MessageBarBodyState } from './MessageBarBody.types';\nimport { useMessageBarContext } from '../../contexts/messageBarContext';\n\n/**\n * Create the state required to render MessageBarBody.\n *\n * The returned state can be modified with hooks such as useMessageBarBodyStyles_unstable,\n * before being passed to renderMessageBarBody_unstable.\n *\n * @param props - props from this instance of MessageBarBody\n * @param ref - reference to root HTMLElement of MessageBarBody\n */\nexport const useMessageBarBody_unstable = (\n props: MessageBarBodyProps,\n ref: React.Ref<HTMLDivElement>,\n): MessageBarBodyState => {\n const { bodyRef } = useMessageBarContext();\n return {\n components: {\n root: 'div',\n },\n root: slot.always(\n getIntrinsicElementProps('div', {\n ref: useMergedRefs(ref, bodyRef),\n ...props,\n }),\n { elementType: 'div' },\n ),\n };\n};\n"],"names":["React","getIntrinsicElementProps","slot","useMergedRefs","useMessageBarContext","useMessageBarBody_unstable","props","ref","bodyRef","components","root","always","elementType"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,wBAAwB,EAAEC,IAAI,EAAEC,aAAa,QAAQ,4BAA4B;AAE1F,SAASC,oBAAoB,QAAQ,mCAAmC;AAExE;;;;;;;;CAQC,GACD,OAAO,MAAMC,6BAA6B,CACxCC,OACAC;IAEA,MAAM,EAAEC,OAAO,EAAE,GAAGJ;IACpB,OAAO;QACLK,YAAY;YACVC,MAAM;QACR;QACAA,MAAMR,KAAKS,MAAM,CACfV,yBAAyB,OAAO;YAC9BM,KAAKJ,cAAcI,KAAKC;YACxB,GAAGF,KAAK;QACV,IACA;YAAEM,aAAa;QAAM;IAEzB;AACF,EAAE"}

View File

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

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarBody/useMessageBarBodyContextValues.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { MessageBarBodyState, MessageBarBodyContextValues } from './MessageBarBody.types';\n\nexport function useMessageBarBodyContextValues_unstable(state: MessageBarBodyState): MessageBarBodyContextValues {\n const link = React.useMemo(\n () => ({\n inline: true,\n }),\n [],\n );\n\n return {\n link,\n };\n}\n"],"names":["React","useMessageBarBodyContextValues_unstable","state","link","useMemo","inline"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAG/B,OAAO,SAASC,wCAAwCC,KAA0B;IAChF,MAAMC,OAAOH,MAAMI,OAAO,CACxB,IAAO,CAAA;YACLC,QAAQ;QACV,CAAA,GACA,EAAE;IAGJ,OAAO;QACLF;IACF;AACF"}

View File

@@ -0,0 +1,18 @@
'use client';
import { __resetStyles, mergeClasses } from '@griffel/react';
import { tokens, typographyStyles } from '@fluentui/react-theme';
export const messageBarBodyClassNames = {
root: 'fui-MessageBarBody'
};
const useRootBaseStyles = /*#__PURE__*/__resetStyles("rtatq2b", "re2rary", [".rtatq2b{font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase300);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase300);grid-area:body;padding-right:var(--spacingHorizontalM);}", ".re2rary{font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase300);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase300);grid-area:body;padding-left:var(--spacingHorizontalM);}"]);
/**
* Apply styling to the MessageBarBody slots based on the state
*/
export const useMessageBarBodyStyles_unstable = state => {
'use no memo';
const rootBaseStyles = useRootBaseStyles();
state.root.className = mergeClasses(messageBarBodyClassNames.root, rootBaseStyles, state.root.className);
return state;
};

View File

@@ -0,0 +1 @@
{"version":3,"names":["__resetStyles","mergeClasses","tokens","typographyStyles","messageBarBodyClassNames","root","useRootBaseStyles","useMessageBarBodyStyles_unstable","state","rootBaseStyles","className"],"sources":["useMessageBarBodyStyles.styles.js"],"sourcesContent":["'use client';\nimport { makeResetStyles, mergeClasses } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nexport const messageBarBodyClassNames = {\n root: 'fui-MessageBarBody'\n};\nconst useRootBaseStyles = makeResetStyles({\n ...typographyStyles.body1,\n gridArea: 'body',\n paddingRight: tokens.spacingHorizontalM\n});\n/**\n * Apply styling to the MessageBarBody slots based on the state\n */ export const useMessageBarBodyStyles_unstable = (state)=>{\n 'use no memo';\n const rootBaseStyles = useRootBaseStyles();\n state.root.className = mergeClasses(messageBarBodyClassNames.root, rootBaseStyles, state.root.className);\n return state;\n};\n"],"mappings":"AAAA,YAAY;;AACZ,SAAAA,aAAA,EAA0BC,YAAY,QAAQ,gBAAgB;AAC9D,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,uBAAuB;AAChE,OAAO,MAAMC,wBAAwB,GAAG;EACpCC,IAAI,EAAE;AACV,CAAC;AACD,MAAMC,iBAAiB,gBAAGN,aAAA,0bAIzB,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMO,gCAAgC,GAAIC,KAAK,IAAG;EACzD,aAAa;;EACb,MAAMC,cAAc,GAAGH,iBAAiB,CAAC,CAAC;EAC1CE,KAAK,CAACH,IAAI,CAACK,SAAS,GAAGT,YAAY,CAACG,wBAAwB,CAACC,IAAI,EAAEI,cAAc,EAAED,KAAK,CAACH,IAAI,CAACK,SAAS,CAAC;EACxG,OAAOF,KAAK;AAChB,CAAC","ignoreList":[]}

View File

@@ -0,0 +1,19 @@
'use client';
import { makeResetStyles, mergeClasses } from '@griffel/react';
import { tokens, typographyStyles } from '@fluentui/react-theme';
export const messageBarBodyClassNames = {
root: 'fui-MessageBarBody'
};
const useRootBaseStyles = makeResetStyles({
...typographyStyles.body1,
gridArea: 'body',
paddingRight: tokens.spacingHorizontalM
});
/**
* Apply styling to the MessageBarBody slots based on the state
*/ export const useMessageBarBodyStyles_unstable = (state)=>{
'use no memo';
const rootBaseStyles = useRootBaseStyles();
state.root.className = mergeClasses(messageBarBodyClassNames.root, rootBaseStyles, state.root.className);
return state;
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarBody/useMessageBarBodyStyles.styles.ts"],"sourcesContent":["'use client';\n\nimport { makeResetStyles, mergeClasses } from '@griffel/react';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { MessageBarBodySlots, MessageBarBodyState } from './MessageBarBody.types';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\n\nexport const messageBarBodyClassNames: SlotClassNames<MessageBarBodySlots> = {\n root: 'fui-MessageBarBody',\n};\n\nconst useRootBaseStyles = makeResetStyles({\n ...typographyStyles.body1,\n gridArea: 'body',\n paddingRight: tokens.spacingHorizontalM,\n});\n\n/**\n * Apply styling to the MessageBarBody slots based on the state\n */\nexport const useMessageBarBodyStyles_unstable = (state: MessageBarBodyState): MessageBarBodyState => {\n 'use no memo';\n\n const rootBaseStyles = useRootBaseStyles();\n state.root.className = mergeClasses(messageBarBodyClassNames.root, rootBaseStyles, state.root.className);\n\n return state;\n};\n"],"names":["makeResetStyles","mergeClasses","tokens","typographyStyles","messageBarBodyClassNames","root","useRootBaseStyles","body1","gridArea","paddingRight","spacingHorizontalM","useMessageBarBodyStyles_unstable","state","rootBaseStyles","className"],"mappings":"AAAA;AAEA,SAASA,eAAe,EAAEC,YAAY,QAAQ,iBAAiB;AAG/D,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,wBAAwB;AAEjE,OAAO,MAAMC,2BAAgE;IAC3EC,MAAM;AACR,EAAE;AAEF,MAAMC,oBAAoBN,gBAAgB;IACxC,GAAGG,iBAAiBI,KAAK;IACzBC,UAAU;IACVC,cAAcP,OAAOQ,kBAAkB;AACzC;AAEA;;CAEC,GACD,OAAO,MAAMC,mCAAmC,CAACC;IAC/C;IAEA,MAAMC,iBAAiBP;IACvBM,MAAMP,IAAI,CAACS,SAAS,GAAGb,aAAaG,yBAAyBC,IAAI,EAAEQ,gBAAgBD,MAAMP,IAAI,CAACS,SAAS;IAEvG,OAAOF;AACT,EAAE"}

View File

@@ -0,0 +1,15 @@
'use client';
import * as React from 'react';
import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';
import { useMessageBarGroup_unstable } from './useMessageBarGroup';
import { renderMessageBarGroup_unstable } from './renderMessageBarGroup';
import { useMessageBarGroupStyles_unstable } from './useMessageBarGroupStyles.styles';
/**
* MessageBarGroup component
*/ export const MessageBarGroup = /*#__PURE__*/ React.forwardRef((props, ref)=>{
const state = useMessageBarGroup_unstable(props, ref);
useMessageBarGroupStyles_unstable(state);
useCustomStyleHook_unstable('useMessageBarGroupStyles_unstable')(state);
return renderMessageBarGroup_unstable(state);
});
MessageBarGroup.displayName = 'MessageBarGroup';

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarGroup/MessageBarGroup.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';\nimport { useMessageBarGroup_unstable } from './useMessageBarGroup';\nimport { renderMessageBarGroup_unstable } from './renderMessageBarGroup';\nimport { useMessageBarGroupStyles_unstable } from './useMessageBarGroupStyles.styles';\nimport type { MessageBarGroupProps } from './MessageBarGroup.types';\n\n/**\n * MessageBarGroup component\n */\nexport const MessageBarGroup: ForwardRefComponent<MessageBarGroupProps> = React.forwardRef((props, ref) => {\n const state = useMessageBarGroup_unstable(props, ref);\n\n useMessageBarGroupStyles_unstable(state);\n useCustomStyleHook_unstable('useMessageBarGroupStyles_unstable')(state);\n return renderMessageBarGroup_unstable(state);\n});\n\nMessageBarGroup.displayName = 'MessageBarGroup';\n"],"names":["React","useCustomStyleHook_unstable","useMessageBarGroup_unstable","renderMessageBarGroup_unstable","useMessageBarGroupStyles_unstable","MessageBarGroup","forwardRef","props","ref","state","displayName"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAE/B,SAASC,2BAA2B,QAAQ,kCAAkC;AAC9E,SAASC,2BAA2B,QAAQ,uBAAuB;AACnE,SAASC,8BAA8B,QAAQ,0BAA0B;AACzE,SAASC,iCAAiC,QAAQ,oCAAoC;AAGtF;;CAEC,GACD,OAAO,MAAMC,gCAA6DL,MAAMM,UAAU,CAAC,CAACC,OAAOC;IACjG,MAAMC,QAAQP,4BAA4BK,OAAOC;IAEjDJ,kCAAkCK;IAClCR,4BAA4B,qCAAqCQ;IACjE,OAAON,+BAA+BM;AACxC,GAAG;AAEHJ,gBAAgBK,WAAW,GAAG"}

View File

@@ -0,0 +1,28 @@
import { motionTokens, createPresenceComponent } from '@fluentui/react-motion';
import { fadeAtom, slideAtom } from '@fluentui/react-motion-components-preview';
/**
* A presence component for a MessageBar to enter and exit from a MessageBarGroup.
* It has an optional enter transition of a slide-in and fade-in,
* when the `animate` prop is set to `'both'`.
* It always has an exit transition of a fade-out.
*/ export const MessageBarMotion = createPresenceComponent(({ animate })=>{
const duration = motionTokens.durationGentle;
return {
enter: animate === 'both' ? [
fadeAtom({
direction: 'enter',
duration
}),
slideAtom({
direction: 'enter',
outY: '-100%',
duration
})
] : [],
// Always exit with a fade
exit: fadeAtom({
direction: 'exit',
duration
})
};
});

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarGroup/MessageBarGroup.motions.tsx"],"sourcesContent":["import { motionTokens, createPresenceComponent } from '@fluentui/react-motion';\nimport { fadeAtom, slideAtom } from '@fluentui/react-motion-components-preview';\nimport { MessageBarGroupProps } from './MessageBarGroup.types';\n\n/**\n * A presence component for a MessageBar to enter and exit from a MessageBarGroup.\n * It has an optional enter transition of a slide-in and fade-in,\n * when the `animate` prop is set to `'both'`.\n * It always has an exit transition of a fade-out.\n */\nexport const MessageBarMotion = createPresenceComponent<{ animate?: MessageBarGroupProps['animate'] }>(\n ({ animate }) => {\n const duration = motionTokens.durationGentle;\n\n return {\n enter:\n animate === 'both'\n ? // enter with slide and fade\n [fadeAtom({ direction: 'enter', duration }), slideAtom({ direction: 'enter', outY: '-100%', duration })]\n : [], // no enter motion\n\n // Always exit with a fade\n exit: fadeAtom({ direction: 'exit', duration }),\n };\n },\n);\n"],"names":["motionTokens","createPresenceComponent","fadeAtom","slideAtom","MessageBarMotion","animate","duration","durationGentle","enter","direction","outY","exit"],"mappings":"AAAA,SAASA,YAAY,EAAEC,uBAAuB,QAAQ,yBAAyB;AAC/E,SAASC,QAAQ,EAAEC,SAAS,QAAQ,4CAA4C;AAGhF;;;;;CAKC,GACD,OAAO,MAAMC,mBAAmBH,wBAC9B,CAAC,EAAEI,OAAO,EAAE;IACV,MAAMC,WAAWN,aAAaO,cAAc;IAE5C,OAAO;QACLC,OACEH,YAAY,SAER;YAACH,SAAS;gBAAEO,WAAW;gBAASH;YAAS;YAAIH,UAAU;gBAAEM,WAAW;gBAASC,MAAM;gBAASJ;YAAS;SAAG,GACxG,EAAE;QAER,0BAA0B;QAC1BK,MAAMT,SAAS;YAAEO,WAAW;YAAQH;QAAS;IAC/C;AACF,GACA"}

View File

@@ -0,0 +1 @@
import * as React from 'react';

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarGroup/MessageBarGroup.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport * as React from 'react';\n\nexport type MessageBarGroupSlots = {\n root: Slot<'div'>;\n};\n\n/**\n * MessageBarGroup Props\n */\nexport type MessageBarGroupProps = ComponentProps<MessageBarGroupSlots> & {\n children: React.ReactElement[] | React.ReactElement;\n animate?: 'exit-only' | 'both';\n};\n\n/**\n * State used in rendering MessageBarGroup\n */\nexport type MessageBarGroupState = ComponentState<MessageBarGroupSlots> &\n Pick<MessageBarGroupProps, 'animate'> & {\n /** @deprecated property is unused; these CSS animations were replaced by motion components */\n enterStyles: string;\n /** @deprecated property is unused; these CSS animations were replaced by motion components */\n exitStyles: string;\n children: React.ReactElement[];\n };\n"],"names":["React"],"mappings":"AACA,YAAYA,WAAW,QAAQ"}

View File

@@ -0,0 +1,4 @@
export { MessageBarGroup } from './MessageBarGroup';
export { renderMessageBarGroup_unstable } from './renderMessageBarGroup';
export { useMessageBarGroup_unstable } from './useMessageBarGroup';
export { messageBarGroupClassNames, useMessageBarGroupStyles_unstable } from './useMessageBarGroupStyles.styles';

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarGroup/index.ts"],"sourcesContent":["export { MessageBarGroup } from './MessageBarGroup';\nexport type { MessageBarGroupProps, MessageBarGroupSlots, MessageBarGroupState } from './MessageBarGroup.types';\nexport { renderMessageBarGroup_unstable } from './renderMessageBarGroup';\nexport { useMessageBarGroup_unstable } from './useMessageBarGroup';\nexport { messageBarGroupClassNames, useMessageBarGroupStyles_unstable } from './useMessageBarGroupStyles.styles';\n"],"names":["MessageBarGroup","renderMessageBarGroup_unstable","useMessageBarGroup_unstable","messageBarGroupClassNames","useMessageBarGroupStyles_unstable"],"mappings":"AAAA,SAASA,eAAe,QAAQ,oBAAoB;AAEpD,SAASC,8BAA8B,QAAQ,0BAA0B;AACzE,SAASC,2BAA2B,QAAQ,uBAAuB;AACnE,SAASC,yBAAyB,EAAEC,iCAAiC,QAAQ,oCAAoC"}

View File

@@ -0,0 +1,21 @@
import { jsx as _jsx } from "@fluentui/react-jsx-runtime/jsx-runtime";
import { assertSlots } from '@fluentui/react-utilities';
import { PresenceGroup } from '@fluentui/react-motion';
import { MessageBarMotion } from './MessageBarGroup.motions';
import { MotionRefForwarder } from '@fluentui/react-motion';
/**
* Render the final JSX of MessageBarGroup
*/ export const renderMessageBarGroup_unstable = (state)=>{
assertSlots(state);
return /*#__PURE__*/ _jsx(state.root, {
children: /*#__PURE__*/ _jsx(PresenceGroup, {
children: state.children.map((child)=>/*#__PURE__*/ _jsx(MessageBarMotion, {
animate: state.animate,
unmountOnExit: true,
children: /*#__PURE__*/ _jsx(MotionRefForwarder, {
children: child
})
}, child.key))
})
});
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarGroup/renderMessageBarGroup.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 { MessageBarGroupState, MessageBarGroupSlots } from './MessageBarGroup.types';\nimport { PresenceGroup } from '@fluentui/react-motion';\nimport { MessageBarMotion } from './MessageBarGroup.motions';\nimport { MotionRefForwarder } from '@fluentui/react-motion';\n\n/**\n * Render the final JSX of MessageBarGroup\n */\nexport const renderMessageBarGroup_unstable = (state: MessageBarGroupState): JSXElement => {\n assertSlots<MessageBarGroupSlots>(state);\n\n return (\n <state.root>\n <PresenceGroup>\n {state.children.map(child => (\n <MessageBarMotion key={child.key} animate={state.animate} unmountOnExit>\n <MotionRefForwarder>{child}</MotionRefForwarder>\n </MessageBarMotion>\n ))}\n </PresenceGroup>\n </state.root>\n );\n};\n"],"names":["assertSlots","PresenceGroup","MessageBarMotion","MotionRefForwarder","renderMessageBarGroup_unstable","state","root","children","map","child","animate","unmountOnExit","key"],"mappings":"AAAA,0BAA0B,GAC1B,iDAAiD;AAEjD,SAASA,WAAW,QAAQ,4BAA4B;AAGxD,SAASC,aAAa,QAAQ,yBAAyB;AACvD,SAASC,gBAAgB,QAAQ,4BAA4B;AAC7D,SAASC,kBAAkB,QAAQ,yBAAyB;AAE5D;;CAEC,GACD,OAAO,MAAMC,iCAAiC,CAACC;IAC7CL,YAAkCK;IAElC,qBACE,KAACA,MAAMC,IAAI;kBACT,cAAA,KAACL;sBACEI,MAAME,QAAQ,CAACC,GAAG,CAACC,CAAAA,sBAClB,KAACP;oBAAiCQ,SAASL,MAAMK,OAAO;oBAAEC,aAAa;8BACrE,cAAA,KAACR;kCAAoBM;;mBADAA,MAAMG,GAAG;;;AAO1C,EAAE"}

View File

@@ -0,0 +1,37 @@
import * as React from 'react';
import { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';
/**
* Create the state required to render MessageBarGroup.
*
* The returned state can be modified with hooks such as useMessageBarGroupStyles_unstable,
* before being passed to renderMessageBarGroup_unstable.
*
* @param props - props from this instance of MessageBarGroup
* @param ref - reference to root HTMLElement of MessageBarGroup
*/ export const useMessageBarGroup_unstable = (props, ref)=>{
if (process.env.NODE_ENV !== 'production') {
React.Children.forEach(props.children, (c)=>{
if (!React.isValidElement(c) || c.type === React.Fragment) {
throw new Error("MessageBarGroup: children must be valid MessageBar components. Please ensure you're not using fragments. ");
}
});
}
var _props_children;
const children = React.Children.map((_props_children = props.children) !== null && _props_children !== void 0 ? _props_children : [], (c)=>React.isValidElement(c) && c.type !== React.Fragment ? c : null).filter(Boolean);
var _props_animate;
return {
components: {
root: 'div'
},
root: slot.always(getIntrinsicElementProps('div', {
ref,
...props
}), {
elementType: 'div'
}),
children,
animate: (_props_animate = props.animate) !== null && _props_animate !== void 0 ? _props_animate : 'exit-only',
enterStyles: '',
exitStyles: ''
};
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarGroup/useMessageBarGroup.ts"],"sourcesContent":["import * as React from 'react';\nimport type { MessageBarGroupProps, MessageBarGroupState } from './MessageBarGroup.types';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\n\n/**\n * Create the state required to render MessageBarGroup.\n *\n * The returned state can be modified with hooks such as useMessageBarGroupStyles_unstable,\n * before being passed to renderMessageBarGroup_unstable.\n *\n * @param props - props from this instance of MessageBarGroup\n * @param ref - reference to root HTMLElement of MessageBarGroup\n */\nexport const useMessageBarGroup_unstable = (\n props: MessageBarGroupProps,\n ref: React.Ref<HTMLDivElement>,\n): MessageBarGroupState => {\n if (process.env.NODE_ENV !== 'production') {\n React.Children.forEach(props.children, c => {\n if (!React.isValidElement(c) || c.type === React.Fragment) {\n throw new Error(\n \"MessageBarGroup: children must be valid MessageBar components. Please ensure you're not using fragments. \",\n );\n }\n });\n }\n\n const children = React.Children.map(props.children ?? [], c =>\n React.isValidElement(c) && c.type !== React.Fragment ? c : null,\n ).filter(Boolean);\n\n return {\n components: {\n root: 'div',\n },\n\n root: slot.always(\n getIntrinsicElementProps('div', {\n ref,\n ...props,\n }),\n { elementType: 'div' },\n ),\n children,\n animate: props.animate ?? 'exit-only',\n enterStyles: '',\n exitStyles: '',\n };\n};\n"],"names":["React","getIntrinsicElementProps","slot","useMessageBarGroup_unstable","props","ref","process","env","NODE_ENV","Children","forEach","children","c","isValidElement","type","Fragment","Error","map","filter","Boolean","components","root","always","elementType","animate","enterStyles","exitStyles"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B,SAASC,wBAAwB,EAAEC,IAAI,QAAQ,4BAA4B;AAE3E;;;;;;;;CAQC,GACD,OAAO,MAAMC,8BAA8B,CACzCC,OACAC;IAEA,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;QACzCR,MAAMS,QAAQ,CAACC,OAAO,CAACN,MAAMO,QAAQ,EAAEC,CAAAA;YACrC,IAAI,CAACZ,MAAMa,cAAc,CAACD,MAAMA,EAAEE,IAAI,KAAKd,MAAMe,QAAQ,EAAE;gBACzD,MAAM,IAAIC,MACR;YAEJ;QACF;IACF;QAEoCZ;IAApC,MAAMO,WAAWX,MAAMS,QAAQ,CAACQ,GAAG,CAACb,CAAAA,kBAAAA,MAAMO,QAAQ,cAAdP,6BAAAA,kBAAkB,EAAE,EAAEQ,CAAAA,IACxDZ,MAAMa,cAAc,CAACD,MAAMA,EAAEE,IAAI,KAAKd,MAAMe,QAAQ,GAAGH,IAAI,MAC3DM,MAAM,CAACC;QAeEf;IAbX,OAAO;QACLgB,YAAY;YACVC,MAAM;QACR;QAEAA,MAAMnB,KAAKoB,MAAM,CACfrB,yBAAyB,OAAO;YAC9BI;YACA,GAAGD,KAAK;QACV,IACA;YAAEmB,aAAa;QAAM;QAEvBZ;QACAa,SAASpB,CAAAA,iBAAAA,MAAMoB,OAAO,cAAbpB,4BAAAA,iBAAiB;QAC1BqB,aAAa;QACbC,YAAY;IACd;AACF,EAAE"}

View File

@@ -0,0 +1,13 @@
import { mergeClasses } from '@griffel/react';
export const messageBarGroupClassNames = {
root: 'fui-MessageBarGroup'
};
/**
* Apply styling to the MessageBarGroup slots based on the state
*/
export const useMessageBarGroupStyles_unstable = state => {
'use no memo';
state.root.className = mergeClasses(messageBarGroupClassNames.root, state.root.className);
return state;
};

View File

@@ -0,0 +1 @@
{"version":3,"names":["mergeClasses","messageBarGroupClassNames","root","useMessageBarGroupStyles_unstable","state","className"],"sources":["useMessageBarGroupStyles.styles.js"],"sourcesContent":["import { mergeClasses } from '@griffel/react';\nexport const messageBarGroupClassNames = {\n root: 'fui-MessageBarGroup'\n};\n/**\n * Apply styling to the MessageBarGroup slots based on the state\n */ export const useMessageBarGroupStyles_unstable = (state)=>{\n 'use no memo';\n state.root.className = mergeClasses(messageBarGroupClassNames.root, state.root.className);\n return state;\n};\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,gBAAgB;AAC7C,OAAO,MAAMC,yBAAyB,GAAG;EACrCC,IAAI,EAAE;AACV,CAAC;AACD;AACA;AACA;AAAI,OAAO,MAAMC,iCAAiC,GAAIC,KAAK,IAAG;EAC1D,aAAa;;EACbA,KAAK,CAACF,IAAI,CAACG,SAAS,GAAGL,YAAY,CAACC,yBAAyB,CAACC,IAAI,EAAEE,KAAK,CAACF,IAAI,CAACG,SAAS,CAAC;EACzF,OAAOD,KAAK;AAChB,CAAC","ignoreList":[]}

View File

@@ -0,0 +1,11 @@
import { mergeClasses } from '@griffel/react';
export const messageBarGroupClassNames = {
root: 'fui-MessageBarGroup'
};
/**
* Apply styling to the MessageBarGroup slots based on the state
*/ export const useMessageBarGroupStyles_unstable = (state)=>{
'use no memo';
state.root.className = mergeClasses(messageBarGroupClassNames.root, state.root.className);
return state;
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarGroup/useMessageBarGroupStyles.styles.ts"],"sourcesContent":["import { mergeClasses } from '@griffel/react';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { MessageBarGroupSlots, MessageBarGroupState } from './MessageBarGroup.types';\n\nexport const messageBarGroupClassNames: SlotClassNames<MessageBarGroupSlots> = {\n root: 'fui-MessageBarGroup',\n};\n\n/**\n * Apply styling to the MessageBarGroup slots based on the state\n */\nexport const useMessageBarGroupStyles_unstable = (state: MessageBarGroupState): MessageBarGroupState => {\n 'use no memo';\n\n state.root.className = mergeClasses(messageBarGroupClassNames.root, state.root.className);\n return state;\n};\n"],"names":["mergeClasses","messageBarGroupClassNames","root","useMessageBarGroupStyles_unstable","state","className"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAI9C,OAAO,MAAMC,4BAAkE;IAC7EC,MAAM;AACR,EAAE;AAEF;;CAEC,GACD,OAAO,MAAMC,oCAAoC,CAACC;IAChD;IAEAA,MAAMF,IAAI,CAACG,SAAS,GAAGL,aAAaC,0BAA0BC,IAAI,EAAEE,MAAMF,IAAI,CAACG,SAAS;IACxF,OAAOD;AACT,EAAE"}

View File

@@ -0,0 +1,15 @@
'use client';
import * as React from 'react';
import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';
import { useMessageBarTitle_unstable } from './useMessageBarTitle';
import { renderMessageBarTitle_unstable } from './renderMessageBarTitle';
import { useMessageBarTitleStyles_unstable } from './useMessageBarTitleStyles.styles';
/**
* MessageBarTitle component
*/ export const MessageBarTitle = /*#__PURE__*/ React.forwardRef((props, ref)=>{
const state = useMessageBarTitle_unstable(props, ref);
useMessageBarTitleStyles_unstable(state);
useCustomStyleHook_unstable('useMessageBarTitleStyles_unstable')(state);
return renderMessageBarTitle_unstable(state);
});
MessageBarTitle.displayName = 'MessageBarTitle';

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarTitle/MessageBarTitle.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';\nimport { useMessageBarTitle_unstable } from './useMessageBarTitle';\nimport { renderMessageBarTitle_unstable } from './renderMessageBarTitle';\nimport { useMessageBarTitleStyles_unstable } from './useMessageBarTitleStyles.styles';\nimport type { MessageBarTitleProps } from './MessageBarTitle.types';\n\n/**\n * MessageBarTitle component\n */\nexport const MessageBarTitle: ForwardRefComponent<MessageBarTitleProps> = React.forwardRef((props, ref) => {\n const state = useMessageBarTitle_unstable(props, ref);\n\n useMessageBarTitleStyles_unstable(state);\n useCustomStyleHook_unstable('useMessageBarTitleStyles_unstable')(state);\n return renderMessageBarTitle_unstable(state);\n});\n\nMessageBarTitle.displayName = 'MessageBarTitle';\n"],"names":["React","useCustomStyleHook_unstable","useMessageBarTitle_unstable","renderMessageBarTitle_unstable","useMessageBarTitleStyles_unstable","MessageBarTitle","forwardRef","props","ref","state","displayName"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAE/B,SAASC,2BAA2B,QAAQ,kCAAkC;AAC9E,SAASC,2BAA2B,QAAQ,uBAAuB;AACnE,SAASC,8BAA8B,QAAQ,0BAA0B;AACzE,SAASC,iCAAiC,QAAQ,oCAAoC;AAGtF;;CAEC,GACD,OAAO,MAAMC,gCAA6DL,MAAMM,UAAU,CAAC,CAACC,OAAOC;IACjG,MAAMC,QAAQP,4BAA4BK,OAAOC;IAEjDJ,kCAAkCK;IAClCR,4BAA4B,qCAAqCQ;IACjE,OAAON,+BAA+BM;AACxC,GAAG;AAEHJ,gBAAgBK,WAAW,GAAG"}

View File

@@ -0,0 +1,3 @@
/**
* State used in rendering MessageBarTitle
*/ export { };

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarTitle/MessageBarTitle.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type MessageBarTitleSlots = {\n root: Slot<'span'>;\n};\n\n/**\n * MessageBarTitle Props\n */\nexport type MessageBarTitleProps = ComponentProps<MessageBarTitleSlots>;\n\n/**\n * State used in rendering MessageBarTitle\n */\nexport type MessageBarTitleState = ComponentState<MessageBarTitleSlots>;\n"],"names":[],"mappings":"AAWA;;CAEC,GACD,WAAwE"}

View File

@@ -0,0 +1,4 @@
export { MessageBarTitle } from './MessageBarTitle';
export { renderMessageBarTitle_unstable } from './renderMessageBarTitle';
export { useMessageBarTitle_unstable } from './useMessageBarTitle';
export { messageBarTitleClassNames, useMessageBarTitleStyles_unstable } from './useMessageBarTitleStyles.styles';

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarTitle/index.ts"],"sourcesContent":["export { MessageBarTitle } from './MessageBarTitle';\nexport type { MessageBarTitleProps, MessageBarTitleSlots, MessageBarTitleState } from './MessageBarTitle.types';\nexport { renderMessageBarTitle_unstable } from './renderMessageBarTitle';\nexport { useMessageBarTitle_unstable } from './useMessageBarTitle';\nexport { messageBarTitleClassNames, useMessageBarTitleStyles_unstable } from './useMessageBarTitleStyles.styles';\n"],"names":["MessageBarTitle","renderMessageBarTitle_unstable","useMessageBarTitle_unstable","messageBarTitleClassNames","useMessageBarTitleStyles_unstable"],"mappings":"AAAA,SAASA,eAAe,QAAQ,oBAAoB;AAEpD,SAASC,8BAA8B,QAAQ,0BAA0B;AACzE,SAASC,2BAA2B,QAAQ,uBAAuB;AACnE,SAASC,yBAAyB,EAAEC,iCAAiC,QAAQ,oCAAoC"}

View File

@@ -0,0 +1,8 @@
import { jsx as _jsx } from "@fluentui/react-jsx-runtime/jsx-runtime";
import { assertSlots } from '@fluentui/react-utilities';
/**
* Render the final JSX of MessageBarTitle
*/ export const renderMessageBarTitle_unstable = (state)=>{
assertSlots(state);
return /*#__PURE__*/ _jsx(state.root, {});
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarTitle/renderMessageBarTitle.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 { MessageBarTitleState, MessageBarTitleSlots } from './MessageBarTitle.types';\n\n/**\n * Render the final JSX of MessageBarTitle\n */\nexport const renderMessageBarTitle_unstable = (state: MessageBarTitleState): JSXElement => {\n assertSlots<MessageBarTitleSlots>(state);\n\n return <state.root />;\n};\n"],"names":["assertSlots","renderMessageBarTitle_unstable","state","root"],"mappings":"AAAA,0BAA0B,GAC1B,iDAAiD;AAEjD,SAASA,WAAW,QAAQ,4BAA4B;AAIxD;;CAEC,GACD,OAAO,MAAMC,iCAAiC,CAACC;IAC7CF,YAAkCE;IAElC,qBAAO,KAACA,MAAMC,IAAI;AACpB,EAAE"}

View File

@@ -0,0 +1,27 @@
'use client';
import * as React from 'react';
import { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';
import { useMessageBarContext } from '../../contexts/messageBarContext';
/**
* Create the state required to render MessageBarTitle.
*
* The returned state can be modified with hooks such as useMessageBarTitleStyles_unstable,
* before being passed to renderMessageBarTitle_unstable.
*
* @param props - props from this instance of MessageBarTitle
* @param ref - reference to root HTMLElement of MessageBarTitle
*/ export const useMessageBarTitle_unstable = (props, ref)=>{
const { titleId } = useMessageBarContext();
return {
components: {
root: 'span'
},
root: slot.always(getIntrinsicElementProps('span', {
ref,
id: titleId,
...props
}), {
elementType: 'span'
})
};
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarTitle/useMessageBarTitle.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport type { MessageBarTitleProps, MessageBarTitleState } from './MessageBarTitle.types';\nimport { useMessageBarContext } from '../../contexts/messageBarContext';\n\n/**\n * Create the state required to render MessageBarTitle.\n *\n * The returned state can be modified with hooks such as useMessageBarTitleStyles_unstable,\n * before being passed to renderMessageBarTitle_unstable.\n *\n * @param props - props from this instance of MessageBarTitle\n * @param ref - reference to root HTMLElement of MessageBarTitle\n */\nexport const useMessageBarTitle_unstable = (\n props: MessageBarTitleProps,\n ref: React.Ref<HTMLElement>,\n): MessageBarTitleState => {\n const { titleId } = useMessageBarContext();\n\n return {\n components: {\n root: 'span',\n },\n root: slot.always(\n getIntrinsicElementProps('span', {\n ref,\n id: titleId,\n ...props,\n }),\n { elementType: 'span' },\n ),\n };\n};\n"],"names":["React","getIntrinsicElementProps","slot","useMessageBarContext","useMessageBarTitle_unstable","props","ref","titleId","components","root","always","id","elementType"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,wBAAwB,EAAEC,IAAI,QAAQ,4BAA4B;AAE3E,SAASC,oBAAoB,QAAQ,mCAAmC;AAExE;;;;;;;;CAQC,GACD,OAAO,MAAMC,8BAA8B,CACzCC,OACAC;IAEA,MAAM,EAAEC,OAAO,EAAE,GAAGJ;IAEpB,OAAO;QACLK,YAAY;YACVC,MAAM;QACR;QACAA,MAAMP,KAAKQ,MAAM,CACfT,yBAAyB,QAAQ;YAC/BK;YACAK,IAAIJ;YACJ,GAAGF,KAAK;QACV,IACA;YAAEO,aAAa;QAAO;IAE1B;AACF,EAAE"}

View File

@@ -0,0 +1,21 @@
'use client';
import { __resetStyles, mergeClasses } from '@griffel/react';
import { typographyStyles } from '@fluentui/react-theme';
export const messageBarTitleClassNames = {
root: 'fui-MessageBarTitle'
};
/**
* Styles for the root slot
*/
const useRootBaseStyles = /*#__PURE__*/__resetStyles("r168xkm9", null, [".r168xkm9{font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase300);font-weight:var(--fontWeightSemibold);line-height:var(--lineHeightBase300);}", ".r168xkm9::after{content:\" \";}"]);
/**
* Apply styling to the MessageBarTitle slots based on the state
*/
export const useMessageBarTitleStyles_unstable = state => {
'use no memo';
const rootBaseStyles = useRootBaseStyles();
state.root.className = mergeClasses(messageBarTitleClassNames.root, rootBaseStyles, state.root.className);
return state;
};

View File

@@ -0,0 +1 @@
{"version":3,"names":["__resetStyles","mergeClasses","typographyStyles","messageBarTitleClassNames","root","useRootBaseStyles","useMessageBarTitleStyles_unstable","state","rootBaseStyles","className"],"sources":["useMessageBarTitleStyles.styles.js"],"sourcesContent":["'use client';\nimport { makeResetStyles, mergeClasses } from '@griffel/react';\nimport { typographyStyles } from '@fluentui/react-theme';\nexport const messageBarTitleClassNames = {\n root: 'fui-MessageBarTitle'\n};\n/**\n * Styles for the root slot\n */ const useRootBaseStyles = makeResetStyles({\n ...typographyStyles.body1Strong,\n '::after': {\n content: '\" \"'\n }\n});\n/**\n * Apply styling to the MessageBarTitle slots based on the state\n */ export const useMessageBarTitleStyles_unstable = (state)=>{\n 'use no memo';\n const rootBaseStyles = useRootBaseStyles();\n state.root.className = mergeClasses(messageBarTitleClassNames.root, rootBaseStyles, state.root.className);\n return state;\n};\n"],"mappings":"AAAA,YAAY;;AACZ,SAAAA,aAAA,EAA0BC,YAAY,QAAQ,gBAAgB;AAC9D,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,OAAO,MAAMC,yBAAyB,GAAG;EACrCC,IAAI,EAAE;AACV,CAAC;AACD;AACA;AACA;AAAI,MAAMC,iBAAiB,gBAAGL,aAAA,oNAK7B,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMM,iCAAiC,GAAIC,KAAK,IAAG;EAC1D,aAAa;;EACb,MAAMC,cAAc,GAAGH,iBAAiB,CAAC,CAAC;EAC1CE,KAAK,CAACH,IAAI,CAACK,SAAS,GAAGR,YAAY,CAACE,yBAAyB,CAACC,IAAI,EAAEI,cAAc,EAAED,KAAK,CAACH,IAAI,CAACK,SAAS,CAAC;EACzG,OAAOF,KAAK;AAChB,CAAC","ignoreList":[]}

View File

@@ -0,0 +1,22 @@
'use client';
import { makeResetStyles, mergeClasses } from '@griffel/react';
import { typographyStyles } from '@fluentui/react-theme';
export const messageBarTitleClassNames = {
root: 'fui-MessageBarTitle'
};
/**
* Styles for the root slot
*/ const useRootBaseStyles = makeResetStyles({
...typographyStyles.body1Strong,
'::after': {
content: '" "'
}
});
/**
* Apply styling to the MessageBarTitle slots based on the state
*/ export const useMessageBarTitleStyles_unstable = (state)=>{
'use no memo';
const rootBaseStyles = useRootBaseStyles();
state.root.className = mergeClasses(messageBarTitleClassNames.root, rootBaseStyles, state.root.className);
return state;
};

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../src/components/MessageBarTitle/useMessageBarTitleStyles.styles.ts"],"sourcesContent":["'use client';\n\nimport { makeResetStyles, mergeClasses } from '@griffel/react';\nimport { typographyStyles } from '@fluentui/react-theme';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { MessageBarTitleSlots, MessageBarTitleState } from './MessageBarTitle.types';\n\nexport const messageBarTitleClassNames: SlotClassNames<MessageBarTitleSlots> = {\n root: 'fui-MessageBarTitle',\n};\n\n/**\n * Styles for the root slot\n */\nconst useRootBaseStyles = makeResetStyles({\n ...typographyStyles.body1Strong,\n '::after': {\n content: '\" \"',\n },\n});\n\n/**\n * Apply styling to the MessageBarTitle slots based on the state\n */\nexport const useMessageBarTitleStyles_unstable = (state: MessageBarTitleState): MessageBarTitleState => {\n 'use no memo';\n\n const rootBaseStyles = useRootBaseStyles();\n state.root.className = mergeClasses(messageBarTitleClassNames.root, rootBaseStyles, state.root.className);\n\n return state;\n};\n"],"names":["makeResetStyles","mergeClasses","typographyStyles","messageBarTitleClassNames","root","useRootBaseStyles","body1Strong","content","useMessageBarTitleStyles_unstable","state","rootBaseStyles","className"],"mappings":"AAAA;AAEA,SAASA,eAAe,EAAEC,YAAY,QAAQ,iBAAiB;AAC/D,SAASC,gBAAgB,QAAQ,wBAAwB;AAIzD,OAAO,MAAMC,4BAAkE;IAC7EC,MAAM;AACR,EAAE;AAEF;;CAEC,GACD,MAAMC,oBAAoBL,gBAAgB;IACxC,GAAGE,iBAAiBI,WAAW;IAC/B,WAAW;QACTC,SAAS;IACX;AACF;AAEA;;CAEC,GACD,OAAO,MAAMC,oCAAoC,CAACC;IAChD;IAEA,MAAMC,iBAAiBL;IACvBI,MAAML,IAAI,CAACO,SAAS,GAAGV,aAAaE,0BAA0BC,IAAI,EAAEM,gBAAgBD,MAAML,IAAI,CAACO,SAAS;IAExG,OAAOF;AACT,EAAE"}