@fluentui/react-provider 9.0.0-alpha.9 → 9.0.0-nightly.25435def33.0

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.
Files changed (89) hide show
  1. package/CHANGELOG.json +2286 -1
  2. package/CHANGELOG.md +871 -2
  3. package/dist/react-provider.d.ts +45 -29
  4. package/lib/FluentProvider.d.ts +1 -28
  5. package/lib/FluentProvider.js +1 -48
  6. package/lib/FluentProvider.js.map +1 -1
  7. package/lib/common/isConformant.d.ts +4 -0
  8. package/lib/common/isConformant.js +12 -0
  9. package/lib/common/isConformant.js.map +1 -0
  10. package/lib/components/FluentProvider/FluentProvider.d.ts +3 -0
  11. package/lib/components/FluentProvider/FluentProvider.js +13 -0
  12. package/lib/components/FluentProvider/FluentProvider.js.map +1 -0
  13. package/lib/components/FluentProvider/FluentProvider.types.d.ts +25 -0
  14. package/lib/components/FluentProvider/FluentProvider.types.js +2 -0
  15. package/lib/components/FluentProvider/FluentProvider.types.js.map +1 -0
  16. package/lib/components/FluentProvider/index.d.ts +5 -0
  17. package/lib/components/FluentProvider/index.js +6 -0
  18. package/lib/components/FluentProvider/index.js.map +1 -0
  19. package/lib/components/FluentProvider/renderFluentProvider.d.ts +5 -0
  20. package/lib/components/FluentProvider/renderFluentProvider.js +25 -0
  21. package/lib/components/FluentProvider/renderFluentProvider.js.map +1 -0
  22. package/lib/components/FluentProvider/useFluentProvider.d.ts +13 -0
  23. package/lib/components/FluentProvider/useFluentProvider.js +51 -0
  24. package/lib/components/FluentProvider/useFluentProvider.js.map +1 -0
  25. package/lib/components/FluentProvider/useFluentProviderContextValues.d.ts +2 -0
  26. package/lib/components/FluentProvider/useFluentProviderContextValues.js +23 -0
  27. package/lib/components/FluentProvider/useFluentProviderContextValues.js.map +1 -0
  28. package/lib/components/FluentProvider/useFluentProviderStyles.d.ts +3 -0
  29. package/lib/components/FluentProvider/useFluentProviderStyles.js +22 -0
  30. package/lib/components/FluentProvider/useFluentProviderStyles.js.map +1 -0
  31. package/lib/components/FluentProvider/useThemeStyleTag.d.ts +7 -0
  32. package/lib/components/FluentProvider/useThemeStyleTag.js +58 -0
  33. package/lib/components/FluentProvider/useThemeStyleTag.js.map +1 -0
  34. package/lib/index.d.ts +1 -1
  35. package/lib/index.js +1 -1
  36. package/lib/index.js.map +1 -1
  37. package/lib/tsdoc-metadata.json +1 -1
  38. package/lib-commonjs/FluentProvider.d.ts +1 -28
  39. package/lib-commonjs/FluentProvider.js +7 -51
  40. package/lib-commonjs/FluentProvider.js.map +1 -1
  41. package/lib-commonjs/common/isConformant.d.ts +4 -0
  42. package/lib-commonjs/common/isConformant.js +23 -0
  43. package/lib-commonjs/common/isConformant.js.map +1 -0
  44. package/lib-commonjs/components/FluentProvider/FluentProvider.d.ts +3 -0
  45. package/lib-commonjs/components/FluentProvider/FluentProvider.js +25 -0
  46. package/lib-commonjs/components/FluentProvider/FluentProvider.js.map +1 -0
  47. package/lib-commonjs/components/FluentProvider/FluentProvider.types.d.ts +25 -0
  48. package/lib-commonjs/components/FluentProvider/FluentProvider.types.js +6 -0
  49. package/lib-commonjs/components/FluentProvider/FluentProvider.types.js.map +1 -0
  50. package/lib-commonjs/components/FluentProvider/index.d.ts +5 -0
  51. package/lib-commonjs/components/FluentProvider/index.js +18 -0
  52. package/lib-commonjs/components/FluentProvider/index.js.map +1 -0
  53. package/lib-commonjs/components/FluentProvider/renderFluentProvider.d.ts +5 -0
  54. package/lib-commonjs/components/FluentProvider/renderFluentProvider.js +39 -0
  55. package/lib-commonjs/components/FluentProvider/renderFluentProvider.js.map +1 -0
  56. package/lib-commonjs/components/FluentProvider/useFluentProvider.d.ts +13 -0
  57. package/lib-commonjs/components/FluentProvider/useFluentProvider.js +66 -0
  58. package/lib-commonjs/components/FluentProvider/useFluentProvider.js.map +1 -0
  59. package/lib-commonjs/components/FluentProvider/useFluentProviderContextValues.d.ts +2 -0
  60. package/lib-commonjs/components/FluentProvider/useFluentProviderContextValues.js +34 -0
  61. package/lib-commonjs/components/FluentProvider/useFluentProviderContextValues.js.map +1 -0
  62. package/lib-commonjs/components/FluentProvider/useFluentProviderStyles.d.ts +3 -0
  63. package/lib-commonjs/components/FluentProvider/useFluentProviderStyles.js +31 -0
  64. package/lib-commonjs/components/FluentProvider/useFluentProviderStyles.js.map +1 -0
  65. package/lib-commonjs/components/FluentProvider/useThemeStyleTag.d.ts +7 -0
  66. package/lib-commonjs/components/FluentProvider/useThemeStyleTag.js +70 -0
  67. package/lib-commonjs/components/FluentProvider/useThemeStyleTag.js.map +1 -0
  68. package/lib-commonjs/index.d.ts +1 -1
  69. package/lib-commonjs/index.js +23 -3
  70. package/lib-commonjs/index.js.map +1 -1
  71. package/package.json +27 -16
  72. package/config/api-extractor.json +0 -3
  73. package/etc/react-provider.api.md +0 -63
  74. package/just.config.ts +0 -3
  75. package/lib/context.d.ts +0 -12
  76. package/lib/context.js +0 -10
  77. package/lib/context.js.map +0 -1
  78. package/lib-amd/FluentProvider.d.ts +0 -28
  79. package/lib-amd/FluentProvider.js +0 -50
  80. package/lib-amd/FluentProvider.js.map +0 -1
  81. package/lib-amd/context.d.ts +0 -12
  82. package/lib-amd/context.js +0 -14
  83. package/lib-amd/context.js.map +0 -1
  84. package/lib-amd/index.d.ts +0 -2
  85. package/lib-amd/index.js +0 -7
  86. package/lib-amd/index.js.map +0 -1
  87. package/lib-commonjs/context.d.ts +0 -12
  88. package/lib-commonjs/context.js +0 -13
  89. package/lib-commonjs/context.js.map +0 -1
