@equinor/fusion-react-filter 1.5.1 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/FilterProvider.js +2 -2
- package/dist/FilterProvider.js.map +1 -1
- package/dist/components/filter/FilterOptionHeader.js +2 -2
- package/dist/components/filter/FilterOptionHeader.js.map +1 -1
- package/dist/components/filter/checkbox/CheckboxFilterOptionAll.js +6 -6
- package/dist/components/filter/checkbox/CheckboxFilterOptionAll.js.map +1 -1
- package/dist/components/filter/checkbox/CheckboxFilterOptions.js +2 -2
- package/dist/components/filter/checkbox/CheckboxFilterOptions.js.map +1 -1
- package/dist/components/filter/search/SearchFilter.js +2 -2
- package/dist/components/filter/search/SearchFilter.js.map +1 -1
- package/dist/components/misc/ClearFilterButton.js +2 -2
- package/dist/components/misc/ClearFilterButton.js.map +1 -1
- package/dist/components/misc/SelectionChips.js +2 -2
- package/dist/components/misc/SelectionChips.js.map +1 -1
- package/dist/components/panel/FilterPanelFilters.js +2 -2
- package/dist/components/panel/FilterPanelFilters.js.map +1 -1
- package/dist/components/panel/FilterPanelProvider.d.ts +2 -2
- package/dist/components/panel/FilterPanelProvider.d.ts.map +1 -1
- package/dist/components/panel/FilterPanelProvider.js +1 -1
- package/dist/components/panel/FilterPanelProvider.js.map +1 -1
- package/dist/components/panel/FilterPanelSelector.js +2 -2
- package/dist/components/panel/FilterPanelSelector.js.map +1 -1
- package/dist/hooks/useClearFilter.js +2 -2
- package/dist/hooks/useClearFilter.js.map +1 -1
- package/dist/hooks/useFilterSelection.d.ts +1 -1
- package/dist/hooks/useFilterSelection.d.ts.map +1 -1
- package/dist/hooks/useFilterSelection.js +2 -2
- package/dist/hooks/useFilterSelection.js.map +1 -1
- package/dist/options/FilterOptionProvider.js +1 -1
- package/dist/options/types.d.ts +2 -2
- package/dist/options/types.d.ts.map +1 -1
- package/dist/types.d.ts +4 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -3
package/dist/FilterProvider.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useLayoutEffect, useMemo, useState } from 'react';
|
|
3
3
|
import { BehaviorSubject } from 'rxjs';
|
|
4
|
-
import { useObservable,
|
|
4
|
+
import { useObservable, useObservableSubscription } from '@equinor/fusion-observable/react';
|
|
5
5
|
import { createSelectionReducer, createDataReducer, createFilterReducer } from './reducers';
|
|
6
6
|
import { Provider } from './context';
|
|
7
7
|
import { actions } from './actions';
|
|
@@ -14,7 +14,7 @@ export const FilterProvider = (props) => {
|
|
|
14
14
|
const filter$ = useObservable(createFilterReducer({}), initialFilters);
|
|
15
15
|
const filterData$ = useMemo(() => filterData(source$, filter$, selection$), [source$, filter$, selection$]);
|
|
16
16
|
const [data$] = useState(new BehaviorSubject(data));
|
|
17
|
-
|
|
17
|
+
useObservableSubscription(filterData$, data$);
|
|
18
18
|
const context = useMemo(() => ({
|
|
19
19
|
source$,
|
|
20
20
|
filter$,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterProvider.js","sourceRoot":"","sources":["../src/FilterProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"FilterProvider.js","sourceRoot":"","sources":["../src/FilterProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE5F,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE5F,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO;AACP,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AASnD,MAAM,CAAC,MAAM,cAAc,GAKR,CACjB,KAAuE,EAC1D,EAAE;IACf,MAAM,EACJ,IAAI,EACJ,gBAAgB,GAAG,EAAiB,EACpC,cAAc,GAAG,EAA4C,EAC7D,QAAQ,GACT,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,aAAa,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAG,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;IAEvE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAE5G,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,eAAe,CAAU,IAAI,CAAC,CAAC,CAAC;IAE7D,yBAAyB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAE9C,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CACH,CAAC;QACC,OAAO;QACP,OAAO;QACP,UAAU;QACV,KAAK;QACL,mCAAmC;KACpC,CAA6B,EAChC,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CACtC,CAAC;IAEF,eAAe,CAAC,GAAG,EAAE;QACnB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAEpB,OAAO,KAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YAAG,QAAQ,GAAY,CAAC;AACzD,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useObservableState,
|
|
2
|
+
import { useObservableState, useObservableSelector } from '@equinor/fusion-observable/react';
|
|
3
3
|
import { Icon } from '@equinor/fusion-react-icon';
|
|
4
4
|
import { TextInput } from '@equinor/fusion-react-textinput';
|
|
5
5
|
import { useFilterOptionContext, useFilterOptionSearch } from '../../options';
|
|
@@ -48,7 +48,7 @@ export const FilterOptionHeader = (props) => {
|
|
|
48
48
|
const searchRef = useRef(null);
|
|
49
49
|
const { options$, selection$ } = useFilterOptionContext();
|
|
50
50
|
const optionCount = Object.keys(useObservableState(options$) || {}).length;
|
|
51
|
-
const selectedCount = useObservableState(
|
|
51
|
+
const { value: selectedCount } = useObservableState(useObservableSelector(selection$, (x) => x && x.size));
|
|
52
52
|
const styles = useStyles();
|
|
53
53
|
const onIconClick = () => {
|
|
54
54
|
if (showSearch) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterOptionHeader.js","sourceRoot":"","sources":["../../../src/components/filter/FilterOptionHeader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"FilterOptionHeader.js","sourceRoot":"","sources":["../../../src/components/filter/FilterOptionHeader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAC7F,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAA8B,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAM9E,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAc,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CACjC,CAAC,KAAK,EAAE,EAAE,CACR,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;KACrB;IACD,MAAM,EAAE;QACN,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK;QAC3C,QAAQ,EAAE,QAAQ;QAClB,cAAc,EAAE;YACd,OAAO,EAAE,MAAM;SAChB;KACF;IACD,UAAU,EAAE,EAAE;IACd,OAAO,EAAE;QACP,OAAO,EAAE,aAAa;QACtB,GAAG,EAAE,KAAK;QACV,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;QACtC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC;KACnE;IACD,OAAO,EAAE;QACP,OAAO,EAAE,MAAM;KAChB;IACD,OAAO,EAAE;QACP,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,MAAM;KACnB;IACD,WAAW,EAAE;QACX,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,UAAU;QAChB,oBAAoB,EAAE;YACpB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,QAAQ;SACnB;KACF;CACF,CAAC,EACJ,EAAE,IAAI,EAAE,sBAAsB,EAAE,CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAwB,EAAe,EAAE;IAC1E,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACxB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,qBAAqB,EAAE,CAAC;IACrD,MAAM,SAAS,GAAG,MAAM,CAA6B,IAAI,CAAC,CAAC;IAC3D,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAC1D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAC3E,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3G,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,UAAU,EAAE;YACd,QAAQ,CAAC,EAAE,CAAC,CAAC;SACd;aAAM;YACL,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;SAC5B;QACD,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC,CAAC;IACF,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACjG,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IAC1C,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAExB,OAAO,CACL,eAAK,SAAS,EAAE,MAAM,CAAC,IAAI,aACzB,KAAC,SAAS,IACR,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,EACpE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,UAAU,EAClB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,KAAK,SACL,EACF,kBAAQ,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,aACrE,yBAAO,KAAK,GAAQ,EACpB,gBAAM,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,aAAa,IAAI,MAAM,CAAC,OAAO,CAAC,aACrE,+BAAc,EACd,yBAAO,aAAa,GAAQ,EAC5B,+BAAc,EACd,yBAAO,WAAW,GAAQ,EAC1B,+BAAc,IACT,IACA,EACT,KAAC,IAAI,IAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,GAAI,IACpG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback } from 'react';
|
|
3
|
-
import { useObservableRef, useObservableState,
|
|
3
|
+
import { useObservableRef, useObservableState, useObservableSelector } from '@equinor/fusion-observable/react';
|
|
4
4
|
import { useCheckboxFilterOptionContext } from './context';
|
|
5
5
|
import CheckboxFilterOption from './CheckboxFilterOption';
|
|
6
6
|
export const CheckboxFilterOptionAll = () => {
|
|
7
7
|
const { options$, selection$, setSelection } = useCheckboxFilterOptionContext();
|
|
8
|
-
const options = useObservableState(options$) || {};
|
|
9
|
-
const optionKeysRef = useObservableRef(
|
|
10
|
-
const selectedKeys = useObservableState(selection$) || new Set([]);
|
|
8
|
+
const { value: options } = useObservableState(options$) || {};
|
|
9
|
+
const optionKeysRef = useObservableRef(useObservableSelector(options$, (x) => Object.keys(x)));
|
|
10
|
+
const { value: selectedKeys } = useObservableState(selection$) || new Set([]);
|
|
11
11
|
const { totalCount } = Object.values(options || {}).reduce((acc, value) => {
|
|
12
12
|
acc.count += value.count;
|
|
13
13
|
acc.totalCount += value.totalCount;
|
|
14
14
|
return acc;
|
|
15
15
|
}, { count: 0, totalCount: 0 });
|
|
16
|
-
const checked = selectedKeys
|
|
17
|
-
const indeterminate = Boolean(selectedKeys
|
|
16
|
+
const checked = selectedKeys?.size === optionKeysRef.current?.length;
|
|
17
|
+
const indeterminate = Boolean(selectedKeys?.size && !checked);
|
|
18
18
|
const onOptionChange = useCallback(({ selected }) => {
|
|
19
19
|
setSelection(selected ? new Set(optionKeysRef.current) : new Set([]));
|
|
20
20
|
}, [setSelection, optionKeysRef]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxFilterOptionAll.js","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/CheckboxFilterOptionAll.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"CheckboxFilterOptionAll.js","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/CheckboxFilterOptionAll.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAE/G,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAgB,EAAE;IACvD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,8BAA8B,EAAE,CAAC;IAChF,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC9D,MAAM,aAAa,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/F,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,kBAAkB,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;IAE9E,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CACxD,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACb,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;QACzB,GAAG,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;QACnC,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAC5B,CAAC;IAEF,MAAM,OAAO,GAAG,YAAY,EAAE,IAAI,KAAK,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC;IACrE,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,EAAE,QAAQ,EAAwC,EAAE,EAAE;QACrD,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC,EACD,CAAC,YAAY,EAAE,aAAa,CAAC,CAC9B,CAAC;IAEF,OAAO,CACL,KAAC,oBAAoB,IACnB,IAAI,EAAC,KAAK,EACV,KAAK,EAAC,KAAK,EACX,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,EACjB,cAAc,EAAE,cAAc,GAC9B,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback } from 'react';
|
|
3
|
-
import { useObservableRef, useObservableState } from '@equinor/fusion-react
|
|
3
|
+
import { useObservableRef, useObservableState } from '@equinor/fusion-observable/react';
|
|
4
4
|
import { useCheckboxFilterOptionContext } from './context';
|
|
5
5
|
import { CheckboxFilterOption } from './CheckboxFilterOption';
|
|
6
6
|
const defaultSortFn = (a, b) => a.label.localeCompare(b.label);
|
|
7
7
|
export const CheckboxFilterOptions = ({ sortFn }) => {
|
|
8
8
|
const context = useCheckboxFilterOptionContext();
|
|
9
|
-
const data = useObservableState(context.options$);
|
|
9
|
+
const { value: data } = useObservableState(context.options$);
|
|
10
10
|
const selectionRef = useObservableRef(context.selection$);
|
|
11
11
|
const onOptionChange = useCallback((item) => {
|
|
12
12
|
const selection = new Set(selectionRef.current || []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxFilterOptions.js","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/CheckboxFilterOptions.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAExF,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAA6B,MAAM,wBAAwB,CAAC;AAEzF,MAAM,aAAa,GAAG,CAA8B,CAAI,EAAE,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAMlG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EAAE,MAAM,EAA8B,EAAe,EAAE;IAC3F,MAAM,OAAO,GAAG,8BAA8B,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"CheckboxFilterOptions.js","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/CheckboxFilterOptions.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAExF,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAA6B,MAAM,wBAAwB,CAAC;AAEzF,MAAM,aAAa,GAAG,CAA8B,CAAI,EAAE,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAMlG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EAAE,MAAM,EAA8B,EAAe,EAAE;IAC3F,MAAM,OAAO,GAAG,8BAA8B,EAAE,CAAC;IACjD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE1D,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,IAA0C,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAChC,IAAI,QAAQ,EAAE;YACZ,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACrB;aAAM;YACL,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACxB;QACD,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC,EACD,CAAC,OAAO,EAAE,YAAY,CAAC,CACxB,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;SACzC,GAAG,CACF,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACf,CAAC;QACC,cAAc;QACd,IAAI,EAAE,GAAG;QACT,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ;QACzB,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,UAAU,EAAE;QAC9F,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAA8B,CAClC;SACA,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC;IACjC,OAAO,CACL,4BACG,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACxB,KAAC,oBAAoB,OAAsB,KAAK,IAArB,KAAK,CAAC,IAAI,CAAe,CACrD,CAAC,GACD,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback, useMemo, useRef } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { useObservableSelector } from '@equinor/fusion-observable/react';
|
|
4
4
|
import { TextInput } from '@equinor/fusion-react-textinput';
|
|
5
5
|
import { useFilter, useFilterSelection } from '../../../hooks';
|
|
6
6
|
const defaultMatcher = (data, query) => {
|
|
@@ -32,7 +32,7 @@ export const SearchFilter = (props) => {
|
|
|
32
32
|
setSelection(e.currentTarget.value);
|
|
33
33
|
}, [setSelection]);
|
|
34
34
|
/** subscribe to changes in the filter selection */
|
|
35
|
-
|
|
35
|
+
useObservableSelector(
|
|
36
36
|
/** create an observable selection for filter */
|
|
37
37
|
useFilterSelection(props.filterKey),
|
|
38
38
|
/** update value of text input when selection changes */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchFilter.js","sourceRoot":"","sources":["../../../../src/components/filter/search/SearchFilter.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SearchFilter.js","sourceRoot":"","sources":["../../../../src/components/filter/search/SearchFilter.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAA8B,SAAS,EAAkB,MAAM,iCAAiC,CAAC;AAExG,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAI/D,MAAM,cAAc,GAAG,CAAS,IAAa,EAAE,KAAa,EAAW,EAAE;IACvE,8BAA8B;IAC9B,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACvC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACrF,CAAC,CAAC;AASF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAS,KAA+B,EAAe,EAAE;IACnF,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAE/C,2BAA2B;IAC3B,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,CAAC;QACL,GAAG,EAAE,SAAS;QACd,QAAQ,EAAE,QAAQ,IAAI,cAAc;KACrC,CAAC,EACF,CAAC,SAAS,EAAE,QAAQ,CAAC,CACtB,CAAC;IAEF,4CAA4C;IAC5C,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAEvC,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAA6B,IAAI,CAAC,CAAC;IAE1D,uDAAuD;IACvD,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,CAA8C,EAAE,EAAE;QACjD,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,mDAAmD;IACnD,qBAAqB;IACnB,iDAAiD;IACjD,kBAAkB,CAAS,KAAK,CAAC,SAAS,CAAC;IAC3C,wDAAwD;IACxD,WAAW,CAAC,CAAC,KAAU,EAAE,EAAE;QACzB,IAAI,QAAQ,CAAC,OAAO,EAAE;YACpB,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;SACtC;IACH,CAAC,EAAE,EAAE,CAAC,CACP,CAAC;IAEF,OAAO,KAAC,SAAS,IAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAC,UAAU,EAAC,IAAI,EAAC,QAAQ,KAAK,IAAI,GAAI,CAAC;AACjH,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback } from 'react';
|
|
3
3
|
import { useForwardRef } from '@equinor/fusion-react-utils';
|
|
4
|
-
import {
|
|
4
|
+
import { useObservableSubscription } from '@equinor/fusion-observable/react';
|
|
5
5
|
import { Button } from '@equinor/fusion-react-button';
|
|
6
6
|
import { useClearFilter } from '../../hooks/useClearFilter';
|
|
7
7
|
/**
|
|
@@ -14,7 +14,7 @@ export const ClearFilterButton = (props) => {
|
|
|
14
14
|
const { clear, changed$ } = useClearFilter();
|
|
15
15
|
const ref = useForwardRef(props.ref);
|
|
16
16
|
/** Subscribe to changes and toggle `disable` of button */
|
|
17
|
-
|
|
17
|
+
useObservableSubscription(changed$, useCallback((changed) => {
|
|
18
18
|
ref.current && (ref.current.disabled = !Object.keys(changed).length);
|
|
19
19
|
}, [ref]));
|
|
20
20
|
/** Reset filters on click */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClearFilterButton.js","sourceRoot":"","sources":["../../../src/components/misc/ClearFilterButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ClearFilterButton.js","sourceRoot":"","sources":["../../../src/components/misc/ClearFilterButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAwC,MAAM,8BAA8B,CAAC;AAE5F,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAI5D;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAA6B,EAAe,EAAE;IAC9E,MAAM,EAAE,KAAK,GAAG,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAClD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE,CAAC;IAC7C,MAAM,GAAG,GAAG,aAAa,CAA0B,KAAK,CAAC,GAAG,CAAC,CAAC;IAE9D,0DAA0D;IAC1D,yBAAyB,CACvB,QAAQ,EACR,WAAW,CACT,CAAC,OAAY,EAAE,EAAE;QACf,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;IACvE,CAAC,EACD,CAAC,GAAG,CAAC,CACN,CACF,CAAC;IAEF,6BAA6B;IAC7B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEpD,OAAO,KAAC,MAAM,IAAC,OAAO,EAAC,OAAO,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAI,CAAC;AAC1E,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
3
3
|
import { combineLatest, of } from 'rxjs';
|
|
4
4
|
import { switchMap } from 'rxjs/operators';
|
|
5
|
-
import {
|
|
5
|
+
import { useObservableSubscription } from '@equinor/fusion-observable/react';
|
|
6
6
|
import Chip from '@equinor/fusion-wc-chip';
|
|
7
7
|
import { useFilterContext } from '../../hooks';
|
|
8
8
|
import { actions } from '../../actions';
|
|
@@ -38,7 +38,7 @@ export const SelectionChips = (props) => {
|
|
|
38
38
|
const { filter$, selection$ } = useFilterContext();
|
|
39
39
|
const [items, setItems] = useState([]);
|
|
40
40
|
const ref = useRef(null);
|
|
41
|
-
|
|
41
|
+
useObservableSubscription(useMemo(() =>
|
|
42
42
|
/** Observe filter and selection changes */
|
|
43
43
|
combineLatest([filter$, selection$]).pipe(switchMap(([filters, selections]) => {
|
|
44
44
|
const items = Object.values(filters)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectionChips.js","sourceRoot":"","sources":["../../../src/components/misc/SelectionChips.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SelectionChips.js","sourceRoot":"","sources":["../../../src/components/misc/SelectionChips.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
|
-
import { useObservableState } from '@equinor/fusion-react
|
|
3
|
+
import { useObservableState } from '@equinor/fusion-observable/react';
|
|
4
4
|
import { useFilterPanelContext } from './FilterPanelProvider';
|
|
5
5
|
import { map } from 'rxjs/operators';
|
|
6
6
|
import { FilterContainer } from '../misc';
|
|
7
7
|
export const FilterPanelFilters = (props) => {
|
|
8
8
|
const { FilterSelector, ...args } = props;
|
|
9
9
|
const { filters$, showFilters } = useFilterPanelContext();
|
|
10
|
-
const filters = useObservableState(useMemo(() => filters$.pipe(map(({ filters, selectedFilters }) => filters.filter((filter) => selectedFilters.has(filter.props.filterKey)))), [filters$]));
|
|
10
|
+
const { value: filters } = useObservableState(useMemo(() => filters$.pipe(map(({ filters, selectedFilters }) => filters.filter((filter) => selectedFilters.has(filter.props.filterKey)))), [filters$]));
|
|
11
11
|
return (_jsxs("div", { ...args, style: { display: showFilters ? '' : 'none' }, children: [FilterSelector && _jsx(FilterSelector, {}), _jsx(FilterContainer, { children: filters })] }));
|
|
12
12
|
};
|
|
13
13
|
export default FilterPanelFilters;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterPanelFilters.js","sourceRoot":"","sources":["../../../src/components/panel/FilterPanelFilters.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAM1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAA8B,EAAe,EAAE;IAChF,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC1C,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAE1D,MAAM,OAAO,GAAG,kBAAkB,
|
|
1
|
+
{"version":3,"file":"FilterPanelFilters.js","sourceRoot":"","sources":["../../../src/components/panel/FilterPanelFilters.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAM1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAA8B,EAAe,EAAE;IAChF,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC1C,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAE1D,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAC3C,OAAO,CACL,GAAG,EAAE,CACH,QAAQ,CAAC,IAAI,CACX,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,CACnC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CACxE,CACF,EACH,CAAC,QAAQ,CAAC,CACX,CACF,CAAC;IACF,OAAO,CACL,kBAAS,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,aACzD,cAAc,IAAI,KAAC,cAAc,KAAG,EACrC,KAAC,eAAe,cAAE,OAAO,GAAmB,IACxC,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type FlowSubject } from '@equinor/fusion-observable';
|
|
2
2
|
import { ReactElement } from 'react';
|
|
3
3
|
import { FilterComponent } from '../filter';
|
|
4
4
|
import FilterPanelSelector from './FilterPanelSelector';
|
|
5
5
|
import { ActionType } from 'typesafe-actions';
|
|
6
6
|
export type FilterPanelProviderContext = {
|
|
7
|
-
filters$:
|
|
7
|
+
filters$: FlowSubject<State, Actions>;
|
|
8
8
|
showFilters?: boolean;
|
|
9
9
|
setShowFilters: (show: boolean) => void;
|
|
10
10
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterPanelProvider.d.ts","sourceRoot":"","sources":["../../../src/components/panel/FilterPanelProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"FilterPanelProvider.d.ts","sourceRoot":"","sources":["../../../src/components/panel/FilterPanelProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAuC,MAAM,OAAO,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAA+B,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE3E,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC,CAAC;AAGF,QAAA,MAAkB,QAAQ,KAAgD,CAAC;AAE3E,OAAO,EAAE,QAAQ,IAAI,mBAAmB,EAAE,CAAC;AAE3C,eAAO,MAAM,qBAAqB,QAAO,0BACU,CAAC;AAEpD,eAAO,MAAM,OAAO;;;CAGnB,CAAC;AAEF,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAC1C,KAAK,KAAK,GAAG;IACX,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC;CAC1C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAG1B,CAAC;AAYF,KAAK,wBAAwB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACtD,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC;IACzC,cAAc,CAAC,EAAE,OAAO,mBAAmB,CAAC;IAC5C,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC,CAAC;AAEH,eAAO,MAAM,mBAAmB,UAAW,wBAAwB,KAAG,WASrE,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useObservable } from '@equinor/fusion-react
|
|
2
|
+
import { useObservable } from '@equinor/fusion-observable/react';
|
|
3
3
|
import { createContext, useContext, useState } from 'react';
|
|
4
4
|
import { createAction, createReducer } from 'typesafe-actions';
|
|
5
5
|
const context = createContext(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterPanelProvider.js","sourceRoot":"","sources":["../../../src/components/panel/FilterPanelProvider.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"FilterPanelProvider.js","sourceRoot":"","sources":["../../../src/components/panel/FilterPanelProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAgB,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAK1E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAc,MAAM,kBAAkB,CAAC;AAQ3E,MAAM,OAAO,GAAG,aAAa,CAAoC,IAAI,CAAC,CAAC;AACvE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAA2C,CAAC;AAE3E,OAAO,EAAE,QAAQ,IAAI,mBAAmB,EAAE,CAAC;AAE3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAA+B,EAAE,CACpE,UAAU,CAAC,OAAO,CAA+B,CAAC;AAEpD,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,GAAG,EAAE,YAAY,CAAC,oCAAoC,CAAC,EAAU;IACjE,MAAM,EAAE,YAAY,CAAC,uCAAuC,CAAC,EAAU;CACxE,CAAC;AAQF,MAAM,CAAC,MAAM,YAAY,GAAU;IACjC,eAAe,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;IAC5B,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF,MAAM,OAAO,GAAG,aAAa,CAAiB,YAAY,CAAC;KACxD,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IAChD,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;AAChE,CAAC,CAAC;KACD,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IACnD,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;AAChE,CAAC,CAAC,CAAC;AASL,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAA+B,EAAe,EAAE;IAClF,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE;QACtC,eAAe,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC;QACtD,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;IAEH,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAElE,OAAO,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,YAAG,KAAK,CAAC,QAAQ,GAAY,CAAC;AACjG,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -2,10 +2,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useCallback } from 'react';
|
|
3
3
|
import { Checkbox } from '@equinor/fusion-react-checkbox';
|
|
4
4
|
import { initialState, useFilterPanelContext, actions } from './FilterPanelProvider';
|
|
5
|
-
import { useObservableState } from '@equinor/fusion-react
|
|
5
|
+
import { useObservableState } from '@equinor/fusion-observable/react';
|
|
6
6
|
export const FilterPanelSelector = () => {
|
|
7
7
|
const { filters$ } = useFilterPanelContext();
|
|
8
|
-
const { filters, selectedFilters } = useObservableState(filters$) || initialState;
|
|
8
|
+
const { filters, selectedFilters } = useObservableState(filters$).value || initialState;
|
|
9
9
|
const onInput = useCallback((e) => {
|
|
10
10
|
const key = e.currentTarget.value;
|
|
11
11
|
const selected = e.currentTarget.checked;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterPanelSelector.js","sourceRoot":"","sources":["../../../src/components/panel/FilterPanelSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAA6B,MAAM,gCAAgC,CAAC;AAErF,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAMtE,MAAM,CAAC,MAAM,mBAAmB,GAAa,GAAG,EAAE;IAChD,MAAM,EAAE,QAAQ,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAE7C,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"FilterPanelSelector.js","sourceRoot":"","sources":["../../../src/components/panel/FilterPanelSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAA6B,MAAM,gCAAgC,CAAC;AAErF,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAMtE,MAAM,CAAC,MAAM,mBAAmB,GAAa,GAAG,EAAE;IAChD,MAAM,EAAE,QAAQ,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAE7C,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC;IAExF,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,CAA6C,EAAE,EAAE;QAChD,MAAM,GAAG,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;QAClC,MAAM,QAAQ,GAAG,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,OAAO,CACL,wBACG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAChD,KAAC,QAAQ,IAEP,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EACvC,OAAO,EAAE,OAAO,IAJX,SAAS,CAKd,CACH,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { useCallback, useMemo } from 'react';
|
|
|
2
2
|
import { combineLatest } from 'rxjs';
|
|
3
3
|
import { map, distinctUntilChanged, filter, withLatestFrom } from 'rxjs/operators';
|
|
4
4
|
import { isActionOf } from 'typesafe-actions';
|
|
5
|
-
import {
|
|
5
|
+
import { useObservableFlow } from '@equinor/fusion-observable/react';
|
|
6
6
|
import { useFilterContext } from '../context';
|
|
7
7
|
import { actions } from '../actions';
|
|
8
8
|
export const selectionChanges = (filter$, selection$) => {
|
|
@@ -23,7 +23,7 @@ export const useClearFilter = () => {
|
|
|
23
23
|
return Object.assign(acc, { [filter.key]: filter.initial });
|
|
24
24
|
}, {}))), [filter$]);
|
|
25
25
|
const changed$ = useMemo(() => selectionChanges(filter$, selection$), [filter$, selection$]);
|
|
26
|
-
|
|
26
|
+
useObservableFlow(selection$, useCallback((action$) => action$.pipe(filter(isActionOf(actions.selection.clear)), withLatestFrom(initial$), map(([_, initial]) => actions.selection.set(initial))), [initial$]));
|
|
27
27
|
return { clear, changed$ };
|
|
28
28
|
};
|
|
29
29
|
export default useClearFilter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useClearFilter.js","sourceRoot":"","sources":["../../src/hooks/useClearFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,EAAE,GAAG,EAAE,oBAAoB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useClearFilter.js","sourceRoot":"","sources":["../../src/hooks/useClearFilter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilterSelection.d.ts","sourceRoot":"","sources":["../../src/hooks/useFilterSelection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useFilterSelection.d.ts","sourceRoot":"","sources":["../../src/hooks/useFilterSelection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAI7D;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,0BAA2B,MAAM,gCACoC,CAAC;AAErG,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useObservableSelector } from '@equinor/fusion-observable/react';
|
|
2
2
|
import { useFilterContext } from '../context';
|
|
3
3
|
/**
|
|
4
4
|
* Use the filter selection from filter provider context
|
|
5
5
|
* @param filterKey {string} the key that the filter was registered on
|
|
6
6
|
* @returns {Observable<TSelection>}
|
|
7
7
|
*/
|
|
8
|
-
export const useFilterSelection = (filterKey) =>
|
|
8
|
+
export const useFilterSelection = (filterKey) => useObservableSelector(useFilterContext().selection$, filterKey);
|
|
9
9
|
export default useFilterSelection;
|
|
10
10
|
//# sourceMappingURL=useFilterSelection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilterSelection.js","sourceRoot":"","sources":["../../src/hooks/useFilterSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useFilterSelection.js","sourceRoot":"","sources":["../../src/hooks/useFilterSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAa,SAAiB,EAA+B,EAAE,CAC/F,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,UAA6C,EAAE,SAAS,CAAC,CAAC;AAErG,eAAe,kBAAkB,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useEffect, useMemo } from 'react';
|
|
3
3
|
import { combineLatest, of } from 'rxjs';
|
|
4
4
|
import { switchMap, map } from 'rxjs/operators';
|
|
5
|
-
import { useObservable } from '@equinor/fusion-react
|
|
5
|
+
import { useObservable } from '@equinor/fusion-observable/react';
|
|
6
6
|
import { useFilterData, useFilterSelection, useFilter, useFilterContext } from '../hooks';
|
|
7
7
|
import { Provider } from './context';
|
|
8
8
|
import { actions } from './actions';
|
package/dist/options/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Observable,
|
|
1
|
+
import type { Observable, FlowSubject } from '@equinor/fusion-observable';
|
|
2
2
|
import { Actions } from './actions';
|
|
3
3
|
export type FilterOption = {
|
|
4
4
|
label?: string;
|
|
@@ -11,7 +11,7 @@ export type FilterOption = {
|
|
|
11
11
|
hide?: boolean;
|
|
12
12
|
};
|
|
13
13
|
export type FilterOptionContext<TOption extends FilterOption, TValue = string> = {
|
|
14
|
-
options$:
|
|
14
|
+
options$: FlowSubject<Record<string, TOption>, Actions>;
|
|
15
15
|
selection$: Observable<Set<TValue>>;
|
|
16
16
|
setSelection: (selection?: Set<TValue>) => void;
|
|
17
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/options/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/options/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,OAAO,SAAS,YAAY,EAAE,MAAM,GAAG,MAAM,IAAI;IAC/E,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IACxD,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,YAAY,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,EAAE,MAAM,GAAG,MAAM,IAAI,CACtF,MAAM,EAAE,KAAK,EAAE,EACf,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EACtB,IAAI,EAAE,KAAK,EAAE,KACV,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7B,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,KAAK,EAAE,CAAC,EAAE,MAAM,UAAU,KAAK,MAAM,CAAC,GACxF;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,CAAC,CAAA;CAAE,GAClD,KAAK,CAAC;AAEV,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAClE,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { Observable,
|
|
1
|
+
import type { Observable, FlowSubject } from '@equinor/fusion-observable';
|
|
2
2
|
export type FilterData<TValue = unknown> = Record<string, TValue>;
|
|
3
3
|
export type FilterContext<TSelection = unknown, TData extends Record<string, any> = Record<string, any>> = {
|
|
4
|
-
source$:
|
|
5
|
-
selection$:
|
|
6
|
-
filter$:
|
|
4
|
+
source$: FlowSubject<TData[]>;
|
|
5
|
+
selection$: FlowSubject<Record<string, TSelection>>;
|
|
6
|
+
filter$: FlowSubject<Record<string, Filter<TData, TSelection>>>;
|
|
7
7
|
data$: Observable<TData[]>;
|
|
8
8
|
};
|
|
9
9
|
export type FilterContextDataType<T extends FilterContext> = T extends FilterContext<any, infer D> ? D : never;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE1E,MAAM,MAAM,UAAU,CAAC,MAAM,GAAG,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAElE,MAAM,MAAM,aAAa,CAAC,UAAU,GAAG,OAAO,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IACzG,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACpD,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAChE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,aAAa,IAAI,CAAC,SAAS,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE/G;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,CAAC;AAE/G;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE,UAAU,GAAG,GAAG,IAAI;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC;CACxE,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,KAAK,EAAE,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AAE7F;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,KAAK,GAAG,GAAG,EAAE,UAAU,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AAGtG,MAAM,MAAM,eAAe,CAAC,MAAM,GAAG,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@equinor/fusion-react-filter",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "component for Filtering data",
|
|
5
5
|
"author": "",
|
|
6
6
|
"homepage": "https://github.com/equinor/fusion-react-components/tree/master/packages/filter#readme",
|
|
@@ -34,11 +34,10 @@
|
|
|
34
34
|
"url": "https://github.com/equinor/fusion-react-components/issues"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
+
"@equinor/fusion-observable": "^8.1.2",
|
|
37
38
|
"@equinor/fusion-react-button": "^0.9.0",
|
|
38
39
|
"@equinor/fusion-react-checkbox": "^0.6.0",
|
|
39
|
-
"@equinor/fusion-react-chip": "^0.5.0",
|
|
40
40
|
"@equinor/fusion-react-icon": "^0.3.0",
|
|
41
|
-
"@equinor/fusion-react-observable": "^1.2.0",
|
|
42
41
|
"@equinor/fusion-react-radio": "^0.5.0",
|
|
43
42
|
"@equinor/fusion-react-styles": "^0.6.0",
|
|
44
43
|
"@equinor/fusion-react-textinput": "^0.7.0",
|