@gooddata/sdk-ui-filters 11.44.0-alpha.1 → 11.44.0-alpha.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.
@@ -1,12 +1,17 @@
1
1
  import { type ObjRefInScope } from "@gooddata/sdk-model";
2
- import { type IMeasureDropdownItem } from "../types.js";
2
+ import { type IMeasureDropdownItem, type RenderMeasureDropdownBody } from "../types.js";
3
3
  interface IMeasureDropdownProps {
4
4
  items: IMeasureDropdownItem[];
5
5
  selectedItemRef: ObjRefInScope;
6
6
  onSelect: (ref: ObjRefInScope) => void;
7
7
  onDropDownItemMouseOver?: (ref: ObjRefInScope) => void;
8
8
  onDropDownItemMouseOut?: () => void;
9
+ /**
10
+ * Optional custom renderer for the dropdown body. When provided, it replaces the built-in flat
11
+ * measure list (the anchor button is kept).
12
+ */
13
+ renderMeasureDropdownBody?: RenderMeasureDropdownBody;
9
14
  }
10
- export declare function MeasureDropdown({ items, selectedItemRef, onSelect, onDropDownItemMouseOver, onDropDownItemMouseOut }: IMeasureDropdownProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function MeasureDropdown({ items, selectedItemRef, onSelect, onDropDownItemMouseOver, onDropDownItemMouseOut, renderMeasureDropdownBody }: IMeasureDropdownProps): import("react/jsx-runtime").JSX.Element;
11
16
  export {};
12
17
  //# sourceMappingURL=MeasureDropdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MeasureDropdown.d.ts","sourceRoot":"","sources":["../../../src/RankingFilter/MeasureDropdown/MeasureDropdown.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,aAAa,EAAmB,MAAM,qBAAqB,CAAC;AAG1E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAIxD,UAAU,qBAAqB;IAC3B,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,eAAe,EAAE,aAAa,CAAC;IAC/B,QAAQ,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACvC,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACvD,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;CACvC;AAED,wBAAgB,eAAe,CAAC,EAC5B,KAAK,EACL,eAAe,EACf,QAAQ,EACR,uBAAuB,EACvB,sBAAsB,EACzB,EAAE,qBAAqB,2CAiDvB"}
1
+ {"version":3,"file":"MeasureDropdown.d.ts","sourceRoot":"","sources":["../../../src/RankingFilter/MeasureDropdown/MeasureDropdown.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,aAAa,EAAmB,MAAM,qBAAqB,CAAC;AAG1E,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAIxF,UAAU,qBAAqB;IAC3B,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,eAAe,EAAE,aAAa,CAAC;IAC/B,QAAQ,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACvC,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACvD,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;CACzD;AAED,wBAAgB,eAAe,CAAC,EAC5B,KAAK,EACL,eAAe,EACf,QAAQ,EACR,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EAC5B,EAAE,qBAAqB,2CAuDvB"}
@@ -5,7 +5,7 @@ import cx from "classnames";
5
5
  import { areObjRefsEqual } from "@gooddata/sdk-model";
6
6
  import { Button } from "@gooddata/sdk-ui-kit";
7
7
  import { MeasureDropdownBody } from "./MeasureDropdownBody.js";
8
- export function MeasureDropdown({ items, selectedItemRef, onSelect, onDropDownItemMouseOver, onDropDownItemMouseOut, }) {
8
+ export function MeasureDropdown({ items, selectedItemRef, onSelect, onDropDownItemMouseOver, onDropDownItemMouseOut, renderMeasureDropdownBody, }) {
9
9
  const [isOpen, setIsOpen] = useState(false);
10
10
  const onButtonClick = () => {
11
11
  setIsOpen(!isOpen);
@@ -22,5 +22,11 @@ export function MeasureDropdown({ items, selectedItemRef, onSelect, onDropDownIt
22
22
  const selectedItem = items.find((item) => areObjRefsEqual(item.ref, selectedItemRef));
23
23
  const title = selectedItem?.title;
24
24
  return (_jsxs(_Fragment, { children: [
25
- _jsx(Button, { className: buttonClassNames, value: title, onClick: onButtonClick, iconLeft: "gd-icon-metric" }), isOpen ? (_jsx(MeasureDropdownBody, { items: items, selectedItemRef: selectedItemRef, onSelect: onItemSelect, onClose: () => setIsOpen(false), onDropDownItemMouseOver: onDropDownItemMouseOver, onDropDownItemMouseOut: onDropDownItemMouseOut })) : null] }));
25
+ _jsx(Button, { className: buttonClassNames, value: title, onClick: onButtonClick, iconLeft: "gd-icon-metric" }), isOpen
26
+ ? (renderMeasureDropdownBody?.({
27
+ selectedItemRef,
28
+ onSelect: onItemSelect,
29
+ onClose: () => setIsOpen(false),
30
+ }) ?? (_jsx(MeasureDropdownBody, { items: items, selectedItemRef: selectedItemRef, onSelect: onItemSelect, onClose: () => setIsOpen(false), onDropDownItemMouseOver: onDropDownItemMouseOver, onDropDownItemMouseOut: onDropDownItemMouseOut })))
31
+ : null] }));
26
32
  }
@@ -1,5 +1,5 @@
1
1
  import { type IRankingFilter, type ObjRefInScope } from "@gooddata/sdk-model";
2
- import { type IAttributeDropdownItem, type ICustomGranularitySelection, type IMeasureDropdownItem } from "./types.js";
2
+ import { type IAttributeDropdownItem, type ICustomGranularitySelection, type IMeasureDropdownItem, type RenderMeasureDropdownBody } from "./types.js";
3
3
  export declare const prepareRankingFilterState: (filter: IRankingFilter) => IRankingFilter;
4
4
  /**
5
5
  * @beta
@@ -17,6 +17,11 @@ export interface IRankingFilterDropdownProps {
17
17
  locale?: string;
18
18
  enableRankingWithMvf?: boolean;
19
19
  enableRankingStrictLimit?: boolean;
20
+ /**
21
+ * Optional custom renderer for the measure dropdown body, replacing the built-in flat measure list
22
+ * with a custom body (e.g. a grouped, searchable catalog picker).
23
+ */
24
+ renderMeasureDropdownBody?: RenderMeasureDropdownBody;
20
25
  }
21
26
  /**
22
27
  * @beta
@@ -1 +1 @@
1
- {"version":3,"file":"RankingFilterDropdown.d.ts","sourceRoot":"","sources":["../../src/RankingFilter/RankingFilterDropdown.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAK9E,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EAC5B,MAAM,YAAY,CAAC;AAKpB,eAAO,MAAM,yBAAyB,4CAiBrC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,2BAA2B;IACxC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACvD,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAChC,0BAA0B,CAAC,EAAE,2BAA2B,CAAC;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACtC;AAgDD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,2BAA2B,2CAMvE"}
1
+ {"version":3,"file":"RankingFilterDropdown.d.ts","sourceRoot":"","sources":["../../src/RankingFilter/RankingFilterDropdown.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAK9E,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EACjC,MAAM,YAAY,CAAC;AAKpB,eAAO,MAAM,yBAAyB,4CAiBrC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,2BAA2B;IACxC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACvD,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAChC,0BAA0B,CAAC,EAAE,2BAA2B,CAAC;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;CACzD;AAkDD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,2BAA2B,2CAMvE"}
@@ -23,13 +23,13 @@ export const prepareRankingFilterState = (filter) => {
23
23
  },
24
24
  };
25
25
  };
26
- function RankingFilterDropdownComponent({ measureItems, attributeItems, filter, onApply, onCancel = () => { }, anchorEl, onDropDownItemMouseOver, onDropDownItemMouseOut, customGranularitySelection, enableRankingWithMvf, enableRankingStrictLimit, }) {
26
+ function RankingFilterDropdownComponent({ measureItems, attributeItems, filter, onApply, onCancel = () => { }, anchorEl, onDropDownItemMouseOver, onDropDownItemMouseOut, customGranularitySelection, enableRankingWithMvf, enableRankingStrictLimit, renderMeasureDropdownBody, }) {
27
27
  const [rankingFilter, setRankingFilter] = useState(prepareRankingFilterState(filter));
28
28
  const handleApply = (rankingFilter) => {
29
29
  setRankingFilter(rankingFilter);
30
30
  onApply(rankingFilter);
31
31
  };
32
- return (_jsx(Overlay, { closeOnOutsideClick: true, closeOnParentScroll: true, closeOnMouseDrag: true, alignTo: anchorEl, alignPoints: DROPDOWN_ALIGNMENTS, onClose: onCancel, ignoreClicksOnByClass: [".gd-rf-inner-overlay-dropdown"], children: _jsx(RankingFilterDropdownBody, { measureItems: measureItems, attributeItems: attributeItems, filter: rankingFilter, onApply: handleApply, onCancel: onCancel, onDropDownItemMouseOver: onDropDownItemMouseOver, onDropDownItemMouseOut: onDropDownItemMouseOut, customGranularitySelection: customGranularitySelection, enableRankingWithMvf: enableRankingWithMvf, enableRankingStrictLimit: enableRankingStrictLimit }) }));
32
+ return (_jsx(Overlay, { closeOnOutsideClick: true, closeOnParentScroll: true, closeOnMouseDrag: true, alignTo: anchorEl, alignPoints: DROPDOWN_ALIGNMENTS, onClose: onCancel, ignoreClicksOnByClass: [".gd-rf-inner-overlay-dropdown"], children: _jsx(RankingFilterDropdownBody, { measureItems: measureItems, attributeItems: attributeItems, filter: rankingFilter, onApply: handleApply, onCancel: onCancel, onDropDownItemMouseOver: onDropDownItemMouseOver, onDropDownItemMouseOut: onDropDownItemMouseOut, customGranularitySelection: customGranularitySelection, enableRankingWithMvf: enableRankingWithMvf, enableRankingStrictLimit: enableRankingStrictLimit, renderMeasureDropdownBody: renderMeasureDropdownBody }) }));
33
33
  }
34
34
  /**
35
35
  * @beta
@@ -1,5 +1,5 @@
1
1
  import { type IRankingFilter, type ObjRefInScope } from "@gooddata/sdk-model";
2
- import { type IAttributeDropdownItem, type ICustomGranularitySelection, type IMeasureDropdownItem } from "./types.js";
2
+ import { type IAttributeDropdownItem, type ICustomGranularitySelection, type IMeasureDropdownItem, type RenderMeasureDropdownBody } from "./types.js";
3
3
  interface IRankingFilterDropdownBodyComponentProps {
4
4
  measureItems: IMeasureDropdownItem[];
5
5
  attributeItems: IAttributeDropdownItem[];
@@ -11,7 +11,8 @@ interface IRankingFilterDropdownBodyComponentProps {
11
11
  customGranularitySelection?: ICustomGranularitySelection;
12
12
  enableRankingWithMvf?: boolean;
13
13
  enableRankingStrictLimit?: boolean;
14
+ renderMeasureDropdownBody?: RenderMeasureDropdownBody;
14
15
  }
15
- export declare function RankingFilterDropdownBody({ measureItems, attributeItems, filter, onApply, onCancel, onDropDownItemMouseOver, onDropDownItemMouseOut, customGranularitySelection, enableRankingWithMvf, enableRankingStrictLimit }: IRankingFilterDropdownBodyComponentProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function RankingFilterDropdownBody({ measureItems, attributeItems, filter, onApply, onCancel, onDropDownItemMouseOver, onDropDownItemMouseOut, customGranularitySelection, enableRankingWithMvf, enableRankingStrictLimit, renderMeasureDropdownBody }: IRankingFilterDropdownBodyComponentProps): import("react/jsx-runtime").JSX.Element;
16
17
  export {};
17
18
  //# sourceMappingURL=RankingFilterDropdownBody.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RankingFilterDropdownBody.d.ts","sourceRoot":"","sources":["../../src/RankingFilter/RankingFilterDropdownBody.tsx"],"names":[],"mappings":"AAQA,OAAO,EACH,KAAK,cAAc,EACnB,KAAK,aAAa,EAGrB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EAC5B,MAAM,YAAY,CAAC;AAwCpB,UAAU,wCAAwC;IAC9C,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACvD,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,0BAA0B,CAAC,EAAE,2BAA2B,CAAC;IACzD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,wBAAgB,yBAAyB,CAAC,EACtC,YAAY,EACZ,cAAc,EACd,MAAM,EACN,OAAO,EACP,QAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,EAC1B,oBAA4B,EAC5B,wBAAgC,EACnC,EAAE,wCAAwC,2CA2K1C"}
1
+ {"version":3,"file":"RankingFilterDropdownBody.d.ts","sourceRoot":"","sources":["../../src/RankingFilter/RankingFilterDropdownBody.tsx"],"names":[],"mappings":"AAQA,OAAO,EACH,KAAK,cAAc,EACnB,KAAK,aAAa,EAGrB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EACjC,MAAM,YAAY,CAAC;AAwCpB,UAAU,wCAAwC;IAC9C,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACvD,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,0BAA0B,CAAC,EAAE,2BAA2B,CAAC;IACzD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;CACzD;AAED,wBAAgB,yBAAyB,CAAC,EACtC,YAAY,EACZ,cAAc,EACd,MAAM,EACN,OAAO,EACP,QAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,EAC1B,oBAA4B,EAC5B,wBAAgC,EAChC,yBAAyB,EAC5B,EAAE,wCAAwC,2CA4K1C"}
@@ -30,7 +30,7 @@ const isApplyButtonDisabled = (filter, filterState, enableRankingWithMvf, applyO
30
30
  applyOnResultNotChanged &&
31
31
  strictLimitOfRowsNotChanged);
32
32
  };
33
- export function RankingFilterDropdownBody({ measureItems, attributeItems, filter, onApply, onCancel = () => { }, onDropDownItemMouseOver, onDropDownItemMouseOut, customGranularitySelection, enableRankingWithMvf = false, enableRankingStrictLimit = false, }) {
33
+ export function RankingFilterDropdownBody({ measureItems, attributeItems, filter, onApply, onCancel = () => { }, onDropDownItemMouseOver, onDropDownItemMouseOut, customGranularitySelection, enableRankingWithMvf = false, enableRankingStrictLimit = false, renderMeasureDropdownBody, }) {
34
34
  const intl = useIntl();
35
35
  const rankingFilter = filter.rankingFilter;
36
36
  const [value, setValue] = useState(rankingFilter.value);
@@ -81,7 +81,7 @@ export function RankingFilterDropdownBody({ measureItems, attributeItems, filter
81
81
  }), children: [
82
82
  _jsx(OperatorDropdown, { selectedValue: operator, selectedStrictLimitOfRows: strictLimitOfRows, enableRankingStrictLimit: enableRankingStrictLimit, limitValue: value, onSelect: handleConditionSelect }), _jsx(ValueDropdown, { selectedValue: value, onSelect: setValue }), enableRankingStrictLimit ? null : (_jsxs(BubbleHoverTrigger, { showDelay: 0, hideDelay: 0, children: [
83
83
  _jsx("span", { className: "gd-icon-circle-question gd-rf-value-tooltip-icon s-rf-value-tooltip-icon" }), _jsx(Bubble, { className: `bubble-primary gd-rf-tooltip-bubble s-rf-value-tooltip`, alignPoints: [{ align: "cr cl" }, { align: "cl cr" }], children: _jsx(FormattedMessage, { id: "rankingFilter.valueTooltip" }) })
84
- ] }))] }), _jsx("div", { className: "gd-rf-dropdown-section-title", children: _jsx(FormattedMessage, { id: "rankingFilter.outOf" }) }), _jsx(AttributeDropdown, { items: attributeItems, selectedItemRef: attribute, onSelect: setAttributeIdentifier, onDropDownItemMouseOver: onDropDownItemMouseOver, onDropDownItemMouseOut: onDropDownItemMouseOut, customGranularitySelection: customGranularitySelection }), _jsx("div", { className: "gd-rf-dropdown-section-title", children: _jsx(FormattedMessage, { id: "rankingFilter.basedOn" }) }), _jsx(MeasureDropdown, { items: measureItems, selectedItemRef: measure, onSelect: setMeasureIdentifier, onDropDownItemMouseOver: onDropDownItemMouseOver, onDropDownItemMouseOut: onDropDownItemMouseOut }), enableRankingWithMvf ? (_jsx("div", { className: "gd-rf-apply-on-result", children: _jsxs("label", { className: "input-checkbox-label gd-rf-apply-on-result-checkbox", "data-testid": "rf-apply-on-result", children: [
84
+ ] }))] }), _jsx("div", { className: "gd-rf-dropdown-section-title", children: _jsx(FormattedMessage, { id: "rankingFilter.outOf" }) }), _jsx(AttributeDropdown, { items: attributeItems, selectedItemRef: attribute, onSelect: setAttributeIdentifier, onDropDownItemMouseOver: onDropDownItemMouseOver, onDropDownItemMouseOut: onDropDownItemMouseOut, customGranularitySelection: customGranularitySelection }), _jsx("div", { className: "gd-rf-dropdown-section-title", children: _jsx(FormattedMessage, { id: "rankingFilter.basedOn" }) }), _jsx(MeasureDropdown, { items: measureItems, selectedItemRef: measure, onSelect: setMeasureIdentifier, onDropDownItemMouseOver: onDropDownItemMouseOver, onDropDownItemMouseOut: onDropDownItemMouseOut, renderMeasureDropdownBody: renderMeasureDropdownBody }), enableRankingWithMvf ? (_jsx("div", { className: "gd-rf-apply-on-result", children: _jsxs("label", { className: "input-checkbox-label gd-rf-apply-on-result-checkbox", "data-testid": "rf-apply-on-result", children: [
85
85
  _jsx("input", { type: "checkbox", name: "apply-on-result", className: "input-checkbox", checked: applyOnResult, onChange: handleApplyOnResultChange }), _jsx("span", { className: "input-label-text", children: intl.formatMessage({
86
86
  id: "rankingFilter.applyOnResultLabel",
87
87
  }) })
@@ -1,3 +1,4 @@
1
+ import { type ReactNode } from "react";
1
2
  import { type ObjRefInScope, type RankingFilterOperator } from "@gooddata/sdk-model";
2
3
  export interface IOperatorDropdownItem {
3
4
  value: RankingFilterOperator;
@@ -35,4 +36,31 @@ export interface ICustomGranularitySelection {
35
36
  enable: boolean;
36
37
  warningMessage: string;
37
38
  }
39
+ /**
40
+ * Props passed to a custom renderer for the ranking filter measure dropdown body.
41
+ *
42
+ * @beta
43
+ */
44
+ export interface IRankingMeasureDropdownBodyRenderProps {
45
+ /**
46
+ * The currently selected ranked measure.
47
+ */
48
+ selectedItemRef: ObjRefInScope;
49
+ /**
50
+ * Selects a measure and closes the dropdown.
51
+ */
52
+ onSelect: (ref: ObjRefInScope) => void;
53
+ /**
54
+ * Closes the dropdown without changing the selection.
55
+ */
56
+ onClose: () => void;
57
+ }
58
+ /**
59
+ * Optional renderer that replaces the built-in flat measure list of the ranking filter measure
60
+ * dropdown with a custom body (e.g. a grouped, searchable catalog picker). The anchor button is kept;
61
+ * only the dropdown overlay content is replaced.
62
+ *
63
+ * @beta
64
+ */
65
+ export type RenderMeasureDropdownBody = (props: IRankingMeasureDropdownBodyRenderProps) => ReactNode;
38
66
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/RankingFilter/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAErF,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,aAAa,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CAC1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/RankingFilter/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAErF,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,aAAa,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,sCAAsC;IACnD;;OAEG;IACH,eAAe,EAAE,aAAa,CAAC;IAC/B;;OAEG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,sCAAsC,KAAK,SAAS,CAAC"}
package/esm/index.d.ts CHANGED
@@ -27,7 +27,7 @@ export { intervalIncludesZero } from "./MeasureValueFilter/helpers/intervalInclu
27
27
  export { getMeasureValueFilterConditionLabel, type IMeasureValueFilterConditionLabelOptions, } from "./MeasureValueFilter/helpers/measureValueFilterConditionLabel.js";
28
28
  export { type IRankingFilterProps, RankingFilter } from "./RankingFilter/RankingFilter.js";
29
29
  export { type IRankingFilterDropdownProps, RankingFilterDropdown, } from "./RankingFilter/RankingFilterDropdown.js";
30
- export type { IMeasureDropdownItem, IAttributeDropdownItem, ICustomGranularitySelection, } from "./RankingFilter/types.js";
30
+ export type { IMeasureDropdownItem, IAttributeDropdownItem, ICustomGranularitySelection, IRankingMeasureDropdownBodyRenderProps, RenderMeasureDropdownBody, } from "./RankingFilter/types.js";
31
31
  export type { Correlation, CallbackRegistration, Callback, CallbackPayloadWithCorrelation, Unsubscribe, AsyncOperationStatus, AttributeElementKey, } from "./AttributeFilterHandler/types/common.js";
32
32
  export type { ISingleSelectionHandler, IStagedSingleSelectionHandler, InvertableSelection, IInvertableSelectionHandler, IStagedInvertableSelectionHandler, OnSelectionChangedCallbackPayload, OnSelectionCommittedCallbackPayload, } from "./AttributeFilterHandler/types/selectionHandler.js";
33
33
  export type { IAttributeLoader, OnLoadAttributeStartCallbackPayload, OnLoadAttributeSuccessCallbackPayload, OnLoadAttributeErrorCallbackPayload, OnLoadAttributeCancelCallbackPayload, } from "./AttributeFilterHandler/types/attributeLoader.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -4086,6 +4086,11 @@ export declare interface IRankingFilterDropdownProps {
4086
4086
  locale?: string;
4087
4087
  enableRankingWithMvf?: boolean;
4088
4088
  enableRankingStrictLimit?: boolean;
4089
+ /**
4090
+ * Optional custom renderer for the measure dropdown body, replacing the built-in flat measure list
4091
+ * with a custom body (e.g. a grouped, searchable catalog picker).
4092
+ */
4093
+ renderMeasureDropdownBody?: RenderMeasureDropdownBody;
4089
4094
  }
