@leav/ui 1.13.0-3e5f362c → 1.13.0-685357db
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/components/Explorer/Explorer.d.ts +5 -1
- package/dist/components/Explorer/Explorer.js +7 -0
- package/dist/components/Explorer/Explorer.js.map +1 -1
- package/dist/components/Explorer/_types.d.ts +6 -0
- package/dist/components/Explorer/_types.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js +4 -4
- package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.d.ts +7 -31
- package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.js +9 -20
- package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.js.map +1 -1
- package/dist/components/Explorer/useNotifyFiltersChange.d.ts +15 -0
- package/dist/components/Explorer/useNotifyFiltersChange.js +26 -0
- package/dist/components/Explorer/useNotifyFiltersChange.js.map +1 -0
- package/dist/components/Filters/context/filtersReducer.d.ts +9 -1
- package/dist/components/Filters/context/filtersReducer.js +9 -5
- package/dist/components/Filters/context/filtersReducer.js.map +1 -1
- package/dist/hooks/useIFrameMessenger/iFrameMessengerContext.d.ts +3 -1
- package/dist/hooks/useIFrameMessenger/iFrameMessengerContext.js.map +1 -1
- package/dist/hooks/useIFrameMessenger/messageHandlers.d.ts +2 -1
- package/dist/hooks/useIFrameMessenger/messageHandlers.js +9 -0
- package/dist/hooks/useIFrameMessenger/messageHandlers.js.map +1 -1
- package/dist/hooks/useIFrameMessenger/types.d.ts +21 -2
- package/dist/hooks/useIFrameMessenger/types.js.map +1 -1
- package/dist/hooks/useIFrameMessenger/useIFrameMessenger.d.ts +1 -0
- package/dist/hooks/useIFrameMessenger/useIFrameMessengerContext.js +29 -7
- package/dist/hooks/useIFrameMessenger/useIFrameMessengerContext.js.map +1 -1
- package/dist/hooks/useIFrameMessenger/useNativePanelMessengerHandlers.d.ts +14 -0
- package/dist/hooks/useIFrameMessenger/useNativePanelMessengerHandlers.js +22 -0
- package/dist/hooks/useIFrameMessenger/useNativePanelMessengerHandlers.js.map +1 -0
- package/dist/hooks/useIFrameMessengerClient/iFrameMessengerClientContext.d.ts +1 -0
- package/dist/hooks/useIFrameMessengerClient/useIFrameMessengerClient.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type IUseIFrameMessengerOptions, type Message } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Per-panel hook for native React panels (non-iframe).
|
|
4
|
+
* Registers the panel's handlers into the singleton `IFrameMessengerProvider`
|
|
5
|
+
* and cleans them up on unmount.
|
|
6
|
+
*
|
|
7
|
+
* Uses same-window `window.postMessage` as transport, routed via `__targetPanelId`
|
|
8
|
+
* in the message envelope — same protocol as iframe panels, no postMessage cross-origin.
|
|
9
|
+
*
|
|
10
|
+
* Returns `dispatch` to send messages to another panel by its ID.
|
|
11
|
+
*/
|
|
12
|
+
export declare const useNativePanelMessengerHandlers: (panelId: string, handlers: IUseIFrameMessengerOptions["handlers"]) => {
|
|
13
|
+
dispatch: (targetPanelId: string, message: Message) => void;
|
|
14
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
|
|
2
|
+
// This file is released under LGPL V3
|
|
3
|
+
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
4
|
+
import { useCallback, useContext, useEffect } from 'react';
|
|
5
|
+
import { IFrameMessengerContext } from './iFrameMessengerContext';
|
|
6
|
+
/**
|
|
7
|
+
* Per-panel hook for native React panels (non-iframe).
|
|
8
|
+
* Registers the panel's handlers into the singleton `IFrameMessengerProvider`
|
|
9
|
+
* and cleans them up on unmount.
|
|
10
|
+
*
|
|
11
|
+
* Uses same-window `window.postMessage` as transport, routed via `__targetPanelId`
|
|
12
|
+
* in the message envelope — same protocol as iframe panels, no postMessage cross-origin.
|
|
13
|
+
*
|
|
14
|
+
* Returns `dispatch` to send messages to another panel by its ID.
|
|
15
|
+
*/
|
|
16
|
+
export const useNativePanelMessengerHandlers = (panelId, handlers) => {
|
|
17
|
+
const { registerNativePanelHandlers, dispatchToNativePanel } = useContext(IFrameMessengerContext);
|
|
18
|
+
useEffect(() => registerNativePanelHandlers(panelId, handlers), []);
|
|
19
|
+
const dispatch = useCallback((targetPanelId, message) => dispatchToNativePanel(targetPanelId, message), [dispatchToNativePanel]);
|
|
20
|
+
return { dispatch };
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=useNativePanelMessengerHandlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNativePanelMessengerHandlers.js","sourceRoot":"","sources":["../../../src/hooks/useIFrameMessenger/useNativePanelMessengerHandlers.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AACzD,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAGhE;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,OAAe,EAAE,QAAgD,EAAE,EAAE;IACjH,MAAM,EAAC,2BAA2B,EAAE,qBAAqB,EAAC,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAEhG,SAAS,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpE,MAAM,QAAQ,GAAG,WAAW,CACxB,CAAC,aAAqB,EAAE,OAAgB,EAAE,EAAE,CAAC,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAC,EAC1F,CAAC,qBAAqB,CAAC,CAC1B,CAAC;IAEF,OAAO,EAAC,QAAQ,EAAC,CAAC;AACtB,CAAC,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {useCallback, useContext, useEffect} from 'react';\nimport {IFrameMessengerContext} from './iFrameMessengerContext';\nimport {type IUseIFrameMessengerOptions, type Message} from './types';\n\n/**\n * Per-panel hook for native React panels (non-iframe).\n * Registers the panel's handlers into the singleton `IFrameMessengerProvider`\n * and cleans them up on unmount.\n *\n * Uses same-window `window.postMessage` as transport, routed via `__targetPanelId`\n * in the message envelope — same protocol as iframe panels, no postMessage cross-origin.\n *\n * Returns `dispatch` to send messages to another panel by its ID.\n */\nexport const useNativePanelMessengerHandlers = (panelId: string, handlers: IUseIFrameMessengerOptions['handlers']) => {\n const {registerNativePanelHandlers, dispatchToNativePanel} = useContext(IFrameMessengerContext);\n\n useEffect(() => registerNativePanelHandlers(panelId, handlers), []);\n\n const dispatch = useCallback(\n (targetPanelId: string, message: Message) => dispatchToNativePanel(targetPanelId, message),\n [dispatchToNativePanel],\n );\n\n return {dispatch};\n};\n"]}
|
|
@@ -15,4 +15,5 @@ export declare const IframeMessengerClientContext: import("react").Context<{
|
|
|
15
15
|
closeFlapPanel: () => void;
|
|
16
16
|
getPanelConfig: (data: import("../useIFrameMessenger/types").GetPanelConfigMessage["data"]) => void;
|
|
17
17
|
getUrl: (data: import("../useIFrameMessenger/types").GetUrlMessage["data"]) => void;
|
|
18
|
+
explorerViewChanged: (data: import("../useIFrameMessenger/types").ExplorerViewChangedMessage["data"]) => void;
|
|
18
19
|
}>;
|
|
@@ -15,4 +15,5 @@ export declare const useIFrameMessengerClient: () => {
|
|
|
15
15
|
closeFlapPanel: () => void;
|
|
16
16
|
getPanelConfig: (data: import("../useIFrameMessenger/types").GetPanelConfigMessage["data"]) => void;
|
|
17
17
|
getUrl: (data: import("../useIFrameMessenger/types").GetUrlMessage["data"]) => void;
|
|
18
|
+
explorerViewChanged: (data: import("../useIFrameMessenger/types").ExplorerViewChangedMessage["data"]) => void;
|
|
18
19
|
};
|