@usereactify/search 5.0.0-beta.1 → 5.0.0-beta.12

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 (222) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/dist/package.json +70 -0
  3. package/dist/src/components/Example/ExampleFilterList.d.ts +4 -0
  4. package/dist/src/components/Example/ExampleFilterList.js +21 -0
  5. package/dist/src/components/Example/ExampleFilterList.js.map +1 -0
  6. package/dist/src/components/Example/ExampleFilterRange.d.ts +4 -0
  7. package/dist/src/components/Example/ExampleFilterRange.js +22 -0
  8. package/dist/src/components/Example/ExampleFilterRange.js.map +1 -0
  9. package/dist/src/components/Example/ExampleFilterSlider.d.ts +4 -0
  10. package/dist/src/components/Example/ExampleFilterSlider.js +21 -0
  11. package/dist/src/components/Example/ExampleFilterSlider.js.map +1 -0
  12. package/dist/src/components/Example/ExampleFilterStack.d.ts +4 -0
  13. package/dist/src/components/Example/ExampleFilterStack.js +14 -0
  14. package/dist/src/components/Example/ExampleFilterStack.js.map +1 -0
  15. package/dist/src/components/Example/ExampleResultCardCallout.d.ts +4 -0
  16. package/dist/src/components/Example/ExampleResultCardCallout.js +22 -0
  17. package/dist/src/components/Example/ExampleResultCardCallout.js.map +1 -0
  18. package/dist/src/components/Example/ExampleResultCardProduct.d.ts +4 -0
  19. package/dist/src/components/Example/ExampleResultCardProduct.js +19 -0
  20. package/dist/src/components/Example/ExampleResultCardProduct.js.map +1 -0
  21. package/dist/src/components/Example/ExampleResultPaginationLoadMore.d.ts +4 -0
  22. package/dist/src/components/Example/ExampleResultPaginationLoadMore.js +12 -0
  23. package/dist/src/components/Example/ExampleResultPaginationLoadMore.js.map +1 -0
  24. package/dist/src/components/Example/ExampleResultPaginationNextPrev.d.ts +4 -0
  25. package/dist/src/components/Example/ExampleResultPaginationNextPrev.js +14 -0
  26. package/dist/src/components/Example/ExampleResultPaginationNextPrev.js.map +1 -0
  27. package/dist/src/components/Example/ExampleResultPaginationNumbered.d.ts +4 -0
  28. package/dist/src/components/Example/ExampleResultPaginationNumbered.js +27 -0
  29. package/dist/src/components/Example/ExampleResultPaginationNumbered.js.map +1 -0
  30. package/dist/src/components/Example/ExampleSortby.d.ts +4 -0
  31. package/dist/src/components/Example/ExampleSortby.js +13 -0
  32. package/dist/src/components/Example/ExampleSortby.js.map +1 -0
  33. package/dist/src/components/Example/index.d.ts +10 -0
  34. package/dist/src/components/Example/index.js +23 -0
  35. package/dist/src/components/Example/index.js.map +1 -0
  36. package/dist/src/components/Filter/Filter.d.ts +20 -0
  37. package/dist/src/components/Filter/Filter.js +78 -0
  38. package/dist/src/components/Filter/Filter.js.map +1 -0
  39. package/dist/src/components/Filter/FilterStack.d.ts +7 -0
  40. package/dist/src/components/Filter/FilterStack.js +17 -0
  41. package/dist/src/components/Filter/FilterStack.js.map +1 -0
  42. package/dist/src/components/Filter/index.d.ts +2 -0
  43. package/dist/src/components/Filter/index.js +15 -0
  44. package/dist/src/components/Filter/index.js.map +1 -0
  45. package/dist/src/components/ReactifySearchBase/ReactifySearchBase.d.ts +42 -0
  46. package/dist/src/components/ReactifySearchBase/ReactifySearchBase.js +131 -0
  47. package/dist/src/components/ReactifySearchBase/ReactifySearchBase.js.map +1 -0
  48. package/dist/src/components/ReactifySearchBase/index.d.ts +1 -0
  49. package/dist/src/components/ReactifySearchBase/index.js +14 -0
  50. package/dist/src/components/ReactifySearchBase/index.js.map +1 -0
  51. package/dist/src/components/Result/ResultCardCallout.d.ts +12 -0
  52. package/dist/src/components/Result/ResultCardCallout.js +45 -0
  53. package/dist/src/components/Result/ResultCardCallout.js.map +1 -0
  54. package/dist/src/components/Result/ResultCardProduct.d.ts +13 -0
  55. package/dist/src/components/Result/ResultCardProduct.js +50 -0
  56. package/dist/src/components/Result/ResultCardProduct.js.map +1 -0
  57. package/dist/src/components/Result/ResultPaginationLoadMore.d.ts +7 -0
  58. package/dist/src/components/Result/ResultPaginationLoadMore.js +17 -0
  59. package/dist/src/components/Result/ResultPaginationLoadMore.js.map +1 -0
  60. package/dist/src/components/Result/ResultPaginationNextPrev.d.ts +7 -0
  61. package/dist/src/components/Result/ResultPaginationNextPrev.js +17 -0
  62. package/dist/src/components/Result/ResultPaginationNextPrev.js.map +1 -0
  63. package/dist/src/components/Result/ResultPaginationNumbered.d.ts +7 -0
  64. package/dist/src/components/Result/ResultPaginationNumbered.js +20 -0
  65. package/dist/src/components/Result/ResultPaginationNumbered.js.map +1 -0
  66. package/dist/src/components/Result/ResultStack.d.ts +40 -0
  67. package/dist/src/components/Result/ResultStack.js +108 -0
  68. package/dist/src/components/Result/ResultStack.js.map +1 -0
  69. package/dist/src/components/Result/ResultStateProvider.d.ts +6 -0
  70. package/dist/src/components/Result/ResultStateProvider.js +14 -0
  71. package/dist/src/components/Result/ResultStateProvider.js.map +1 -0
  72. package/dist/src/components/Result/index.d.ts +7 -0
  73. package/dist/src/components/Result/index.js +20 -0
  74. package/dist/src/components/Result/index.js.map +1 -0
  75. package/dist/src/components/Search/SearchInput.d.ts +8 -0
  76. package/dist/src/components/Search/SearchInput.js +18 -0
  77. package/dist/src/components/Search/SearchInput.js.map +1 -0
  78. package/dist/src/components/Search/index.d.ts +1 -0
  79. package/dist/src/components/Search/index.js +14 -0
  80. package/dist/src/components/Search/index.js.map +1 -0
  81. package/dist/src/components/Sensor/SensorCollection.d.ts +2 -0
  82. package/dist/src/components/Sensor/SensorCollection.js +45 -0
  83. package/dist/src/components/Sensor/SensorCollection.js.map +1 -0
  84. package/dist/src/components/Sensor/SensorInventoryAvailable.d.ts +2 -0
  85. package/dist/src/components/Sensor/SensorInventoryAvailable.js +53 -0
  86. package/dist/src/components/Sensor/SensorInventoryAvailable.js.map +1 -0
  87. package/dist/src/components/Sensor/SensorPublished.d.ts +2 -0
  88. package/dist/src/components/Sensor/SensorPublished.js +17 -0
  89. package/dist/src/components/Sensor/SensorPublished.js.map +1 -0
  90. package/dist/src/components/Sensor/SensorSearch.d.ts +2 -0
  91. package/dist/src/components/Sensor/SensorSearch.js +83 -0
  92. package/dist/src/components/Sensor/SensorSearch.js.map +1 -0
  93. package/dist/src/components/Sensor/SensorSort.d.ts +2 -0
  94. package/dist/src/components/Sensor/SensorSort.js +187 -0
  95. package/dist/src/components/Sensor/SensorSort.js.map +1 -0
  96. package/dist/src/components/Sensor/SensorSortScore.d.ts +2 -0
  97. package/dist/src/components/Sensor/SensorSortScore.js +13 -0
  98. package/dist/src/components/Sensor/SensorSortScore.js.map +1 -0
  99. package/dist/src/components/Sensor/SensorStack.d.ts +3 -0
  100. package/dist/src/components/Sensor/SensorStack.js +32 -0
  101. package/dist/src/components/Sensor/SensorStack.js.map +1 -0
  102. package/dist/src/components/Sensor/index.d.ts +8 -0
  103. package/dist/src/components/Sensor/index.js +30 -0
  104. package/dist/src/components/Sensor/index.js.map +1 -0
  105. package/dist/src/components/Sortby/Sortby.d.ts +7 -0
  106. package/dist/src/components/Sortby/Sortby.js +17 -0
  107. package/dist/src/components/Sortby/Sortby.js.map +1 -0
  108. package/dist/src/components/Sortby/index.d.ts +1 -0
  109. package/dist/src/components/Sortby/index.js +14 -0
  110. package/dist/src/components/Sortby/index.js.map +1 -0
  111. package/dist/src/components/Utility/UtilityAuthenticatedReactiveBase.d.ts +2 -0
  112. package/dist/src/components/Utility/UtilityAuthenticatedReactiveBase.js +15 -0
  113. package/dist/src/components/Utility/UtilityAuthenticatedReactiveBase.js.map +1 -0
  114. package/dist/src/components/Utility/index.d.ts +1 -0
  115. package/dist/src/components/Utility/index.js +14 -0
  116. package/dist/src/components/Utility/index.js.map +1 -0
  117. package/dist/src/components/index.d.ts +8 -0
  118. package/dist/src/components/index.js +21 -0
  119. package/dist/src/components/index.js.map +1 -0
  120. package/dist/src/hooks/index.d.ts +15 -0
  121. package/dist/src/hooks/index.js +28 -0
  122. package/dist/src/hooks/index.js.map +1 -0
  123. package/dist/src/hooks/reactivesearch/index.d.ts +8 -0
  124. package/dist/src/hooks/reactivesearch/index.js +21 -0
  125. package/dist/src/hooks/reactivesearch/index.js.map +1 -0
  126. package/dist/src/hooks/reactivesearch/useReactiveBaseProps.d.ts +7 -0
  127. package/dist/src/hooks/reactivesearch/useReactiveBaseProps.js +45 -0
  128. package/dist/src/hooks/reactivesearch/useReactiveBaseProps.js.map +1 -0
  129. package/dist/src/hooks/reactivesearch/useReactiveDataSearchProps.d.ts +26 -0
  130. package/dist/src/hooks/reactivesearch/useReactiveDataSearchProps.js +71 -0
  131. package/dist/src/hooks/reactivesearch/useReactiveDataSearchProps.js.map +1 -0
  132. package/dist/src/hooks/reactivesearch/useReactiveFilterListProps.d.ts +73 -0
  133. package/dist/src/hooks/reactivesearch/useReactiveFilterListProps.js +23 -0
  134. package/dist/src/hooks/reactivesearch/useReactiveFilterListProps.js.map +1 -0
  135. package/dist/src/hooks/reactivesearch/useReactiveFilterRangeProps.d.ts +70 -0
  136. package/dist/src/hooks/reactivesearch/useReactiveFilterRangeProps.js +23 -0
  137. package/dist/src/hooks/reactivesearch/useReactiveFilterRangeProps.js.map +1 -0
  138. package/dist/src/hooks/reactivesearch/useReactiveFilterSharedProps.d.ts +67 -0
  139. package/dist/src/hooks/reactivesearch/useReactiveFilterSharedProps.js +107 -0
  140. package/dist/src/hooks/reactivesearch/useReactiveFilterSharedProps.js.map +1 -0
  141. package/dist/src/hooks/reactivesearch/useReactiveFilterSliderProps.d.ts +68 -0
  142. package/dist/src/hooks/reactivesearch/useReactiveFilterSliderProps.js +23 -0
  143. package/dist/src/hooks/reactivesearch/useReactiveFilterSliderProps.js.map +1 -0
  144. package/dist/src/hooks/reactivesearch/useReactiveReactProp.d.ts +3 -0
  145. package/dist/src/hooks/reactivesearch/useReactiveReactProp.js +26 -0
  146. package/dist/src/hooks/reactivesearch/useReactiveReactProp.js.map +1 -0
  147. package/dist/src/hooks/reactivesearch/useReactiveReactiveListProps.d.ts +5 -0
  148. package/dist/src/hooks/reactivesearch/useReactiveReactiveListProps.js +33 -0
  149. package/dist/src/hooks/reactivesearch/useReactiveReactiveListProps.js.map +1 -0
  150. package/dist/src/hooks/useAnalytics.d.ts +95 -0
  151. package/dist/src/hooks/useAnalytics.js +113 -0
  152. package/dist/src/hooks/useAnalytics.js.map +1 -0
  153. package/dist/src/hooks/useConfig.d.ts +4 -0
  154. package/dist/src/hooks/useConfig.js +83 -0
  155. package/dist/src/hooks/useConfig.js.map +1 -0
  156. package/dist/src/hooks/useCuration.d.ts +2 -0
  157. package/dist/src/hooks/useCuration.js +66 -0
  158. package/dist/src/hooks/useCuration.js.map +1 -0
  159. package/dist/src/hooks/useDebugger.d.ts +1 -0
  160. package/dist/src/hooks/useDebugger.js +15 -0
  161. package/dist/src/hooks/useDebugger.js.map +1 -0
  162. package/dist/src/hooks/useFilterCollapsedState.d.ts +8 -0
  163. package/dist/src/hooks/useFilterCollapsedState.js +28 -0
  164. package/dist/src/hooks/useFilterCollapsedState.js.map +1 -0
  165. package/dist/src/hooks/useFilterListProps.d.ts +12 -0
  166. package/dist/src/hooks/useFilterListProps.js +63 -0
  167. package/dist/src/hooks/useFilterListProps.js.map +1 -0
  168. package/dist/src/hooks/useFilterStack.d.ts +4 -0
  169. package/dist/src/hooks/useFilterStack.js +52 -0
  170. package/dist/src/hooks/useFilterStack.js.map +1 -0
  171. package/dist/src/hooks/useFilters.d.ts +4 -0
  172. package/dist/src/hooks/useFilters.js +27 -0
  173. package/dist/src/hooks/useFilters.js.map +1 -0
  174. package/dist/src/hooks/usePagination.d.ts +14 -0
  175. package/dist/src/hooks/usePagination.js +109 -0
  176. package/dist/src/hooks/usePagination.js.map +1 -0
  177. package/dist/src/hooks/usePaginationLoadMore.d.ts +15 -0
  178. package/dist/src/hooks/usePaginationLoadMore.js +38 -0
  179. package/dist/src/hooks/usePaginationLoadMore.js.map +1 -0
  180. package/dist/src/hooks/useProductPrice.d.ts +10 -0
  181. package/dist/src/hooks/useProductPrice.js +64 -0
  182. package/dist/src/hooks/useProductPrice.js.map +1 -0
  183. package/dist/src/hooks/useReactifySearchContext.d.ts +78 -0
  184. package/dist/src/hooks/useReactifySearchContext.js +11 -0
  185. package/dist/src/hooks/useReactifySearchContext.js.map +1 -0
  186. package/dist/src/hooks/useSearch.d.ts +8 -0
  187. package/dist/src/hooks/useSearch.js +50 -0
  188. package/dist/src/hooks/useSearch.js.map +1 -0
  189. package/dist/src/hooks/useSortby.d.ts +6 -0
  190. package/dist/src/hooks/useSortby.js +58 -0
  191. package/dist/src/hooks/useSortby.js.map +1 -0
  192. package/dist/src/index.d.ts +3 -0
  193. package/dist/src/index.js +61 -0
  194. package/dist/src/index.js.map +1 -0
  195. package/dist/src/types/config.d.ts +26 -0
  196. package/dist/src/types/config.js +3 -0
  197. package/dist/src/types/config.js.map +1 -0
  198. package/dist/src/types/elastic.d.ts +209 -0
  199. package/dist/src/types/elastic.js +19 -0
  200. package/dist/src/types/elastic.js.map +1 -0
  201. package/dist/src/types/firestore.d.ts +280 -0
  202. package/dist/src/types/firestore.js +19 -0
  203. package/dist/src/types/firestore.js.map +1 -0
  204. package/dist/src/types/graphql.d.ts +26545 -0
  205. package/dist/src/types/graphql.js +4688 -0
  206. package/dist/src/types/graphql.js.map +1 -0
  207. package/dist/src/types/index.d.ts +3 -0
  208. package/dist/src/types/index.js +16 -0
  209. package/dist/src/types/index.js.map +1 -0
  210. package/dist/src/types/reactivesearch.d.ts +73 -0
  211. package/dist/src/types/reactivesearch.js +3 -0
  212. package/dist/src/types/reactivesearch.js.map +1 -0
  213. package/dist/src/types/shopify.d.ts +21 -0
  214. package/dist/src/types/shopify.js +28 -0
  215. package/dist/src/types/shopify.js.map +1 -0
  216. package/dist/src/utility/debug.d.ts +12 -0
  217. package/dist/src/utility/debug.js +43 -0
  218. package/dist/src/utility/debug.js.map +1 -0
  219. package/dist/src/utility/index.d.ts +1 -0
  220. package/dist/src/utility/index.js +14 -0
  221. package/dist/src/utility/index.js.map +1 -0
  222. package/package.json +8 -3