4090
4095
 
4091
4096
  /**
@@ -4104,6 +4109,26 @@ export declare interface IRankingFilterProps {
4104
4109
  locale?: string;
4105
4110
  }
4106
4111
 
4112
+ /**
4113
+ * Props passed to a custom renderer for the ranking filter measure dropdown body.
4114
+ *
4115
+ * @beta
4116
+ */
4117
+ export declare interface IRankingMeasureDropdownBodyRenderProps {
4118
+ /**
4119
+ * The currently selected ranked measure.
4120
+ */
4121
+ selectedItemRef: ObjRefInScope;
4122
+ /**
4123
+ * Selects a measure and closes the dropdown.
4124
+ */
4125
+ onSelect: (ref: ObjRefInScope) => void;
4126
+ /**
4127
+ * Closes the dropdown without changing the selection.
4128
+ */
4129
+ onClose: () => void;
4130
+ }
4131
+
4107
4132
  /**
4108
4133
  * Type-guard testing whether the provided object is an instance of {@link AbsoluteDateFilterOption}.
4109
4134
  * @public
@@ -4878,6 +4903,15 @@ export declare function RankingFilterDropdown(props: IRankingFilterDropdownProps
4878
4903
  */
4879
4904
  export declare type RelativeDateFilterOption = IUiRelativeDateFilterForm | IRelativeDateFilterPreset;
