@equinor/fusion-react-filter 1.1.10 → 2.1.0-filter.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) hide show
  1. package/README.md +4 -4
  2. package/dist/FilterProvider.d.ts +7 -28
  3. package/dist/FilterProvider.d.ts.map +1 -1
  4. package/dist/FilterProvider.js +24 -31
  5. package/dist/FilterProvider.js.map +1 -1
  6. package/dist/actions.d.ts +32 -0
  7. package/dist/actions.d.ts.map +1 -0
  8. package/dist/actions.js +20 -0
  9. package/dist/actions.js.map +1 -0
  10. package/dist/components/filter/FilterOptionHeader.d.ts +7 -0
  11. package/dist/components/filter/FilterOptionHeader.d.ts.map +1 -0
  12. package/dist/components/filter/FilterOptionHeader.js +69 -0
  13. package/dist/components/filter/FilterOptionHeader.js.map +1 -0
  14. package/dist/components/filter/checkbox/CheckboxFilter.d.ts +16 -0
  15. package/dist/components/filter/checkbox/CheckboxFilter.d.ts.map +1 -0
  16. package/dist/components/filter/checkbox/CheckboxFilter.js +16 -0
  17. package/dist/components/filter/checkbox/CheckboxFilter.js.map +1 -0
  18. package/dist/components/filter/checkbox/CheckboxFilter.style.d.ts +5 -0
  19. package/dist/components/filter/checkbox/CheckboxFilter.style.d.ts.map +1 -0
  20. package/dist/components/filter/checkbox/CheckboxFilter.style.js +19 -0
  21. package/dist/components/filter/checkbox/CheckboxFilter.style.js.map +1 -0
  22. package/dist/components/filter/checkbox/CheckboxFilterOption.d.ts +14 -0
  23. package/dist/components/filter/checkbox/CheckboxFilterOption.d.ts.map +1 -0
  24. package/dist/components/filter/checkbox/CheckboxFilterOption.js +19 -0
  25. package/dist/components/filter/checkbox/CheckboxFilterOption.js.map +1 -0
  26. package/dist/components/filter/checkbox/CheckboxFilterOption.style.d.ts +3 -0
  27. package/dist/components/filter/checkbox/CheckboxFilterOption.style.d.ts.map +1 -0
  28. package/dist/components/filter/checkbox/CheckboxFilterOption.style.js +40 -0
  29. package/dist/components/filter/checkbox/CheckboxFilterOption.style.js.map +1 -0
  30. package/dist/components/filter/checkbox/CheckboxFilterOptionAll.d.ts +3 -0
  31. package/dist/components/filter/checkbox/CheckboxFilterOptionAll.d.ts.map +1 -0
  32. package/dist/components/filter/checkbox/CheckboxFilterOptionAll.js +24 -0
  33. package/dist/components/filter/checkbox/CheckboxFilterOptionAll.js.map +1 -0
  34. package/dist/components/filter/checkbox/CheckboxFilterOptions.d.ts +3 -0
  35. package/dist/components/filter/checkbox/CheckboxFilterOptions.d.ts.map +1 -0
  36. package/dist/components/filter/checkbox/CheckboxFilterOptions.js +37 -0
  37. package/dist/components/filter/checkbox/CheckboxFilterOptions.js.map +1 -0
  38. package/dist/components/filter/checkbox/CheckboxFilterProvider.d.ts +13 -0
  39. package/dist/components/filter/checkbox/CheckboxFilterProvider.d.ts.map +1 -0
  40. package/dist/components/filter/checkbox/CheckboxFilterProvider.js +16 -0
  41. package/dist/components/filter/checkbox/CheckboxFilterProvider.js.map +1 -0
  42. package/dist/components/filter/checkbox/context.d.ts +4 -0
  43. package/dist/components/filter/checkbox/context.d.ts.map +1 -0
  44. package/dist/components/filter/checkbox/context.js +3 -0
  45. package/dist/components/filter/checkbox/context.js.map +1 -0
  46. package/dist/components/filter/checkbox/index.d.ts +2 -0
  47. package/dist/components/filter/checkbox/index.d.ts.map +1 -0
  48. package/dist/components/filter/checkbox/index.js +2 -0
  49. package/dist/components/filter/checkbox/index.js.map +1 -0
  50. package/dist/components/filter/checkbox/types.d.ts +7 -0
  51. package/dist/components/filter/checkbox/types.d.ts.map +1 -0
  52. package/dist/components/filter/checkbox/types.js +2 -0
  53. package/dist/components/filter/checkbox/types.js.map +1 -0
  54. package/dist/components/filter/index.d.ts +5 -0
  55. package/dist/components/filter/index.d.ts.map +1 -0
  56. package/dist/components/filter/index.js +5 -0
  57. package/dist/components/filter/index.js.map +1 -0
  58. package/dist/components/filter/search/SearchFilter.d.ts +17 -0
  59. package/dist/components/filter/search/SearchFilter.d.ts.map +1 -0
  60. package/dist/components/filter/search/SearchFilter.js +47 -0
  61. package/dist/components/filter/search/SearchFilter.js.map +1 -0
  62. package/dist/components/filter/search/index.d.ts +2 -0
  63. package/dist/components/filter/search/index.d.ts.map +1 -0
  64. package/dist/components/filter/search/index.js +2 -0
  65. package/dist/components/filter/search/index.js.map +1 -0
  66. package/dist/components/filter/types.d.ts +7 -0
  67. package/dist/components/filter/types.d.ts.map +1 -0
  68. package/dist/components/filter/types.js +2 -0
  69. package/dist/components/filter/types.js.map +1 -0
  70. package/dist/components/index.d.ts +4 -0
  71. package/dist/components/index.d.ts.map +1 -0
  72. package/dist/components/index.js +4 -0
  73. package/dist/components/index.js.map +1 -0
  74. package/dist/components/misc/ClearFilterButton.d.ts +10 -0
  75. package/dist/components/misc/ClearFilterButton.d.ts.map +1 -0
  76. package/dist/components/misc/ClearFilterButton.js +25 -0
  77. package/dist/components/misc/ClearFilterButton.js.map +1 -0
  78. package/dist/components/misc/FilterContainer.d.ts +12 -0
  79. package/dist/components/misc/FilterContainer.d.ts.map +1 -0
  80. package/dist/components/misc/FilterContainer.js +18 -0
  81. package/dist/components/misc/FilterContainer.js.map +1 -0
  82. package/dist/components/misc/index.d.ts +3 -0
  83. package/dist/components/misc/index.d.ts.map +1 -0
  84. package/dist/components/misc/index.js +3 -0
  85. package/dist/components/misc/index.js.map +1 -0
  86. package/dist/components/panel/FilterPanel.d.ts +19 -0
  87. package/dist/components/panel/FilterPanel.d.ts.map +1 -0
  88. package/dist/components/panel/FilterPanel.js +17 -0
  89. package/dist/components/panel/FilterPanel.js.map +1 -0
  90. package/dist/components/panel/FilterPanelBar.d.ts +3 -0
  91. package/dist/components/panel/FilterPanelBar.d.ts.map +1 -0
  92. package/dist/components/panel/FilterPanelBar.js +31 -0
  93. package/dist/components/panel/FilterPanelBar.js.map +1 -0
  94. package/dist/components/panel/FilterPanelFilters.d.ts +3 -0
  95. package/dist/components/panel/FilterPanelFilters.d.ts.map +1 -0
  96. package/dist/components/panel/FilterPanelFilters.js +13 -0
  97. package/dist/components/panel/FilterPanelFilters.js.map +1 -0
  98. package/dist/components/panel/FilterPanelProvider.d.ts +32 -0
  99. package/dist/components/panel/FilterPanelProvider.d.ts.map +1 -0
  100. package/dist/components/panel/FilterPanelProvider.js +35 -0
  101. package/dist/components/panel/FilterPanelProvider.js.map +1 -0
  102. package/dist/components/panel/FilterPanelSelector.d.ts +7 -0
  103. package/dist/components/panel/FilterPanelSelector.d.ts.map +1 -0
  104. package/dist/components/panel/FilterPanelSelector.js +17 -0
  105. package/dist/components/panel/FilterPanelSelector.js.map +1 -0
  106. package/dist/components/panel/index.d.ts +5 -0
  107. package/dist/components/panel/index.d.ts.map +1 -0
  108. package/dist/components/panel/index.js +5 -0
  109. package/dist/components/panel/index.js.map +1 -0
  110. package/dist/context.d.ts +6 -0
  111. package/dist/context.d.ts.map +1 -0
  112. package/dist/context.js +6 -0
  113. package/dist/context.js.map +1 -0
  114. package/dist/hooks/index.d.ts +12 -0
  115. package/dist/hooks/index.d.ts.map +1 -0
  116. package/dist/hooks/index.js +25 -0
  117. package/dist/hooks/index.js.map +1 -0
  118. package/dist/hooks/useClearFilter.d.ts +9 -0
  119. package/dist/hooks/useClearFilter.d.ts.map +1 -0
  120. package/dist/hooks/useClearFilter.js +30 -0
  121. package/dist/hooks/useClearFilter.js.map +1 -0
  122. package/dist/hooks/useFilter.d.ts +7 -0
  123. package/dist/hooks/useFilter.d.ts.map +1 -0
  124. package/dist/hooks/useFilter.js +26 -0
  125. package/dist/hooks/useFilter.js.map +1 -0
  126. package/dist/hooks/useFilterData.d.ts +11 -0
  127. package/dist/hooks/useFilterData.d.ts.map +1 -0
  128. package/dist/hooks/useFilterData.js +39 -0
  129. package/dist/hooks/useFilterData.js.map +1 -0
  130. package/dist/hooks/useFilterSelection.d.ts +5 -9
  131. package/dist/hooks/useFilterSelection.d.ts.map +1 -1
  132. package/dist/hooks/useFilterSelection.js +6 -21
  133. package/dist/hooks/useFilterSelection.js.map +1 -1
  134. package/dist/index.d.ts +4 -14
  135. package/dist/index.d.ts.map +1 -1
  136. package/dist/index.js +3 -15
  137. package/dist/index.js.map +1 -1
  138. package/dist/options/FilterOptionProvider.d.ts +12 -0
  139. package/dist/options/FilterOptionProvider.d.ts.map +1 -0
  140. package/dist/options/FilterOptionProvider.js +55 -0
  141. package/dist/options/FilterOptionProvider.js.map +1 -0
  142. package/dist/options/actions.d.ts +8 -0
  143. package/dist/options/actions.d.ts.map +1 -0
  144. package/dist/options/actions.js +6 -0
  145. package/dist/options/actions.js.map +1 -0
  146. package/dist/options/context.d.ts +6 -0
  147. package/dist/options/context.d.ts.map +1 -0
  148. package/dist/options/context.js +7 -0
  149. package/dist/options/context.js.map +1 -0
  150. package/dist/options/create-options.d.ts +4 -0
  151. package/dist/options/create-options.d.ts.map +1 -0
  152. package/dist/options/create-options.js +24 -0
  153. package/dist/options/create-options.js.map +1 -0
  154. package/dist/options/index.d.ts +6 -0
  155. package/dist/options/index.d.ts.map +1 -0
  156. package/dist/options/index.js +6 -0
  157. package/dist/options/index.js.map +1 -0
  158. package/dist/options/reducer.d.ts +58 -0
  159. package/dist/options/reducer.d.ts.map +1 -0
  160. package/dist/options/reducer.js +4 -0
  161. package/dist/options/reducer.js.map +1 -0
  162. package/dist/options/search/filter-option-match.d.ts +7 -0
  163. package/dist/options/search/filter-option-match.d.ts.map +1 -0
  164. package/dist/options/search/filter-option-match.js +10 -0
  165. package/dist/options/search/filter-option-match.js.map +1 -0
  166. package/dist/options/search/filter-option-search.d.ts +8 -0
  167. package/dist/options/search/filter-option-search.d.ts.map +1 -0
  168. package/dist/options/search/filter-option-search.js +12 -0
  169. package/dist/options/search/filter-option-search.js.map +1 -0
  170. package/dist/options/search/index.d.ts +2 -0
  171. package/dist/options/search/index.d.ts.map +1 -0
  172. package/dist/options/search/index.js +2 -0
  173. package/dist/options/search/index.js.map +1 -0
  174. package/dist/options/search/types.d.ts +9 -0
  175. package/dist/options/search/types.d.ts.map +1 -0
  176. package/dist/options/search/types.js +2 -0
  177. package/dist/options/search/types.js.map +1 -0
  178. package/dist/options/search/useFilterOptionSearch.d.ts +12 -0
  179. package/dist/options/search/useFilterOptionSearch.d.ts.map +1 -0
  180. package/dist/options/search/useFilterOptionSearch.js +28 -0
  181. package/dist/options/search/useFilterOptionSearch.js.map +1 -0
  182. package/dist/options/types.d.ts +32 -0
  183. package/dist/options/types.d.ts.map +1 -0
  184. package/dist/options/types.js +2 -0
  185. package/dist/options/types.js.map +1 -0
  186. package/dist/reducers.d.ts +170 -0
  187. package/dist/reducers.d.ts.map +1 -0
  188. package/dist/reducers.js +23 -0
  189. package/dist/reducers.js.map +1 -0
  190. package/dist/{types/Filter.d.ts → types.d.ts} +19 -16
  191. package/dist/types.d.ts.map +1 -0
  192. package/dist/types.js +2 -0
  193. package/dist/types.js.map +1 -0
  194. package/package.json +13 -9
  195. package/dist/FilterContext.d.ts +0 -8
  196. package/dist/FilterContext.d.ts.map +0 -1
  197. package/dist/FilterContext.js +0 -4
  198. package/dist/FilterContext.js.map +0 -1
  199. package/dist/components/CheckBoxFilter/CheckBoxFilter.d.ts +0 -34
  200. package/dist/components/CheckBoxFilter/CheckBoxFilter.d.ts.map +0 -1
  201. package/dist/components/CheckBoxFilter/CheckBoxFilter.js +0 -76
  202. package/dist/components/CheckBoxFilter/CheckBoxFilter.js.map +0 -1
  203. package/dist/components/CheckBoxFilter/CheckBoxOption.d.ts +0 -14
  204. package/dist/components/CheckBoxFilter/CheckBoxOption.d.ts.map +0 -1
  205. package/dist/components/CheckBoxFilter/CheckBoxOption.js +0 -10
  206. package/dist/components/CheckBoxFilter/CheckBoxOption.js.map +0 -1
  207. package/dist/components/CheckBoxFilter/CheckBoxOption.style.d.ts +0 -3
  208. package/dist/components/CheckBoxFilter/CheckBoxOption.style.d.ts.map +0 -1
  209. package/dist/components/CheckBoxFilter/CheckBoxOption.style.js +0 -24
  210. package/dist/components/CheckBoxFilter/CheckBoxOption.style.js.map +0 -1
  211. package/dist/components/CheckBoxFilter/CheckboxFilter.style.d.ts +0 -3
  212. package/dist/components/CheckBoxFilter/CheckboxFilter.style.d.ts.map +0 -1
  213. package/dist/components/CheckBoxFilter/CheckboxFilter.style.js +0 -29
  214. package/dist/components/CheckBoxFilter/CheckboxFilter.style.js.map +0 -1
  215. package/dist/components/CheckBoxFilter/SelectAllOption.d.ts +0 -12
  216. package/dist/components/CheckBoxFilter/SelectAllOption.d.ts.map +0 -1
  217. package/dist/components/CheckBoxFilter/SelectAllOption.js +0 -22
  218. package/dist/components/CheckBoxFilter/SelectAllOption.js.map +0 -1
  219. package/dist/components/CheckBoxFilter/index.d.ts +0 -5
  220. package/dist/components/CheckBoxFilter/index.d.ts.map +0 -1
  221. package/dist/components/CheckBoxFilter/index.js +0 -5
  222. package/dist/components/CheckBoxFilter/index.js.map +0 -1
  223. package/dist/components/FilterSection/FilterSection.d.ts +0 -29
  224. package/dist/components/FilterSection/FilterSection.d.ts.map +0 -1
  225. package/dist/components/FilterSection/FilterSection.js +0 -64
  226. package/dist/components/FilterSection/FilterSection.js.map +0 -1
  227. package/dist/components/FilterSection/FilterSection.style.d.ts +0 -3
  228. package/dist/components/FilterSection/FilterSection.style.d.ts.map +0 -1
  229. package/dist/components/FilterSection/FilterSection.style.js +0 -56
  230. package/dist/components/FilterSection/FilterSection.style.js.map +0 -1
  231. package/dist/components/FilterSection/index.d.ts +0 -3
  232. package/dist/components/FilterSection/index.d.ts.map +0 -1
  233. package/dist/components/FilterSection/index.js +0 -3
  234. package/dist/components/FilterSection/index.js.map +0 -1
  235. package/dist/components/FilterSelectionChips/FilterSelectionChips.d.ts +0 -7
  236. package/dist/components/FilterSelectionChips/FilterSelectionChips.d.ts.map +0 -1
  237. package/dist/components/FilterSelectionChips/FilterSelectionChips.js +0 -18
  238. package/dist/components/FilterSelectionChips/FilterSelectionChips.js.map +0 -1
  239. package/dist/components/FilterSelectionChips/FilterSelectionChips.style.d.ts +0 -3
  240. package/dist/components/FilterSelectionChips/FilterSelectionChips.style.d.ts.map +0 -1
  241. package/dist/components/FilterSelectionChips/FilterSelectionChips.style.js +0 -31
  242. package/dist/components/FilterSelectionChips/FilterSelectionChips.style.js.map +0 -1
  243. package/dist/components/FilterSelectionChips/index.d.ts +0 -2
  244. package/dist/components/FilterSelectionChips/index.d.ts.map +0 -1
  245. package/dist/components/FilterSelectionChips/index.js +0 -2
  246. package/dist/components/FilterSelectionChips/index.js.map +0 -1
  247. package/dist/components/FilterSelectionChips/useChipsSelection.d.ts +0 -9
  248. package/dist/components/FilterSelectionChips/useChipsSelection.d.ts.map +0 -1
  249. package/dist/components/FilterSelectionChips/useChipsSelection.js +0 -26
  250. package/dist/components/FilterSelectionChips/useChipsSelection.js.map +0 -1
  251. package/dist/components/FilterSelector/FilterCategory.d.ts +0 -7
  252. package/dist/components/FilterSelector/FilterCategory.d.ts.map +0 -1
  253. package/dist/components/FilterSelector/FilterCategory.js +0 -24
  254. package/dist/components/FilterSelector/FilterCategory.js.map +0 -1
  255. package/dist/components/FilterSelector/FilterCategory.style.d.ts +0 -3
  256. package/dist/components/FilterSelector/FilterCategory.style.d.ts.map +0 -1
  257. package/dist/components/FilterSelector/FilterCategory.style.js +0 -12
  258. package/dist/components/FilterSelector/FilterCategory.style.js.map +0 -1
  259. package/dist/components/FilterSelector/FilterSelector.d.ts +0 -31
  260. package/dist/components/FilterSelector/FilterSelector.d.ts.map +0 -1
  261. package/dist/components/FilterSelector/FilterSelector.js +0 -51
  262. package/dist/components/FilterSelector/FilterSelector.js.map +0 -1
  263. package/dist/components/FilterSelector/FilterSelector.style.d.ts +0 -3
  264. package/dist/components/FilterSelector/FilterSelector.style.d.ts.map +0 -1
  265. package/dist/components/FilterSelector/FilterSelector.style.js +0 -44
  266. package/dist/components/FilterSelector/FilterSelector.style.js.map +0 -1
  267. package/dist/components/FilterSelector/index.d.ts +0 -4
  268. package/dist/components/FilterSelector/index.d.ts.map +0 -1
  269. package/dist/components/FilterSelector/index.js +0 -4
  270. package/dist/components/FilterSelector/index.js.map +0 -1
  271. package/dist/components/GeneralBar/GeneralBar.d.ts +0 -26
  272. package/dist/components/GeneralBar/GeneralBar.d.ts.map +0 -1
  273. package/dist/components/GeneralBar/GeneralBar.js +0 -63
  274. package/dist/components/GeneralBar/GeneralBar.js.map +0 -1
  275. package/dist/components/GeneralBar/GeneralBar.style.d.ts +0 -3
  276. package/dist/components/GeneralBar/GeneralBar.style.d.ts.map +0 -1
  277. package/dist/components/GeneralBar/GeneralBar.style.js +0 -20
  278. package/dist/components/GeneralBar/GeneralBar.style.js.map +0 -1
  279. package/dist/components/GeneralBar/index.d.ts +0 -3
  280. package/dist/components/GeneralBar/index.d.ts.map +0 -1
  281. package/dist/components/GeneralBar/index.js +0 -3
  282. package/dist/components/GeneralBar/index.js.map +0 -1
  283. package/dist/components/HorizontalBar/HorizontalBar.d.ts +0 -10
  284. package/dist/components/HorizontalBar/HorizontalBar.d.ts.map +0 -1
  285. package/dist/components/HorizontalBar/HorizontalBar.js +0 -23
  286. package/dist/components/HorizontalBar/HorizontalBar.js.map +0 -1
  287. package/dist/components/HorizontalBar/index.d.ts +0 -3
  288. package/dist/components/HorizontalBar/index.d.ts.map +0 -1
  289. package/dist/components/HorizontalBar/index.js +0 -3
  290. package/dist/components/HorizontalBar/index.js.map +0 -1
  291. package/dist/components/HorizontalFilterPanel/HorizontalFilterPanel.d.ts +0 -17
  292. package/dist/components/HorizontalFilterPanel/HorizontalFilterPanel.d.ts.map +0 -1
  293. package/dist/components/HorizontalFilterPanel/HorizontalFilterPanel.js +0 -28
  294. package/dist/components/HorizontalFilterPanel/HorizontalFilterPanel.js.map +0 -1
  295. package/dist/components/HorizontalFilterPanel/index.d.ts +0 -3
  296. package/dist/components/HorizontalFilterPanel/index.d.ts.map +0 -1
  297. package/dist/components/HorizontalFilterPanel/index.js +0 -3
  298. package/dist/components/HorizontalFilterPanel/index.js.map +0 -1
  299. package/dist/components/Icon/index.d.ts +0 -11
  300. package/dist/components/Icon/index.d.ts.map +0 -1
  301. package/dist/components/Icon/index.js +0 -16
  302. package/dist/components/Icon/index.js.map +0 -1
  303. package/dist/components/RadioFilter/RadioFilter.d.ts +0 -17
  304. package/dist/components/RadioFilter/RadioFilter.d.ts.map +0 -1
  305. package/dist/components/RadioFilter/RadioFilter.js +0 -51
  306. package/dist/components/RadioFilter/RadioFilter.js.map +0 -1
  307. package/dist/components/RadioFilter/RadioFilter.style.d.ts +0 -3
  308. package/dist/components/RadioFilter/RadioFilter.style.d.ts.map +0 -1
  309. package/dist/components/RadioFilter/RadioFilter.style.js +0 -38
  310. package/dist/components/RadioFilter/RadioFilter.style.js.map +0 -1
  311. package/dist/components/RadioFilter/index.d.ts +0 -3
  312. package/dist/components/RadioFilter/index.d.ts.map +0 -1
  313. package/dist/components/RadioFilter/index.js +0 -3
  314. package/dist/components/RadioFilter/index.js.map +0 -1
  315. package/dist/epic/StatefulObserver.d.ts +0 -8
  316. package/dist/epic/StatefulObserver.d.ts.map +0 -1
  317. package/dist/epic/StatefulObserver.js +0 -26
  318. package/dist/epic/StatefulObserver.js.map +0 -1
  319. package/dist/epic/epic.d.ts +0 -14
  320. package/dist/epic/epic.d.ts.map +0 -1
  321. package/dist/epic/epic.js +0 -2
  322. package/dist/epic/epic.js.map +0 -1
  323. package/dist/epic/hooks/useObservableSelector.d.ts +0 -14
  324. package/dist/epic/hooks/useObservableSelector.d.ts.map +0 -1
  325. package/dist/epic/hooks/useObservableSelector.js +0 -16
  326. package/dist/epic/hooks/useObservableSelector.js.map +0 -1
  327. package/dist/epic/hooks/useObservableState.d.ts +0 -13
  328. package/dist/epic/hooks/useObservableState.d.ts.map +0 -1
  329. package/dist/epic/hooks/useObservableState.js +0 -18
  330. package/dist/epic/hooks/useObservableState.js.map +0 -1
  331. package/dist/epic/hooks/useSelector.d.ts +0 -10
  332. package/dist/epic/hooks/useSelector.d.ts.map +0 -1
  333. package/dist/epic/hooks/useSelector.js +0 -14
  334. package/dist/epic/hooks/useSelector.js.map +0 -1
  335. package/dist/epic/reducer.d.ts +0 -56
  336. package/dist/epic/reducer.d.ts.map +0 -1
  337. package/dist/epic/reducer.js +0 -78
  338. package/dist/epic/reducer.js.map +0 -1
  339. package/dist/filterStore/actions.d.ts +0 -23
  340. package/dist/filterStore/actions.d.ts.map +0 -1
  341. package/dist/filterStore/actions.js +0 -18
  342. package/dist/filterStore/actions.js.map +0 -1
  343. package/dist/filterStore/epics.d.ts +0 -10
  344. package/dist/filterStore/epics.d.ts.map +0 -1
  345. package/dist/filterStore/epics.js +0 -10
  346. package/dist/filterStore/epics.js.map +0 -1
  347. package/dist/filterStore/reducers.d.ts +0 -4
  348. package/dist/filterStore/reducers.d.ts.map +0 -1
  349. package/dist/filterStore/reducers.js +0 -43
  350. package/dist/filterStore/reducers.js.map +0 -1
  351. package/dist/filterStore/store.d.ts +0 -106
  352. package/dist/filterStore/store.d.ts.map +0 -1
  353. package/dist/filterStore/store.js +0 -158
  354. package/dist/filterStore/store.js.map +0 -1
  355. package/dist/hooks/useEventListener.d.ts +0 -4
  356. package/dist/hooks/useEventListener.d.ts.map +0 -1
  357. package/dist/hooks/useEventListener.js +0 -14
  358. package/dist/hooks/useEventListener.js.map +0 -1
  359. package/dist/hooks/useFilterChangeHandler.d.ts +0 -26
  360. package/dist/hooks/useFilterChangeHandler.d.ts.map +0 -1
  361. package/dist/hooks/useFilterChangeHandler.js +0 -43
  362. package/dist/hooks/useFilterChangeHandler.js.map +0 -1
  363. package/dist/hooks/useFilterContext.d.ts +0 -4
  364. package/dist/hooks/useFilterContext.d.ts.map +0 -1
  365. package/dist/hooks/useFilterContext.js +0 -5
  366. package/dist/hooks/useFilterContext.js.map +0 -1
  367. package/dist/hooks/useFilterOptionsBuilder.d.ts +0 -27
  368. package/dist/hooks/useFilterOptionsBuilder.d.ts.map +0 -1
  369. package/dist/hooks/useFilterOptionsBuilder.js +0 -39
  370. package/dist/hooks/useFilterOptionsBuilder.js.map +0 -1
  371. package/dist/hooks/useFilterOptionsCounter.d.ts +0 -16
  372. package/dist/hooks/useFilterOptionsCounter.d.ts.map +0 -1
  373. package/dist/hooks/useFilterOptionsCounter.js +0 -32
  374. package/dist/hooks/useFilterOptionsCounter.js.map +0 -1
  375. package/dist/hooks/useFilterStore.d.ts +0 -25
  376. package/dist/hooks/useFilterStore.d.ts.map +0 -1
  377. package/dist/hooks/useFilterStore.js +0 -34
  378. package/dist/hooks/useFilterStore.js.map +0 -1
  379. package/dist/hooks/useResizablePanel.d.ts +0 -20
  380. package/dist/hooks/useResizablePanel.d.ts.map +0 -1
  381. package/dist/hooks/useResizablePanel.js +0 -71
  382. package/dist/hooks/useResizablePanel.js.map +0 -1
  383. package/dist/types/Filter.d.ts.map +0 -1
  384. package/dist/types/Filter.js +0 -2
  385. package/dist/types/Filter.js.map +0 -1
  386. package/dist/types/FilterContainerProps.d.ts +0 -10
  387. package/dist/types/FilterContainerProps.d.ts.map +0 -1
  388. package/dist/types/FilterContainerProps.js +0 -2
  389. package/dist/types/FilterContainerProps.js.map +0 -1
  390. package/dist/types/FilterCounters.d.ts +0 -3
  391. package/dist/types/FilterCounters.d.ts.map +0 -1
  392. package/dist/types/FilterCounters.js +0 -2
  393. package/dist/types/FilterCounters.js.map +0 -1
  394. package/dist/types/FilterOption.d.ts +0 -13
  395. package/dist/types/FilterOption.d.ts.map +0 -1
  396. package/dist/types/FilterOption.js +0 -2
  397. package/dist/types/FilterOption.js.map +0 -1
  398. package/dist/types/FilterStoreState.d.ts +0 -6
  399. package/dist/types/FilterStoreState.d.ts.map +0 -1
  400. package/dist/types/FilterStoreState.js +0 -2
  401. package/dist/types/FilterStoreState.js.map +0 -1
