@equinor/fusion-react-filter 2.1.0-filter.7 → 2.1.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.
Files changed (154) hide show
  1. package/LICENSE +21 -0
  2. package/components/package.json +1 -1
  3. package/dist/FilterProvider.d.ts +3 -3
  4. package/dist/FilterProvider.d.ts.map +1 -1
  5. package/dist/FilterProvider.js +7 -6
  6. package/dist/FilterProvider.js.map +1 -1
  7. package/dist/actions.d.ts +3 -3
  8. package/dist/actions.d.ts.map +1 -1
  9. package/dist/actions.js +1 -0
  10. package/dist/actions.js.map +1 -1
  11. package/dist/components/filter/FilterOptionHeader.d.ts +4 -4
  12. package/dist/components/filter/FilterOptionHeader.d.ts.map +1 -1
  13. package/dist/components/filter/FilterOptionHeader.js +55 -47
  14. package/dist/components/filter/FilterOptionHeader.js.map +1 -1
  15. package/dist/components/filter/checkbox/CheckboxFilter.d.ts +16 -6
  16. package/dist/components/filter/checkbox/CheckboxFilter.d.ts.map +1 -1
  17. package/dist/components/filter/checkbox/CheckboxFilter.js +4 -4
  18. package/dist/components/filter/checkbox/CheckboxFilter.js.map +1 -1
  19. package/dist/components/filter/checkbox/CheckboxFilter.style.d.ts +9 -4
  20. package/dist/components/filter/checkbox/CheckboxFilter.style.d.ts.map +1 -1
  21. package/dist/components/filter/checkbox/CheckboxFilter.style.js +21 -18
  22. package/dist/components/filter/checkbox/CheckboxFilter.style.js.map +1 -1
  23. package/dist/components/filter/checkbox/CheckboxFilterOption.d.ts +8 -7
  24. package/dist/components/filter/checkbox/CheckboxFilterOption.d.ts.map +1 -1
  25. package/dist/components/filter/checkbox/CheckboxFilterOption.js +4 -10
  26. package/dist/components/filter/checkbox/CheckboxFilterOption.js.map +1 -1
  27. package/dist/components/filter/checkbox/CheckboxFilterOption.style.d.ts +10 -2
  28. package/dist/components/filter/checkbox/CheckboxFilterOption.style.d.ts.map +1 -1
  29. package/dist/components/filter/checkbox/CheckboxFilterOption.style.js +37 -39
  30. package/dist/components/filter/checkbox/CheckboxFilterOption.style.js.map +1 -1
  31. package/dist/components/filter/checkbox/CheckboxFilterOptionAll.d.ts +2 -1
  32. package/dist/components/filter/checkbox/CheckboxFilterOptionAll.d.ts.map +1 -1
  33. package/dist/components/filter/checkbox/CheckboxFilterOptionAll.js +7 -7
  34. package/dist/components/filter/checkbox/CheckboxFilterOptionAll.js.map +1 -1
  35. package/dist/components/filter/checkbox/CheckboxFilterOptions.d.ts +7 -1
  36. package/dist/components/filter/checkbox/CheckboxFilterOptions.d.ts.map +1 -1
  37. package/dist/components/filter/checkbox/CheckboxFilterOptions.js +6 -7
  38. package/dist/components/filter/checkbox/CheckboxFilterOptions.js.map +1 -1
  39. package/dist/components/filter/checkbox/CheckboxFilterProvider.d.ts +9 -5
  40. package/dist/components/filter/checkbox/CheckboxFilterProvider.d.ts.map +1 -1
  41. package/dist/components/filter/checkbox/CheckboxFilterProvider.js +12 -4
  42. package/dist/components/filter/checkbox/CheckboxFilterProvider.js.map +1 -1
  43. package/dist/components/filter/checkbox/context.d.ts +1 -1
  44. package/dist/components/filter/checkbox/context.d.ts.map +1 -1
  45. package/dist/components/filter/checkbox/context.js.map +1 -1
  46. package/dist/components/filter/checkbox/index.d.ts +1 -1
  47. package/dist/components/filter/checkbox/index.d.ts.map +1 -1
  48. package/dist/components/filter/checkbox/index.js.map +1 -1
  49. package/dist/components/filter/checkbox/types.d.ts +2 -2
  50. package/dist/components/filter/checkbox/types.d.ts.map +1 -1
  51. package/dist/components/filter/search/SearchFilter.d.ts +6 -5
  52. package/dist/components/filter/search/SearchFilter.d.ts.map +1 -1
  53. package/dist/components/filter/search/SearchFilter.js +9 -7
  54. package/dist/components/filter/search/SearchFilter.js.map +1 -1
  55. package/dist/components/filter/types.d.ts +1 -1
  56. package/dist/components/filter/types.d.ts.map +1 -1
  57. package/dist/components/index.d.ts +1 -1
  58. package/dist/components/index.d.ts.map +1 -1
  59. package/dist/components/index.js.map +1 -1
  60. package/dist/components/misc/ClearFilterButton.d.ts +6 -4
  61. package/dist/components/misc/ClearFilterButton.d.ts.map +1 -1
  62. package/dist/components/misc/ClearFilterButton.js +8 -7
  63. package/dist/components/misc/ClearFilterButton.js.map +1 -1
  64. package/dist/components/misc/FilterContainer.d.ts +7 -6
  65. package/dist/components/misc/FilterContainer.d.ts.map +1 -1
  66. package/dist/components/misc/FilterContainer.js +13 -9
  67. package/dist/components/misc/FilterContainer.js.map +1 -1
  68. package/dist/components/misc/SelectionChips.d.ts +5 -4
  69. package/dist/components/misc/SelectionChips.d.ts.map +1 -1
  70. package/dist/components/misc/SelectionChips.js +29 -21
  71. package/dist/components/misc/SelectionChips.js.map +1 -1
  72. package/dist/components/panel/FilterPanel.d.ts +9 -3
  73. package/dist/components/panel/FilterPanel.d.ts.map +1 -1
  74. package/dist/components/panel/FilterPanel.js +29 -18
  75. package/dist/components/panel/FilterPanel.js.map +1 -1
  76. package/dist/components/panel/FilterPanelBar.d.ts +6 -2
  77. package/dist/components/panel/FilterPanelBar.d.ts.map +1 -1
  78. package/dist/components/panel/FilterPanelBar.js +29 -27
  79. package/dist/components/panel/FilterPanelBar.js.map +1 -1
  80. package/dist/components/panel/FilterPanelFilters.d.ts +4 -4
  81. package/dist/components/panel/FilterPanelFilters.d.ts.map +1 -1
  82. package/dist/components/panel/FilterPanelFilters.js +4 -3
  83. package/dist/components/panel/FilterPanelFilters.js.map +1 -1
  84. package/dist/components/panel/FilterPanelProvider.d.ts +12 -12
  85. package/dist/components/panel/FilterPanelProvider.d.ts.map +1 -1
  86. package/dist/components/panel/FilterPanelProvider.js +4 -3
  87. package/dist/components/panel/FilterPanelProvider.js.map +1 -1
  88. package/dist/components/panel/FilterPanelSelector.d.ts +3 -3
  89. package/dist/components/panel/FilterPanelSelector.d.ts.map +1 -1
  90. package/dist/components/panel/FilterPanelSelector.js +4 -4
  91. package/dist/components/panel/FilterPanelSelector.js.map +1 -1
  92. package/dist/context.d.ts +1 -2
  93. package/dist/context.d.ts.map +1 -1
  94. package/dist/context.js +1 -0
  95. package/dist/context.js.map +1 -1
  96. package/dist/hooks/useClearFilter.d.ts.map +1 -1
  97. package/dist/hooks/useClearFilter.js +4 -3
  98. package/dist/hooks/useClearFilter.js.map +1 -1
  99. package/dist/hooks/useFilter.d.ts +1 -1
  100. package/dist/hooks/useFilter.d.ts.map +1 -1
  101. package/dist/hooks/useFilter.js.map +1 -1
  102. package/dist/hooks/useFilterData.d.ts +4 -4
  103. package/dist/hooks/useFilterData.d.ts.map +1 -1
  104. package/dist/hooks/useFilterData.js +5 -2
  105. package/dist/hooks/useFilterData.js.map +1 -1
  106. package/dist/hooks/useFilterSelection.d.ts +1 -1
  107. package/dist/hooks/useFilterSelection.d.ts.map +1 -1
  108. package/dist/hooks/useFilterSelection.js +4 -2
  109. package/dist/hooks/useFilterSelection.js.map +1 -1
  110. package/dist/index.d.ts +1 -1
  111. package/dist/index.d.ts.map +1 -1
  112. package/dist/index.js.map +1 -1
  113. package/dist/options/FilterOptionProvider.d.ts +3 -3
  114. package/dist/options/FilterOptionProvider.d.ts.map +1 -1
  115. package/dist/options/FilterOptionProvider.js +2 -2
  116. package/dist/options/FilterOptionProvider.js.map +1 -1
  117. package/dist/options/actions.d.ts +2 -2
  118. package/dist/options/actions.d.ts.map +1 -1
  119. package/dist/options/actions.js.map +1 -1
  120. package/dist/options/context.d.ts +1 -2
  121. package/dist/options/context.d.ts.map +1 -1
  122. package/dist/options/context.js +2 -1
  123. package/dist/options/context.js.map +1 -1
  124. package/dist/options/create-options.d.ts +1 -1
  125. package/dist/options/create-options.d.ts.map +1 -1
  126. package/dist/options/create-options.js +3 -1
  127. package/dist/options/create-options.js.map +1 -1
  128. package/dist/options/index.d.ts +1 -1
  129. package/dist/options/index.d.ts.map +1 -1
  130. package/dist/options/index.js +1 -1
  131. package/dist/options/index.js.map +1 -1
  132. package/dist/options/reducer.d.ts +11 -11
  133. package/dist/options/reducer.d.ts.map +1 -1
  134. package/dist/options/reducer.js +1 -0
  135. package/dist/options/reducer.js.map +1 -1
  136. package/dist/options/search/filter-option-match.d.ts.map +1 -1
  137. package/dist/options/search/filter-option-search.d.ts +1 -4
  138. package/dist/options/search/filter-option-search.d.ts.map +1 -1
  139. package/dist/options/search/filter-option-search.js +3 -1
  140. package/dist/options/search/filter-option-search.js.map +1 -1
  141. package/dist/options/search/types.d.ts +2 -2
  142. package/dist/options/search/types.d.ts.map +1 -1
  143. package/dist/options/search/useFilterOptionSearch.d.ts +1 -4
  144. package/dist/options/search/useFilterOptionSearch.d.ts.map +1 -1
  145. package/dist/options/types.d.ts +11 -11
  146. package/dist/options/types.d.ts.map +1 -1
  147. package/dist/reducers.d.ts +34 -34
  148. package/dist/reducers.d.ts.map +1 -1
  149. package/dist/reducers.js +4 -1
  150. package/dist/reducers.js.map +1 -1
  151. package/dist/types.d.ts +12 -12
  152. package/dist/types.d.ts.map +1 -1
  153. package/options/package.json +2 -2
  154. package/package.json +30 -20
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Equinor
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -5,4 +5,4 @@
5
5
  "main": "../dist/components/index.js",