@@ -1,51 +1,67 @@
1
- import { PartialTheme } from '@fluentui/react-theme';
2
- import * as React from 'react';
3
- import { Theme } from '@fluentui/react-theme';
1
+ import type { ComponentProps } from '@fluentui/react-utilities';
2
+ import type { ComponentState } from '@fluentui/react-utilities';
3
+ import type { IntrinsicShorthandProps } from '@fluentui/react-utilities';
4
+ import type { PartialTheme } from '@fluentui/react-theme';
5
+ import type { ProviderContextValue } from '@fluentui/react-shared-contexts';
6
+ import * as React_2 from 'react';
7
+ import type { Theme } from '@fluentui/react-theme';
8
+ import type { ThemeClassNameContextValue } from '@fluentui/react-shared-contexts';
9
+ import type { ThemeContextValue } from '@fluentui/react-shared-contexts';
10
+ import type { TooltipContextType } from '@fluentui/react-shared-contexts';
11
+ import { useFluent } from '@fluentui/react-shared-contexts';
12
+ import { useTheme } from '@fluentui/react-shared-contexts';
4
13
 
5
- /**
6
- * A React provider that allows to define theme, text direction and context for rendering for children components.
7
- */
8
- export declare const FluentProvider: React.FunctionComponent<ProviderProps>;
14
+ export declare const FluentProvider: React_2.ForwardRefExoticComponent<FluentProviderProps & React_2.RefAttributes<HTMLElement>>;
9
15
 
