52 lines
2.4 KiB
TypeScript
52 lines
2.4 KiB
TypeScript
import * as React from 'react';
|
|
import type { ExtendedCSSStyleSheet } from '@fluentui/merge-styles';
|
|
import type { AdoptedStylesheetExHook, AdoptedStylesheetHook } from '../hooks/useAdoptedStylesheet';
|
|
import type { ShadowConfigHook } from '../hooks/useShadowConfig';
|
|
import type { HasMergeStylesShadowRootContextHook, MergeStylesShadowRootContextHook } from '../hooks/useMergeStylesShadowRoot';
|
|
import type { MergeStylesRootStylesheetsHook } from '../hooks/useMergeStylesRootStylesheets';
|
|
import type { UseStyledHook } from '../hooks/useStyled';
|
|
import type { UseWindowHook } from './MergeStylesDefaultContext';
|
|
declare global {
|
|
interface DocumentOrShadowRoot {
|
|
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/adoptedStyleSheets) */
|
|
adoptedStyleSheets: CSSStyleSheet[];
|
|
}
|
|
}
|
|
export type MergeStylesRootContextValue = {
|
|
stylesheets: Map<string, ExtendedCSSStyleSheet>;
|
|
useAdoptedStylesheetEx: AdoptedStylesheetExHook;
|
|
useAdoptedStylesheet: AdoptedStylesheetHook;
|
|
useShadowConfig: ShadowConfigHook;
|
|
useMergeStylesShadowRootContext: MergeStylesShadowRootContextHook;
|
|
useHasMergeStylesShadowRootContext: HasMergeStylesShadowRootContextHook;
|
|
useMergeStylesRootStylesheets: MergeStylesRootStylesheetsHook;
|
|
useWindow: UseWindowHook;
|
|
useStyled: UseStyledHook;
|
|
};
|
|
export declare const MergeStylesRootContext: React.Context<MergeStylesRootContextValue>;
|
|
export type MergeStylesRootProviderProps = {
|
|
children?: React.ReactNode;
|
|
/**
|
|
* Map of stylesheets available in the context.
|
|
*/
|
|
stylesheets?: Map<string, ExtendedCSSStyleSheet>;
|
|
/**
|
|
* Optional `window` object to use for reading adopted stylesheets.
|
|
* Useful for multi-window scenarios.
|
|
*/
|
|
window?: Window;
|
|
useAdoptedStylesheetEx?: AdoptedStylesheetExHook;
|
|
useAdoptedStylesheet?: AdoptedStylesheetHook;
|
|
useShadowConfig?: ShadowConfigHook;
|
|
useMergeStylesShadowRootContext?: MergeStylesShadowRootContextHook;
|
|
useHasMergeStylesShadowRootContext?: HasMergeStylesShadowRootContextHook;
|
|
useMergeStylesRootStylesheets?: MergeStylesRootStylesheetsHook;
|
|
useWindow?: UseWindowHook;
|
|
useStyled?: UseStyledHook;
|
|
};
|
|
/**
|
|
* Root context provider for mergeStyles shadow DOM.
|
|
* Typically this is placed at the render root of your React application.
|
|
*/
|
|
export declare const MergeStylesRootProvider: React.FC<MergeStylesRootProviderProps>;
|