@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":"LegendItem.js","sourceRoot":"","sources":["../../src/legend/LegendItem.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,
|
|
1
|
+
{"version":3,"file":"LegendItem.js","sourceRoot":"","sources":["../../src/legend/LegendItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
export interface ILegendLabel {
|
|
3
2
|
label?: string;
|
|
4
3
|
}
|
|
5
|
-
export declare function LegendLabelItem(props: ILegendLabel):
|
|
4
|
+
export declare function LegendLabelItem(props: ILegendLabel): import("react/jsx-runtime").JSX.Element | null;
|
|
6
5
|
//# sourceMappingURL=LegendLabelItem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendLabelItem.d.ts","sourceRoot":"","sources":["../../src/legend/LegendLabelItem.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LegendLabelItem.d.ts","sourceRoot":"","sources":["../../src/legend/LegendLabelItem.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,kDAUlD"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
import React from "react";
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
2
|
export function LegendLabelItem(props) {
|
|
4
3
|
const { label } = props;
|
|
5
4
|
if (!label) {
|
|
6
5
|
return null;
|
|
7
6
|
}
|
|
8
|
-
return (
|
|
9
|
-
React.createElement("div", { className: "series-name" }, `${label}:`)));
|
|
7
|
+
return (_jsx("div", { className: "series-item", children: _jsx("div", { className: "series-name", children: `${label}:` }) }));
|
|
10
8
|
}
|
|
11
9
|
//# sourceMappingURL=LegendLabelItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendLabelItem.js","sourceRoot":"","sources":["../../src/legend/LegendLabelItem.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LegendLabelItem.js","sourceRoot":"","sources":["../../src/legend/LegendLabelItem.tsx"],"names":[],"mappings":";AAMA,MAAM,UAAU,eAAe,CAAC,KAAmB;IAC/C,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACxB,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,CACH,cAAK,SAAS,EAAC,aAAa,YACxB,cAAK,SAAS,EAAC,aAAa,YAAE,GAAG,KAAK,GAAG,GAAO,GAC9C,CACT,CAAC;AACN,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ReactElement } from "react";
|
|
2
2
|
import { ISeriesItem, ItemBorderRadiusPredicate } from "./types.js";
|
|
3
3
|
import { ChartFillType } from "../coloring/types.js";
|
|
4
4
|
export interface ILegendListProps {
|
|
@@ -9,7 +9,7 @@ export interface ILegendListProps {
|
|
|
9
9
|
chartFill?: ChartFillType;
|
|
10
10
|
}
|
|
11
11
|
export declare function LegendSeparator(): ReactElement;
|
|
12
|
-
export declare const LegendList:
|
|
12
|
+
export declare const LegendList: import("react").NamedExoticComponent<ILegendListProps & {
|
|
13
13
|
initialIndex?: number;
|
|
14
14
|
}>;
|
|
15
15
|
//# sourceMappingURL=LegendList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendList.d.ts","sourceRoot":"","sources":["../../src/legend/LegendList.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LegendList.d.ts","sourceRoot":"","sources":["../../src/legend/LegendList.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAgB,MAAM,OAAO,CAAC;AAMnD,OAAO,EACH,WAAW,EACX,yBAAyB,EAI5B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACzC,SAAS,CAAC,EAAE,aAAa,CAAC;CAC7B;AAED,wBAAgB,eAAe,IAAI,YAAY,CAE9C;AA4CD,eAAO,MAAM,UAAU;mBAMgB,MAAM;EAuC3C,CAAC"}
|
package/esm/legend/LegendList.js
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
// (C) 2007-2025 GoodData Corporation
|
|
2
|
-
import
|
|
3
|
+
import { memo, useRef } from "react";
|
|
3
4
|
import { LegendSeriesContextStore } from "./context.js";
|
|
4
5
|
import { groupSeries } from "./helpers.js";
|
|
5
6
|
import { LegendGroup } from "./LegendGroup.js";
|
|
6
7
|
import LegendItem from "./LegendItem.js";
|
|
7
8
|
import { isLegendGroup, isSeriesItemMetric, isSeriesItemSeparator, } from "./types.js";
|
|
8
9
|
export function LegendSeparator() {
|
|
9
|
-
return
|
|
10
|
+
return _jsx("div", { className: "legend-separator", "data-testid": "legend-separator", "aria-hidden": true });
|
|
10
11
|
}
|
|
11
|
-
const LegendListItem =
|
|
12
|
+
const LegendListItem = memo(function LegendListItem({ index, item, enableBorderRadius, width, describedBy, onItemClick, chartFill, }) {
|
|
12
13
|
const borderRadius = shouldItemHaveBorderRadius(item, enableBorderRadius);
|
|
13
14
|
if (isSeriesItemSeparator(item)) {
|
|
14
|
-
return
|
|
15
|
+
return _jsx(LegendSeparator, {}, index);
|
|
15
16
|
}
|
|
16
17
|
if (isSeriesItemMetric(item)) {
|
|
17
|
-
return (
|
|
18
|
-
React.createElement(LegendItem, { key: index, index: index, enableBorderRadius: borderRadius, item: item, width: width, onItemClick: onItemClick, describedBy: describedBy, chartFill: chartFill })));
|
|
18
|
+
return (_jsx("div", { style: { display: "contents" }, role: "listitem", children: _jsx(LegendItem, { index: index, enableBorderRadius: borderRadius, item: item, width: width, onItemClick: onItemClick, describedBy: describedBy, chartFill: chartFill }, index) }));
|
|
19
19
|
}
|
|
20
20
|
return null;
|
|
21
21
|
});
|
|
22
|
-
export const LegendList =
|
|
22
|
+
export const LegendList = memo(function LegendList({ series, enableBorderRadius, onItemClick, width, chartFill, }) {
|
|
23
23
|
const descriptionId = LegendSeriesContextStore.useContextStore((ctx) => ctx.descriptionId);
|
|
24
24
|
// Only the first item should have aria-describedby
|
|
25
|
-
const hasRenderedDescription =
|
|
25
|
+
const hasRenderedDescription = useRef(false);
|
|
26
26
|
function Item({ item }) {
|
|
27
27
|
let shouldHaveDescription = false;
|
|
28
28
|
if (isSeriesItemMetric(item) && item.isVisible && !hasRenderedDescription.current) {
|
|
29
29
|
shouldHaveDescription = true;
|
|
30
30
|
hasRenderedDescription.current = true;
|
|
31
31
|
}
|
|
32
|
-
return (
|
|
32
|
+
return (_jsx(LegendListItem, { index: series.indexOf(item), item: item, enableBorderRadius: enableBorderRadius, width: width, onItemClick: onItemClick, chartFill: chartFill, describedBy: shouldHaveDescription ? descriptionId : undefined }));
|
|
33
33
|
}
|
|
34
34
|
return groupSeries(series).map((seriesItem, seriesIndex) => {
|
|
35
35
|
if (isLegendGroup(seriesItem)) {
|
|
36
|
-
return (
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
return (_jsx(LegendGroup, { item: seriesItem, width: width, children: seriesItem.items.map((item, index) => {
|
|
37
|
+
return _jsx(Item, { item: item }, `item-${index}`);
|
|
38
|
+
}) }, `group-${seriesIndex}`));
|
|
39
39
|
}
|
|
40
|
-
return
|
|
40
|
+
return _jsx(Item, { item: seriesItem }, `item-${seriesIndex}`);
|
|
41
41
|
});
|
|
42
42
|
});
|
|
43
43
|
function shouldItemHaveBorderRadius(item, enableBorderRadius = false) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendList.js","sourceRoot":"","sources":["../../src/legend/LegendList.tsx"],"names":[],"mappings":"AAAA,qCAAqC;
|
|
1
|
+
{"version":3,"file":"LegendList.js","sourceRoot":"","sources":["../../src/legend/LegendList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { CSSProperties, ReactNode } from "react";
|
|
2
2
|
import { ISeriesItem } from "./types.js";
|
|
3
3
|
interface ILegendSeriesProps {
|
|
4
4
|
series: ISeriesItem[];
|
|
5
5
|
label?: string;
|
|
6
|
-
children:
|
|
7
|
-
style?:
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
style?: CSSProperties;
|
|
8
8
|
onToggleItem: (item: ISeriesItem) => void;
|
|
9
9
|
className?: string;
|
|
10
10
|
}
|
|
11
|
-
export declare const LegendSeries:
|
|
11
|
+
export declare const LegendSeries: import("react").ForwardRefExoticComponent<ILegendSeriesProps & import("react").RefAttributes<HTMLElement>>;
|
|
12
12
|
export {};
|
|
13
13
|
//# sourceMappingURL=LegendSeries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendSeries.d.ts","sourceRoot":"","sources":["../../src/legend/LegendSeries.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"LegendSeries.d.ts","sourceRoot":"","sources":["../../src/legend/LegendSeries.tsx"],"names":[],"mappings":"AAEA,OAAO,EACH,aAAa,EAGb,SAAS,EAIZ,MAAM,OAAO,CAAC;AASf,OAAO,EAAE,WAAW,EAAsB,MAAM,YAAY,CAAC;AAG7D,UAAU,kBAAkB;IACxB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,YAAY,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,YAAY,4GA0GvB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
2
|
// (C) 2025 GoodData Corporation
|
|
2
|
-
import
|
|
3
|
+
import { forwardRef, useMemo, useState, } from "react";
|
|
3
4
|
import cx from "classnames";
|
|
4
5
|
import { FormattedMessage, useIntl } from "react-intl";
|
|
5
6
|
import { useAutoupdateRef } from "@gooddata/sdk-ui";
|
|
@@ -7,10 +8,10 @@ import { makeLinearKeyboardNavigation, useIdPrefixed } from "@gooddata/sdk-ui-ki
|
|
|
7
8
|
import { LegendSeriesContextStore, VisibilityContext, useLegendSeriesContextValue } from "./context.js";
|
|
8
9
|
import { isSeriesItemMetric } from "./types.js";
|
|
9
10
|
import { useVisibilityDetection } from "./visibilityDetection.js";
|
|
10
|
-
export const LegendSeries =
|
|
11
|
+
export const LegendSeries = forwardRef(function LegendSeries({ series, label, style, children, onToggleItem, className }, ref) {
|
|
11
12
|
const { formatMessage } = useIntl();
|
|
12
13
|
// Create mapping of focusable items to their original indices
|
|
13
|
-
const focusableIndicesMap =
|
|
14
|
+
const focusableIndicesMap = useMemo(() => {
|
|
14
15
|
const map = [];
|
|
15
16
|
series.forEach((item, index) => {
|
|
16
17
|
if (isSeriesItemMetric(item)) {
|
|
@@ -20,7 +21,7 @@ export const LegendSeries = React.forwardRef(function LegendSeries({ series, lab
|
|
|
20
21
|
return map;
|
|
21
22
|
}, [series]);
|
|
22
23
|
// Initialize focus state with the first focusable index, but don't reset it on series changes
|
|
23
|
-
const [focusedIndex, setFocusedIndex] =
|
|
24
|
+
const [focusedIndex, setFocusedIndex] = useState(() => {
|
|
24
25
|
// Calculate the first focusable index directly during initialization
|
|
25
26
|
return focusableIndicesMap[0] ?? 0;
|
|
26
27
|
});
|
|
@@ -39,7 +40,7 @@ export const LegendSeries = React.forwardRef(function LegendSeries({ series, lab
|
|
|
39
40
|
series,
|
|
40
41
|
visibilityContext: visibilityContextValue,
|
|
41
42
|
});
|
|
42
|
-
const handleKeyDown =
|
|
43
|
+
const handleKeyDown = useMemo(() => makeLinearKeyboardNavigation({
|
|
43
44
|
onFocusNext: () => {
|
|
44
45
|
const isVisible = visibilityContextValue.isVisible;
|
|
45
46
|
setFocusedIndex((prevIndex) => findNextVisibleOriginal(prevIndex, focusableIndicesMap, isVisible));
|
|
@@ -63,14 +64,9 @@ export const LegendSeries = React.forwardRef(function LegendSeries({ series, lab
|
|
|
63
64
|
onToggleItem(series[focusedIndex]);
|
|
64
65
|
},
|
|
65
66
|
}), [keyDownDepsRef, visibilityContextValue, focusableIndicesMap]);
|
|
66
|
-
return (
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
React.createElement("div", { className: "series legend-series", role: "list", "aria-label": label
|
|
70
|
-
? formatMessage({ id: "properties.legend.series.named" }, { name: label })
|
|
71
|
-
: formatMessage({ id: "properties.legend.series.unnamed" }), style: style, ref: ref }, children),
|
|
72
|
-
React.createElement("p", { id: descriptionId, className: "sr-only" },
|
|
73
|
-
React.createElement(FormattedMessage, { id: "properties.legend.series.item.description" }))))));
|
|
67
|
+
return (_jsx(LegendSeriesContextStore, { value: legendContextValue, children: _jsx(VisibilityContext.Provider, { value: visibilityContextValue, children: _jsxs("div", { className: cx("series-wrapper legend-series-wrapper", className), role: "group", "aria-activedescendant": makeItemId(series[focusedIndex]), tabIndex: 0, onKeyDown: handleKeyDown, ref: viewportRefCallback, children: [_jsx("div", { className: "series legend-series", role: "list", "aria-label": label
|
|
68
|
+
? formatMessage({ id: "properties.legend.series.named" }, { name: label })
|
|
69
|
+
: formatMessage({ id: "properties.legend.series.unnamed" }), style: style, ref: ref, children: children }), _jsx("p", { id: descriptionId, className: "sr-only", children: _jsx(FormattedMessage, { id: "properties.legend.series.item.description" }) })] }) }) }));
|
|
74
70
|
});
|
|
75
71
|
// Helper functions for finding visible items using original indices
|
|
76
72
|
const findFirstVisibleOriginal = (focusableIndicesMap, isVisible) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendSeries.js","sourceRoot":"","sources":["../../src/legend/LegendSeries.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,
|
|
1
|
+
{"version":3,"file":"LegendSeries.js","sourceRoot":"","sources":["../../src/legend/LegendSeries.tsx"],"names":[],"mappings":"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"}
|
package/esm/legend/Paging.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ReactElement } from "react";
|
|
2
2
|
/**
|
|
3
3
|
* @internal
|
|
4
4
|
*/
|
|
@@ -17,5 +17,5 @@ export type PagingButtonType = "prev" | "next";
|
|
|
17
17
|
/**
|
|
18
18
|
* @internal
|
|
19
19
|
*/
|
|
20
|
-
export declare function Paging(props: IPagingProps):
|
|
20
|
+
export declare function Paging(props: IPagingProps): ReactElement;
|
|
21
21
|
//# sourceMappingURL=Paging.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Paging.d.ts","sourceRoot":"","sources":["../../src/legend/Paging.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Paging.d.ts","sourceRoot":"","sources":["../../src/legend/Paging.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AASrC;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,IAAI,IAAI,CAAC;IACrB,YAAY,IAAI,IAAI,CAAC;IACrB,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;CAC/C;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAC;AAoD/C;;GAEG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CA2BxD"}
|
package/esm/legend/Paging.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import React from "react";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
2
|
import cx from "classnames";
|
|
4
3
|
import { FormattedMessage, useIntl } from "react-intl";
|
|
5
4
|
import { Button } from "@gooddata/sdk-ui-kit";
|
|
@@ -23,19 +22,16 @@ function PagingButton({ type, buttonsOrientation, handler, disabled }) {
|
|
|
23
22
|
const intl = useIntl();
|
|
24
23
|
const classes = cx("gd-button-link", "gd-button-icon-only", `gd-icon-chevron-${getbuttonIcoStyle(type, buttonsOrientation)}`, "paging-button");
|
|
25
24
|
const buttonLabel = type === "prev" ? intl.formatMessage(messages.previous) : intl.formatMessage(messages.next);
|
|
26
|
-
return (
|
|
25
|
+
return (_jsx(Button, { className: classes, onClick: handler, disabled: disabled, accessibilityConfig: { ariaLabel: buttonLabel } }));
|
|
27
26
|
}
|
|
28
27
|
/**
|
|
29
28
|
* @internal
|
|
30
29
|
*/
|
|
31
30
|
export function Paging(props) {
|
|
32
31
|
const { page, pagesCount, buttonsOrientation = "upDown", showNextPage, showPrevPage } = props;
|
|
33
|
-
return (
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
pagesCount,
|
|
38
|
-
} }),
|
|
39
|
-
React.createElement(PagingButton, { type: "next", buttonsOrientation: buttonsOrientation, handler: showNextPage, disabled: page === pagesCount })));
|
|
32
|
+
return (_jsxs("div", { className: "paging", "data-testid": "Paging", children: [_jsx(PagingButton, { type: "prev", buttonsOrientation: buttonsOrientation, handler: showPrevPage, disabled: page === 1 }), _jsx(FormattedMessage, { id: "visualizations.of", tagName: "span", values: {
|
|
33
|
+
page: _jsx("strong", { children: page }),
|
|
34
|
+
pagesCount,
|
|
35
|
+
} }), _jsx(PagingButton, { type: "next", buttonsOrientation: buttonsOrientation, handler: showNextPage, disabled: page === pagesCount })] }));
|
|
40
36
|
}
|
|
41
37
|
//# sourceMappingURL=Paging.js.map
|
package/esm/legend/Paging.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Paging.js","sourceRoot":"","sources":["../../src/legend/Paging.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Paging.js","sourceRoot":"","sources":["../../src/legend/Paging.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAoBzC,SAAS,iBAAiB,CACtB,IAAsB,EACtB,kBAA0C;IAE1C,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAClB,IAAI,kBAAkB,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAClB,IAAI,kBAAkB,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AASD,SAAS,YAAY,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAsB;IACrF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,EAAE,CACd,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,CAAC,EAAE,EAChE,eAAe,CAClB,CAAC;IAEF,MAAM,WAAW,GACb,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEhG,OAAO,CACH,KAAC,MAAM,IACH,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,mBAAmB,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,GACjD,CACL,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,KAAmB;IACtC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,GAAG,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAE9F,OAAO,CACH,eAAK,SAAS,EAAC,QAAQ,iBAAc,QAAQ,aACzC,KAAC,YAAY,IACT,IAAI,EAAC,MAAM,EACX,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,IAAI,KAAK,CAAC,GACtB,EACF,KAAC,gBAAgB,IACb,EAAE,EAAC,mBAAmB,EACtB,OAAO,EAAC,MAAM,EACd,MAAM,EAAE;oBACJ,IAAI,EAAE,2BAAS,IAAI,GAAU;oBAC7B,UAAU;iBACb,GACH,EACF,KAAC,YAAY,IACT,IAAI,EAAC,MAAM,EACX,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,IAAI,KAAK,UAAU,GAC/B,IACA,CACT,CAAC;AACN,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
2
|
export interface ILegendDialogProps {
|
|
3
3
|
name: string;
|
|
4
4
|
isOpen: boolean;
|
|
5
5
|
alignTo: string;
|
|
6
6
|
onCloseDialog: () => void;
|
|
7
|
-
children?:
|
|
7
|
+
children?: ReactNode;
|
|
8
8
|
id: string;
|
|
9
9
|
}
|
|
10
|
-
export declare function LegendDialog({ name, children, isOpen, alignTo, onCloseDialog, id }: ILegendDialogProps):
|
|
10
|
+
export declare function LegendDialog({ name, children, isOpen, alignTo, onCloseDialog, id }: ILegendDialogProps): import("react/jsx-runtime").JSX.Element | null;
|
|
11
11
|
//# sourceMappingURL=LegendDialog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDialog.d.ts","sourceRoot":"","sources":["../../../src/legend/PopUpLegend/LegendDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LegendDialog.d.ts","sourceRoot":"","sources":["../../../src/legend/PopUpLegend/LegendDialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAsD,SAAS,EAAuB,MAAM,OAAO,CAAC;AA0F3G,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,kBAAkB,kDA0BtG"}
|
|
@@ -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 { useCallback, useRef } from "react";
|
|
3
4
|
import cx from "classnames";
|
|
4
5
|
import { DialogCloseButton, UiAutofocus, UiFocusTrap, ZOOM_THRESHOLD, ZoomAwareOverlay, useIdPrefixed, useIsZoomed, useMediaQuery, } from "@gooddata/sdk-ui-kit";
|
|
5
6
|
import { legendDialogAlignPoints, legendMobileDialogAlignPoints } from "./alignPoints.js";
|
|
@@ -9,12 +10,12 @@ const LegendDialogWrapper = ({ children }) => {
|
|
|
9
10
|
};
|
|
10
11
|
function LegendDialogContent({ title, onCloseDialog, children, id }) {
|
|
11
12
|
const isZoomed = useIsZoomed(ZOOM_THRESHOLD);
|
|
12
|
-
const dialogRef =
|
|
13
|
-
const handleClose =
|
|
13
|
+
const dialogRef = useRef(null);
|
|
14
|
+
const handleClose = useCallback((e) => {
|
|
14
15
|
e.preventDefault();
|
|
15
16
|
onCloseDialog();
|
|
16
17
|
}, [onCloseDialog]);
|
|
17
|
-
const handleBlur =
|
|
18
|
+
const handleBlur = useCallback((e) => {
|
|
18
19
|
// e.relatedTarget is the element receiving focus after the blur
|
|
19
20
|
if (!dialogRef.current || dialogRef.current.contains(e.relatedTarget)) {
|
|
20
21
|
return;
|
|
@@ -25,21 +26,14 @@ function LegendDialogContent({ title, onCloseDialog, children, id }) {
|
|
|
25
26
|
zoomed: isZoomed,
|
|
26
27
|
});
|
|
27
28
|
const titleId = useIdPrefixed("legendDialogContentTitle");
|
|
28
|
-
return (
|
|
29
|
-
React.createElement(UiFocusTrap, null,
|
|
30
|
-
React.createElement("div", { className: "legend-header" },
|
|
31
|
-
React.createElement("div", { className: "legend-header-title", id: titleId }, title),
|
|
32
|
-
React.createElement(DialogCloseButton, { className: "s-legend-close legend-close gd-icon-cross gd-button-link gd-button-icon-only", onClose: handleClose })),
|
|
33
|
-
React.createElement(UiAutofocus, null,
|
|
34
|
-
React.createElement("div", { className: "legend-content" }, children)))));
|
|
29
|
+
return (_jsx("div", { className: className, id: id, role: "dialog", "aria-modal": false, "aria-labelledby": titleId, onBlur: handleBlur, ref: dialogRef, children: _jsxs(UiFocusTrap, { children: [_jsxs("div", { className: "legend-header", children: [_jsx("div", { className: "legend-header-title", id: titleId, children: title }), _jsx(DialogCloseButton, { className: "s-legend-close legend-close gd-icon-cross gd-button-link gd-button-icon-only", onClose: handleClose })] }), _jsx(UiAutofocus, { children: _jsx("div", { className: "legend-content", children: children }) })] }) }));
|
|
35
30
|
}
|
|
36
31
|
export function LegendDialog({ name, children, isOpen, alignTo, onCloseDialog, id }) {
|
|
37
32
|
if (!isOpen) {
|
|
38
33
|
return null;
|
|
39
34
|
}
|
|
40
|
-
return (
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}));
|
|
35
|
+
return (_jsx(LegendDialogWrapper, { children: (isMobile) => {
|
|
36
|
+
return (_jsx(ZoomAwareOverlay, { alignTo: alignTo, alignPoints: isMobile ? legendMobileDialogAlignPoints : legendDialogAlignPoints, closeOnOutsideClick: !isMobile, onClose: onCloseDialog, className: "kpi-alert-dialog-overlay", ensureVisibility: true, closeOnEscape: true, children: _jsx(LegendDialogContent, { title: name, onCloseDialog: onCloseDialog, id: id, children: children }) }));
|
|
37
|
+
} }));
|
|
44
38
|
}
|
|
45
39
|
//# sourceMappingURL=LegendDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDialog.js","sourceRoot":"","sources":["../../../src/legend/PopUpLegend/LegendDialog.tsx"],"names":[],"mappings":"AAAA,qCAAqC;
|
|
1
|
+
{"version":3,"file":"LegendDialog.js","sourceRoot":"","sources":["../../../src/legend/PopUpLegend/LegendDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ReactElement } from "react";
|
|
2
2
|
import { ChartFillType } from "../../coloring/types.js";
|
|
3
3
|
import { ISeriesItem, ItemBorderRadiusPredicate } from "../types.js";
|
|
4
4
|
/**
|
|
@@ -18,5 +18,5 @@ export interface IPopUpLegendProps {
|
|
|
18
18
|
/**
|
|
19
19
|
* @internal
|
|
20
20
|
*/
|
|
21
|
-
export declare function PopUpLegend(props: IPopUpLegendProps):
|
|
21
|
+
export declare function PopUpLegend(props: IPopUpLegendProps): import("react/jsx-runtime").JSX.Element;
|
|
22
22
|
//# sourceMappingURL=PopUpLegend.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopUpLegend.d.ts","sourceRoot":"","sources":["../../../src/legend/PopUpLegend/PopUpLegend.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PopUpLegend.d.ts","sourceRoot":"","sources":["../../../src/legend/PopUpLegend/PopUpLegend.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAyB,MAAM,OAAO,CAAC;AAQ5D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAIrE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,iBAAiB,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,aAAa,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,2CAuEnD"}
|
|
@@ -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 { useCallback, useState } from "react";
|
|
3
4
|
import { useIntl } from "react-intl";
|
|
4
5
|
import { useIdPrefixed } from "@gooddata/sdk-ui-kit";
|
|
5
6
|
import { LegendDialog } from "./LegendDialog.js";
|
|
@@ -18,16 +19,13 @@ export function PopUpLegend(props) {
|
|
|
18
19
|
const id = useIdPrefixed("popUpLegend");
|
|
19
20
|
const dialogId = `${id}-dialog`;
|
|
20
21
|
const triggerId = `${id}-trigger`;
|
|
21
|
-
const onCloseDialog =
|
|
22
|
+
const onCloseDialog = useCallback(() => {
|
|
22
23
|
setDialogOpen(false);
|
|
23
24
|
setPage(1);
|
|
24
25
|
document.getElementById(triggerId)?.focus();
|
|
25
26
|
}, [triggerId]);
|
|
26
|
-
return (
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}, onLegendItemClick: onLegendItemClick, enableBorderRadius: enableBorderRadius, isActive: isDialogOpen, dialogId: dialogId, triggerId: triggerId, chartFill: chartFill }),
|
|
30
|
-
React.createElement(LegendDialog, { name: dialogTitle, alignTo: `.${containerId}`, isOpen: isDialogOpen, onCloseDialog: onCloseDialog, id: dialogId },
|
|
31
|
-
React.createElement(StaticLegend, { containerHeight: 260, series: [...series], label: name, isLabelVisible: false, position: "dialog", buttonOrientation: "leftRight", onItemClick: onLegendItemClick, shouldFillAvailableSpace: false, enableBorderRadius: enableBorderRadius, paginationHeight: PAGINATION_HEIGHT, customComponent: customComponent, onPageChanged: setPage, chartFill: chartFill }))));
|
|
27
|
+
return (_jsxs("div", { "data-testid": "pop-up-legend", children: [_jsx(RowLegend, { legendLabel: name, maxRowsCount: maxRows, series: [...series], onDialogIconClick: () => {
|
|
28
|
+
setDialogOpen((prevState) => !prevState);
|
|
29
|
+
}, onLegendItemClick: onLegendItemClick, enableBorderRadius: enableBorderRadius, isActive: isDialogOpen, dialogId: dialogId, triggerId: triggerId, chartFill: chartFill }), _jsx(LegendDialog, { name: dialogTitle, alignTo: `.${containerId}`, isOpen: isDialogOpen, onCloseDialog: onCloseDialog, id: dialogId, children: _jsx(StaticLegend, { containerHeight: 260, series: [...series], label: name, isLabelVisible: false, position: "dialog", buttonOrientation: "leftRight", onItemClick: onLegendItemClick, shouldFillAvailableSpace: false, enableBorderRadius: enableBorderRadius, paginationHeight: PAGINATION_HEIGHT, customComponent: customComponent, onPageChanged: setPage, chartFill: chartFill }) })] }));
|
|
32
30
|
}
|
|
33
31
|
//# sourceMappingURL=PopUpLegend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopUpLegend.js","sourceRoot":"","sources":["../../../src/legend/PopUpLegend/PopUpLegend.tsx"],"names":[],"mappings":"AAAA,qCAAqC;
|
|
1
|
+
{"version":3,"file":"PopUpLegend.js","sourceRoot":"","sources":["../../../src/legend/PopUpLegend/PopUpLegend.tsx"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,OAAO,EAAgB,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAiB7B;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAwB;IAChD,MAAM,EACF,IAAI,EACJ,OAAO,EACP,kBAAkB,EAClB,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,SAAS,GACZ,GAAG,KAAK,CAAC;IACV,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEpC,MAAM,WAAW,GACb,CAAC,IAAI,KAAK,CAAC,IAAI,mBAAmB,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAEzG,MAAM,EAAE,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,GAAG,EAAE,SAAS,CAAC;IAChC,MAAM,SAAS,GAAG,GAAG,EAAE,UAAU,CAAC;IAElC,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,CAAC,CAAC,CAAC;QACX,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,CACH,8BAAiB,eAAe,aAC5B,KAAC,SAAS,IACN,WAAW,EAAE,IAAI,EACjB,YAAY,EAAE,OAAO,EACrB,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,EACnB,iBAAiB,EAAE,GAAG,EAAE;oBACpB,aAAa,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC7C,CAAC,EACD,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,kBAAkB,EACtC,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,GACtB,EAEF,KAAC,YAAY,IACT,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,IAAI,WAAW,EAAE,EAC1B,MAAM,EAAE,YAAY,EACpB,aAAa,EAAE,aAAa,EAC5B,EAAE,EAAE,QAAQ,YAEZ,KAAC,YAAY,IACT,eAAe,EAAE,GAAG,EACpB,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,EACnB,KAAK,EAAE,IAAI,EACX,cAAc,EAAE,KAAK,EACrB,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,EAAE,WAAW,EAC9B,WAAW,EAAE,iBAAiB,EAC9B,wBAAwB,EAAE,KAAK,EAC/B,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,iBAAiB,EACnC,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,SAAS,GACtB,GACS,IACb,CACT,CAAC;AACN,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { ChartFillType } from "../../coloring/types.js";
|
|
3
2
|
import { ISeriesItem, ItemBorderRadiusPredicate } from "../types.js";
|
|
4
3
|
export interface IRowLegendIcoButton {
|
|
@@ -8,7 +7,7 @@ export interface IRowLegendIcoButton {
|
|
|
8
7
|
dialogId: string;
|
|
9
8
|
triggerId: string;
|
|
10
9
|
}
|
|
11
|
-
export declare function RowLegendIcoButton({ isVisible, isActive, onIconClick, dialogId, triggerId, }: IRowLegendIcoButton):
|
|
10
|
+
export declare function RowLegendIcoButton({ isVisible, isActive, onIconClick, dialogId, triggerId, }: IRowLegendIcoButton): import("react/jsx-runtime").JSX.Element | null;
|
|
12
11
|
export interface IRowLegendProps {
|
|
13
12
|
legendLabel?: string;
|
|
14
13
|
maxRowsCount?: number;
|
|
@@ -21,5 +20,5 @@ export interface IRowLegendProps {
|
|
|
21
20
|
triggerId: string;
|
|
22
21
|
chartFill?: ChartFillType;
|
|
23
22
|
}
|
|
24
|
-
export declare function RowLegend(props: IRowLegendProps):
|
|
23
|
+
export declare function RowLegend(props: IRowLegendProps): import("react/jsx-runtime").JSX.Element;
|
|
25
24
|
//# sourceMappingURL=RowLegend.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RowLegend.d.ts","sourceRoot":"","sources":["../../../src/legend/PopUpLegend/RowLegend.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RowLegend.d.ts","sourceRoot":"","sources":["../../../src/legend/PopUpLegend/RowLegend.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIxD,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAyBrE,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAAC,EAC/B,SAAS,EACT,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,SAAS,GACZ,EAAE,mBAAmB,kDAyCrB;AAED,MAAM,WAAW,eAAe;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;IACzD,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,iBAAiB,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC7B;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,eAAe,2CAgD/C"}
|
|
@@ -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 { useCallback, useState } from "react";
|
|
3
4
|
import cx from "classnames";
|
|
4
5
|
import { useIntl } from "react-intl";
|
|
5
6
|
import { Button, Icon } from "@gooddata/sdk-ui-kit";
|
|
@@ -26,7 +27,7 @@ const useCheckOverflow = () => {
|
|
|
26
27
|
};
|
|
27
28
|
export function RowLegendIcoButton({ isVisible, isActive, onIconClick, dialogId, triggerId, }) {
|
|
28
29
|
const { formatMessage } = useIntl();
|
|
29
|
-
const handleClick =
|
|
30
|
+
const handleClick = useCallback((e) => {
|
|
30
31
|
e.stopPropagation();
|
|
31
32
|
e.preventDefault();
|
|
32
33
|
onIconClick();
|
|
@@ -38,26 +39,19 @@ export function RowLegendIcoButton({ isVisible, isActive, onIconClick, dialogId,
|
|
|
38
39
|
"legend-popup-icon-active": isActive,
|
|
39
40
|
});
|
|
40
41
|
const LegendMenuIcon = Icon["LegendMenu"];
|
|
41
|
-
return (
|
|
42
|
-
React.createElement(Button, { onClick: handleClick, className: iconClasses, tabIndex: 0, accessibilityConfig: {
|
|
42
|
+
return (_jsx("div", { className: "legend-popup-button", children: _jsx(Button, { onClick: handleClick, className: iconClasses, tabIndex: 0, accessibilityConfig: {
|
|
43
43
|
isExpanded: isActive,
|
|
44
44
|
popupId: dialogId,
|
|
45
45
|
ariaLabel: formatMessage({ id: "properties.legend.more.button" }),
|
|
46
|
-
}, id: triggerId }
|
|
47
|
-
React.createElement("div", { role: "presentation" },
|
|
48
|
-
React.createElement(LegendMenuIcon, null)))));
|
|
46
|
+
}, id: triggerId, children: _jsx("div", { role: "presentation", children: _jsx(LegendMenuIcon, {}) }) }) }));
|
|
49
47
|
}
|
|
50
48
|
export function RowLegend(props) {
|
|
51
49
|
const { series, maxRowsCount = 1, legendLabel, enableBorderRadius, onDialogIconClick, onLegendItemClick, dialogId, triggerId, isActive = false, chartFill, } = props;
|
|
52
50
|
const [isOverflow, numOfUsedRow, checkOverFlow] = useCheckOverflow();
|
|
53
51
|
const LEGEND_HEIGHT = maxRowsCount * LEGEND_ROW_HEIGHT + LEGEND_TOP_BOTTOM_PADDING;
|
|
54
52
|
const itemsAlign = numOfUsedRow === 1 ? "flex-end" : "flex-start";
|
|
55
|
-
return (
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}, label: legendLabel, className: "viz-legend static position-row" },
|
|
59
|
-
React.createElement(LegendLabelItem, { label: legendLabel }),
|
|
60
|
-
React.createElement(LegendList, { enableBorderRadius: enableBorderRadius, series: series, onItemClick: onLegendItemClick, chartFill: chartFill })),
|
|
61
|
-
React.createElement(RowLegendIcoButton, { isActive: isActive, isVisible: isOverflow, onIconClick: onDialogIconClick, dialogId: dialogId, triggerId: triggerId })));
|
|
53
|
+
return (_jsxs("div", { className: "legend-popup-row", style: { maxHeight: LEGEND_HEIGHT }, children: [_jsxs(LegendSeries, { onToggleItem: onLegendItemClick, series: series, ref: checkOverFlow, style: {
|
|
54
|
+
justifyContent: itemsAlign,
|
|
55
|
+
}, label: legendLabel, className: "viz-legend static position-row", children: [_jsx(LegendLabelItem, { label: legendLabel }), _jsx(LegendList, { enableBorderRadius: enableBorderRadius, series: series, onItemClick: onLegendItemClick, chartFill: chartFill })] }), _jsx(RowLegendIcoButton, { isActive: isActive, isVisible: isOverflow, onIconClick: onDialogIconClick, dialogId: dialogId, triggerId: triggerId })] }));
|
|
62
56
|
}
|
|
63
57
|
//# sourceMappingURL=RowLegend.js.map
|