@gooddata/sdk-ui-filters 11.22.0-alpha.4 → 11.22.0-alpha.5

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 +1 @@
1
- {"version":3,"file":"FilterGroup.d.ts","sourceRoot":"","sources":["../../src/FilterGroup/FilterGroup.tsx"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,aAAa,EAGlB,KAAK,YAAY,EACjB,KAAK,SAAS,EAMjB,MAAM,OAAO,CAAC;AAsBf,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAWnF;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,mBAAmB,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAC;IAC3C,mBAAmB,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC;IAC5C,iBAAiB,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,SAAS,CAAC;IAClF,YAAY,EAAE,CACV,MAAM,EAAE,CAAC,EACT,wBAAwB,CAAC,EAAE,aAAa,CAAC,qBAAqB,CAAC,KAC9D,YAAY,CAAC;CACrB;AA0BD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,2CA0PzD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,CAQ/D"}
1
+ {"version":3,"file":"FilterGroup.d.ts","sourceRoot":"","sources":["../../src/FilterGroup/FilterGroup.tsx"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,aAAa,EAGlB,KAAK,YAAY,EACjB,KAAK,SAAS,EAKjB,MAAM,OAAO,CAAC;AAqBf,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAWnF;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,mBAAmB,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAC;IAC3C,mBAAmB,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC;IAC5C,iBAAiB,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,SAAS,CAAC;IAClF,YAAY,EAAE,CACV,MAAM,EAAE,CAAC,EACT,wBAAwB,CAAC,EAAE,aAAa,CAAC,qBAAqB,CAAC,KAC9D,YAAY,CAAC;CACrB;AA0BD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,2CA0MzD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,CAQ/D"}
@@ -1,6 +1,6 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // (C) 2007-2026 GoodData Corporation
3
- import { useCallback, useEffect, useMemo, useRef, useState, } from "react";
3
+ import { useCallback, useMemo, useRef, useState, } from "react";
4
4
  import cx from "classnames";
5
5
  import { isEqual } from "lodash-es";
6
6
  import { useIntl } from "react-intl";
@@ -45,11 +45,8 @@ export function FilterGroup(props) {
45
45
  // we need to stabilize this, otherwise it will cause unnecessary re-renders of dropdown
46
46
  // which will cause unexpected closing of dropdown content
47
47
  const availableFilterIdentifiers = useDeepEqualRefStablizer(filtersIdentifiersUnstable);
48
- const { isAnyFilterLoading, isAnyFilterError, getFilterStatus, setFilterStatus } = useFilterGroupStatus(availableFilterIdentifiers);
48
+ const { isAnyFilterError, setFilterError } = useFilterGroupStatus(availableFilterIdentifiers);
49
49
  const subtitle = useMemo(() => {
50
- if (isAnyFilterLoading) {
51
- return intl.formatMessage({ id: "loading" });
52
- }
53
50
  if (isAnyFilterError) {
54
51
  return intl.formatMessage({ id: "gs.list.notAvailableAbbreviation" });
55
52
  }
@@ -59,26 +56,10 @@ export function FilterGroup(props) {
59
56
  return intl.formatMessage({ id: "gs.list.allAndCount" }, { count: filters.length });
60
57
  }
61
58
  else {
62
- const listOfTitles = activeFilters
63
- .map((filter) => getFilterStatus(getFilterIdentifier(filter))?.attribute?.title)
64
- .filter((title) => !!title)
65
- .join(", ");
66
- return `${listOfTitles} (${activeFiltersCount}/${availableFilterIdentifiers.length})`;
59
+ return `(${activeFiltersCount}/${availableFilterIdentifiers.length})`;
67
60
  }
68
- }, [
69
- filters,
70
- isAnyFilterError,
71
- isAnyFilterLoading,
72
- getFilterStatus,
73
- hasSelectedElements,
74
- intl,
75
- availableFilterIdentifiers,
76
- getFilterIdentifier,
77
- ]);
61
+ }, [filters, isAnyFilterError, hasSelectedElements, intl, availableFilterIdentifiers]);
78
62
  const { selectedItemsCount, totalItemsCount } = useMemo(() => {
79
- if (isAnyFilterLoading) {
80
- return {};
81
- }
82
63
  if (isAnyFilterError) {
83
64
  return {};
84
65
  }
@@ -90,17 +71,13 @@ export function FilterGroup(props) {
90
71
  else {
91
72
  return { selectedItemsCount: activeFiltersCount, totalItemsCount: filters.length };
92
73
  }
93
- }, [filters, isAnyFilterError, isAnyFilterLoading, hasSelectedElements]);
74
+ }, [filters, isAnyFilterError, hasSelectedElements]);
94
75
  const errorHandler = useCallback((filterIdentifier) => (error) => {
95
- setFilterStatus(filterIdentifier, { error });
96
- }, [setFilterStatus]);
97
- const initLoadingChangedHandler = useCallback((filterIdentifier) => (loading, attribute) => {
98
- setFilterStatus(filterIdentifier, {
99
- loading,
100
- error: loading ? null : undefined,
101
- attribute,
102
- });
103
- }, [setFilterStatus]);
76
+ setFilterError(filterIdentifier, error);
77
+ }, [setFilterError]);
78
+ const initLoadingChangedHandler = useCallback((filterIdentifier) => (loading) => {
79
+ setFilterError(filterIdentifier, loading ? null : undefined);
80
+ }, [setFilterError]);
104
81
  /**
105
82
  * We need to create a stable component type for each filter identifier.
106
83
  * Not passing an inline component type created during render. It could cause a loop of re-renders.
@@ -113,12 +90,9 @@ export function FilterGroup(props) {
113
90
  }
114
91
  function AttributeFilterComponent(attributeFilterProps) {
115
92
  const onError = useCallback((error) => errorHandler(filterIdentifier)(error), []);
116
- const onInitLoadingChanged = useCallback((loading, attribute) => {
117
- initLoadingChangedHandler(filterIdentifier)(loading, attribute);
93
+ const onInitLoadingChanged = useCallback((loading) => {
94
+ initLoadingChangedHandler(filterIdentifier)(loading);
118
95
  }, []);
119
- useEffect(() => () =>
120
- // stop loading on unmount
121
- setFilterStatus(filterIdentifier, { loading: false }), []);
122
96
  return (_jsx(AttributeFilterButton, { ...attributeFilterProps, alignPoints: ITEM_ALIGN_POINTS, onError: onError, onInitLoadingChanged: onInitLoadingChanged, DropdownButtonComponent: (props) => {
123
97
  const titleExtension = getTitleExtension?.(filterIdentifier, props.title);
124
98
  const CustomDropdownButtonComponent = attributeFilterProps.DropdownButtonComponent ?? FilterGroupItem;
@@ -135,13 +109,7 @@ export function FilterGroup(props) {
135
109
  result.set(filterIdentifier, AttributeFilterComponent);
136
110
  });
137
111
  return result;
138
- }, [
139
- availableFilterIdentifiers,
140
- getTitleExtension,
141
- errorHandler,
142
- initLoadingChangedHandler,
143
- setFilterStatus,
144
- ]);
112
+ }, [availableFilterIdentifiers, getTitleExtension, errorHandler, initLoadingChangedHandler]);
145
113
  const renderItem = useCallback(({ item }) => {
146
114
  const identifier = getFilterIdentifier(item);
147
115
  const AttributeFilterComponent = attributeFilterComponentsByIdentifier.get(identifier);
@@ -155,15 +123,7 @@ export function FilterGroup(props) {
155
123
  }, []);
156
124
  const renderBody = useCallback(({ isMobile }) => (_jsx("div", { onKeyDown: handleKeyDown, children: _jsx(DropdownList, { className: "gd-filter-group-body", items: filters, maxHeight: 450, itemHeight: 53, renderItem: renderItem, isMobile: isMobile }) })), [filters, renderItem, handleKeyDown]);
157
125
  const isMobile = useMediaQuery("mobileDevice");
158
- const renderButton = useCallback(({ toggleDropdown, isOpen, buttonRef, dropdownId }) => (_jsx("div", { className: cx({ "gd-is-mobile": isMobile && isOpen }), children: _jsx(AttributeFilterDropdownButton, { title: title, subtitle: subtitle, isLoaded: !isAnyFilterLoading && !isAnyFilterError, isOpen: isOpen, selectedItemsCount: selectedItemsCount, totalItemsCount: totalItemsCount, showSelectionCount: selectedItemsCount !== undefined || totalItemsCount !== undefined, icon: _jsx(UiIcon, { type: "folder", size: 12, color: "currentColor" }), dropdownId: dropdownId, buttonRef: buttonRef, onClick: toggleDropdown, isError: isAnyFilterError, isLoading: isAnyFilterLoading }) })), [
159
- title,
160
- subtitle,
161
- isAnyFilterLoading,
162
- isAnyFilterError,
163
- selectedItemsCount,
164
- totalItemsCount,
165
- isMobile,
166
- ]);
126
+ const renderButton = useCallback(({ toggleDropdown, isOpen, buttonRef, dropdownId }) => (_jsx("div", { className: cx({ "gd-is-mobile": isMobile && isOpen }), children: _jsx(AttributeFilterDropdownButton, { title: title, subtitle: subtitle, isLoaded: !isAnyFilterError, isOpen: isOpen, selectedItemsCount: selectedItemsCount, totalItemsCount: totalItemsCount, showSelectionCount: selectedItemsCount !== undefined || totalItemsCount !== undefined, icon: _jsx(UiIcon, { type: "folder", size: 12, color: "currentColor" }), dropdownId: dropdownId, buttonRef: buttonRef, onClick: toggleDropdown, isError: isAnyFilterError }) })), [title, subtitle, isAnyFilterError, selectedItemsCount, totalItemsCount, isMobile]);
167
127
  return (_jsx(Dropdown, { isOpen: isOpen, className: "gd-filter-group", closeOnParentScroll: true, closeOnMouseDrag: true, closeOnOutsideClick: true, closeOnEscape: true, ignoreClicksOnByClass: IGNORE_CLICKS_ON_BY_CLASS, enableEventPropagation: true, alignPoints: GROUP_ALIGN_POINTS, fullscreenOnMobile: true, autofocusOnOpen: true, renderButton: renderButton, renderBody: renderBody, onOpenStateChanged: setIsOpen }));
168
128
  }
169
129
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"FilterGroup.js","sourceRoot":"","sources":["../../src/FilterGroup/FilterGroup.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FilterGroup.js","sourceRoot":"","sources":["../../src/FilterGroup/FilterGroup.tsx"],"names":[],"mappings":"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"}
@@ -1,23 +1,13 @@
1
- import { type IAttributeMetadataObject } from "@gooddata/sdk-model";
2
1
  import { type GoodDataSdkError } from "@gooddata/sdk-ui";
3
- export interface IFilterStatus {
4
- loading?: boolean;
5
- error?: GoodDataSdkError | null;
6
- attribute?: IAttributeMetadataObject;
7
- }
8
- export type FiltersStatus = Record<string, IFilterStatus>;
2
+ export type FilterErrors = Record<string, GoodDataSdkError | null>;
9
3
  /**
10
- * Type for the setFilterStatus function.
11
- * It updates the status for given filter. If filter is not provided, it keeps the previous value in state.
12
- *
13
- * Only defined properties of status are updated in state.
14
- * If some of the status properties are not provided, they kept their previous values in state.
4
+ * Type for the setFilterError function.
5
+ * It updates the error status for given filter. If status is not provided, it keeps the previous value in state.
6
+ * providing null will clear the error status for the filter.
15
7
  */
