@gorilla-engine-sdk/ge-dialogs-lib 0.5.7

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 (47) hide show
  1. package/LICENSE.md +64 -0
  2. package/README.md +376 -0
  3. package/dist/Dialogs.d.ts +8 -0
  4. package/dist/Dialogs.js +51 -0
  5. package/dist/DialogsStyleState.d.ts +127 -0
  6. package/dist/DialogsStyleState.js +97 -0
  7. package/dist/ErrorBoundary.d.ts +13 -0
  8. package/dist/ErrorBoundary.js +58 -0
  9. package/dist/dialogsDefaultStyle.d.ts +2 -0
  10. package/dist/dialogsDefaultStyle.js +87 -0
  11. package/dist/index.d.ts +13 -0
  12. package/dist/index.js +32 -0
  13. package/dist/modals/MessageModal.d.ts +7 -0
  14. package/dist/modals/MessageModal.js +55 -0
  15. package/dist/modals/ModalContext.d.ts +18 -0
  16. package/dist/modals/ModalContext.js +52 -0
  17. package/dist/modals/ModalProvider.d.ts +25 -0
  18. package/dist/modals/ModalProvider.js +75 -0
  19. package/dist/modals/ModalRoot.d.ts +30 -0
  20. package/dist/modals/ModalRoot.js +64 -0
  21. package/dist/modals/components/FooterButtons.d.ts +15 -0
  22. package/dist/modals/components/FooterButtons.js +59 -0
  23. package/dist/modals/components/Modal.d.ts +27 -0
  24. package/dist/modals/components/Modal.js +124 -0
  25. package/dist/modals/useModal.d.ts +12 -0
  26. package/dist/modals/useModal.js +55 -0
  27. package/dist/notifications/DefaultNotification.d.ts +10 -0
  28. package/dist/notifications/DefaultNotification.js +87 -0
  29. package/dist/notifications/NotificationContext.d.ts +18 -0
  30. package/dist/notifications/NotificationContext.js +52 -0
  31. package/dist/notifications/NotificationProvider.d.ts +17 -0
  32. package/dist/notifications/NotificationProvider.js +73 -0
  33. package/dist/notifications/NotificationRoot.d.ts +30 -0
  34. package/dist/notifications/NotificationRoot.js +71 -0
  35. package/dist/notifications/useNotification.d.ts +19 -0
  36. package/dist/notifications/useNotification.js +98 -0
  37. package/dist/tooltips/DefaultToolTip.d.ts +9 -0
  38. package/dist/tooltips/DefaultToolTip.js +119 -0
  39. package/dist/tooltips/ToolTipContext.d.ts +18 -0
  40. package/dist/tooltips/ToolTipContext.js +52 -0
  41. package/dist/tooltips/ToolTipProvider.d.ts +25 -0
  42. package/dist/tooltips/ToolTipProvider.js +92 -0
  43. package/dist/tooltips/ToolTipRoot.d.ts +30 -0
  44. package/dist/tooltips/ToolTipRoot.js +61 -0
  45. package/dist/tooltips/useToolTip.d.ts +14 -0
  46. package/dist/tooltips/useToolTip.js +102 -0
  47. package/package.json +44 -0
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.NotificationProvider = void 0;
37
+ const react_1 = require("react");
38
+ const React = __importStar(require("react"));
39
+ const NotificationContext_1 = require("./NotificationContext");
40
+ const NotificationRoot_1 = require("./NotificationRoot");
41
+ const DialogsStyleState_1 = require("../DialogsStyleState");
42
+ const __1 = require("..");
43
+ /**
44
+ * Notification Provider
45
+ *
46
+ * Provides Notification context and renders NotificationRoot.
47
+ */
48
+ const NotificationProvider = ({ styleState, children, }) => {
49
+ const [Notifications, setNotifications] = (0, react_1.useState)({});
50
+ const state = (0, DialogsStyleState_1.useDialogsStylesState)();
51
+ const showNotification = (0, react_1.useCallback)((key, Notification) => setNotifications((Notifications) => ({
52
+ ...Notifications,
53
+ [key]: Notification,
54
+ })), []);
55
+ const hideNotification = (0, react_1.useCallback)((key) => setNotifications((Notifications) => {
56
+ if (!Notifications[key]) {
57
+ return Notifications;
58
+ }
59
+ const newNotifications = { ...Notifications };
60
+ delete newNotifications[key];
61
+ return newNotifications;
62
+ }), []);
63
+ const contextValue = (0, react_1.useMemo)(() => ({ showNotification, hideNotification, styleState }), []);
64
+ React.useEffect(() => {
65
+ console.debug(`${__1.GE_DIALOGS_LIB} NotificationProvider: useEffect []`);
66
+ }, []);
67
+ return (React.createElement(NotificationContext_1.NotificationContext.Provider, { value: contextValue },
68
+ React.createElement("geLabel", { width: state.pluginWidth, height: state.pluginHeight, interceptsMouseClicks: false }, children),
69
+ React.createElement("geLabel", { width: state.pluginWidth, height: state.pluginHeight, interceptsMouseClicks: false },
70
+ React.createElement(NotificationRoot_1.NotificationRoot, { Notifications: Notifications }))));
71
+ };
72
+ exports.NotificationProvider = NotificationProvider;
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpY2F0aW9uUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Qcm92aWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaUNBQXVEO0FBQ3ZELDZDQUErQjtBQUMvQiwrREFBOEU7QUFDOUUseURBQXNEO0FBQ3RELDREQUE2RDtBQUM3RCwwQkFBb0M7QUFhcEM7Ozs7R0FJRztBQUNJLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxFQUNuQyxVQUFVLEVBQ1YsUUFBUSxHQUNrQixFQUFFLEVBQUU7SUFDOUIsTUFBTSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLElBQUEsZ0JBQVEsRUFFaEQsRUFBRSxDQUFDLENBQUM7SUFFTixNQUFNLEtBQUssR0FBRyxJQUFBLHlDQUFxQixHQUFFLENBQUM7SUFFdEMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLG1CQUFXLEVBQ2xDLENBQUMsR0FBVyxFQUFFLFlBQThCLEVBQUUsRUFBRSxDQUM5QyxnQkFBZ0IsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuQyxHQUFHLGFBQWE7UUFDaEIsQ0FBQyxHQUFHLENBQUMsRUFBRSxZQUFZO0tBQ3BCLENBQUMsQ0FBQyxFQUNMLEVBQUUsQ0FDSCxDQUFDO0lBRUYsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLG1CQUFXLEVBQ2xDLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FDZCxnQkFBZ0IsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFO1FBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4QixPQUFPLGFBQWEsQ0FBQztRQUN2QixDQUFDO1FBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFDOUMsT0FBTyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUMsQ0FBQyxFQUNKLEVBQUUsQ0FDSCxDQUFDO0lBRUYsTUFBTSxZQUFZLEdBQUcsSUFBQSxlQUFPLEVBQzFCLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUMxRCxFQUFFLENBQ0gsQ0FBQztJQUVGLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxrQkFBYyxxQ0FBcUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVQLE9BQU8sQ0FDTCxvQkFBQyx5Q0FBbUIsQ0FBQyxRQUFRLElBQUMsS0FBSyxFQUFFLFlBQVk7UUFDL0MsaUNBQ0UsS0FBSyxFQUFFLEtBQUssQ0FBQyxXQUFXLEVBQ3hCLE1BQU0sRUFBRSxLQUFLLENBQUMsWUFBWSxFQUMxQixxQkFBcUIsRUFBRSxLQUFLLElBRTNCLFFBQVEsQ0FDRDtRQUNWLGlDQUNFLEtBQUssRUFBRSxLQUFLLENBQUMsV0FBVyxFQUN4QixNQUFNLEVBQUUsS0FBSyxDQUFDLFlBQVksRUFDMUIscUJBQXFCLEVBQUUsS0FBSztZQUU1QixvQkFBQyxtQ0FBZ0IsSUFBQyxhQUFhLEVBQUUsYUFBYSxHQUFJLENBQzFDLENBQ21CLENBQ2hDLENBQUM7QUFDSixDQUFDLENBQUM7QUEzRFcsUUFBQSxvQkFBb0Isd0JBMkQvQiJ9
@@ -0,0 +1,30 @@
1
+ import * as React from "react";
2
+ import { NotificationType } from "./NotificationContext";
3
+ /**
4
+ * Notification Root Props
5
+ */
6
+ interface NotificationRootProps {
7
+ /**
8
+ * Map of Notification instances associated by unique ids
9
+ */
10
+ Notifications: Record<string, NotificationType>;
11
+ /**
12
+ * Container component for Notifications
13
+ *
14
+ * Notifications will be rendered as children of this component. React.Fragment is
15
+ * used by defualt, specifying a different component can change the way Notifications
16
+ * are rendered across the whole application.
17
+ */
18
+ component?: React.ComponentType<any>;
19
+ /**
20
+ * Specifies the root element to render Notifications into
21
+ */
22
+ container?: Element;
23
+ }
24
+ /**
25
+ * Notification Root
26
+ *
27
+ * Renders Notifications using react portal.
28
+ */
29
+ export declare const NotificationRoot: React.MemoExoticComponent<({ Notifications, component: RootComponent, }: NotificationRootProps) => React.JSX.Element>;
30
+ export {};
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.NotificationRoot = void 0;
37
+ const react_1 = require("react");
38
+ const React = __importStar(require("react"));
39
+ const DialogsStyleState_1 = require("../DialogsStyleState");
40
+ const __1 = require("..");
41
+ /**
42
+ * Component responsible for rendering the Notification.
43
+ *
44
+ * The identity of `Component` may change dependeing on the inputs passed to
45
+ * `useNotification`. If we simply rendered `<Component />` then the Notification would be
46
+ * susceptible to rerenders whenever one of the inputs change.
47
+ */
48
+ const NotificationRenderer = (0, react_1.memo)(({ component, width, height, ...rest }) => {
49
+ console.log(`${__1.GE_DIALOGS_LIB} NotificationRenderer w: ${width} h: ${height}`);
50
+ const c = component(rest);
51
+ const comp = React.cloneElement(c, rest);
52
+ return React.createElement(React.Fragment, null, comp);
53
+ });
54
+ /**
55
+ * Notification Root
56
+ *
57
+ * Renders Notifications using react portal.
58
+ */
59
+ exports.NotificationRoot = (0, react_1.memo)(({ Notifications, component: RootComponent = React.Fragment, }) => {
60
+ //const [mountNode, setMountNode] = useState<Element | undefined>(undefined);
61
+ const stylesState = (0, DialogsStyleState_1.useDialogsStylesState)();
62
+ return (React.createElement(RootComponent, null, Object.keys(Notifications).map((key, index) => {
63
+ const args = {};
64
+ if (stylesState.stackNotifications) {
65
+ args["x"] = 100;
66
+ args["y"] = index * 50 + 10;
67
+ }
68
+ return (React.createElement(NotificationRenderer, { key: key, component: Notifications[key], width: stylesState.pluginWidth, height: stylesState.pluginHeight, ...args }));
69
+ })));
70
+ });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpY2F0aW9uUm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblJvb3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlDQUFrRDtBQUNsRCw2Q0FBK0I7QUFFL0IsNERBQWdGO0FBQ2hGLDBCQUFvQztBQXNDcEM7Ozs7OztHQU1HO0FBQ0gsTUFBTSxvQkFBb0IsR0FBRyxJQUFBLFlBQUksRUFDL0IsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxFQUE2QixFQUFFLEVBQUU7SUFDbkUsT0FBTyxDQUFDLEdBQUcsQ0FDVCxHQUFHLGtCQUFjLDRCQUE0QixLQUFLLE9BQU8sTUFBTSxFQUFFLENBQ2xFLENBQUM7SUFFRixNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUE0QixFQUFFLElBQUksQ0FBQyxDQUFDO0lBRXBFLE9BQU8sMENBQUcsSUFBSSxDQUFJLENBQUM7QUFDckIsQ0FBQyxDQUNGLENBQUM7QUFFRjs7OztHQUlHO0FBQ1UsUUFBQSxnQkFBZ0IsR0FBRyxJQUFBLFlBQUksRUFDbEMsQ0FBQyxFQUNDLGFBQWEsRUFDYixTQUFTLEVBQUUsYUFBYSxHQUFHLEtBQUssQ0FBQyxRQUFRLEdBQ25CLEVBQUUsRUFBRTtJQUMxQiw2RUFBNkU7SUFDN0UsTUFBTSxXQUFXLEdBQXNCLElBQUEseUNBQXFCLEdBQUUsQ0FBQztJQUUvRCxPQUFPLENBQ0wsb0JBQUMsYUFBYSxRQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQzdDLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQzlCLENBQUM7UUFDRCxPQUFPLENBQ0wsb0JBQUMsb0JBQW9CLElBQ25CLEdBQUcsRUFBRSxHQUFHLEVBQ1IsU0FBUyxFQUFFLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFDN0IsS0FBSyxFQUFFLFdBQVcsQ0FBQyxXQUFXLEVBQzlCLE1BQU0sRUFBRSxXQUFXLENBQUMsWUFBWSxLQUM1QixJQUFJLEdBQ1IsQ0FDSCxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQ1ksQ0FDakIsQ0FBQztBQUNKLENBQUMsQ0FDRixDQUFDIn0=
@@ -0,0 +1,19 @@
1
+ import { NotificationsStyle } from '../DialogsStyleState';
2
+ /**
3
+ * Callback types provided for descriptive type-hints
4
+ */
5
+ type ShowNotificationConfig = {
6
+ message: string;
7
+ notificationStyle?: NotificationsStyle;
8
+ key?: string | number;
9
+ };
10
+ type ShowNotification = (config: ShowNotificationConfig) => void;
11
+ type HideNotification = (extKey?: string) => void;
12
+ /**
13
+ * React hook for showing Notification windows
14
+ */
15
+ export type UseNotificationProps = {
16
+ notificationStyle?: NotificationsStyle;
17
+ };
18
+ export declare const useNotification: (props?: UseNotificationProps) => [ShowNotification, HideNotification];
19
+ export {};
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.useNotification = void 0;
40
+ const React = __importStar(require("react"));
41
+ const react_1 = require("react");
42
+ const NotificationContext_1 = require("./NotificationContext");
43
+ const DefaultNotification_1 = __importDefault(require("./DefaultNotification"));
44
+ const DialogsStyleState_1 = require("../DialogsStyleState");
45
+ const dialogsDefaultStyle_1 = require("../dialogsDefaultStyle");
46
+ /**
47
+ * Utility function to generate unique number per component instance
48
+ */
49
+ const generateNotificationKey = (() => {
50
+ let count = 0;
51
+ return () => `${++count}`;
52
+ })();
53
+ /**
54
+ * Check whether the argument is a stateless component.
55
+ *
56
+ * We take advantage of the stateless nature of functional components to be
57
+ * inline the rendering of the Notification component as part of another immutable
58
+ * component.
59
+ *
60
+ * This is necessary for allowing the Notification to update based on the inputs passed
61
+ * as the second argument to useNotification without unmounting the previous version of
62
+ * the Notification component.
63
+ */
64
+ const isFunctionalComponent = (Component) => {
65
+ const prototype = Component.prototype;
66
+ return !prototype || !prototype.isReactComponent;
67
+ };
68
+ let hideNotificationInterval = {};
69
+ const useNotification = (props) => {
70
+ const key = (0, react_1.useMemo)(generateNotificationKey, []);
71
+ const stylesState = (0, DialogsStyleState_1.useDialogsStylesState)();
72
+ const context = (0, react_1.useContext)(NotificationContext_1.NotificationContext);
73
+ const duration = (0, react_1.useMemo)(() => {
74
+ const notificationStyle = stylesState.notification ?? dialogsDefaultStyle_1.dialogsDefaultStyle.notification;
75
+ return notificationStyle.duration ? notificationStyle.duration : 2500;
76
+ }, [stylesState.notification]);
77
+ const showNotification = (config) => {
78
+ const k = Date.now().toString(); //config.key ? Date.now().toString() : key;
79
+ if (hideNotificationInterval[k]) {
80
+ clearInterval(hideNotificationInterval[k]);
81
+ delete hideNotificationInterval[k];
82
+ }
83
+ const c = () => (React.createElement(DefaultNotification_1.default, { message: config.message, notificationStyle: config.notificationStyle ? config.notificationStyle : props?.notificationStyle }));
84
+ context.showNotification(k, c);
85
+ hideNotificationInterval[k] = setInterval(() => {
86
+ clearInterval(hideNotificationInterval[k]);
87
+ //if (config.key) hideNotification(k);
88
+ //else hideNotification();
89
+ hideNotification(k);
90
+ }, duration);
91
+ };
92
+ const hideNotification = (extKey) => {
93
+ context.hideNotification(extKey ? extKey : key);
94
+ };
95
+ return [showNotification, hideNotification];
96
+ };
97
+ exports.useNotification = useNotification;
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlTm90aWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25vdGlmaWNhdGlvbnMvdXNlTm90aWZpY2F0aW9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBK0I7QUFFL0IsaUNBQThGO0FBQzlGLCtEQUE4RTtBQUM5RSxnRkFBd0Q7QUFDeEQsNERBQW9HO0FBQ3BHLGdFQUE2RDtBQWE3RDs7R0FFRztBQUNILE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7SUFDcEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBRWQsT0FBTyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDNUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUVMOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLENBQUMsU0FBbUIsRUFBRSxFQUFFO0lBQ3BELE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUM7SUFFdEMsT0FBTyxDQUFDLFNBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQztBQUNuRCxDQUFDLENBQUM7QUFhRixJQUFJLHdCQUF3QixHQUFXLEVBQUUsQ0FBQztBQUVuQyxNQUFNLGVBQWUsR0FBRyxDQUM3QixLQUE0QixFQUNVLEVBQUU7SUFDeEMsTUFBTSxHQUFHLEdBQUcsSUFBQSxlQUFPLEVBQUMsdUJBQXVCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFakQsTUFBTSxXQUFXLEdBQXNCLElBQUEseUNBQXFCLEdBQUUsQ0FBQztJQUMvRCxNQUFNLE9BQU8sR0FBRyxJQUFBLGtCQUFVLEVBQUMseUNBQW1CLENBQUMsQ0FBQztJQUVoRCxNQUFNLFFBQVEsR0FBRyxJQUFBLGVBQU8sRUFBQyxHQUFHLEVBQUU7UUFDNUIsTUFBTSxpQkFBaUIsR0FBRyxXQUFXLENBQUMsWUFBWSxJQUFJLHlDQUFtQixDQUFDLFlBQWEsQ0FBQztRQUN4RixPQUFPLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFFL0IsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQThCLEVBQUUsRUFBRTtRQUMxRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQywyQ0FBMkM7UUFDNUUsSUFBSSx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2hDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNDLE9BQU8sd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUNELE1BQU0sQ0FBQyxHQUFxQixHQUFHLEVBQUUsQ0FBQyxDQUNoQyxvQkFBQyw2QkFBbUIsSUFDbEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQ3ZCLGlCQUFpQixFQUNmLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLEdBRWhGLENBQ0gsQ0FBQztRQUNGLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFL0Isd0JBQXdCLENBQUMsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUM3QyxhQUFhLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQyxzQ0FBc0M7WUFDdEMsMEJBQTBCO1lBQzFCLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNmLENBQUMsQ0FBQztJQUVGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtRQUMzQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELENBQUMsQ0FBQztJQUVGLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQztBQTFDVyxRQUFBLGVBQWUsbUJBMEMxQiJ9
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import { ToolTipsStyle } from '../DialogsStyleState';
3
+ type DefaultToolTipProps = {
4
+ component: any;
5
+ id: string;
6
+ toolTipStyle?: ToolTipsStyle;
7
+ };
8
+ declare function DefaultToolTip(props: DefaultToolTipProps): React.JSX.Element;
9
+ export default DefaultToolTip;
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const React = __importStar(require("react"));
37
+ const react_1 = require("react");
38
+ const ErrorBoundary_1 = require("../ErrorBoundary");
39
+ const DialogsStyleState_1 = require("../DialogsStyleState");
40
+ const dialogsDefaultStyle_1 = require("../dialogsDefaultStyle");
41
+ function DefaultToolTip(props) {
42
+ const stylesState = (0, DialogsStyleState_1.useDialogsStylesState)();
43
+ const toolTipStyle = React.useMemo(() => props.toolTipStyle ?? stylesState.toolTip ?? dialogsDefaultStyle_1.dialogsDefaultStyle.toolTip, [props.toolTipStyle, stylesState.toolTip]);
44
+ const [compProps] = (0, react_1.useState)(getAbsoultCoordinates(props.component));
45
+ const defaultWidth = 150;
46
+ const [width, setWidth] = (0, react_1.useState)(defaultWidth);
47
+ const [height, setHeight] = (0, react_1.useState)(toolTipStyle.container.height ? toolTipStyle.container.height : 40);
48
+ const [visible, setVisible] = (0, react_1.useState)(false);
49
+ const [xPos, setXPos] = (0, react_1.useState)(0);
50
+ const [yPos, setYPos] = (0, react_1.useState)(0);
51
+ /*const xPos =
52
+ */
53
+ (0, react_1.useEffect)(() => {
54
+ let mounted = true;
55
+ const calcText = async () => {
56
+ const textWidth = await GorillaEngine.calculateTextWidth(props.id, '', 13, 0);
57
+ return textWidth;
58
+ };
59
+ calcText().then((textWidth) => {
60
+ const w = textWidth + 40;
61
+ setWidth(w);
62
+ calculateXPos(w);
63
+ calculateYPos();
64
+ setVisible(true);
65
+ });
66
+ return () => {
67
+ mounted = false;
68
+ };
69
+ }, []);
70
+ const calculateXPos = (ttWidth) => {
71
+ let pos = compProps.width > ttWidth
72
+ ? Math.round(compProps.x + (compProps.width - ttWidth) / 2)
73
+ : Math.round(compProps.x - (ttWidth - compProps.width) / 2);
74
+ if (pos < 0) {
75
+ pos = 10;
76
+ }
77
+ if (pos + ttWidth > compProps.viewPortWidth) {
78
+ pos = compProps.viewPortWidth - ttWidth - 10;
79
+ }
80
+ setXPos(pos);
81
+ };
82
+ const calculateYPos = () => {
83
+ let pos = compProps.y + compProps.height + 5;
84
+ if (pos + height > stylesState.pluginHeight) {
85
+ pos = compProps.y - height - 5;
86
+ }
87
+ setYPos(pos);
88
+ };
89
+ return (React.createElement(React.Fragment, null,
90
+ React.createElement(ErrorBoundary_1.ErrorBoundary, null,
91
+ React.createElement("geLabel", { x: xPos, y: yPos, width: width, height: height, visible: visible, ...toolTipStyle.container },
92
+ React.createElement("geLabel", { ...toolTipStyle.label, x: 0, y: 0, width: width, height: height, text: props.id })))));
93
+ }
94
+ exports.default = DefaultToolTip;
95
+ const getAbsoultCoordinates = (component) => {
96
+ const comp = component._nativeHandle ? component._nativeHandle : component;
97
+ const coordinates = {
98
+ x: 0,
99
+ y: 0,
100
+ width: comp.width,
101
+ height: comp.height,
102
+ viewPortWidth: 0,
103
+ viewPortHeight: 0,
104
+ };
105
+ const iterateUp = (c) => {
106
+ coordinates.x += c.x ? c.x : 0;
107
+ coordinates.y += c.y ? c.y : 0;
108
+ if (c.parent) {
109
+ iterateUp(c.parent);
110
+ }
111
+ else {
112
+ coordinates.viewPortWidth = c.width;
113
+ coordinates.viewPortHeight = c.height;
114
+ }
115
+ };
116
+ iterateUp(comp);
117
+ return coordinates;
118
+ };
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdFRvb2xUaXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbHRpcHMvRGVmYXVsdFRvb2xUaXAudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQStCO0FBRS9CLGlDQUE0QztBQUM1QyxvREFBaUQ7QUFDakQsNERBQStGO0FBQy9GLGdFQUE2RDtBQVE3RCxTQUFTLGNBQWMsQ0FBQyxLQUEwQjtJQUNoRCxNQUFNLFdBQVcsR0FBc0IsSUFBQSx5Q0FBcUIsR0FBRSxDQUFDO0lBQy9ELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQ2hDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksV0FBVyxDQUFDLE9BQU8sSUFBSSx5Q0FBbUIsQ0FBQyxPQUFRLEVBQy9FLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQzFDLENBQUM7SUFFRixNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBQSxnQkFBUSxFQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBRXJFLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQztJQUV6QixNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxHQUFHLElBQUEsZ0JBQVEsRUFBQyxZQUFZLENBQUMsQ0FBQztJQUNqRCxNQUFNLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLElBQUEsZ0JBQVEsRUFDbEMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ25FLENBQUM7SUFDRixNQUFNLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxHQUFHLElBQUEsZ0JBQVEsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxN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
@@ -0,0 +1,18 @@
1
+ import * as React from "react";
2
+ /**
3
+ * ToolTips are represented as react components
4
+ *
5
+ * This is what gets passed to useToolTip as the first argument.
6
+ */
7
+ export type ToolTipType = React.FunctionComponent<any>;
8
+ /**
9
+ * The shape of the ToolTip context
10
+ */
11
+ export interface ToolTipContextType {
12
+ showToolTip(key: string, component: ToolTipType): void;
13
+ hideToolTip(key: string): void;
14
+ }
15
+ /**
16
+ * ToolTip Context Object
17
+ */
18
+ export declare const ToolTipContext: React.Context<ToolTipContextType>;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ToolTipContext = void 0;
37
+ const React = __importStar(require("react"));
38
+ /**
39
+ * Throw error when ToolTipContext is used outside of context provider
40
+ */
41
+ const invariantViolation = () => {
42
+ throw new Error("Attempted to call useToolTip outside of ToolTip context. Make sure your app is rendered inside ToolTipProvider.");
43
+ };
44
+ /**
45
+ * ToolTip Context Object
46
+ */
47
+ exports.ToolTipContext = React.createContext({
48
+ showToolTip: invariantViolation,
49
+ hideToolTip: invariantViolation,
50
+ });
51
+ exports.ToolTipContext.displayName = "ToolTipContext";
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9vbFRpcENvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbHRpcHMvVG9vbFRpcENvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQStCO0FBaUIvQjs7R0FFRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxFQUFFO0lBQzlCLE1BQU0sSUFBSSxLQUFLLENBQ2IsaUhBQWlILENBQ2xILENBQUM7QUFDSixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsY0FBYyxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQXFCO0lBQ3BFLFdBQVcsRUFBRSxrQkFBa0I7SUFDL0IsV0FBVyxFQUFFLGtCQUFrQjtDQUNoQyxDQUFDLENBQUM7QUFDSCxzQkFBYyxDQUFDLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyJ9
@@ -0,0 +1,25 @@
1
+ import * as React from "react";
2
+ /**
3
+ * ToolTip Provider Props
4
+ */
5
+ export interface ToolTipProviderProps {
6
+ styleState: any;
7
+ /**
8
+ * Specifies the root element to render ToolTips into
9
+ */
10
+ container?: Element;
11
+ /**
12
+ * Container component for ToolTip nodes
13
+ */
14
+ rootComponent?: React.ComponentType<any>;
15
+ /**
16
+ * Subtree that will receive ToolTip context
17
+ */
18
+ children: React.ReactNode;
19
+ }
20
+ /**
21
+ * ToolTip Provider
22
+ *
23
+ * Provides ToolTip context and renders ToolTipRoot.
24
+ */
25
+ export declare const ToolTipProvider: ({ styleState, container, rootComponent, children, }: ToolTipProviderProps) => React.JSX.Element;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ToolTipProvider = void 0;
37
+ const react_1 = require("react");
38
+ const React = __importStar(require("react"));
39
+ const ToolTipContext_1 = require("./ToolTipContext");
40
+ const ToolTipRoot_1 = require("./ToolTipRoot");
41
+ const DialogsStyleState_1 = require("../DialogsStyleState");
42
+ const __1 = require("..");
43
+ /**
44
+ * ToolTip Provider
45
+ *
46
+ * Provides ToolTip context and renders ToolTipRoot.
47
+ */
48
+ const ToolTipProvider = ({ styleState, container, rootComponent, children, }) => {
49
+ if (container && !(container instanceof HTMLElement)) {
50
+ throw new Error(`Container must specify DOM element to mount ToolTip root into.
51
+ This behavior has changed in 3.0.0. Please use \`rootComponent\` prop instead.
52
+ See: https://github.com/mpontus/react-ToolTip-hook/issues/18`);
53
+ }
54
+ const [ToolTips, setToolTips] = (0, react_1.useState)({});
55
+ const state = (0, DialogsStyleState_1.useDialogsStylesState)();
56
+ const showToolTip = (0, react_1.useCallback)((key, ToolTip) => setToolTips((ToolTips) => ({
57
+ ...ToolTips,
58
+ [key]: ToolTip,
59
+ })), []);
60
+ const hideToolTip = (0, react_1.useCallback)((key) => setToolTips((ToolTips) => {
61
+ if (!ToolTips[key]) {
62
+ return ToolTips;
63
+ }
64
+ const newToolTips = { ...ToolTips };
65
+ delete newToolTips[key];
66
+ return newToolTips;
67
+ }), []);
68
+ const contextValue = (0, react_1.useMemo)(() => ({ showToolTip, hideToolTip, styleState }), []);
69
+ React.useEffect(() => {
70
+ console.debug(`${__1.GE_DIALOGS_LIB} ToolTipProvider: useEffect []`);
71
+ }, []);
72
+ return (React.createElement(ToolTipContext_1.ToolTipContext.Provider, { value: contextValue },
73
+ React.createElement("geLabel", { width: state.pluginWidth, height: state.pluginHeight }, children),
74
+ React.createElement(ToolTipRoot_1.ToolTipRoot, { ToolTips: ToolTips, component: rootComponent, container: container })));
75
+ /**
76
+ *
77
+ * return (
78
+ <ToolTipContext.Provider value={contextValue}>
79
+ <React.Fragment>
80
+ {children}
81
+ <ToolTipRoot
82
+ ToolTips={ToolTips}
83
+ component={rootComponent}
84
+ container={container}
85
+ />
86
+ </React.Fragment>
87
+ </ToolTipContext.Provider>
88
+ )
89
+ */
90
+ };
91
+ exports.ToolTipProvider = ToolTipProvider;
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9vbFRpcFByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rvb2x0aXBzL1Rvb2xUaXBQcm92aWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaUNBQXVEO0FBQ3ZELDZDQUErQjtBQUMvQixxREFBK0Q7QUFDL0QsK0NBQTRDO0FBQzVDLDREQUE2RDtBQUM3RCwwQkFBb0M7QUF1QnBDOzs7O0dBSUc7QUFDSSxNQUFNLGVBQWUsR0FBRyxDQUFDLEVBQzlCLFVBQVUsRUFDVixTQUFTLEVBQ1QsYUFBYSxFQUNiLFFBQVEsR0FDYSxFQUFFLEVBQUU7SUFDekIsSUFBSSxTQUFTLElBQUksQ0FBQyxDQUFDLFNBQVMsWUFBWSxXQUFXLENBQUMsRUFBRSxDQUFDO1FBQ3JELE1BQU0sSUFBSSxLQUFLLENBQUM7O2lFQUU2QyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUNELE1BQU0sQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEdBQUcsSUFBQSxnQkFBUSxFQUE4QixFQUFFLENBQUMsQ0FBQztJQUUxRSxNQUFNLEtBQUssR0FBRyxJQUFBLHlDQUFxQixHQUFFLENBQUM7SUFFdEMsTUFBTSxXQUFXLEdBQUcsSUFBQSxtQkFBVyxFQUM3QixDQUFDLEdBQVcsRUFBRSxPQUFvQixFQUFFLEVBQUUsQ0FDcEMsV0FBVyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLEdBQUcsUUFBUTtRQUNYLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTztLQUNmLENBQUMsQ0FBQyxFQUNMLEVBQUUsQ0FDSCxDQUFDO0lBRUYsTUFBTSxXQUFXLEdBQUcsSUFBQSxtQkFBVyxFQUM3QixDQUFDLEdBQVcsRUFBRSxFQUFFLENBQ2QsV0FBVyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ25CLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxNQUFNLFdBQVcsR0FBRyxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUM7UUFDcEMsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEIsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQyxDQUFDLEVBQ0osRUFBRSxDQUNILENBQUM7SUFFRixNQUFNLFlBQVksR0FBRyxJQUFBLGVBQU8sRUFDMUIsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFDaEQsRUFBRSxDQUNILENBQUM7SUFFRixLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNuQixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsa0JBQWMsZ0NBQWdDLENBQUMsQ0FBQztJQUNuRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFUCxPQUFPLENBQ0wsb0JBQUMsK0JBQWMsQ0FBQyxRQUFRLElBQUMsS0FBSyxFQUFFLFlBQVk7UUFDMUMsaUNBQVMsS0FBSyxFQUFFLEtBQUssQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxZQUFZLElBQzFELFFBQVEsQ0FDRDtRQUNWLG9CQUFDLHlCQUFXLElBQ1YsUUFBUSxFQUFFLFFBQVEsRUFDbEIsU0FBUyxFQUFFLGFBQWEsRUFDeEIsU0FBUyxFQUFFLFNBQVMsR0FDcEIsQ0FDc0IsQ0FDM0IsQ0FBQztJQUVGOzs7Ozs7Ozs7Ozs7OztPQWNHO0FBQ0wsQ0FBQyxDQUFDO0FBMUVXLFFBQUEsZUFBZSxtQkEwRTFCIn0=