reso-ui 3.9.0 → 3.10.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.
- package/dist/cjs/components/Banners/Banner/Banner.js.map +1 -1
- package/dist/cjs/components/Drawer/DrawerContent.js +1 -0
- package/dist/cjs/components/Drawer/DrawerContent.js.map +1 -1
- package/dist/cjs/components/Enlarged-Image-Modal/Enlarged-Image-Modal.js +2 -1
- package/dist/cjs/components/Enlarged-Image-Modal/Enlarged-Image-Modal.js.map +1 -1
- package/dist/cjs/components/Nav/Navbar/Navbar.js +1 -0
- package/dist/cjs/components/Nav/Navbar/Navbar.js.map +1 -1
- package/dist/cjs/context/OverlayRegistryContext.js +16 -0
- package/dist/cjs/context/OverlayRegistryContext.js.map +1 -0
- package/dist/cjs/forms/Controls/Dropdown/Dropdown-Select/Dropdown-Select.js +1 -0
- package/dist/cjs/forms/Controls/Dropdown/Dropdown-Select/Dropdown-Select.js.map +1 -1
- package/dist/cjs/hooks/useOverlayRegistration.js +20 -0
- package/dist/cjs/hooks/useOverlayRegistration.js.map +1 -0
- package/dist/cjs/index.js +6 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/providers/OverlayRegistryProvider.js +96 -0
- package/dist/cjs/providers/OverlayRegistryProvider.js.map +1 -0
- package/dist/cjs/providers/ResoUiProvider.js +4 -2
- package/dist/cjs/providers/ResoUiProvider.js.map +1 -1
- package/dist/esm/components/Banners/Banner/Banner.d.ts +1 -0
- package/dist/esm/components/Banners/Banner/Banner.js.map +1 -1
- package/dist/esm/components/Drawer/DrawerContent.js +1 -0
- package/dist/esm/components/Drawer/DrawerContent.js.map +1 -1
- package/dist/esm/components/Enlarged-Image-Modal/Enlarged-Image-Modal.js +2 -1
- package/dist/esm/components/Enlarged-Image-Modal/Enlarged-Image-Modal.js.map +1 -1
- package/dist/esm/components/Nav/Navbar/Navbar.js +1 -0
- package/dist/esm/components/Nav/Navbar/Navbar.js.map +1 -1
- package/dist/esm/context/OverlayRegistryContext.d.ts +18 -0
- package/dist/esm/context/OverlayRegistryContext.js +14 -0
- package/dist/esm/context/OverlayRegistryContext.js.map +1 -0
- package/dist/esm/context/index.d.ts +1 -0
- package/dist/esm/forms/Controls/Dropdown/Dropdown-Select/Dropdown-Select.js +1 -0
- package/dist/esm/forms/Controls/Dropdown/Dropdown-Select/Dropdown-Select.js.map +1 -1
- package/dist/esm/hooks/index.d.ts +1 -0
- package/dist/esm/hooks/useOverlayRegistration.d.ts +9 -0
- package/dist/esm/hooks/useOverlayRegistration.js +18 -0
- package/dist/esm/hooks/useOverlayRegistration.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/providers/OverlayRegistryProvider.d.ts +9 -0
- package/dist/esm/providers/OverlayRegistryProvider.js +94 -0
- package/dist/esm/providers/OverlayRegistryProvider.js.map +1 -0
- package/dist/esm/providers/ResoUiProvider.d.ts +9 -1
- package/dist/esm/providers/ResoUiProvider.js +4 -2
- package/dist/esm/providers/ResoUiProvider.js.map +1 -1
- package/dist/esm/providers/index.d.ts +1 -0
- package/dist/src/library/components/Banners/Banner/Banner.d.ts +1 -0
- package/dist/src/library/components/Dialog/stories/Dialog.stories.d.ts +7 -7
- package/dist/src/library/context/OverlayRegistryContext.d.ts +18 -0
- package/dist/src/library/context/index.d.ts +1 -0
- package/dist/src/library/hooks/__test__/useOverlayRegistration.test.d.ts +1 -0
- package/dist/src/library/hooks/index.d.ts +1 -0
- package/dist/src/library/hooks/useOverlayRegistration.d.ts +9 -0
- package/dist/src/library/providers/OverlayRegistryProvider.d.ts +9 -0
- package/dist/src/library/providers/ResoUiProvider.d.ts +9 -1
- package/dist/src/library/providers/__test__/OverlayRegistryProvider.test.d.ts +1 -0
- package/dist/src/library/providers/index.d.ts +1 -0
- package/dist/src/library/providers/stories/OverlayRegistry.stories.d.ts +44 -0
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -71,6 +71,7 @@ export { useDynamicBodyHeight } from './hooks/useDynamicBodyHeight.js';
|
|
|
71
71
|
export { useComponentWidthHeight } from './hooks/useComponentWidthHeight.js';
|
|
72
72
|
export { useReducedMotion } from './hooks/useReducedMotion.js';
|
|
73
73
|
export { useTheme } from './hooks/useTheme.js';
|
|
74
|
+
export { useOverlayRegistration } from './hooks/useOverlayRegistration.js';
|
|
74
75
|
export { default as AboutIcon } from './icons/svg/about.svg.js';
|
|
75
76
|
export { default as ChevronSingleLeft } from './icons/svg/ChevronSingleLeft.svg.js';
|
|
76
77
|
export { default as ChevronSingleRight } from './icons/svg/ChevronSingleRight.svg.js';
|
|
@@ -99,9 +100,11 @@ export { default as CartIcon } from './icons/svg/cart.svg.js';
|
|
|
99
100
|
export { DefaultTheme } from './interfaces/Theme.js';
|
|
100
101
|
export { ResponsiveContext } from './context/ResponsiveContext.js';
|
|
101
102
|
export { ThemeContext } from './context/ThemeContext.js';
|
|
103
|
+
export { OverlayRegistryContext } from './context/OverlayRegistryContext.js';
|
|
102
104
|
export { ResoUiProvider } from './providers/ResoUiProvider.js';
|
|
103
105
|
export { ResponsiveProvider } from './providers/ResponsiveProvider.js';
|
|
104
106
|
export { ThemeProvider } from './providers/ThemeProvider.js';
|
|
107
|
+
export { OverlayRegistryProvider } from './providers/OverlayRegistryProvider.js';
|
|
105
108
|
export { defaultTheme } from './themes/defaultTheme.js';
|
|
106
109
|
export { darkTheme } from './themes/darkTheme.js';
|
|
107
110
|
export { numberIsLessThan, numberIsMoreThanOrEqualsTo, numberIsPositiveInteger, numberIsRequired, valueIsNumber } from './forms/Validators/Number.js';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface IOverlayRegistryProviderProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
beforeDrawerOpens?: () => Promise<void> | void;
|
|
5
|
+
beforeModalOpens?: () => Promise<void> | void;
|
|
6
|
+
afterDrawerCloses?: () => void;
|
|
7
|
+
afterModalCloses?: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const OverlayRegistryProvider: ({ children, beforeDrawerOpens, beforeModalOpens, afterDrawerCloses, afterModalCloses, }: IOverlayRegistryProviderProps) => React.JSX.Element;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import React__default, { useRef, useState, useCallback } from 'react';
|
|
2
|
+
import { OverlayRegistryContext } from '../context/OverlayRegistryContext.js';
|
|
3
|
+
|
|
4
|
+
const OverlayRegistryProvider = ({ children, beforeDrawerOpens, beforeModalOpens, afterDrawerCloses, afterModalCloses, }) => {
|
|
5
|
+
const registryRef = useRef(new Map());
|
|
6
|
+
const [hasOpenDrawer, setHasOpenDrawer] = useState(false);
|
|
7
|
+
const [hasOpenModal, setHasOpenModal] = useState(false);
|
|
8
|
+
const busyRef = useRef(false);
|
|
9
|
+
const pendingRef = useRef(null);
|
|
10
|
+
const recalculate = useCallback(() => {
|
|
11
|
+
let drawerOpen = false;
|
|
12
|
+
let modalOpen = false;
|
|
13
|
+
registryRef.current.forEach((entry) => {
|
|
14
|
+
const isOpen = entry.getIsOpen();
|
|
15
|
+
if (isOpen && entry.type === "drawer")
|
|
16
|
+
drawerOpen = true;
|
|
17
|
+
if (isOpen && entry.type === "modal")
|
|
18
|
+
modalOpen = true;
|
|
19
|
+
});
|
|
20
|
+
setHasOpenDrawer(drawerOpen);
|
|
21
|
+
setHasOpenModal(modalOpen);
|
|
22
|
+
}, []);
|
|
23
|
+
const register = useCallback((overlay) => {
|
|
24
|
+
registryRef.current.set(overlay.name, overlay);
|
|
25
|
+
recalculate();
|
|
26
|
+
}, [recalculate]);
|
|
27
|
+
const unregister = useCallback((name) => {
|
|
28
|
+
registryRef.current.delete(name);
|
|
29
|
+
recalculate();
|
|
30
|
+
}, [recalculate]);
|
|
31
|
+
const showOverlay = useCallback(async (name) => {
|
|
32
|
+
if (busyRef.current) {
|
|
33
|
+
pendingRef.current = name;
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const entry = registryRef.current.get(name);
|
|
37
|
+
if (!entry)
|
|
38
|
+
return;
|
|
39
|
+
busyRef.current = true;
|
|
40
|
+
if (entry.type === "drawer") {
|
|
41
|
+
registryRef.current.forEach((other) => {
|
|
42
|
+
if (other.type === "drawer" && other.getIsOpen() && other.name !== name) {
|
|
43
|
+
other.hide();
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
if (beforeDrawerOpens) {
|
|
47
|
+
await beforeDrawerOpens();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else if (entry.type === "modal") {
|
|
51
|
+
registryRef.current.forEach((other) => {
|
|
52
|
+
if (other.type === "modal" && other.getIsOpen() && other.name !== name) {
|
|
53
|
+
other.hide();
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
if (beforeModalOpens) {
|
|
57
|
+
await beforeModalOpens();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
entry.show();
|
|
61
|
+
busyRef.current = false;
|
|
62
|
+
if (pendingRef.current) {
|
|
63
|
+
const pending = pendingRef.current;
|
|
64
|
+
pendingRef.current = null;
|
|
65
|
+
// eslint-disable-next-line react-hooks/immutability
|
|
66
|
+
showOverlay(pending);
|
|
67
|
+
}
|
|
68
|
+
}, [beforeDrawerOpens, beforeModalOpens]);
|
|
69
|
+
const hideOverlay = useCallback((name) => {
|
|
70
|
+
const entry = registryRef.current.get(name);
|
|
71
|
+
if (!entry)
|
|
72
|
+
return;
|
|
73
|
+
entry.hide();
|
|
74
|
+
recalculate();
|
|
75
|
+
if (entry.type === "drawer" && afterDrawerCloses) {
|
|
76
|
+
afterDrawerCloses();
|
|
77
|
+
}
|
|
78
|
+
else if (entry.type === "modal" && afterModalCloses) {
|
|
79
|
+
afterModalCloses();
|
|
80
|
+
}
|
|
81
|
+
}, [afterDrawerCloses, afterModalCloses, recalculate]);
|
|
82
|
+
return (React__default.createElement(OverlayRegistryContext.Provider, { value: {
|
|
83
|
+
register,
|
|
84
|
+
unregister,
|
|
85
|
+
notifyChange: recalculate,
|
|
86
|
+
showOverlay,
|
|
87
|
+
hideOverlay,
|
|
88
|
+
hasOpenDrawer,
|
|
89
|
+
hasOpenModal,
|
|
90
|
+
} }, children));
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
export { OverlayRegistryProvider };
|
|
94
|
+
//# sourceMappingURL=OverlayRegistryProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OverlayRegistryProvider.js","sources":["../../../src/library/providers/OverlayRegistryProvider.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import "../styles/global.scss";
|
|
3
|
+
import { IOverlayRegistryProviderProps } from "./OverlayRegistryProvider";
|
|
3
4
|
import { ResoThemeConfig, ThemeMode } from "../types/theme";
|
|
5
|
+
export interface IOverlayConfig {
|
|
6
|
+
beforeDrawerOpens?: IOverlayRegistryProviderProps["beforeDrawerOpens"];
|
|
7
|
+
beforeModalOpens?: IOverlayRegistryProviderProps["beforeModalOpens"];
|
|
8
|
+
afterDrawerCloses?: IOverlayRegistryProviderProps["afterDrawerCloses"];
|
|
9
|
+
afterModalCloses?: IOverlayRegistryProviderProps["afterModalCloses"];
|
|
10
|
+
}
|
|
4
11
|
export interface IResoUiProviderProps {
|
|
5
12
|
children: React.ReactNode;
|
|
6
13
|
theme?: ResoThemeConfig;
|
|
7
14
|
mode?: ThemeMode;
|
|
15
|
+
overlayConfigs?: IOverlayConfig;
|
|
8
16
|
}
|
|
9
|
-
export declare const ResoUiProvider: ({ children, theme, mode }: IResoUiProviderProps) => React.JSX.Element;
|
|
17
|
+
export declare const ResoUiProvider: ({ children, theme, mode, overlayConfigs }: IResoUiProviderProps) => React.JSX.Element;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
2
|
import { ResponsiveProvider } from './ResponsiveProvider.js';
|
|
3
3
|
import { ThemeProvider } from './ThemeProvider.js';
|
|
4
|
+
import { OverlayRegistryProvider } from './OverlayRegistryProvider.js';
|
|
4
5
|
|
|
5
|
-
const ResoUiProvider = ({ children, theme, mode = "light" }) => {
|
|
6
|
+
const ResoUiProvider = ({ children, theme, mode = "light", overlayConfigs }) => {
|
|
6
7
|
return (React__default.createElement(ThemeProvider, { theme: theme, mode: mode },
|
|
7
|
-
React__default.createElement(ResponsiveProvider, null,
|
|
8
|
+
React__default.createElement(ResponsiveProvider, null,
|
|
9
|
+
React__default.createElement(OverlayRegistryProvider, { beforeDrawerOpens: overlayConfigs === null || overlayConfigs === void 0 ? void 0 : overlayConfigs.beforeDrawerOpens, beforeModalOpens: overlayConfigs === null || overlayConfigs === void 0 ? void 0 : overlayConfigs.beforeModalOpens, afterDrawerCloses: overlayConfigs === null || overlayConfigs === void 0 ? void 0 : overlayConfigs.afterDrawerCloses, afterModalCloses: overlayConfigs === null || overlayConfigs === void 0 ? void 0 : overlayConfigs.afterModalCloses }, children))));
|
|
8
10
|
};
|
|
9
11
|
|
|
10
12
|
export { ResoUiProvider };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResoUiProvider.js","sources":["../../../src/library/providers/ResoUiProvider.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ResoUiProvider.js","sources":["../../../src/library/providers/ResoUiProvider.tsx"],"sourcesContent":[null],"names":["React"],"mappings":";;;;;AAqBO,MAAM,cAAc,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,EAAE,cAAc,EAAwB,KAAI;IAC1G,QACEA,cAAA,CAAA,aAAA,CAAC,aAAa,EAAA,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAA;AACrC,QAAAA,cAAA,CAAA,aAAA,CAAC,kBAAkB,EAAA,IAAA;YACjBA,cAAA,CAAA,aAAA,CAAC,uBAAuB,IACtB,iBAAiB,EAAE,cAAc,KAAA,IAAA,IAAd,cAAc,uBAAd,cAAc,CAAE,iBAAiB,EACpD,gBAAgB,EAAE,cAAc,KAAA,IAAA,IAAd,cAAc,KAAA,MAAA,GAAA,MAAA,GAAd,cAAc,CAAE,gBAAgB,EAClD,iBAAiB,EAAE,cAAc,KAAA,IAAA,IAAd,cAAc,KAAA,MAAA,GAAA,MAAA,GAAd,cAAc,CAAE,iBAAiB,EACpD,gBAAgB,EAAE,cAAc,KAAA,IAAA,IAAd,cAAc,KAAA,MAAA,GAAA,MAAA,GAAd,cAAc,CAAE,gBAAgB,EAAA,EAEjD,QAAQ,CACe,CACP,CACP;AAEpB;;;;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import IComponent from "../../../interfaces/IComponent";
|
|
3
3
|
import "./styles/Banner.layout.scss";
|
|
4
|
+
import "./styles/Banner.theme.scss";
|
|
4
5
|
export declare const TRANSITION_DURATION = 250;
|
|
5
6
|
export interface IBannerProps extends IComponent {
|
|
6
7
|
type: "info" | "warning" | "error" | "success";
|
|
@@ -23,15 +23,15 @@ declare const _default: {
|
|
|
23
23
|
okButtonStyles?: React.CSSProperties;
|
|
24
24
|
rootClassName?: string;
|
|
25
25
|
rootStyles?: React.CSSProperties;
|
|
26
|
-
pa?: 0 | 2 | 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
|
|
27
|
-
pv?: 0 | 2 | 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
|
|
28
|
-
ph?: 0 | 2 | 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
|
|
29
|
-
pt?: 0 | 2 | 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
|
|
30
|
-
pb?: 0 | 2 | 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
|
|
31
|
-
pr?: 0 | 2 | 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
|
|
32
|
-
pl?: 0 | 2 | 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
|
|
33
26
|
isOpen: boolean;
|
|
34
27
|
layer?: number;
|
|
28
|
+
pa?: 0 | 2 | 1 | 3 | 4 | 8 | 5 | 6 | 7 | 9;
|
|
29
|
+
pv?: 0 | 2 | 1 | 3 | 4 | 8 | 5 | 6 | 7 | 9;
|
|
30
|
+
ph?: 0 | 2 | 1 | 3 | 4 | 8 | 5 | 6 | 7 | 9;
|
|
31
|
+
pt?: 0 | 2 | 1 | 3 | 4 | 8 | 5 | 6 | 7 | 9;
|
|
32
|
+
pb?: 0 | 2 | 1 | 3 | 4 | 8 | 5 | 6 | 7 | 9;
|
|
33
|
+
pr?: 0 | 2 | 1 | 3 | 4 | 8 | 5 | 6 | 7 | 9;
|
|
34
|
+
pl?: 0 | 2 | 1 | 3 | 4 | 8 | 5 | 6 | 7 | 9;
|
|
35
35
|
}>) => React.JSX.Element)[];
|
|
36
36
|
parameters: {
|
|
37
37
|
docs: {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type OverlayType = "drawer" | "modal" | "dialog";
|
|
2
|
+
export interface OverlayRegistration {
|
|
3
|
+
name: string;
|
|
4
|
+
type: OverlayType;
|
|
5
|
+
getIsOpen: () => boolean;
|
|
6
|
+
show: () => void;
|
|
7
|
+
hide: () => void;
|
|
8
|
+
}
|
|
9
|
+
export interface IOverlayRegistryContext {
|
|
10
|
+
register: (overlay: OverlayRegistration) => void;
|
|
11
|
+
unregister: (name: string) => void;
|
|
12
|
+
notifyChange: () => void;
|
|
13
|
+
showOverlay: (name: string) => void;
|
|
14
|
+
hideOverlay: (name: string) => void;
|
|
15
|
+
hasOpenDrawer: boolean;
|
|
16
|
+
hasOpenModal: boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare const OverlayRegistryContext: import("react").Context<IOverlayRegistryContext>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { OverlayType } from "../context/OverlayRegistryContext";
|
|
2
|
+
export interface UseOverlayRegistrationProps {
|
|
3
|
+
name: string;
|
|
4
|
+
type: OverlayType;
|
|
5
|
+
isOpen: boolean;
|
|
6
|
+
show: () => void;
|
|
7
|
+
hide: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const useOverlayRegistration: ({ name, type, isOpen, show, hide, }: UseOverlayRegistrationProps) => void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface IOverlayRegistryProviderProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
beforeDrawerOpens?: () => Promise<void> | void;
|
|
5
|
+
beforeModalOpens?: () => Promise<void> | void;
|
|
6
|
+
afterDrawerCloses?: () => void;
|
|
7
|
+
afterModalCloses?: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const OverlayRegistryProvider: ({ children, beforeDrawerOpens, beforeModalOpens, afterDrawerCloses, afterModalCloses, }: IOverlayRegistryProviderProps) => React.JSX.Element;
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import "../styles/global.scss";
|
|
3
|
+
import { IOverlayRegistryProviderProps } from "./OverlayRegistryProvider";
|
|
3
4
|
import { ResoThemeConfig, ThemeMode } from "../types/theme";
|
|
5
|
+
export interface IOverlayConfig {
|
|
6
|
+
beforeDrawerOpens?: IOverlayRegistryProviderProps["beforeDrawerOpens"];
|
|
7
|
+
beforeModalOpens?: IOverlayRegistryProviderProps["beforeModalOpens"];
|
|
8
|
+
afterDrawerCloses?: IOverlayRegistryProviderProps["afterDrawerCloses"];
|
|
9
|
+
afterModalCloses?: IOverlayRegistryProviderProps["afterModalCloses"];
|
|
10
|
+
}
|
|
4
11
|
export interface IResoUiProviderProps {
|
|
5
12
|
children: React.ReactNode;
|
|
6
13
|
theme?: ResoThemeConfig;
|
|
7
14
|
mode?: ThemeMode;
|
|
15
|
+
overlayConfigs?: IOverlayConfig;
|
|
8
16
|
}
|
|
9
|
-
export declare const ResoUiProvider: ({ children, theme, mode }: IResoUiProviderProps) => React.JSX.Element;
|
|
17
|
+
export declare const ResoUiProvider: ({ children, theme, mode, overlayConfigs }: IResoUiProviderProps) => React.JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Meta } from "@storybook/react";
|
|
3
|
+
declare const meta: Meta;
|
|
4
|
+
export default meta;
|
|
5
|
+
export declare const ExclusiveDrawers: {
|
|
6
|
+
(): React.JSX.Element;
|
|
7
|
+
parameters: {
|
|
8
|
+
docs: {
|
|
9
|
+
description: {
|
|
10
|
+
story: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export declare const OverlayState: {
|
|
16
|
+
(): React.JSX.Element;
|
|
17
|
+
parameters: {
|
|
18
|
+
docs: {
|
|
19
|
+
description: {
|
|
20
|
+
story: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export declare const RootSetup: {
|
|
26
|
+
(): React.JSX.Element;
|
|
27
|
+
parameters: {
|
|
28
|
+
docs: {
|
|
29
|
+
description: {
|
|
30
|
+
story: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
export declare const WithLifecycleCallbacks: {
|
|
36
|
+
(): React.JSX.Element;
|
|
37
|
+
parameters: {
|
|
38
|
+
docs: {
|
|
39
|
+
description: {
|
|
40
|
+
story: string;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
};
|