@gooddata/sdk-ui-vis-commons 10.44.0-alpha.3 → 10.44.0-alpha.4
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/esm/coloring/PatternFill.d.ts +1 -2
- package/esm/coloring/PatternFill.d.ts.map +1 -1
- package/esm/coloring/PatternFill.js +2 -6
- package/esm/coloring/PatternFill.js.map +1 -1
- package/esm/compactSize/HeadlinePagination.d.ts +2 -2
- package/esm/compactSize/HeadlinePagination.d.ts.map +1 -1
- package/esm/compactSize/HeadlinePagination.js +6 -9
- package/esm/compactSize/HeadlinePagination.js.map +1 -1
- package/esm/compactSize/HeadlinePaginationRenderer.d.ts +1 -2
- package/esm/compactSize/HeadlinePaginationRenderer.d.ts.map +1 -1
- package/esm/compactSize/HeadlinePaginationRenderer.js +7 -8
- package/esm/compactSize/HeadlinePaginationRenderer.js.map +1 -1
- package/esm/legend/ColorLegend.d.ts +2 -2
- package/esm/legend/ColorLegend.d.ts.map +1 -1
- package/esm/legend/ColorLegend.js +13 -20
- package/esm/legend/ColorLegend.js.map +1 -1
- package/esm/legend/FluidLegend.d.ts +1 -2
- package/esm/legend/FluidLegend.d.ts.map +1 -1
- package/esm/legend/FluidLegend.js +5 -8
- package/esm/legend/FluidLegend.js.map +1 -1
- package/esm/legend/HeatmapLegend.d.ts +1 -2
- package/esm/legend/HeatmapLegend.d.ts.map +1 -1
- package/esm/legend/HeatmapLegend.js +3 -2
- package/esm/legend/HeatmapLegend.js.map +1 -1
- package/esm/legend/Legend.d.ts +1 -2
- package/esm/legend/Legend.d.ts.map +1 -1
- package/esm/legend/Legend.js +18 -20
- package/esm/legend/Legend.js.map +1 -1
- package/esm/legend/LegendGroup.d.ts +3 -3
- package/esm/legend/LegendGroup.d.ts.map +1 -1
- package/esm/legend/LegendGroup.js +2 -8
- package/esm/legend/LegendGroup.js.map +1 -1
- package/esm/legend/LegendItem.d.ts +1 -2
- package/esm/legend/LegendItem.d.ts.map +1 -1
- package/esm/legend/LegendItem.js +4 -5
- package/esm/legend/LegendItem.js.map +1 -1
- package/esm/legend/LegendLabelItem.d.ts +1 -2
- package/esm/legend/LegendLabelItem.d.ts.map +1 -1
- package/esm/legend/LegendLabelItem.js +2 -4
- package/esm/legend/LegendLabelItem.js.map +1 -1
- package/esm/legend/LegendList.d.ts +2 -2
- package/esm/legend/LegendList.d.ts.map +1 -1
- package/esm/legend/LegendList.js +13 -13
- package/esm/legend/LegendList.js.map +1 -1
- package/esm/legend/LegendSeries.d.ts +4 -4
- package/esm/legend/LegendSeries.d.ts.map +1 -1
- package/esm/legend/LegendSeries.js +9 -13
- package/esm/legend/LegendSeries.js.map +1 -1
- package/esm/legend/Paging.d.ts +2 -2
- package/esm/legend/Paging.d.ts.map +1 -1
- package/esm/legend/Paging.js +6 -10
- package/esm/legend/Paging.js.map +1 -1
- package/esm/legend/PopUpLegend/LegendDialog.d.ts +3 -3
- package/esm/legend/PopUpLegend/LegendDialog.d.ts.map +1 -1
- package/esm/legend/PopUpLegend/LegendDialog.js +9 -15
- package/esm/legend/PopUpLegend/LegendDialog.js.map +1 -1
- package/esm/legend/PopUpLegend/PopUpLegend.d.ts +2 -2
- package/esm/legend/PopUpLegend/PopUpLegend.d.ts.map +1 -1
- package/esm/legend/PopUpLegend/PopUpLegend.js +6 -8
- package/esm/legend/PopUpLegend/PopUpLegend.js.map +1 -1
- package/esm/legend/PopUpLegend/RowLegend.d.ts +2 -3
- package/esm/legend/PopUpLegend/RowLegend.d.ts.map +1 -1
- package/esm/legend/PopUpLegend/RowLegend.js +8 -14
- package/esm/legend/PopUpLegend/RowLegend.js.map +1 -1
- package/esm/legend/StaticLegend.d.ts +2 -2
- package/esm/legend/StaticLegend.d.ts.map +1 -1
- package/esm/legend/StaticLegend.js +9 -14
- package/esm/legend/StaticLegend.js.map +1 -1
- package/esm/legend/context.d.ts +1 -2
- package/esm/legend/context.d.ts.map +1 -1
- package/esm/legend/context.js +5 -5
- package/esm/legend/context.js.map +1 -1
- package/esm/sdk-ui-vis-commons.d.ts +12 -10
- package/package.json +14 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RowLegend.js","sourceRoot":"","sources":["../../../src/legend/PopUpLegend/RowLegend.tsx"],"names":[],"mappings":"AAAA,qCAAqC;
|
|
1
|
+
{"version":3,"file":"RowLegend.js","sourceRoot":"","sources":["../../../src/legend/PopUpLegend/RowLegend.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ReactElement } from "react";
|
|
2
2
|
import { ButtonsOrientationType } from "./Paging.js";
|
|
3
3
|
import { ISeriesItem, ItemBorderRadiusPredicate } from "./types.js";
|
|
4
4
|
import { ChartFillType } from "../coloring/types.js";
|
|
@@ -23,6 +23,6 @@ export interface IStaticLegendProps {
|
|
|
23
23
|
/**
|
|
24
24
|
* @internal
|
|
25
25
|
*/
|
|
26
|
-
export declare const StaticLegend:
|
|
26
|
+
export declare const StaticLegend: import("react").NamedExoticComponent<IStaticLegendProps>;
|
|
27
27
|
export declare const getPagingValues: (page: number, visibleItemsCount: number, seriesLength: number, hasCustomComponent: boolean) => [number, number];
|
|
28
28
|
//# sourceMappingURL=StaticLegend.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticLegend.d.ts","sourceRoot":"","sources":["../../src/legend/StaticLegend.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StaticLegend.d.ts","sourceRoot":"","sources":["../../src/legend/StaticLegend.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAA0C,MAAM,OAAO,CAAC;AAS7E,OAAO,EAAE,sBAAsB,EAAU,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;IACzD,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACtC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,aAAa,CAAC;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,0DAqHvB,CAAC;AAOH,eAAO,MAAM,eAAe,GACxB,MAAM,MAAM,EACZ,mBAAmB,MAAM,EACzB,cAAc,MAAM,EACpB,oBAAoB,OAAO,KAC5B,CAAC,MAAM,EAAE,MAAM,CAMjB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
2
|
// (C) 2007-2025 GoodData Corporation
|
|
2
|
-
import
|
|
3
|
+
import { memo, useCallback, useState } from "react";
|
|
3
4
|
import cx from "classnames";
|
|
4
5
|
import noop from "lodash/noop.js";
|
|
5
6
|
import { ITEM_HEIGHT, STATIC_PAGING_HEIGHT, calculateStaticLegend } from "./helpers.js";
|
|
@@ -11,16 +12,16 @@ import { BOTTOM, TOP } from "./PositionTypes.js";
|
|
|
11
12
|
/**
|
|
12
13
|
* @internal
|
|
13
14
|
*/
|
|
14
|
-
export const StaticLegend =
|
|
15
|
-
const [page, setPage] =
|
|
16
|
-
const handleNextPage =
|
|
15
|
+
export const StaticLegend = memo(function StaticLegend({ buttonOrientation = "upDown", paginationHeight = STATIC_PAGING_HEIGHT, containerHeight, position, series, enableBorderRadius, shouldFillAvailableSpace, label, customComponent, isLabelVisible = true, onItemClick, onPageChanged, chartFill, }) {
|
|
16
|
+
const [page, setPage] = useState(1);
|
|
17
|
+
const handleNextPage = useCallback(() => {
|
|
17
18
|
setPage((currentPage) => {
|
|
18
19
|
const newPage = currentPage + 1;
|
|
19
20
|
onPageChanged?.(newPage);
|
|
20
21
|
return newPage;
|
|
21
22
|
});
|
|
22
23
|
}, [onPageChanged]);
|
|
23
|
-
const handlePreviousPage =
|
|
24
|
+
const handlePreviousPage = useCallback(() => {
|
|
24
25
|
setPage((currentPage) => {
|
|
25
26
|
const newPage = currentPage - 1;
|
|
26
27
|
onPageChanged?.(newPage);
|
|
@@ -31,7 +32,7 @@ export const StaticLegend = React.memo(function StaticLegend({ buttonOrientation
|
|
|
31
32
|
const shouldDisplayCustomComponent = page === 1 && hasCustomComponent;
|
|
32
33
|
const columnNum = position === "dialog" ? 2 : 1;
|
|
33
34
|
const labelHeight = label && isLabelVisible ? ITEM_HEIGHT : 0;
|
|
34
|
-
const labelNode = label && isLabelVisible ?
|
|
35
|
+
const labelNode = label && isLabelVisible ? _jsx(LegendLabelItem, { label: label }) : null;
|
|
35
36
|
const contentHeight = containerHeight - labelHeight;
|
|
36
37
|
const seriesCount = series.length;
|
|
37
38
|
const { hasPaging, visibleItemsCount } = calculateStaticLegend(seriesCount, contentHeight, columnNum, paginationHeight);
|
|
@@ -48,15 +49,9 @@ export const StaticLegend = React.memo(function StaticLegend({ buttonOrientation
|
|
|
48
49
|
});
|
|
49
50
|
// Without paging
|
|
50
51
|
if (position === TOP || position === BOTTOM) {
|
|
51
|
-
return (
|
|
52
|
-
React.createElement(LegendSeries, { series: series, label: label, onToggleItem: onItemClick ?? noop },
|
|
53
|
-
React.createElement(LegendList, { enableBorderRadius: enableBorderRadius, series: series, onItemClick: onItemClick ?? noop, chartFill: chartFill }))));
|
|
52
|
+
return (_jsx("div", { className: classNames, children: _jsx(LegendSeries, { series: series, label: label, onToggleItem: onItemClick ?? noop, children: _jsx(LegendList, { enableBorderRadius: enableBorderRadius, series: series, onItemClick: onItemClick ?? noop, chartFill: chartFill }) }) }));
|
|
54
53
|
}
|
|
55
|
-
return (
|
|
56
|
-
React.createElement(LegendSeries, { series: pagedSeries, label: label, style: { height: seriesHeight }, onToggleItem: onItemClick ?? noop },
|
|
57
|
-
labelNode,
|
|
58
|
-
shouldDisplayCustomComponent ? (customComponent) : (React.createElement(LegendList, { enableBorderRadius: enableBorderRadius, series: pagedSeries, onItemClick: onItemClick ?? noop, chartFill: chartFill }))),
|
|
59
|
-
usePaging ? (React.createElement(Paging, { page: page, pagesCount: pagesCount, showNextPage: handleNextPage, showPrevPage: handlePreviousPage, buttonsOrientation: buttonOrientation })) : null));
|
|
54
|
+
return (_jsxs("div", { className: classNames, children: [_jsxs(LegendSeries, { series: pagedSeries, label: label, style: { height: seriesHeight }, onToggleItem: onItemClick ?? noop, children: [labelNode, shouldDisplayCustomComponent ? (customComponent) : (_jsx(LegendList, { enableBorderRadius: enableBorderRadius, series: pagedSeries, onItemClick: onItemClick ?? noop, chartFill: chartFill }))] }), usePaging ? (_jsx(Paging, { page: page, pagesCount: pagesCount, showNextPage: handleNextPage, showPrevPage: handlePreviousPage, buttonsOrientation: buttonOrientation })) : null] }));
|
|
60
55
|
});
|
|
61
56
|
const getPagesCount = (seriesLength, visibleItemsCount, hasCustomComponent) => {
|
|
62
57
|
const defaultPagesCount = Math.ceil(seriesLength / visibleItemsCount);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticLegend.js","sourceRoot":"","sources":["../../src/legend/StaticLegend.tsx"],"names":[],"mappings":"AAAA,qCAAqC;
|
|
1
|
+
{"version":3,"file":"StaticLegend.js","sourceRoot":"","sources":["../../src/legend/StaticLegend.tsx"],"names":[],"mappings":"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"}
|
package/esm/legend/context.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { ISeriesItem } from "./types.js";
|
|
3
2
|
export declare const useLegendSeriesContextValue: ({ series, focusedIndex, id, }: {
|
|
4
3
|
series: ISeriesItem[];
|
|
@@ -27,7 +26,7 @@ export interface IVisibilityContext {
|
|
|
27
26
|
* React context for visibility detection
|
|
28
27
|
* @internal
|
|
29
28
|
*/
|
|
30
|
-
export declare const VisibilityContext:
|
|
29
|
+
export declare const VisibilityContext: import("react").Context<IVisibilityContext | null>;
|
|
31
30
|
/**
|
|
32
31
|
* Hook for child components to use visibility detection
|
|
33
32
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/legend/context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/legend/context.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,eAAO,MAAM,2BAA2B,GAAI,+BAIzC;IACC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;CACd;;wBAIe,WAAW;;CAY1B,CAAC;AAEF,eAAO,MAAM,wBAAwB;;wBAdrB,WAAW;;EAe2D,CAAC;AAEvF;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACnE,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,oDAAiD,CAAC;AAEhF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,0BAM7B,CAAC"}
|
package/esm/legend/context.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// (C) 2025 GoodData Corporation
|
|
2
|
-
import
|
|
2
|
+
import { createContext, useCallback, useContext, useMemo } from "react";
|
|
3
3
|
import { createContextStore } from "@gooddata/sdk-ui";
|
|
4
4
|
export const useLegendSeriesContextValue = ({ series, focusedIndex, id, }) => {
|
|
5
5
|
const descriptionId = `${id}-description`;
|
|
6
|
-
const makeItemId =
|
|
7
|
-
return
|
|
6
|
+
const makeItemId = useCallback((item) => item && `${id}-${series.indexOf(item)}`, [id, series]);
|
|
7
|
+
return useMemo(() => ({
|
|
8
8
|
focusedItem: series[focusedIndex],
|
|
9
9
|
makeItemId,
|
|
10
10
|
descriptionId,
|
|
@@ -15,13 +15,13 @@ export const LegendSeriesContextStore = createContextStore("LegendSeries");
|
|
|
15
15
|
* React context for visibility detection
|
|
16
16
|
* @internal
|
|
17
17
|
*/
|
|
18
|
-
export const VisibilityContext =
|
|
18
|
+
export const VisibilityContext = createContext(null);
|
|
19
19
|
/**
|
|
20
20
|
* Hook for child components to use visibility detection
|
|
21
21
|
* @internal
|
|
22
22
|
*/
|
|
23
23
|
export const useItemVisibility = () => {
|
|
24
|
-
const context =
|
|
24
|
+
const context = useContext(VisibilityContext);
|
|
25
25
|
if (!context) {
|
|
26
26
|
throw new Error("useItemVisibility must be used within a VisibilityProvider");
|
|
27
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/legend/context.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/legend/context.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAItD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EACxC,MAAM,EACN,YAAY,EACZ,EAAE,GAKL,EAAE,EAAE;IACD,MAAM,aAAa,GAAG,GAAG,EAAE,cAAc,CAAC;IAE1C,MAAM,UAAU,GAAG,WAAW,CAC1B,CAAC,IAAkB,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAC/D,CAAC,EAAE,EAAE,MAAM,CAAC,CACf,CAAC;IAEF,OAAO,OAAO,CACV,GAAG,EAAE,CAAC,CAAC;QACH,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC;QACjC,UAAU;QACV,aAAa;KAChB,CAAC,EACF,CAAC,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,CACpD,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GACjC,kBAAkB,CAAiD,cAAc,CAAC,CAAC;AAYvF;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAA4B,IAAI,CAAC,CAAC;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAClC,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* @packageDocumentation
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import { ComponentType } from 'react';
|
|
11
12
|
import { ContentRect } from 'react-measure';
|
|
12
13
|
import { DataViewFacade } from '@gooddata/sdk-ui';
|
|
13
14
|
import { IColor } from '@gooddata/sdk-model';
|
|
@@ -19,7 +20,8 @@ import { IHeaderPredicate } from '@gooddata/sdk-ui';
|
|
|
19
20
|
import { IMappingHeader } from '@gooddata/sdk-ui';
|
|
20
21
|
import { IRgbColorValue } from '@gooddata/sdk-model';
|
|
21
22
|
import { ITheme } from '@gooddata/sdk-model';
|
|
22
|
-
import {
|
|
23
|
+
import { JSX } from 'react/jsx-runtime';
|
|
24
|
+
import { NamedExoticComponent } from 'react';
|
|
23
25
|
import { ReactElement } from 'react';
|
|
24
26
|
import { Rect } from 'react-measure';
|
|
25
27
|
import { SVGAttributes } from 'react';
|
|
@@ -74,7 +76,7 @@ export declare type ChartFillType = "solid" | "pattern" | "outline";
|
|
|
74
76
|
/**
|
|
75
77
|
* @internal
|
|
76
78
|
*/
|
|
77
|
-
export declare const ColorLegend:
|
|
79
|
+
export declare const ColorLegend: ComponentType<Omit<IColorLegendProps, "theme" | "themeIsLoading" | "themeStatus">>;
|
|
78
80
|
|
|
79
81
|
/**
|
|
80
82
|
* @internal
|
|
@@ -128,7 +130,7 @@ export declare const FLUID_LEGEND_THRESHOLD = 768;
|
|
|
128
130
|
/**
|
|
129
131
|
* @internal
|
|
130
132
|
*/
|
|
131
|
-
export declare const FluidLegend:
|
|
133
|
+
export declare const FluidLegend: NamedExoticComponent<IFluidLegendProps>;
|
|
132
134
|
|
|
133
135
|
/**
|
|
134
136
|
* @internal
|
|
@@ -253,12 +255,12 @@ export declare function getValidColorPalette(colors?: string[], colorPalette?: I
|
|
|
253
255
|
/**
|
|
254
256
|
* @internal
|
|
255
257
|
*/
|
|
256
|
-
export declare function HeadlinePagination({ renderSecondaryItem, renderTertiaryItem, accessibilityConfig, }: IHeadlinePaginationProps):
|
|
258
|
+
export declare function HeadlinePagination({ renderSecondaryItem, renderTertiaryItem, accessibilityConfig, }: IHeadlinePaginationProps): JSX.Element;
|
|
257
259
|
|
|
258
260
|
/**
|
|
259
261
|
* @internal
|
|
260
262
|
*/
|
|
261
|
-
export declare const HeatmapLegend:
|
|
263
|
+
export declare const HeatmapLegend: NamedExoticComponent<IHeatmapLegendProps>;
|
|
262
264
|
|
|
263
265
|
/**
|
|
264
266
|
* @internal
|
|
@@ -631,7 +633,7 @@ export declare type ItemBorderRadiusPredicate = (item: any) => boolean;
|
|
|
631
633
|
/**
|
|
632
634
|
* @internal
|
|
633
635
|
*/
|
|
634
|
-
export declare const Legend:
|
|
636
|
+
export declare const Legend: NamedExoticComponent<ILegendProps>;
|
|
635
637
|
|
|
636
638
|
/**
|
|
637
639
|
* @internal
|
|
@@ -668,7 +670,7 @@ export declare function normalizeColorToRGB(color: string): string;
|
|
|
668
670
|
/**
|
|
669
671
|
* @internal
|
|
670
672
|
*/
|
|
671
|
-
export declare function Paging(props: IPagingProps):
|
|
673
|
+
export declare function Paging(props: IPagingProps): ReactElement;
|
|
672
674
|
|
|
673
675
|
/**
|
|
674
676
|
* @internal
|
|
@@ -704,7 +706,7 @@ export declare const PATTERN_FILLS: {
|
|
|
704
706
|
/**
|
|
705
707
|
* @internal
|
|
706
708
|
*/
|
|
707
|
-
export declare function PatternFill({ patternFill }: IPatternFillProps):
|
|
709
|
+
export declare function PatternFill({ patternFill }: IPatternFillProps): JSX.Element;
|
|
708
710
|
|
|
709
711
|
/**
|
|
710
712
|
* @internal
|
|
@@ -714,7 +716,7 @@ export declare type PatternFillName = (typeof PATTERN_FILLS)[number]["name"];
|
|
|
714
716
|
/**
|
|
715
717
|
* @internal
|
|
716
718
|
*/
|
|
717
|
-
export declare function PopUpLegend(props: IPopUpLegendProps):
|
|
719
|
+
export declare function PopUpLegend(props: IPopUpLegendProps): JSX.Element;
|
|
718
720
|
|
|
719
721
|
/**
|
|
720
722
|
* TODO: rename
|
|
@@ -736,7 +738,7 @@ export declare function shouldShowFluid(documentObj: Document): boolean;
|
|
|
736
738
|
/**
|
|
737
739
|
* @internal
|
|
738
740
|
*/
|
|
739
|
-
export declare const StaticLegend:
|
|
741
|
+
export declare const StaticLegend: NamedExoticComponent<IStaticLegendProps>;
|
|
740
742
|
|
|
741
743
|
/**
|
|
742
744
|
* @internal
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-ui-vis-commons",
|
|
3
|
-
"version": "10.44.0-alpha.
|
|
3
|
+
"version": "10.44.0-alpha.4",
|
|
4
4
|
"description": "GoodData.UI SDK - common functionality for different types of visualizations",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -36,11 +36,11 @@
|
|
|
36
36
|
"react-intl": "7.1.11",
|
|
37
37
|
"react-measure": "^2.5.2",
|
|
38
38
|
"tslib": "2.8.1",
|
|
39
|
-
"@gooddata/sdk-backend-spi": "10.44.0-alpha.
|
|
40
|
-
"@gooddata/sdk-
|
|
41
|
-
"@gooddata/sdk-
|
|
42
|
-
"@gooddata/sdk-ui-kit": "10.44.0-alpha.
|
|
43
|
-
"@gooddata/sdk-ui-theme-provider": "10.44.0-alpha.
|
|
39
|
+
"@gooddata/sdk-backend-spi": "10.44.0-alpha.4",
|
|
40
|
+
"@gooddata/sdk-ui": "10.44.0-alpha.4",
|
|
41
|
+
"@gooddata/sdk-model": "10.44.0-alpha.4",
|
|
42
|
+
"@gooddata/sdk-ui-kit": "10.44.0-alpha.4",
|
|
43
|
+
"@gooddata/sdk-ui-theme-provider": "10.44.0-alpha.4"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@gooddata/eslint-config": "^4.1.1",
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
"@testing-library/react": "16.3.0",
|
|
52
52
|
"@types/lodash": "^4.14.202",
|
|
53
53
|
"@types/node": "^22.13.0",
|
|
54
|
-
"@types/react": "
|
|
55
|
-
"@types/react-dom": "
|
|
54
|
+
"@types/react": "19.1.11",
|
|
55
|
+
"@types/react-dom": "19.1.7",
|
|
56
56
|
"@types/react-measure": "^2.0.12",
|
|
57
57
|
"@typescript-eslint/eslint-plugin": "^8.38.0",
|
|
58
58
|
"@typescript-eslint/parser": "^8.38.0",
|
|
@@ -75,8 +75,8 @@
|
|
|
75
75
|
"happy-dom": "18.0.1",
|
|
76
76
|
"prettier": "^3.6.2",
|
|
77
77
|
"raf": "^3.4.1",
|
|
78
|
-
"react": "
|
|
79
|
-
"react-dom": "
|
|
78
|
+
"react": "19.1.1",
|
|
79
|
+
"react-dom": "19.1.1",
|
|
80
80
|
"sass": "1.66.1",
|
|
81
81
|
"stylelint": "^13.8.0",
|
|
82
82
|
"stylelint-checkstyle-formatter": "^0.1.2",
|
|
@@ -84,12 +84,12 @@
|
|
|
84
84
|
"typescript": "5.8.3",
|
|
85
85
|
"vitest": "3.2.4",
|
|
86
86
|
"vitest-dom": "0.1.1",
|
|
87
|
-
"@gooddata/reference-workspace": "10.44.0-alpha.
|
|
88
|
-
"@gooddata/sdk-backend-mockingbird": "10.44.0-alpha.
|
|
87
|
+
"@gooddata/reference-workspace": "10.44.0-alpha.4",
|
|
88
|
+
"@gooddata/sdk-backend-mockingbird": "10.44.0-alpha.4"
|
|
89
89
|
},
|
|
90
90
|
"peerDependencies": {
|
|
91
|
-
"react": "^
|
|
92
|
-
"react-dom": "^
|
|
91
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
92
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
93
93
|
},
|
|
94
94
|
"scripts": {
|
|
95
95
|
"_phase:build": "npm run build",
|