6
6
  "module": "../dist/components/index.js",
7
7
  "sideEffects": false
8
- }
8
+ }
@@ -1,10 +1,10 @@
1
- /// <reference types="react" />
1
+ import { type PropsWithChildren, type ReactElement } from 'react';
2
2
  import type { Filter } from './types';
3
- export declare type FilterProviderProps<TSelections extends Record<string, unknown>, TData> = {
3
+ export type FilterProviderProps<TSelections extends Record<string, unknown>, TData> = {
4
4
  data: TData[];
5
5
  initialSelection?: TSelections;
6
6
  initialFilters?: Record<string, Filter<TData, TSelections>>;
7
7
  };
8
- export declare const FilterProvider: <TSelections extends Record<string, any>, TData extends Record<string, any> = Record<string, any>>(props: import("react").PropsWithChildren<FilterProviderProps<TSelections, TData>>) => JSX.Element;
8
+ export declare const FilterProvider: <TSelections extends Record<string, any>, TData extends Record<string, any> = Record<string, any>>(props: PropsWithChildren<FilterProviderProps<TSelections, TData>>) => ReactElement;
9
9
  export default FilterProvider;
10
10
  //# sourceMappingURL=FilterProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterProvider.d.ts","sourceRoot":"","sources":["../src/FilterProvider.tsx"],"names":[],"mappings":";AAYA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,SAAS,CAAC;AAErD,oBAAY,mBAAmB,CAAC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,IAAI;IACpF,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;CAC7D,CAAC;AAEF,eAAO,MAAM,cAAc,2LAKxB,WA2BF,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"FilterProvider.d.ts","sourceRoot":"","sources":["../src/FilterProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAIlB,MAAM,OAAO,CAAC;AAYf,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,SAAS,CAAC;AAErD,MAAM,MAAM,mBAAmB,CAAC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,IAAI;IACpF,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;CAC7D,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,CAE3B,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEvC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEvD,KAAK,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,KAC9D,YA4CJ,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useLayoutEffect, useState } from 'react';
2
+ import { useLayoutEffect, useMemo, useState, } from 'react';
3
3
  import { BehaviorSubject } from 'rxjs';
4
- import { useObservable, useSubscription } from '@equinor/fusion-react-observable';
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';
@@ -12,19 +12,20 @@ export const FilterProvider = (props) => {
12
12
  const source$ = useObservable(createDataReducer(data), data);
13
13
  const selection$ = useObservable(createSelectionReducer(initialSelection), initialSelection);
14
14
  const filter$ = useObservable(createFilterReducer({}), initialFilters);
15
+ const filterData$ = useMemo(() => filterData(source$, filter$, selection$), [source$, filter$, selection$]);
15
16
  const [data$] = useState(new BehaviorSubject(data));
16
- useSubscription(filterData(source$, filter$, selection$), data$);
17
- const context = {
17
+ useObservableSubscription(filterData$, data$);
18
+ const context = useMemo(() => ({
18
19
  source$,
19
20
  filter$,
20
21
  selection$,
21
22
  data$,
22
23
  /** type issues, might fix later */
23
- };
24
+ }), [source$, filter$, selection$, data$]);
24
25
  useLayoutEffect(() => {
25
26
  source$.next(actions.source.update(data));
26
27
  }, [source$, data]);
27
- return _jsx(Provider, Object.assign({ value: context }, { children: children }), void 0);
28
+ return _jsx(Provider, { value: context, children: children });
28
29
  };
29
30
  export default FilterProvider;
30
31
  //# sourceMappingURL=FilterProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterProvider.js","sourceRoot":"","sources":["../src/FilterProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAElF,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,GAAG,CAI5B,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,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,eAAe,CAAU,IAAI,CAAC,CAAC,CAAC;IAC7D,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;IAEjE,MAAM,OAAO,GAAG;QACd,OAAO;QACP,OAAO;QACP,UAAU;QACV,KAAK;QACL,mCAAmC;KACR,CAAC;IAE9B,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,kBAAC,KAAK,EAAE,OAAO,gBAAG,QAAQ,YAAY,CAAC;AACzD,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"FilterProvider.js","sourceRoot":"","sources":["../src/FilterProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAGL,eAAe,EACf,OAAO,EACP,QAAQ,GACT,MAAM,OAAO,CAAC;AAEf,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,GAOP,CAMlB,KAAiE,EACnD,EAAE;IAChB,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,CACzB,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,EAC9C,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAC/B,CAAC;IAEF,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"}
package/dist/actions.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { ActionType } from 'typesafe-actions';
1
+ import { type ActionType } from 'typesafe-actions';
2
2
  import type { Filter } from './types';
3
- export declare type SelectionValues<TValue = unknown> = Record<string, TValue>;
3
+ export type SelectionValues<TValue = unknown> = Record<string, TValue>;
4
4
  export declare const filter: {
5
5
  add: import("typesafe-actions").PayloadActionCreator<"@FILTER/FILTERS_ADD", Filter<any, any>>;
6
6
  remove: import("typesafe-actions").PayloadActionCreator<"@FILTER/FILTERS_REMOVE", string>;
@@ -29,6 +29,6 @@ export declare const actions: {
29
29
  update: import("typesafe-actions").PayloadActionCreator<"@FILTER/SOURCE_UPDATE", unknown>;
30
30
  };
31
31
  };
32
- export declare type Actions = ActionType<typeof actions>;
32
+ export type Actions = ActionType<typeof actions>;
33
33
  export default actions;
34
34
  //# sourceMappingURL=actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,oBAAY,eAAe,CAAC,MAAM,GAAG,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEvE,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;CAKrB,CAAC;AAEF,eAAO,MAAM,MAAM;;CAElB,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;CAInB,CAAC;AAEF,oBAAY,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAEjD,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,MAAM,eAAe,CAAC,MAAM,GAAG,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEvE,eAAO,MAAM,MAAM;;;CAIlB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;CAKrB,CAAC;AAEF,eAAO,MAAM,MAAM;;CAElB,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;CAInB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAEjD,eAAe,OAAO,CAAC"}
package/dist/actions.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { createAction } from 'typesafe-actions';
2
2
  export const filter = {
3
+ // biome-ignore lint/suspicious/noExplicitAny: we need any here to avoid type errors
3
4
  add: createAction('@FILTER/FILTERS_ADD')(),
4
5
  remove: createAction('@FILTER/FILTERS_REMOVE')(),
5
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,kBAAkB,CAAC;AAK5D,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,GAAG,EAAE,YAAY,CAAC,qBAAqB,CAAC,EAAoB;IAC5D,MAAM,EAAE,YAAY,CAAC,wBAAwB,CAAC,EAAU;CACzD,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,GAAG,EAAE,YAAY,CAAC,uBAAuB,CAAC,EAAmB;IAC7D,OAAO,EAAE,YAAY,CAAC,2BAA2B,CAAC,EAAmB;IACrE,KAAK,EAAE,YAAY,CAAC,yBAAyB,CAAC,EAAQ;IACtD,MAAM,EAAE,YAAY,CAAC,0BAA0B,CAAC,EAAqB;CACtE,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,MAAM,EAAE,YAAY,CAAC,uBAAuB,CAAC,EAAW;CACzD,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,MAAM;IACN,SAAS;IACT,MAAM;CACP,CAAC;AAIF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAmB,MAAM,kBAAkB,CAAC;AAKjE,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,oFAAoF;IACpF,GAAG,EAAE,YAAY,CAAC,qBAAqB,CAAC,EAAoB;IAC5D,MAAM,EAAE,YAAY,CAAC,wBAAwB,CAAC,EAAU;CACzD,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,GAAG,EAAE,YAAY,CAAC,uBAAuB,CAAC,EAAmB;IAC7D,OAAO,EAAE,YAAY,CAAC,2BAA2B,CAAC,EAAmB;IACrE,KAAK,EAAE,YAAY,CAAC,yBAAyB,CAAC,EAAQ;IACtD,MAAM,EAAE,YAAY,CAAC,0BAA0B,CAAC,EAAqB;CACtE,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,MAAM,EAAE,YAAY,CAAC,uBAAuB,CAAC,EAAW;CACzD,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,MAAM;IACN,SAAS;IACT,MAAM;CACP,CAAC;AAIF,eAAe,OAAO,CAAC"}
@@ -1,7 +1,7 @@
1
- declare type FilterHeaderProps = {
2
- title: string;
1
+ import { type ReactElement } from 'react';
2
+ type FilterHeaderProps = {
3
+ readonly title: string;
3
4
  };
4
- export declare const useStyles: (props?: {} | undefined) => import("@material-ui/styles").ClassNameMap<"header" | "root" | "showSearch" | "counter" | "noCount" | "iconBtn" | "searchField">;
5
- export declare const FilterOptionHeader: (props: FilterHeaderProps) => JSX.Element;
5
+ export declare const FilterOptionHeader: (props: FilterHeaderProps) => ReactElement;
6
6
  export default FilterOptionHeader;
7
7
  //# sourceMappingURL=FilterOptionHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterOptionHeader.d.ts","sourceRoot":"","sources":["../../../src/components/filter/FilterOptionHeader.tsx"],"names":[],"mappings":"AAKA,aAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAKF,eAAO,MAAM,SAAS,8JAuCrB,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAW,iBAAiB,KAAG,WA+C7D,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"FilterOptionHeader.d.ts","sourceRoot":"","sources":["../../../src/components/filter/FilterOptionHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,YAAY,EAAqC,MAAM,OAAO,CAAC;AAY7F,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AA2CF,eAAO,MAAM,kBAAkB,GAAI,OAAO,iBAAiB,KAAG,YAuD7D,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -1,55 +1,59 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useObservableState, useSelector } from '@equinor/fusion-react-observable';
3
- import { Icon } from '@equinor/fusion-react-icon';
4
- import { TextInput } from '@equinor/fusion-react-textinput';
5
- import { useFilterOptionContext, useFilterOptionSearch } from '../../options';
6
- import { clsx, createStyles, makeStyles } from '@equinor/fusion-react-styles';
7
2
  import { useLayoutEffect, useRef, useState } from 'react';
8
- export const useStyles = makeStyles((theme) => createStyles({
9
- root: {
10
- display: 'flex',
11
- alignItems: 'center',
12
- },
13
- header: {
14
- ...theme.typography.table.cell_header.style,
15
- overflow: 'hidden',
16
- '&$showSearch': {
17
- display: 'none',
18
- },
19
- },
20
- showSearch: {},
21
- counter: {
22
- display: 'inline-flex',
23
- gap: '1px',
24
- ...theme.typography.input.helper.style,
25
- marginLeft: theme.spacing.comfortable.small.getVariable('padding'),
26
- },
27
- noCount: {
28
- display: 'none',
29
- },
30
- iconBtn: {
31
- cursor: 'pointer',
32
- marginLeft: 'auto',
33
- },
34
- searchField: {
35
- marginTop: '4px',
36
- flex: '1 1 auto',
37
- '&:not($showSearch)': {
38
- maxWidth: 0,
39
- flex: 'none',
40
- overflow: 'hidden',
41
- },
42
- },
43
- }), { name: 'fusion-filter-header' });
3
+ import { useObservableState, useObservableSelector } from '@equinor/fusion-observable/react';
4
+ import { TextField, Icon } from '@equinor/eds-core-react';
5
+ import { useFilterOptionContext, useFilterOptionSearch } from '../../options';
6
+ import { search, chevron_right } from '@equinor/eds-icons';
7
+ import styled from 'styled-components';
8
+ import { tokens } from '@equinor/eds-tokens';
9
+ Icon.add({ search, chevron_right });
10
+ const Styled = {
11
+ Root: styled.div `
12
+ display: flex;
13
+ align-items: center;
14
+ `,
15
+ Header: styled.header `
16
+ color: ${tokens.typography.table.cell_header.color};
17
+ font-family: ${tokens.typography.table.cell_header.fontFamily};
18
+ font-size: ${tokens.typography.table.cell_header.fontSize};
19
+ font-weight: ${tokens.typography.table.cell_header.fontWeight};
20
+ line-height: ${tokens.typography.table.cell_header.lineHeight};
21
+ overflow: hidden;
22
+ ${({ $showSearch }) => $showSearch && 'display: none;'}
23
+ `,
24
+ Counter: styled.span `
25
+ display: ${({ $noCount }) => ($noCount ? 'none' : 'inline-flex')};
26
+ gap: 1px;
27
+ color: ${tokens.typography.input.helper.color};
28
+ font-family: ${tokens.typography.input.helper.fontFamily};
29
+ font-size: ${tokens.typography.input.helper.fontSize};
30
+ font-weight: ${tokens.typography.input.helper.fontWeight};
31
+ letter-spacing: ${tokens.typography.input.helper.letterSpacing};
32
+ line-height: ${tokens.typography.input.helper.lineHeight};
33
+ margin-left: ${tokens.spacings.comfortable.small};
34
+ `,
35
+ IconBtn: styled(Icon) `
36
+ cursor: pointer;
37
+ margin-left: auto;
38
+ `,
39
+ SearchField: styled(TextField) `
40
+ margin-top: 4px;
41
+ flex: ${({ $showSearch }) => ($showSearch ? '1 1 auto' : 'none')};
42
+ ${({ $showSearch }) => !$showSearch &&
43
+ `
44
+ max-width: 0;
45
+ overflow: hidden;
46
+ `}
47
+ `,
48
+ };
44
49
  export const FilterOptionHeader = (props) => {
45
50
  const { title } = props;
46
51
  const [showSearch, setShowSearch] = useState(false);
47
52
  const { setQuery, query$ } = useFilterOptionSearch();
48
53
  const searchRef = useRef(null);
49
54
  const { options$, selection$ } = useFilterOptionContext();
50
- const optionCount = Object.keys(useObservableState(options$) || {}).length;
51
- const selectedCount = useObservableState(useSelector(selection$, (x) => x && x.size));
52
- const styles = useStyles();
55
+ const optionCount = Object.keys(useObservableState(options$).value || {}).length;
56
+ const { value: selectedCount } = useObservableState(useObservableSelector(selection$, (x) => (x ?? new Set()).size > 0));
53
57
  const onIconClick = () => {
54
58
  if (showSearch) {
55
59
  setQuery('');
@@ -60,10 +64,14 @@ export const FilterOptionHeader = (props) => {
60
64
  setShowSearch(!showSearch);
61
65
  };
62
66
  useLayoutEffect(() => {
63
- const subscription = query$.subscribe((x) => searchRef.current && (searchRef.current.value = x));
67
+ const subscription = query$.subscribe((x) => {
68
+ if (searchRef.current) {
69
+ searchRef.current.value = x;
70
+ }
71
+ });
64
72
  return () => subscription.unsubscribe();
65
- }, [searchRef, query$]);
66
- return (_jsxs("div", Object.assign({ className: styles.root }, { children: [_jsx(TextInput, { ref: searchRef, className: clsx(styles.searchField, showSearch && styles.showSearch), icon: "search", variant: "outlined", type: "search", label: title, onInput: (e) => setQuery(e.currentTarget.value), dense: true }, void 0), _jsxs("header", Object.assign({ className: clsx(styles.header, showSearch && styles.showSearch) }, { children: [_jsx("span", { children: title }, void 0), _jsxs("span", Object.assign({ className: clsx(styles.counter, !selectedCount && styles.noCount) }, { children: [_jsx("span", { children: "(" }, void 0), _jsx("span", { children: selectedCount }, void 0), _jsx("span", { children: "/" }, void 0), _jsx("span", { children: optionCount }, void 0), _jsx("span", { children: ")" }, void 0)] }), void 0)] }), void 0), _jsx(Icon, { className: styles.iconBtn, icon: showSearch ? 'chevron_right' : 'search', onClick: onIconClick }, void 0)] }), void 0));
73
+ }, [query$]);
74
+ return (_jsxs(Styled.Root, { children: [_jsx(Styled.SearchField, { id: title, ref: searchRef, "$showSearch": showSearch, type: "search", placeholder: title, onInput: (e) => setQuery(e.currentTarget.value), inputIcon: _jsx(Icon, { name: "search", size: 16 }, "thumbs") }), _jsxs(Styled.Header, { "$showSearch": showSearch, children: [_jsx("span", { children: title }), _jsxs(Styled.Counter, { "$noCount": !selectedCount, children: [_jsx("span", { children: "(" }), _jsx("span", { children: selectedCount }), _jsx("span", { children: "/" }), _jsx("span", { children: optionCount }), _jsx("span", { children: ")" })] })] }), _jsx(Styled.IconBtn, { name: showSearch ? 'chevron_right' : 'search', size: 16, onClick: onIconClick })] }));
67
75
  };
68
76
  export default FilterOptionHeader;
69
77
  //# sourceMappingURL=FilterOptionHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterOptionHeader.js","sourceRoot":"","sources":["../../../src/components/filter/FilterOptionHeader.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FilterOptionHeader.js","sourceRoot":"","sources":["../../../src/components/filter/FilterOptionHeader.tsx"],"names":[],"mappings":"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"}
@@ -1,16 +1,26 @@
1
- import { FilterOptionSelector } from '../../../options';
1
+ import type { ReactElement } from 'react';
2
+ import type { FilterOptionBuilder, FilterOptionSelector } from '../../../options';
2
3
  import type { FilterComponent } from '../types';
3
- export declare type CheckboxFilterProps<TData extends Record<string, any> = Record<string, any>> = FilterComponent & {
4
+ import type { CheckboxOption } from './types';
5
+ import type { FilterFn } from '../../../types';
6
+ export type CheckboxFilterProps<TData extends Record<string, any> = Record<string, any>> = FilterComponent & {
4
7
  /** either name of property of data type or a function that selects value */
5
- selector?: Extract<keyof TData, string> | string | FilterOptionSelector<TData>;
8
+ readonly selector?: Extract<keyof TData, string> | string | FilterOptionSelector<TData>;
6
9
  /** show option for selecting all */
7
- enableAll?: boolean;
10
+ readonly enableAll?: boolean;
8
11
  /** initial selection */
9
- initial?: Set<string>;
12
+ readonly initial?: Set<string>;
13
+ readonly filter?: {
14
+ filterFn: FilterFn<TData, Set<string>>;
15
+ optionFn: FilterOptionBuilder<TData, CheckboxOption, string>;
16
+ };
17
+ readonly sortFn?: <T extends {
18
+ label: string;
19
+ }>(a: T, b: T) => number;
10
20
  };
11
21
  /**
12
22
  * Component for displaying multi-select filter with checkboxes
13
23
  */
14
- export declare const CheckboxFilter: (props: CheckboxFilterProps) => JSX.Element;
24
+ export declare const CheckboxFilter: <TData extends Record<string, any> = Record<string, any>>(props: CheckboxFilterProps<TData>) => ReactElement;
15
25
  export default CheckboxFilter;
16
26
  //# sourceMappingURL=CheckboxFilter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/CheckboxFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAShD,oBAAY,mBAAmB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,eAAe,GAAG;IAC3G,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC/E,oCAAoC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wBAAwB;IACxB,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,UAAW,mBAAmB,KAAG,WAc3D,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"CheckboxFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/CheckboxFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAElF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAQhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,MAAM,MAAM,mBAAmB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACrF,eAAe,GAAG;IAChB,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACxF,oCAAoC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,wBAAwB;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAI/B,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACvC,QAAQ,EAAE,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;KAC9D,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC;CACvE,CAAC;AAEJ;;GAEG;AAEH,eAAO,MAAM,cAAc,GAAI,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpF,OAAO,mBAAmB,CAAC,KAAK,CAAC,KAChC,YAaF,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -3,14 +3,14 @@ import { FilterOptionHeader } from '../FilterOptionHeader';
3
3
  import { CheckboxFilterProvider } from './CheckboxFilterProvider';
4
4
  import CheckboxFilterOptions from './CheckboxFilterOptions';
5
5
  import CheckboxFilterOptionAll from './CheckboxFilterOptionAll';
6
- import useStyles from './CheckboxFilter.style';
6
+ import { Styled } from './CheckboxFilter.style';
7
7
  /**
8
8
  * Component for displaying multi-select filter with checkboxes
9
9
  */
10
+ // biome-ignore lint/suspicious/noExplicitAny: we need any here to avoid type errors
10
11
  export const CheckboxFilter = (props) => {
11
- const { enableAll, ...args } = props;
12
- const styles = useStyles({ layout: 'column' });
13
- return (_jsx(CheckboxFilterProvider, Object.assign({}, args, { children: _jsxs("div", Object.assign({ className: styles.root }, { children: [_jsx(FilterOptionHeader, { title: args.title }, void 0), _jsxs("div", Object.assign({ className: styles.items }, { children: [enableAll && _jsx(CheckboxFilterOptionAll, {}, void 0), _jsx(CheckboxFilterOptions, {}, void 0)] }), void 0)] }), void 0) }), void 0));
12
+ const { enableAll, sortFn, ...args } = props;
13
+ return (_jsx(CheckboxFilterProvider, { ...args, children: _jsxs(Styled.Root, { children: [_jsx(FilterOptionHeader, { title: args.title }), _jsxs(Styled.Items, { "$layout": "column", children: [enableAll && _jsx(CheckboxFilterOptionAll, {}), _jsx(CheckboxFilterOptions, { sortFn: sortFn })] })] }) }));
14
14
  };
15
15
  export default CheckboxFilter;
16
16
  //# sourceMappingURL=CheckboxFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxFilter.js","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/CheckboxFilter.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAEhE,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAW/C;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAe,EAAE;IACxE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACrC,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/C,OAAO,CACL,KAAC,sBAAsB,oBAAK,IAAI,cAC9B,6BAAK,SAAS,EAAE,MAAM,CAAC,IAAI,iBACzB,KAAC,kBAAkB,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,WAAI,EACzC,6BAAK,SAAS,EAAE,MAAM,CAAC,KAAK,iBACzB,SAAS,IAAI,KAAC,uBAAuB,aAAG,EACzC,KAAC,qBAAqB,aAAG,aACrB,aACF,YACiB,CAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"CheckboxFilter.js","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/CheckboxFilter.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAuBhD;;GAEG;AACH,oFAAoF;AACpF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAiC,EACnB,EAAE;IAChB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC7C,OAAO,CACL,KAAC,sBAAsB,OAAK,IAAI,YAC9B,MAAC,MAAM,CAAC,IAAI,eACV,KAAC,kBAAkB,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAI,EACzC,MAAC,MAAM,CAAC,KAAK,eAAS,QAAQ,aAC3B,SAAS,IAAI,KAAC,uBAAuB,KAAG,EACzC,KAAC,qBAAqB,IAAC,MAAM,EAAE,MAAM,GAAI,IAC5B,IACH,GACS,CAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,5 +1,10 @@
1
- export declare const useStyles: (props: {
2
- layout: 'column' | 'row';
3
- }) => import("@material-ui/styles").ClassNameMap<"title" | "root" | "items">;
4
- export default useStyles;
1
+ export declare const Styled: {
2
+ Root: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
3
+ Items: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$layout"> & {
4
+ $layout: "column" | "row";
5
+ }, never> & Partial<Pick<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$layout"> & {
6
+ $layout: "column" | "row";
7
+ }, never>>> & string;
8
+ Title: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>>> & string;
9
+ };
5
10
  //# sourceMappingURL=CheckboxFilter.style.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxFilter.style.d.ts","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/CheckboxFilter.style.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;YASS,QAAQ,GAAG,KAAK;4EAW9C,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"CheckboxFilter.style.d.ts","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/CheckboxFilter.style.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM;;;iBAMY,QAAQ,GAAG,KAAK;;iBAAhB,QAAQ,GAAG,KAAK;;;CAY9C,CAAC"}
@@ -1,19 +1,22 @@
1
- import { createStyles, makeStyles } from '@equinor/fusion-react-styles';
2
- export const useStyles = makeStyles((theme) => createStyles({
3
- root: {
4
- display: 'flex',
5
- flexFlow: 'column',
6
- // TODO - remove
7
- minWidth: 250,
8
- },
9
- items: (props) => ({
10
- display: 'flex',
11
- flexFlow: props.layout,
12
- overflowY: 'scroll',
13
- }),
14
- title: {
15
- ...theme.typography.heading.h3.style,
16
- },
17
- }), { name: 'fusion-filter-checkbox-option' });
18
- export default useStyles;
1
+ import styled from 'styled-components';
2
+ import { tokens } from '@equinor/eds-tokens';
3
+ export const Styled = {
4
+ Root: styled.div `
5
+ display: flex;
6
+ flex-flow: column;
7
+ min-width: 150px;
8
+ `,
9
+ Items: styled.div `
10
+ display: flex;
11
+ flex-flow: ${({ $layout }) => $layout};
12
+ overflow-y: auto;
13
+ `,
14
+ Title: styled.span `
15
+ color: ${tokens.typography.heading.h3.color};
16
+ font-family: ${tokens.typography.heading.h3.fontFamily};
17
+ font-size: ${tokens.typography.heading.h3.fontSize};
18
+ font-weight: ${tokens.typography.heading.h3.fontWeight};
19
+ line-height: ${tokens.typography.heading.h3.lineHeight};
20
+ `,
21
+ };
19
22
  //# sourceMappingURL=CheckboxFilter.style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxFilter.style.js","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/CheckboxFilter.style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAExE,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CACjC,CAAC,KAAK,EAAE,EAAE,CACR,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,QAAQ;QAClB,gBAAgB;QAChB,QAAQ,EAAE,GAAG;KACd;IACD,KAAK,EAAE,CAAC,KAAmC,EAAE,EAAE,CAAC,CAAC;QAC/C,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,KAAK,CAAC,MAAM;QACtB,SAAS,EAAE,QAAQ;KACpB,CAAC;IAEF,KAAK,EAAE;QACL,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK;KACrC;CACF,CAAC,EACJ,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAC1C,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"CheckboxFilter.style.js","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/CheckboxFilter.style.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAA;;;;GAIf;IACD,KAAK,EAAE,MAAM,CAAC,GAAG,CAA+B;;iBAEjC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO;;GAEtC;IACD,KAAK,EAAE,MAAM,CAAC,IAAI,CAAA;aACP,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK;mBAC5B,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU;iBACzC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ;mBACnC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU;mBACvC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU;GACvD;CACF,CAAC"}
@@ -1,14 +1,15 @@
1
+ import { type ReactElement, type HTMLAttributes } from 'react';
1
2
  import type { CheckboxOption } from './types';
2
- export declare type CheckboxFilterOptionProps = JSX.IntrinsicElements['div'] & Omit<CheckboxOption, 'totalCount'> & {
3
- name: string;
4
- checked?: boolean;
5
- indeterminate?: boolean;
6
- count: string | number;
7
- onOptionChange: (item: {
3
+ export type CheckboxFilterOptionProps = Partial<HTMLAttributes<HTMLDivElement>> & Omit<CheckboxOption, 'totalCount'> & {
4
+ readonly name: string;
5
+ readonly checked?: boolean;
6
+ readonly indeterminate?: boolean;
7
+ readonly count: string | number;
8
+ readonly onOptionChange: (item: {
8
9
  name: string;
9
10
  selected?: boolean;
10
11
  }) => void;
11
12
  };
12
- export declare const CheckboxFilterOption: (props: CheckboxFilterOptionProps) => JSX.Element;
13
+ export declare const CheckboxFilterOption: (props: CheckboxFilterOptionProps) => ReactElement;
13
14
  export default CheckboxFilterOption;
14
15
  //# sourceMappingURL=CheckboxFilterOption.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxFilterOption.d.ts","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/CheckboxFilterOption.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,oBAAY,yBAAyB,GAAG,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAClE,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,cAAc,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CACtE,CAAC;AAEJ,eAAO,MAAM,oBAAoB,UAAW,yBAAyB,KAAG,WA+BvE,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"CheckboxFilterOption.d.ts","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/CheckboxFilterOption.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,YAAY,EAAE,KAAK,cAAc,EAAkB,MAAM,OAAO,CAAC;AAK5F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,GAC7E,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,GAAG;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CAC/E,CAAC;AAEJ,eAAO,MAAM,oBAAoB,GAAI,OAAO,yBAAyB,KAAG,YA+BvE,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,19 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback } from 'react';
3
- import { CheckboxBase as Checkbox } from '@equinor/fusion-react-checkbox';
4
- import { clsx } from '@equinor/fusion-react-styles';
5
- import { useStyles } from './CheckboxFilterOption.style';
3
+ import { Checkbox } from '@equinor/eds-core-react';
4
+ import { Styled } from './CheckboxFilterOption.style';
6
5
  export const CheckboxFilterOption = (props) => {
7
6
  const { name, label, count, checked, indeterminate, inactive, hide, onOptionChange, className, ...args } = props;
8
- const onCheckboxClick = useCallback((e) => e.stopPropagation(), []);
9
7
  const onCheckboxInput = useCallback(({ currentTarget: { name, checked } }) => {
10
- return onOptionChange({ name, selected: !checked });
8
+ return onOptionChange({ name, selected: checked });
11
9
  }, [onOptionChange]);
12
- const onClick = useCallback((e) => {
13
- e.currentTarget.firstChild.click();
14
- }, []);
15
- const styles = useStyles();
16
- return (_jsxs("div", Object.assign({}, args, { className: clsx(className, styles.root, inactive && styles.inactive, hide && styles.hide), onClick: onClick }, { children: [_jsx(Checkbox, { className: styles.checkbox, name: name, checked: checked, onInput: onCheckboxInput, onClick: onCheckboxClick, indeterminate: indeterminate }, void 0), _jsx("span", Object.assign({ className: styles.label }, { children: label }), void 0), _jsx("span", Object.assign({ className: styles.counter }, { children: count }), void 0)] }), void 0));
10
+ return (_jsxs(Styled.Root, { ...args, className: className, "$inactive": inactive, "$hide": hide, children: [_jsx(Checkbox, { name: name, checked: checked, onChange: onCheckboxInput, indeterminate: indeterminate, label: label }), _jsx(Styled.Counter, { children: count })] }));
17
11
  };
18
12
  export default CheckboxFilterOption;
19
13
  //# sourceMappingURL=CheckboxFilterOption.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxFilterOption.js","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/CheckboxFilterOption.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAE,YAAY,IAAI,QAAQ,EAA6B,MAAM,gCAAgC,CAAC;AAErG,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAYzD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAgC,EAAe,EAAE;IACpF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACjH,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAA8C,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;IACjH,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAA8C,EAAE,EAAE;QACnF,OAAO,cAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACtD,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAC;IACF,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAmC,EAAE,EAAE;QACjE,CAAC,CAAC,aAAa,CAAC,UAAwC,CAAC,KAAK,EAAE,CAAC;IACpE,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,CACL,+BACM,IAAI,IACR,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EACzF,OAAO,EAAE,OAAO,iBAEhB,KAAC,QAAQ,IACP,SAAS,EAAE,MAAM,CAAC,QAAQ,EAC1B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,eAAe,EACxB,aAAa,EAAE,aAAa,WAC5B,EACF,6BAAM,SAAS,EAAE,MAAM,CAAC,KAAK,gBAAG,KAAK,YAAQ,EAC7C,6BAAM,SAAS,EAAE,MAAM,CAAC,OAAO,gBAAG,KAAK,YAAQ,aAC3C,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"CheckboxFilterOption.js","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/CheckboxFilterOption.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAA0D,MAAM,OAAO,CAAC;AAE5F,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAYtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAgC,EAAgB,EAAE;IACrF,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,cAAc,EACd,SAAS,EACT,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IACV,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAA+B,EAAE,EAAE;QACpE,OAAO,cAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAC;IACF,OAAO,CACL,MAAC,MAAM,CAAC,IAAI,OAAK,IAAI,EAAE,SAAS,EAAE,SAAS,eAAa,QAAQ,WAAS,IAAI,aAC3E,KAAC,QAAQ,IACP,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,GACZ,EACF,KAAC,MAAM,CAAC,OAAO,cAAE,KAAK,GAAkB,IAC5B,CACf,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,3 +1,11 @@
1
- export declare const useStyles: (props?: {} | undefined) => import("@material-ui/styles").ClassNameMap<"label" | "hide" | "checkbox" | "inactive" | "root" | "counter">;
2
- export default useStyles;
1
+ export declare const Styled: {
2
+ Root: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$inactive" | "$hide"> & {
3
+ $inactive?: boolean;
4
+ $hide?: boolean;
5
+ }, never> & Partial<Pick<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$inactive" | "$hide"> & {
6
+ $inactive?: boolean;
7
+ $hide?: boolean;
8
+ }, never>>> & string;
9
+ Counter: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>>> & string;
10
+ };
3
11
  //# sourceMappingURL=CheckboxFilterOption.style.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxFilterOption.style.d.ts","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/CheckboxFilterOption.style.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,yIAwCrB,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"CheckboxFilterOption.style.d.ts","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/CheckboxFilterOption.style.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM;;oBACc,OAAO;gBAAU,OAAO;;oBAAxB,OAAO;gBAAU,OAAO;;;CAmCxD,CAAC"}