4880
4905
 
4906
+ /**
4907
+ * Optional renderer that replaces the built-in flat measure list of the ranking filter measure
4908
+ * dropdown with a custom body (e.g. a grouped, searchable catalog picker). The anchor button is kept;
4909
+ * only the dropdown overlay content is replaced.
4910
+ *
4911
+ * @beta
4912
+ */
4913
+ export declare type RenderMeasureDropdownBody = (props: IRankingMeasureDropdownBodyRenderProps) => ReactNode;
4914
+
4881
4915
  /**
4882
4916
  * Selection type callbacks (elements vs text selection type switching).
4883
4917
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-filters",
3
- "version": "11.44.0-alpha.1",
3
+ "version": "11.44.0-alpha.2",
4
4
  "description": "GoodData.UI SDK - Filter Components",
5
5
  "license": "MIT",
6
6
  "author": "GoodData Corporation",
@@ -46,11 +46,11 @@
46
46
  "ts-invariant": "0.10.3",
47
47
  "tslib": "2.8.1",
48
48
  "uuid": "11.1.1",
49
- "@gooddata/sdk-backend-spi": "11.44.0-alpha.1",
50
- "@gooddata/sdk-ui": "11.44.0-alpha.1",
51
- "@gooddata/util": "11.44.0-alpha.1",
52
- "@gooddata/sdk-model": "11.44.0-alpha.1",
53
- "@gooddata/sdk-ui-kit": "11.44.0-alpha.1"
49
+ "@gooddata/sdk-backend-spi": "11.44.0-alpha.2",
50
+ "@gooddata/sdk-model": "11.44.0-alpha.2",
51
+ "@gooddata/sdk-ui": "11.44.0-alpha.2",
52
+ "@gooddata/sdk-ui-kit": "11.44.0-alpha.2",
53
+ "@gooddata/util": "11.44.0-alpha.2"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@microsoft/api-documenter": "^7.17.0",
@@ -92,12 +92,12 @@
92
92
  "typescript": "5.9.3",
93
93
  "vitest": "4.1.8",
94
94
  "vitest-dom": "0.1.1",
95
- "@gooddata/eslint-config": "11.44.0-alpha.1",
96
- "@gooddata/oxlint-config": "11.44.0-alpha.1",
97
- "@gooddata/sdk-backend-mockingbird": "11.44.0-alpha.1",
98
- "@gooddata/reference-workspace": "11.44.0-alpha.1",
99
- "@gooddata/sdk-ui-theme-provider": "11.44.0-alpha.1",
100
- "@gooddata/stylelint-config": "11.44.0-alpha.1"
95
+ "@gooddata/eslint-config": "11.44.0-alpha.2",
96
+ "@gooddata/oxlint-config": "11.44.0-alpha.2",
97
+ "@gooddata/reference-workspace": "11.44.0-alpha.2",
98
+ "@gooddata/sdk-backend-mockingbird": "11.44.0-alpha.2",
99
+ "@gooddata/stylelint-config": "11.44.0-alpha.2",
100
+ "@gooddata/sdk-ui-theme-provider": "11.44.0-alpha.2"
101
101
  },
102
102
  "peerDependencies": {
103
103
  "react": "^18.0.0 || ^19.0.0",