@vuu-ui/vuu-popups 0.13.32 → 0.13.33
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/cjs/index.js +0 -4
- package/cjs/index.js.map +1 -1
- package/esm/index.js +0 -1
- package/esm/index.js.map +1 -1
- package/package.json +6 -6
- package/types/index.d.ts +0 -1
- package/cjs/dialog/useDialog.js +0 -96
- package/cjs/dialog/useDialog.js.map +0 -1
- package/esm/dialog/useDialog.js +0 -92
- package/esm/dialog/useDialog.js.map +0 -1
- package/types/dialog/index.d.ts +0 -1
- package/types/dialog/useDialog.d.ts +0 -25
package/cjs/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var useDialog = require('./dialog/useDialog.js');
|
|
4
3
|
var Popup = require('./popup/Popup.js');
|
|
5
4
|
var useAnchoredPosition = require('./popup/useAnchoredPosition.js');
|
|
6
5
|
var PopupMenu = require('./popup-menu/PopupMenu.js');
|
|
@@ -12,9 +11,6 @@ var ToastNotification = require('./notifications/ToastNotification.js');
|
|
|
12
11
|
|
|
13
12
|
|
|
14
13
|
|
|
15
|
-
exports.DialogProvider = useDialog.DialogProvider;
|
|
16
|
-
exports.useDialog = useDialog.useDialog;
|
|
17
|
-
exports.useDialogContext = useDialog.useDialogContext;
|
|
18
14
|
exports.PopupComponent = Popup.PopupComponent;
|
|
19
15
|
exports.useAnchoredPosition = useAnchoredPosition.useAnchoredPosition;
|
|
20
16
|
exports.PopupMenu = PopupMenu.PopupMenu;
|
package/cjs/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":";;;;;;;;;;;;;;;;;;;;;"}
|
package/esm/index.js
CHANGED
package/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":";;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.13.
|
|
2
|
+
"version": "0.13.33",
|
|
3
3
|
"description": "VUU popup components - Context Menu, Dialog etc",
|
|
4
4
|
"author": "heswell",
|
|
5
5
|
"license": "Apache-2.0",
|
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
"@salt-ds/core": "1.43.0",
|
|
8
8
|
"@salt-ds/styles": "0.2.1",
|
|
9
9
|
"@salt-ds/window": "0.1.1",
|
|
10
|
-
"@vuu-ui/vuu-context-menu": "0.13.
|
|
11
|
-
"@vuu-ui/vuu-data-types": "0.13.
|
|
12
|
-
"@vuu-ui/vuu-layout": "0.13.
|
|
13
|
-
"@vuu-ui/vuu-utils": "0.13.
|
|
14
|
-
"@vuu-ui/vuu-ui-controls": "0.13.
|
|
10
|
+
"@vuu-ui/vuu-context-menu": "0.13.33",
|
|
11
|
+
"@vuu-ui/vuu-data-types": "0.13.33",
|
|
12
|
+
"@vuu-ui/vuu-layout": "0.13.33",
|
|
13
|
+
"@vuu-ui/vuu-utils": "0.13.33",
|
|
14
|
+
"@vuu-ui/vuu-ui-controls": "0.13.33"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
17
|
"clsx": "^2.0.0",
|
package/types/index.d.ts
CHANGED
package/cjs/dialog/useDialog.js
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var core = require('@salt-ds/core');
|
|
5
|
-
var React = require('react');
|
|
6
|
-
|
|
7
|
-
var __defProp = Object.defineProperty;
|
|
8
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
10
|
-
const useDialog = () => {
|
|
11
|
-
const [dialogState, setDialogState] = React.useState();
|
|
12
|
-
const closeDialog = React.useCallback(() => {
|
|
13
|
-
setDialogState(void 0);
|
|
14
|
-
}, []);
|
|
15
|
-
const handleOpenChange = React.useCallback(
|
|
16
|
-
(open) => {
|
|
17
|
-
if (open !== true) {
|
|
18
|
-
closeDialog();
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
[closeDialog]
|
|
22
|
-
);
|
|
23
|
-
const dialog = dialogState ? /* @__PURE__ */ jsxRuntime.jsxs(core.Dialog, { open: true, onOpenChange: handleOpenChange, children: [
|
|
24
|
-
/* @__PURE__ */ jsxRuntime.jsx(core.DialogHeader, { header: dialogState.title }),
|
|
25
|
-
/* @__PURE__ */ jsxRuntime.jsx(core.DialogContent, { children: dialogState.content }),
|
|
26
|
-
dialogState.hideCloseButton !== true ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
27
|
-
core.DialogCloseButton,
|
|
28
|
-
{
|
|
29
|
-
"data-embedded": true,
|
|
30
|
-
"data-icon": "close",
|
|
31
|
-
onClick: closeDialog
|
|
32
|
-
}
|
|
33
|
-
) : null,
|
|
34
|
-
dialogState.actions ? /* @__PURE__ */ jsxRuntime.jsx(core.DialogActions, { children: dialogState.actions }) : null
|
|
35
|
-
] }) : null;
|
|
36
|
-
return {
|
|
37
|
-
dialog,
|
|
38
|
-
setDialogState
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
const defaultShowDialog = () => {
|
|
42
|
-
console.warn("No DialogProvider in place");
|
|
43
|
-
};
|
|
44
|
-
const defaultCloseDialog = () => {
|
|
45
|
-
console.warn("No DialogProvider in place");
|
|
46
|
-
};
|
|
47
|
-
class DialogContextObject {
|
|
48
|
-
constructor() {
|
|
49
|
-
__publicField(this, "showDialog", defaultShowDialog);
|
|
50
|
-
__publicField(this, "closeDialog", defaultCloseDialog);
|
|
51
|
-
}
|
|
52
|
-
setDialogDispatchers(showDialog, closeDialog) {
|
|
53
|
-
this.showDialog = showDialog;
|
|
54
|
-
this.closeDialog = closeDialog;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
const DialogContext = React.createContext(
|
|
58
|
-
new DialogContextObject()
|
|
59
|
-
);
|
|
60
|
-
const DialogHost = ({ context }) => {
|
|
61
|
-
const { dialog, setDialogState } = useDialog();
|
|
62
|
-
const showDialog = React.useCallback(
|
|
63
|
-
(dialogContent, title, actionButtons, hideCloseButton) => {
|
|
64
|
-
setDialogState({
|
|
65
|
-
actions: actionButtons,
|
|
66
|
-
content: dialogContent,
|
|
67
|
-
title,
|
|
68
|
-
hideCloseButton
|
|
69
|
-
});
|
|
70
|
-
},
|
|
71
|
-
[setDialogState]
|
|
72
|
-
);
|
|
73
|
-
const closeDialog = React.useCallback(() => {
|
|
74
|
-
setDialogState(void 0);
|
|
75
|
-
}, [setDialogState]);
|
|
76
|
-
React.useMemo(() => {
|
|
77
|
-
context.setDialogDispatchers(showDialog, closeDialog);
|
|
78
|
-
}, [closeDialog, context, showDialog]);
|
|
79
|
-
return dialog;
|
|
80
|
-
};
|
|
81
|
-
const DialogProvider = ({ children }) => {
|
|
82
|
-
const context = React.useContext(DialogContext);
|
|
83
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(DialogContext.Provider, { value: context, children: [
|
|
84
|
-
/* @__PURE__ */ jsxRuntime.jsx(DialogHost, { context }),
|
|
85
|
-
children
|
|
86
|
-
] });
|
|
87
|
-
};
|
|
88
|
-
const useDialogContext = () => {
|
|
89
|
-
const { closeDialog, showDialog } = React.useContext(DialogContext);
|
|
90
|
-
return { showDialog, closeDialog };
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
exports.DialogProvider = DialogProvider;
|
|
94
|
-
exports.useDialog = useDialog;
|
|
95
|
-
exports.useDialogContext = useDialogContext;
|
|
96
|
-
//# sourceMappingURL=useDialog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDialog.js","sources":["../../../../packages/vuu-popups/src/dialog/useDialog.tsx"],"sourcesContent":["import {\n Dialog,\n DialogActions,\n DialogCloseButton,\n DialogContent,\n DialogHeader,\n} from \"@salt-ds/core\";\nimport {\n createContext,\n ReactElement,\n ReactNode,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from \"react\";\n\nexport type DialogState = {\n actions?: ReactElement[];\n content: ReactElement;\n title: string;\n hideCloseButton?: boolean;\n};\n\nexport type SetDialog = (dialogState?: DialogState) => void;\n\nexport type ShowDialog = (\n dialogContent: ReactElement,\n title: string,\n dialogActionButtons?: ReactElement[],\n hideCloseButton?: boolean\n) => void;\n\nexport interface DialogContextProps {\n showDialog: ShowDialog;\n closeDialog: () => void;\n setDialogDispatchers: (\n showDialog: ShowDialog,\n closeDialog: () => void\n ) => void;\n}\n\nexport const useDialog = () => {\n const [dialogState, setDialogState] = useState<DialogState>();\n\n const closeDialog = useCallback(() => {\n setDialogState(undefined);\n }, []);\n\n const handleOpenChange = useCallback(\n (open?: boolean) => {\n if (open !== true) {\n closeDialog();\n }\n },\n [closeDialog]\n );\n\n const dialog = dialogState ? (\n <Dialog open={true} onOpenChange={handleOpenChange}>\n <DialogHeader header={dialogState.title} />\n <DialogContent>{dialogState.content}</DialogContent>\n {dialogState.hideCloseButton !== true ? (\n <DialogCloseButton\n data-embedded\n data-icon=\"close\"\n onClick={closeDialog}\n />\n ) : null}\n {dialogState.actions ? (\n <DialogActions>{dialogState.actions}</DialogActions>\n ) : null}\n </Dialog>\n ) : null;\n\n return {\n dialog,\n setDialogState,\n };\n};\n\nconst defaultShowDialog: ShowDialog = () => {\n console.warn(\"No DialogProvider in place\");\n};\nconst defaultCloseDialog = () => {\n console.warn(\"No DialogProvider in place\");\n};\n\nclass DialogContextObject implements DialogContextProps {\n showDialog = defaultShowDialog;\n closeDialog = defaultCloseDialog;\n setDialogDispatchers(showDialog: ShowDialog, closeDialog: () => void) {\n this.showDialog = showDialog;\n this.closeDialog = closeDialog;\n }\n}\n\nconst DialogContext = createContext<DialogContextProps>(\n new DialogContextObject()\n);\n\nconst DialogHost = ({ context }: { context: DialogContextProps }) => {\n const { dialog, setDialogState } = useDialog();\n const showDialog: ShowDialog = useCallback(\n (dialogContent, title, actionButtons, hideCloseButton) => {\n setDialogState({\n actions: actionButtons,\n content: dialogContent,\n title,\n hideCloseButton,\n });\n },\n [setDialogState]\n );\n const closeDialog = useCallback(() => {\n setDialogState(undefined);\n }, [setDialogState]);\n\n useMemo(() => {\n context.setDialogDispatchers(showDialog, closeDialog);\n }, [closeDialog, context, showDialog]);\n return dialog;\n};\n\nexport const DialogProvider = ({ children }: { children: ReactNode }) => {\n const context = useContext(DialogContext);\n return (\n <DialogContext.Provider value={context}>\n <DialogHost context={context} />\n {children}\n </DialogContext.Provider>\n );\n};\n\nexport const useDialogContext = () => {\n const { closeDialog, showDialog } = useContext(DialogContext);\n return { showDialog, closeDialog };\n};\n"],"names":["useState","useCallback","jsxs","Dialog","jsx","DialogHeader","DialogContent","DialogCloseButton","DialogActions","createContext","useMemo","useContext"],"mappings":"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"}
|
package/esm/dialog/useDialog.js
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { Dialog, DialogHeader, DialogContent, DialogCloseButton, DialogActions } from '@salt-ds/core';
|
|
3
|
-
import { createContext, useState, useCallback, useContext, useMemo } from 'react';
|
|
4
|
-
|
|
5
|
-
var __defProp = Object.defineProperty;
|
|
6
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
8
|
-
const useDialog = () => {
|
|
9
|
-
const [dialogState, setDialogState] = useState();
|
|
10
|
-
const closeDialog = useCallback(() => {
|
|
11
|
-
setDialogState(void 0);
|
|
12
|
-
}, []);
|
|
13
|
-
const handleOpenChange = useCallback(
|
|
14
|
-
(open) => {
|
|
15
|
-
if (open !== true) {
|
|
16
|
-
closeDialog();
|
|
17
|
-
}
|
|
18
|
-
},
|
|
19
|
-
[closeDialog]
|
|
20
|
-
);
|
|
21
|
-
const dialog = dialogState ? /* @__PURE__ */ jsxs(Dialog, { open: true, onOpenChange: handleOpenChange, children: [
|
|
22
|
-
/* @__PURE__ */ jsx(DialogHeader, { header: dialogState.title }),
|
|
23
|
-
/* @__PURE__ */ jsx(DialogContent, { children: dialogState.content }),
|
|
24
|
-
dialogState.hideCloseButton !== true ? /* @__PURE__ */ jsx(
|
|
25
|
-
DialogCloseButton,
|
|
26
|
-
{
|
|
27
|
-
"data-embedded": true,
|
|
28
|
-
"data-icon": "close",
|
|
29
|
-
onClick: closeDialog
|
|
30
|
-
}
|
|
31
|
-
) : null,
|
|
32
|
-
dialogState.actions ? /* @__PURE__ */ jsx(DialogActions, { children: dialogState.actions }) : null
|
|
33
|
-
] }) : null;
|
|
34
|
-
return {
|
|
35
|
-
dialog,
|
|
36
|
-
setDialogState
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
const defaultShowDialog = () => {
|
|
40
|
-
console.warn("No DialogProvider in place");
|
|
41
|
-
};
|
|
42
|
-
const defaultCloseDialog = () => {
|
|
43
|
-
console.warn("No DialogProvider in place");
|
|
44
|
-
};
|
|
45
|
-
class DialogContextObject {
|
|
46
|
-
constructor() {
|
|
47
|
-
__publicField(this, "showDialog", defaultShowDialog);
|
|
48
|
-
__publicField(this, "closeDialog", defaultCloseDialog);
|
|
49
|
-
}
|
|
50
|
-
setDialogDispatchers(showDialog, closeDialog) {
|
|
51
|
-
this.showDialog = showDialog;
|
|
52
|
-
this.closeDialog = closeDialog;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
const DialogContext = createContext(
|
|
56
|
-
new DialogContextObject()
|
|
57
|
-
);
|
|
58
|
-
const DialogHost = ({ context }) => {
|
|
59
|
-
const { dialog, setDialogState } = useDialog();
|
|
60
|
-
const showDialog = useCallback(
|
|
61
|
-
(dialogContent, title, actionButtons, hideCloseButton) => {
|
|
62
|
-
setDialogState({
|
|
63
|
-
actions: actionButtons,
|
|
64
|
-
content: dialogContent,
|
|
65
|
-
title,
|
|
66
|
-
hideCloseButton
|
|
67
|
-
});
|
|
68
|
-
},
|
|
69
|
-
[setDialogState]
|
|
70
|
-
);
|
|
71
|
-
const closeDialog = useCallback(() => {
|
|
72
|
-
setDialogState(void 0);
|
|
73
|
-
}, [setDialogState]);
|
|
74
|
-
useMemo(() => {
|
|
75
|
-
context.setDialogDispatchers(showDialog, closeDialog);
|
|
76
|
-
}, [closeDialog, context, showDialog]);
|
|
77
|
-
return dialog;
|
|
78
|
-
};
|
|
79
|
-
const DialogProvider = ({ children }) => {
|
|
80
|
-
const context = useContext(DialogContext);
|
|
81
|
-
return /* @__PURE__ */ jsxs(DialogContext.Provider, { value: context, children: [
|
|
82
|
-
/* @__PURE__ */ jsx(DialogHost, { context }),
|
|
83
|
-
children
|
|
84
|
-
] });
|
|
85
|
-
};
|
|
86
|
-
const useDialogContext = () => {
|
|
87
|
-
const { closeDialog, showDialog } = useContext(DialogContext);
|
|
88
|
-
return { showDialog, closeDialog };
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
export { DialogProvider, useDialog, useDialogContext };
|
|
92
|
-
//# sourceMappingURL=useDialog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDialog.js","sources":["../../../../packages/vuu-popups/src/dialog/useDialog.tsx"],"sourcesContent":["import {\n Dialog,\n DialogActions,\n DialogCloseButton,\n DialogContent,\n DialogHeader,\n} from \"@salt-ds/core\";\nimport {\n createContext,\n ReactElement,\n ReactNode,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from \"react\";\n\nexport type DialogState = {\n actions?: ReactElement[];\n content: ReactElement;\n title: string;\n hideCloseButton?: boolean;\n};\n\nexport type SetDialog = (dialogState?: DialogState) => void;\n\nexport type ShowDialog = (\n dialogContent: ReactElement,\n title: string,\n dialogActionButtons?: ReactElement[],\n hideCloseButton?: boolean\n) => void;\n\nexport interface DialogContextProps {\n showDialog: ShowDialog;\n closeDialog: () => void;\n setDialogDispatchers: (\n showDialog: ShowDialog,\n closeDialog: () => void\n ) => void;\n}\n\nexport const useDialog = () => {\n const [dialogState, setDialogState] = useState<DialogState>();\n\n const closeDialog = useCallback(() => {\n setDialogState(undefined);\n }, []);\n\n const handleOpenChange = useCallback(\n (open?: boolean) => {\n if (open !== true) {\n closeDialog();\n }\n },\n [closeDialog]\n );\n\n const dialog = dialogState ? (\n <Dialog open={true} onOpenChange={handleOpenChange}>\n <DialogHeader header={dialogState.title} />\n <DialogContent>{dialogState.content}</DialogContent>\n {dialogState.hideCloseButton !== true ? (\n <DialogCloseButton\n data-embedded\n data-icon=\"close\"\n onClick={closeDialog}\n />\n ) : null}\n {dialogState.actions ? (\n <DialogActions>{dialogState.actions}</DialogActions>\n ) : null}\n </Dialog>\n ) : null;\n\n return {\n dialog,\n setDialogState,\n };\n};\n\nconst defaultShowDialog: ShowDialog = () => {\n console.warn(\"No DialogProvider in place\");\n};\nconst defaultCloseDialog = () => {\n console.warn(\"No DialogProvider in place\");\n};\n\nclass DialogContextObject implements DialogContextProps {\n showDialog = defaultShowDialog;\n closeDialog = defaultCloseDialog;\n setDialogDispatchers(showDialog: ShowDialog, closeDialog: () => void) {\n this.showDialog = showDialog;\n this.closeDialog = closeDialog;\n }\n}\n\nconst DialogContext = createContext<DialogContextProps>(\n new DialogContextObject()\n);\n\nconst DialogHost = ({ context }: { context: DialogContextProps }) => {\n const { dialog, setDialogState } = useDialog();\n const showDialog: ShowDialog = useCallback(\n (dialogContent, title, actionButtons, hideCloseButton) => {\n setDialogState({\n actions: actionButtons,\n content: dialogContent,\n title,\n hideCloseButton,\n });\n },\n [setDialogState]\n );\n const closeDialog = useCallback(() => {\n setDialogState(undefined);\n }, [setDialogState]);\n\n useMemo(() => {\n context.setDialogDispatchers(showDialog, closeDialog);\n }, [closeDialog, context, showDialog]);\n return dialog;\n};\n\nexport const DialogProvider = ({ children }: { children: ReactNode }) => {\n const context = useContext(DialogContext);\n return (\n <DialogContext.Provider value={context}>\n <DialogHost context={context} />\n {children}\n </DialogContext.Provider>\n );\n};\n\nexport const useDialogContext = () => {\n const { closeDialog, showDialog } = useContext(DialogContext);\n return { showDialog, closeDialog };\n};\n"],"names":[],"mappings":"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"}
|
package/types/dialog/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./useDialog";
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ReactElement, ReactNode } from "react";
|
|
2
|
-
export type DialogState = {
|
|
3
|
-
actions?: ReactElement[];
|
|
4
|
-
content: ReactElement;
|
|
5
|
-
title: string;
|
|
6
|
-
hideCloseButton?: boolean;
|
|
7
|
-
};
|
|
8
|
-
export type SetDialog = (dialogState?: DialogState) => void;
|
|
9
|
-
export type ShowDialog = (dialogContent: ReactElement, title: string, dialogActionButtons?: ReactElement[], hideCloseButton?: boolean) => void;
|
|
10
|
-
export interface DialogContextProps {
|
|
11
|
-
showDialog: ShowDialog;
|
|
12
|
-
closeDialog: () => void;
|
|
13
|
-
setDialogDispatchers: (showDialog: ShowDialog, closeDialog: () => void) => void;
|
|
14
|
-
}
|
|
15
|
-
export declare const useDialog: () => {
|
|
16
|
-
dialog: import("react/jsx-runtime").JSX.Element | null;
|
|
17
|
-
setDialogState: import("react").Dispatch<import("react").SetStateAction<DialogState | undefined>>;
|
|
18
|
-
};
|
|
19
|
-
export declare const DialogProvider: ({ children }: {
|
|
20
|
-
children: ReactNode;
|
|
21
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
|
22
|
-
export declare const useDialogContext: () => {
|
|
23
|
-
showDialog: ShowDialog;
|
|
24
|
-
closeDialog: () => void;
|
|
25
|
-
};
|