@@ -0,0 +1,4 @@
1
+ import { FilterOptionContext } from '../../../options';
2
+ import { CheckboxOption } from './types';
3
+ export declare const useCheckboxFilterOptionContext: <TOption extends CheckboxOption = CheckboxOption, TValue = string>() => FilterOptionContext<TOption, TValue>;
4
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,8BAA8B,8GAG2C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { useFilterOptionContext } from '../../../options';
2
+ export const useCheckboxFilterOptionContext = () => useFilterOptionContext();
3
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAuB,MAAM,kBAAkB,CAAC;AAG/E,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAGJ,EAAE,CAAC,sBAAsB,EAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { CheckboxFilter, default } from './CheckboxFilter';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { CheckboxFilter, default } from './CheckboxFilter';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { FilterOption } from '../../../options';
2
+ export declare type CheckboxOption = FilterOption & {
3
+ label: string;
4
+ count: number;
5
+ totalCount: number;
6
+ };
7
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,oBAAY,cAAc,GAAG,YAAY,GAAG;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/filter/checkbox/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export { CheckboxFilter } from './checkbox';
2
+ export { SearchFilter } from './search';
3
+ export { FilterOptionHeader } from './FilterOptionHeader';
4
+ export * from './types';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/filter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,cAAc,SAAS,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { CheckboxFilter } from './checkbox';
2
+ export { SearchFilter } from './search';
3
+ export { FilterOptionHeader } from './FilterOptionHeader';
4
+ export * from './types';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/filter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,cAAc,SAAS,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { TextInputProps } from '@equinor/fusion-react-textinput';
2
+ import { FilterFn } from '../../../types';
3
+ export declare type SearchFilterProps<TData> = Omit<TextInputProps, 'onInput' | 'ref'> & {
4
+ /** identifier for filter */
5
+ filterKey: string;
6
+ /** function for filtering by provided query */
7
+ filterFn?: FilterFn<TData, string>;
8
+ };
9
+ /**
10
+ * Simple text filter
11
+ *
12
+ * __NOTE__ if not `filterFn` provided, default will be created, this filter is brute and
13
+ * `JSON.stringify` provided data object, this might not be optimal for heavy data sets.
14
+ */
15
+ export declare const SearchFilter: <TData>(props: SearchFilterProps<TData>) => JSX.Element;
16
+ export default SearchFilter;
17
+ //# sourceMappingURL=SearchFilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/filter/search/SearchFilter.tsx"],"names":[],"mappings":"AACA,OAAO,EAAyC,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAIxG,OAAO,EAAU,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AASlD,oBAAY,iBAAiB,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,KAAK,CAAC,GAAG;IAC/E,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CACpC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,8CAA8C,WAuCtE,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useCallback, useMemo, useRef } from 'react';
3
+ import { TextInput } from '@equinor/fusion-react-textinput';
4
+ import { useSubscription } from '@equinor/fusion-react-observable';
5
+ import { useFilter, useFilterSelection } from '../../../hooks';
6
+ const defaultMatcher = (data, query) => {
7
+ /** early escape, no filter */
8
+ if (!query)
9
+ return data;
10
+ const matcher = new RegExp(query, 'i');
11
+ return data.filter((x) => !!JSON.stringify(Object.values(x)).match(matcher));
12
+ };
13
+ /**
14
+ * Simple text filter
15
+ *
16
+ * __NOTE__ if not `filterFn` provided, default will be created, this filter is brute and
17
+ * `JSON.stringify` provided data object, this might not be optimal for heavy data sets.
18
+ */
19
+ export const SearchFilter = (props) => {
20
+ const { filterKey, filterFn, ...args } = props;
21
+ /** create search filter */
22
+ const filter = useMemo(() => ({
23
+ key: filterKey,
24
+ filterFn: filterFn || defaultMatcher,
25
+ }), [filterKey, filterFn]);
26
+ /** register filter in the filter context */
27
+ const setSelection = useFilter(filter);
28
+ /** create a reference to the text input */
29
+ const inputRef = useRef(null);
30
+ /** update search selection when input value changes */
31
+ const onInput = useCallback((e) => {
32
+ setSelection(e.currentTarget.value);
33
+ }, [setSelection]);
34
+ /** subscribe to changes in the filter selection */
35
+ useSubscription(
36
+ /** create an observable selection for filter */
37
+ useFilterSelection(props.filterKey),
38
+ /** update value of text input when selection changes */
39
+ useCallback((query) => {
40
+ if (inputRef.current) {
41
+ inputRef.current.value = query || '';
42
+ }
43
+ }, []));
44
+ return _jsx(TextInput, Object.assign({ ref: inputRef, onInput: onInput, type: "search", variant: "outlined", icon: "search" }, args), void 0);
45
+ };
46
+ export default SearchFilter;
47
+ //# sourceMappingURL=SearchFilter.js.map
@@ -0,0 +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,EAAY,MAAM,OAAO,CAAC;AAC/D,OAAO,EAA8B,SAAS,EAAkB,MAAM,iCAAiC,CAAC;AACxG,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAG/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,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/E,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,eAAe;IACb,iDAAiD;IACjD,kBAAkB,CAAS,KAAK,CAAC,SAAS,CAAC;IAC3C,wDAAwD;IACxD,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;QACpB,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,kBAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAC,UAAU,EAAC,IAAI,EAAC,QAAQ,IAAK,IAAI,UAAI,CAAC;AACjH,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { SearchFilter } from './SearchFilter';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/filter/search/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { SearchFilter } from './SearchFilter';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/filter/search/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare type FilterComponent = {
2
+ /** unique key for filter */
3
+ filterKey: string;
4
+ /** title for filter */
5
+ title: string;
6
+ };
7
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/filter/types.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe,GAAG;IAC5B,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/filter/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from './filter';
2
+ export * from './misc';
3
+ export { FilterPanel } from './panel';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './filter';
2
+ export * from './misc';
3
+ export { FilterPanel } from './panel';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { ButtonProps } from '@equinor/fusion-react-button';
2
+ export declare type ClearFilterButtonProps = Omit<ButtonProps, 'onClick'>;
3
+ /**
4
+ * Component for resetting filter values.
5
+ * uses the `useClearFilter` hook
6
+ * inherits `ButtonProps` from `@equinor/fusion-react-button`
7
+ */
8
+ export declare const ClearFilterButton: (props: ClearFilterButtonProps) => JSX.Element;
9
+ export default ClearFilterButton;
10
+ //# sourceMappingURL=ClearFilterButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClearFilterButton.d.ts","sourceRoot":"","sources":["../../../src/components/misc/ClearFilterButton.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAU,WAAW,EAA2B,MAAM,8BAA8B,CAAC;AAI5F,oBAAY,sBAAsB,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,UAAW,sBAAsB,KAAG,WAoBjE,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useCallback } from 'react';
3
+ import { useForwardRef } from '@equinor/fusion-react-utils';
4
+ import { useSubscription } from '@equinor/fusion-react-observable';
5
+ import { Button } from '@equinor/fusion-react-button';
6
+ import { useClearFilter } from '../../hooks';
7
+ /**
8
+ * Component for resetting filter values.
9
+ * uses the `useClearFilter` hook
10
+ * inherits `ButtonProps` from `@equinor/fusion-react-button`
11
+ */
12
+ export const ClearFilterButton = (props) => {
13
+ const { label = 'Clear Filter', ...args } = props;
14
+ const { clear, changed$ } = useClearFilter();
15
+ const ref = useForwardRef(props.ref);
16
+ /** Subscribe to changes and toggle `disable` of button */
17
+ useSubscription(changed$, useCallback((changed) => {
18
+ ref.current && (ref.current.disabled = !Object.keys(changed).length);
19
+ }, [ref]));
20
+ /** Reset filters on click */
21
+ const onClick = useCallback(() => clear(), [clear]);
22
+ return _jsx(Button, Object.assign({ variant: "ghost" }, { ...args, ref, onClick, label }), void 0);
23
+ };
24
+ export default ClearFilterButton;
25
+ //# sourceMappingURL=ClearFilterButton.js.map
@@ -0,0 +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,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,MAAM,EAAwC,MAAM,8BAA8B,CAAC;AAE5F,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAI7C;;;;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,eAAe,CACb,QAAQ,EACR,WAAW,CACT,CAAC,OAAO,EAAE,EAAE;QACV,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,kBAAC,OAAO,EAAC,OAAO,IAAK,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,UAAI,CAAC;AAC1E,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { theme } from '@equinor/fusion-react-styles';
2
+ import React from 'react';
3
+ declare type StyleProps = {
4
+ spacing?: keyof typeof theme.spacing.comfortable;
5
+ };
6
+ export declare type FilterContainerProps = JSX.IntrinsicElements['div'] & StyleProps;
7
+ /**
8
+ * Components for displaying filters
9
+ */
10
+ export declare const FilterContainer: (props: React.PropsWithChildren<FilterContainerProps>) => JSX.Element;
11
+ export default FilterContainer;
12
+ //# sourceMappingURL=FilterContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterContainer.d.ts","sourceRoot":"","sources":["../../../src/components/misc/FilterContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,aAAK,UAAU,GAAG;IAChB,OAAO,CAAC,EAAE,MAAM,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;CAClD,CAAC;AAEF,oBAAY,oBAAoB,GAAG,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,eAAe,UAAW,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,KAAG,WAQtF,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { clsx, createStyles, makeStyles } from '@equinor/fusion-react-styles';
3
+ const useStyles = makeStyles((theme) => createStyles({
4
+ root: ({ spacing }) => ({
5
+ display: 'flex',
6
+ gap: theme.spacing.comfortable[spacing || 'medium'].getVariable('padding'),
7
+ }),
8
+ }), { name: 'fusion-filter-container' });
9
+ /**
10
+ * Components for displaying filters
11
+ */
12
+ export const FilterContainer = (props) => {
13
+ const { children, className, spacing, ...args } = props;
14
+ const styles = useStyles({ spacing });
15
+ return (_jsx("div", Object.assign({ className: clsx(styles.root, className) }, args, { children: children }), void 0));
16
+ };
17
+ export default FilterContainer;
18
+ //# sourceMappingURL=FilterContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterContainer.js","sourceRoot":"","sources":["../../../src/components/misc/FilterContainer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAS,MAAM,8BAA8B,CAAC;AAGrF,MAAM,SAAS,GAAG,UAAU,CAC1B,CAAC,KAAK,EAAE,EAAE,CACR,YAAY,CAAC;IACX,IAAI,EAAE,CAAC,EAAE,OAAO,EAAc,EAAE,EAAE,CAAC,CAAC;QAClC,OAAO,EAAE,MAAM;QACf,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC;KAC3E,CAAC;CACH,CAAC,EACJ,EAAE,IAAI,EAAE,yBAAyB,EAAE,CACpC,CAAC;AAQF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAoD,EAAe,EAAE;IACnG,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACxD,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACtC,OAAO,CACL,4BAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAM,IAAI,cACnD,QAAQ,YACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { ClearFilterButton } from './ClearFilterButton';
2
+ export { FilterContainer } from './FilterContainer';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/misc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { ClearFilterButton } from './ClearFilterButton';
2
+ export { FilterContainer } from './FilterContainer';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/misc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,19 @@
1
+ export declare type FilterPanelProps = {
2
+ /** Show filter bar */
3
+ showBar?: boolean;
4
+ /** Show selector for filters */
5
+ showSelector?: boolean;
6
+ /** display filters initial */
7
+ showFilters?: boolean;
8
+ /**
9
+ * Initial selected filters
10
+ * @default all - `filterKey` of all child components provided
11
+ */
12
+ selectedFilters?: string[];
13
+ };
14
+ /**
15
+ * Base component for displaying filter components and controllers
16
+ */
17
+ export declare const FilterPanel: (props: React.PropsWithChildren<FilterPanelProps>) => JSX.Element;
18
+ export default FilterPanel;
19
+ //# sourceMappingURL=FilterPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterPanel.d.ts","sourceRoot":"","sources":["../../../src/components/panel/FilterPanel.tsx"],"names":[],"mappings":"AAOA,oBAAY,gBAAgB,GAAG;IAC7B,sBAAsB;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,gCAAgC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,8BAA8B;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,UAAW,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,KAAG,WAW9E,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Children } from 'react';
3
+ import { FilterPanelProvider } from './FilterPanelProvider';
4
+ import { FilterPanelSelector } from './FilterPanelSelector';
5
+ import { FilterPanelFilters } from './FilterPanelFilters';
6
+ import { FilterPanelBar } from './FilterPanelBar';
7
+ /**
8
+ * Base component for displaying filter components and controllers
9
+ */
10
+ export const FilterPanel = (props) => {
11
+ const { showFilters, children } = props;
12
+ const filters = Children.toArray(children).filter((x) => !!x.props.filterKey);
13
+ const initialSelectedFilters = props.selectedFilters || filters.map((x) => x.props.filterKey);
14
+ return (_jsxs(FilterPanelProvider, Object.assign({}, { filters, initialSelectedFilters, showFilters }, { children: [props.showBar && _jsx(FilterPanelBar, {}, void 0), props.showSelector && _jsx(FilterPanelSelector, {}, void 0), _jsx(FilterPanelFilters, {}, void 0)] }), void 0));
15
+ };
16
+ export default FilterPanel;
17
+ //# sourceMappingURL=FilterPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterPanel.js","sourceRoot":"","sources":["../../../src/components/panel/FilterPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAgB,MAAM,OAAO,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAmBlD;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAgD,EAAe,EAAE;IAC3F,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACxC,MAAM,OAAO,GAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAqC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACnH,MAAM,sBAAsB,GAAG,KAAK,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9F,OAAO,CACL,MAAC,mBAAmB,oBAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,eACtE,KAAK,CAAC,OAAO,IAAI,KAAC,cAAc,aAAG,EACnC,KAAK,CAAC,YAAY,IAAI,KAAC,mBAAmB,aAAG,EAC9C,KAAC,kBAAkB,aAAG,aACF,CACvB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const FilterPanelBar: () => JSX.Element;
2
+ export default FilterPanelBar;
3
+ //# sourceMappingURL=FilterPanelBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterPanelBar.d.ts","sourceRoot":"","sources":["../../../src/components/panel/FilterPanelBar.tsx"],"names":[],"mappings":"AA6BA,eAAO,MAAM,cAAc,QAAO,WAkBjC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import Button from '@equinor/fusion-react-button';
3
+ import { createStyles, makeStyles } from '@equinor/fusion-react-styles';
4
+ import { SearchFilter } from '../filter';
5
+ import { ClearFilterButton } from '../misc';
6
+ import { useFilterPanelContext } from './FilterPanelProvider';
7
+ const useStyles = makeStyles((theme) => createStyles({
8
+ root: {
9
+ display: 'flex',
10
+ alignItems: 'center',
11
+ gap: theme.spacing.comfortable.medium.getVariable('padding'),
12
+ },
13
+ actions: {
14
+ marginLeft: 'auto',
15
+ display: 'flex',
16
+ alignItems: 'center',
17
+ gap: theme.spacing.comfortable.medium.getVariable('padding'),
18
+ },
19
+ resetBtn: {
20
+ '&[disabled]': {
21
+ display: 'none',
22
+ },
23
+ },
24
+ }), { name: 'fusion-filter-panel-bar' });
25
+ export const FilterPanelBar = () => {
26
+ const { showFilters, setShowFilters } = useFilterPanelContext();
27
+ const styles = useStyles();
28
+ return (_jsxs("div", Object.assign({ className: styles.root }, { children: [_jsx(SearchFilter, { filterKey: "global", label: "Search all", dense: true }, void 0), _jsxs("div", Object.assign({ className: styles.actions }, { children: [_jsx(ClearFilterButton, { className: styles.resetBtn, label: "Reset Filters", icon: "refresh", variant: "ghost" }, void 0), _jsx(Button, { icon: showFilters ? 'chevron_up' : 'chevron_down', label: showFilters ? 'Hide filters' : 'Show filters', onClick: () => setShowFilters(!showFilters), variant: "outlined", trailingIcon: true }, void 0)] }), void 0)] }), void 0));
29
+ };
30
+ export default FilterPanelBar;
31
+ //# sourceMappingURL=FilterPanelBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterPanelBar.js","sourceRoot":"","sources":["../../../src/components/panel/FilterPanelBar.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,8BAA8B,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,SAAS,GAAG,UAAU,CAC1B,CAAC,KAAK,EAAE,EAAE,CACR,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC;KAC7D;IACD,OAAO,EAAE;QACP,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC;KAC7D;IACD,QAAQ,EAAE;QACR,aAAa,EAAE;YACb,OAAO,EAAE,MAAM;SAChB;KACF;CACF,CAAC,EACJ,EAAE,IAAI,EAAE,yBAAyB,EAAE,CACpC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAgB,EAAE;IAC9C,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAChE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,CACL,6BAAK,SAAS,EAAE,MAAM,CAAC,IAAI,iBACzB,KAAC,YAAY,IAAC,SAAS,EAAC,QAAQ,EAAC,KAAK,EAAC,YAAY,EAAC,KAAK,iBAAG,EAC5D,6BAAK,SAAS,EAAE,MAAM,CAAC,OAAO,iBAC5B,KAAC,iBAAiB,IAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAC,eAAe,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,OAAO,WAAG,EACtG,KAAC,MAAM,IACL,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,EACjD,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,EACpD,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,EAC3C,OAAO,EAAC,UAAU,EAClB,YAAY,iBACZ,aACE,aACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const FilterPanelFilters: () => JSX.Element;
2
+ export default FilterPanelFilters;
3
+ //# sourceMappingURL=FilterPanelFilters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterPanelFilters.d.ts","sourceRoot":"","sources":["../../../src/components/panel/FilterPanelFilters.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,kBAAkB,QAAO,WAarC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import { useObservableState } from '@equinor/fusion-react-observable';
4
+ import { useFilterPanelContext } from './FilterPanelProvider';
5
+ import { map } from 'rxjs/operators';
6
+ import { FilterContainer } from '../misc';
7
+ export const FilterPanelFilters = () => {
8
+ const { filters$, showFilters } = useFilterPanelContext();
9
+ const filters = useObservableState(useMemo(() => filters$.pipe(map(({ filters, selectedFilters }) => filters.filter((filter) => selectedFilters.has(filter.props.filterKey)))), [filters$]));
10
+ return _jsx(FilterContainer, Object.assign({ style: { display: showFilters ? '' : 'none' } }, { children: filters }), void 0);
11
+ };
12
+ export default FilterPanelFilters;
13
+ //# sourceMappingURL=FilterPanelFilters.js.map
@@ -0,0 +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;AAE1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAgB,EAAE;IAClD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAE1D,MAAM,OAAO,GAAG,kBAAkB,CAChC,OAAO,CACL,GAAG,EAAE,CACH,QAAQ,CAAC,IAAI,CACX,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAC/G,EACH,CAAC,QAAQ,CAAC,CACX,CACF,CAAC;IACF,OAAO,KAAC,eAAe,kBAAC,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,gBAAG,OAAO,YAAmB,CAAC;AACrG,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { ReactiveSubject } from '@equinor/fusion-react-observable';
2
+ import { ReactElement } from 'react';
3
+ import { FilterComponent } from '../filter';
4
+ import FilterPanelSelector from './FilterPanelSelector';
5
+ import { ActionType } from 'typesafe-actions';
6
+ export declare type FilterPanelProviderContext = {
7
+ filters$: ReactiveSubject<State, Actions>;
8
+ showFilters?: boolean;
9
+ setShowFilters: (show: boolean) => void;
10
+ };
11
+ declare const Consumer: import("react").Consumer<FilterPanelProviderContext | null>;
12
+ export { Consumer as FilterPanelConsumer };
13
+ export declare const useFilterPanelContext: () => FilterPanelProviderContext;
14
+ export declare const actions: {
15
+ add: import("typesafe-actions").PayloadActionCreator<"@FILTER_PANEL/FILTER_SELECTION_ADD", string>;
16
+ remove: import("typesafe-actions").PayloadActionCreator<"@FILTER_PANEL/FILTER_SELECTION_REMOVE", string>;
17
+ };
18
+ declare type Actions = ActionType<typeof actions>;
19
+ declare type State = {
20
+ selectedFilters: Set<string>;
21
+ filters: ReactElement<FilterComponent>[];
22
+ };
23
+ export declare const initialState: State;
24
+ declare type FilterPanelProviderProps = React.PropsWithChildren<{
25
+ filters: ReactElement<FilterComponent>[];
26
+ FilterSelector?: typeof FilterPanelSelector;
27
+ initialSelectedFilters?: string[];
28
+ showFilters?: boolean;
29
+ }>;
30
+ export declare const FilterPanelProvider: (props: FilterPanelProviderProps) => JSX.Element;
31
+ export default FilterPanelProvider;
32
+ //# sourceMappingURL=FilterPanelProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterPanelProvider.d.ts","sourceRoot":"","sources":["../../../src/components/panel/FilterPanelProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAClF,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,oBAAY,0BAA0B,GAAG;IACvC,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC,CAAC;AAGF,QAAA,MAAkB,QAAQ,6DAAY,CAAC;AAEvC,OAAO,EAAE,QAAQ,IAAI,mBAAmB,EAAE,CAAC;AAE3C,eAAO,MAAM,qBAAqB,QAAO,0BACU,CAAC;AAEpD,eAAO,MAAM,OAAO;;;CAGnB,CAAC;AAEF,aAAK,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAC1C,aAAK,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,aAAK,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"}
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useObservable } from '@equinor/fusion-react-observable';
3
+ import { createContext, useContext, useState } from 'react';
4
+ import { createAction, createReducer } from 'typesafe-actions';
5
+ const context = createContext(null);
6
+ const { Provider, Consumer } = context;
7
+ export { Consumer as FilterPanelConsumer };
8
+ export const useFilterPanelContext = () => useContext(context);
9
+ export const actions = {
10
+ add: createAction('@FILTER_PANEL/FILTER_SELECTION_ADD')(),
11
+ remove: createAction('@FILTER_PANEL/FILTER_SELECTION_REMOVE')(),
12
+ };
13
+ export const initialState = {
14
+ selectedFilters: new Set([]),
15
+ filters: [],
16
+ };
17
+ const reducer = createReducer(initialState)
18
+ .handleAction(actions.add, (state, { payload }) => {
19
+ state.selectedFilters.add(payload);
20
+ return { ...state, selected: new Set(state.selectedFilters) };
21
+ })
22
+ .handleAction(actions.remove, (state, { payload }) => {
23
+ state.selectedFilters.delete(payload);
24
+ return { ...state, selected: new Set(state.selectedFilters) };
25
+ });
26
+ export const FilterPanelProvider = (props) => {
27
+ const filters$ = useObservable(reducer, {
28
+ selectedFilters: new Set(props.initialSelectedFilters),
29
+ filters: props.filters,
30
+ });
31
+ const [showFilters, setShowFilters] = useState(props.showFilters);
32
+ return _jsx(Provider, Object.assign({ value: { filters$, showFilters, setShowFilters } }, { children: props.children }), void 0);
33
+ };
34
+ export default FilterPanelProvider;
35
+ //# sourceMappingURL=FilterPanelProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterPanelProvider.js","sourceRoot":"","sources":["../../../src/components/panel/FilterPanelProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAmB,MAAM,kCAAkC,CAAC;AAClF,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,OAAO,CAAC;AAEvC,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,kBAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAG,KAAK,CAAC,QAAQ,YAAY,CAAC;AACjG,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ export declare type FilterPanelSelectorProps = {
3
+ title?: string;
4
+ };
5
+ export declare const FilterPanelSelector: () => JSX.Element;
6
+ export default FilterPanelSelector;
7
+ //# sourceMappingURL=FilterPanelSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterPanelSelector.d.ts","sourceRoot":"","sources":["../../../src/components/panel/FilterPanelSelector.tsx"],"names":[],"mappings":";AAOA,oBAAY,wBAAwB,GAAG;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,mBAAmB,mBA2B/B,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useCallback } from 'react';
3
+ import { Checkbox } from '@equinor/fusion-react-checkbox';
4
+ import { initialState, useFilterPanelContext, actions } from './FilterPanelProvider';
5
+ import { useObservableState } from '@equinor/fusion-react-observable';
6
+ export const FilterPanelSelector = () => {
7
+ const { filters$ } = useFilterPanelContext();
8
+ const { filters, selectedFilters } = useObservableState(filters$) || initialState;
9
+ const onInput = useCallback((e) => {
10
+ const key = e.currentTarget.value;
11
+ const selected = e.currentTarget.checked;
12
+ filters$.next(selected ? actions.remove(key) : actions.add(key));
13
+ }, [filters$]);
14
+ return (_jsx("div", { children: filters.map(({ props: { filterKey, title } }) => (_jsx(Checkbox, { value: filterKey, label: title, checked: selectedFilters.has(filterKey), onInput: onInput }, filterKey))) }, void 0));
15
+ };
16
+ export default FilterPanelSelector;
17
+ //# sourceMappingURL=FilterPanelSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterPanelSelector.js","sourceRoot":"","sources":["../../../src/components/panel/FilterPanelSelector.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAE3C,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,GAAG,GAAG,EAAE;IACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAE7C,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;IAElF,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,WACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { FilterPanelBar } from './FilterPanelBar';
2
+ export { FilterPanelProvider } from './FilterPanelProvider';
3
+ export { FilterPanelFilters } from './FilterPanelFilters';
4
+ export { FilterPanel, FilterPanelProps } from './FilterPanel';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/panel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { FilterPanelBar } from './FilterPanelBar';
2
+ export { FilterPanelProvider } from './FilterPanelProvider';
3
+ export { FilterPanelFilters } from './FilterPanelFilters';
4
+ export { FilterPanel } from './FilterPanel';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/panel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAoB,MAAM,eAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import { FilterContext } from './types';
3
+ export declare const useFilterContext: <TSelection = any, TData extends Record<string, any> = Record<string, any>>() => FilterContext<TSelection, TData>;
4
+ export declare const Provider: import("react").Provider<FilterContext<unknown, Record<string, any>>>, Consumer: import("react").Consumer<FilterContext<unknown, Record<string, any>>>;
5
+ export default useFilterContext;
6
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIxC,eAAO,MAAM,gBAAgB,mHAGmE,CAAC;AAEjG,eAAO,MAAQ,QAAQ,yEAAE,QAAQ,uEAAY,CAAC;AAE9C,eAAe,gBAAgB,CAAC"}