@vuu-ui/vuu-popups 0.13.8 → 0.13.10
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/dialog/useDialog.js +96 -0
- package/cjs/dialog/useDialog.js.map +1 -0
- package/cjs/dialog-header/DialogHeader.css.js +6 -0
- package/cjs/dialog-header/DialogHeader.css.js.map +1 -0
- package/cjs/dialog-header/DialogHeader.js +38 -0
- package/cjs/dialog-header/DialogHeader.js.map +1 -0
- package/cjs/index.js +28 -941
- package/cjs/index.js.map +1 -1
- package/cjs/notifications/NotificationsCenter.js +43 -0
- package/cjs/notifications/NotificationsCenter.js.map +1 -0
- package/cjs/notifications/NotificationsProvider.js +46 -0
- package/cjs/notifications/NotificationsProvider.js.map +1 -0
- package/cjs/notifications/ToastNotification.css.js +6 -0
- package/cjs/notifications/ToastNotification.css.js.map +1 -0
- package/cjs/notifications/ToastNotification.js +66 -0
- package/cjs/notifications/ToastNotification.js.map +1 -0
- package/cjs/popup/Popup.css.js +6 -0
- package/cjs/popup/Popup.css.js.map +1 -0
- package/cjs/popup/Popup.js +38 -0
- package/cjs/popup/Popup.js.map +1 -0
- package/cjs/popup/getPositionRelativeToAnchor.js +43 -0
- package/cjs/popup/getPositionRelativeToAnchor.js.map +1 -0
- package/cjs/popup/useAnchoredPosition.js +58 -0
- package/cjs/popup/useAnchoredPosition.js.map +1 -0
- package/cjs/popup-menu/PopupMenu.css.js +6 -0
- package/cjs/popup-menu/PopupMenu.css.js.map +1 -0
- package/cjs/popup-menu/PopupMenu.js +95 -0
- package/cjs/popup-menu/PopupMenu.js.map +1 -0
- package/cjs/popup-menu/usePopupMenu.js +89 -0
- package/cjs/popup-menu/usePopupMenu.js.map +1 -0
- package/cjs/portal/Portal.css.js +6 -0
- package/cjs/portal/Portal.css.js.map +1 -0
- package/cjs/portal/Portal.js +73 -0
- package/cjs/portal/Portal.js.map +1 -0
- package/cjs/prompt/Prompt.css.js +6 -0
- package/cjs/prompt/Prompt.css.js.map +1 -0
- package/cjs/prompt/Prompt.js +83 -0
- package/cjs/prompt/Prompt.js.map +1 -0
- package/cjs/tooltip/Tooltip.css.js +6 -0
- package/cjs/tooltip/Tooltip.css.js.map +1 -0
- package/cjs/tooltip/Tooltip.js +56 -0
- package/cjs/tooltip/Tooltip.js.map +1 -0
- package/cjs/tooltip/useTooltip.js +106 -0
- package/cjs/tooltip/useTooltip.js.map +1 -0
- package/cjs/tooltip/useTooltipAnchoredPosition.js +117 -0
- package/cjs/tooltip/useTooltipAnchoredPosition.js.map +1 -0
- package/esm/dialog/useDialog.js +92 -0
- package/esm/dialog/useDialog.js.map +1 -0
- package/esm/dialog-header/DialogHeader.css.js +4 -0
- package/esm/dialog-header/DialogHeader.css.js.map +1 -0
- package/esm/dialog-header/DialogHeader.js +36 -0
- package/esm/dialog-header/DialogHeader.js.map +1 -0
- package/esm/index.js +11 -928
- package/esm/index.js.map +1 -1
- package/esm/notifications/NotificationsCenter.js +41 -0
- package/esm/notifications/NotificationsCenter.js.map +1 -0
- package/esm/notifications/NotificationsProvider.js +43 -0
- package/esm/notifications/NotificationsProvider.js.map +1 -0
- package/esm/notifications/ToastNotification.css.js +4 -0
- package/esm/notifications/ToastNotification.css.js.map +1 -0
- package/esm/notifications/ToastNotification.js +64 -0
- package/esm/notifications/ToastNotification.js.map +1 -0
- package/esm/popup/Popup.css.js +4 -0
- package/esm/popup/Popup.css.js.map +1 -0
- package/esm/popup/Popup.js +36 -0
- package/esm/popup/Popup.js.map +1 -0
- package/esm/popup/getPositionRelativeToAnchor.js +41 -0
- package/esm/popup/getPositionRelativeToAnchor.js.map +1 -0
- package/esm/popup/useAnchoredPosition.js +56 -0
- package/esm/popup/useAnchoredPosition.js.map +1 -0
- package/esm/popup-menu/PopupMenu.css.js +4 -0
- package/esm/popup-menu/PopupMenu.css.js.map +1 -0
- package/esm/popup-menu/PopupMenu.js +93 -0
- package/esm/popup-menu/PopupMenu.js.map +1 -0
- package/esm/popup-menu/usePopupMenu.js +87 -0
- package/esm/popup-menu/usePopupMenu.js.map +1 -0
- package/esm/portal/Portal.css.js +4 -0
- package/esm/portal/Portal.css.js.map +1 -0
- package/esm/portal/Portal.js +71 -0
- package/esm/portal/Portal.js.map +1 -0
- package/esm/prompt/Prompt.css.js +4 -0
- package/esm/prompt/Prompt.css.js.map +1 -0
- package/esm/prompt/Prompt.js +81 -0
- package/esm/prompt/Prompt.js.map +1 -0
- package/esm/tooltip/Tooltip.css.js +4 -0
- package/esm/tooltip/Tooltip.css.js.map +1 -0
- package/esm/tooltip/Tooltip.js +54 -0
- package/esm/tooltip/Tooltip.js.map +1 -0
- package/esm/tooltip/useTooltip.js +104 -0
- package/esm/tooltip/useTooltip.js.map +1 -0
- package/esm/tooltip/useTooltipAnchoredPosition.js +115 -0
- package/esm/tooltip/useTooltipAnchoredPosition.js.map +1 -0
- package/package.json +6 -6
|
@@ -0,0 +1,96 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDialog.js","sources":["../../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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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var dialogHeaderCss = ".vuuDialogHeader {\n --saltButton-height: 28px;\n --saltButton-width: 28px;\n --saltToolbar-background: transparent;\n --saltToolbar-height: calc(var(--salt-size-base) + 5px);\n --vuuToolbarProxy-height: 22px;\n --salt-text-fontFamily: Nunito Sans A-Variant, sans-serif;\n\n align-items: center;\n display: flex;\n color: var(--light-text-primary, #15171B);\n flex: 0 0 var(--vuuDialogHeader-height, var()--salt-size-base);\n font-feature-settings: 'ss02' on, 'ss01' on, 'salt' on, 'liga' off;\n font-size: 16px;\n font-weight: 600;\n justify-content: space-between;\n}\n \n.vuuDialogHeader > .Responsive-inner {\n align-items: center;\n}\n \n.vuuDialogHeader > .Responsive-inner > :last-child{\n right: 2px;\n}\n \n ";
|
|
4
|
+
|
|
5
|
+
module.exports = dialogHeaderCss;
|
|
6
|
+
//# sourceMappingURL=DialogHeader.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogHeader.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var core = require('@salt-ds/core');
|
|
5
|
+
var styles = require('@salt-ds/styles');
|
|
6
|
+
var window = require('@salt-ds/window');
|
|
7
|
+
var DialogHeader$1 = require('./DialogHeader.css.js');
|
|
8
|
+
|
|
9
|
+
const classBase = "vuuDialogHeader";
|
|
10
|
+
const DialogHeader = ({
|
|
11
|
+
hideCloseButton = false,
|
|
12
|
+
title,
|
|
13
|
+
onClose,
|
|
14
|
+
...htmlAttributes
|
|
15
|
+
}) => {
|
|
16
|
+
const targetWindow = window.useWindow();
|
|
17
|
+
styles.useComponentCssInjection({
|
|
18
|
+
testId: "vuu-dialoh-header",
|
|
19
|
+
css: DialogHeader$1,
|
|
20
|
+
window: targetWindow
|
|
21
|
+
});
|
|
22
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ...htmlAttributes, className: classBase, children: [
|
|
23
|
+
/* @__PURE__ */ jsxRuntime.jsx(core.Text, { className: "dialogHeader", children: title }),
|
|
24
|
+
!hideCloseButton && /* @__PURE__ */ jsxRuntime.jsx(
|
|
25
|
+
core.Button,
|
|
26
|
+
{
|
|
27
|
+
onClick: onClose,
|
|
28
|
+
"data-align": "end",
|
|
29
|
+
"data-icon": "close",
|
|
30
|
+
variant: "secondary"
|
|
31
|
+
},
|
|
32
|
+
"close"
|
|
33
|
+
)
|
|
34
|
+
] });
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
exports.DialogHeader = DialogHeader;
|
|
38
|
+
//# sourceMappingURL=DialogHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogHeader.js","sources":["../../src/dialog-header/DialogHeader.tsx"],"sourcesContent":["import { Button, Text } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { HTMLAttributes } from \"react\";\n\nimport dialogHeaderCss from \"./DialogHeader.css\";\n\nconst classBase = \"vuuDialogHeader\";\n\nexport interface DialogHeaderProps extends HTMLAttributes<HTMLDivElement> {\n hideCloseButton?: boolean;\n onClose: () => void;\n}\n\nexport const DialogHeader = ({\n hideCloseButton = false,\n title,\n onClose,\n ...htmlAttributes\n}: DialogHeaderProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-dialoh-header\",\n css: dialogHeaderCss,\n window: targetWindow,\n });\n\n return (\n <div {...htmlAttributes} className={classBase}>\n <Text className=\"dialogHeader\">{title}</Text>\n {!hideCloseButton && (\n <Button\n key=\"close\"\n onClick={onClose}\n data-align=\"end\"\n data-icon=\"close\"\n variant=\"secondary\"\n />\n )}\n </div>\n );\n};\n"],"names":["useWindow","useComponentCssInjection","dialogHeaderCss","jsxs","jsx","Text","Button"],"mappings":";;;;;;;;AAOA,MAAM,SAAY,GAAA,iBAAA;AAOX,MAAM,eAAe,CAAC;AAAA,EAC3B,eAAkB,GAAA,KAAA;AAAA,EAClB,KAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAG;AACL,CAAyB,KAAA;AACvB,EAAA,MAAM,eAAeA,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,mBAAA;AAAA,IACR,GAAK,EAAAC,cAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAA,uBACGC,eAAA,CAAA,KAAA,EAAA,EAAK,GAAG,cAAA,EAAgB,WAAW,SAClC,EAAA,QAAA,EAAA;AAAA,oBAACC,cAAA,CAAAC,SAAA,EAAA,EAAK,SAAU,EAAA,cAAA,EAAgB,QAAM,EAAA,KAAA,EAAA,CAAA;AAAA,IACrC,CAAC,eACA,oBAAAD,cAAA;AAAA,MAACE,WAAA;AAAA,MAAA;AAAA,QAEC,OAAS,EAAA,OAAA;AAAA,QACT,YAAW,EAAA,KAAA;AAAA,QACX,WAAU,EAAA,OAAA;AAAA,QACV,OAAQ,EAAA;AAAA,OAAA;AAAA,MAJJ;AAAA;AAKN,GAEJ,EAAA,CAAA;AAEJ;;;;"}
|