@@ -0,0 +1,40 @@
1
+ import React from "react";
2
+ import { ResultCardCallout } from "./ResultCardCallout";
3
+ import { ResultCardProduct } from "./ResultCardProduct";
4
+ import { ResultPaginationNumbered } from "./ResultPaginationNumbered";
5
+ import { ResultPaginationLoadMore } from "./ResultPaginationLoadMore";
6
+ import { ResultPaginationNextPrev } from "./ResultPaginationNextPrev";
7
+ import { ElasticCallout, ElasticProduct, ReactivesearchError, ReactivesearchResultProps } from "../../types";
8
+ export declare type ResultProps = ReactivesearchResultProps & {
9
+ callouts: ElasticCallout[];
10
+ products: ElasticProduct[];
11
+ };
12
+ export declare type ResultStackProps = {
13
+ /** Style prop for the list wrapper */
14
+ listStyle?: React.HTMLAttributes<HTMLElement>["style"];
15
+ /** Classname prop for the list wrapper */
16
+ listClassName?: string;
17
+ /** Render method called when an error occurs */
18
+ renderError?: React.FC<{
19
+ error: ReactivesearchError;
20
+ }>;
21
+ /** Render method called while loading for the first time */
22
+ renderLoading?: React.FC;
23
+ /** Render method called when no results are found */
24
+ renderNoResults?: React.FC;
25
+ /** Render method called once for each product result */
26
+ renderResultCardProduct?: React.ComponentProps<typeof ResultCardProduct>["render"];
27
+ /** Render method called once for each callout result */
28
+ renderResultCardCallout?: React.ComponentProps<typeof ResultCardCallout>["render"];
29
+ /** Render method called for pagination type "pagination" */
30
+ renderPaginationNumbered?: React.ComponentProps<typeof ResultPaginationNumbered>["render"];
31
+ /** Render method called for pagination type "next_prev" */
32
+ renderPaginationNextPrev?: React.ComponentProps<typeof ResultPaginationNextPrev>["render"];
33
+ /** Render method called for pagination type "load_more" */
34
+ renderPaginationLoadMore?: React.ComponentProps<typeof ResultPaginationLoadMore>["render"];
35
+ /** Render method called for pagination type "infinite_scroll" */
36
+ renderPaginationInfiniteScroll?: React.ComponentProps<typeof ResultPaginationLoadMore>["render"];
37
+ /** Advanced Usage: Override the default amount of results per page */
38
+ pageSize?: number;
39
+ };
40
+ export declare const ResultStack: React.FC<ResultStackProps>;
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ResultStack = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const ReactiveList_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/result/ReactiveList"));
9
+ const ResultCardCallout_1 = require("./ResultCardCallout");
10
+ const ResultCardProduct_1 = require("./ResultCardProduct");
11
+ const ResultPaginationNumbered_1 = require("./ResultPaginationNumbered");
12
+ const ResultPaginationLoadMore_1 = require("./ResultPaginationLoadMore");
13
+ const ResultPaginationNextPrev_1 = require("./ResultPaginationNextPrev");
14
+ const hooks_1 = require("../../hooks");
15
+ const types_1 = require("../../types");
16
+ const ResultStack = (props) => {
17
+ const reactiveReactiveListProps = (0, hooks_1.useReactiveReactiveListProps)({
18
+ pageSize: props.pageSize,
19
+ });
20
+ return (react_1.default.createElement(ReactiveList_1.default, Object.assign({}, reactiveReactiveListProps, { render: (reactivesearchResultProps) => (react_1.default.createElement(ResultStackInner, Object.assign({}, props, { reactivesearchResultProps: reactivesearchResultProps }))), renderPagination: (reactivesearchPaginationProps) => (react_1.default.createElement(ResultStackPaginationStack, Object.assign({}, props, reactivesearchPaginationProps))) })));
21
+ };
22
+ exports.ResultStack = ResultStack;
23
+ const ResultStackRenderErrorComponent = (props) => {
24
+ return (react_1.default.createElement("div", null,
25
+ "Error: ",
26
+ props.error.statusText));
27
+ };
28
+ const ResultStackRenderLoadingComponent = () => {
29
+ return react_1.default.createElement("div", null, "Loading");
30
+ };
31
+ const ResultStackRenderNoResultsComponent = () => {
32
+ return react_1.default.createElement("div", null, "No results");
33
+ };
34
+ const ResultStackInner = (props) => {
35
+ var _a, _b, _c;
36
+ const { track } = (0, hooks_1.useAnalytics)();
37
+ const { searchQuery } = (0, hooks_1.useSearch)();
38
+ const initialSearchHasRun = react_1.default.useMemo(() => "undefined" !==
39
+ typeof props.reactivesearchResultProps.resultStats.numberOfResults, [props.reactivesearchResultProps]);
40
+ const listStyle = react_1.default.useMemo(() => {
41
+ var _a;
42
+ return (_a = props.listStyle) !== null && _a !== void 0 ? _a : {
43
+ display: "grid",
44
+ gap: "8px",
45
+ gridTemplateColumns: "repeat(4, minmax(0, 1fr))",
46
+ };
47
+ }, [props.listStyle]);
48
+ if (props.reactivesearchResultProps.error) {
49
+ const RenderErrorComponent = (_a = props.renderError) !== null && _a !== void 0 ? _a : ResultStackRenderErrorComponent;
50
+ return (react_1.default.createElement(RenderErrorComponent, { error: props.reactivesearchResultProps.error }));
51
+ }
52
+ if (!initialSearchHasRun) {
53
+ const RenderLoadingComponent = (_b = props.renderLoading) !== null && _b !== void 0 ? _b : ResultStackRenderLoadingComponent;
54
+ return react_1.default.createElement(RenderLoadingComponent, null);
55
+ }
56
+ if (!props.reactivesearchResultProps.resultStats.numberOfResults) {
57
+ if (searchQuery) {
58
+ track({
59
+ eventName: "zeroResults",
60
+ payload: {
61
+ searchTerm: searchQuery,
62
+ },
63
+ });
64
+ }
65
+ const RenderNoResultsComponent = (_c = props.renderNoResults) !== null && _c !== void 0 ? _c : ResultStackRenderNoResultsComponent;
66
+ return react_1.default.createElement(RenderNoResultsComponent, null);
67
+ }
68
+ return (react_1.default.createElement(react_1.default.Fragment, null,
69
+ react_1.default.createElement("section", { style: listStyle, className: props.listClassName }, props.reactivesearchResultProps.data.map((item, key) => {
70
+ // @todo result.type is missing in v1 indexes, this check ensures that they are assumed to be products
71
+ if (types_1.ElasticDocumentType.Product === item.type || !item.type) {
72
+ return (react_1.default.createElement(ResultCardProduct_1.ResultCardProduct, { key: item._id, product: item, document: item, pagePosition: key + 1, render: props.renderResultCardProduct }));
73
+ }
74
+ if (types_1.ElasticDocumentType.Callout === item.type) {
75
+ return (react_1.default.createElement(ResultCardCallout_1.ResultCardCallout, { key: item._id, document: item, pagePosition: key + 1, callout: item.callout, render: props.renderResultCardCallout }));
76
+ }
77
+ return null;
78
+ })),
79
+ react_1.default.createElement(ResultStackPaginationStackLoadMore, Object.assign({}, props, props.reactivesearchResultProps))));
80
+ };
81
+ /** Handles rendering pagination for types that use "pagination props" */
82
+ const ResultStackPaginationStack = (props) => {
83
+ const { options } = (0, hooks_1.useReactifySearchContext)();
84
+ const { filterStack } = (0, hooks_1.useFilterStack)();
85
+ if (options.mode === "instant-search") {
86
+ return null;
87
+ }
88
+ if ("pagination" === (filterStack === null || filterStack === void 0 ? void 0 : filterStack.paginationType)) {
89
+ return (react_1.default.createElement(ResultPaginationNumbered_1.ResultPaginationNumbered, Object.assign({}, props, { render: props.renderPaginationNumbered })));
90
+ }
91
+ if ("next_prev" === (filterStack === null || filterStack === void 0 ? void 0 : filterStack.paginationType)) {
92
+ return (react_1.default.createElement(ResultPaginationNextPrev_1.ResultPaginationNextPrev, Object.assign({}, props, { render: props.renderPaginationNextPrev })));
93
+ }
94
+ return null;
95
+ };
96
+ /** Handles rendering pagination for types that use "result props" */
97
+ const ResultStackPaginationStackLoadMore = (props) => {
98
+ const { options } = (0, hooks_1.useReactifySearchContext)();
99
+ const { filterStack } = (0, hooks_1.useFilterStack)();
100
+ if (options.mode === "instant-search") {
101
+ return null;
102
+ }
103
+ if ("load_more" === (filterStack === null || filterStack === void 0 ? void 0 : filterStack.paginationType)) {
104
+ return (react_1.default.createElement(ResultPaginationLoadMore_1.ResultPaginationLoadMore, Object.assign({}, props.reactivesearchResultProps, { render: props.renderPaginationLoadMore })));
105
+ }
106
+ return null;
107
+ };
108
+ //# sourceMappingURL=ResultStack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResultStack.js","sourceRoot":"","sources":["../../../../src/components/Result/ResultStack.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport ReactiveList from \"@appbaseio/reactivesearch/lib/components/result/ReactiveList\";\n\nimport { ResultCardCallout } from \"./ResultCardCallout\";\nimport { ResultCardProduct } from \"./ResultCardProduct\";\nimport { ResultPaginationNumbered } from \"./ResultPaginationNumbered\";\nimport { ResultPaginationLoadMore } from \"./ResultPaginationLoadMore\";\nimport { ResultPaginationNextPrev } from \"./ResultPaginationNextPrev\";\n\nimport {\n useReactifySearchContext,\n useAnalytics,\n useSearch,\n useFilterStack,\n useReactiveReactiveListProps,\n} from \"../../hooks\";\n\nimport {\n ElasticCallout,\n ElasticProduct,\n ElasticDocumentType,\n ReactivesearchError,\n ReactivesearchResultProps,\n ReactivesearchPaginationProps,\n} from \"../../types\";\n\nexport type ResultProps = ReactivesearchResultProps & {\n callouts: ElasticCallout[];\n products: ElasticProduct[];\n};\n\nexport type ResultStackProps = {\n /** Style prop for the list wrapper */\n listStyle?: React.HTMLAttributes<HTMLElement>[\"style\"];\n /** Classname prop for the list wrapper */\n listClassName?: string;\n /** Render method called when an error occurs */\n renderError?: React.FC<{ error: ReactivesearchError }>;\n /** Render method called while loading for the first time */\n renderLoading?: React.FC;\n /** Render method called when no results are found */\n renderNoResults?: React.FC;\n /** Render method called once for each product result */\n renderResultCardProduct?: React.ComponentProps<\n typeof ResultCardProduct\n >[\"render\"];\n /** Render method called once for each callout result */\n renderResultCardCallout?: React.ComponentProps<\n typeof ResultCardCallout\n >[\"render\"];\n /** Render method called for pagination type \"pagination\" */\n renderPaginationNumbered?: React.ComponentProps<\n typeof ResultPaginationNumbered\n >[\"render\"];\n /** Render method called for pagination type \"next_prev\" */\n renderPaginationNextPrev?: React.ComponentProps<\n typeof ResultPaginationNextPrev\n >[\"render\"];\n /** Render method called for pagination type \"load_more\" */\n renderPaginationLoadMore?: React.ComponentProps<\n typeof ResultPaginationLoadMore\n >[\"render\"];\n /** Render method called for pagination type \"infinite_scroll\" */\n renderPaginationInfiniteScroll?: React.ComponentProps<\n typeof ResultPaginationLoadMore\n >[\"render\"];\n /** Advanced Usage: Override the default amount of results per page */\n pageSize?: number;\n};\n\nexport const ResultStack: React.FC<ResultStackProps> = (props) => {\n const reactiveReactiveListProps = useReactiveReactiveListProps({\n pageSize: props.pageSize,\n });\n\n return (\n <ReactiveList\n {...reactiveReactiveListProps}\n render={(reactivesearchResultProps: ReactivesearchResultProps) => (\n <ResultStackInner\n {...props}\n reactivesearchResultProps={reactivesearchResultProps}\n />\n )}\n renderPagination={(\n reactivesearchPaginationProps: ReactivesearchPaginationProps\n ) => (\n <ResultStackPaginationStack\n {...props}\n {...reactivesearchPaginationProps}\n />\n )}\n />\n );\n};\n\nconst ResultStackRenderErrorComponent: ResultStackProps[\"renderError\"] = (\n props\n) => {\n return (\n <div>\n {\"Error: \"}\n {props.error.statusText}\n </div>\n );\n};\n\nconst ResultStackRenderLoadingComponent: ResultStackProps[\"renderLoading\"] =\n () => {\n return <div>{\"Loading\"}</div>;\n };\n\nconst ResultStackRenderNoResultsComponent: ResultStackProps[\"renderNoResults\"] =\n () => {\n return <div>{\"No results\"}</div>;\n };\n\nconst ResultStackInner: React.FC<\n ResultStackProps & { reactivesearchResultProps: ReactivesearchResultProps }\n> = (props) => {\n const { track } = useAnalytics();\n const { searchQuery } = useSearch();\n\n const initialSearchHasRun = React.useMemo(\n () =>\n \"undefined\" !==\n typeof props.reactivesearchResultProps.resultStats.numberOfResults,\n [props.reactivesearchResultProps]\n );\n\n const listStyle = React.useMemo<React.HTMLAttributes<HTMLElement>[\"style\"]>(\n () =>\n props.listStyle ?? {\n display: \"grid\",\n gap: \"8px\",\n gridTemplateColumns: \"repeat(4, minmax(0, 1fr))\",\n },\n [props.listStyle]\n );\n\n if (props.reactivesearchResultProps.error) {\n const RenderErrorComponent =\n props.renderError ?? ResultStackRenderErrorComponent;\n\n return (\n <RenderErrorComponent error={props.reactivesearchResultProps.error} />\n );\n }\n\n if (!initialSearchHasRun) {\n const RenderLoadingComponent =\n props.renderLoading ?? ResultStackRenderLoadingComponent;\n return <RenderLoadingComponent />;\n }\n\n if (!props.reactivesearchResultProps.resultStats.numberOfResults) {\n if (searchQuery) {\n track({\n eventName: \"zeroResults\",\n payload: {\n searchTerm: searchQuery,\n },\n });\n }\n const RenderNoResultsComponent =\n props.renderNoResults ?? ResultStackRenderNoResultsComponent;\n return <RenderNoResultsComponent />;\n }\n\n return (\n <>\n <section style={listStyle} className={props.listClassName}>\n {props.reactivesearchResultProps.data.map((item, key) => {\n // @todo result.type is missing in v1 indexes, this check ensures that they are assumed to be products\n if (ElasticDocumentType.Product === item.type || !item.type) {\n return (\n <ResultCardProduct\n key={item._id}\n product={item}\n document={item}\n pagePosition={key + 1}\n render={props.renderResultCardProduct}\n />\n );\n }\n\n if (ElasticDocumentType.Callout === item.type) {\n return (\n <ResultCardCallout\n key={item._id}\n document={item}\n pagePosition={key + 1}\n callout={item.callout}\n render={props.renderResultCardCallout}\n />\n );\n }\n\n return null;\n })}\n </section>\n <ResultStackPaginationStackLoadMore\n {...props}\n {...props.reactivesearchResultProps}\n />\n </>\n );\n};\n\n/** Handles rendering pagination for types that use \"pagination props\" */\nconst ResultStackPaginationStack: React.FC<\n ResultStackProps & ReactivesearchPaginationProps\n> = (props) => {\n const { options } = useReactifySearchContext();\n const { filterStack } = useFilterStack();\n\n if (options.mode === \"instant-search\") {\n return null;\n }\n\n if (\"pagination\" === filterStack?.paginationType) {\n return (\n <ResultPaginationNumbered\n {...props}\n render={props.renderPaginationNumbered}\n />\n );\n }\n\n if (\"next_prev\" === filterStack?.paginationType) {\n return (\n <ResultPaginationNextPrev\n {...props}\n render={props.renderPaginationNextPrev}\n />\n );\n }\n\n return null;\n};\n\n/** Handles rendering pagination for types that use \"result props\" */\nconst ResultStackPaginationStackLoadMore: React.FC<\n ResultStackProps & { reactivesearchResultProps: ReactivesearchResultProps }\n> = (props) => {\n const { options } = useReactifySearchContext();\n const { filterStack } = useFilterStack();\n\n if (options.mode === \"instant-search\") {\n return null;\n }\n\n if (\"load_more\" === filterStack?.paginationType) {\n return (\n <ResultPaginationLoadMore\n {...props.reactivesearchResultProps}\n render={props.renderPaginationLoadMore}\n />\n );\n }\n\n return null;\n};\n"]}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import { ReactivesearchSearchStatePage } from "../../types";
3
+ export declare type ResultStateProvidedProps = {
4
+ render: React.FC<ReactivesearchSearchStatePage>;
5
+ };
6
+ export declare const ResultStateProvider: React.FC<ResultStateProvidedProps>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ResultStateProvider = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const StateProvider_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/basic/StateProvider"));
9
+ const ResultStateProvider = (props) => (react_1.default.createElement(StateProvider_1.default, { componentIds: ["page"], includeKeys: ["isLoading", "hits", "resultStats", "error"], render: (state) => {
10
+ const RenderComponent = props.render;
11
+ return react_1.default.createElement(RenderComponent, Object.assign({}, state.searchState.page));
12
+ } }));
13
+ exports.ResultStateProvider = ResultStateProvider;
14
+ //# sourceMappingURL=ResultStateProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResultStateProvider.js","sourceRoot":"","sources":["../../../../src/components/Result/ResultStateProvider.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,iHAAyF;AAQlF,MAAM,mBAAmB,GAAuC,CACrE,KAAK,EACL,EAAE,CAAC,CACH,8BAAC,uBAAa,IACZ,YAAY,EAAE,CAAC,MAAM,CAAC,EACtB,WAAW,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,EAC1D,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QAChB,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC;QAErC,OAAO,8BAAC,eAAe,oBAAK,KAAK,CAAC,WAAW,CAAC,IAAI,EAAI,CAAC;IACzD,CAAC,GACD,CACH,CAAC;AAZW,QAAA,mBAAmB,uBAY9B","sourcesContent":["import React from \"react\";\nimport StateProvider from \"@appbaseio/reactivesearch/lib/components/basic/StateProvider\";\n\nimport { ReactivesearchSearchStatePage } from \"../../types\";\n\nexport type ResultStateProvidedProps = {\n render: React.FC<ReactivesearchSearchStatePage>;\n};\n\nexport const ResultStateProvider: React.FC<ResultStateProvidedProps> = (\n props\n) => (\n <StateProvider\n componentIds={[\"page\"]}\n includeKeys={[\"isLoading\", \"hits\", \"resultStats\", \"error\"]}\n render={(state) => {\n const RenderComponent = props.render;\n\n return <RenderComponent {...state.searchState.page} />;\n }}\n />\n);\n"]}
@@ -0,0 +1,7 @@
1
+ export * from "./ResultStack";
2
+ export * from "./ResultCardCallout";
3
+ export * from "./ResultCardProduct";
4
+ export * from "./ResultStateProvider";
5
+ export * from "./ResultPaginationNumbered";
6
+ export * from "./ResultPaginationLoadMore";
7
+ export * from "./ResultPaginationNextPrev";
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./ResultStack"), exports);
14
+ __exportStar(require("./ResultCardCallout"), exports);
15
+ __exportStar(require("./ResultCardProduct"), exports);
16
+ __exportStar(require("./ResultStateProvider"), exports);
17
+ __exportStar(require("./ResultPaginationNumbered"), exports);
18
+ __exportStar(require("./ResultPaginationLoadMore"), exports);
19
+ __exportStar(require("./ResultPaginationNextPrev"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Result/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAA8B;AAC9B,sDAAmC;AACnC,sDAAoC;AACpC,wDAAsC;AACtC,6DAA2C;AAC3C,6DAA2C;AAC3C,6DAA2C","sourcesContent":["export * from \"./ResultStack\";\nexport * from \"./ResultCardCallout\"\nexport * from \"./ResultCardProduct\";\nexport * from \"./ResultStateProvider\";\nexport * from \"./ResultPaginationNumbered\";\nexport * from \"./ResultPaginationLoadMore\";\nexport * from \"./ResultPaginationNextPrev\";\n"]}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import DataSearch from "@appbaseio/reactivesearch/lib/components/search/DataSearch";
3
+ export declare type SearchInputProps = Omit<React.ComponentProps<typeof DataSearch>, "componentId"> & {
4
+ debounce?: number;
5
+ placeholder?: string;
6
+ inputClassName?: string;
7
+ };
8
+ export declare const SearchInput: React.FC<SearchInputProps>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SearchInput = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const DataSearch_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/search/DataSearch"));
9
+ const hooks_1 = require("../../hooks");
10
+ const SearchInput = (props) => {
11
+ const { debounce, placeholder, inputClassName } = props;
12
+ const reactiveDataSearchProps = (0, hooks_1.useReactiveDataSearchProps)(Object.assign({ debounce,
13
+ placeholder,
14
+ inputClassName }, props));
15
+ return (react_1.default.createElement(DataSearch_1.default, Object.assign({}, reactiveDataSearchProps)));
16
+ };
17
+ exports.SearchInput = SearchInput;
18
+ //# sourceMappingURL=SearchInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchInput.js","sourceRoot":"","sources":["../../../../src/components/Search/SearchInput.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4GAAoF;AAEpF,uCAAyD;AAQlD,MAAM,WAAW,GAA+B,CAAC,KAAK,EAAE,EAAE;IAC/D,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAExD,MAAM,uBAAuB,GAAG,IAAA,kCAA0B,kBACxD,QAAQ;QACR,WAAW;QACX,cAAc,IACX,KAAK,EACR,CAAC;IAEH,OAAO,CACL,8BAAC,oBAAU,oBACL,uBAAuB,EAC3B,CACH,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,WAAW,eAetB","sourcesContent":["import React from \"react\";\nimport DataSearch from \"@appbaseio/reactivesearch/lib/components/search/DataSearch\";\n\nimport { useReactiveDataSearchProps } from \"../../hooks\";\n\nexport type SearchInputProps = Omit<React.ComponentProps<typeof DataSearch>, \"componentId\"> & {\n debounce?: number;\n placeholder?: string;\n inputClassName?: string;\n};\n\nexport const SearchInput: React.FC<SearchInputProps> = (props) => {\n const { debounce, placeholder, inputClassName } = props;\n\n const reactiveDataSearchProps = useReactiveDataSearchProps({\n debounce,\n placeholder,\n inputClassName,\n ...props,\n });\n\n return (\n <DataSearch\n {...reactiveDataSearchProps}\n />\n );\n};\n"]}
@@ -0,0 +1 @@
1
+ export * from "./SearchInput";
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./SearchInput"), exports);
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Search/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAA8B","sourcesContent":["export * from \"./SearchInput\";\n"]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const SensorCollection: React.FC;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SensorCollection = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const ReactiveComponent_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/basic/ReactiveComponent"));
9
+ const hooks_1 = require("../../hooks");
10
+ const SensorCollection = () => {
11
+ const { options } = (0, hooks_1.useReactifySearchContext)();
12
+ if (options.mode !== "collection") {
13
+ return null;
14
+ }
15
+ return (react_1.default.createElement(ReactiveComponent_1.default, { componentId: "SensorCollection", customQuery: () => ({
16
+ query: {
17
+ bool: {
18
+ should: [
19
+ {
20
+ nested: {
21
+ path: "collections",
22
+ query: {
23
+ term: {
24
+ "collections.handle.keyword": options.collection.handle,
25
+ },
26
+ },
27
+ },
28
+ },
29
+ {
30
+ nested: {
31
+ path: "curations",
32
+ query: {
33
+ term: {
34
+ "curations.collectionHandle.keyword": options.collection.handle,
35
+ },
36
+ },
37
+ },
38
+ },
39
+ ],
40
+ },
41
+ },
42
+ }) }));
43
+ };
44
+ exports.SensorCollection = SensorCollection;
45
+ //# sourceMappingURL=SensorCollection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SensorCollection.js","sourceRoot":"","sources":["../../../../src/components/Sensor/SensorCollection.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,yHAAiG;AAEjG,uCAAuD;AAEhD,MAAM,gBAAgB,GAAa,GAAG,EAAE;IAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAE/C,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE;QACjC,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,8BAAC,2BAAiB,IAChB,WAAW,EAAC,kBAAkB,EAC9B,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAClB,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN;4BACE,MAAM,EAAE;gCACN,IAAI,EAAE,aAAa;gCACnB,KAAK,EAAE;oCACL,IAAI,EAAE;wCACJ,4BAA4B,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM;qCACxD;iCACF;6BACF;yBACF;wBACD;4BACE,MAAM,EAAE;gCACN,IAAI,EAAE,WAAW;gCACjB,KAAK,EAAE;oCACL,IAAI,EAAE;wCACJ,oCAAoC,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM;qCAChE;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF,CAAC,GACF,CACH,CAAC;AACJ,CAAC,CAAC;AAxCW,QAAA,gBAAgB,oBAwC3B","sourcesContent":["import React from \"react\";\nimport ReactiveComponent from \"@appbaseio/reactivesearch/lib/components/basic/ReactiveComponent\";\n\nimport { useReactifySearchContext } from \"../../hooks\";\n\nexport const SensorCollection: React.FC = () => {\n const { options } = useReactifySearchContext();\n\n if (options.mode !== \"collection\") {\n return null;\n }\n\n return (\n <ReactiveComponent\n componentId=\"SensorCollection\"\n customQuery={() => ({\n query: {\n bool: {\n should: [\n {\n nested: {\n path: \"collections\",\n query: {\n term: {\n \"collections.handle.keyword\": options.collection.handle,\n },\n },\n },\n },\n {\n nested: {\n path: \"curations\",\n query: {\n term: {\n \"curations.collectionHandle.keyword\": options.collection.handle,\n },\n },\n },\n },\n ],\n },\n },\n })}\n />\n );\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const SensorInventoryAvailable: React.FC;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SensorInventoryAvailable = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const ReactiveComponent_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/basic/ReactiveComponent"));
9
+ const hooks_1 = require("../../hooks");
10
+ const SensorInventoryAvailable = () => {
11
+ const { filterStack } = (0, hooks_1.useFilterStack)();
12
+ if (!filterStack || "show_all" === filterStack.inventoryVisibility)
13
+ return null;
14
+ return (react_1.default.createElement(ReactiveComponent_1.default, { componentId: "SensorInventoryAvailable", customQuery: () => ({
15
+ query: {
16
+ bool: {
17
+ should: [
18
+ {
19
+ bool: {
20
+ must: [
21
+ {
22
+ term: {
23
+ type: {
24
+ value: "product",
25
+ },
26
+ },
27
+ },
28
+ {
29
+ nested: {
30
+ path: "variants",
31
+ query: {
32
+ match: { "variants.available": true },
33
+ },
34
+ },
35
+ },
36
+ ],
37
+ },
38
+ },
39
+ {
40
+ term: {
41
+ type: {
42
+ value: "callout",
43
+ },
44
+ },
45
+ },
46
+ ],
47
+ minimum_should_match: "1",
48
+ },
49
+ },
50
+ }) }));
51
+ };
52
+ exports.SensorInventoryAvailable = SensorInventoryAvailable;
53
+ //# sourceMappingURL=SensorInventoryAvailable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SensorInventoryAvailable.js","sourceRoot":"","sources":["../../../../src/components/Sensor/SensorInventoryAvailable.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,yHAAiG;AAEjG,uCAA6C;AAEtC,MAAM,wBAAwB,GAAa,GAAG,EAAE;IACrD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,sBAAc,GAAE,CAAC;IAEzC,IAAI,CAAC,WAAW,IAAI,UAAU,KAAK,WAAW,CAAC,mBAAmB;QAChE,OAAO,IAAI,CAAC;IAEd,OAAO,CACL,8BAAC,2BAAiB,IAChB,WAAW,EAAC,0BAA0B,EACtC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAClB,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE;gCACJ,IAAI,EAAE;oCACJ;wCACE,IAAI,EAAE;4CACJ,IAAI,EAAE;gDACJ,KAAK,EAAE,SAAS;6CACjB;yCACF;qCACF;oCACD;wCACE,MAAM,EAAE;4CACN,IAAI,EAAE,UAAU;4CAChB,KAAK,EAAE;gDACL,KAAK,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE;6CACtC;yCACF;qCACF;iCACF;6BACF;yBACF;wBACD;4BACE,IAAI,EAAE;gCACJ,IAAI,EAAE;oCACJ,KAAK,EAAE,SAAS;iCACjB;6BACF;yBACF;qBACF;oBACD,oBAAoB,EAAE,GAAG;iBAC1B;aACF;SACF,CAAC,GACF,CACH,CAAC;AACJ,CAAC,CAAC;AAhDW,QAAA,wBAAwB,4BAgDnC","sourcesContent":["import React from \"react\";\nimport ReactiveComponent from \"@appbaseio/reactivesearch/lib/components/basic/ReactiveComponent\";\n\nimport { useFilterStack } from \"../../hooks\";\n\nexport const SensorInventoryAvailable: React.FC = () => {\n const { filterStack } = useFilterStack();\n\n if (!filterStack || \"show_all\" === filterStack.inventoryVisibility)\n return null;\n\n return (\n <ReactiveComponent\n componentId=\"SensorInventoryAvailable\"\n customQuery={() => ({\n query: {\n bool: {\n should: [\n {\n bool: {\n must: [\n {\n term: {\n type: {\n value: \"product\",\n },\n },\n },\n {\n nested: {\n path: \"variants\",\n query: {\n match: { \"variants.available\": true },\n },\n },\n },\n ],\n },\n },\n {\n term: {\n type: {\n value: \"callout\",\n },\n },\n },\n ],\n minimum_should_match: \"1\",\n },\n },\n })}\n />\n );\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const SensorPublished: React.FC;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SensorPublished = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const ReactiveComponent_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/basic/ReactiveComponent"));
9
+ const SensorPublished = () => (react_1.default.createElement(ReactiveComponent_1.default, { componentId: "SensorPublished", customQuery: () => ({
10
+ query: {
11
+ match: {
12
+ published: true,
13
+ },
14
+ },
15
+ }) }));
16
+ exports.SensorPublished = SensorPublished;
17
+ //# sourceMappingURL=SensorPublished.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SensorPublished.js","sourceRoot":"","sources":["../../../../src/components/Sensor/SensorPublished.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,yHAAiG;AAE1F,MAAM,eAAe,GAAa,GAAG,EAAE,CAAC,CAC7C,8BAAC,2BAAiB,IAChB,WAAW,EAAC,iBAAiB,EAC7B,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAClB,KAAK,EAAE;YACL,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI;aAChB;SACF;KACF,CAAC,GACF,CACH,CAAC;AAXW,QAAA,eAAe,mBAW1B","sourcesContent":["import React from \"react\";\nimport ReactiveComponent from \"@appbaseio/reactivesearch/lib/components/basic/ReactiveComponent\";\n\nexport const SensorPublished: React.FC = () => (\n <ReactiveComponent\n componentId=\"SensorPublished\"\n customQuery={() => ({\n query: {\n match: {\n published: true,\n },\n },\n })}\n />\n);\n"]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const SensorSearch: React.FC;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SensorSearch = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const DataSearch_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/search/DataSearch"));
9
+ const hooks_1 = require("../../hooks");
10
+ const SensorSearch = () => {
11
+ const { config } = (0, hooks_1.useReactifySearchContext)();
12
+ const { searchQuery } = (0, hooks_1.useSearch)();
13
+ // ignore search fields only set for instant search
14
+ const searchFields = react_1.default.useMemo(() => config.fields.filter((field) => ["always_search", "search_page"].includes(field.searchType)), [config.fields]);
15
+ if (!searchQuery || !searchFields.length) {
16
+ return null;
17
+ }
18
+ return (react_1.default.createElement(react_1.default.Fragment, null,
19
+ react_1.default.createElement(DataSearch_1.default, { fuzziness: 1, queryFormat: "and", autosuggest: false, value: searchQuery, componentId: "SensorSearch", style: { display: "none" }, dataField: searchFields.map((field) => field.field), fieldWeights: searchFields.map((field) => field.importance), customQuery: (value, props) => {
20
+ const { dataField, fieldWeights } = props;
21
+ const fieldsCrossFields = dataField.map((field, index) => `${field}^${fieldWeights[index]}`);
22
+ const fieldsPhrase = dataField.map((field, index) => `${field}^${fieldWeights[index]}`);
23
+ const fieldsPhrasePrefix = dataField
24
+ .filter((field) => !field.includes("."))
25
+ .map((field, index) => `${field}^${fieldWeights[index]}`);
26
+ const query = {
27
+ bool: {
28
+ should: [
29
+ {
30
+ nested: {
31
+ path: "curations",
32
+ query: {
33
+ term: {
34
+ "curations.searchTerm.keyword": value === null || value === void 0 ? void 0 : value.toLowerCase(),
35
+ },
36
+ },
37
+ },
38
+ },
39
+ ...(fieldsCrossFields.length > 0
40
+ ? [
41
+ {
42
+ multi_match: {
43
+ query: value,
44
+ fields: fieldsCrossFields,
45
+ type: "cross_fields",
46
+ operator: "and",
47
+ },
48
+ },
49
+ ]
50
+ : []),
51
+ ...(fieldsPhrase.length > 0
52
+ ? [
53
+ {
54
+ multi_match: {
55
+ query: value,
56
+ fields: fieldsPhrase,
57
+ type: "phrase",
58
+ operator: "and",
59
+ },
60
+ },
61
+ ]
62
+ : []),
63
+ ...(fieldsPhrasePrefix.length > 0
64
+ ? [
65
+ {
66
+ multi_match: {
67
+ query: value,
68
+ fields: fieldsPhrasePrefix,
69
+ type: "phrase_prefix",
70
+ operator: "and",
71
+ },
72
+ },
73
+ ]
74
+ : []),
75
+ ],
76
+ minimum_should_match: "1",
77
+ },
78
+ };
79
+ return { query };
80
+ } })));
81
+ };
82
+ exports.SensorSearch = SensorSearch;
83
+ //# sourceMappingURL=SensorSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SensorSearch.js","sourceRoot":"","sources":["../../../../src/components/Sensor/SensorSearch.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4GAAoF;AAEpF,uCAAkE;AAE3D,MAAM,YAAY,GAAa,GAAG,EAAE;IACzC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAC9C,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,iBAAS,GAAE,CAAC;IAEpC,mDAAmD;IACnD,MAAM,YAAY,GAAG,eAAK,CAAC,OAAO,CAChC,GAAG,EAAE,CACH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7B,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAC5D,EACH,CAAC,MAAM,CAAC,MAAM,CAAC,CAChB,CAAC;IAEF,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;QACxC,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL;QACE,8BAAC,oBAAU,IACT,SAAS,EAAE,CAAC,EACZ,WAAW,EAAC,KAAK,EACjB,WAAW,EAAE,KAAK,EAClB,KAAK,EAAE,WAAW,EAClB,WAAW,EAAC,cAAc,EAC1B,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAC1B,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EACnD,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,EAC3D,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC5B,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;gBAE1C,MAAM,iBAAiB,GAAG,SAAS,CAAC,GAAG,CACrC,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CACpE,CAAC;gBACF,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAChC,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CACpE,CAAC;gBACF,MAAM,kBAAkB,GAAG,SAAS;qBACjC,MAAM,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;qBAC/C,GAAG,CACF,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAC/B,GAAG,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CACpC,CAAC;gBAEJ,MAAM,KAAK,GAAG;oBACZ,IAAI,EAAE;wBACJ,MAAM,EAAE;4BACN;gCACE,MAAM,EAAE;oCACN,IAAI,EAAE,WAAW;oCACjB,KAAK,EAAE;wCACL,IAAI,EAAE;4CACJ,8BAA8B,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,EAAE;yCACrD;qCACF;iCACF;6BACF;4BACD,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;gCAC9B,CAAC,CAAC;oCACE;wCACE,WAAW,EAAE;4CACX,KAAK,EAAE,KAAK;4CACZ,MAAM,EAAE,iBAAiB;4CACzB,IAAI,EAAE,cAAc;4CACpB,QAAQ,EAAE,KAAK;yCAChB;qCACF;iCACF;gCACH,CAAC,CAAC,EAAE,CAAC;4BACP,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;gCACzB,CAAC,CAAC;oCACE;wCACE,WAAW,EAAE;4CACX,KAAK,EAAE,KAAK;4CACZ,MAAM,EAAE,YAAY;4CACpB,IAAI,EAAE,QAAQ;4CACd,QAAQ,EAAE,KAAK;yCAChB;qCACF;iCACF;gCACH,CAAC,CAAC,EAAE,CAAC;4BACP,GAAG,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;gCAC/B,CAAC,CAAC;oCACE;wCACE,WAAW,EAAE;4CACX,KAAK,EAAE,KAAK;4CACZ,MAAM,EAAE,kBAAkB;4CAC1B,IAAI,EAAE,eAAe;4CACrB,QAAQ,EAAE,KAAK;yCAChB;qCACF;iCACF;gCACH,CAAC,CAAC,EAAE,CAAC;yBACR;wBACD,oBAAoB,EAAE,GAAG;qBAC1B;iBACF,CAAC;gBACF,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,CAAC,GACD,CACD,CACJ,CAAC;AACJ,CAAC,CAAC;AAtGW,QAAA,YAAY,gBAsGvB","sourcesContent":["import React from \"react\";\nimport DataSearch from \"@appbaseio/reactivesearch/lib/components/search/DataSearch\";\n\nimport { useReactifySearchContext, useSearch } from \"../../hooks\";\n\nexport const SensorSearch: React.FC = () => {\n const { config } = useReactifySearchContext();\n const { searchQuery } = useSearch();\n\n // ignore search fields only set for instant search\n const searchFields = React.useMemo(\n () =>\n config.fields.filter((field) =>\n [\"always_search\", \"search_page\"].includes(field.searchType)\n ),\n [config.fields]\n );\n\n if (!searchQuery || !searchFields.length) {\n return null;\n }\n\n return (\n <>\n <DataSearch\n fuzziness={1}\n queryFormat=\"and\"\n autosuggest={false}\n value={searchQuery}\n componentId=\"SensorSearch\"\n style={{ display: \"none\" }}\n dataField={searchFields.map((field) => field.field)}\n fieldWeights={searchFields.map((field) => field.importance)}\n customQuery={(value, props) => {\n const { dataField, fieldWeights } = props;\n\n const fieldsCrossFields = dataField.map(\n (field: string, index: number) => `${field}^${fieldWeights[index]}`\n );\n const fieldsPhrase = dataField.map(\n (field: string, index: number) => `${field}^${fieldWeights[index]}`\n );\n const fieldsPhrasePrefix = dataField\n .filter((field: string) => !field.includes(\".\"))\n .map(\n (field: string, index: number) =>\n `${field}^${fieldWeights[index]}`\n );\n\n const query = {\n bool: {\n should: [\n {\n nested: {\n path: \"curations\",\n query: {\n term: {\n \"curations.searchTerm.keyword\": value?.toLowerCase(),\n },\n },\n },\n },\n ...(fieldsCrossFields.length > 0\n ? [\n {\n multi_match: {\n query: value,\n fields: fieldsCrossFields,\n type: \"cross_fields\",\n operator: \"and\",\n },\n },\n ]\n : []),\n ...(fieldsPhrase.length > 0\n ? [\n {\n multi_match: {\n query: value,\n fields: fieldsPhrase,\n type: \"phrase\",\n operator: \"and\",\n },\n },\n ]\n : []),\n ...(fieldsPhrasePrefix.length > 0\n ? [\n {\n multi_match: {\n query: value,\n fields: fieldsPhrasePrefix,\n type: \"phrase_prefix\",\n operator: \"and\",\n },\n },\n ]\n : []),\n ],\n minimum_should_match: \"1\",\n },\n };\n return { query };\n }}\n />\n </>\n );\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const SensorSort: React.FC;