@usereactify/search 5.25.0 → 5.26.1

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 (125) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/package.json +11 -10
  3. package/dist/src/components/ClearAll/ClearAll.js +3 -31
  4. package/dist/src/components/ClearAll/ClearAll.js.map +1 -1
  5. package/dist/src/components/Example/ExampleFilterRange.js +1 -3
  6. package/dist/src/components/Example/ExampleFilterRange.js.map +1 -1
  7. package/dist/src/components/Example/ExampleFilterSlider.js +7 -24
  8. package/dist/src/components/Example/ExampleFilterSlider.js.map +1 -1
  9. package/dist/src/components/Example/ExampleFilters.d.ts +3 -1
  10. package/dist/src/components/Example/ExampleFilters.js +4 -8
  11. package/dist/src/components/Example/ExampleFilters.js.map +1 -1
  12. package/dist/src/components/Example/ExampleFiltersSelected.js +10 -24
  13. package/dist/src/components/Example/ExampleFiltersSelected.js.map +1 -1
  14. package/dist/src/components/Example/index.d.ts +0 -3
  15. package/dist/src/components/Example/index.js +0 -3
  16. package/dist/src/components/Example/index.js.map +1 -1
  17. package/dist/src/components/Filter/Filter.d.ts +2 -2
  18. package/dist/src/components/Filter/Filter.js +18 -91
  19. package/dist/src/components/Filter/Filter.js.map +1 -1
  20. package/dist/src/components/Filter/Filters.d.ts +3 -17
  21. package/dist/src/components/Filter/Filters.js +2 -1
  22. package/dist/src/components/Filter/Filters.js.map +1 -1
  23. package/dist/src/components/Filter/FiltersSelected.d.ts +2 -7
  24. package/dist/src/components/Filter/FiltersSelected.js +2 -45
  25. package/dist/src/components/Filter/FiltersSelected.js.map +1 -1
  26. package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.d.ts +7 -5
  27. package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.js +24 -42
  28. package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.js.map +1 -1
  29. package/dist/src/components/Result/Results.js +9 -24
  30. package/dist/src/components/Result/Results.js.map +1 -1
  31. package/dist/src/components/Sensor/SensorCollection.js +0 -4
  32. package/dist/src/components/Sensor/SensorCollection.js.map +1 -1
  33. package/dist/src/components/Sensor/SensorInventoryAvailable.js +1 -6
  34. package/dist/src/components/Sensor/SensorInventoryAvailable.js.map +1 -1
  35. package/dist/src/components/Sensor/SensorPublished.js +6 -13
  36. package/dist/src/components/Sensor/SensorPublished.js.map +1 -1
  37. package/dist/src/components/Sensor/SensorSearchTerm.js +66 -78
  38. package/dist/src/components/Sensor/SensorSearchTerm.js.map +1 -1
  39. package/dist/src/components/Sensor/SensorSort.js +65 -75
  40. package/dist/src/components/Sensor/SensorSort.js.map +1 -1
  41. package/dist/src/components/Sensor/SensorSortScore.d.ts +2 -0
  42. package/dist/src/components/Sensor/SensorSortScore.js +13 -0
  43. package/dist/src/components/Sensor/SensorSortScore.js.map +1 -0
  44. package/dist/src/components/Sensor/index.d.ts +1 -0
  45. package/dist/src/components/Sensor/index.js +2 -0
  46. package/dist/src/components/Sensor/index.js.map +1 -1
  47. package/dist/src/components/index.d.ts +0 -1
  48. package/dist/src/components/index.js +0 -1
  49. package/dist/src/components/index.js.map +1 -1
  50. package/dist/src/hooks/index.d.ts +0 -3
  51. package/dist/src/hooks/index.js +0 -3
  52. package/dist/src/hooks/index.js.map +1 -1
  53. package/dist/src/hooks/reactivesearch/useReactiveBaseProps.d.ts +7 -2
  54. package/dist/src/hooks/reactivesearch/useReactiveBaseProps.js +3 -10
  55. package/dist/src/hooks/reactivesearch/useReactiveBaseProps.js.map +1 -1
  56. package/dist/src/hooks/reactivesearch/useReactiveDataSearchProps.d.ts +27 -0
  57. package/dist/src/hooks/reactivesearch/useReactiveDataSearchProps.js +71 -0
  58. package/dist/src/hooks/reactivesearch/useReactiveDataSearchProps.js.map +1 -0
  59. package/dist/src/hooks/reactivesearch/useReactiveFilterListProps.d.ts +0 -1
  60. package/dist/src/hooks/reactivesearch/useReactiveFilterListProps.js +5 -3
  61. package/dist/src/hooks/reactivesearch/useReactiveFilterListProps.js.map +1 -1
  62. package/dist/src/hooks/reactivesearch/useReactiveFilterRangeProps.d.ts +0 -1
  63. package/dist/src/hooks/reactivesearch/useReactiveFilterRangeProps.js +5 -3
  64. package/dist/src/hooks/reactivesearch/useReactiveFilterRangeProps.js.map +1 -1
  65. package/dist/src/hooks/reactivesearch/useReactiveFilterSharedProps.js +1 -1
  66. package/dist/src/hooks/reactivesearch/useReactiveFilterSharedProps.js.map +1 -1
  67. package/dist/src/hooks/reactivesearch/useReactiveFilterSliderProps.js +3 -1
  68. package/dist/src/hooks/reactivesearch/useReactiveFilterSliderProps.js.map +1 -1
  69. package/dist/src/hooks/reactivesearch/useReactiveReactProp.d.ts +1 -2
  70. package/dist/src/hooks/reactivesearch/useReactiveReactProp.js +3 -8
  71. package/dist/src/hooks/reactivesearch/useReactiveReactProp.js.map +1 -1
  72. package/dist/src/hooks/useAnalytics.js +3 -23
  73. package/dist/src/hooks/useAnalytics.js.map +1 -1
  74. package/dist/src/hooks/useConfig.js +27 -9
  75. package/dist/src/hooks/useConfig.js.map +1 -1
  76. package/dist/src/hooks/useCuration.js +1 -12
  77. package/dist/src/hooks/useCuration.js.map +1 -1
  78. package/dist/src/hooks/useFilterListProps.js +2 -15
  79. package/dist/src/hooks/useFilterListProps.js.map +1 -1
  80. package/dist/src/hooks/useFilterRangeProps.d.ts +10 -1
  81. package/dist/src/hooks/useFilterRangeProps.js +47 -36
  82. package/dist/src/hooks/useFilterRangeProps.js.map +1 -1
  83. package/dist/src/hooks/useFilterSliderProps.d.ts +8 -6
  84. package/dist/src/hooks/useFilterSliderProps.js +10 -31
  85. package/dist/src/hooks/useFilterSliderProps.js.map +1 -1
  86. package/dist/src/hooks/usePaginationLoadMore.d.ts +15 -0
  87. package/dist/src/hooks/usePaginationLoadMore.js +38 -0
  88. package/dist/src/hooks/usePaginationLoadMore.js.map +1 -0
  89. package/dist/src/hooks/useReactifySearchContext.d.ts +11 -19
  90. package/dist/src/hooks/useReactifySearchContext.js.map +1 -1
  91. package/dist/src/hooks/useSearch.js +2 -4
  92. package/dist/src/hooks/useSearch.js.map +1 -1
  93. package/dist/src/types/config.d.ts +5 -11
  94. package/dist/src/types/config.js.map +1 -1
  95. package/dist/src/types/elastic.d.ts +17 -53
  96. package/dist/src/types/elastic.js.map +1 -1
  97. package/dist/src/types/firestore.d.ts +0 -3
  98. package/dist/src/types/firestore.js.map +1 -1
  99. package/dist/src/types/reactivesearch.d.ts +1 -1
  100. package/dist/src/types/reactivesearch.js.map +1 -1
  101. package/package.json +1 -1
  102. package/dist/src/components/Example/ExampleHookUseResults.d.ts +0 -2
  103. package/dist/src/components/Example/ExampleHookUseResults.js +0 -25
  104. package/dist/src/components/Example/ExampleHookUseResults.js.map +0 -1
  105. package/dist/src/components/Example/ExampleSuggestions.d.ts +0 -4
  106. package/dist/src/components/Example/ExampleSuggestions.js +0 -16
  107. package/dist/src/components/Example/ExampleSuggestions.js.map +0 -1
  108. package/dist/src/components/Suggestions/Suggestions.d.ts +0 -12
  109. package/dist/src/components/Suggestions/Suggestions.js +0 -44
  110. package/dist/src/components/Suggestions/Suggestions.js.map +0 -1
  111. package/dist/src/components/Suggestions/index.d.ts +0 -1
  112. package/dist/src/components/Suggestions/index.js +0 -14
  113. package/dist/src/components/Suggestions/index.js.map +0 -1
  114. package/dist/src/hooks/react-slider/useReactSliderProps.d.ts +0 -4
  115. package/dist/src/hooks/react-slider/useReactSliderProps.js +0 -28
  116. package/dist/src/hooks/react-slider/useReactSliderProps.js.map +0 -1
  117. package/dist/src/hooks/useFlags.d.ts +0 -17
  118. package/dist/src/hooks/useFlags.js +0 -45
  119. package/dist/src/hooks/useFlags.js.map +0 -1
  120. package/dist/src/hooks/useIndices.d.ts +0 -5
  121. package/dist/src/hooks/useIndices.js +0 -49
  122. package/dist/src/hooks/useIndices.js.map +0 -1
  123. package/dist/src/hooks/useResults.d.ts +0 -21
  124. package/dist/src/hooks/useResults.js +0 -19
  125. package/dist/src/hooks/useResults.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [5.26.1](https://bitbucket.org/usereactify/reactify-search-ui/compare/release-v5.26.0...release-v5.26.1) (2023-08-09)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * correct sort option ordering ([c48ecdd](https://bitbucket.org/usereactify/reactify-search-ui/commit/c48ecdd99166259966c97616a64ec0950e64172f))
11
+
12
+ ## [5.26.0](https://bitbucket.org/usereactify/reactify-search-ui/compare/release-v5.25.0...release-v5.26.0) (2023-08-08)
13
+
14
+
15
+ ### Features
16
+
17
+ * add flags for synonyms ([cfbc94a](https://bitbucket.org/usereactify/reactify-search-ui/commit/cfbc94ab16cb7a91e570134e7033c1dca8874e71))
18
+
5
19
  ## [5.25.0](https://bitbucket.org/usereactify/reactify-search-ui/compare/release-v5.24.0...release-v5.25.0) (2023-08-02)
6
20
 
7
21
 
package/dist/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@usereactify/search",
3
3
  "description": "React UI library for Reactify Search",
4
- "version": "5.25.0",
4
+ "version": "5.6.1",
5
5
  "license": "MIT",
6
6
  "main": "dist/src/index.js",
7
7
  "types": "dist/src/index.d.ts",
@@ -10,7 +10,6 @@
10
10
  "README.md",
11
11
  "CHANGELOG.md"
12
12
  ],
13
- "packageManager": "pnpm@7.9.5",
14
13
  "scripts": {
15
14
  "watch": "tsc --watch",
16
15
  "release": "standard-version --tag-prefix release-v",
@@ -18,11 +17,16 @@
18
17
  "prebuild": "rimraf dist",
19
18
  "build": "tsc",
20
19
  "prettier": "prettier --write .",
21
- "start": "start-storybook -p 6006",
20
+ "storybook": "start-storybook -p 6006",
22
21
  "sentry:release:new": "sentry-cli releases new $npm_package_version",
23
22
  "sentry:release:upload": "sentry-cli releases files $npm_package_version upload-sourcemaps dist",
24
- "sentry:release:finalize": "sentry-cli releases finalize $npm_package_version",
25
- "prepare": "husky install"
23
+ "sentry:release:finalize": "sentry-cli releases finalize $npm_package_version"
24
+ },
25
+ "husky": {
26
+ "hooks": {
27
+ "pre-commit": "pretty-quick --staged",
28
+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
29
+ }
26
30
  },
27
31
  "commitlint": {
28
32
  "extends": [
@@ -36,9 +40,7 @@
36
40
  "axios": "0.26.1",
37
41
  "currency.js": "2.0.4",
38
42
  "debug": "4.3.2",
39
- "ga-gtag": "1.1.5",
40
- "react-intersection-observer": "9.1.0",
41
- "react-slider": "2.0.4"
43
+ "react-intersection-observer": "9.1.0"
42
44
  },
43
45
  "peerDependencies": {
44
46
  "@appbaseio/reactivesearch": "3.14.0",
@@ -59,9 +61,8 @@
59
61
  "@types/debug": "4.1.7",
60
62
  "@types/react": "18.0.19",
61
63
  "@types/react-dom": "18.0.6",
62
- "@types/react-slider": "1.3.1",
63
64
  "babel-loader": "8.2.2",
64
- "husky": "^8.0.0",
65
+ "husky": "4.3.8",
65
66
  "prettier": "2.4.1",
66
67
  "pretty-quick": "3.1.1",
67
68
  "react": "18.2.0",
@@ -7,13 +7,11 @@ exports.ClearAll = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const SelectedFilters_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/basic/SelectedFilters"));
9
9
  const components_1 = require("../../components");
10
- const hooks_1 = require("../../hooks");
11
10
  const ClearAll = (props) => {
12
11
  var _a;
13
12
  const RenderComponent = (_a = props.render) !== null && _a !== void 0 ? _a : components_1.ExampleClearAll;
14
- const filtersHook = (0, hooks_1.useFilters)();
15
- return (react_1.default.createElement(SelectedFilters_1.default, { render: (renderProps) => {
16
- const selectedFilters = Object.values(renderProps.selectedValues)
13
+ return (react_1.default.createElement(SelectedFilters_1.default, { render: ({ selectedValues, clearValues }) => {
14
+ const selectedFilters = Object.values(selectedValues)
17
15
  .map((value) => value)
18
16
  .filter((item) => {
19
17
  var _a, _b;
@@ -21,36 +19,10 @@ const ClearAll = (props) => {
21
19
  (item === null || item === void 0 ? void 0 : item.showFilter) &&
22
20
  (!!((_a = item === null || item === void 0 ? void 0 : item.value) === null || _a === void 0 ? void 0 : _a.length) || !!((_b = item === null || item === void 0 ? void 0 : item.value) === null || _b === void 0 ? void 0 : _b.label));
23
21
  });
24
- const handleClearAll = () => {
25
- var _a;
26
- for (const filter of (_a = filtersHook.filters) !== null && _a !== void 0 ? _a : []) {
27
- if (filter.displayType === "slider") {
28
- const event = new CustomEvent(`@usereactify/search:filter:${filter.handle}:update`, {
29
- detail: {
30
- handle: filter.handle,
31
- value: [],
32
- },
33
- });
34
- window.dispatchEvent(event);
35
- }
36
- if (filter.displayType === "multi") {
37
- if (filter.displayView === "range") {
38
- const event = new CustomEvent(`@usereactify/search:filter:${filter.handle}:update`, {
39
- detail: {
40
- handle: filter.handle,
41
- value: [],
42
- },
43
- });
44
- window.dispatchEvent(event);
45
- }
46
- }
47
- }
48
- renderProps.clearValues();
49
- };
50
22
  if (!selectedFilters.length) {
51
23
  return null;
52
24
  }
53
- return react_1.default.createElement(RenderComponent, { clearAll: handleClearAll });
25
+ return react_1.default.createElement(RenderComponent, { clearAll: clearValues });
54
26
  } }));
55
27
  };
56
28
  exports.ClearAll = ClearAll;
@@ -1 +1 @@
1
- {"version":3,"file":"ClearAll.js","sourceRoot":"","sources":["../../../../src/components/ClearAll/ClearAll.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,qHAA6F;AAE7F,iDAAmD;AACnD,uCAAyC;AASlC,MAAM,QAAQ,GAA4B,CAAC,KAAK,EAAE,EAAE;;IACzD,MAAM,eAAe,GAAG,MAAA,KAAK,CAAC,MAAM,mCAAI,4BAAe,CAAC;IAExD,MAAM,WAAW,GAAG,IAAA,kBAAU,GAAE,CAAC;IAEjC,OAAO,CACL,8BAAC,yBAAe,IACd,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE;YACtB,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC;iBAC9D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;iBACrB,MAAM,CACL,CAAC,IAAS,EAAE,EAAE;;gBACZ,OAAA,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS;qBACf,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAA;oBAChB,CAAC,CAAC,CAAC,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,MAAM,CAAA,IAAI,CAAC,CAAC,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,KAAK,CAAA,CAAC,CAAA;aAAA,CAClD,CAAC;YAEJ,MAAM,cAAc,GAAG,GAAG,EAAE;;gBAC1B,KAAK,MAAM,MAAM,IAAI,MAAA,WAAW,CAAC,OAAO,mCAAI,EAAE,EAAE;oBAC9C,IAAI,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE;wBACnC,MAAM,KAAK,GAAG,IAAI,WAAW,CAG1B,8BAA8B,MAAM,CAAC,MAAM,SAAS,EAAE;4BACvD,MAAM,EAAE;gCACN,MAAM,EAAE,MAAM,CAAC,MAAM;gCACrB,KAAK,EAAE,EAAE;6BACV;yBACF,CAAC,CAAC;wBACH,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;qBAC7B;oBACD,IAAI,MAAM,CAAC,WAAW,KAAK,OAAO,EAAE;wBAClC,IAAI,MAAM,CAAC,WAAW,KAAK,OAAO,EAAE;4BAClC,MAAM,KAAK,GAAG,IAAI,WAAW,CAG1B,8BAA8B,MAAM,CAAC,MAAM,SAAS,EAAE;gCACvD,MAAM,EAAE;oCACN,MAAM,EAAE,MAAM,CAAC,MAAM;oCACrB,KAAK,EAAE,EAAE;iCACV;6BACF,CAAC,CAAC;4BACH,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;yBAC7B;qBACF;iBACF;gBACD,WAAW,CAAC,WAAW,EAAE,CAAC;YAC5B,CAAC,CAAC;YAEF,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;gBAC3B,OAAO,IAAI,CAAC;aACb;YAED,OAAO,8BAAC,eAAe,IAAC,QAAQ,EAAE,cAAc,GAAI,CAAC;QACvD,CAAC,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AAzDW,QAAA,QAAQ,YAyDnB","sourcesContent":["import React from \"react\";\nimport SelectedFilters from \"@appbaseio/reactivesearch/lib/components/basic/SelectedFilters\";\n\nimport { ExampleClearAll } from \"../../components\";\nimport { useFilters } from \"../../hooks\";\n\nexport type ClearAllProps = {\n /** Render method */\n render?: React.FC<{\n clearAll: () => void;\n }>;\n};\n\nexport const ClearAll: React.FC<ClearAllProps> = (props) => {\n const RenderComponent = props.render ?? ExampleClearAll;\n\n const filtersHook = useFilters();\n\n return (\n <SelectedFilters\n render={(renderProps) => {\n const selectedFilters = Object.values(renderProps.selectedValues)\n .map((value) => value)\n .filter(\n (item: any) =>\n item?.URLParams &&\n item?.showFilter &&\n (!!item?.value?.length || !!item?.value?.label)\n );\n\n const handleClearAll = () => {\n for (const filter of filtersHook.filters ?? []) {\n if (filter.displayType === \"slider\") {\n const event = new CustomEvent<{\n handle: string;\n value: [];\n }>(`@usereactify/search:filter:${filter.handle}:update`, {\n detail: {\n handle: filter.handle,\n value: [],\n },\n });\n window.dispatchEvent(event);\n }\n if (filter.displayType === \"multi\") {\n if (filter.displayView === \"range\") {\n const event = new CustomEvent<{\n handle: string;\n value: Array<string>;\n }>(`@usereactify/search:filter:${filter.handle}:update`, {\n detail: {\n handle: filter.handle,\n value: [],\n },\n });\n window.dispatchEvent(event);\n }\n }\n }\n renderProps.clearValues();\n };\n\n if (!selectedFilters.length) {\n return null;\n }\n\n return <RenderComponent clearAll={handleClearAll} />;\n }}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"ClearAll.js","sourceRoot":"","sources":["../../../../src/components/ClearAll/ClearAll.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,qHAA6F;AAE7F,iDAAmD;AAS5C,MAAM,QAAQ,GAA4B,CAAC,KAAK,EAAE,EAAE;;IACzD,MAAM,eAAe,GAAG,MAAA,KAAK,CAAC,MAAM,mCAAI,4BAAe,CAAC;IAExD,OAAO,CACL,8BAAC,yBAAe,IACd,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,EAAE;YAC1C,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;iBAClD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;iBACrB,MAAM,CACL,CAAC,IAAS,EAAE,EAAE;;gBACZ,OAAA,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS;qBACf,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAA;oBAChB,CAAC,CAAC,CAAC,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,MAAM,CAAA,IAAI,CAAC,CAAC,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,KAAK,CAAA,CAAC,CAAA;aAAA,CAClD,CAAC;YAEJ,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;gBAC3B,OAAO,IAAI,CAAC;aACb;YAED,OAAO,8BAAC,eAAe,IAAC,QAAQ,EAAE,WAAW,GAAI,CAAC;QACpD,CAAC,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AAvBW,QAAA,QAAQ,YAuBnB","sourcesContent":["import React from \"react\";\nimport SelectedFilters from \"@appbaseio/reactivesearch/lib/components/basic/SelectedFilters\";\n\nimport { ExampleClearAll } from \"../../components\";\n\nexport type ClearAllProps = {\n /** Render method */\n render?: React.FC<{\n clearAll: () => void;\n }>;\n};\n\nexport const ClearAll: React.FC<ClearAllProps> = (props) => {\n const RenderComponent = props.render ?? ExampleClearAll;\n\n return (\n <SelectedFilters\n render={({ selectedValues, clearValues }) => {\n const selectedFilters = Object.values(selectedValues)\n .map((value) => value)\n .filter(\n (item: any) =>\n item?.URLParams &&\n item?.showFilter &&\n (!!item?.value?.length || !!item?.value?.label)\n );\n\n if (!selectedFilters.length) {\n return null;\n }\n\n return <RenderComponent clearAll={clearValues} />;\n }}\n />\n );\n};\n"]}
@@ -10,9 +10,7 @@ const ExampleFilterRange = (props) => {
10
10
  react_1.default.createElement("h3", { className: "rs__filter__name" }, props.filter.name),
11
11
  react_1.default.createElement("ul", { className: "rs__filter__list" }, props.filterRangeProps.options.map((option) => (react_1.default.createElement("li", { key: option.key, className: "rs__filter__list-item" },
12
12
  react_1.default.createElement("label", { className: "rs__filter__list-item-label" },
13
- react_1.default.createElement("input", { className: "rs__filter__list-item-input", value: option.key, type: "multi" === props.filterRangeProps.filter.displayType
14
- ? "checkbox"
15
- : "radio", checked: option.checked, onChange: (event) => props.filterRangeProps.handleChange(event.target.value) }),
13
+ react_1.default.createElement("input", { className: "rs__filter__list-item-input", value: option.key, type: "radio", checked: option.checked, onChange: (event) => props.filterRangeProps.handleChange(event.target.value) }),
16
14
  react_1.default.createElement("span", { className: "rs__filter__list-item-key" }, option.label))))))));
17
15
  };
18
16
  exports.ExampleFilterRange = ExampleFilterRange;
@@ -1 +1 @@
1
- {"version":3,"file":"ExampleFilterRange.js","sourceRoot":"","sources":["../../../../src/components/Example/ExampleFilterRange.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAQnB,MAAM,kBAAkB,GAAsC,CACnE,KAAK,EACL,EAAE;IACF,OAAO,CACL,uCAAK,SAAS,EAAC,YAAY;QACzB,sCAAI,SAAS,EAAC,kBAAkB,IAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAM;QACzD,sCAAI,SAAS,EAAC,kBAAkB,IAC7B,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC9C,sCAAI,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,SAAS,EAAC,uBAAuB;YACpD,yCAAO,SAAS,EAAC,6BAA6B;gBAC5C,yCACE,SAAS,EAAC,6BAA6B,EACvC,KAAK,EAAE,MAAM,CAAC,GAAG,EACjB,IAAI,EACF,OAAO,KAAK,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW;wBACnD,CAAC,CAAC,UAAU;wBACZ,CAAC,CAAC,OAAO,EAEb,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,KAAK,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAEzD;gBACF,wCAAM,SAAS,EAAC,2BAA2B,IAAE,MAAM,CAAC,KAAK,CAAQ,CAC3D,CACL,CACN,CAAC,CACC,CACD,CACP,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,kBAAkB,sBA8B7B","sourcesContent":["import React from \"react\";\n\nimport { FilterProps } from \"../../components\";\n\nexport type ExampleFilterRangeProps = React.ComponentProps<\n NonNullable<FilterProps[\"renderFilterRange\"]>\n>;\n\nexport const ExampleFilterRange: React.FC<ExampleFilterRangeProps> = (\n props\n) => {\n return (\n <div className=\"rs__filter\">\n <h3 className=\"rs__filter__name\">{props.filter.name}</h3>\n <ul className=\"rs__filter__list\">\n {props.filterRangeProps.options.map((option) => (\n <li key={option.key} className=\"rs__filter__list-item\">\n <label className=\"rs__filter__list-item-label\">\n <input\n className=\"rs__filter__list-item-input\"\n value={option.key}\n type={\n \"multi\" === props.filterRangeProps.filter.displayType\n ? \"checkbox\"\n : \"radio\"\n }\n checked={option.checked}\n onChange={(event) =>\n props.filterRangeProps.handleChange(event.target.value)\n }\n />\n <span className=\"rs__filter__list-item-key\">{option.label}</span>\n </label>\n </li>\n ))}\n </ul>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"ExampleFilterRange.js","sourceRoot":"","sources":["../../../../src/components/Example/ExampleFilterRange.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAQnB,MAAM,kBAAkB,GAAsC,CACnE,KAAK,EACL,EAAE;IACF,OAAO,CACL,uCAAK,SAAS,EAAC,YAAY;QACzB,sCAAI,SAAS,EAAC,kBAAkB,IAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAM;QACzD,sCAAI,SAAS,EAAC,kBAAkB,IAC7B,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC9C,sCAAI,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,SAAS,EAAC,uBAAuB;YACpD,yCAAO,SAAS,EAAC,6BAA6B;gBAC5C,yCACE,SAAS,EAAC,6BAA6B,EACvC,KAAK,EAAE,MAAM,CAAC,GAAG,EACjB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,KAAK,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAEzD;gBACF,wCAAM,SAAS,EAAC,2BAA2B,IAAE,MAAM,CAAC,KAAK,CAAQ,CAC3D,CACL,CACN,CAAC,CACC,CACD,CACP,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,kBAAkB,sBA0B7B","sourcesContent":["import React from \"react\";\n\nimport { FilterProps } from \"../../components\";\n\nexport type ExampleFilterRangeProps = React.ComponentProps<\n NonNullable<FilterProps[\"renderFilterRange\"]>\n>;\n\nexport const ExampleFilterRange: React.FC<ExampleFilterRangeProps> = (\n props\n) => {\n return (\n <div className=\"rs__filter\">\n <h3 className=\"rs__filter__name\">{props.filter.name}</h3>\n <ul className=\"rs__filter__list\">\n {props.filterRangeProps.options.map((option) => (\n <li key={option.key} className=\"rs__filter__list-item\">\n <label className=\"rs__filter__list-item-label\">\n <input\n className=\"rs__filter__list-item-input\"\n value={option.key}\n type=\"radio\"\n checked={option.checked}\n onChange={(event) =>\n props.filterRangeProps.handleChange(event.target.value)\n }\n />\n <span className=\"rs__filter__list-item-key\">{option.label}</span>\n </label>\n </li>\n ))}\n </ul>\n </div>\n );\n};\n"]}
@@ -5,33 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ExampleFilterSlider = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
- const react_slider_1 = __importDefault(require("react-slider"));
8
+ const DynamicRangeSlider_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/range/DynamicRangeSlider"));
9
+ const hooks_1 = require("../../hooks");
9
10
  const ExampleFilterSlider = (props) => {
10
- const trackStyleEnds = {
11
- top: "10px",
12
- height: "8px",
13
- background: "rgb(239, 239, 239)",
14
- border: "1px solid rgb(179, 179, 179)",
15
- borderRadius: "4px",
16
- };
17
- const trackStyleMiddle = Object.assign(Object.assign({}, trackStyleEnds), { background: "rgb(2, 117, 255)", border: "1px solid rgb(74, 117, 187)" });
11
+ const reactiveFilterSliderProps = (0, hooks_1.useReactiveFilterSliderProps)(props.filter);
18
12
  return (react_1.default.createElement("div", { className: "rs__filter" },
19
13
  react_1.default.createElement("h3", { className: "rs__filter__name" }, props.filter.name),
20
- react_1.default.createElement("div", { className: "rs__filter__slider", style: {
21
- maxWidth: "300px",
22
- height: "26px",
23
- margin: "auto",
24
- top: "6px",
25
- } },
26
- react_1.default.createElement(react_slider_1.default, Object.assign({ thumbClassName: "rs__filter__slider__thumb" }, props.filterSliderProps.reactSliderProps, { renderTrack: (props, state) => (react_1.default.createElement("div", Object.assign({}, props, { style: Object.assign(Object.assign({}, (state.index === 1 ? trackStyleMiddle : trackStyleEnds)), props.style) }))), renderThumb: (renderProps, state) => (react_1.default.createElement("div", Object.assign({}, renderProps, { style: Object.assign({ cursor: "grab", background: "rgb(2, 117, 255)", top: "6px", width: "16px", height: "16px", borderRadius: "100%", outline: "none" }, renderProps.style) }),
27
- react_1.default.createElement("span", { style: {
28
- position: "absolute",
29
- top: "-24px",
30
- left: "-50%",
31
- } },
32
- props.filter.displaySliderPrefix,
33
- state.valueNow,
34
- props.filter.displaySliderSuffix))) })))));
14
+ react_1.default.createElement(DynamicRangeSlider_1.default, Object.assign({}, reactiveFilterSliderProps, { value: () => props.filterSliderProps.value, onChange: (value) => props.filterSliderProps.handleChange({
15
+ start: value[0],
16
+ end: value[1],
17
+ }) }))));
35
18
  };
36
19
  exports.ExampleFilterSlider = ExampleFilterSlider;
37
20
  //# sourceMappingURL=ExampleFilterSlider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExampleFilterSlider.js","sourceRoot":"","sources":["../../../../src/components/Example/ExampleFilterSlider.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,gEAAuC;AAOhC,MAAM,mBAAmB,GAAuC,CACrE,KAAK,EACL,EAAE;IACF,MAAM,cAAc,GAAG;QACrB,GAAG,EAAE,MAAM;QACX,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,oBAAoB;QAChC,MAAM,EAAE,8BAA8B;QACtC,YAAY,EAAE,KAAK;KACpB,CAAC;IACF,MAAM,gBAAgB,mCACjB,cAAc,KACjB,UAAU,EAAE,kBAAkB,EAC9B,MAAM,EAAE,6BAA6B,GACtC,CAAC;IAEF,OAAO,CACL,uCAAK,SAAS,EAAC,YAAY;QACzB,sCAAI,SAAS,EAAC,kBAAkB,IAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAM;QACzD,uCACE,SAAS,EAAC,oBAAoB,EAC9B,KAAK,EAAE;gBACL,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,KAAK;aACX;YAED,8BAAC,sBAAW,kBACV,cAAc,EAAC,2BAA2B,IACtC,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,IAC5C,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAC7B,uDACM,KAAK,IACT,KAAK,kCACA,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,GACvD,KAAK,CAAC,KAAK,KAEX,CACR,EACD,WAAW,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,CACnC,uDACM,WAAW,IACf,KAAK,kBACH,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,kBAAkB,EAC9B,GAAG,EAAE,KAAK,EACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,IACZ,WAAW,CAAC,KAAK;oBAGtB,wCACE,KAAK,EAAE;4BACL,QAAQ,EAAE,UAAU;4BACpB,GAAG,EAAE,OAAO;4BACZ,IAAI,EAAE,MAAM;yBACb;wBAEA,KAAK,CAAC,MAAM,CAAC,mBAAmB;wBAChC,KAAK,CAAC,QAAQ;wBACd,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAC5B,CACH,CACP,IACD,CACE,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAvEW,QAAA,mBAAmB,uBAuE9B","sourcesContent":["import React from \"react\";\nimport ReactSlider from \"react-slider\";\nimport { FilterProps } from \"../../components\";\n\nexport type ExampleFilterSliderProps = React.ComponentProps<\n NonNullable<FilterProps[\"renderFilterSlider\"]>\n>;\n\nexport const ExampleFilterSlider: React.FC<ExampleFilterSliderProps> = (\n props\n) => {\n const trackStyleEnds = {\n top: \"10px\",\n height: \"8px\",\n background: \"rgb(239, 239, 239)\",\n border: \"1px solid rgb(179, 179, 179)\",\n borderRadius: \"4px\",\n };\n const trackStyleMiddle = {\n ...trackStyleEnds,\n background: \"rgb(2, 117, 255)\",\n border: \"1px solid rgb(74, 117, 187)\",\n };\n\n return (\n <div className=\"rs__filter\">\n <h3 className=\"rs__filter__name\">{props.filter.name}</h3>\n <div\n className=\"rs__filter__slider\"\n style={{\n maxWidth: \"300px\",\n height: \"26px\",\n margin: \"auto\",\n top: \"6px\",\n }}\n >\n <ReactSlider\n thumbClassName=\"rs__filter__slider__thumb\"\n {...props.filterSliderProps.reactSliderProps}\n renderTrack={(props, state) => (\n <div\n {...props}\n style={{\n ...(state.index === 1 ? trackStyleMiddle : trackStyleEnds),\n ...props.style,\n }}\n ></div>\n )}\n renderThumb={(renderProps, state) => (\n <div\n {...renderProps}\n style={{\n cursor: \"grab\",\n background: \"rgb(2, 117, 255)\",\n top: \"6px\",\n width: \"16px\",\n height: \"16px\",\n borderRadius: \"100%\",\n outline: \"none\",\n ...renderProps.style,\n }}\n >\n <span\n style={{\n position: \"absolute\",\n top: \"-24px\",\n left: \"-50%\",\n }}\n >\n {props.filter.displaySliderPrefix}\n {state.valueNow}\n {props.filter.displaySliderSuffix}\n </span>\n </div>\n )}\n />\n </div>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"ExampleFilterSlider.js","sourceRoot":"","sources":["../../../../src/components/Example/ExampleFilterSlider.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,2HAAmG;AAEnG,uCAA2D;AAOpD,MAAM,mBAAmB,GAAuC,CACrE,KAAK,EACL,EAAE;IACF,MAAM,yBAAyB,GAAG,IAAA,oCAA4B,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE7E,OAAO,CACL,uCAAK,SAAS,EAAC,YAAY;QACzB,sCAAI,SAAS,EAAC,kBAAkB,IAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAM;QACzD,8BAAC,4BAAkB,oBACb,yBAAyB,IAC7B,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAC1C,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,KAAK,CAAC,iBAAiB,CAAC,YAAY,CAAC;gBACnC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBACf,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;aACd,CAAC,IAEJ,CACE,CACP,CAAC;AACJ,CAAC,CAAC;AApBW,QAAA,mBAAmB,uBAoB9B","sourcesContent":["import React from \"react\";\nimport DynamicRangeSlider from \"@appbaseio/reactivesearch/lib/components/range/DynamicRangeSlider\";\n\nimport { useReactiveFilterSliderProps } from \"../../hooks\";\nimport { FilterProps } from \"../../components\";\n\nexport type ExampleFilterSliderProps = React.ComponentProps<\n NonNullable<FilterProps[\"renderFilterSlider\"]>\n>;\n\nexport const ExampleFilterSlider: React.FC<ExampleFilterSliderProps> = (\n props\n) => {\n const reactiveFilterSliderProps = useReactiveFilterSliderProps(props.filter);\n\n return (\n <div className=\"rs__filter\">\n <h3 className=\"rs__filter__name\">{props.filter.name}</h3>\n <DynamicRangeSlider\n {...reactiveFilterSliderProps}\n value={() => props.filterSliderProps.value}\n onChange={(value) =>\n props.filterSliderProps.handleChange({\n start: value[0],\n end: value[1],\n })\n }\n />\n </div>\n );\n};\n"]}
@@ -1,2 +1,4 @@
1
1
  import React from "react";
2
- export declare const ExampleFilters: React.FC;
2
+ import { FiltersProps } from "../../components";
3
+ export declare type ExampleFiltersProps = React.ComponentProps<NonNullable<FiltersProps["render"]>>;
4
+ export declare const ExampleFilters: React.FC<ExampleFiltersProps>;
@@ -5,14 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ExampleFilters = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
- const Filter_1 = require("../Filter");
9
- const ExampleFilterList_1 = require("./ExampleFilterList");
10
- const ExampleFilterRange_1 = require("./ExampleFilterRange");
11
- const ExampleFilterSlider_1 = require("./ExampleFilterSlider");
12
- const ExampleFilters = () => {
13
- return (react_1.default.createElement("div", null,
14
- react_1.default.createElement("h3", null, "Filters"),
15
- react_1.default.createElement(Filter_1.Filters, { renderFilterList: ExampleFilterList_1.ExampleFilterList, renderFilterRange: ExampleFilterRange_1.ExampleFilterRange, renderFilterSlider: ExampleFilterSlider_1.ExampleFilterSlider })));
8
+ const components_1 = require("../../components");
9
+ const ExampleFilters = (props) => {
10
+ var _a;
11
+ return (react_1.default.createElement(react_1.default.Fragment, null, (_a = props.filters) === null || _a === void 0 ? void 0 : _a.map((filter) => (react_1.default.createElement(components_1.Filter, { key: filter.id, filter: filter })))));
16
12
  };
17
13
  exports.ExampleFilters = ExampleFilters;
18
14
  //# sourceMappingURL=ExampleFilters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExampleFilters.js","sourceRoot":"","sources":["../../../../src/components/Example/ExampleFilters.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,sCAAoC;AAEpC,2DAAwD;AACxD,6DAA0D;AAC1D,+DAA4D;AAErD,MAAM,cAAc,GAAa,GAAG,EAAE;IAC3C,OAAO,CACL;QACE,0CAAK,SAAS,CAAM;QACpB,8BAAC,gBAAO,IACN,gBAAgB,EAAE,qCAAiB,EACnC,iBAAiB,EAAE,uCAAkB,EACrC,kBAAkB,EAAE,yCAAmB,GACvC,CACE,CACP,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,cAAc,kBAWzB","sourcesContent":["import React from \"react\";\nimport { Filters } from \"../Filter\";\n\nimport { ExampleFilterList } from \"./ExampleFilterList\";\nimport { ExampleFilterRange } from \"./ExampleFilterRange\";\nimport { ExampleFilterSlider } from \"./ExampleFilterSlider\";\n\nexport const ExampleFilters: React.FC = () => {\n return (\n <div>\n <h3>{\"Filters\"}</h3>\n <Filters\n renderFilterList={ExampleFilterList}\n renderFilterRange={ExampleFilterRange}\n renderFilterSlider={ExampleFilterSlider}\n />\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"ExampleFilters.js","sourceRoot":"","sources":["../../../../src/components/Example/ExampleFilters.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,iDAAwD;AAMjD,MAAM,cAAc,GAAkC,CAAC,KAAK,EAAE,EAAE;;IACrE,OAAO,CACL,8DACG,MAAA,KAAK,CAAC,OAAO,0CAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC9B,8BAAC,mBAAM,IAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAI,CAC3C,CAAC,CACD,CACJ,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB","sourcesContent":["import React from \"react\";\n\nimport { Filter, FiltersProps } from \"../../components\";\n\nexport type ExampleFiltersProps = React.ComponentProps<\n NonNullable<FiltersProps[\"render\"]>\n>;\n\nexport const ExampleFilters: React.FC<ExampleFiltersProps> = (props) => {\n return (\n <>\n {props.filters?.map((filter) => (\n <Filter key={filter.id} filter={filter} />\n ))}\n </>\n );\n};\n"]}
@@ -5,33 +5,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ExampleFiltersSelected = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
- const hooks_1 = require("../../hooks");
9
8
  const ExampleFiltersSelected = (props) => {
10
9
  return (react_1.default.createElement("div", { className: "rs__filters-selected" },
11
10
  react_1.default.createElement("h3", { className: "rs__filters-selected__name" }, "Filters Selected"),
12
- react_1.default.createElement("ul", { className: "rs__filters-selected__list" }, props.selectedFilters.map((selectedFilter) => (react_1.default.createElement(ExampleFiltersSelectedItem, { selectedFilter: selectedFilter, handleRemove: props.handleRemove }))))));
11
+ react_1.default.createElement("ul", { className: "rs__filters-selected__list" }, props.selectedFilters.map((selectedFilter) => (react_1.default.createElement("li", { key: selectedFilter.key, className: "rs__filters-selected__list-item" },
12
+ react_1.default.createElement("label", { className: "rs__filters-selected__list-item-label", onClick: () => props.handleRemove(selectedFilter.key) },
13
+ react_1.default.createElement("span", { className: "rs__filters-selected__list-item-label" },
14
+ selectedFilter.label,
15
+ ": "),
16
+ react_1.default.createElement("span", { className: "rs__filters-selected__list-item-value" }, Array.isArray(selectedFilter.value)
17
+ ? selectedFilter.value.join(", ")
18
+ : typeof selectedFilter.value !== "string"
19
+ ? `${selectedFilter.value.start}-${selectedFilter.value.end}`
20
+ : selectedFilter.value))))))));
13
21
  };
14
22
  exports.ExampleFiltersSelected = ExampleFiltersSelected;
15
- const ExampleFiltersSelectedItem = (props) => {
16
- var _a;
17
- const filtersHook = (0, hooks_1.useFilters)();
18
- const filter = (_a = filtersHook.filters) === null || _a === void 0 ? void 0 : _a.find((filter) => filter.handle === props.selectedFilter.key);
19
- return (react_1.default.createElement("li", { key: props.selectedFilter.key, className: "rs__filters-selected__list-item" },
20
- react_1.default.createElement("label", { className: "rs__filters-selected__list-item-label" },
21
- react_1.default.createElement("span", { className: "rs__filters-selected__list-item-label", onClick: () => props.handleRemove(props.selectedFilter.key) },
22
- props.selectedFilter.label,
23
- ": "),
24
- (filter === null || filter === void 0 ? void 0 : filter.displayType) === "single" && filter.displayView === "range" && (react_1.default.createElement("span", { className: "rs__filters-selected__list-item-value" },
25
- react_1.default.createElement("span", { onClick: () => props.handleRemove(props.selectedFilter.key, [
26
- props.selectedFilter.value.label,
27
- ]) }, props.selectedFilter.value.label))),
28
- (filter === null || filter === void 0 ? void 0 : filter.displayType) === "single" && filter.displayView !== "range" && (react_1.default.createElement("span", { className: "rs__filters-selected__list-item-value" },
29
- react_1.default.createElement("span", { onClick: () => props.handleRemove(props.selectedFilter.key, [
30
- props.selectedFilter.value,
31
- ]) }, props.selectedFilter.value))),
32
- (filter === null || filter === void 0 ? void 0 : filter.displayType) === "multi" && filter.displayView === "range" && (react_1.default.createElement("span", { className: "rs__filters-selected__list-item-value" }, props.selectedFilter.value.map((value) => (react_1.default.createElement("span", { onClick: () => props.handleRemove(props.selectedFilter.key, [value.label]) }, value.label))))),
33
- (filter === null || filter === void 0 ? void 0 : filter.displayType) === "multi" && filter.displayView !== "range" && (react_1.default.createElement("span", { className: "rs__filters-selected__list-item-value" }, props.selectedFilter.value.map((value) => (react_1.default.createElement("span", { onClick: () => props.handleRemove(props.selectedFilter.key, [value]) }, value))))),
34
- (filter === null || filter === void 0 ? void 0 : filter.displayType) === "slider" && (react_1.default.createElement("span", { className: "rs__filters-selected__list-item-value" },
35
- react_1.default.createElement("span", { onClick: () => props.handleRemove(props.selectedFilter.key, [""]) }, `${filter.displaySliderPrefix}${props.selectedFilter.value[0]} to ${filter.displaySliderPrefix}${props.selectedFilter.value[1]}`))))));
36
- };
37
23
  //# sourceMappingURL=ExampleFiltersSelected.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExampleFiltersSelected.js","sourceRoot":"","sources":["../../../../src/components/Example/ExampleFiltersSelected.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\n\nimport { FiltersSelectedProps } from \"../../components\";\nimport { useFilters } from \"../../hooks\";\n\nexport type ExampleFiltersSelectedProps = React.ComponentProps<\n NonNullable<FiltersSelectedProps[\"render\"]>\n>;\n\nexport const ExampleFiltersSelected: React.FC<ExampleFiltersSelectedProps> = (\n props\n) => {\n return (\n <div className=\"rs__filters-selected\">\n <h3 className=\"rs__filters-selected__name\">{\"Filters Selected\"}</h3>\n <ul className=\"rs__filters-selected__list\">\n {props.selectedFilters.map((selectedFilter) => (\n <ExampleFiltersSelectedItem\n selectedFilter={selectedFilter}\n handleRemove={props.handleRemove}\n />\n ))}\n </ul>\n </div>\n );\n};\n\ntype ExampleFiltersSelectedItemProps = {\n selectedFilter: ExampleFiltersSelectedProps[\"selectedFilters\"][number];\n handleRemove: ExampleFiltersSelectedProps[\"handleRemove\"];\n};\n\nconst ExampleFiltersSelectedItem: React.FC<ExampleFiltersSelectedItemProps> = (\n props\n) => {\n const filtersHook = useFilters();\n const filter = filtersHook.filters?.find(\n (filter) => filter.handle === props.selectedFilter.key\n );\n\n return (\n <li\n key={props.selectedFilter.key}\n className=\"rs__filters-selected__list-item\"\n >\n <label className=\"rs__filters-selected__list-item-label\">\n <span\n className=\"rs__filters-selected__list-item-label\"\n onClick={() => props.handleRemove(props.selectedFilter.key)}\n >\n {props.selectedFilter.label}\n {\": \"}\n </span>\n\n {filter?.displayType === \"single\" && filter.displayView === \"range\" && (\n <span className=\"rs__filters-selected__list-item-value\">\n <span\n onClick={() =>\n props.handleRemove(props.selectedFilter.key, [\n (props.selectedFilter.value as { label: string }).label,\n ])\n }\n >\n {(props.selectedFilter.value as { label: string }).label}\n </span>\n </span>\n )}\n {filter?.displayType === \"single\" && filter.displayView !== \"range\" && (\n <span className=\"rs__filters-selected__list-item-value\">\n <span\n onClick={() =>\n props.handleRemove(props.selectedFilter.key, [\n props.selectedFilter.value as string,\n ])\n }\n >\n {props.selectedFilter.value as string}\n </span>\n </span>\n )}\n {filter?.displayType === \"multi\" && filter.displayView === \"range\" && (\n <span className=\"rs__filters-selected__list-item-value\">\n {(props.selectedFilter.value as Array<{ label: string }>).map(\n (value) => (\n <span\n onClick={() =>\n props.handleRemove(props.selectedFilter.key, [value.label])\n }\n >\n {value.label}\n </span>\n )\n )}\n </span>\n )}\n {filter?.displayType === \"multi\" && filter.displayView !== \"range\" && (\n <span className=\"rs__filters-selected__list-item-value\">\n {(props.selectedFilter.value as Array<string>).map((value) => (\n <span\n onClick={() =>\n props.handleRemove(props.selectedFilter.key, [value])\n }\n >\n {value}\n </span>\n ))}\n </span>\n )}\n {filter?.displayType === \"slider\" && (\n <span className=\"rs__filters-selected__list-item-value\">\n <span\n onClick={() => props.handleRemove(props.selectedFilter.key, [\"\"])}\n >\n {`${filter.displaySliderPrefix}${\n (props.selectedFilter.value as any)[0]\n } to ${filter.displaySliderPrefix}${\n (props.selectedFilter.value as any)[1]\n }`}\n </span>\n </span>\n )}\n </label>\n </li>\n );\n};\n"]}
1
+ {"version":3,"file":"ExampleFiltersSelected.js","sourceRoot":"","sources":["../../../../src/components/Example/ExampleFiltersSelected.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAQnB,MAAM,sBAAsB,GAA0C,CAC3E,KAAK,EACL,EAAE;IACF,OAAO,CACL,uCAAK,SAAS,EAAC,sBAAsB;QACnC,sCAAI,SAAS,EAAC,4BAA4B,IAAE,kBAAkB,CAAM;QACpE,sCAAI,SAAS,EAAC,4BAA4B,IACvC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAC7C,sCACE,GAAG,EAAE,cAAc,CAAC,GAAG,EACvB,SAAS,EAAC,iCAAiC;YAE3C,yCACE,SAAS,EAAC,uCAAuC,EACjD,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC;gBAErD,wCAAM,SAAS,EAAC,uCAAuC;oBACpD,cAAc,CAAC,KAAK;oBACpB,IAAI,CACA;gBACP,wCAAM,SAAS,EAAC,uCAAuC,IACpD,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC;oBAClC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;oBACjC,CAAC,CAAC,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ;wBAC1C,CAAC,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE;wBAC7D,CAAC,CAAC,cAAc,CAAC,KAAK,CACnB,CACD,CACL,CACN,CAAC,CACC,CACD,CACP,CAAC;AACJ,CAAC,CAAC;AAjCW,QAAA,sBAAsB,0BAiCjC","sourcesContent":["import React from \"react\";\n\nimport { FiltersSelectedProps } from \"../../components\";\n\nexport type ExampleFiltersSelectedProps = React.ComponentProps<\n NonNullable<FiltersSelectedProps[\"render\"]>\n>;\n\nexport const ExampleFiltersSelected: React.FC<ExampleFiltersSelectedProps> = (\n props\n) => {\n return (\n <div className=\"rs__filters-selected\">\n <h3 className=\"rs__filters-selected__name\">{\"Filters Selected\"}</h3>\n <ul className=\"rs__filters-selected__list\">\n {props.selectedFilters.map((selectedFilter) => (\n <li\n key={selectedFilter.key}\n className=\"rs__filters-selected__list-item\"\n >\n <label\n className=\"rs__filters-selected__list-item-label\"\n onClick={() => props.handleRemove(selectedFilter.key)}\n >\n <span className=\"rs__filters-selected__list-item-label\">\n {selectedFilter.label}\n {\": \"}\n </span>\n <span className=\"rs__filters-selected__list-item-value\">\n {Array.isArray(selectedFilter.value)\n ? selectedFilter.value.join(\", \")\n : typeof selectedFilter.value !== \"string\"\n ? `${selectedFilter.value.start}-${selectedFilter.value.end}`\n : selectedFilter.value}\n </span>\n </label>\n </li>\n ))}\n </ul>\n </div>\n );\n};\n"]}
@@ -17,8 +17,5 @@ export * from "./ExampleResultPaginationNextPrev";
17
17
  export * from "./ExampleSearch";
18
18
  export * from "./ExampleSortBy";
19
19
  export * from "./ExampleStats";
20
- export * from "./ExampleSuggestions";
21
- export * from "./ExampleHookUseFilters";
22
- export * from "./ExampleHookUseResults";
23
20
  export * from "./ExampleHookUseSearch";
24
21
  export * from "./ExampleHookUseSortBy";
@@ -29,9 +29,6 @@ __exportStar(require("./ExampleResultPaginationNextPrev"), exports);
29
29
  __exportStar(require("./ExampleSearch"), exports);
30
30
  __exportStar(require("./ExampleSortBy"), exports);
31
31
  __exportStar(require("./ExampleStats"), exports);
32
- __exportStar(require("./ExampleSuggestions"), exports);
33
- __exportStar(require("./ExampleHookUseFilters"), exports);
34
- __exportStar(require("./ExampleHookUseResults"), exports);
35
32
  __exportStar(require("./ExampleHookUseSearch"), exports);
36
33
  __exportStar(require("./ExampleHookUseSortBy"), exports);
37
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Example/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAkC;AAClC,2DAAyC;AACzC,sDAAoC;AACpC,uDAAqC;AACrC,wDAAsC;AACtC,mDAAiC;AACjC,2DAAyC;AACzC,4EAA0D;AAC1D,+EAA6D;AAC7D,wEAAsD;AACtD,6DAA2C;AAC3C,6DAA2C;AAC3C,oEAAkD;AAClD,oEAAkD;AAClD,0EAAwD;AACxD,oEAAkD;AAClD,kDAAgC;AAChC,kDAAgC;AAChC,iDAA+B;AAC/B,uDAAqC;AAErC,0DAAwC;AACxC,0DAAwC;AACxC,yDAAuC;AACvC,yDAAuC","sourcesContent":["export * from \"./ExampleClearAll\";\nexport * from \"./ExampleCustomComponent\";\nexport * from \"./ExampleFilterList\";\nexport * from \"./ExampleFilterRange\";\nexport * from \"./ExampleFilterSlider\";\nexport * from \"./ExampleFilters\";\nexport * from \"./ExampleFiltersSelected\";\nexport * from \"./ExampleReactiveSearchProviderCollection\";\nexport * from \"./ExampleReactiveSearchProviderInstantSearch\";\nexport * from \"./ExampleReactiveSearchProviderSearch\";\nexport * from \"./ExampleResultCardCallout\";\nexport * from \"./ExampleResultCardProduct\";\nexport * from \"./ExampleResultPaginationNumbered\";\nexport * from \"./ExampleResultPaginationLoadMore\";\nexport * from \"./ExampleResultPaginationInfiniteScroll\";\nexport * from \"./ExampleResultPaginationNextPrev\";\nexport * from \"./ExampleSearch\";\nexport * from \"./ExampleSortBy\";\nexport * from \"./ExampleStats\";\nexport * from \"./ExampleSuggestions\";\n\nexport * from \"./ExampleHookUseFilters\";\nexport * from \"./ExampleHookUseResults\";\nexport * from \"./ExampleHookUseSearch\";\nexport * from \"./ExampleHookUseSortBy\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Example/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAkC;AAClC,2DAAyC;AACzC,sDAAoC;AACpC,uDAAqC;AACrC,wDAAsC;AACtC,mDAAiC;AACjC,2DAAyC;AACzC,4EAA0D;AAC1D,+EAA6D;AAC7D,wEAAsD;AACtD,6DAA2C;AAC3C,6DAA2C;AAC3C,oEAAkD;AAClD,oEAAkD;AAClD,0EAAwD;AACxD,oEAAkD;AAClD,kDAAgC;AAChC,kDAAgC;AAChC,iDAA+B;AAE/B,yDAAuC;AACvC,yDAAuC","sourcesContent":["export * from \"./ExampleClearAll\";\nexport * from \"./ExampleCustomComponent\";\nexport * from \"./ExampleFilterList\";\nexport * from \"./ExampleFilterRange\";\nexport * from \"./ExampleFilterSlider\";\nexport * from \"./ExampleFilters\";\nexport * from \"./ExampleFiltersSelected\";\nexport * from \"./ExampleReactiveSearchProviderCollection\";\nexport * from \"./ExampleReactiveSearchProviderInstantSearch\";\nexport * from \"./ExampleReactiveSearchProviderSearch\";\nexport * from \"./ExampleResultCardCallout\";\nexport * from \"./ExampleResultCardProduct\";\nexport * from \"./ExampleResultPaginationNumbered\";\nexport * from \"./ExampleResultPaginationLoadMore\";\nexport * from \"./ExampleResultPaginationInfiniteScroll\";\nexport * from \"./ExampleResultPaginationNextPrev\";\nexport * from \"./ExampleSearch\";\nexport * from \"./ExampleSortBy\";\nexport * from \"./ExampleStats\";\n\nexport * from \"./ExampleHookUseSearch\";\nexport * from \"./ExampleHookUseSortBy\";\n"]}
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import type { ConfigFilterOption } from "../../types";
3
- import { useFilterListProps, useFilterRangeProps, useFilterSliderProps } from "../../hooks";
3
+ import { useFilterListProps, useFilterRangeProps, useFilterSliderProps, useFilterRangeMultiProps } from "../../hooks";
4
4
  export declare type FilterProps = {
5
5
  /** The filter option being rendered */
6
6
  filter: ConfigFilterOption;
@@ -12,7 +12,7 @@ export declare type FilterProps = {
12
12
  /** Render method for Range filters */
13
13
  renderFilterRange?: React.FC<{
14
14
  filter: ConfigFilterOption;
15
- filterRangeProps: ReturnType<typeof useFilterRangeProps>;
15
+ filterRangeProps: ReturnType<typeof useFilterRangeProps> | ReturnType<typeof useFilterRangeMultiProps>;
16
16
  }>;
17
17
  /** Render method for Slider filters */
18
18
  renderFilterSlider?: React.FC<{
@@ -16,9 +16,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.Filter = void 0;
18
18
  const react_1 = __importDefault(require("react"));
19
- const ReactiveComponent_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/basic/ReactiveComponent"));
20
19
  const MultiList_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/list/MultiList"));
21
20
  const SingleList_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/list/SingleList"));
21
+ const DynamicRangeSlider_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/range/DynamicRangeSlider"));
22
22
  const SingleRange_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/range/SingleRange"));
23
23
  const MultiRange_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/range/MultiRange"));
24
24
  const hooks_1 = require("../../hooks");
@@ -43,7 +43,7 @@ const Filter = (props) => {
43
43
  if ("range" === props.filter.displayType) {
44
44
  return react_1.default.createElement(FilterRangeSingle, Object.assign({}, props));
45
45
  }
46
- console.warn(`filter with display type "${props.filter.displayType}" not yet supported`);
46
+ console.log(`filter with display type "${props.filter.displayType}" not yet supported`);
47
47
  return null;
48
48
  };
49
49
  exports.Filter = Filter;
@@ -64,108 +64,35 @@ const FilterRangeSingle = (props) => {
64
64
  react_1.default.createElement("div", { style: {
65
65
  display: "none",
66
66
  } },
67
- react_1.default.createElement(SingleRange_1.default, Object.assign({}, reactiveFilterRangeProps, { value: filterRangeProps.values[0], onChange: filterRangeProps.handleChange }))),
67
+ react_1.default.createElement(SingleRange_1.default, Object.assign({}, reactiveFilterRangeProps, { value: filterRangeProps.value, onChange: filterRangeProps.handleChange }))),
68
68
  react_1.default.createElement(RenderRangeComponent, { filterRangeProps: filterRangeProps, filter: props.filter })));
69
69
  };
70
70
  const FilterRangeMulti = (props) => {
71
71
  var _a;
72
72
  const reactiveFilterRangeProps = (0, hooks_1.useReactiveFilterRangeProps)(props.filter);
73
- const filterRangeProps = (0, hooks_1.useFilterRangeProps)(props.filter);
73
+ const filterRangeProps = (0, hooks_1.useFilterRangeMultiProps)(props.filter);
74
74
  const RenderRangeComponent = (_a = props.renderFilterRange) !== null && _a !== void 0 ? _a : components_1.ExampleFilterRange;
75
75
  return (react_1.default.createElement(react_1.default.Fragment, null,
76
76
  react_1.default.createElement("div", { style: {
77
77
  display: "none",
78
78
  } },
79
- react_1.default.createElement(MultiRange_1.default, Object.assign({}, reactiveFilterRangeProps, { value: filterRangeProps.values,
80
- // @note: onChange handler must be defined for controlled component to work correctly
81
- onChange: () => { }, onValueChange: (values) => {
82
- if (values.length === 0) {
83
- filterRangeProps.handleClear();
84
- }
85
- } }))),
79
+ react_1.default.createElement(MultiRange_1.default, Object.assign({}, reactiveFilterRangeProps, { value: filterRangeProps.values, onChange: filterRangeProps.handleChange }))),
86
80
  react_1.default.createElement(RenderRangeComponent, { filterRangeProps: filterRangeProps, filter: props.filter })));
87
81
  };
88
82
  const FilterSlider = (props) => {
89
- const reactiveFilterSharedProps = (0, hooks_1.useReactiveFilterSharedProps)(props.filter);
90
- return (react_1.default.createElement(ReactiveComponent_1.default, Object.assign({}, reactiveFilterSharedProps, { defaultQuery: () => ({
91
- aggs: {
92
- min: {
93
- min: {
94
- field: props.filter.field,
95
- },
96
- },
97
- max: {
98
- max: {
99
- field: props.filter.field,
100
- },
101
- },
102
- },
103
- }), render: (reactivesearchFilterProps) => {
104
- var _a, _b, _c, _d;
105
- if (((_b = (_a = reactivesearchFilterProps === null || reactivesearchFilterProps === void 0 ? void 0 : reactivesearchFilterProps.aggregations) === null || _a === void 0 ? void 0 : _a.min) === null || _b === void 0 ? void 0 : _b.value) ===
106
- ((_d = (_c = reactivesearchFilterProps === null || reactivesearchFilterProps === void 0 ? void 0 : reactivesearchFilterProps.aggregations) === null || _c === void 0 ? void 0 : _c.max) === null || _d === void 0 ? void 0 : _d.value)) {
107
- return null;
108
- }
109
- return (react_1.default.createElement(FilterSliderInner, Object.assign({}, props, { reactivesearchFilterProps: reactivesearchFilterProps })));
110
- } })));
111
- };
112
- // inner component exists only so we can use memos in reactivesearch render functions
113
- const FilterSliderInner = (props) => {
114
- var _a, _b;
115
- const { filter, renderFilterSlider, reactivesearchFilterProps } = props, otherProps = __rest(props, ["filter", "renderFilterSlider", "reactivesearchFilterProps"]);
116
- const filterSliderProps = (0, hooks_1.useFilterSliderProps)(filter);
117
- react_1.default.useEffect(() => {
118
- if (reactivesearchFilterProps.aggregations) {
119
- filterSliderProps.handleRange([
120
- reactivesearchFilterProps.aggregations.min.value,
121
- reactivesearchFilterProps.aggregations.max.value,
122
- ]);
123
- }
124
- }, [
125
- (_a = reactivesearchFilterProps.aggregations) === null || _a === void 0 ? void 0 : _a.min.value,
126
- (_b = reactivesearchFilterProps.aggregations) === null || _b === void 0 ? void 0 : _b.max.value,
127
- ]);
128
- react_1.default.useEffect(() => {
129
- if (filterSliderProps.value[0] === 0 && filterSliderProps.value[1] === 0) {
130
- return;
131
- }
132
- props.reactivesearchFilterProps.setQuery({
133
- query: {
134
- query: {
135
- bool: {
136
- must: [
137
- {
138
- bool: {
139
- must: [
140
- {
141
- match: {
142
- published: true,
143
- },
144
- },
145
- {
146
- range: {
147
- [props.filter.field]: {
148
- gte: filterSliderProps.value[0],
149
- lte: filterSliderProps.value[1],
150
- boost: 2,
151
- },
152
- },
153
- },
154
- ],
155
- },
156
- },
157
- ],
158
- },
159
- },
160
- },
161
- value: filterSliderProps.value,
162
- });
163
- }, [filterSliderProps.value]);
164
- if (renderFilterSlider) {
165
- const Component = renderFilterSlider;
166
- return (react_1.default.createElement(Component, Object.assign({ filterSliderProps: filterSliderProps, filter: filter }, otherProps)));
167
- }
168
- return (react_1.default.createElement(components_1.ExampleFilterSlider, Object.assign({ filterSliderProps: filterSliderProps, filter: filter }, otherProps)));
83
+ var _a;
84
+ const reactiveFilterSliderProps = (0, hooks_1.useReactiveFilterSliderProps)(props.filter);
85
+ const filterSliderProps = (0, hooks_1.useFilterSliderProps)(props.filter);
86
+ const RenderSliderComponent = (_a = props.renderFilterSlider) !== null && _a !== void 0 ? _a : components_1.ExampleFilterSlider;
87
+ return (react_1.default.createElement(react_1.default.Fragment, null,
88
+ props.renderFilterSlider ? (react_1.default.createElement("div", { style: {
89
+ display: "none",
90
+ } },
91
+ react_1.default.createElement(DynamicRangeSlider_1.default, Object.assign({}, reactiveFilterSliderProps, { value: () => filterSliderProps.value, onChange: (value) => filterSliderProps.handleChange({
92
+ start: value[0],
93
+ end: value[1],
94
+ }) })))) : null,
95
+ react_1.default.createElement(RenderSliderComponent, { filterSliderProps: filterSliderProps, filter: props.filter })));
169
96
  };
170
97
  // inner component exists only so we can use memos in reactivesearch render functions
171
98
  const FilterListInner = (props) => {