@fluentui/react-provider 9.0.0-rc.5 → 9.0.0-rc.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +140 -1
- package/CHANGELOG.md +147 -108
- package/dist/{react-provider.d.ts → index.d.ts} +13 -0
- package/{lib → dist}/tsdoc-metadata.json +0 -0
- package/lib/components/FluentProvider/index.js +1 -0
- package/lib/components/FluentProvider/index.js.map +1 -1
- package/lib/components/FluentProvider/useFluentProvider.js +2 -2
- package/lib/components/FluentProvider/useFluentProvider.js.map +1 -1
- package/lib/components/FluentProvider/useFluentProviderStyles.js +8 -1
- package/lib/components/FluentProvider/useFluentProviderStyles.js.map +1 -1
- package/lib/components/FluentProvider/{useThemeStyleTag.js → useFluentProviderThemeStyleTag.js} +13 -8
- package/lib/components/FluentProvider/useFluentProviderThemeStyleTag.js.map +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib-commonjs/components/FluentProvider/index.js +2 -0
- package/lib-commonjs/components/FluentProvider/index.js.map +1 -1
- package/lib-commonjs/components/FluentProvider/useFluentProvider.js +2 -2
- package/lib-commonjs/components/FluentProvider/useFluentProvider.js.map +1 -1
- package/lib-commonjs/components/FluentProvider/useFluentProviderStyles.js +9 -2
- package/lib-commonjs/components/FluentProvider/useFluentProviderStyles.js.map +1 -1
- package/lib-commonjs/components/FluentProvider/{useThemeStyleTag.js → useFluentProviderThemeStyleTag.js} +14 -9
- package/lib-commonjs/components/FluentProvider/useFluentProviderThemeStyleTag.js.map +1 -0
- package/lib-commonjs/index.js +51 -3
- package/lib-commonjs/index.js.map +1 -1
- package/package.json +11 -21
- package/lib/FluentProvider.d.ts +0 -1
- package/lib/components/FluentProvider/FluentProvider.d.ts +0 -3
- package/lib/components/FluentProvider/FluentProvider.types.d.ts +0 -26
- package/lib/components/FluentProvider/index.d.ts +0 -6
- package/lib/components/FluentProvider/renderFluentProvider.d.ts +0 -5
- package/lib/components/FluentProvider/useFluentProvider.d.ts +0 -12
- package/lib/components/FluentProvider/useFluentProviderContextValues.d.ts +0 -2
- package/lib/components/FluentProvider/useFluentProviderStyles.d.ts +0 -4
- package/lib/components/FluentProvider/useThemeStyleTag.d.ts +0 -7
- package/lib/components/FluentProvider/useThemeStyleTag.js.map +0 -1
- package/lib/index.d.ts +0 -2
- package/lib-commonjs/FluentProvider.d.ts +0 -1
- package/lib-commonjs/components/FluentProvider/FluentProvider.d.ts +0 -3
- package/lib-commonjs/components/FluentProvider/FluentProvider.types.d.ts +0 -26
- package/lib-commonjs/components/FluentProvider/index.d.ts +0 -6
- package/lib-commonjs/components/FluentProvider/renderFluentProvider.d.ts +0 -5
- package/lib-commonjs/components/FluentProvider/useFluentProvider.d.ts +0 -12
- package/lib-commonjs/components/FluentProvider/useFluentProviderContextValues.d.ts +0 -2
- package/lib-commonjs/components/FluentProvider/useFluentProviderStyles.d.ts +0 -4
- package/lib-commonjs/components/FluentProvider/useThemeStyleTag.d.ts +0 -7
- package/lib-commonjs/components/FluentProvider/useThemeStyleTag.js.map +0 -1
- package/lib-commonjs/index.d.ts +0 -2
@@ -1,26 +0,0 @@
|
|
1
|
-
import type { ProviderContextValue, TooltipContextType, ThemeClassNameContextValue } from '@fluentui/react-shared-contexts';
|
2
|
-
import type { PartialTheme, Theme } from '@fluentui/react-theme';
|
3
|
-
import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
|
4
|
-
export declare type FluentProviderSlots = {
|
5
|
-
root: Slot<'div'>;
|
6
|
-
};
|
7
|
-
interface FluentProviderCommons {
|
8
|
-
/** Sets the direction of text & generated styles. */
|
9
|
-
dir: 'ltr' | 'rtl';
|
10
|
-
/** Provides the document, can be undefined during SSR render. */
|
11
|
-
targetDocument: Document | undefined;
|
12
|
-
}
|
13
|
-
export interface FluentProviderProps extends Omit<ComponentProps<FluentProviderSlots>, 'dir'>, Partial<FluentProviderCommons> {
|
14
|
-
theme?: PartialTheme;
|
15
|
-
}
|
16
|
-
export interface FluentProviderState extends ComponentState<FluentProviderSlots>, FluentProviderCommons {
|
17
|
-
theme: Theme | Partial<Theme> | undefined;
|
18
|
-
themeClassName: string;
|
19
|
-
}
|
20
|
-
export interface FluentProviderContextValues extends Pick<FluentProviderState, 'theme'> {
|
21
|
-
provider: ProviderContextValue;
|
22
|
-
themeClassName: ThemeClassNameContextValue;
|
23
|
-
textDirection: 'ltr' | 'rtl';
|
24
|
-
tooltip: TooltipContextType;
|
25
|
-
}
|
26
|
-
export {};
|
@@ -1,5 +0,0 @@
|
|
1
|
-
import type { FluentProviderContextValues, FluentProviderState } from './FluentProvider.types';
|
2
|
-
/**
|
3
|
-
* Render the final JSX of FluentProvider
|
4
|
-
*/
|
5
|
-
export declare const renderFluentProvider_unstable: (state: FluentProviderState, contextValues: FluentProviderContextValues) => JSX.Element;
|
@@ -1,12 +0,0 @@
|
|
1
|
-
import * as React from 'react';
|
2
|
-
import type { FluentProviderProps, FluentProviderState } from './FluentProvider.types';
|
3
|
-
/**
|
4
|
-
* Create the state required to render FluentProvider.
|
5
|
-
*
|
6
|
-
* The returned state can be modified with hooks such as useFluentProviderStyles_unstable,
|
7
|
-
* before being passed to renderFluentProvider_unstable.
|
8
|
-
*
|
9
|
-
* @param props - props from this instance of FluentProvider
|
10
|
-
* @param ref - reference to root HTMLElement of FluentProvider
|
11
|
-
*/
|
12
|
-
export declare const useFluentProvider_unstable: (props: FluentProviderProps, ref: React.Ref<HTMLElement>) => FluentProviderState;
|
@@ -1,4 +0,0 @@
|
|
1
|
-
import type { FluentProviderState } from './FluentProvider.types';
|
2
|
-
export declare const fluentProviderClassName = "fui-FluentProvider";
|
3
|
-
/** Applies style classnames to slots */
|
4
|
-
export declare const useFluentProviderStyles_unstable: (state: FluentProviderState) => FluentProviderState;
|
@@ -1,7 +0,0 @@
|
|
1
|
-
import type { FluentProviderState } from './FluentProvider.types';
|
2
|
-
/**
|
3
|
-
* Writes a theme as css variables in a style tag on the provided targetDocument as a rule applied to a CSS class
|
4
|
-
*
|
5
|
-
* @returns CSS class to apply the rule
|
6
|
-
*/
|
7
|
-
export declare const useThemeStyleTag: (options: Pick<FluentProviderState, 'theme' | 'targetDocument'>) => string;
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["components/FluentProvider/useThemeStyleTag.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AACA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AAEA,MAAA,yBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;AAEA;;;;AAIG;;;AACI,MAAM,gBAAgB,GAAI,OAAD,IAAmE;AACjG,QAAM;AAAE,IAAA,cAAF;AAAkB,IAAA;AAAlB,MAA4B,OAAlC;AAEA,QAAM,UAAU,GAAG,iBAAA,CAAA,KAAA,CAAM,yBAAA,CAAA,uBAAN,CAAnB;AACA,QAAM,QAAQ,GAAG,KAAK,CAAC,OAAN,CAAc,MAAK;AAClC,QAAI,CAAC,cAAL,EAAqB;AACnB,aAAO,IAAP;AACD;;AAED,UAAM,GAAG,GAAG,cAAc,CAAC,aAAf,CAA6B,OAA7B,CAAZ;AACA,IAAA,GAAG,CAAC,YAAJ,CAAiB,IAAjB,EAAuB,UAAvB;AACA,IAAA,cAAc,CAAC,IAAf,CAAoB,WAApB,CAAgC,GAAhC;AACA,WAAO,GAAP;AACD,GATgB,EASd,CAAC,UAAD,EAAa,cAAb,CATc,CAAjB;AAWA,QAAM,OAAO,GAAG,KAAK,CAAC,OAAN,CAAc,MAAK;AACjC,UAAM,eAAe,GAAG,KAAK,GACxB,MAAM,CAAC,IAAP,CAAY,KAAZ,EAA8C,MAA9C,CAAqD,CAAC,UAAD,EAAa,MAAb,KAAuB;AAC3E,MAAA,UAAU,IAAI,KAAK,MAAM,KAAK,KAAK,CAAC,MAAD,CAAQ,IAA3C;AACA,aAAO,UAAP;AACD,KAHA,EAGE,EAHF,CADwB,GAKzB,EALJ,CADiC,CAQjC;;AACA,WAAO,IAAI,UAAU,MAAM,eAAe,IAA1C;AACD,GAVe,EAUb,CAAC,KAAD,EAAQ,UAAR,CAVa,CAAhB;AAWA,QAAM,eAAe,GAAG,iBAAA,CAAA,WAAA,CAAY,OAAZ,CAAxB;;AAEA,MAAI,QAAQ,IAAI,eAAe,KAAK,OAApC,EAA6C;AAC3C,UAAM,KAAK,GAAG,QAAQ,CAAC,KAAvB;;AAEA,QAAI,KAAK,CAAC,QAAN,CAAe,MAAf,GAAwB,CAA5B,EAA+B;AAC7B,MAAA,KAAK,CAAC,UAAN,CAAiB,CAAjB;AACD;;AAED,IAAA,KAAK,CAAC,UAAN,CAAiB,OAAjB,EAA0B,CAA1B;AACD,GApCgG,CAsCjG;;;AACA,EAAA,KAAK,CAAC,SAAN,CAAgB,MAAK;AACnB,WAAO,MAAK;AACV,UAAI,QAAJ,EAAc;AACZ,QAAA,QAAQ,CAAC,MAAT;AACD;AACF,KAJD;AAKD,GAND,EAMG,CAAC,QAAD,CANH;AAQA,SAAO,UAAP;AACD,CAhDM;;AAAM,OAAA,CAAA,gBAAA,GAAgB,gBAAhB","sourcesContent":["import { useId, usePrevious } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport type { FluentProviderState } from './FluentProvider.types';\nimport { fluentProviderClassName } from './useFluentProviderStyles';\n\n/**\n * Writes a theme as css variables in a style tag on the provided targetDocument as a rule applied to a CSS class\n *\n * @returns CSS class to apply the rule\n */\nexport const useThemeStyleTag = (options: Pick<FluentProviderState, 'theme' | 'targetDocument'>) => {\n const { targetDocument, theme } = options;\n\n const styleTagId = useId(fluentProviderClassName);\n const styleTag = React.useMemo(() => {\n if (!targetDocument) {\n return null;\n }\n\n const tag = targetDocument.createElement('style');\n tag.setAttribute('id', styleTagId);\n targetDocument.head.appendChild(tag);\n return tag;\n }, [styleTagId, targetDocument]);\n\n const cssRule = React.useMemo(() => {\n const cssVarsAsString = theme\n ? (Object.keys(theme) as (keyof typeof theme)[]).reduce((cssVarRule, cssVar) => {\n cssVarRule += `--${cssVar}: ${theme[cssVar]}; `;\n return cssVarRule;\n }, '')\n : '';\n\n // result: .fluent-provider1 { --css-var: '#fff' }\n return `.${styleTagId} { ${cssVarsAsString} }`;\n }, [theme, styleTagId]);\n const previousCssRule = usePrevious(cssRule);\n\n if (styleTag && previousCssRule !== cssRule) {\n const sheet = styleTag.sheet as CSSStyleSheet;\n\n if (sheet.cssRules.length > 0) {\n sheet.deleteRule(0);\n }\n\n sheet.insertRule(cssRule, 0);\n }\n\n // Removes the style tag from the targetDocument on unmount or change\n React.useEffect(() => {\n return () => {\n if (styleTag) {\n styleTag.remove();\n }\n };\n }, [styleTag]);\n\n return styleTagId;\n};\n"],"sourceRoot":"../src/"}
|
package/lib-commonjs/index.d.ts
DELETED