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,29 @@
import { PRESENCE_MOTION_DEFINITION, createPresenceComponent } from './createPresenceComponent';
/**
* Create a variant function that wraps a presence function to customize it.
* The new presence function has the supplied variant params as defaults,
* but these can still be overridden by runtime params when the new function is called.
*
* @internal
*/ export function createPresenceFnVariant(presenceFn, variantParams) {
const variantFn = (runtimeParams)=>presenceFn({
...variantParams,
...runtimeParams
});
return variantFn;
}
/**
* Create a new presence component based on another presence component,
* using the provided variant parameters as defaults.
*
* @param component - A component created by `createPresenceComponent`.
* @param variantParams - An object containing the variant parameters to be used as defaults.
* The variant parameters should match the type of the component's motion parameters.
* @returns A new presence component that uses the provided variant parameters as defaults.
* The new component can still accept runtime parameters that override the defaults.
*/ export function createPresenceComponentVariant(component, variantParams) {
const originalFn = component[PRESENCE_MOTION_DEFINITION];
// The variant params become new defaults, but they can still be overridden by runtime params.
const variantFn = createPresenceFnVariant(originalFn, variantParams);
return createPresenceComponent(variantFn);
}