16
- export type SetFilterStatus = (filterIdentifier: string | undefined, status: IFilterStatus) => void;
8
+ export type SetFilterError = (filterIdentifier: string | undefined, status?: GoodDataSdkError | null) => void;
17
9
  export interface IUseFilterGroupStatus {
18
- setFilterStatus: SetFilterStatus;
19
- getFilterStatus: (filterIdentifier: string) => IFilterStatus | undefined;
20
- isAnyFilterLoading: boolean;
10
+ setFilterError: SetFilterError;
21
11
  isAnyFilterError: boolean;
22
12
  }
23
13
  export declare const useFilterGroupStatus: (availableFilterIdentifiers: string[]) => IUseFilterGroupStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"useFilterGroupStatus.d.ts","sourceRoot":"","sources":["../../src/FilterGroup/useFilterGroupStatus.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,wBAAwB,CAAC;CACxC;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;AAEpG,MAAM,WAAW,qBAAqB;IAClC,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;IACzE,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,oBAAoB,iEAqEhC,CAAC"}
1
+ {"version":3,"file":"useFilterGroupStatus.d.ts","sourceRoot":"","sources":["../../src/FilterGroup/useFilterGroupStatus.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAC;AAEnE;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAC;AAE9G,MAAM,WAAW,qBAAqB;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,oBAAoB,iEAqChC,CAAC"}
@@ -1,50 +1,27 @@
1
1
  // (C) 2007-2026 GoodData Corporation
2
2
  import { useCallback, useMemo, useState } from "react";
3
3
  export const useFilterGroupStatus = (availableFilterIdentifiers) => {
4
- const [filtersStatus, setFiltersStatus] = useState({});
5
- const availableStatusesEntries = useMemo(() => availableFilterIdentifiers.map((localIdentifier) => [
6
- localIdentifier,
7
- filtersStatus[localIdentifier] ?? {
8
- loading: false,
9
- error: null,
10
- attribute: undefined,
11
- },
12
- ]), [availableFilterIdentifiers, filtersStatus]);
13
- const availableStatuses = useMemo(() => Object.fromEntries(availableStatusesEntries), [availableStatusesEntries]);
14
- const setFilterStatus = useCallback((filterIdentifier, status) => {
15
- setFiltersStatus((prev) => {
4
+ const [filterErrors, setFiltersError] = useState({});
5
+ const availableErrorsEntries = useMemo(() => availableFilterIdentifiers.map((localIdentifier) => [localIdentifier, filterErrors[localIdentifier] ?? null]), [availableFilterIdentifiers, filterErrors]);
6
+ const setFilterError = useCallback((filterIdentifier, error) => {
7
+ setFiltersError((prev) => {
16
8
  if (!filterIdentifier) {
17
9
  return prev;
18
10
  }
19
- const prevStatus = prev[filterIdentifier];
20
- const newStatus = {
21
- loading: status.loading === undefined ? prevStatus?.loading : status.loading,
22
- error: status.error === undefined ? prevStatus?.error : status.error,
23
- attribute: status.attribute === undefined ? prevStatus?.attribute : status.attribute,
24
- };
25
- if (prevStatus?.loading === newStatus.loading &&
26
- prevStatus?.error === newStatus.error &&
27
- prevStatus?.attribute === newStatus.attribute) {
11
+ const prevError = prev[filterIdentifier];
12
+ const newError = error === undefined ? prevError : error;
13
+ if (prevError === newError) {
28
14
  return prev; // breaks potential infinite loop
29
15
  }
30
16
  return {
31
17
  ...prev,
32
- [filterIdentifier]: newStatus,
18
+ [filterIdentifier]: newError,
33
19
  };
34
20
  });
35
21
  }, []);
36
- const isAnyFilterLoading = availableStatusesEntries.some(([_, status]) => !!status.loading);
37
- const isAnyFilterError = availableStatusesEntries.some(([_, status]) => !!status.error);
38
- const getFilterStatus = useCallback((filterIdentifier) => {
39
- if (!filterIdentifier) {
40
- return undefined;
41
- }
42
- return availableStatuses[filterIdentifier] ?? undefined;
43
- }, [availableStatuses]);
22
+ const isAnyFilterError = availableErrorsEntries.some(([_, error]) => !!error);
44
23
  return {
45
- setFilterStatus,
46
- getFilterStatus,
47
- isAnyFilterLoading,
24
+ setFilterError,
48
25
  isAnyFilterError,
49
26
  };
50
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useFilterGroupStatus.js","sourceRoot":"","sources":["../../src/FilterGroup/useFilterGroupStatus.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AA6BvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,0BAAoC,EAAyB,EAAE,CAAC;IACjG,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAgB,EAAE,CAAC,CAAC;IAEtE,MAAM,wBAAwB,GAAG,OAAO,CACpC,GAAG,EAAE,CACD,0BAA0B,CAAC,GAAG,CAC1B,CAAC,eAAe,EAAE,EAAE,CAChB;QACI,eAAe;QACf,aAAa,CAAC,eAAe,CAAC,IAAI;YAC9B,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,SAAS;SACvB;KACK,CACjB,EACL,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAC9C,CAAC;IAEF,MAAM,iBAAiB,GAAG,OAAO,CAC7B,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,wBAAwB,CAAC,EAClD,CAAC,wBAAwB,CAAC,CAC7B,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,gBAAoC,EAAE,MAAqB,EAAE,EAAE,CAAC;QACjG,gBAAgB,CAAC,CAAC,IAAmB,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG;gBACd,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO;gBAC5E,KAAK,EAAE,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK;gBACpE,SAAS,EAAE,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS;aACvF,CAAC;YACF,IACI,UAAU,EAAE,OAAO,KAAK,SAAS,CAAC,OAAO;gBACzC,UAAU,EAAE,KAAK,KAAK,SAAS,CAAC,KAAK;gBACrC,UAAU,EAAE,SAAS,KAAK,SAAS,CAAC,SAAS,EAC/C,CAAC;gBACC,OAAO,IAAI,CAAC,CAAC,iCAAiC;YAClD,CAAC;YACD,OAAO;gBACH,GAAG,IAAI;gBACP,CAAC,gBAAgB,CAAC,EAAE,SAAS;aAChC,CAAC;QAAA,CACL,CAAC,CAAC;IAAA,CACN,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE5F,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAExF,MAAM,eAAe,GAAG,WAAW,CAC/B,CAAC,gBAAwB,EAA6B,EAAE,CAAC;QACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC;IAAA,CAC3D,EACD,CAAC,iBAAiB,CAAC,CACtB,CAAC;IAEF,OAAO;QACH,eAAe;QACf,eAAe;QACf,kBAAkB;QAClB,gBAAgB;KACnB,CAAC;AAAA,CACL,CAAC"}
1
+ {"version":3,"file":"useFilterGroupStatus.js","sourceRoot":"","sources":["../../src/FilterGroup/useFilterGroupStatus.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAkBvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,0BAAoC,EAAyB,EAAE,CAAC;IACjG,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IAEnE,MAAM,sBAAsB,GAAG,OAAO,CAClC,GAAG,EAAE,CACD,0BAA0B,CAAC,GAAG,CAC1B,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,eAAe,EAAE,YAAY,CAAC,eAAe,CAAC,IAAI,IAAI,CAAU,CACzF,EACL,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAC7C,CAAC;IAEF,MAAM,cAAc,GAAG,WAAW,CAC9B,CAAC,gBAAoC,EAAE,KAA+B,EAAE,EAAE,CAAC;QACvE,eAAe,CAAC,CAAC,IAAkB,EAAgB,EAAE,CAAC;YAClD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;YACzD,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,CAAC,iCAAiC;YAClD,CAAC;YACD,OAAO;gBACH,GAAG,IAAI;gBACP,CAAC,gBAAgB,CAAC,EAAE,QAAQ;aAC/B,CAAC;QAAA,CACL,CAAC,CAAC;IAAA,CACN,EACD,EAAE,CACL,CAAC;IAEF,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAE9E,OAAO;QACH,cAAc;QACd,gBAAgB;KACnB,CAAC;AAAA,CACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-filters",
3
- "version": "11.22.0-alpha.4",
3
+ "version": "11.22.0-alpha.5",
4
4
  "description": "GoodData.UI SDK - Filter Components",
5
5
  "license": "MIT",
6
6
  "author": "GoodData Corporation",
@@ -47,11 +47,11 @@
47
47
  "ts-invariant": "^0.7.5",
48
48
  "tslib": "2.8.1",
49
49
  "uuid": "^11.1.0",
50
- "@gooddata/sdk-backend-spi": "11.22.0-alpha.4",
51
- "@gooddata/sdk-model": "11.22.0-alpha.4",
52
- "@gooddata/sdk-ui": "11.22.0-alpha.4",
53
- "@gooddata/sdk-ui-kit": "11.22.0-alpha.4",
54
- "@gooddata/util": "11.22.0-alpha.4"
50
+ "@gooddata/sdk-backend-spi": "11.22.0-alpha.5",
51
+ "@gooddata/sdk-model": "11.22.0-alpha.5",
52
+ "@gooddata/sdk-ui": "11.22.0-alpha.5",
53
+ "@gooddata/sdk-ui-kit": "11.22.0-alpha.5",
54
+ "@gooddata/util": "11.22.0-alpha.5"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@microsoft/api-documenter": "^7.17.0",
@@ -93,12 +93,12 @@
93
93
  "typescript": "5.9.3",
94
94
  "vitest": "4.0.8",
95
95
  "vitest-dom": "0.1.1",
96
- "@gooddata/eslint-config": "11.22.0-alpha.4",
97
- "@gooddata/oxlint-config": "11.22.0-alpha.4",
98
- "@gooddata/reference-workspace": "11.22.0-alpha.4",
99
- "@gooddata/sdk-ui-theme-provider": "11.22.0-alpha.4",
100
- "@gooddata/stylelint-config": "11.22.0-alpha.4",
101
- "@gooddata/sdk-backend-mockingbird": "11.22.0-alpha.4"
96
+ "@gooddata/eslint-config": "11.22.0-alpha.5",
97
+ "@gooddata/oxlint-config": "11.22.0-alpha.5",
98
+ "@gooddata/sdk-backend-mockingbird": "11.22.0-alpha.5",
99
+ "@gooddata/reference-workspace": "11.22.0-alpha.5",
100
+ "@gooddata/sdk-ui-theme-provider": "11.22.0-alpha.5",
101
+ "@gooddata/stylelint-config": "11.22.0-alpha.5"
102
102
  },
103
103
  "peerDependencies": {
104
104
  "react": "^18.0.0 || ^19.0.0",