@usereactify/search 5.59.1-beta.0 → 5.60.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -2
- package/dist/package.json +5 -7
- package/dist/src/components/ClearAll/ClearAll.d.ts +1 -1
- package/dist/src/components/ClearAll/ClearAll.js +9 -4
- package/dist/src/components/ClearAll/ClearAll.js.map +1 -1
- package/dist/src/components/CustomComponent/CustomComponent.d.ts +1 -1
- package/dist/src/components/CustomComponent/CustomComponent.js +2 -2
- package/dist/src/components/CustomComponent/CustomComponent.js.map +1 -1
- package/dist/src/components/Example/ExampleClearAll.d.ts +2 -2
- package/dist/src/components/Example/ExampleClearAll.js +5 -2
- package/dist/src/components/Example/ExampleClearAll.js.map +1 -1
- package/dist/src/components/Example/ExampleCustomComponent.d.ts +1 -1
- package/dist/src/components/Example/ExampleCustomComponent.js +7 -3
- package/dist/src/components/Example/ExampleCustomComponent.js.map +1 -1
- package/dist/src/components/Example/ExampleFilterList.d.ts +2 -2
- package/dist/src/components/Example/ExampleFilterList.js +66 -31
- package/dist/src/components/Example/ExampleFilterList.js.map +1 -1
- package/dist/src/components/Example/ExampleFilterRange.d.ts +2 -2
- package/dist/src/components/Example/ExampleFilterRange.js +12 -2
- package/dist/src/components/Example/ExampleFilterRange.js.map +1 -1
- package/dist/src/components/Example/ExampleFilterSlider.d.ts +2 -2
- package/dist/src/components/Example/ExampleFilterSlider.js +18 -11
- package/dist/src/components/Example/ExampleFilterSlider.js.map +1 -1
- package/dist/src/components/Example/ExampleFilters.d.ts +1 -1
- package/dist/src/components/Example/ExampleFilters.js +8 -3
- package/dist/src/components/Example/ExampleFilters.js.map +1 -1
- package/dist/src/components/Example/ExampleFiltersSelected.d.ts +2 -2
- package/dist/src/components/Example/ExampleFiltersSelected.js +24 -3
- package/dist/src/components/Example/ExampleFiltersSelected.js.map +1 -1
- package/dist/src/components/Example/ExampleHookUseFilters.d.ts +1 -1
- package/dist/src/components/Example/ExampleHookUseFilters.js +10 -3
- package/dist/src/components/Example/ExampleHookUseFilters.js.map +1 -1
- package/dist/src/components/Example/ExampleHookUseResults.d.ts +1 -1
- package/dist/src/components/Example/ExampleHookUseResults.js +8 -3
- package/dist/src/components/Example/ExampleHookUseResults.js.map +1 -1
- package/dist/src/components/Example/ExampleHookUseSearch.js +2 -2
- package/dist/src/components/Example/ExampleHookUseSearch.js.map +1 -1
- package/dist/src/components/Example/ExampleHookUseSortBy.js +1 -2
- package/dist/src/components/Example/ExampleHookUseSortBy.js.map +1 -1
- package/dist/src/components/Example/ExampleProductCardWeight.d.ts +1 -1
- package/dist/src/components/Example/ExampleProductCardWeight.js +47 -14
- package/dist/src/components/Example/ExampleProductCardWeight.js.map +1 -1
- package/dist/src/components/Example/ExampleReactiveSearchProviderCollection.d.ts +1 -1
- package/dist/src/components/Example/ExampleReactiveSearchProviderCollection.js +6 -2
- package/dist/src/components/Example/ExampleReactiveSearchProviderCollection.js.map +1 -1
- package/dist/src/components/Example/ExampleReactiveSearchProviderInstantSearch.d.ts +1 -1
- package/dist/src/components/Example/ExampleReactiveSearchProviderInstantSearch.js +6 -2
- package/dist/src/components/Example/ExampleReactiveSearchProviderInstantSearch.js.map +1 -1
- package/dist/src/components/Example/ExampleReactiveSearchProviderSearch.d.ts +1 -1
- package/dist/src/components/Example/ExampleReactiveSearchProviderSearch.js +6 -2
- package/dist/src/components/Example/ExampleReactiveSearchProviderSearch.js.map +1 -1
- package/dist/src/components/Example/ExampleResultCardCallout.d.ts +1 -1
- package/dist/src/components/Example/ExampleResultCardCallout.js +4 -2
- package/dist/src/components/Example/ExampleResultCardCallout.js.map +1 -1
- package/dist/src/components/Example/ExampleResultCardProduct.d.ts +2 -2
- package/dist/src/components/Example/ExampleResultCardProduct.js +12 -2
- package/dist/src/components/Example/ExampleResultCardProduct.js.map +1 -1
- package/dist/src/components/Example/ExampleResultPaginationInfiniteScroll.d.ts +2 -2
- package/dist/src/components/Example/ExampleResultPaginationInfiniteScroll.js +5 -2
- package/dist/src/components/Example/ExampleResultPaginationInfiniteScroll.js.map +1 -1
- package/dist/src/components/Example/ExampleResultPaginationLoadMore.d.ts +2 -2
- package/dist/src/components/Example/ExampleResultPaginationLoadMore.js +5 -2
- package/dist/src/components/Example/ExampleResultPaginationLoadMore.js.map +1 -1
- package/dist/src/components/Example/ExampleResultPaginationNextPrev.d.ts +2 -2
- package/dist/src/components/Example/ExampleResultPaginationNextPrev.js +7 -2
- package/dist/src/components/Example/ExampleResultPaginationNextPrev.js.map +1 -1
- package/dist/src/components/Example/ExampleResultPaginationNumbered.d.ts +2 -2
- package/dist/src/components/Example/ExampleResultPaginationNumbered.js +20 -6
- package/dist/src/components/Example/ExampleResultPaginationNumbered.js.map +1 -1
- package/dist/src/components/Example/ExampleResults.d.ts +1 -1
- package/dist/src/components/Example/ExampleResults.js +10 -7
- package/dist/src/components/Example/ExampleResults.js.map +1 -1
- package/dist/src/components/Example/ExampleSearch.d.ts +1 -1
- package/dist/src/components/Example/ExampleSearch.js +2 -2
- package/dist/src/components/Example/ExampleSearch.js.map +1 -1
- package/dist/src/components/Example/ExampleSortBy.d.ts +2 -2
- package/dist/src/components/Example/ExampleSortBy.js +5 -2
- package/dist/src/components/Example/ExampleSortBy.js.map +1 -1
- package/dist/src/components/Example/ExampleStats.d.ts +2 -2
- package/dist/src/components/Example/ExampleStats.js +8 -2
- package/dist/src/components/Example/ExampleStats.js.map +1 -1
- package/dist/src/components/Example/ExampleSuggestions.d.ts +2 -2
- package/dist/src/components/Example/ExampleSuggestions.js +7 -2
- package/dist/src/components/Example/ExampleSuggestions.js.map +1 -1
- package/dist/src/components/Example/index.d.ts +6 -6
- package/dist/src/components/Example/index.js +6 -6
- package/dist/src/components/Example/index.js.map +1 -1
- package/dist/src/components/Filter/Filter.d.ts +1 -1
- package/dist/src/components/Filter/Filter.js +35 -30
- package/dist/src/components/Filter/Filter.js.map +1 -1
- package/dist/src/components/Filter/Filters.d.ts +4 -4
- package/dist/src/components/Filter/Filters.js +6 -3
- package/dist/src/components/Filter/Filters.js.map +1 -1
- package/dist/src/components/Filter/FiltersSelected.d.ts +1 -1
- package/dist/src/components/Filter/FiltersSelected.js +9 -4
- package/dist/src/components/Filter/FiltersSelected.js.map +1 -1
- package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.d.ts +2 -2
- package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.js +8 -20
- package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.js.map +1 -1
- package/dist/src/components/Result/ResultCardCallout.d.ts +2 -2
- package/dist/src/components/Result/ResultCardCallout.js +2 -3
- package/dist/src/components/Result/ResultCardCallout.js.map +1 -1
- package/dist/src/components/Result/ResultCardProduct.d.ts +1 -1
- package/dist/src/components/Result/ResultCardProduct.js +3 -4
- package/dist/src/components/Result/ResultCardProduct.js.map +1 -1
- package/dist/src/components/Result/ResultPaginationInfiniteScroll.d.ts +3 -3
- package/dist/src/components/Result/ResultPaginationInfiniteScroll.js +6 -3
- package/dist/src/components/Result/ResultPaginationInfiniteScroll.js.map +1 -1
- package/dist/src/components/Result/ResultPaginationLoadMore.d.ts +3 -3
- package/dist/src/components/Result/ResultPaginationLoadMore.js +6 -3
- package/dist/src/components/Result/ResultPaginationLoadMore.js.map +1 -1
- package/dist/src/components/Result/ResultPaginationNextPrev.d.ts +3 -3
- package/dist/src/components/Result/ResultPaginationNextPrev.js +6 -3
- package/dist/src/components/Result/ResultPaginationNextPrev.js.map +1 -1
- package/dist/src/components/Result/ResultPaginationNumbered.d.ts +3 -3
- package/dist/src/components/Result/ResultPaginationNumbered.js +6 -3
- package/dist/src/components/Result/ResultPaginationNumbered.js.map +1 -1
- package/dist/src/components/Result/ResultStateProvider.d.ts +2 -2
- package/dist/src/components/Result/ResultStateProvider.js +3 -3
- package/dist/src/components/Result/ResultStateProvider.js.map +1 -1
- package/dist/src/components/Result/Results.d.ts +2 -2
- package/dist/src/components/Result/Results.js +52 -50
- package/dist/src/components/Result/Results.js.map +1 -1
- package/dist/src/components/Result/index.d.ts +4 -4
- package/dist/src/components/Result/index.js +4 -4
- package/dist/src/components/Result/index.js.map +1 -1
- package/dist/src/components/Search/Search.d.ts +1 -1
- package/dist/src/components/Search/Search.js +6 -3
- package/dist/src/components/Search/Search.js.map +1 -1
- package/dist/src/components/Sensor/SensorCollection.d.ts +1 -1
- package/dist/src/components/Sensor/SensorCollection.js +2 -2
- package/dist/src/components/Sensor/SensorCollection.js.map +1 -1
- package/dist/src/components/Sensor/SensorCollectionWeighted.d.ts +1 -0
- package/dist/src/components/Sensor/SensorCollectionWeighted.js +21 -0
- package/dist/src/components/Sensor/SensorCollectionWeighted.js.map +1 -0
- package/dist/src/components/Sensor/SensorCustom.d.ts +2 -1
- package/dist/src/components/Sensor/SensorCustom.js +6 -5
- package/dist/src/components/Sensor/SensorCustom.js.map +1 -1
- package/dist/src/components/Sensor/SensorExplain.js +2 -2
- package/dist/src/components/Sensor/SensorExplain.js.map +1 -1
- package/dist/src/components/Sensor/SensorInventoryAvailable.d.ts +1 -1
- package/dist/src/components/Sensor/SensorInventoryAvailable.js +2 -2
- package/dist/src/components/Sensor/SensorInventoryAvailable.js.map +1 -1
- package/dist/src/components/Sensor/SensorPublished.d.ts +1 -1
- package/dist/src/components/Sensor/SensorPublished.js +2 -2
- package/dist/src/components/Sensor/SensorPublished.js.map +1 -1
- package/dist/src/components/Sensor/SensorSearchTerm.d.ts +2 -1
- package/dist/src/components/Sensor/SensorSearchTerm.js +124 -19
- package/dist/src/components/Sensor/SensorSearchTerm.js.map +1 -1
- package/dist/src/components/Sensor/SensorSearchWeighted.d.ts +1 -0
- package/dist/src/components/Sensor/SensorSearchWeighted.js +22 -0
- package/dist/src/components/Sensor/SensorSearchWeighted.js.map +1 -0
- package/dist/src/components/Sensor/SensorSort.d.ts +1 -1
- package/dist/src/components/Sensor/SensorSort.js +2 -2
- package/dist/src/components/Sensor/SensorSort.js.map +1 -1
- package/dist/src/components/Sensor/Sensors.d.ts +3 -1
- package/dist/src/components/Sensor/Sensors.js +48 -14
- package/dist/src/components/Sensor/Sensors.js.map +1 -1
- package/dist/src/components/Sensor/index.d.ts +9 -7
- package/dist/src/components/Sensor/index.js +10 -6
- package/dist/src/components/Sensor/index.js.map +1 -1
- package/dist/src/components/SortBy/SortBy.d.ts +1 -1
- package/dist/src/components/SortBy/SortBy.js +6 -3
- package/dist/src/components/SortBy/SortBy.js.map +1 -1
- package/dist/src/components/Stats/Stats.d.ts +2 -2
- package/dist/src/components/Stats/Stats.js +5 -2
- package/dist/src/components/Stats/Stats.js.map +1 -1
- package/dist/src/components/Suggestions/Suggestions.d.ts +1 -1
- package/dist/src/components/Suggestions/Suggestions.js +8 -7
- package/dist/src/components/Suggestions/Suggestions.js.map +1 -1
- package/dist/src/components/Utility/UtilityAuthenticatedReactiveBase.d.ts +1 -1
- package/dist/src/components/Utility/UtilityAuthenticatedReactiveBase.js +3 -3
- package/dist/src/components/Utility/UtilityAuthenticatedReactiveBase.js.map +1 -1
- package/dist/src/components/Utility/index.js.map +1 -1
- package/dist/src/components/index.d.ts +2 -2
- package/dist/src/components/index.js +2 -2
- package/dist/src/components/index.js.map +1 -1
- package/dist/src/hooks/index.d.ts +11 -11
- package/dist/src/hooks/index.js +11 -11
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/react-slider/useReactSliderProps.d.ts +2 -2
- package/dist/src/hooks/react-slider/useReactSliderProps.js +6 -6
- package/dist/src/hooks/react-slider/useReactSliderProps.js.map +1 -1
- package/dist/src/hooks/reactivesearch/useReactiveBaseProps.d.ts +1 -1
- package/dist/src/hooks/reactivesearch/useReactiveBaseProps.js +2 -2
- package/dist/src/hooks/reactivesearch/useReactiveBaseProps.js.map +1 -1
- package/dist/src/hooks/useAnalytics.js.map +1 -1
- package/dist/src/hooks/useConfig.d.ts +1 -1
- package/dist/src/hooks/useConfig.js +1 -1
- package/dist/src/hooks/useConfig.js.map +1 -1
- package/dist/src/hooks/useCuration.d.ts +1 -1
- package/dist/src/hooks/useCuration.js +25 -9
- package/dist/src/hooks/useCuration.js.map +1 -1
- package/dist/src/hooks/useDebugger.js +3 -3
- package/dist/src/hooks/useDebugger.js.map +1 -1
- package/dist/src/hooks/useFilterCollapsedState.d.ts +1 -1
- package/dist/src/hooks/useFilterCollapsedState.js.map +1 -1
- package/dist/src/hooks/useFilterListProps.d.ts +2 -2
- package/dist/src/hooks/useFilterListProps.js +11 -7
- package/dist/src/hooks/useFilterListProps.js.map +1 -1
- package/dist/src/hooks/useFilterRangeProps.d.ts +1 -1
- package/dist/src/hooks/useFilterRangeProps.js +14 -11
- package/dist/src/hooks/useFilterRangeProps.js.map +1 -1
- package/dist/src/hooks/useFilterSliderProps.d.ts +1 -1
- package/dist/src/hooks/useFilterSliderProps.js +9 -10
- package/dist/src/hooks/useFilterSliderProps.js.map +1 -1
- package/dist/src/hooks/useFilters.d.ts +1 -1
- package/dist/src/hooks/useFilters.js +7 -4
- package/dist/src/hooks/useFilters.js.map +1 -1
- package/dist/src/hooks/useIndices.js +2 -2
- package/dist/src/hooks/useIndices.js.map +1 -1
- package/dist/src/hooks/usePagination.d.ts +1 -1
- package/dist/src/hooks/usePagination.js +14 -6
- package/dist/src/hooks/usePagination.js.map +1 -1
- package/dist/src/hooks/usePaginationLoadable.d.ts +1 -1
- package/dist/src/hooks/usePaginationLoadable.js +5 -3
- package/dist/src/hooks/usePaginationLoadable.js.map +1 -1
- package/dist/src/hooks/useProductPrice.d.ts +1 -1
- package/dist/src/hooks/useProductPrice.js +1 -3
- package/dist/src/hooks/useProductPrice.js.map +1 -1
- package/dist/src/hooks/useReactifySearchContext.d.ts +1 -1
- package/dist/src/hooks/useReactifySearchContext.js.map +1 -1
- package/dist/src/hooks/useResults.d.ts +1 -1
- package/dist/src/hooks/useResults.js +4 -4
- package/dist/src/hooks/useResults.js.map +1 -1
- package/dist/src/hooks/useSearch.d.ts +1 -1
- package/dist/src/hooks/useSearch.js +9 -8
- package/dist/src/hooks/useSearch.js.map +1 -1
- package/dist/src/hooks/useSortBy.d.ts +1 -1
- package/dist/src/hooks/useSortBy.js +1 -1
- package/dist/src/hooks/useSortBy.js.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/types/config.d.ts +1 -1
- package/dist/src/types/config.js.map +1 -1
- package/dist/src/types/elastic.d.ts +11 -8
- package/dist/src/types/elastic.js.map +1 -1
- package/dist/src/types/firestore.d.ts +5 -5
- package/dist/src/types/firestore.js.map +1 -1
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/reactivesearch.d.ts +1 -1
- package/dist/src/types/reactivesearch.js.map +1 -1
- package/dist/src/types/shopify.d.ts +1 -1
- package/dist/src/types/shopify.js.map +1 -1
- package/dist/src/utility/config.d.ts +3 -3
- package/dist/src/utility/config.js +9 -6
- package/dist/src/utility/config.js.map +1 -1
- package/dist/src/utility/curation.d.ts +2 -2
- package/dist/src/utility/curation.js +1 -1
- package/dist/src/utility/curation.js.map +1 -1
- package/dist/src/utility/debug.js +1 -1
- package/dist/src/utility/debug.js.map +1 -1
- package/dist/src/utility/filters.d.ts +2 -2
- package/dist/src/utility/filters.js.map +1 -1
- package/dist/src/utility/liquid.d.ts +2 -2
- package/dist/src/utility/liquid.js +5 -2
- package/dist/src/utility/liquid.js.map +1 -1
- package/dist/src/utility/props.d.ts +226 -7
- package/dist/src/utility/props.js +109 -62
- package/dist/src/utility/props.js.map +1 -1
- package/dist/src/utility/queries.d.ts +393 -0
- package/dist/src/utility/queries.js +197 -0
- package/dist/src/utility/queries.js.map +1 -0
- package/dist/src/utility/server.d.ts +1 -1
- package/dist/src/utility/server.js +4 -4
- package/dist/src/utility/server.js.map +1 -1
- package/dist/src/utility/sortOption.d.ts +2 -2
- package/dist/src/utility/sortOption.js.map +1 -1
- package/package.json +5 -7
- package/dist/src/search-request-builder/base-builders.d.ts +0 -18
- package/dist/src/search-request-builder/base-builders.js +0 -184
- package/dist/src/search-request-builder/base-builders.js.map +0 -1
- package/dist/src/search-request-builder/curation-builders.d.ts +0 -2
- package/dist/src/search-request-builder/curation-builders.js +0 -44
- package/dist/src/search-request-builder/curation-builders.js.map +0 -1
- package/dist/src/search-request-builder/index.d.ts +0 -3
- package/dist/src/search-request-builder/index.js +0 -12
- package/dist/src/search-request-builder/index.js.map +0 -1
- package/dist/src/search-request-builder/search-request-builder.d.ts +0 -3
- package/dist/src/search-request-builder/search-request-builder.js +0 -54
- package/dist/src/search-request-builder/search-request-builder.js.map +0 -1
- package/dist/src/search-request-builder/types.d.ts +0 -105
- package/dist/src/search-request-builder/types.js +0 -30
- package/dist/src/search-request-builder/types.js.map +0 -1
- package/dist/src/search-request-builder/utils.d.ts +0 -27
- package/dist/src/search-request-builder/utils.js +0 -144
- package/dist/src/search-request-builder/utils.js.map +0 -1
|
@@ -12,16 +12,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.getPropsFilterSlider = exports.getPropsFilterRange = exports.getPropsFilterList = exports.getPropsShared = exports.getPropsReact = exports.getPropsResults = exports.getPropsBase = exports.getPropsSensorExplain = exports.getPropsSensorSort = exports.getPropsSensorInventoryAvailable = exports.getPropsSensorPublished = exports.
|
|
15
|
+
exports.getPropsFilterSlider = exports.getPropsFilterRange = exports.getPropsFilterList = exports.getPropsShared = exports.getPropsReact = exports.getPropsResults = exports.getPropsBase = exports.getPropsSensorExplain = exports.getPropsSensorSort = exports.getPropsSensorInventoryAvailable = exports.getPropsSensorPublished = exports.getPropsSensorSearchWeighted = exports.getPropsSensorCollectionWeighted = exports.getPropsSensorCollection = exports.getPropsSensorCustom = exports.getPropsSensors = exports.getPropsFilterGroupOption = exports.getPropsFilterGroup = void 0;
|
|
16
16
|
const search_internals_1 = require("@usereactify/search-internals");
|
|
17
|
+
const components_1 = require("../components");
|
|
17
18
|
const curation_1 = require("./curation");
|
|
18
|
-
const filters_1 = require("./filters");
|
|
19
19
|
const sortOption_1 = require("./sortOption");
|
|
20
|
-
const
|
|
21
|
-
const components_1 = require("../components");
|
|
20
|
+
const filters_1 = require("./filters");
|
|
22
21
|
const hooks_1 = require("../hooks");
|
|
23
|
-
const
|
|
24
|
-
const
|
|
22
|
+
const package_json_1 = __importDefault(require("../../package.json"));
|
|
23
|
+
const queries_1 = require("./queries");
|
|
25
24
|
const getPropsFilterGroup = (options) => {
|
|
26
25
|
var _a, _b;
|
|
27
26
|
return [
|
|
@@ -76,74 +75,122 @@ exports.getPropsSensorCustom = getPropsSensorCustom;
|
|
|
76
75
|
const getPropsSensorCollection = (options) => {
|
|
77
76
|
if (options.provider.mode !== "collection")
|
|
78
77
|
return null;
|
|
79
|
-
const handle = options.provider.collectionHandle;
|
|
80
|
-
if (!handle)
|
|
81
|
-
return null;
|
|
82
|
-
const curation = (0, curation_1.getCuration)({ provider: options.provider, config: options.config });
|
|
83
|
-
const { baseSearchRequestMode, curationSearchRequestMode } = (0, search_request_builder_1.determineSearchRequestModes)(options.config.featureFlags);
|
|
84
78
|
return {
|
|
85
79
|
source: search_internals_1.ReactiveComponent,
|
|
86
80
|
componentId: "SensorCollection",
|
|
87
81
|
customQuery: () => {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
82
|
+
if (options.provider.mode !== "collection")
|
|
83
|
+
return null;
|
|
84
|
+
const conditions = [];
|
|
85
|
+
const handle = options.provider.collectionHandle;
|
|
86
|
+
const market = options.provider.market;
|
|
87
|
+
if (options.provider.market) {
|
|
88
|
+
conditions.push({
|
|
89
|
+
nested: {
|
|
90
|
+
path: "curations",
|
|
91
|
+
query: {
|
|
92
|
+
bool: {
|
|
93
|
+
should: [
|
|
94
|
+
{
|
|
95
|
+
nested: {
|
|
96
|
+
path: "collections",
|
|
97
|
+
query: { term: { "collections.handle.keyword": handle } },
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
nested: {
|
|
102
|
+
path: "curations",
|
|
103
|
+
query: {
|
|
104
|
+
term: {
|
|
105
|
+
"curations.collectionHandle.keyword": handle,
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
must: [
|
|
112
|
+
{
|
|
113
|
+
nested: {
|
|
114
|
+
path: "curations",
|
|
115
|
+
query: { term: { "curations.markets.keyword": market } },
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
return {
|
|
125
|
+
query: {
|
|
126
|
+
bool: {
|
|
127
|
+
should: [
|
|
128
|
+
{
|
|
129
|
+
nested: {
|
|
130
|
+
path: "collections",
|
|
131
|
+
query: { term: { "collections.handle.keyword": handle } },
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
nested: {
|
|
136
|
+
path: "curations",
|
|
137
|
+
query: {
|
|
138
|
+
term: { "curations.collectionHandle.keyword": handle },
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
],
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
};
|
|
97
146
|
},
|
|
98
147
|
};
|
|
99
148
|
};
|
|
100
149
|
exports.getPropsSensorCollection = getPropsSensorCollection;
|
|
101
|
-
const
|
|
102
|
-
if (
|
|
150
|
+
const getPropsSensorCollectionWeighted = ({ provider, config }) => {
|
|
151
|
+
if (provider.mode !== "collection")
|
|
103
152
|
return null;
|
|
104
|
-
|
|
153
|
+
const handle = provider.collectionHandle;
|
|
154
|
+
const curation = (0, curation_1.getCuration)({ provider, config });
|
|
155
|
+
return {
|
|
156
|
+
source: search_internals_1.ReactiveComponent,
|
|
157
|
+
componentId: "SensorCollectionWeighted",
|
|
158
|
+
customQuery: () => {
|
|
159
|
+
var _a;
|
|
160
|
+
const function_score = (0, queries_1.generateCollectionFunctionScore)({
|
|
161
|
+
collectionHandle: handle,
|
|
162
|
+
boostingRules: (_a = curation === null || curation === void 0 ? void 0 : curation.boostings) !== null && _a !== void 0 ? _a : [],
|
|
163
|
+
curationMarkets: (curation === null || curation === void 0 ? void 0 : curation.markets) || [],
|
|
164
|
+
currentMarket: provider.market,
|
|
165
|
+
});
|
|
166
|
+
return { query: { function_score } };
|
|
167
|
+
},
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
exports.getPropsSensorCollectionWeighted = getPropsSensorCollectionWeighted;
|
|
171
|
+
const getPropsSensorSearchWeighted = ({ provider, config, searchTerm, }) => {
|
|
172
|
+
if (provider.mode !== "search" && provider.mode !== "instant-search")
|
|
105
173
|
return null;
|
|
106
|
-
|
|
107
|
-
const searchFields = (() => {
|
|
108
|
-
if (options.provider.mode === "search") {
|
|
109
|
-
return options.config.fields.filter((field) => ["always_search", "search_page"].includes(field.searchType));
|
|
110
|
-
}
|
|
111
|
-
if (options.provider.mode === "instant-search") {
|
|
112
|
-
return options.config.fields.filter((field) => ["always_search", "instant_search"].includes(field.searchType));
|
|
113
|
-
}
|
|
114
|
-
return [];
|
|
115
|
-
})();
|
|
116
|
-
if (searchFields.length === 0)
|
|
174
|
+
if (!searchTerm)
|
|
117
175
|
return null;
|
|
118
176
|
return {
|
|
119
177
|
source: search_internals_1.ReactiveComponent,
|
|
120
|
-
componentId: "
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
});
|
|
131
|
-
const { baseSearchRequestMode, curationSearchRequestMode } = (0, search_request_builder_1.determineSearchRequestModes)(options.config.featureFlags);
|
|
132
|
-
const searchRequest = (0, search_request_builder_1.generateSearchRequest)({
|
|
133
|
-
searchTerm: options.searchTerm,
|
|
134
|
-
curation: curation
|
|
135
|
-
? Object.assign(Object.assign({}, curation), { type: firestore_1.CurationType.Search, searchTerm: options.searchTerm, keywords: [] }) : undefined,
|
|
136
|
-
relevanceFields: options.config.fields.map((field) => (Object.assign(Object.assign({}, field), { enabled: true }))),
|
|
137
|
-
searchableFields: options.config.searchableFields,
|
|
138
|
-
market: options.provider.market,
|
|
139
|
-
baseSearchRequestMode: baseSearchRequestMode,
|
|
140
|
-
curationSearchRequestMode: curationSearchRequestMode,
|
|
178
|
+
componentId: "SensorSearchWeighted",
|
|
179
|
+
customQuery: () => {
|
|
180
|
+
var _a;
|
|
181
|
+
const curation = (0, curation_1.getCuration)({ provider, config, searchTerm });
|
|
182
|
+
const function_score = (0, queries_1.generateSearchFunctionScore)({
|
|
183
|
+
searchTerm: searchTerm,
|
|
184
|
+
searchableFields: config.searchableFields,
|
|
185
|
+
boostingRules: (_a = curation === null || curation === void 0 ? void 0 : curation.boostings) !== null && _a !== void 0 ? _a : [],
|
|
186
|
+
curationMarkets: (curation === null || curation === void 0 ? void 0 : curation.markets) || [],
|
|
187
|
+
currentMarket: provider.market,
|
|
141
188
|
});
|
|
142
|
-
return
|
|
189
|
+
return { query: { function_score } };
|
|
143
190
|
},
|
|
144
191
|
};
|
|
145
192
|
};
|
|
146
|
-
exports.
|
|
193
|
+
exports.getPropsSensorSearchWeighted = getPropsSensorSearchWeighted;
|
|
147
194
|
const getPropsSensorPublished = (options) => {
|
|
148
195
|
return {
|
|
149
196
|
source: search_internals_1.ReactiveComponent,
|
|
@@ -247,7 +294,7 @@ const getPropsSensorExplain = (options) => {
|
|
|
247
294
|
// Only enable when devMode is true and weighted search is enabled
|
|
248
295
|
if (!options.provider.devMode)
|
|
249
296
|
return null;
|
|
250
|
-
if (!((_a = options.config.featureFlags) === null || _a === void 0 ? void 0 : _a.includes("
|
|
297
|
+
if (!((_a = options.config.featureFlags) === null || _a === void 0 ? void 0 : _a.includes("use_weighted_base_search_request")))
|
|
251
298
|
return null;
|
|
252
299
|
return {
|
|
253
300
|
source: search_internals_1.ReactiveComponent,
|
|
@@ -322,7 +369,7 @@ const getPropsResults = (options) => {
|
|
|
322
369
|
})();
|
|
323
370
|
return {
|
|
324
371
|
size: (_c = (_a = options.pageSize) !== null && _a !== void 0 ? _a : (_b = options.filterGroup) === null || _b === void 0 ? void 0 : _b.pageSize) !== null && _c !== void 0 ? _c : 20,
|
|
325
|
-
URLParams: options.provider.mode
|
|
372
|
+
URLParams: options.provider.mode === "instant-search" ? false : true,
|
|
326
373
|
showLoader: false,
|
|
327
374
|
dataField: "title",
|
|
328
375
|
showResultStats: false,
|
|
@@ -491,7 +538,7 @@ exports.getPropsShared = getPropsShared;
|
|
|
491
538
|
const getPropsFilterList = (filterGroupOption) => {
|
|
492
539
|
var _a, _b, _c, _d;
|
|
493
540
|
return {
|
|
494
|
-
size: parseInt(filterGroupOption.displaySize
|
|
541
|
+
size: parseInt(filterGroupOption.displaySize) || undefined,
|
|
495
542
|
queryFormat: (_a = filterGroupOption.settingsFilterLogic) !== null && _a !== void 0 ? _a : "or",
|
|
496
543
|
showFilter: (_b = filterGroupOption.settingsShowFilter) !== null && _b !== void 0 ? _b : true,
|
|
497
544
|
showLoadMore: (_c = filterGroupOption.settingsShowMore) !== null && _c !== void 0 ? _c : false,
|
|
@@ -507,8 +554,8 @@ const getPropsFilterRange = (filterGroupOption) => {
|
|
|
507
554
|
const [label, start, end] = option.split(":");
|
|
508
555
|
return {
|
|
509
556
|
label: label,
|
|
510
|
-
start: start ? parseInt(start
|
|
511
|
-
end: end ? parseInt(end
|
|
557
|
+
start: start ? parseInt(start) : 0,
|
|
558
|
+
end: end ? parseInt(end) : Number.MAX_SAFE_INTEGER,
|
|
512
559
|
};
|
|
513
560
|
})) !== null && _b !== void 0 ? _b : [];
|
|
514
561
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.js","sourceRoot":"","sources":["../../../src/utility/props.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oEAOuC;AACvC,yCAAyC;AACzC,uCAA2C;AAC3C,6CAAkF;AAClF,sEAAqC;AACrC,8CAA6E;AAC7E,oCAAqD;AACrD,sEAA+F;AAE/F,kDAAwE;AAqBjE,MAAM,mBAAmB,GAAG,CAAC,OAAwC,EAAE,EAAE;;IAC9E,OAAO;QACL,GAAG,CAAC,MAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,OAAO,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAE,EAAE,CACzD,IAAA,iCAAyB,EAAC,OAAO,EAAE,iBAAiB,CAAC,CACtD,mCAAI,EAAE,CAAC;QACR,GAAG,IAAA,uBAAe,EAAC,OAAO,CAAC;QAC3B,IAAA,uBAAe,EAAC,OAAO,CAAC;KACzB,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,mBAAmB,uBAQ9B;AAEK,MAAM,yBAAyB,GAAG,CACvC,OAAwC,EACxC,iBAAoC,EACpC,EAAE;;IACF,IAAI,WAAW,GAA4B,EAAE,CAAC;IAE9C,IAAI,iBAAiB,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC/C,MAAM,iBAAiB,GAAG,IAAA,4BAAoB,EAAC,iBAAiB,EAAE,MAAA,OAAO,CAAC,QAAQ,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC;QAChG,WAAW,GAAG;YACZ,YAAY,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,YAAY;YAClD,WAAW,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,WAAW;SACjD,CAAC;IACJ,CAAC;IAED,IAAI,iBAAiB,CAAC,WAAW,KAAK,QAAQ,IAAI,iBAAiB,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;QAC5F,IAAI,iBAAiB,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;YAC9C,WAAW,GAAG,IAAA,2BAAmB,EAAC,iBAAiB,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,IAAA,0BAAkB,EAAC,iBAAiB,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC/D,uCAAY,WAAW,GAAK,WAAW,EAAG;AAC5C,CAAC,CAAC;AAvBW,QAAA,yBAAyB,6BAuBpC;AAEK,MAAM,eAAe,GAAG,CAAC,OAAmC,EAAE,EAAE;IACrE,OAAO;QACL,GAAG,IAAA,4BAAoB,EAAC,OAAO,CAAC;QAChC,IAAA,gCAAwB,EAAC,OAAO,CAAC;QACjC,IAAA,+BAAuB,EAAC,OAAO,CAAC;QAChC,IAAA,wCAAgC,EAAC,OAAO,CAAC;QACzC,IAAA,0BAAkB,EAAC,OAAO,CAAC;KAC5B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACpB,CAAC,CAAC;AARW,QAAA,eAAe,mBAQ1B;AAEK,MAAM,oBAAoB,GAAG,CAAC,OAAmC,EAAE,EAAE;IAC1E,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEpF,MAAM,OAAO,GAAG,UAAU,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;IAEhH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,MAAM,EAAE,oCAAiB;QACzB,WAAW,EAAE,gBAAgB,KAAK,EAAE;QACpC,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM;KAC1B,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAVW,QAAA,oBAAoB,wBAU/B;AAEK,MAAM,wBAAwB,GAAG,CAAC,OAAmC,EAAE,EAAE;IAC9E,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IAExD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACjD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACrF,MAAM,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,GAAG,IAAA,oDAA2B,EAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAEtH,OAAO;QACL,MAAM,EAAE,oCAAiB;QACzB,WAAW,EAAE,kBAAkB;QAC/B,WAAW,EAAE,GAAG,EAAE;YAChB,MAAM,aAAa,GAAG,IAAA,8CAAqB,EAAC;gBAC1C,gBAAgB,EAAE,MAAM;gBACxB,QAAQ,EAAE,QAAQ;oBAChB,CAAC,iCAAM,QAAQ,KAAE,IAAI,EAAE,wBAAY,CAAC,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,IACtF,CAAC,CAAC,SAAS;gBACb,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAC/B,qBAAqB;gBACrB,yBAAyB;aAC1B,CAAC,CAAC;YAEH,OAAO,aAAa,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,wBAAwB,4BA0BnC;AAEK,MAAM,wBAAwB,GAAG,CAAC,OAA6D,EAAE,EAAE;IACxG,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,gBAAgB;QAAE,OAAO,IAAI,CAAC;IAClG,IAAI,CAAC,OAAO,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAErC,mDAAmD;IACnD,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;QACzB,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9G,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC/C,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QACjH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE3C,OAAO;QACL,MAAM,EAAE,oCAAiB;QACzB,WAAW,EAAE,kBAAkB;QAC/B,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;QACnD,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC;QAC3D,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE;YAC7B,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YAExB,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC;gBAC3B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;YAEH,MAAM,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,GAAG,IAAA,oDAA2B,EACtF,OAAO,CAAC,MAAM,CAAC,YAAY,CAC5B,CAAC;YAEF,MAAM,aAAa,GAAG,IAAA,8CAAqB,EAAC;gBAC1C,UAAU,EAAE,OAAO,CAAC,UAAW;gBAC/B,QAAQ,EAAE,QAAQ;oBAChB,CAAC,iCAAM,QAAQ,KAAE,IAAI,EAAE,wBAAY,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,UAAW,EAAE,QAAQ,EAAE,EAAE,IACzF,CAAC,CAAC,SAAS;gBACb,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iCAAM,KAAK,KAAE,OAAO,EAAE,IAAI,IAAG,CAAC;gBACpF,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAqC;gBACtE,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAC/B,qBAAqB,EAAE,qBAAqB;gBAC5C,yBAAyB,EAAE,yBAAyB;aACrD,CAAC,CAAC;YAEH,OAAO,aAAa,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAlDW,QAAA,wBAAwB,4BAkDnC;AAEK,MAAM,uBAAuB,GAAG,CAAC,OAAmC,EAAE,EAAE;IAC7E,OAAO;QACL,MAAM,EAAE,oCAAiB;QACzB,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE,GAAG,EAAE;YAChB,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC5B,OAAO;oBACL,KAAK,EAAE;wBACL,IAAI,EAAE;4BACJ,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;yBACxF;qBACF;iBACF,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;aACtC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAnBW,QAAA,uBAAuB,2BAmBlC;AACK,MAAM,gCAAgC,GAAG,CAAC,OAAmC,EAAE,EAAE;IACtF,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,OAAO,CAAC,CAAC;IAE5C,IAAI,CAAC,WAAW,IAAI,UAAU,KAAK,WAAW,CAAC,mBAAmB,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,MAAM,EAAE,oCAAiB;QACzB,WAAW,EAAE,0BAA0B;QACvC,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;oDACL,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM;wDACtB,CAAC,CAAC,6BAA6B,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE;wDACxD,CAAC,CAAC,oBAAoB,CAAC,EAAE,IAAI;iDAChC;6CACF;yCACF;qCACF;iCACF;6BACF;yBACF;wBACD,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,gBAAgB;4BAC5C,CAAC,CAAC,EAAE;4BACJ,CAAC,CAAC;gCACE;oCACE,IAAI,EAAE;wCACJ,IAAI,EAAE;4CACJ,KAAK,EAAE,SAAS;yCACjB;qCACF;iCACF;6BACF,CAAC;qBACP;oBACD,oBAAoB,EAAE,GAAG;iBAC1B;aACF;SACF,CAAC;KACH,CAAC;AACJ,CAAC,CAAC;AAxDW,QAAA,gCAAgC,oCAwD3C;AAEK,MAAM,kBAAkB,GAAG,CAChC,OAGC,EACD,EAAE;IACF,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,IAAA,0BAAa,EAAC,OAAO,CAAC,CAAC;IAE1C,MAAM,IAAI,GAAG,IAAA,6BAAgB,EAAC;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,UAAU;KACvB,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAA,8BAAiB,EAAC;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE,oCAAiB;QACzB,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;KACrC,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,kBAAkB,sBA0B7B;AAEK,MAAM,qBAAqB,GAAG,CAAC,OAAmC,EAAE,EAAE;;IAC3E,kEAAkE;IAClE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,CAAC,CAAA,MAAA,OAAO,CAAC,MAAM,CAAC,YAAY,0CAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAA;QAAE,OAAO,IAAI,CAAC;IAE/E,OAAO;QACL,MAAM,EAAE,oCAAiB;QACzB,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KACvC,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,qBAAqB,yBAUhC;AAEK,MAAM,YAAY,GAAG,CAAC,OAA0B,EAAE,EAAE;;IACzD,MAAM,KAAK,GAAG;QACZ,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QACzB,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;QAC5B,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW;QACzC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK;QAC7B,YAAY,EAAE,MAAA,OAAO,CAAC,QAAQ,CAAC,OAAO,0CAAE,KAAK;QAC7C,aAAa,EAAE,GAAG,EAAE;YAClB,MAAM,UAAU,GAAG,IAAA,0BAAkB,EAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;YAC7C,OAAO,WAAW,CAAC,IAAI,CAAC;QAC1B,CAAC;QACD,gBAAgB,EAAE,CAAC,OAAY,EAAE,EAAE;YACjC,IAAK,OAAO,CAAC,GAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,iBAAiB,EAAE,CAAO,QAAa,EAAE,EAAE;;YACzC,+EAA+E;YAC/E,uDAAuD;YACvD,EAAE;YACF,qFAAqF;YACrF,qFAAqF;YACrF,kEAAkE;YAClE,EAAE;YACF,0DAA0D;YAC1D,IAAI,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,0CAAE,qBAAqB,0CAAE,qBAAqB,EAAE,CAAC;gBACzE,QAAQ,CAAC,YAAY,CAAC,qBAAqB,GAAG,IAAA,iCAAyB,EACrE,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,0CAAE,qBAAqB,0CAAE,qBAAqB,CACrE,CAAC;YACJ,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAA;QACD,OAAO,EAAE;YACP,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,sBAAsB;YAC1D,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;YACxC,sBAAsB,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACjD,2BAA2B,EAAE,sBAAG,CAAC,OAAO;SACzC;KACF,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AA5CW,QAAA,YAAY,gBA4CvB;AAEK,MAAM,eAAe,GAAG,CAC7B,OAIC,EACD,EAAE;;IACF,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE;;QAC9B,OAAO;YACL,GAAG,CAAC,MAAA,OAAO,CAAC,QAAQ,CAAC,aAAa,mCAAI,EAAE,CAAC;YACzC,IAAI;YACJ,OAAO;YACP,MAAM;YACN,QAAQ;YACR,OAAO;YACP,aAAa;YACb,6BAA6B;YAC7B,SAAS;SACV,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE;;QAC9B,OAAO,CAAC,GAAG,CAAC,MAAA,OAAO,CAAC,QAAQ,CAAC,aAAa,mCAAI,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO;QACL,IAAI,EAAE,MAAA,MAAA,OAAO,CAAC,QAAQ,mCAAI,MAAA,OAAO,CAAC,WAAW,0CAAE,QAAQ,mCAAI,EAAE;QAC7D,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,gBAAgB;QACrD,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,OAAO;QAClB,eAAe,EAAE,KAAK;QACtB,KAAK,EAAE,IAAA,qBAAa,EAAC,OAAO,CAAC;QAC7B,aAAa,EAAE,iBAAiB;QAChC,aAAa,EAAE,iBAAiB;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,MAAM,EAAE,8BAA8B;QACnD,cAAc,EAAE,KAAK,EAAE,yDAAyD;QAChF,UAAU,EAAE,CAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,cAAc,MAAK,iBAAiB;QACrE,cAAc,EAAE,CAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,cAAc,MAAK,iBAAiB;QACzE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,mDAAmD;QAChF,MAAM,EAAE,+BAAY;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC;AACJ,CAAC,CAAC;AA1CW,QAAA,eAAe,mBA0C1B;AAEK,MAAM,aAAa,GAAG,CAAC,OAAwC,EAAE,iBAAqC,EAAE,EAAE;IAC/G,MAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;;QACtB,IAAI,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,uBAAuB,EAAE,CAAC;YAC/C,OAAO;gBACL,GAAG,EAAE,SAAS;aACf,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,EAAE;gBACH,GAAG,SAAS;gBACZ,GAAG,CAAC,MAAA,OAAO,CAAC,QAAQ,CAAC,sBAAsB,mCAAI,EAAE,CAAC;gBAClD,GAAG,CAAC,MAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;aACvE,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,MAAK,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM,CAAA,CAAC;SAC3D,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAnBW,QAAA,aAAa,iBAmBxB;AAEK,MAAM,cAAc,GAAG,CAAC,OAAwC,EAAE,iBAAoC,EAAE,EAAE;IAC/G,MAAM,SAAS,GAAG,IAAA,qBAAa,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;QAC5B,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;QAC5B,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC;YAChG,OAAO,SAAS,CAAC;QAEnB,OAAO,CAAC,KAAyB,EAAE,EAAE;YACnC,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,CAAC;YAEtB,8DAA8D;YAC9D,MAAM,UAAU,GAAG,QAAQ,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAE/D,IAAI,CAAC,KAAK,UAAU,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC;YAEvC,OAAO;gBACL,KAAK,EAAE;oBACL,MAAM,EAAE;wBACN,IAAI,EAAE,UAAU;wBAChB,KAAK,EAAE;4BACL,IAAI,EAAE;gCACJ,IAAI,EAAE;oCACJ;wCACE,KAAK,EAAE;4CACL,oBAAoB,EAAE,MAAM;yCAC7B;qCACF;oCACD;wCACE,KAAK,EAAE;4CACL,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,UAAU;yCACtC;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE;QAC7B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,2FAA2F;QAC3F,OAAO,GAAG,EAAE;YACV,OAAO;gBACL,IAAI,EAAE;oBACJ,qBAAqB,EAAE;wBACrB,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;wBAC5B,IAAI,EAAE;4BACJ,qBAAqB,EAAE;gCACrB,MAAM,EAAE;oCACN,IAAI,EAAE;wCACJ,oBAAoB,EAAE,CAAC;wCACvB,MAAM,EAAE;4CACN;gDACE,KAAK,EAAE;oDACL,oBAAoB,EAAE,MAAM;iDAC7B;6CACF;4CACD;gDACE,KAAK,EAAE;oDACL,oBAAoB,EAAE,iBAAiB,CAAC,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;iDACnF;6CACF;yCACF;qCACF;iCACF;gCACD,IAAI,EAAE;oCACJ,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;wCACzB,KAAK,EAAE;4CACL,KAAK,EAAE,iBAAiB,CAAC,KAAK;4CAC9B,IAAI,EAAE,GAAG;4CACT,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;yCAC1B;wCACD,IAAI,EAAE;4CACJ,WAAW,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE;yCACpC;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;QACvB,IAAI,iBAAiB,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,oCAAiB,CAAC;QAC3B,CAAC;QACD,IAAI,iBAAiB,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC/C,IAAI,iBAAiB,CAAC,WAAW,KAAK,OAAO;gBAAE,OAAO,8BAAW,CAAC;YAClE,OAAO,6BAAU,CAAC;QACpB,CAAC;QACD,IAAI,iBAAiB,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;YAC9C,IAAI,iBAAiB,CAAC,WAAW,KAAK,OAAO;gBAAE,OAAO,6BAAU,CAAC;YACjE,OAAO,4BAAS,CAAC;QACnB,CAAC;QAED,OAAO;IACT,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;QACtB,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC5F,OAAO,GAAG,iBAAiB,CAAC,KAAK,WAAW,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxE,CAAC;QAED,OAAO,iBAAiB,CAAC,KAAK,CAAC;IACjC,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO;QACL,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,iBAAiB,CAAC,MAAM;QACrC,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,iBAAiB,CAAC,IAAI;QACnC,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,eAAe;QAC5B,YAAY,EAAE,gBAAgB;QAC9B,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC,CAAC;AAnIW,QAAA,cAAc,kBAmIzB;AAEK,MAAM,kBAAkB,GAAG,CAAC,iBAAoC,EAAE,EAAE;;IACzE,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,SAAS;QAC9D,WAAW,EAAE,MAAA,iBAAiB,CAAC,mBAAmB,mCAAI,IAAI;QAC1D,UAAU,EAAE,MAAA,iBAAiB,CAAC,kBAAkB,mCAAI,IAAI;QACxD,YAAY,EAAE,MAAA,iBAAiB,CAAC,gBAAgB,mCAAI,KAAK;QACzD,UAAU,EAAE,MAAA,iBAAiB,CAAC,kBAAkB,mCAAI,KAAK;QACzD,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;KACpB,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,kBAAkB,sBAU7B;AAEK,MAAM,mBAAmB,GAAG,CAAC,iBAAoC,EAAE,EAAE;;IAC1E,MAAM,IAAI,GACR,MAAA,MAAA,iBAAiB,CAAC,mBAAmB,0CAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACpD,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB;SACvD,CAAC;IACJ,CAAC,CAAC,mCAAI,EAAE,CAAC;IAEX,OAAO;QACL,WAAW,EAAE,MAAA,iBAAiB,CAAC,mBAAmB,mCAAI,IAAI;QAC1D,UAAU,EAAE,MAAA,iBAAiB,CAAC,kBAAkB,mCAAI,IAAI;QACxD,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;QACnB,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,mBAAmB,uBAkB9B;AAEK,MAAM,oBAAoB,GAAG,CAClC,iBAAoC,EACpC,KAAsC,EACtC,KAA6B,EAC7B,EAAE;;IACF,MAAM,WAAW,GACf,KAAK,aAAL,KAAK,cAAL,KAAK,GACL,IAAI,CAAC,KAAK,CACR,MAAA,IAAI,eAAe,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CACrF,iBAAiB,CAAC,MAAM,CACzB,mCAAI,OAAO,CACb,CAAC;IAEJ,MAAM,YAAY,GAAG;QACnB,IAAI,EAAE;YACJ,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,EAAE;YAChD,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,EAAE;SACjD;KACF,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE;QACxB,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO;QACT,CAAC;QAED,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE;gCACJ,IAAI,EAAE;oCACJ,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;oCAC9B;wCACE,KAAK,EAAE;4CACL,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;gDACzB,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;gDACnB,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;gDACnB,KAAK,EAAE,CAAC;6CACT;yCACF;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AACvC,CAAC,CAAC;AApDW,QAAA,oBAAoB,wBAoD/B","sourcesContent":["import {\n MultiList,\n MultiRange,\n ReactiveComponent,\n ReactiveList,\n SingleList,\n SingleRange,\n} from \"@usereactify/search-internals\";\nimport { getCuration } from \"./curation\";\nimport { getFilterStack } from \"./filters\";\nimport { generateSortQuery, generateSortSort, getSortOption } from \"./sortOption\";\nimport pkg from \"../../package.json\";\nimport { type ReactifySearchProviderProps, SENSOR_IDS } from \"../components\";\nimport { replaceDocCountWithParent } from \"../hooks\";\nimport { determineSearchRequestModes, generateSearchRequest } from \"../search-request-builder\";\nimport type { Config, ConfigFilter, ConfigFilterFacet, ResultsDataListener } from \"../types\";\nimport { CurationType, type SearchableField } from \"../types/firestore\";\n\nexport type GeneratePropsFilterGroupOptions = {\n provider: ReactifySearchProviderProps;\n config: Config;\n filterGroup?: ConfigFilter;\n query?: Record<string, string>;\n};\n\nexport type GeneratePropsSensorOptions = {\n provider: ReactifySearchProviderProps;\n config: Config;\n query?: Record<string, string>;\n};\n\nexport type GeneratePropsBase = {\n provider: ReactifySearchProviderProps;\n config: Config;\n query?: Record<string, string>;\n};\n\nexport const getPropsFilterGroup = (options: GeneratePropsFilterGroupOptions) => {\n return [\n ...(options.filterGroup?.options.map((filterGroupOption) =>\n getPropsFilterGroupOption(options, filterGroupOption)\n ) ?? []),\n ...getPropsSensors(options),\n getPropsResults(options),\n ];\n};\n\nexport const getPropsFilterGroupOption = (\n options: GeneratePropsFilterGroupOptions,\n filterGroupOption: ConfigFilterFacet\n) => {\n let filterProps: Record<string, unknown> = {};\n\n if (filterGroupOption.displayType === \"slider\") {\n const sliderFilterProps = getPropsFilterSlider(filterGroupOption, options.provider.query ?? {});\n filterProps = {\n defaultQuery: () => sliderFilterProps.defaultQuery,\n customQuery: () => sliderFilterProps.customQuery,\n };\n }\n\n if (filterGroupOption.displayType === \"single\" || filterGroupOption.displayType === \"multi\") {\n if (filterGroupOption.displayView === \"range\") {\n filterProps = getPropsFilterRange(filterGroupOption);\n } else {\n filterProps = getPropsFilterList(filterGroupOption);\n }\n }\n const sharedProps = getPropsShared(options, filterGroupOption);\n return { ...sharedProps, ...filterProps };\n};\n\nexport const getPropsSensors = (options: GeneratePropsSensorOptions) => {\n return [\n ...getPropsSensorCustom(options),\n getPropsSensorCollection(options),\n getPropsSensorPublished(options),\n getPropsSensorInventoryAvailable(options),\n getPropsSensorSort(options),\n ].filter(Boolean);\n};\n\nexport const getPropsSensorCustom = (options: GeneratePropsSensorOptions) => {\n const sensorType = options.provider.mode === \"collection\" ? \"collection\" : \"search\";\n\n const sensors = sensorType === \"collection\" ? options.config.sensors.collection : options.config.sensors.search;\n\n return sensors.map((sensor, index) => ({\n source: ReactiveComponent,\n componentId: `SensorCustom_${index}`,\n customQuery: () => sensor,\n }));\n};\n\nexport const getPropsSensorCollection = (options: GeneratePropsSensorOptions) => {\n if (options.provider.mode !== \"collection\") return null;\n\n const handle = options.provider.collectionHandle;\n if (!handle) return null;\n\n const curation = getCuration({ provider: options.provider, config: options.config });\n const { baseSearchRequestMode, curationSearchRequestMode } = determineSearchRequestModes(options.config.featureFlags);\n\n return {\n source: ReactiveComponent,\n componentId: \"SensorCollection\",\n customQuery: () => {\n const searchRequest = generateSearchRequest({\n collectionHandle: handle,\n curation: curation\n ? { ...curation, type: CurationType.Collection, collectionHandle: handle, keywords: [] }\n : undefined,\n market: options.provider.market,\n baseSearchRequestMode,\n curationSearchRequestMode,\n });\n\n return searchRequest;\n },\n };\n};\n\nexport const getPropsSensorSearchTerm = (options: GeneratePropsSensorOptions & { searchTerm?: string }) => {\n if (options.provider.mode !== \"search\" && options.provider.mode !== \"instant-search\") return null;\n if (!options.searchTerm) return null;\n\n // ignore search fields only set for instant search\n const searchFields = (() => {\n if (options.provider.mode === \"search\") {\n return options.config.fields.filter((field) => [\"always_search\", \"search_page\"].includes(field.searchType));\n }\n if (options.provider.mode === \"instant-search\") {\n return options.config.fields.filter((field) => [\"always_search\", \"instant_search\"].includes(field.searchType));\n }\n return [];\n })();\n\n if (searchFields.length === 0) return null;\n\n return {\n source: ReactiveComponent,\n componentId: \"SensorSearchTerm\",\n dataField: searchFields.map((field) => field.field),\n fieldWeights: searchFields.map((field) => field.importance),\n customQuery: (value: string) => {\n if (!value) return null;\n\n const curation = getCuration({\n provider: options.provider,\n config: options.config,\n searchTerm: options.searchTerm,\n });\n\n const { baseSearchRequestMode, curationSearchRequestMode } = determineSearchRequestModes(\n options.config.featureFlags\n );\n\n const searchRequest = generateSearchRequest({\n searchTerm: options.searchTerm!,\n curation: curation\n ? { ...curation, type: CurationType.Search, searchTerm: options.searchTerm!, keywords: [] }\n : undefined,\n relevanceFields: options.config.fields.map((field) => ({ ...field, enabled: true })),\n searchableFields: options.config.searchableFields as SearchableField[],\n market: options.provider.market,\n baseSearchRequestMode: baseSearchRequestMode,\n curationSearchRequestMode: curationSearchRequestMode,\n });\n\n return searchRequest;\n },\n };\n};\n\nexport const getPropsSensorPublished = (options: GeneratePropsSensorOptions) => {\n return {\n source: ReactiveComponent,\n componentId: \"SensorPublished\",\n customQuery: () => {\n if (options.provider.market) {\n return {\n query: {\n bool: {\n must: [{ match: { markets: options.provider.market } }, { match: { published: true } }],\n },\n },\n };\n }\n return {\n query: { match: { published: true } },\n };\n },\n };\n};\nexport const getPropsSensorInventoryAvailable = (options: GeneratePropsSensorOptions) => {\n const filterStack = getFilterStack(options);\n\n if (!filterStack || \"show_all\" === filterStack.inventoryVisibility) {\n return null;\n }\n\n return {\n source: 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: {\n [options.provider.market\n ? `variants.available_market_${options.provider.market}`\n : \"variants.available\"]: true,\n },\n },\n },\n },\n ],\n },\n },\n ...(options.provider.mode === \"instant-search\"\n ? []\n : [\n {\n term: {\n type: {\n value: \"callout\",\n },\n },\n },\n ]),\n ],\n minimum_should_match: \"1\",\n },\n },\n }),\n };\n};\n\nexport const getPropsSensorSort = (\n options: GeneratePropsSensorOptions & {\n searchTerm?: string;\n sortOption?: string;\n }\n) => {\n const curation = getCuration(options);\n const sortOption = getSortOption(options);\n\n const sort = generateSortSort({\n provider: options.provider,\n config: options.config,\n curation: curation,\n sortOption: sortOption,\n });\n const query = generateSortQuery({\n provider: options.provider,\n sortOption: sortOption,\n curation: curation,\n });\n\n return {\n source: ReactiveComponent,\n componentId: \"SensorSort\",\n customQuery: () => ({ sort, query }),\n };\n};\n\nexport const getPropsSensorExplain = (options: GeneratePropsSensorOptions) => {\n // Only enable when devMode is true and weighted search is enabled\n if (!options.provider.devMode) return null;\n if (!options.config.featureFlags?.includes(\"use_weighted_search\")) return null;\n\n return {\n source: ReactiveComponent,\n componentId: \"SensorExplain\",\n customQuery: () => ({ explain: true }),\n };\n};\n\nexport const getPropsBase = (options: GeneratePropsBase) => {\n const props = {\n app: options.config.index,\n url: options.config.endpoint,\n credentials: options.provider.credentials,\n theme: options.provider.theme,\n initialState: options.provider.preload?.state,\n transformSort: () => {\n const sortSensor = getPropsSensorSort(options);\n const customQuery = sortSensor.customQuery();\n return customQuery.sort;\n },\n transformRequest: (request: any) => {\n if ((request.url as string).endsWith(\"?\")) {\n request.url = request.url.substring(0, request.url.length - 1);\n }\n return request;\n },\n transformResponse: async (response: any) => {\n // support filtering inside nested aggregations by moving the inner aggregation\n // up one level such that reactivesearch understands it\n //\n // see useReactiveFilterListProps > defaultQuery to see how a filter is being applied\n // to variant aggregations to ensure that only in stock sizes are displayed as filter\n // options, this involves a nested filter, which requires this fix\n //\n // https://github.com/appbaseio/reactivesearch/issues/1530\n if (response?.aggregations?.reactivesearch_nested?.reactify_nested_outer) {\n response.aggregations.reactivesearch_nested = replaceDocCountWithParent(\n response?.aggregations?.reactivesearch_nested?.reactify_nested_outer\n );\n }\n\n return response;\n },\n headers: {\n \"x-reactify-shop\": options.provider.shopifyPermanentDomain,\n \"x-reactify-mode\": options.provider.mode,\n \"x-reactify-client-id\": options.provider.clientId,\n \"x-reactify-client-version\": pkg.version,\n },\n };\n\n return props;\n};\n\nexport const getPropsResults = (\n options: GeneratePropsFilterGroupOptions & {\n scrollTarget?: string | Element | HTMLDocument;\n pageSize?: number;\n onData?: ResultsDataListener;\n }\n) => {\n const includeFieldsProp = (() => {\n return [\n ...(options.provider.includeFields ?? []),\n \"id\",\n \"title\",\n \"type\",\n \"handle\",\n \"image\",\n \"variants.id\",\n \"variants.presentment_prices\",\n \"callout\",\n ];\n })();\n const excludeFieldsProp = (() => {\n return [...(options.provider.excludeFields ?? [])];\n })();\n\n return {\n size: options.pageSize ?? options.filterGroup?.pageSize ?? 20,\n URLParams: options.provider.mode !== \"instant-search\",\n showLoader: false,\n dataField: \"title\",\n showResultStats: false,\n react: getPropsReact(options),\n includeFields: includeFieldsProp,\n excludeFields: excludeFieldsProp,\n scrollTarget: options.scrollTarget,\n componentId: \"page\", // this sets ?page= in the URL\n scrollOnChange: false, // @todo make this better, it's really janky when enabled\n pagination: options.filterGroup?.paginationType !== \"infinite_scroll\",\n infiniteScroll: options.filterGroup?.paginationType === \"infinite_scroll\",\n renderNoResults: () => null, // always use only render, otherwise both are shown\n source: ReactiveList,\n onData: options.onData,\n };\n};\n\nexport const getPropsReact = (options: GeneratePropsFilterGroupOptions, filterGroupOption?: ConfigFilterFacet) => {\n const sensorIds = SENSOR_IDS(options.provider.mode, options.config);\n const reactProp = (() => {\n if (filterGroupOption?.settingsShowEmptyValues) {\n return {\n and: sensorIds,\n };\n }\n\n return {\n and: [\n ...sensorIds,\n ...(options.provider.additionalComponentIds ?? []),\n ...(options.filterGroup?.options.map((filter) => filter.handle) ?? []),\n ].filter((handle) => handle !== filterGroupOption?.handle),\n };\n })();\n\n return reactProp;\n};\n\nexport const getPropsShared = (options: GeneratePropsFilterGroupOptions, filterGroupOption: ConfigFilterFacet) => {\n const reactProp = getPropsReact(options, filterGroupOption);\n const nestedFieldProp = (() => {\n const nestedFields = [\"variants\"];\n const topField = filterGroupOption.field.split(\".\")[0];\n if (nestedFields.includes(topField)) {\n return topField;\n }\n return undefined;\n })();\n const customQueryProp = (() => {\n if (!filterGroupOption.settingsHideUnavailable || !filterGroupOption.field.startsWith(\"variants.\"))\n return undefined;\n\n return (value?: string | string[]) => {\n if (!value) return {};\n\n // reactivesearch sometimes returns string, sometimes string[]\n const valueArray = \"string\" === typeof value ? [value] : value;\n\n if (0 === valueArray.length) return {};\n\n return {\n query: {\n nested: {\n path: \"variants\",\n query: {\n bool: {\n must: [\n {\n match: {\n \"variants.available\": \"true\",\n },\n },\n {\n terms: {\n [filterGroupOption.field]: valueArray,\n },\n },\n ],\n },\n },\n },\n },\n };\n };\n })();\n const defaultQueryProp = (() => {\n if (!filterGroupOption.field.startsWith(\"variants.\")) {\n return undefined;\n }\n\n // override the aggregation query to filter the results by the variants.available attribute\n return () => {\n return {\n aggs: {\n reactivesearch_nested: {\n nested: { path: \"variants\" },\n aggs: {\n reactify_nested_outer: {\n filter: {\n bool: {\n minimum_should_match: 1,\n should: [\n {\n match: {\n \"variants.available\": \"true\",\n },\n },\n {\n match: {\n \"variants.available\": filterGroupOption.settingsHideUnavailable ? \"true\" : \"false\",\n },\n },\n ],\n },\n },\n aggs: {\n [filterGroupOption.field]: {\n terms: {\n field: filterGroupOption.field,\n size: 100,\n order: { _count: \"desc\" },\n },\n aggs: {\n parent_docs: { reverse_nested: {} },\n },\n },\n },\n },\n },\n },\n },\n };\n };\n })();\n const sourceProp = (() => {\n if (filterGroupOption.displayType === \"slider\") {\n return ReactiveComponent;\n }\n if (filterGroupOption.displayType === \"single\") {\n if (filterGroupOption.displayView === \"range\") return SingleRange;\n return SingleList;\n }\n if (filterGroupOption.displayType === \"multi\") {\n if (filterGroupOption.displayView === \"range\") return MultiRange;\n return MultiList;\n }\n\n return;\n })();\n\n const fieldProp = (() => {\n if ([\"price_min\", \"price_max\"].includes(filterGroupOption.field) && options.provider.market) {\n return `${filterGroupOption.field}_market_${options.provider.market}`;\n }\n\n return filterGroupOption.field;\n })();\n\n return {\n URLParams: true,\n componentId: filterGroupOption.handle,\n dataField: fieldProp,\n filterLabel: filterGroupOption.name,\n nestedField: nestedFieldProp,\n customQuery: customQueryProp,\n defaultQuery: defaultQueryProp,\n source: sourceProp,\n react: reactProp,\n };\n};\n\nexport const getPropsFilterList = (filterGroupOption: ConfigFilterFacet) => {\n return {\n size: parseInt(filterGroupOption.displaySize, 10) || undefined,\n queryFormat: filterGroupOption.settingsFilterLogic ?? \"or\",\n showFilter: filterGroupOption.settingsShowFilter ?? true,\n showLoadMore: filterGroupOption.settingsShowMore ?? false,\n showSearch: filterGroupOption.settingsShowSearch ?? false,\n showRadio: false,\n showCheckbox: false,\n };\n};\n\nexport const getPropsFilterRange = (filterGroupOption: ConfigFilterFacet) => {\n const data =\n filterGroupOption.displayRangeOptions?.map((option) => {\n const [label, start, end] = option.split(\":\");\n return {\n label: label,\n start: start ? parseInt(start, 10) : 0,\n end: end ? parseInt(end, 10) : Number.MAX_SAFE_INTEGER,\n };\n }) ?? [];\n\n return {\n queryFormat: filterGroupOption.settingsFilterLogic ?? \"or\",\n showFilter: filterGroupOption.settingsShowFilter ?? true,\n showRadio: false,\n showCheckbox: false,\n data: data,\n };\n};\n\nexport const getPropsFilterSlider = (\n filterGroupOption: ConfigFilterFacet,\n query: Record<string, string> | string,\n value?: [number, number] | []\n) => {\n const filterValue =\n value ??\n JSON.parse(\n new URLSearchParams(typeof window === \"undefined\" ? query : window.location.search).get(\n filterGroupOption.handle\n ) ?? \"[0,0]\"\n );\n\n const defaultQuery = {\n aggs: {\n min: { min: { field: filterGroupOption.field } },\n max: { max: { field: filterGroupOption.field } },\n },\n };\n\n const customQuery = (() => {\n if (filterValue[0] === 0 && filterValue[1] === 0) {\n return;\n }\n\n return {\n query: {\n bool: {\n must: [\n {\n bool: {\n must: [\n { match: { published: true } },\n {\n range: {\n [filterGroupOption.field]: {\n gte: filterValue[0],\n lte: filterValue[1],\n boost: 2,\n },\n },\n },\n ],\n },\n },\n ],\n },\n },\n };\n })();\n\n return { defaultQuery, customQuery };\n};\n"]}
|
|
1
|
+
{"version":3,"file":"props.js","sourceRoot":"","sources":["../../../src/utility/props.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n MultiList,\n MultiRange,\n ReactiveComponent,\n ReactiveList,\n SingleList,\n SingleRange,\n} from \"@usereactify/search-internals\";\nimport { ReactifySearchProviderProps, SENSOR_IDS } from \"../components\";\nimport { Config, ConfigFilter, ConfigFilterFacet, ResultsDataListener } from \"../types\";\nimport { getCuration } from \"./curation\";\nimport { generateSortQuery, generateSortSort, getSortOption } from \"./sortOption\";\nimport { getFilterStack } from \"./filters\";\nimport { replaceDocCountWithParent } from \"../hooks\";\nimport pkg from \"../../package.json\";\nimport { generateCollectionFunctionScore, generateSearchFunctionScore } from \"./queries\";\nimport { SearchableField } from \"../types/firestore\";\n\nexport type GeneratePropsFilterGroupOptions = {\n provider: ReactifySearchProviderProps;\n config: Config;\n filterGroup?: ConfigFilter;\n query?: Record<string, string>;\n};\n\nexport type GeneratePropsSensorOptions = {\n provider: ReactifySearchProviderProps;\n config: Config;\n query?: Record<string, string>;\n};\n\nexport type GeneratePropsBase = {\n provider: ReactifySearchProviderProps;\n config: Config;\n query?: Record<string, string>;\n};\n\nexport const getPropsFilterGroup = (options: GeneratePropsFilterGroupOptions) => {\n return [\n ...(options.filterGroup?.options.map((filterGroupOption) =>\n getPropsFilterGroupOption(options, filterGroupOption)\n ) ?? []),\n ...getPropsSensors(options),\n getPropsResults(options),\n ];\n};\n\nexport const getPropsFilterGroupOption = (\n options: GeneratePropsFilterGroupOptions,\n filterGroupOption: ConfigFilterFacet\n) => {\n let filterProps: Record<string, unknown> = {};\n\n if (filterGroupOption.displayType === \"slider\") {\n const sliderFilterProps = getPropsFilterSlider(filterGroupOption, options.provider.query ?? {});\n filterProps = {\n defaultQuery: () => sliderFilterProps.defaultQuery,\n customQuery: () => sliderFilterProps.customQuery,\n };\n }\n\n if (filterGroupOption.displayType === \"single\" || filterGroupOption.displayType === \"multi\") {\n if (filterGroupOption.displayView === \"range\") {\n filterProps = getPropsFilterRange(filterGroupOption);\n } else {\n filterProps = getPropsFilterList(filterGroupOption);\n }\n }\n const sharedProps = getPropsShared(options, filterGroupOption);\n return { ...sharedProps, ...filterProps };\n};\n\nexport const getPropsSensors = (options: GeneratePropsSensorOptions) => {\n return [\n ...getPropsSensorCustom(options),\n getPropsSensorCollection(options),\n getPropsSensorPublished(options),\n getPropsSensorInventoryAvailable(options),\n getPropsSensorSort(options),\n ].filter(Boolean);\n};\n\nexport const getPropsSensorCustom = (options: GeneratePropsSensorOptions) => {\n const sensorType = options.provider.mode === \"collection\" ? \"collection\" : \"search\";\n\n const sensors = sensorType === \"collection\" ? options.config.sensors.collection : options.config.sensors.search;\n\n return sensors.map((sensor, index) => ({\n source: ReactiveComponent,\n componentId: `SensorCustom_${index}`,\n customQuery: () => sensor,\n }));\n};\n\nexport const getPropsSensorCollection = (options: GeneratePropsSensorOptions) => {\n if (options.provider.mode !== \"collection\") return null;\n return {\n source: ReactiveComponent,\n componentId: \"SensorCollection\",\n customQuery: () => {\n if (options.provider.mode !== \"collection\") return null;\n\n const conditions: Array<unknown> = [];\n const handle = options.provider.collectionHandle;\n const market = options.provider.market;\n\n if (options.provider.market) {\n conditions.push({\n nested: {\n path: \"curations\",\n query: {\n bool: {\n should: [\n {\n nested: {\n path: \"collections\",\n query: { term: { \"collections.handle.keyword\": handle } },\n },\n },\n {\n nested: {\n path: \"curations\",\n query: {\n term: {\n \"curations.collectionHandle.keyword\": handle,\n },\n },\n },\n },\n ],\n must: [\n {\n nested: {\n path: \"curations\",\n query: { term: { \"curations.markets.keyword\": market } },\n },\n },\n ],\n },\n },\n },\n });\n }\n\n return {\n query: {\n bool: {\n should: [\n {\n nested: {\n path: \"collections\",\n query: { term: { \"collections.handle.keyword\": handle } },\n },\n },\n {\n nested: {\n path: \"curations\",\n query: {\n term: { \"curations.collectionHandle.keyword\": handle },\n },\n },\n },\n ],\n },\n },\n };\n },\n };\n};\n\nexport const getPropsSensorCollectionWeighted = ({ provider, config }: GeneratePropsSensorOptions) => {\n if (provider.mode !== \"collection\") return null;\n const handle = provider.collectionHandle;\n const curation = getCuration({ provider, config });\n return {\n source: ReactiveComponent,\n componentId: \"SensorCollectionWeighted\",\n customQuery: () => {\n const function_score = generateCollectionFunctionScore({\n collectionHandle: handle,\n boostingRules: curation?.boostings ?? [],\n curationMarkets: curation?.markets || [],\n currentMarket: provider.market,\n });\n return { query: { function_score } };\n },\n };\n};\n\nexport const getPropsSensorSearchWeighted = ({\n provider,\n config,\n searchTerm,\n}: GeneratePropsSensorOptions & { searchTerm?: string }) => {\n if (provider.mode !== \"search\" && provider.mode !== \"instant-search\") return null;\n if (!searchTerm) return null;\n\n return {\n source: ReactiveComponent,\n componentId: \"SensorSearchWeighted\",\n customQuery: () => {\n const curation = getCuration({ provider, config, searchTerm });\n\n const function_score = generateSearchFunctionScore({\n searchTerm: searchTerm,\n searchableFields: config.searchableFields as SearchableField[],\n boostingRules: curation?.boostings ?? [],\n curationMarkets: curation?.markets || [],\n currentMarket: provider.market,\n });\n\n return { query: { function_score } };\n },\n };\n};\n\nexport const getPropsSensorPublished = (options: GeneratePropsSensorOptions) => {\n return {\n source: ReactiveComponent,\n componentId: \"SensorPublished\",\n customQuery: () => {\n if (options.provider.market) {\n return {\n query: {\n bool: {\n must: [{ match: { markets: options.provider.market } }, { match: { published: true } }],\n },\n },\n };\n }\n return {\n query: { match: { published: true } },\n };\n },\n };\n};\n\nexport const getPropsSensorInventoryAvailable = (options: GeneratePropsSensorOptions) => {\n const filterStack = getFilterStack(options);\n\n if (!filterStack || \"show_all\" === filterStack.inventoryVisibility) {\n return null;\n }\n\n return {\n source: 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: {\n [options.provider.market\n ? `variants.available_market_${options.provider.market}`\n : \"variants.available\"]: true,\n },\n },\n },\n },\n ],\n },\n },\n ...(options.provider.mode === \"instant-search\"\n ? []\n : [\n {\n term: {\n type: {\n value: \"callout\",\n },\n },\n },\n ]),\n ],\n minimum_should_match: \"1\",\n },\n },\n }),\n };\n};\n\nexport const getPropsSensorSort = (\n options: GeneratePropsSensorOptions & {\n searchTerm?: string;\n sortOption?: string;\n }\n) => {\n const curation = getCuration(options);\n const sortOption = getSortOption(options);\n\n const sort = generateSortSort({\n provider: options.provider,\n config: options.config,\n curation: curation,\n sortOption: sortOption,\n });\n const query = generateSortQuery({\n provider: options.provider,\n sortOption: sortOption,\n curation: curation,\n });\n\n return {\n source: ReactiveComponent,\n componentId: \"SensorSort\",\n customQuery: () => ({ sort, query }),\n };\n};\n\nexport const getPropsSensorExplain = (options: GeneratePropsSensorOptions) => {\n // Only enable when devMode is true and weighted search is enabled\n if (!options.provider.devMode) return null;\n if (!options.config.featureFlags?.includes(\"use_weighted_base_search_request\")) return null;\n\n return {\n source: ReactiveComponent,\n componentId: \"SensorExplain\",\n customQuery: () => ({ explain: true }),\n };\n};\n\nexport const getPropsBase = (options: GeneratePropsBase) => {\n const props = {\n app: options.config.index,\n url: options.config.endpoint,\n credentials: options.provider.credentials,\n theme: options.provider.theme,\n initialState: options.provider.preload?.state,\n transformSort: () => {\n const sortSensor = getPropsSensorSort(options);\n const customQuery = sortSensor.customQuery();\n return customQuery.sort;\n },\n transformRequest: (request: any) => {\n if ((request.url as string).endsWith(\"?\")) {\n request.url = request.url.substring(0, request.url.length - 1);\n }\n return request;\n },\n transformResponse: async (response: any) => {\n // support filtering inside nested aggregations by moving the inner aggregation\n // up one level such that reactivesearch understands it\n //\n // see useReactiveFilterListProps > defaultQuery to see how a filter is being applied\n // to variant aggregations to ensure that only in stock sizes are displayed as filter\n // options, this involves a nested filter, which requires this fix\n //\n // https://github.com/appbaseio/reactivesearch/issues/1530\n if (response?.aggregations?.reactivesearch_nested?.reactify_nested_outer) {\n response.aggregations.reactivesearch_nested = replaceDocCountWithParent(\n response?.aggregations?.reactivesearch_nested?.reactify_nested_outer\n );\n }\n\n return response;\n },\n headers: {\n \"x-reactify-shop\": options.provider.shopifyPermanentDomain,\n \"x-reactify-mode\": options.provider.mode,\n \"x-reactify-client-id\": options.provider.clientId,\n \"x-reactify-client-version\": pkg.version,\n },\n };\n\n return props;\n};\n\nexport const getPropsResults = (\n options: GeneratePropsFilterGroupOptions & {\n scrollTarget?: string | Element | HTMLDocument;\n pageSize?: number;\n onData?: ResultsDataListener;\n }\n) => {\n const includeFieldsProp = (() => {\n return [\n ...(options.provider.includeFields ?? []),\n \"id\",\n \"title\",\n \"type\",\n \"handle\",\n \"image\",\n \"variants.id\",\n \"variants.presentment_prices\",\n \"callout\",\n ];\n })();\n const excludeFieldsProp = (() => {\n return [...(options.provider.excludeFields ?? [])];\n })();\n\n return {\n size: options.pageSize ?? options.filterGroup?.pageSize ?? 20,\n URLParams: options.provider.mode === \"instant-search\" ? false : true,\n showLoader: false,\n dataField: \"title\",\n showResultStats: false,\n react: getPropsReact(options),\n includeFields: includeFieldsProp,\n excludeFields: excludeFieldsProp,\n scrollTarget: options.scrollTarget,\n componentId: \"page\", // this sets ?page= in the URL\n scrollOnChange: false, // @todo make this better, it's really janky when enabled\n pagination: options.filterGroup?.paginationType !== \"infinite_scroll\",\n infiniteScroll: options.filterGroup?.paginationType === \"infinite_scroll\",\n renderNoResults: () => null, // always use only render, otherwise both are shown\n source: ReactiveList,\n onData: options.onData,\n };\n};\n\nexport const getPropsReact = (options: GeneratePropsFilterGroupOptions, filterGroupOption?: ConfigFilterFacet) => {\n const sensorIds = SENSOR_IDS(options.provider.mode, options.config);\n const reactProp = (() => {\n if (filterGroupOption?.settingsShowEmptyValues) {\n return {\n and: sensorIds,\n };\n }\n\n return {\n and: [\n ...sensorIds,\n ...(options.provider.additionalComponentIds ?? []),\n ...(options.filterGroup?.options.map((filter) => filter.handle) ?? []),\n ].filter((handle) => handle !== filterGroupOption?.handle),\n };\n })();\n\n return reactProp;\n};\n\nexport const getPropsShared = (options: GeneratePropsFilterGroupOptions, filterGroupOption: ConfigFilterFacet) => {\n const reactProp = getPropsReact(options, filterGroupOption);\n const nestedFieldProp = (() => {\n const nestedFields = [\"variants\"];\n const topField = filterGroupOption.field.split(\".\")[0];\n if (nestedFields.includes(topField)) {\n return topField;\n }\n return undefined;\n })();\n const customQueryProp = (() => {\n if (!filterGroupOption.settingsHideUnavailable || !filterGroupOption.field.startsWith(\"variants.\"))\n return undefined;\n\n return (value?: string | string[]) => {\n if (!value) return {};\n\n // reactivesearch sometimes returns string, sometimes string[]\n const valueArray = \"string\" === typeof value ? [value] : value;\n\n if (0 === valueArray.length) return {};\n\n return {\n query: {\n nested: {\n path: \"variants\",\n query: {\n bool: {\n must: [\n {\n match: {\n \"variants.available\": \"true\",\n },\n },\n {\n terms: {\n [filterGroupOption.field]: valueArray,\n },\n },\n ],\n },\n },\n },\n },\n };\n };\n })();\n const defaultQueryProp = (() => {\n if (!filterGroupOption.field.startsWith(\"variants.\")) {\n return undefined;\n }\n\n // override the aggregation query to filter the results by the variants.available attribute\n return () => {\n return {\n aggs: {\n reactivesearch_nested: {\n nested: { path: \"variants\" },\n aggs: {\n reactify_nested_outer: {\n filter: {\n bool: {\n minimum_should_match: 1,\n should: [\n {\n match: {\n \"variants.available\": \"true\",\n },\n },\n {\n match: {\n \"variants.available\": filterGroupOption.settingsHideUnavailable ? \"true\" : \"false\",\n },\n },\n ],\n },\n },\n aggs: {\n [filterGroupOption.field]: {\n terms: {\n field: filterGroupOption.field,\n size: 100,\n order: { _count: \"desc\" },\n },\n aggs: {\n parent_docs: { reverse_nested: {} },\n },\n },\n },\n },\n },\n },\n },\n };\n };\n })();\n const sourceProp = (() => {\n if (filterGroupOption.displayType === \"slider\") {\n return ReactiveComponent;\n }\n if (filterGroupOption.displayType === \"single\") {\n if (filterGroupOption.displayView === \"range\") return SingleRange;\n return SingleList;\n }\n if (filterGroupOption.displayType === \"multi\") {\n if (filterGroupOption.displayView === \"range\") return MultiRange;\n return MultiList;\n }\n\n return;\n })();\n\n const fieldProp = (() => {\n if ([\"price_min\", \"price_max\"].includes(filterGroupOption.field) && options.provider.market) {\n return `${filterGroupOption.field}_market_${options.provider.market}`;\n }\n\n return filterGroupOption.field;\n })();\n\n return {\n URLParams: true,\n componentId: filterGroupOption.handle,\n dataField: fieldProp,\n filterLabel: filterGroupOption.name,\n nestedField: nestedFieldProp,\n customQuery: customQueryProp,\n defaultQuery: defaultQueryProp,\n source: sourceProp,\n react: reactProp,\n };\n};\n\nexport const getPropsFilterList = (filterGroupOption: ConfigFilterFacet) => {\n return {\n size: parseInt(filterGroupOption.displaySize) || undefined,\n queryFormat: filterGroupOption.settingsFilterLogic ?? \"or\",\n showFilter: filterGroupOption.settingsShowFilter ?? true,\n showLoadMore: filterGroupOption.settingsShowMore ?? false,\n showSearch: filterGroupOption.settingsShowSearch ?? false,\n showRadio: false,\n showCheckbox: false,\n };\n};\n\nexport const getPropsFilterRange = (filterGroupOption: ConfigFilterFacet) => {\n const data =\n filterGroupOption.displayRangeOptions?.map((option) => {\n const [label, start, end] = option.split(\":\");\n return {\n label: label,\n start: start ? parseInt(start) : 0,\n end: end ? parseInt(end) : Number.MAX_SAFE_INTEGER,\n };\n }) ?? [];\n\n return {\n queryFormat: filterGroupOption.settingsFilterLogic ?? \"or\",\n showFilter: filterGroupOption.settingsShowFilter ?? true,\n showRadio: false,\n showCheckbox: false,\n data: data,\n };\n};\n\nexport const getPropsFilterSlider = (\n filterGroupOption: ConfigFilterFacet,\n query: Record<string, string> | string,\n value?: [number, number] | []\n) => {\n const filterValue =\n value ??\n JSON.parse(\n new URLSearchParams(typeof window === \"undefined\" ? query : window.location.search).get(\n filterGroupOption.handle\n ) ?? \"[0,0]\"\n );\n\n const defaultQuery = {\n aggs: {\n min: { min: { field: filterGroupOption.field } },\n max: { max: { field: filterGroupOption.field } },\n },\n };\n\n const customQuery = (() => {\n if (filterValue[0] === 0 && filterValue[1] === 0) {\n return;\n }\n\n return {\n query: {\n bool: {\n must: [\n {\n bool: {\n must: [\n { match: { published: true } },\n {\n range: {\n [filterGroupOption.field]: {\n gte: filterValue[0],\n lte: filterValue[1],\n boost: 2,\n },\n },\n },\n ],\n },\n },\n ],\n },\n },\n };\n })();\n\n return { defaultQuery, customQuery };\n};\n"]}
|