@geotab/zenith 3.9.0-beta.ssr.0 → 3.9.0-beta.ssr.2
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/card/card.d.ts +1 -1
- package/dist/card/card.js +1 -1
- package/dist/card/helpers/getIconTypeFromStatus.d.ts +1 -1
- package/dist/commonHelpers/generateId.d.ts +8 -0
- package/dist/commonHelpers/generateId.js +8 -0
- package/dist/commonHelpers/hooks/ssrProvider.d.ts +14 -0
- package/dist/commonHelpers/hooks/ssrProvider.js +12 -0
- package/dist/commonHelpers/hooks/useClientReady.js +3 -1
- package/dist/commonHelpers/hooks/useDeviceType.js +4 -1
- package/dist/commonHelpers/hooks/useMobile.js +4 -3
- package/dist/commonHelpers/hooks/usePortal.js +2 -5
- package/dist/commonHelpers/useUniqueId.d.ts +6 -0
- package/dist/commonHelpers/useUniqueId.js +6 -0
- package/dist/commonHelpers/utils.d.ts +8 -0
- package/dist/commonHelpers/utils.js +8 -0
- package/dist/dataGrid/withSelectableRows/components/bulkActions/bulkActions.d.ts +5 -3
- package/dist/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +2 -38
- package/dist/feedbackContainer/feedbackContainer.js +4 -4
- package/dist/filters/components/filtersSidePanel.d.ts +1 -1
- package/dist/filters/components/filtersSidePanel.js +123 -116
- package/dist/filters/filters.js +1 -2
- package/dist/filtersBar/filtersBar.js +3 -1
- package/dist/filtersBar/filtersBarSidePanel/filtersBarSidePanel.d.ts +1 -1
- package/dist/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +86 -80
- package/dist/index.css +68 -51
- package/dist/index.d.ts +6 -3
- package/dist/index.js +30 -23
- package/dist/nav/navAddMenu/navAddMenu.js +1 -2
- package/dist/nav/navItem/navItem.js +1 -2
- package/dist/sidePanel/sidePanel.js +9 -8
- package/dist/table/children/useTableChildren.d.ts +1 -1
- package/dist/table/children/useTableChildren.js +3 -3
- package/dist/table/flexible/useFlexibleColumns.js +39 -1
- package/dist/table/nested/useNestedRows.d.ts +1 -0
- package/dist/table/nested/useNestedRows.js +3 -3
- package/dist/table/selectable/useSelectableRows.d.ts +9 -0
- package/dist/table/selectable/useSelectableRows.js +18 -11
- package/dist/table/table.js +1 -7
- package/dist/{card/components → title}/title.d.ts +1 -1
- package/dist/title/title.js +27 -0
- package/dist/tooltip/tooltip.js +11 -3
- package/dist/utils/localization/directionContext.d.ts +3 -0
- package/dist/utils/localization/directionContext.js +5 -0
- package/dist/utils/localization/getTextDirection.d.ts +2 -0
- package/dist/utils/localization/getTextDirection.js +6 -0
- package/dist/utils/localization/languageProvider.js +12 -1
- package/dist/utils/localization/useDirection.d.ts +2 -0
- package/dist/utils/localization/useDirection.js +7 -0
- package/esm/card/card.d.ts +1 -1
- package/esm/card/card.js +1 -1
- package/esm/card/helpers/getIconTypeFromStatus.d.ts +1 -1
- package/esm/commonHelpers/generateId.d.ts +8 -0
- package/esm/commonHelpers/generateId.js +8 -0
- package/esm/commonHelpers/hooks/ssrProvider.d.ts +14 -0
- package/esm/commonHelpers/hooks/ssrProvider.js +6 -0
- package/esm/commonHelpers/hooks/useClientReady.js +4 -2
- package/esm/commonHelpers/hooks/useDeviceType.js +4 -1
- package/esm/commonHelpers/hooks/useMobile.js +4 -3
- package/esm/commonHelpers/hooks/usePortal.js +2 -5
- package/esm/commonHelpers/useUniqueId.d.ts +6 -0
- package/esm/commonHelpers/useUniqueId.js +6 -0
- package/esm/commonHelpers/utils.d.ts +8 -0
- package/esm/commonHelpers/utils.js +8 -0
- package/esm/dataGrid/withSelectableRows/components/bulkActions/bulkActions.d.ts +5 -3
- package/esm/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +2 -38
- package/esm/feedbackContainer/feedbackContainer.js +4 -4
- package/esm/filters/components/filtersSidePanel.d.ts +1 -1
- package/esm/filters/components/filtersSidePanel.js +123 -116
- package/esm/filters/filters.js +2 -3
- package/esm/filtersBar/filtersBar.js +3 -1
- package/esm/filtersBar/filtersBarSidePanel/filtersBarSidePanel.d.ts +1 -1
- package/esm/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +86 -80
- package/esm/index.d.ts +6 -3
- package/esm/index.js +6 -3
- package/esm/nav/navAddMenu/navAddMenu.js +2 -3
- package/esm/nav/navItem/navItem.js +2 -3
- package/esm/sidePanel/sidePanel.js +9 -8
- package/esm/table/children/useTableChildren.d.ts +1 -1
- package/esm/table/children/useTableChildren.js +3 -3
- package/esm/table/flexible/useFlexibleColumns.js +39 -1
- package/esm/table/nested/useNestedRows.d.ts +1 -0
- package/esm/table/nested/useNestedRows.js +1 -1
- package/esm/table/selectable/useSelectableRows.d.ts +9 -0
- package/esm/table/selectable/useSelectableRows.js +15 -8
- package/esm/table/table.js +1 -7
- package/esm/{card/components → title}/title.d.ts +1 -1
- package/esm/title/title.js +23 -0
- package/esm/tooltip/tooltip.js +11 -3
- package/esm/utils/localization/directionContext.d.ts +3 -0
- package/esm/utils/localization/directionContext.js +2 -0
- package/esm/utils/localization/getTextDirection.d.ts +2 -0
- package/esm/utils/localization/getTextDirection.js +2 -0
- package/esm/utils/localization/languageProvider.js +12 -1
- package/esm/utils/localization/useDirection.d.ts +2 -0
- package/esm/utils/localization/useDirection.js +3 -0
- package/package.json +1 -1
- package/dist/card/components/title.js +0 -26
- package/dist/commonHelpers/hooks/deviceProvider.d.ts +0 -7
- package/dist/commonHelpers/hooks/deviceProvider.js +0 -11
- package/esm/card/components/title.js +0 -22
- package/esm/commonHelpers/hooks/deviceProvider.d.ts +0 -7
- package/esm/commonHelpers/hooks/deviceProvider.js +0 -4
package/dist/card/card.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { FC, FunctionComponent, ReactNode } from "react";
|
|
2
2
|
import { IAbsoluteSize, TContainerSize } from "../cardContainer/cardContainer";
|
|
3
3
|
import { TCardStatus } from "./components/status";
|
|
4
|
-
import { TIconType } from "
|
|
4
|
+
import { TIconType } from "../title/title";
|
|
5
5
|
import { IActions } from "./components/actions";
|
|
6
6
|
import { IContent } from "./components/content";
|
|
7
7
|
import "./card.less";
|
package/dist/card/card.js
CHANGED
|
@@ -71,7 +71,7 @@ const cardContainer_1 = require("../cardContainer/cardContainer");
|
|
|
71
71
|
const deviceType_1 = require("../commonHelpers/hooks/deviceType");
|
|
72
72
|
const useDeviceType_1 = require("../commonHelpers/hooks/useDeviceType");
|
|
73
73
|
const status_1 = require("./components/status");
|
|
74
|
-
const title_1 = require("
|
|
74
|
+
const title_1 = require("../title/title");
|
|
75
75
|
const actions_1 = require("./components/actions");
|
|
76
76
|
const content_1 = require("./components/content");
|
|
77
77
|
const useCardSize_1 = require("./hooks/useCardSize");
|
|
@@ -1 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates a random unique ID string.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* **Prefer `React.useId()`** inside React components. `useId` produces IDs that are
|
|
6
|
+
* stable across server and client renders, preventing SSR hydration mismatches.
|
|
7
|
+
* Use `generateId` only outside of a React component context where `useId` is not available.
|
|
8
|
+
*/
|
|
1
9
|
export declare function generateId(): string;
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateId = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Generates a random unique ID string.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* **Prefer `React.useId()`** inside React components. `useId` produces IDs that are
|
|
9
|
+
* stable across server and client renders, preventing SSR hydration mismatches.
|
|
10
|
+
* Use `generateId` only outside of a React component context where `useId` is not available.
|
|
11
|
+
*/
|
|
4
12
|
function generateId() {
|
|
5
13
|
return "id" + Math.random().toString().substring(2) + Math.random().toString().substring(2);
|
|
6
14
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { PropsWithChildren } from "react";
|
|
2
|
+
import { DeviceType } from "./deviceType";
|
|
3
|
+
interface ISSRContext {
|
|
4
|
+
isClientReady: boolean;
|
|
5
|
+
deviceType?: DeviceType;
|
|
6
|
+
}
|
|
7
|
+
export declare const SSRContext: import("react").Context<ISSRContext | null>;
|
|
8
|
+
export declare const SSRProvider: ({ deviceType, isClientReady, children }: PropsWithChildren<{
|
|
9
|
+
deviceType?: DeviceType;
|
|
10
|
+
isClientReady?: boolean;
|
|
11
|
+
}>) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare const useSSRContext: () => ISSRContext | null;
|
|
13
|
+
export declare const useIsSSRProviderMounted: () => boolean;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useIsSSRProviderMounted = exports.useSSRContext = exports.SSRProvider = exports.SSRContext = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
exports.SSRContext = (0, react_1.createContext)(null);
|
|
7
|
+
const SSRProvider = ({ deviceType, isClientReady = false, children }) => ((0, jsx_runtime_1.jsx)(exports.SSRContext.Provider, { value: { isClientReady, deviceType }, children: children }));
|
|
8
|
+
exports.SSRProvider = SSRProvider;
|
|
9
|
+
const useSSRContext = () => (0, react_1.useContext)(exports.SSRContext);
|
|
10
|
+
exports.useSSRContext = useSSRContext;
|
|
11
|
+
const useIsSSRProviderMounted = () => (0, react_1.useContext)(exports.SSRContext) !== null;
|
|
12
|
+
exports.useIsSSRProviderMounted = useIsSSRProviderMounted;
|
|
@@ -3,8 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.useClientReady = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
const isDomEnv_1 = require("../isDomEnv");
|
|
6
|
+
const ssrProvider_1 = require("./ssrProvider");
|
|
6
7
|
const useClientReady = () => {
|
|
7
|
-
const
|
|
8
|
+
const ctx = (0, react_1.useContext)(ssrProvider_1.SSRContext);
|
|
9
|
+
const [isClientReady, setIsClientReady] = (0, react_1.useState)(ctx !== null ? ctx.isClientReady : true);
|
|
8
10
|
(0, react_1.useEffect)(() => {
|
|
9
11
|
if ((0, isDomEnv_1.isDomEnv)()) {
|
|
10
12
|
setIsClientReady(true);
|
|
@@ -7,6 +7,7 @@ const deviceType_1 = require("./deviceType");
|
|
|
7
7
|
const topWindowContext_1 = require("../../utils/topWindow/topWindowContext");
|
|
8
8
|
const getParentWindow_1 = require("../../utils/getParentWindow");
|
|
9
9
|
const zen_1 = require("../../utils/zen");
|
|
10
|
+
const ssrProvider_1 = require("./ssrProvider");
|
|
10
11
|
const MobileMaxWidth = 640;
|
|
11
12
|
const getDeviceType = (width) => {
|
|
12
13
|
if (width > MobileMaxWidth) {
|
|
@@ -16,9 +17,11 @@ const getDeviceType = (width) => {
|
|
|
16
17
|
};
|
|
17
18
|
exports.getDeviceType = getDeviceType;
|
|
18
19
|
const useDeviceType = (callback) => {
|
|
20
|
+
const ctx = (0, react_1.useContext)(ssrProvider_1.SSRContext);
|
|
21
|
+
const ssrDeviceType = ctx === null || ctx === void 0 ? void 0 : ctx.deviceType;
|
|
19
22
|
const { topWindow } = (0, react_1.useContext)(topWindowContext_1.topWindowContext);
|
|
20
23
|
const win = (0, react_1.useMemo)(() => topWindow || (0, getParentWindow_1.getParentWindow)(zen_1.zen), [topWindow]);
|
|
21
|
-
const [deviceType, setDeviceType] = (0, react_1.useState)((0, exports.getDeviceType)(win.innerWidth));
|
|
24
|
+
const [deviceType, setDeviceType] = (0, react_1.useState)(ssrDeviceType !== null && ssrDeviceType !== void 0 ? ssrDeviceType : (0, exports.getDeviceType)(win.innerWidth));
|
|
22
25
|
(0, useResize_1.useResize)(() => {
|
|
23
26
|
setDeviceType((0, exports.getDeviceType)(win.innerWidth));
|
|
24
27
|
}, true);
|
|
@@ -5,13 +5,14 @@ const react_1 = require("react");
|
|
|
5
5
|
const deviceType_1 = require("./deviceType");
|
|
6
6
|
const useDeviceType_1 = require("./useDeviceType");
|
|
7
7
|
const getParentWindow_1 = require("../../utils/getParentWindow");
|
|
8
|
-
const
|
|
8
|
+
const ssrProvider_1 = require("./ssrProvider");
|
|
9
9
|
const zen_1 = require("../../utils/zen");
|
|
10
10
|
const initialParent = (0, getParentWindow_1.getParentWindow)(zen_1.zen);
|
|
11
11
|
exports.initialValue = (0, useDeviceType_1.getDeviceType)(initialParent.innerWidth);
|
|
12
12
|
const useMobile = () => {
|
|
13
|
-
|
|
14
|
-
const
|
|
13
|
+
var _a;
|
|
14
|
+
const ctx = (0, react_1.useContext)(ssrProvider_1.SSRContext);
|
|
15
|
+
const [deviceType, setDeviceType] = (0, react_1.useState)((_a = ctx === null || ctx === void 0 ? void 0 : ctx.deviceType) !== null && _a !== void 0 ? _a : exports.initialValue);
|
|
15
16
|
(0, useDeviceType_1.useDeviceType)(setDeviceType);
|
|
16
17
|
const isMobile = (0, react_1.useMemo)(() => deviceType === deviceType_1.DeviceType.Mobile, [deviceType]);
|
|
17
18
|
return isMobile;
|
|
@@ -4,13 +4,10 @@ exports.usePortal = void 0;
|
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
const react_dom_1 = require("react-dom");
|
|
6
6
|
const usePortal = (children, container, key) => {
|
|
7
|
-
const [portalContainer, setPortalContainer] = (0, react_1.useState)(
|
|
7
|
+
const [portalContainer, setPortalContainer] = (0, react_1.useState)(undefined);
|
|
8
8
|
(0, react_1.useEffect)(() => {
|
|
9
|
-
if (portalContainer || !container) {
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
9
|
setPortalContainer(container);
|
|
13
|
-
}, [
|
|
10
|
+
}, [container]);
|
|
14
11
|
return portalContainer ? (0, react_dom_1.createPortal)(children, portalContainer, key) : null;
|
|
15
12
|
};
|
|
16
13
|
exports.usePortal = usePortal;
|
|
@@ -6,6 +6,12 @@
|
|
|
6
6
|
* component. This can be particularly useful for assigning unique keys to elements
|
|
7
7
|
* in a list, or for generating unique identifiers for form inputs, labels, etc.
|
|
8
8
|
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* **Prefer `React.useId()`** when possible. `useId` generates IDs that are stable
|
|
11
|
+
* across server and client renders, preventing SSR hydration mismatches.
|
|
12
|
+
* Use `useUniqueId` only when `useId` is not suitable — for example, when the ID
|
|
13
|
+
* must be truly random and is never rendered during SSR.
|
|
14
|
+
*
|
|
9
15
|
* @returns {string} A unique identifier.
|
|
10
16
|
*
|
|
11
17
|
* Example usage:
|
|
@@ -11,6 +11,12 @@ const utils_1 = require("./utils");
|
|
|
11
11
|
* component. This can be particularly useful for assigning unique keys to elements
|
|
12
12
|
* in a list, or for generating unique identifiers for form inputs, labels, etc.
|
|
13
13
|
*
|
|
14
|
+
* @remarks
|
|
15
|
+
* **Prefer `React.useId()`** when possible. `useId` generates IDs that are stable
|
|
16
|
+
* across server and client renders, preventing SSR hydration mismatches.
|
|
17
|
+
* Use `useUniqueId` only when `useId` is not suitable — for example, when the ID
|
|
18
|
+
* must be truly random and is never rendered during SSR.
|
|
19
|
+
*
|
|
14
20
|
* @returns {string} A unique identifier.
|
|
15
21
|
*
|
|
16
22
|
* Example usage:
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates a random unique ID string.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* **Prefer `React.useId()`** inside React components. `useId` produces IDs that are
|
|
6
|
+
* stable across server and client renders, preventing SSR hydration mismatches.
|
|
7
|
+
* Use `generateId` only outside of a React component context where `useId` is not available.
|
|
8
|
+
*/
|
|
1
9
|
export declare const generateId: () => string;
|
|
2
10
|
export declare const echo: <T = unknown>(_: T) => T;
|
|
3
11
|
export declare function flattenArrays<T>(arrayOfArrays: T[][]): T[];
|
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.deepClone = exports.deepMerge = exports.flattenArrays = exports.echo = exports.generateId = void 0;
|
|
4
4
|
const zen_1 = require("../utils/zen");
|
|
5
|
+
/**
|
|
6
|
+
* Generates a random unique ID string.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* **Prefer `React.useId()`** inside React components. `useId` produces IDs that are
|
|
10
|
+
* stable across server and client renders, preventing SSR hydration mismatches.
|
|
11
|
+
* Use `generateId` only outside of a React component context where `useId` is not available.
|
|
12
|
+
*/
|
|
5
13
|
const generateId = () => "id" + Math.random().toString().substring(2);
|
|
6
14
|
exports.generateId = generateId;
|
|
7
15
|
const echo = (_) => _;
|
|
@@ -7,19 +7,21 @@ import { DeviceType } from "../../../../commonHelpers/hooks/deviceType";
|
|
|
7
7
|
type TBulkAction = IBulkActionLink | IBulkActionButton;
|
|
8
8
|
export interface IBulkActionsProps extends IZenComponentProps {
|
|
9
9
|
selected: number;
|
|
10
|
+
/**
|
|
11
|
+
* When `true`, displays "All selected" instead of a count, and enables action buttons
|
|
12
|
+
* even when `selected` is 0 (i.e., cross-page "select all" is active).
|
|
13
|
+
*/
|
|
10
14
|
allSelected?: boolean;
|
|
11
15
|
onClearSelection: () => void;
|
|
12
|
-
onSelectAll?: () => void;
|
|
13
16
|
gridType?: DeviceType;
|
|
14
17
|
children?: ReactElement<TBulkAction> | null | (ReactElement<TBulkAction> | null)[];
|
|
15
|
-
turnOffSelectAll?: boolean;
|
|
16
18
|
}
|
|
17
19
|
export interface IBulkActions extends IBulkActionsProps {
|
|
18
20
|
ActionLink: (props: IBulkActionLink) => ReactNode;
|
|
19
21
|
ActionButton: (props: IBulkActionButton) => ReactNode;
|
|
20
22
|
}
|
|
21
23
|
export declare const BulkActions: {
|
|
22
|
-
({ selected, allSelected, className, onClearSelection,
|
|
24
|
+
({ selected, allSelected, className, onClearSelection, gridType, children }: IBulkActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
23
25
|
ActionLink: ({ title, icon, link, disabled, type, ref }: IBulkActionLink) => import("react/jsx-runtime").JSX.Element;
|
|
24
26
|
ActionButton: ({ title, icon, clickHandler, onClick, disabled, type, ref }: IBulkActionButton) => import("react/jsx-runtime").JSX.Element;
|
|
25
27
|
translations: string[];
|
|
@@ -89,33 +89,6 @@ injectString("zh-Hans", "Clear selection", "\u6E05\u9664\u9009\u62E9");
|
|
|
89
89
|
injectString("zh-TW", "Clear selection", "\u6E05\u9664\u9078\u53D6\u9805\u76EE");
|
|
90
90
|
injectString("ro-RO", "Clear selection", "\u0218terge\u021Bi selec\u021Bia");
|
|
91
91
|
injectString("ar-SA", "Clear selection", "\u0645\u0633\u062D \u0627\u0644\u062A\u062D\u062F\u064A\u062F");
|
|
92
|
-
injectString("cs", "Select all", "Vybrat v\u0161e");
|
|
93
|
-
injectString("da-DK", "Select all", "V\xE6lg alle");
|
|
94
|
-
injectString("de", "Select all", "Alle ausw\xE4hlen");
|
|
95
|
-
injectString("en", "Select all", "Select all");
|
|
96
|
-
injectString("es", "Select all", "Seleccionar todo");
|
|
97
|
-
injectString("fi-FI", "Select all", "Valitse kaikki");
|
|
98
|
-
injectString("fr", "Select all", "S\xE9lectionner tout");
|
|
99
|
-
injectString("fr-FR", "Select all", "S\xE9lectionner tout");
|
|
100
|
-
injectString("hu-HU", "Select all", "V\xE1laszd ki az \xF6sszeset.");
|
|
101
|
-
injectString("id", "Select all", "Pilih semua");
|
|
102
|
-
injectString("it", "Select all", "Selezionare tutto");
|
|
103
|
-
injectString("ja", "Select all", "\u3059\u3079\u3066\u9078\u629E");
|
|
104
|
-
injectString("ko-KR", "Select all", "\uBAA8\uB450 \uC120\uD0DD");
|
|
105
|
-
injectString("ms", "Select all", "Pilih semua");
|
|
106
|
-
injectString("nb-NO", "Select all", "Velg alle");
|
|
107
|
-
injectString("nl", "Select all", "Alles selecteren");
|
|
108
|
-
injectString("pl", "Select all", "Wybierz wszystko");
|
|
109
|
-
injectString("pt-BR", "Select all", "Selecionar tudo");
|
|
110
|
-
injectString("pt-PT", "Select all", "Selecionar tudo");
|
|
111
|
-
injectString("sk-SK", "Select all", "Vyber v\u0161etko.");
|
|
112
|
-
injectString("sv", "Select all", "V\xE4lj alla");
|
|
113
|
-
injectString("th", "Select all", "\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14");
|
|
114
|
-
injectString("tr", "Select all", "T\xFCm\xFCn\xFC se\xE7");
|
|
115
|
-
injectString("zh-Hans", "Select all", "\u5168\u9009");
|
|
116
|
-
injectString("zh-TW", "Select all", "\u5168\u9078");
|
|
117
|
-
injectString("ro-RO", "Select all", "Selecta\u021Bi tot");
|
|
118
|
-
injectString("ar-SA", "Select all", "\u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0643\u0644");
|
|
119
92
|
injectString("cs", "More", "V\xEDce");
|
|
120
93
|
injectString("da-DK", "More", "Mere");
|
|
121
94
|
injectString("de", "More", "Mehr");
|
|
@@ -155,16 +128,13 @@ const useNonFittingElements_1 = require("../../../../header/hooks/useNonFittingE
|
|
|
155
128
|
const useResizeObserver_1 = require("../../../../commonHelpers/hooks/useResizeObserver");
|
|
156
129
|
const menu_1 = require("../../../../menu/menu");
|
|
157
130
|
const iconDotVertical_1 = require("../../../../icons/iconDotVertical");
|
|
158
|
-
const button_1 = require("../../../../button/button");
|
|
159
131
|
const BulkActions = ({
|
|
160
132
|
selected,
|
|
161
133
|
allSelected,
|
|
162
134
|
className,
|
|
163
135
|
onClearSelection,
|
|
164
|
-
onSelectAll,
|
|
165
136
|
gridType = deviceType_1.DeviceType.Desktop,
|
|
166
|
-
children
|
|
167
|
-
turnOffSelectAll
|
|
137
|
+
children
|
|
168
138
|
}) => {
|
|
169
139
|
var _a;
|
|
170
140
|
const {
|
|
@@ -208,13 +178,7 @@ const BulkActions = ({
|
|
|
208
178
|
}), (0, jsx_runtime_1.jsx)("span", {
|
|
209
179
|
className: "zen-bulk-actions__number-of-selected ellipsis",
|
|
210
180
|
children: text
|
|
211
|
-
}),
|
|
212
|
-
type: "tertiary",
|
|
213
|
-
className: "zen-bulk-actions__select-all",
|
|
214
|
-
disabled: allSelected,
|
|
215
|
-
onClick: onSelectAll,
|
|
216
|
-
children: translate("Select all")
|
|
217
|
-
}) : null, (0, jsx_runtime_1.jsxs)("div", {
|
|
181
|
+
}), (0, jsx_runtime_1.jsxs)("div", {
|
|
218
182
|
className: "zen-bulk-actions__action-button-holder",
|
|
219
183
|
ref: buttonHolder,
|
|
220
184
|
children: [react_1.Children.map(visibleElements, element => (0, react_1.cloneElement)(element, {
|
|
@@ -35,9 +35,9 @@ const getAlertAnimation_1 = require("./utils/getAlertAnimation");
|
|
|
35
35
|
const getToastAnimation_1 = require("./utils/getToastAnimation");
|
|
36
36
|
const useClientReady_1 = require("../commonHelpers/hooks/useClientReady");
|
|
37
37
|
const zen_1 = require("../utils/zen");
|
|
38
|
-
const
|
|
38
|
+
const usePortal_1 = require("../commonHelpers/hooks/usePortal");
|
|
39
39
|
const FeedbackContainer = () => {
|
|
40
|
-
var _a, _b;
|
|
40
|
+
var _a, _b, _c, _d;
|
|
41
41
|
const { alerts, removeAlert, toasts, removeToast, activeFeedback, removedAlertId, removedToastId, mode } = react_1.default.useContext(feedbackContext_1.FeedbackContext);
|
|
42
42
|
const prevAlertsLength = react_1.default.useRef(alerts.length);
|
|
43
43
|
const prevToastsLength = react_1.default.useRef(toasts.length);
|
|
@@ -74,11 +74,11 @@ const FeedbackContainer = () => {
|
|
|
74
74
|
removedToastId.current = indx;
|
|
75
75
|
toast.onClose();
|
|
76
76
|
}, type: toast.type, hasIcon: toast.hasIcon, action: toast.action }, toast.id))), [toasts, sameToastsLength, isToastAdded, removedToastId, isMobile, activeFeedback, removeToast]);
|
|
77
|
+
const alertsPortal = (0, usePortal_1.usePortal)((0, jsx_runtime_1.jsx)("div", { className: alertClasses, children: alertsToRender }), (_b = (_a = zen_1.zen.document) === null || _a === void 0 ? void 0 : _a.body) !== null && _b !== void 0 ? _b : undefined);
|
|
78
|
+
const toastsPortal = (0, usePortal_1.usePortal)((0, jsx_runtime_1.jsx)("div", { className: toastClasses, children: toastsToRender }), (_d = (_c = zen_1.zen.document) === null || _c === void 0 ? void 0 : _c.body) !== null && _d !== void 0 ? _d : undefined);
|
|
77
79
|
if (!isClientReady) {
|
|
78
80
|
return null;
|
|
79
81
|
}
|
|
80
|
-
const alertsPortal = ((_a = zen_1.zen.document) === null || _a === void 0 ? void 0 : _a.body) ? (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsx)("div", { className: alertClasses, children: alertsToRender }), zen_1.zen.document.body) : null;
|
|
81
|
-
const toastsPortal = ((_b = zen_1.zen.document) === null || _b === void 0 ? void 0 : _b.body) ? (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsx)("div", { className: toastClasses, children: toastsToRender }), zen_1.zen.document.body) : null;
|
|
82
82
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [!isAPIMode && alertsPortal, !isAPIMode && toastsPortal] }));
|
|
83
83
|
};
|
|
84
84
|
exports.FeedbackContainer = FeedbackContainer;
|
|
@@ -12,4 +12,4 @@ export interface IFiltersSidePanel {
|
|
|
12
12
|
setExternalState?: (newState: Partial<Record<string, TFiltersComponentsItemState>>) => void;
|
|
13
13
|
triggerRef: React.RefObject<HTMLElement>;
|
|
14
14
|
}
|
|
15
|
-
export declare const FiltersSidePanel: ({ isOpen, onApply, onClose, onPin, isPinned, filters, externalState, setExternalState, triggerRef }: IFiltersSidePanel) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare const FiltersSidePanel: ({ isOpen, onApply, onClose, onPin, isPinned, filters, externalState, setExternalState, triggerRef }: IFiltersSidePanel) => import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -14,7 +14,8 @@ const useUniqueId_1 = require("../../commonHelpers/useUniqueId");
|
|
|
14
14
|
const useMobile_1 = require("../../commonHelpers/hooks/useMobile");
|
|
15
15
|
const useBodyScroll_1 = require("../../utils/useBodyScroll");
|
|
16
16
|
const shield_1 = require("../../shield/shield");
|
|
17
|
-
const
|
|
17
|
+
const usePortal_1 = require("../../commonHelpers/hooks/usePortal");
|
|
18
|
+
const useClientReady_1 = require("../../commonHelpers/hooks/useClientReady");
|
|
18
19
|
const sidePanel_1 = require("../../sidePanel/sidePanel");
|
|
19
20
|
const classNames_1 = require("../../commonHelpers/classNames/classNames");
|
|
20
21
|
const themeContext_1 = require("../../utils/theme/themeContext");
|
|
@@ -463,131 +464,137 @@ const FiltersSidePanel = ({
|
|
|
463
464
|
}
|
|
464
465
|
}, [isSaveModalOpen, dataShieldId, onClose]);
|
|
465
466
|
const memoizedBigSizeIcon = (0, react_1.useMemo)(() => (iconMobileClassName || iconDriveClassName) !== undefined, [iconMobileClassName, iconDriveClassName]);
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
className:
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
className: (0, classNames_1.classNames)(["zen-side-panel-filters__title", "zen-ellipsis", titleMobileClassName || ""]),
|
|
486
|
-
children: translate("All Filters")
|
|
487
|
-
})
|
|
488
|
-
}), (0, jsx_runtime_1.jsxs)("div", {
|
|
489
|
-
className: (0, classNames_1.classNames)(["zen-side-panel-filters__header-buttons", headerButtonsMobileClassName || ""]),
|
|
490
|
-
children: [onSave && (0, jsx_runtime_1.jsx)(button_1.Button, {
|
|
491
|
-
type: "tertiary",
|
|
492
|
-
ref: saveButtonRef,
|
|
493
|
-
className: "zen-side-panel-filters__save-button zen-side-panel-filters__header-button",
|
|
494
|
-
title: translate("Save"),
|
|
495
|
-
"aria-label": translate("Save"),
|
|
496
|
-
onClick: toggleSaveModal,
|
|
497
|
-
children: (0, jsx_runtime_1.jsx)(iconDisk_1.IconDisk, {
|
|
498
|
-
description: translate("Save"),
|
|
499
|
-
className: "svgIcon",
|
|
500
|
-
size: memoizedBigSizeIcon ? "huge" : "large"
|
|
501
|
-
})
|
|
502
|
-
}), onPin && (0, jsx_runtime_1.jsx)(button_1.Button, {
|
|
503
|
-
type: "tertiary",
|
|
504
|
-
className: (0, classNames_1.classNames)(["zen-side-panel-filters__pin-button", isPinned ? "zen-side-panel-filters__header-button--active" : "", "zen-side-panel-filters__header-button"]),
|
|
505
|
-
title: translate("Pin"),
|
|
506
|
-
"aria-label": translate("Pin"),
|
|
507
|
-
onClick: onPin,
|
|
508
|
-
children: (0, jsx_runtime_1.jsx)(iconPin2_1.IconPin2, {
|
|
509
|
-
description: translate("Pin"),
|
|
510
|
-
className: "svgIcon",
|
|
511
|
-
size: memoizedBigSizeIcon ? "huge" : "large"
|
|
512
|
-
})
|
|
513
|
-
}), (0, jsx_runtime_1.jsx)(textIconButton_1.TextIconButton, {
|
|
514
|
-
type: "tertiary-black",
|
|
515
|
-
className: "zen-side-panel-filters__close-button",
|
|
516
|
-
icon: iconClose_1.IconClose,
|
|
517
|
-
iconSize: memoizedBigSizeIcon ? "huge" : "large",
|
|
518
|
-
onClick: externalMode ? handleExternalModeClose : onClose,
|
|
519
|
-
iconPosition: textIconButton_1.ButtonIconPosition.Start,
|
|
520
|
-
title: translate("Close")
|
|
521
|
-
})]
|
|
522
|
-
})]
|
|
523
|
-
}), (0, jsx_runtime_1.jsx)(tabs_1.Tabs, {
|
|
524
|
-
activeTabId: activeTabId,
|
|
525
|
-
className: "zen-side-panel-filters__tab-header",
|
|
526
|
-
onTabChange: onTabChange,
|
|
527
|
-
tabs: tabOptions
|
|
467
|
+
const isClientReady = (0, useClientReady_1.useClientReady)();
|
|
468
|
+
const modalRoot = (_b = (_a = zen_1.zen.document) === null || _a === void 0 ? void 0 : _a.fullscreenElement) !== null && _b !== void 0 ? _b : (_c = zen_1.zen.document) === null || _c === void 0 ? void 0 : _c.body;
|
|
469
|
+
const portal = (0, usePortal_1.usePortal)((0, jsx_runtime_1.jsx)(sidePanel_1.SidePanel, {
|
|
470
|
+
triggerRef: triggerRef,
|
|
471
|
+
isOpen: isOpen,
|
|
472
|
+
label: translate("All Filters"),
|
|
473
|
+
onHidePanel: handleHidePanel,
|
|
474
|
+
className: (0, classNames_1.classNames)(["zen-side-panel-filters", dark ? "zen-dark" : ""]),
|
|
475
|
+
onTransitionEnd: handleReadyForFocus,
|
|
476
|
+
children: (0, jsx_runtime_1.jsxs)("div", {
|
|
477
|
+
className: "zen-side-panel-filters-wrapper",
|
|
478
|
+
children: [(0, jsx_runtime_1.jsxs)("div", {
|
|
479
|
+
className: "zen-side-panel-filters__header",
|
|
480
|
+
children: [(0, jsx_runtime_1.jsx)("div", {
|
|
481
|
+
className: "zen-side-panel-filters__title-wrapper",
|
|
482
|
+
children: (0, jsx_runtime_1.jsx)("div", {
|
|
483
|
+
className: (0, classNames_1.classNames)(["zen-side-panel-filters__title", "zen-ellipsis", titleMobileClassName || ""]),
|
|
484
|
+
children: translate("All Filters")
|
|
485
|
+
})
|
|
528
486
|
}), (0, jsx_runtime_1.jsxs)("div", {
|
|
529
|
-
className: "zen-side-panel-
|
|
530
|
-
children: [(0, jsx_runtime_1.jsx)(
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
"
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
487
|
+
className: (0, classNames_1.classNames)(["zen-side-panel-filters__header-buttons", headerButtonsMobileClassName || ""]),
|
|
488
|
+
children: [onSave && (0, jsx_runtime_1.jsx)(button_1.Button, {
|
|
489
|
+
type: "tertiary",
|
|
490
|
+
ref: saveButtonRef,
|
|
491
|
+
className: "zen-side-panel-filters__save-button zen-side-panel-filters__header-button",
|
|
492
|
+
title: translate("Save"),
|
|
493
|
+
"aria-label": translate("Save"),
|
|
494
|
+
onClick: toggleSaveModal,
|
|
495
|
+
children: (0, jsx_runtime_1.jsx)(iconDisk_1.IconDisk, {
|
|
496
|
+
description: translate("Save"),
|
|
497
|
+
className: "svgIcon",
|
|
498
|
+
size: memoizedBigSizeIcon ? "huge" : "large"
|
|
499
|
+
})
|
|
500
|
+
}), onPin && (0, jsx_runtime_1.jsx)(button_1.Button, {
|
|
501
|
+
type: "tertiary",
|
|
502
|
+
className: (0, classNames_1.classNames)(["zen-side-panel-filters__pin-button", isPinned ? "zen-side-panel-filters__header-button--active" : "", "zen-side-panel-filters__header-button"]),
|
|
503
|
+
title: translate("Pin"),
|
|
504
|
+
"aria-label": translate("Pin"),
|
|
505
|
+
onClick: onPin,
|
|
506
|
+
children: (0, jsx_runtime_1.jsx)(iconPin2_1.IconPin2, {
|
|
507
|
+
description: translate("Pin"),
|
|
508
|
+
className: "svgIcon",
|
|
509
|
+
size: memoizedBigSizeIcon ? "huge" : "large"
|
|
510
|
+
})
|
|
511
|
+
}), (0, jsx_runtime_1.jsx)(textIconButton_1.TextIconButton, {
|
|
512
|
+
type: "tertiary-black",
|
|
513
|
+
className: "zen-side-panel-filters__close-button",
|
|
514
|
+
icon: iconClose_1.IconClose,
|
|
515
|
+
iconSize: memoizedBigSizeIcon ? "huge" : "large",
|
|
516
|
+
onClick: externalMode ? handleExternalModeClose : onClose,
|
|
517
|
+
iconPosition: textIconButton_1.ButtonIconPosition.Start,
|
|
518
|
+
title: translate("Close")
|
|
542
519
|
})]
|
|
520
|
+
})]
|
|
521
|
+
}), (0, jsx_runtime_1.jsx)(tabs_1.Tabs, {
|
|
522
|
+
activeTabId: activeTabId,
|
|
523
|
+
className: "zen-side-panel-filters__tab-header",
|
|
524
|
+
onTabChange: onTabChange,
|
|
525
|
+
tabs: tabOptions
|
|
526
|
+
}), (0, jsx_runtime_1.jsxs)("div", {
|
|
527
|
+
className: "zen-side-panel-filters__content",
|
|
528
|
+
children: [(0, jsx_runtime_1.jsx)("div", {
|
|
529
|
+
id: `panel-${filtersSelect_1.ALL_SELECT_OPTION_ID}`,
|
|
530
|
+
className: (0, classNames_1.classNames)(["zen-side-panel-filters__tab-content", activeTabId === filtersSelect_1.ALL_SELECT_OPTION_ID ? "zen-side-panel-filters__tab-content--active" : "zen-side-panel-filters__tab-content--hidden"]),
|
|
531
|
+
role: "tabpanel",
|
|
532
|
+
"aria-labelledby": filtersSelect_1.ALL_SELECT_OPTION_ID,
|
|
533
|
+
children: activeTabId === filtersSelect_1.ALL_SELECT_OPTION_ID ? tabsContent : null
|
|
543
534
|
}), (0, jsx_runtime_1.jsx)("div", {
|
|
544
|
-
|
|
545
|
-
|
|
535
|
+
id: `panel-${SELECTED_TAB_ID}`,
|
|
536
|
+
className: (0, classNames_1.classNames)(["zen-side-panel-filters__tab-content", activeTabId === SELECTED_TAB_ID ? "zen-side-panel-filters__tab-content--active" : "zen-side-panel-filters__tab-content--hidden"]),
|
|
537
|
+
role: "tabpanel",
|
|
538
|
+
"aria-labelledby": SELECTED_TAB_ID,
|
|
539
|
+
children: activeTabId === SELECTED_TAB_ID ? selectedTabsContent : null
|
|
540
|
+
})]
|
|
541
|
+
}), (0, jsx_runtime_1.jsx)("div", {
|
|
542
|
+
className: (0, classNames_1.classNames)(["zen-side-panel-filters__footer", isMobile ? "zen-side-panel-filters__footer--mobile" : "", isLongTextLanguages && !isMobile ? "zen-side-panel-filters__footer--long-text" : ""]),
|
|
543
|
+
children: isMobile ? (0, jsx_runtime_1.jsxs)(footerButtons_1.FooterButtons, {
|
|
544
|
+
children: [(0, jsx_runtime_1.jsx)(button_1.Button, {
|
|
545
|
+
className: "zen-side-panel-filters__apply-button",
|
|
546
|
+
onClick: handleApplyClick,
|
|
547
|
+
type: "primary",
|
|
548
|
+
disabled: errorItems.size > 0,
|
|
549
|
+
children: translate("Apply")
|
|
550
|
+
}), (0, jsx_runtime_1.jsx)(button_1.Button, {
|
|
551
|
+
className: "zen-side-panel-filters__cancel-button",
|
|
552
|
+
type: "secondary",
|
|
553
|
+
onClick: handleCancelClick,
|
|
554
|
+
children: translate("Cancel")
|
|
555
|
+
}), (0, jsx_runtime_1.jsx)(button_1.Button, {
|
|
556
|
+
className: "zen-side-panel-filters__clear-button",
|
|
557
|
+
onClick: handleClearClick,
|
|
558
|
+
type: "tertiary",
|
|
559
|
+
children: translate("Reset")
|
|
560
|
+
})]
|
|
561
|
+
}) : (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, {
|
|
562
|
+
children: [(0, jsx_runtime_1.jsx)("div", {
|
|
563
|
+
className: "zen-side-panel-filters__footer-section",
|
|
564
|
+
children: (0, jsx_runtime_1.jsx)(button_1.Button, {
|
|
565
|
+
type: "tertiary",
|
|
566
|
+
className: "zen-side-panel-filters__clear-button",
|
|
567
|
+
onClick: handleClearClick,
|
|
568
|
+
children: translate("Reset")
|
|
569
|
+
})
|
|
570
|
+
}), (0, jsx_runtime_1.jsxs)("div", {
|
|
571
|
+
className: "zen-side-panel-filters__footer-section",
|
|
546
572
|
children: [(0, jsx_runtime_1.jsx)(button_1.Button, {
|
|
547
|
-
className: "zen-side-panel-filters__apply-button",
|
|
548
|
-
onClick: handleApplyClick,
|
|
549
|
-
type: "primary",
|
|
550
|
-
disabled: errorItems.size > 0,
|
|
551
|
-
children: translate("Apply")
|
|
552
|
-
}), (0, jsx_runtime_1.jsx)(button_1.Button, {
|
|
553
573
|
className: "zen-side-panel-filters__cancel-button",
|
|
554
574
|
type: "secondary",
|
|
555
575
|
onClick: handleCancelClick,
|
|
556
576
|
children: translate("Cancel")
|
|
557
577
|
}), (0, jsx_runtime_1.jsx)(button_1.Button, {
|
|
558
|
-
className: "zen-side-panel-
|
|
559
|
-
onClick:
|
|
560
|
-
type: "
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
}) : (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, {
|
|
564
|
-
children: [(0, jsx_runtime_1.jsx)("div", {
|
|
565
|
-
className: "zen-side-panel-filters__footer-section",
|
|
566
|
-
children: (0, jsx_runtime_1.jsx)(button_1.Button, {
|
|
567
|
-
type: "tertiary",
|
|
568
|
-
className: "zen-side-panel-filters__clear-button",
|
|
569
|
-
onClick: handleClearClick,
|
|
570
|
-
children: translate("Reset")
|
|
571
|
-
})
|
|
572
|
-
}), (0, jsx_runtime_1.jsxs)("div", {
|
|
573
|
-
className: "zen-side-panel-filters__footer-section",
|
|
574
|
-
children: [(0, jsx_runtime_1.jsx)(button_1.Button, {
|
|
575
|
-
className: "zen-side-panel-filters__cancel-button",
|
|
576
|
-
type: "secondary",
|
|
577
|
-
onClick: handleCancelClick,
|
|
578
|
-
children: translate("Cancel")
|
|
579
|
-
}), (0, jsx_runtime_1.jsx)(button_1.Button, {
|
|
580
|
-
className: "zen-side-panel-filters__apply-button zen-side-panel-filters__apply-button--desktop",
|
|
581
|
-
onClick: handleApplyClick,
|
|
582
|
-
type: "primary",
|
|
583
|
-
disabled: errorItems.size > 0,
|
|
584
|
-
children: translate("Apply")
|
|
585
|
-
})]
|
|
578
|
+
className: "zen-side-panel-filters__apply-button zen-side-panel-filters__apply-button--desktop",
|
|
579
|
+
onClick: handleApplyClick,
|
|
580
|
+
type: "primary",
|
|
581
|
+
disabled: errorItems.size > 0,
|
|
582
|
+
children: translate("Apply")
|
|
586
583
|
})]
|
|
587
|
-
})
|
|
588
|
-
})
|
|
589
|
-
})
|
|
590
|
-
})
|
|
584
|
+
})]
|
|
585
|
+
})
|
|
586
|
+
})]
|
|
587
|
+
})
|
|
588
|
+
}), modalRoot !== null && modalRoot !== void 0 ? modalRoot : undefined);
|
|
589
|
+
if (!isClientReady) {
|
|
590
|
+
return null;
|
|
591
|
+
}
|
|
592
|
+
return (0, jsx_runtime_1.jsxs)(react_1.Fragment, {
|
|
593
|
+
children: [(0, jsx_runtime_1.jsx)(shield_1.Shield, {
|
|
594
|
+
className: "zen-high-level-shield",
|
|
595
|
+
dataShieldId: dataShieldId,
|
|
596
|
+
isVisible: isOpen
|
|
597
|
+
}), portal, (0, jsx_runtime_1.jsx)(filtersSaveModal_1.FiltersSaveModal, {
|
|
591
598
|
className: sidePanel_1.CUSTOM_POPUP_COMPONENT_CLASSNAME,
|
|
592
599
|
isOpen: isSaveModalOpen,
|
|
593
600
|
onClose: toggleSaveModal,
|
package/dist/filters/filters.js
CHANGED
|
@@ -223,7 +223,6 @@ const chipStatusProvider_1 = require("../chip/chipStatusProvider");
|
|
|
223
223
|
const filtersSavedItemsProvider_1 = require("./components/filtersSavedItemsProvider");
|
|
224
224
|
const filtersHelper_1 = require("./filtersHelper");
|
|
225
225
|
const filtersSearch_1 = require("./components/filtersSearch");
|
|
226
|
-
const useUniqueId_1 = require("../commonHelpers/useUniqueId");
|
|
227
226
|
const isElementsEqual_1 = require("../utils/compareElementsUtils/isElementsEqual");
|
|
228
227
|
const iconFilter_1 = require("../icons/iconFilter");
|
|
229
228
|
const filtersSidePanel_1 = require("./components/filtersSidePanel");
|
|
@@ -265,7 +264,7 @@ const Filters = ({
|
|
|
265
264
|
const isSavedFiltersMode = Boolean(savedFilters && onRemoveSavedFilter && onSaveFilter);
|
|
266
265
|
const isPinMode = Boolean(typeof isPinned === "boolean" && onPinChange);
|
|
267
266
|
const isRecentSearchesMode = Boolean(recentSearches && onRemoveRecentSearchItem && onSaveRecentSearch);
|
|
268
|
-
const uniqueKey = (0,
|
|
267
|
+
const uniqueKey = (0, react_1.useId)();
|
|
269
268
|
const popupId = `${uniqueKey}_popup`;
|
|
270
269
|
const isMobile = (0, useMobile_1.useMobile)();
|
|
271
270
|
const [isSidePanelOpen, setIsSidePanelOpen] = (0, react_1.useState)(false);
|