10
- export declare interface FluentProviderContextValue {
16
+ export declare interface FluentProviderCommons {
11
17
  /** Sets the direction of text & generated styles. */
12
18
  dir: 'ltr' | 'rtl';
13
19
  /** Provides the document, can be undefined during SSR render. */
14
- document: Document | undefined;
20
+ targetDocument: Document | undefined;
15
21
  }
16
22
 
17
- export declare interface FluentThemeProviderValue extends Theme {
23
+ export declare interface FluentProviderContextValues {
24
+ provider: ProviderContextValue;
25
+ theme: ThemeContextValue;
26
+ themeClassName: ThemeClassNameContextValue;
27
+ tooltip: TooltipContextType;
18
28
  }
19
29
 
20
- export declare const internal__FluentProviderContext: React.Context<FluentProviderContextValue>;
21
-
22
- export declare interface ProviderProps {
23
- /** Sets the direction of text & generated styles. */
24
- dir?: 'ltr' | 'rtl';
25
- /** Provides the document, can be undefined during SSR render. */
26
- document?: Document | undefined;
30
+ export declare interface FluentProviderProps extends Omit<ComponentProps<FluentProviderSlots>, 'dir'>, Partial<FluentProviderCommons> {
27
31
  theme?: PartialTheme;
28
32
  }
29
33
 
30
- export declare interface ProviderState {
31
- dir: 'ltr' | 'rtl';
32
- document: Document | undefined;
34
+ export declare const fluentProviderShorthandProps: (keyof FluentProviderSlots)[];
35
+
36
+ export declare type FluentProviderSlots = {
37
+ root: IntrinsicShorthandProps<'div'>;
38
+ };
39
+
40
+ export declare interface FluentProviderState extends ComponentState<FluentProviderSlots>, FluentProviderCommons {
33
41
  theme: Theme;
42
+ themeClassName: string;
34
43
  }
35
44
 
36
- export declare function renderFluentProvider(state: ProviderState): JSX.Element;
45
+ /**
46
+ * Render the final JSX of FluentProvider
47
+ */
48
+ export declare const renderFluentProvider: (state: FluentProviderState, contextValues: FluentProviderContextValues) => JSX.Element;
37
49
 
38
- export declare function useFluent(): FluentProviderContextValue;
50
+ export { useFluent }
39
51
 
40
52
  /**
41
- * Returns the ThemeProvider render function and calculated state, given user input, ref, and
42
- * a set of default prop values.
53
+ * Create the state required to render FluentProvider.
54
+ *
55
+ * The returned state can be modified with hooks such as useFluentProviderStyles,
56
+ * before being passed to renderFluentProvider.
57
+ *
58
+ * @param props - props from this instance of FluentProvider
59
+ * @param ref - reference to root HTMLElement of FluentProvider
43
60
  */
44
- export declare function useFluentProvider(props: ProviderProps, ref: React.Ref<HTMLElement>): {
45
- state: ProviderState;
46
- render: typeof renderFluentProvider;
47
- };
61
+ export declare const useFluentProvider: (props: FluentProviderProps, ref: React_2.Ref<HTMLElement>) => FluentProviderState;
62
+
63
+ export declare function useFluentProviderContextValues(state: FluentProviderState): FluentProviderContextValues;
48
64
 
49
- export declare function useFluentProviderState(draftState: ProviderState): void;
65
+ export { useTheme }
50
66
 
51
67
  export { }
@@ -1,28 +1 @@
1
- import { PartialTheme, Theme } from '@fluentui/react-theme';
2
- import * as React from 'react';
3
- export interface ProviderProps {
4
- /** Sets the direction of text & generated styles. */
5
- dir?: 'ltr' | 'rtl';
6
- /** Provides the document, can be undefined during SSR render. */
7
- document?: Document | undefined;
8
- theme?: PartialTheme;
9
- }
10
- export interface ProviderState {
11
- dir: 'ltr' | 'rtl';
12
- document: Document | undefined;
13
- theme: Theme;
14
- }
15
- export declare function useFluentProviderState(draftState: ProviderState): void;
16
- export declare function renderFluentProvider(state: ProviderState): JSX.Element;
17
- /**
18
- * Returns the ThemeProvider render function and calculated state, given user input, ref, and
19
- * a set of default prop values.
20
- */
21
- export declare function useFluentProvider(props: ProviderProps, ref: React.Ref<HTMLElement>): {
22
- state: ProviderState;
23
- render: typeof renderFluentProvider;
24
- };
25
- /**
26
- * A React provider that allows to define theme, text direction and context for rendering for children components.
27
- */
28
- export declare const FluentProvider: React.FunctionComponent<ProviderProps>;
1
+ export * from './components/FluentProvider/index';
@@ -1,49 +1,2 @@
1
- import { __assign } from "tslib";
2
- import { internal__ThemeContext, useThemeProviderState } from '@fluentui/react-theme-provider';
3
- import { FocusManagementProvider } from '@fluentui/react-focus-management';
4
- import { getSlots, makeMergeProps, useMergedRefs } from '@fluentui/react-utilities';
5
- import * as React from 'react';
6
- import { internal__FluentProviderContext, useFluent } from './context';
7
- var mergeProps = makeMergeProps();
8
- export function useFluentProviderState(draftState) {
9
- var parentContext = useFluent();
10
- useThemeProviderState(draftState);
11
- // TODO: add merge functions
12
- draftState.document = draftState.document || parentContext.document;
13
- draftState.dir = draftState.dir || parentContext.dir;
14
- }
15
- export function renderFluentProvider(state) {
16
- var _a = getSlots(state), slots = _a.slots, slotProps = _a.slotProps;
17
- var dir = state.dir, document = state.document, theme = state.theme;
18
- // eslint-disable-next-line react-hooks/rules-of-hooks
19
- var value = React.useMemo(function () { return ({ dir: dir, document: document }); }, [dir, document]);
20
- return (React.createElement(internal__FluentProviderContext.Provider, { value: value },
21
- React.createElement(internal__ThemeContext.Provider, { value: theme },
22
- React.createElement(FocusManagementProvider, { document: document, dir: dir },
23
- React.createElement(slots.root, __assign({}, slotProps.root))))));
24
- }
25
- /**
26
- * Returns the ThemeProvider render function and calculated state, given user input, ref, and
27
- * a set of default prop values.
28
- */
29
- export function useFluentProvider(props, ref) {
30
- var rootRef = useMergedRefs(ref, React.useRef(null));
31
- var state = mergeProps({
32
- ref: rootRef,
33
- as: 'div',
34
- }, {}, props);
35
- useFluentProviderState(state);
36
- return {
37
- state: state,
38
- render: renderFluentProvider,
39
- };
40
- }
41
- /**
42
- * A React provider that allows to define theme, text direction and context for rendering for children components.
43
- */
44
- export var FluentProvider = React.forwardRef(function (props, ref) {
45
- var _a = useFluentProvider(props, ref), render = _a.render, state = _a.state;
46
- return render(state);
47
- });
48
- FluentProvider.displayName = 'Provider';
1
+ export * from './components/FluentProvider/index';
49
2
  //# sourceMappingURL=FluentProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FluentProvider.js","sourceRoot":"../src/","sources":["FluentProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,sBAAsB,EAAsB,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACnH,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,+BAA+B,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAiBvE,IAAM,UAAU,GAAG,cAAc,EAAiB,CAAC;AAEnD,MAAM,UAAU,sBAAsB,CAAC,UAAyB;IAC9D,IAAM,aAAa,GAAG,SAAS,EAAE,CAAC;IAElC,qBAAqB,CAAC,UAAgC,CAAC,CAAC;IAExD,4BAA4B;IAC5B,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC;IACpE,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAoB;IACjD,IAAA,oBAAsC,EAApC,gBAAK,EAAE,wBAA6B,CAAC;IACrC,IAAA,eAAG,EAAE,yBAAQ,EAAE,mBAAK,CAAW;IAEvC,sDAAsD;IACtD,IAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,cAAM,OAAA,CAAC,EAAE,GAAG,KAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,EAAnB,CAAmB,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAExE,OAAO,CACL,oBAAC,+BAA+B,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK;QACpD,oBAAC,sBAAsB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK;YAC3C,oBAAC,uBAAuB,IAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG;gBACnD,oBAAC,KAAK,CAAC,IAAI,eAAK,SAAS,CAAC,IAAI,EAAI,CACV,CACM,CACO,CAC5C,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAoB,EAAE,GAA2B;IACjF,IAAM,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAc,IAAI,CAAC,CAAC,CAAC;IACpE,IAAM,KAAK,GAAG,UAAU,CACtB;QACE,GAAG,EAAE,OAAO;QACZ,EAAE,EAAE,KAAK;KACV,EACD,EAAE,EACF,KAAK,CACN,CAAC;IAEF,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAE9B,OAAO;QACL,KAAK,OAAA;QACL,MAAM,EAAE,oBAAoB;KAC7B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,IAAM,cAAc,GAA2C,KAAK,CAAC,UAAU,CACpF,UAAC,KAAoB,EAAE,GAA8B;IAC7C,IAAA,kCAAiD,EAA/C,kBAAM,EAAE,gBAAuC,CAAC;IAExD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC,CACF,CAAC;AAEF,cAAc,CAAC,WAAW,GAAG,UAAU,CAAC","sourcesContent":["import { PartialTheme, Theme } from '@fluentui/react-theme';\nimport { internal__ThemeContext, ThemeProviderState, useThemeProviderState } from '@fluentui/react-theme-provider';\nimport { FocusManagementProvider } from '@fluentui/react-focus-management';\nimport { getSlots, makeMergeProps, useMergedRefs } from '@fluentui/react-utilities';\nimport * as React from 'react';\n\nimport { internal__FluentProviderContext, useFluent } from './context';\n\nexport interface ProviderProps {\n /** Sets the direction of text & generated styles. */\n dir?: 'ltr' | 'rtl';\n\n /** Provides the document, can be undefined during SSR render. */\n document?: Document | undefined;\n\n theme?: PartialTheme;\n}\nexport interface ProviderState {\n dir: 'ltr' | 'rtl';\n document: Document | undefined;\n theme: Theme;\n}\n\nconst mergeProps = makeMergeProps<ProviderState>();\n\nexport function useFluentProviderState(draftState: ProviderState) {\n const parentContext = useFluent();\n\n useThemeProviderState(draftState as ThemeProviderState);\n\n // TODO: add merge functions\n draftState.document = draftState.document || parentContext.document;\n draftState.dir = draftState.dir || parentContext.dir;\n}\n\nexport function renderFluentProvider(state: ProviderState) {\n const { slots, slotProps } = getSlots(state);\n const { dir, document, theme } = state;\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const value = React.useMemo(() => ({ dir, document }), [dir, document]);\n\n return (\n <internal__FluentProviderContext.Provider value={value}>\n <internal__ThemeContext.Provider value={theme}>\n <FocusManagementProvider document={document} dir={dir}>\n <slots.root {...slotProps.root} />\n </FocusManagementProvider>\n </internal__ThemeContext.Provider>\n </internal__FluentProviderContext.Provider>\n );\n}\n\n/**\n * Returns the ThemeProvider render function and calculated state, given user input, ref, and\n * a set of default prop values.\n */\nexport function useFluentProvider(props: ProviderProps, ref: React.Ref<HTMLElement>) {\n const rootRef = useMergedRefs(ref, React.useRef<HTMLElement>(null));\n const state = mergeProps(\n {\n ref: rootRef,\n as: 'div',\n },\n {},\n props,\n );\n\n useFluentProviderState(state);\n\n return {\n state,\n render: renderFluentProvider,\n };\n}\n\n/**\n * A React provider that allows to define theme, text direction and context for rendering for children components.\n */\nexport const FluentProvider: React.FunctionComponent<ProviderProps> = React.forwardRef<HTMLDivElement, ProviderProps>(\n (props: ProviderProps, ref: React.Ref<HTMLDivElement>) => {\n const { render, state } = useFluentProvider(props, ref);\n\n return render(state);\n },\n);\n\nFluentProvider.displayName = 'Provider';\n"]}
1
+ {"version":3,"file":"FluentProvider.js","sourceRoot":"","sources":["../src/FluentProvider.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { IsConformantOptions } from '@fluentui/react-conformance';
2
+ export declare function isConformant<TProps = {}>(testInfo: Omit<IsConformantOptions<TProps>, 'componentPath'> & {
3
+ componentPath?: string;
4
+ }): void;
@@ -0,0 +1,12 @@
1
+ import { isConformant as baseIsConformant } from '@fluentui/react-conformance';
2
+ import makeStylesTests from '@fluentui/react-conformance-make-styles';
3
+ export function isConformant(testInfo) {
4
+ var defaultOptions = {
5
+ disabledTests: ['has-docblock'],
6
+ asPropHandlesRef: true,
7
+ componentPath: module.parent.filename.replace('.test', ''),
8
+ extraTests: makeStylesTests
9
+ };
10
+ baseIsConformant(defaultOptions, testInfo);
11
+ }
12
+ //# sourceMappingURL=isConformant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/common/isConformant.ts"],"names":[],"mappings":"AAAA,SAAS,YAAY,IAAI,gBAAzB,QAAiD,6BAAjD;AAEA,OAAO,eAAP,MAA4B,yCAA5B;AAEA,OAAM,SAAU,YAAV,CACJ,QADI,EACqF;AAEzF,MAAM,cAAc,GAAyC;AAC3D,IAAA,aAAa,EAAE,CAAC,cAAD,CAD4C;AAE3D,IAAA,gBAAgB,EAAE,IAFyC;AAG3D,IAAA,aAAa,EAAE,MAAO,CAAC,MAAR,CAAgB,QAAhB,CAAyB,OAAzB,CAAiC,OAAjC,EAA0C,EAA1C,CAH4C;AAI3D,IAAA,UAAU,EAAE;AAJ+C,GAA7D;AAOA,EAAA,gBAAgB,CAAC,cAAD,EAAiB,QAAjB,CAAhB;AACD","sourceRoot":""}
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ import type { FluentProviderProps } from './FluentProvider.types';
3
+ export declare const FluentProvider: React.ForwardRefExoticComponent<FluentProviderProps & React.RefAttributes<HTMLElement>>;
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ import { renderFluentProvider } from './renderFluentProvider';
3
+ import { useFluentProvider } from './useFluentProvider';
4
+ import { useFluentProviderStyles } from './useFluentProviderStyles';
5
+ import { useFluentProviderContextValues } from './useFluentProviderContextValues';
6
+ export var FluentProvider = /*#__PURE__*/React.forwardRef(function (props, ref) {
7
+ var state = useFluentProvider(props, ref);
8
+ useFluentProviderStyles(state);
9
+ var contextValues = useFluentProviderContextValues(state);
10
+ return renderFluentProvider(state, contextValues);
11
+ });
12
+ FluentProvider.displayName = 'FluentProvider';
13
+ //# sourceMappingURL=FluentProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/FluentProvider/FluentProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,oBAAT,QAAqC,wBAArC;AACA,SAAS,iBAAT,QAAkC,qBAAlC;AACA,SAAS,uBAAT,QAAwC,2BAAxC;AACA,SAAS,8BAAT,QAA+C,kCAA/C;AAGA,OAAO,IAAM,cAAc,gBAAG,KAAK,CAAC,UAAN,CAAmD,UAAC,KAAD,EAAQ,GAAR,EAAW;AAC1F,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAD,EAAQ,GAAR,CAA/B;AACA,EAAA,uBAAuB,CAAC,KAAD,CAAvB;AAEA,MAAM,aAAa,GAAG,8BAA8B,CAAC,KAAD,CAApD;AAEA,SAAO,oBAAoB,CAAC,KAAD,EAAQ,aAAR,CAA3B;AACD,CAP6B,CAAvB;AASP,cAAc,CAAC,WAAf,GAA6B,gBAA7B","sourceRoot":""}
@@ -0,0 +1,25 @@
1
+ import type { ComponentProps, ComponentState, IntrinsicShorthandProps } from '@fluentui/react-utilities';
2
+ import type { PartialTheme, Theme } from '@fluentui/react-theme';
3
+ import type { ProviderContextValue, TooltipContextType, ThemeContextValue, ThemeClassNameContextValue } from '@fluentui/react-shared-contexts';
4
+ export declare type FluentProviderSlots = {
5
+ root: IntrinsicShorthandProps<'div'>;
6
+ };
7
+ export 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;
18
+ themeClassName: string;
19
+ }
20
+ export interface FluentProviderContextValues {
21
+ provider: ProviderContextValue;
22
+ theme: ThemeContextValue;
23
+ themeClassName: ThemeClassNameContextValue;
24
+ tooltip: TooltipContextType;
25
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=FluentProvider.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FluentProvider.types.js","sourceRoot":"","sources":["../../../src/components/FluentProvider/FluentProvider.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export * from './FluentProvider';
2
+ export * from './FluentProvider.types';
3
+ export * from './renderFluentProvider';
4
+ export * from './useFluentProvider';
5
+ export * from './useFluentProviderContextValues';
@@ -0,0 +1,6 @@
1
+ export * from './FluentProvider';
2
+ export * from './FluentProvider.types';
3
+ export * from './renderFluentProvider';
4
+ export * from './useFluentProvider';
5
+ export * from './useFluentProviderContextValues';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/FluentProvider/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kCAAkC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { FluentProviderContextValues, FluentProviderState } from './FluentProvider.types';
2
+ /**
3
+ * Render the final JSX of FluentProvider
4
+ */
5
+ export declare const renderFluentProvider: (state: FluentProviderState, contextValues: FluentProviderContextValues) => JSX.Element;
@@ -0,0 +1,25 @@
1
+ import { __assign } from "tslib";
2
+ import * as React from 'react';
3
+ import { ProviderContext, TooltipContext, ThemeContext, ThemeClassNameContext } from '@fluentui/react-shared-contexts';
4
+ import { getSlots } from '@fluentui/react-utilities';
5
+ import { fluentProviderShorthandProps } from './useFluentProvider';
6
+ /**
7
+ * Render the final JSX of FluentProvider
8
+ */
9
+
10
+ export var renderFluentProvider = function (state, contextValues) {
11
+ var _a = getSlots(state, fluentProviderShorthandProps),
12
+ slots = _a.slots,
13
+ slotProps = _a.slotProps;
14
+
15
+ return /*#__PURE__*/React.createElement(ProviderContext.Provider, {
16
+ value: contextValues.provider
17
+ }, /*#__PURE__*/React.createElement(ThemeContext.Provider, {
18
+ value: contextValues.theme
19
+ }, /*#__PURE__*/React.createElement(ThemeClassNameContext.Provider, {
20
+ value: contextValues.themeClassName
21
+ }, /*#__PURE__*/React.createElement(TooltipContext.Provider, {
22
+ value: contextValues.tooltip
23
+ }, /*#__PURE__*/React.createElement(slots.root, __assign({}, slotProps.root), state.root.children)))));
24
+ };
25
+ //# sourceMappingURL=renderFluentProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/FluentProvider/renderFluentProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,eAAT,EAA0B,cAA1B,EAA0C,YAA1C,EAAwD,qBAAxD,QAAqF,iCAArF;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAEA,SAAS,4BAAT,QAA6C,qBAA7C;AAEA;;AAEG;;AACH,OAAO,IAAM,oBAAoB,GAAG,UAAC,KAAD,EAA6B,aAA7B,EAAuE;AACnG,MAAA,EAAA,GAAuB,QAAQ,CAAsB,KAAtB,EAA6B,4BAA7B,CAA/B;AAAA,MAAE,KAAK,GAAA,EAAA,CAAA,KAAP;AAAA,MAAS,SAAS,GAAA,EAAA,CAAA,SAAlB;;AAEN,sBACE,KAAA,CAAA,aAAA,CAAC,eAAe,CAAC,QAAjB,EAAyB;AAAC,IAAA,KAAK,EAAE,aAAa,CAAC;AAAtB,GAAzB,eACE,KAAA,CAAA,aAAA,CAAC,YAAY,CAAC,QAAd,EAAsB;AAAC,IAAA,KAAK,EAAE,aAAa,CAAC;AAAtB,GAAtB,eACE,KAAA,CAAA,aAAA,CAAC,qBAAqB,CAAC,QAAvB,EAA+B;AAAC,IAAA,KAAK,EAAE,aAAa,CAAC;AAAtB,GAA/B,eACE,KAAA,CAAA,aAAA,CAAC,cAAc,CAAC,QAAhB,EAAwB;AAAC,IAAA,KAAK,EAAE,aAAa,CAAC;AAAtB,GAAxB,eACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,QAAA,CAAA,EAAA,EAAK,SAAS,CAAC,IAAf,CAAX,EAAiC,KAAK,CAAC,IAAN,CAAW,QAA5C,CADF,CADF,CADF,CADF,CADF;AAWD,CAdM","sourceRoot":""}
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ import type { FluentProviderProps, FluentProviderSlots, FluentProviderState } from './FluentProvider.types';
3
+ export declare const fluentProviderShorthandProps: (keyof FluentProviderSlots)[];
4
+ /**
5
+ * Create the state required to render FluentProvider.
6
+ *
7
+ * The returned state can be modified with hooks such as useFluentProviderStyles,
8
+ * before being passed to renderFluentProvider.
9
+ *
10
+ * @param props - props from this instance of FluentProvider
11
+ * @param ref - reference to root HTMLElement of FluentProvider
12
+ */
13
+ export declare const useFluentProvider: (props: FluentProviderProps, ref: React.Ref<HTMLElement>) => FluentProviderState;
@@ -0,0 +1,51 @@
1
+ import { __assign } from "tslib";
2
+ import { useKeyboardNavAttribute } from '@fluentui/react-tabster';
3
+ import { mergeThemes } from '@fluentui/react-theme';
4
+ import { useFluent, useTheme } from '@fluentui/react-shared-contexts';
5
+ import { getNativeElementProps, useMergedRefs } from '@fluentui/react-utilities';
6
+ import { useThemeStyleTag } from './useThemeStyleTag';
7
+ export var fluentProviderShorthandProps = ['root'];
8
+ /**
9
+ * Create the state required to render FluentProvider.
10
+ *
11
+ * The returned state can be modified with hooks such as useFluentProviderStyles,
12
+ * before being passed to renderFluentProvider.
13
+ *
14
+ * @param props - props from this instance of FluentProvider
15
+ * @param ref - reference to root HTMLElement of FluentProvider
16
+ */
17
+
18
+ export var useFluentProvider = function (props, ref) {
19
+ var parentContext = useFluent();
20
+ var parentTheme = useTheme();
21
+ /**
22
+ * TODO: add merge functions to "dir" merge,
23
+ * nesting providers with the same "dir" should not add additional attributes to DOM
24
+ * see https://github.com/microsoft/fluentui/blob/0dc74a19f3aa5a058224c20505016fbdb84db172/packages/fluentui/react-northstar/src/utils/mergeProviderContexts.ts#L89-L93
25
+ */
26
+
27
+ var _a = props.dir,
28
+ dir = _a === void 0 ? parentContext.dir : _a,
29
+ _b = props.targetDocument,
30
+ targetDocument = _b === void 0 ? parentContext.targetDocument : _b,
31
+ _c = props.theme,
32
+ theme = _c === void 0 ? {} : _c;
33
+ var mergedTheme = mergeThemes(parentTheme, theme);
34
+ return {
35
+ dir: dir,
36
+ targetDocument: targetDocument,
37
+ theme: mergedTheme,
38
+ themeClassName: useThemeStyleTag({
39
+ theme: mergedTheme,
40
+ targetDocument: targetDocument
41
+ }),
42
+ components: {
43
+ root: 'div'
44
+ },
45
+ root: getNativeElementProps('div', __assign(__assign({}, props), {
46
+ dir: dir,
47
+ ref: useMergedRefs(ref, useKeyboardNavAttribute())
48
+ }))
49
+ };
50
+ };
51
+ //# sourceMappingURL=useFluentProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/FluentProvider/useFluentProvider.ts"],"names":[],"mappings":";AAAA,SAAS,uBAAT,QAAwC,yBAAxC;AACA,SAAS,WAAT,QAA4B,uBAA5B;AACA,SAAS,SAAT,EAAoB,QAApB,QAAoC,iCAApC;AACA,SAAS,qBAAT,EAAgC,aAAhC,QAAqD,2BAArD;AAEA,SAAS,gBAAT,QAAiC,oBAAjC;AAGA,OAAO,IAAM,4BAA4B,GAAkC,CAAC,MAAD,CAApE;AAEP;;;;;;;;AAQG;;AACH,OAAO,IAAM,iBAAiB,GAAG,UAAC,KAAD,EAA6B,GAA7B,EAAwD;AACvF,MAAM,aAAa,GAAG,SAAS,EAA/B;AACA,MAAM,WAAW,GAAG,QAAQ,EAA5B;AAEA;;;;AAIG;;AACK,MAAA,EAAA,GAAuF,KAAK,CAArE,GAAvB;AAAA,MAAA,GAAG,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,aAAa,CAAC,GAAjB,GAAoB,EAAvB;AAAA,MAAyB,EAAA,GAA8D,KAAK,CAAtB,cAAtE;AAAA,MAAyB,cAAc,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,aAAa,CAAC,cAAjB,GAA+B,EAAtE;AAAA,MAAwE,EAAA,GAAe,KAAK,CAAV,KAAlF;AAAA,MAAwE,KAAK,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAH,GAAK,EAAlF;AACR,MAAM,WAAW,GAAG,WAAW,CAAC,WAAD,EAAc,KAAd,CAA/B;AAEA,SAAO;AACL,IAAA,GAAG,EAAA,GADE;AAEL,IAAA,cAAc,EAAA,cAFT;AAGL,IAAA,KAAK,EAAE,WAHF;AAIL,IAAA,cAAc,EAAE,gBAAgB,CAAC;AAAE,MAAA,KAAK,EAAE,WAAT;AAAsB,MAAA,cAAc,EAAA;AAApC,KAAD,CAJ3B;AAML,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE;AADI,KANP;AAUL,IAAA,IAAI,EAAE,qBAAqB,CAAC,KAAD,EAAM,QAAA,CAAA,QAAA,CAAA,EAAA,EAC5B,KAD4B,CAAA,EACvB;AACR,MAAA,GAAG,EAAA,GADK;AAER,MAAA,GAAG,EAAE,aAAa,CAAC,GAAD,EAAM,uBAAuB,EAA7B;AAFV,KADuB,CAAN;AAVtB,GAAP;AAgBD,CA5BM","sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ import type { FluentProviderContextValues, FluentProviderState } from './FluentProvider.types';
2
+ export declare function useFluentProviderContextValues(state: FluentProviderState): FluentProviderContextValues;
@@ -0,0 +1,23 @@
1
+ import { useConst } from '@fluentui/react-utilities';
2
+ import * as React from 'react';
3
+ export function useFluentProviderContextValues(state) {
4
+ var root = state.root,
5
+ dir = state.dir,
6
+ targetDocument = state.targetDocument,
7
+ theme = state.theme;
8
+ var provider = React.useMemo(function () {
9
+ return {
10
+ dir: dir,
11
+ targetDocument: targetDocument
12
+ };
13
+ }, [dir, targetDocument]); // "Tooltip" component mutates an object in this context, instance should be stable
14
+
15
+ var tooltip = useConst({});
16
+ return {
17
+ provider: provider,
18
+ tooltip: tooltip,
19
+ theme: theme,
20
+ themeClassName: root.className
21
+ };
22
+ }
23
+ //# sourceMappingURL=useFluentProviderContextValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/FluentProvider/useFluentProviderContextValues.ts"],"names":[],"mappings":"AAAA,SAAS,QAAT,QAAyB,2BAAzB;AACA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAGA,OAAM,SAAU,8BAAV,CAAyC,KAAzC,EAAmE;AAC/D,MAAA,IAAI,GAAiC,KAAK,CAAtC,IAAJ;AAAA,MAAM,GAAG,GAA4B,KAAK,CAAjC,GAAT;AAAA,MAAW,cAAc,GAAY,KAAK,CAAjB,cAAzB;AAAA,MAA2B,KAAK,GAAK,KAAK,CAAV,KAAhC;AAER,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAN,CAAc,YAAA;AAAM,WAAC;AAAE,MAAA,GAAG,EAAA,GAAL;AAAO,MAAA,cAAc,EAAtB;AAAC,KAAD;AAAyB,GAA7C,EAA+C,CAAC,GAAD,EAAM,cAAN,CAA/C,CAAjB,CAHuE,CAIvE;;AACA,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAD,CAAxB;AAEA,SAAO;AACL,IAAA,QAAQ,EAAA,QADH;AAEL,IAAA,OAAO,EAAA,OAFF;AAGL,IAAA,KAAK,EAAA,KAHA;AAIL,IAAA,cAAc,EAAE,IAAI,CAAC;AAJhB,GAAP;AAMD","sourceRoot":""}
@@ -0,0 +1,3 @@
1
+ import type { FluentProviderState } from './FluentProvider.types';
2
+ /** Applies style classnames to slots */
3
+ export declare const useFluentProviderStyles: (state: FluentProviderState) => FluentProviderState;
@@ -0,0 +1,22 @@
1
+ import { __styles, mergeClasses } from '@fluentui/react-make-styles';
2
+
3
+ var useStyles = /*#__PURE__*/__styles({
4
+ "root": {
5
+ "sj55zd": "f19n0e5",
6
+ "De3pzq": "fxugw4r",
7
+ "Bahqtrf": "fk6fouc",
8
+ "Be2twd7": "fkhj508",
9
+ "Bhrd7zp": "figsok6"
10
+ }
11
+ }, {
12
+ "d": [".f19n0e5{color:var(--colorNeutralForeground1);}", ".fxugw4r{background-color:var(--colorNeutralBackground1);}", ".fk6fouc{font-family:var(--fontFamilyBase);}", ".fkhj508{font-size:var(--fontSizeBase300);}", ".figsok6{font-weight:var(--fontWeightRegular);}"]
13
+ });
14
+ /** Applies style classnames to slots */
15
+
16
+
17
+ export var useFluentProviderStyles = function (state) {
18
+ var styles = useStyles();
19
+ state.root.className = mergeClasses(state.themeClassName, styles.root, state.root.className);
20
+ return state;
21
+ };
22
+ //# sourceMappingURL=useFluentProviderStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/FluentProvider/useFluentProviderStyles.ts"],"names":[],"mappings":"AAAA,mBAAqB,YAArB,QAAyC,6BAAzC;;AAGA,IAAM,SAAS,gBAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAlB;AAUA;;;AACA,OAAO,IAAM,uBAAuB,GAAG,UAAC,KAAD,EAA2B;AAChE,MAAM,MAAM,GAAG,SAAS,EAAxB;AAEA,EAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,YAAY,CAAC,KAAK,CAAC,cAAP,EAAuB,MAAM,CAAC,IAA9B,EAAoC,KAAK,CAAC,IAAN,CAAW,SAA/C,CAAnC;AAEA,SAAO,KAAP;AACD,CANM","sourceRoot":""}
@@ -0,0 +1,7 @@
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;
@@ -0,0 +1,58 @@
1
+ import { useId, usePrevious } from '@fluentui/react-utilities';
2
+ import { themeToCSSVariables } from '@fluentui/react-theme';
3
+ import * as React from 'react';
4
+ /**
5
+ * Writes a theme as css variables in a style tag on the provided targetDocument as a rule applied to a CSS class
6
+ *
7
+ * @returns CSS class to apply the rule
8
+ */
9
+
10
+ export var useThemeStyleTag = function (options) {
11
+ var targetDocument = options.targetDocument,
12
+ theme = options.theme;
13
+ var styleTagId = useId('fluent-provider');
14
+ var styleTag = React.useMemo(function () {
15
+ if (!targetDocument) {
16
+ return null;
17
+ }
18
+
19
+ var tag = targetDocument.createElement('style');
20
+ tag.setAttribute('id', styleTagId);
21
+ targetDocument.head.appendChild(tag);
22
+ return tag;
23
+ }, [styleTagId, targetDocument]);
24
+ var cssRule = React.useMemo(function () {
25
+ var cssVars = themeToCSSVariables(theme);
26
+ var cssVarsAsString = Object.keys(cssVars).reduce(function (cssVarRule, cssVar) {
27
+ cssVarRule += cssVar + ": " + cssVars[cssVar] + "; ";
28
+ return cssVarRule;
29
+ }, ''); // result: .fluent-provider1 { --css-var: '#fff' }
30
+
31
+ return "." + styleTagId + " { " + cssVarsAsString + " }";
32
+ }, [theme, styleTagId]);
33
+ var previousCssRule = usePrevious(cssRule);
34
+
35
+ if (styleTag && previousCssRule !== cssRule) {
36
+ var sheet = styleTag.sheet;
37
+
38
+ if (sheet.cssRules.length > 0) {
39
+ sheet.deleteRule(0);
40
+ }
41
+
42
+ sheet.insertRule(cssRule, 0);
43
+ } // Removes the style tag from the targetDocument on unmount or change
44
+
45
+
46
+ React.useEffect(function () {
47
+ return function () {
48
+ var _a;
49
+
50
+ if (styleTag) {
51
+ // IE11 safe node removal, otherwise use node.remove()
52
+ (_a = styleTag.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(styleTag);
53
+ }
54
+ };
55
+ }, [styleTag]);
56
+ return styleTagId;
57
+ };
58
+ //# sourceMappingURL=useThemeStyleTag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/FluentProvider/useThemeStyleTag.ts"],"names":[],"mappings":"AAAA,SAAS,KAAT,EAAgB,WAAhB,QAAmC,2BAAnC;AACA,SAAS,mBAAT,QAAoC,uBAApC;AACA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAGA;;;;AAIG;;AACH,OAAO,IAAM,gBAAgB,GAAG,UAAC,OAAD,EAA+D;AACrF,MAAA,cAAc,GAAY,OAAO,CAAnB,cAAd;AAAA,MAAgB,KAAK,GAAK,OAAO,CAAZ,KAArB;AAER,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAD,CAAxB;AACA,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAN,CAAc,YAAA;AAC7B,QAAI,CAAC,cAAL,EAAqB;AACnB,aAAO,IAAP;AACD;;AAED,QAAM,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,MAAM,OAAO,GAAG,KAAK,CAAC,OAAN,CAAc,YAAA;AAC5B,QAAM,OAAO,GAAG,mBAAmB,CAAC,KAAD,CAAnC;AACA,QAAM,eAAe,GAAG,MAAM,CAAC,IAAP,CAAY,OAAZ,EAAqB,MAArB,CAA4B,UAAC,UAAD,EAAa,MAAb,EAAmB;AACrE,MAAA,UAAU,IAAO,MAAM,GAAA,IAAN,GAAW,OAAO,CAAC,MAAD,CAAlB,GAA0B,IAA3C;AACA,aAAO,UAAP;AACD,KAHuB,EAGrB,EAHqB,CAAxB,CAF4B,CAO5B;;AACA,WAAO,MAAI,UAAJ,GAAc,KAAd,GAAoB,eAApB,GAAmC,IAA1C;AACD,GATe,EASb,CAAC,KAAD,EAAQ,UAAR,CATa,CAAhB;AAUA,MAAM,eAAe,GAAG,WAAW,CAAC,OAAD,CAAnC;;AAEA,MAAI,QAAQ,IAAI,eAAe,KAAK,OAApC,EAA6C;AAC3C,QAAM,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,GAnC4F,CAqC7F;;;AACA,EAAA,KAAK,CAAC,SAAN,CAAgB,YAAA;AACd,WAAO,YAAA;;;AACL,UAAI,QAAJ,EAAc;AACZ;AACA,SAAA,EAAA,GAAA,QAAQ,CAAC,aAAT,MAAsB,IAAtB,IAAsB,EAAA,KAAA,KAAA,CAAtB,GAAsB,KAAA,CAAtB,GAAsB,EAAA,CAAE,WAAF,CAAc,QAAd,CAAtB;AACD;AACF,KALD;AAMD,GAPD,EAOG,CAAC,QAAD,CAPH;AASA,SAAO,UAAP;AACD,CAhDM","sourceRoot":""}
package/lib/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export * from './context';
2
1
  export * from './FluentProvider';
2
+ export { useFluent, useTheme } from '@fluentui/react-shared-contexts';
package/lib/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export * from './context';
2
1
  export * from './FluentProvider';
2
+ export { useFluent, useTheme } from '@fluentui/react-shared-contexts';
3
3
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC","sourcesContent":["export * from './context';\nexport * from './FluentProvider';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC"}
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.7.1"
8
+ "packageVersion": "7.18.1"
9
9
  }
10
10
  ]
11
11
  }
@@ -1,28 +1 @@
1
- import { PartialTheme, Theme } from '@fluentui/react-theme';
2
- import * as React from 'react';
3
- export interface ProviderProps {
4
- /** Sets the direction of text & generated styles. */
5
- dir?: 'ltr' | 'rtl';
6
- /** Provides the document, can be undefined during SSR render. */
7
- document?: Document | undefined;
8
- theme?: PartialTheme;
9
- }
10
- export interface ProviderState {
11
- dir: 'ltr' | 'rtl';
12
- document: Document | undefined;
13
- theme: Theme;
14
- }
15
- export declare function useFluentProviderState(draftState: ProviderState): void;
16
- export declare function renderFluentProvider(state: ProviderState): JSX.Element;
17
- /**
18
- * Returns the ThemeProvider render function and calculated state, given user input, ref, and
19
- * a set of default prop values.
20
- */
21
- export declare function useFluentProvider(props: ProviderProps, ref: React.Ref<HTMLElement>): {
22
- state: ProviderState;
23
- render: typeof renderFluentProvider;
24
- };
25
- /**
26
- * A React provider that allows to define theme, text direction and context for rendering for children components.
27
- */
28
- export declare const FluentProvider: React.FunctionComponent<ProviderProps>;
1
+ export * from './components/FluentProvider/index';