@usereactify/search 5.59.0 → 5.59.1-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 +8 -0
- package/dist/package.json +7 -5
- package/dist/src/components/ClearAll/ClearAll.d.ts +1 -1
- package/dist/src/components/ClearAll/ClearAll.js +4 -9
- 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 +2 -5
- 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 +3 -7
- 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 +31 -66
- 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 +2 -12
- 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 +11 -18
- 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 +3 -8
- 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 +3 -24
- 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 +3 -10
- 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 +3 -8
- 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 +2 -1
- 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 +14 -47
- 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 +2 -6
- 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 +2 -6
- 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 +2 -6
- 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 +2 -4
- 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 +2 -12
- 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 +2 -5
- 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 +2 -5
- 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 +2 -7
- 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 +6 -20
- 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 +7 -10
- 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 +2 -5
- 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 +2 -8
- 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 +2 -7
- 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 +30 -35
- 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 +3 -6
- 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 +4 -9
- 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 +20 -8
- 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 +3 -2
- 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 +4 -3
- 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 +3 -6
- 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 +3 -6
- 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 +3 -6
- 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 +3 -6
- 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 +50 -52
- 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 +3 -6
- 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/SensorCustom.d.ts +1 -2
- package/dist/src/components/Sensor/SensorCustom.js +5 -6
- 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 +1 -2
- package/dist/src/components/Sensor/SensorSearchTerm.js +19 -124
- package/dist/src/components/Sensor/SensorSearchTerm.js.map +1 -1
- 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 +1 -3
- package/dist/src/components/Sensor/Sensors.js +13 -46
- package/dist/src/components/Sensor/Sensors.js.map +1 -1
- package/dist/src/components/Sensor/index.d.ts +7 -9
- package/dist/src/components/Sensor/index.js +6 -10
- 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 +3 -6
- 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 +2 -5
- 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 +7 -8
- 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 +9 -25
- 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 +7 -11
- package/dist/src/hooks/useFilterListProps.js.map +1 -1
- package/dist/src/hooks/useFilterRangeProps.d.ts +1 -1
- package/dist/src/hooks/useFilterRangeProps.js +11 -14
- package/dist/src/hooks/useFilterRangeProps.js.map +1 -1
- package/dist/src/hooks/useFilterSliderProps.d.ts +1 -1
- package/dist/src/hooks/useFilterSliderProps.js +10 -9
- package/dist/src/hooks/useFilterSliderProps.js.map +1 -1
- package/dist/src/hooks/useFilters.d.ts +1 -1
- package/dist/src/hooks/useFilters.js +4 -7
- 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 +6 -14
- package/dist/src/hooks/usePagination.js.map +1 -1
- package/dist/src/hooks/usePaginationLoadable.d.ts +1 -1
- package/dist/src/hooks/usePaginationLoadable.js +3 -5
- package/dist/src/hooks/usePaginationLoadable.js.map +1 -1
- package/dist/src/hooks/useProductPrice.d.ts +1 -1
- package/dist/src/hooks/useProductPrice.js +3 -1
- 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 +8 -9
- 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/search-request-builder/base-builders.d.ts +18 -0
- package/dist/src/search-request-builder/base-builders.js +184 -0
- package/dist/src/search-request-builder/base-builders.js.map +1 -0
- package/dist/src/search-request-builder/curation-builders.d.ts +2 -0
- package/dist/src/search-request-builder/curation-builders.js +44 -0
- package/dist/src/search-request-builder/curation-builders.js.map +1 -0
- package/dist/src/search-request-builder/index.d.ts +3 -0
- package/dist/src/search-request-builder/index.js +12 -0
- package/dist/src/search-request-builder/index.js.map +1 -0
- package/dist/src/search-request-builder/search-request-builder.d.ts +3 -0
- package/dist/src/search-request-builder/search-request-builder.js +54 -0
- package/dist/src/search-request-builder/search-request-builder.js.map +1 -0
- package/dist/src/search-request-builder/types.d.ts +105 -0
- package/dist/src/search-request-builder/types.js +30 -0
- package/dist/src/search-request-builder/types.js.map +1 -0
- package/dist/src/search-request-builder/utils.d.ts +27 -0
- package/dist/src/search-request-builder/utils.js +144 -0
- package/dist/src/search-request-builder/utils.js.map +1 -0
- 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 +8 -11
- 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 +1 -1
- package/dist/src/utility/config.js +1 -1
- 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 +2 -5
- package/dist/src/utility/liquid.js.map +1 -1
- package/dist/src/utility/props.d.ts +7 -226
- package/dist/src/utility/props.js +61 -108
- package/dist/src/utility/props.js.map +1 -1
- package/dist/src/utility/server.d.ts +1 -1
- package/dist/src/utility/server.js +3 -3
- 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 +7 -5
- package/dist/src/components/Sensor/SensorCollectionWeighted.d.ts +0 -1
- package/dist/src/components/Sensor/SensorCollectionWeighted.js +0 -21
- package/dist/src/components/Sensor/SensorCollectionWeighted.js.map +0 -1
- package/dist/src/components/Sensor/SensorSearchWeighted.d.ts +0 -1
- package/dist/src/components/Sensor/SensorSearchWeighted.js +0 -22
- package/dist/src/components/Sensor/SensorSearchWeighted.js.map +0 -1
- package/dist/src/utility/queries.d.ts +0 -393
- package/dist/src/utility/queries.js +0 -197
- package/dist/src/utility/queries.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCuration.js","sourceRoot":"","sources":["../../../src/hooks/useCuration.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;
|
|
1
|
+
{"version":3,"file":"useCuration.js","sourceRoot":"","sources":["../../../src/hooks/useCuration.ts"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { useReactifySearchContext, useSearch } from \"../hooks\";\nimport type { ConfigCuration } from \"../types\";\nimport { debug } from \"../utility\";\n\nexport const useCuration = (): {\n curation?: ConfigCuration;\n} => {\n const { options, config } = useReactifySearchContext();\n const { searchTerm } = useSearch();\n\n const curation = React.useMemo(() => {\n const handleOrSearchTerm = options.mode === \"collection\" ? options.collectionHandle : searchTerm;\n\n const normalisedHandleOrSearchTerm = handleOrSearchTerm.toLowerCase().trim();\n\n const globalCuration = config.curations.find((curation) => {\n if (options.mode === \"search\") {\n if (options.market) {\n return curation.id === `global_${options.market}_search`;\n } else {\n return curation.id === \"global_search\";\n }\n }\n if (options.mode === \"instant-search\") {\n if (options.market) {\n return curation.id === `global_${options.market}_search`;\n } else {\n return curation.id === \"global_search\";\n }\n }\n if (options.mode === \"collection\") {\n if (options.market) {\n return curation.id === `global_${options.market}_collection`;\n } else {\n return curation.id === \"global_collection\";\n }\n }\n return false;\n });\n\n const curation = config.curations.find((curation) => {\n if (options.market) {\n if (curation.markets && !curation.markets.includes(options.market)) {\n return false;\n }\n }\n\n const normalisedSearchTerm = curation.searchTerm?.toLowerCase().trim();\n const normalisedCollectionHandle = curation.collectionHandle?.toLowerCase().trim();\n\n if (\"instant-search\" === options.mode) {\n return \"search\" === curation.type && normalisedHandleOrSearchTerm === normalisedSearchTerm;\n }\n\n if (\"search\" === options.mode) {\n return \"search\" === curation.type && normalisedHandleOrSearchTerm === normalisedSearchTerm;\n }\n\n if (\"collection\" === options.mode) {\n return \"collection\" === curation.type && normalisedHandleOrSearchTerm === normalisedCollectionHandle;\n }\n\n return false;\n });\n\n const addGlobalBoosting = (curation: ConfigCuration) => {\n if (!globalCuration) return curation;\n\n const curationHasRules = !!curation.boosting.groupings.length || !!curation.boosting.sortings.length;\n\n if (curationHasRules) return curation;\n\n const curationWithGlobalBoosting = {\n ...curation,\n boosting: globalCuration.boosting,\n } as ConfigCuration;\n\n return curationWithGlobalBoosting;\n };\n\n return curation ? addGlobalBoosting(curation) : globalCuration ? globalCuration : undefined;\n }, [config, searchTerm, options]);\n\n React.useEffect(() => {\n debug.log(\"useCuration\", \"curation\", curation);\n }, [curation]);\n\n return {\n curation: curation,\n };\n};\n"]}
|
|
@@ -9,10 +9,10 @@ const utility_1 = require("../utility");
|
|
|
9
9
|
const useDebugger = (namespace, message, value) => {
|
|
10
10
|
react_1.default.useEffect(() => {
|
|
11
11
|
utility_1.debug.log(namespace, message, value);
|
|
12
|
-
}, [value]);
|
|
12
|
+
}, [value, message, namespace]);
|
|
13
13
|
};
|
|
14
14
|
exports.useDebugger = useDebugger;
|
|
15
|
-
|
|
15
|
+
const useDebuggerOnceCache = {};
|
|
16
16
|
const useDebuggerOnce = (namespace, message, value) => {
|
|
17
17
|
react_1.default.useEffect(() => {
|
|
18
18
|
if (useDebuggerOnceCache[`${namespace}:${message}`]) {
|
|
@@ -20,7 +20,7 @@ const useDebuggerOnce = (namespace, message, value) => {
|
|
|
20
20
|
}
|
|
21
21
|
useDebuggerOnceCache[`${namespace}:${message}`] = true;
|
|
22
22
|
utility_1.debug.log(namespace, message, value);
|
|
23
|
-
}, []);
|
|
23
|
+
}, [message, namespace, value]);
|
|
24
24
|
};
|
|
25
25
|
exports.useDebuggerOnce = useDebuggerOnce;
|
|
26
26
|
//# sourceMappingURL=useDebugger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDebugger.js","sourceRoot":"","sources":["../../../src/hooks/useDebugger.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;
|
|
1
|
+
{"version":3,"file":"useDebugger.js","sourceRoot":"","sources":["../../../src/hooks/useDebugger.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,wCAAmC;AAE5B,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,OAAe,EAAE,KAAc,EAAE,EAAE;IAChF,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,eAAK,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC;AAJW,QAAA,WAAW,eAItB;AAEF,MAAM,oBAAoB,GAAyB,EAAE,CAAC;AAE/C,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAE,OAAe,EAAE,KAAc,EAAE,EAAE;IACpF,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,oBAAoB,CAAC,GAAG,SAAS,IAAI,OAAO,EAAE,CAAC,EAAE,CAAC;YACpD,OAAO;QACT,CAAC;QAED,oBAAoB,CAAC,GAAG,SAAS,IAAI,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;QAEvD,eAAK,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC;AAVW,QAAA,eAAe,mBAU1B","sourcesContent":["import React from \"react\";\nimport { debug } from \"../utility\";\n\nexport const useDebugger = (namespace: string, message: string, value: unknown) => {\n React.useEffect(() => {\n debug.log(namespace, message, value);\n }, [value, message, namespace]);\n};\n\nconst useDebuggerOnceCache: Record<string, true> = {};\n\nexport const useDebuggerOnce = (namespace: string, message: string, value: unknown) => {\n React.useEffect(() => {\n if (useDebuggerOnceCache[`${namespace}:${message}`]) {\n return;\n }\n\n useDebuggerOnceCache[`${namespace}:${message}`] = true;\n\n debug.log(namespace, message, value);\n }, [message, namespace, value]);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilterCollapsedState.js","sourceRoot":"","sources":["../../../src/hooks/useFilterCollapsedState.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;
|
|
1
|
+
{"version":3,"file":"useFilterCollapsedState.js","sourceRoot":"","sources":["../../../src/hooks/useFilterCollapsedState.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAGnB,MAAM,uBAAuB,GAAG,CACrC,MAAyB,EAOzB,EAAE;IACF,uFAAuF;IACvF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAU,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAE3F,iGAAiG;IACjG,8CAA8C;IAC9C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAU,CAAC,SAAS,CAAC,CAAC;IAE5E,2CAA2C;IAC3C,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,SAAS;YAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO;QACL,SAAS;QACT,YAAY;QACZ,aAAa,EAAE,eAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QAC9D,aAAa,EAAE,eAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QAC/D,eAAe,EAAE,eAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;KACtF,CAAC;AACJ,CAAC,CAAC;AA5BW,QAAA,uBAAuB,2BA4BlC","sourcesContent":["import React from \"react\";\nimport type { ConfigFilterFacet } from \"../types/config\";\n\nexport const useFilterCollapsedState = (\n filter: ConfigFilterFacet\n): {\n collapsed: boolean;\n shouldRender: boolean;\n collapsedShow: () => void;\n collapsedHide: () => void;\n collapsedToggle: () => void;\n} => {\n // @todo use settingsCollapsedDesktop and settingsCollapsedMobile with device detection\n const [collapsed, setCollapsed] = React.useState<boolean>(filter.settingsCollapsedDesktop);\n\n // when the filter is shown, it needs to stay rendered or when it's collapsed, the filter context\n // will be lost which isn't expected behaviour\n const [shouldRender, setShouldRender] = React.useState<boolean>(!collapsed);\n\n // enable render when filter is uncollapsed\n React.useEffect(() => {\n if (!collapsed) setShouldRender(true);\n }, [collapsed]);\n\n return {\n collapsed,\n shouldRender,\n collapsedShow: React.useCallback(() => setCollapsed(true), []),\n collapsedHide: React.useCallback(() => setCollapsed(false), []),\n collapsedToggle: React.useCallback(() => setCollapsed((collapsed) => !collapsed), []),\n };\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ConfigFilterFacet } from "../types/config";
|
|
2
|
-
import { ReactivesearchFilterListProps } from "../types/reactivesearch";
|
|
1
|
+
import type { ConfigFilterFacet } from "../types/config";
|
|
2
|
+
import type { ReactivesearchFilterListProps } from "../types/reactivesearch";
|
|
3
3
|
export declare const useFilterListProps: (filter: ConfigFilterFacet, reactivesearchFilterProps: ReactivesearchFilterListProps) => ReactivesearchFilterListProps & {
|
|
4
4
|
filter: ConfigFilterFacet;
|
|
5
5
|
options: Array<{
|
|
@@ -52,14 +52,14 @@ const useFilterListProps = (filter, reactivesearchFilterProps) => {
|
|
|
52
52
|
value: key,
|
|
53
53
|
},
|
|
54
54
|
});
|
|
55
|
-
}, [filter]);
|
|
55
|
+
}, [filter, reactivesearchFilterProps.handleChange, track]);
|
|
56
56
|
const customSortOrder = (_a = filter.customSortOrder) === null || _a === void 0 ? void 0 : _a.split(",").map((item) => item.trim().toUpperCase());
|
|
57
57
|
const filterListProps = react_1.default.useMemo(() => {
|
|
58
58
|
var _a, _b, _c;
|
|
59
59
|
let data = reactivesearchFilterProps.data;
|
|
60
60
|
if ((_c = (_b = (_a = reactivesearchFilterProps === null || reactivesearchFilterProps === void 0 ? void 0 : reactivesearchFilterProps.rawData) === null || _a === void 0 ? void 0 : _a.aggregations) === null || _b === void 0 ? void 0 : _b.reactivesearch_nested) === null || _c === void 0 ? void 0 : _c.reactify_nested_outer) {
|
|
61
61
|
const nestedOptions = (0, hooks_1.replaceDocCountWithParent)(reactivesearchFilterProps.rawData.aggregations.reactivesearch_nested.reactify_nested_outer);
|
|
62
|
-
const nestedOptionsKey = Object.keys(nestedOptions).filter(key => key !== "doc_count");
|
|
62
|
+
const nestedOptionsKey = Object.keys(nestedOptions).filter((key) => key !== "doc_count");
|
|
63
63
|
data = nestedOptions[nestedOptionsKey[0]].buckets;
|
|
64
64
|
}
|
|
65
65
|
// remove excluded options, sort alphabeticaly, map checked boolean
|
|
@@ -72,32 +72,28 @@ const useFilterListProps = (filter, reactivesearchFilterProps) => {
|
|
|
72
72
|
return false;
|
|
73
73
|
return true;
|
|
74
74
|
})
|
|
75
|
-
.sort((a, b) => DEFAULT_NUMERIC_SORT.indexOf(a.key) -
|
|
76
|
-
DEFAULT_NUMERIC_SORT.indexOf(b.key))
|
|
75
|
+
.sort((a, b) => DEFAULT_NUMERIC_SORT.indexOf(a.key) - DEFAULT_NUMERIC_SORT.indexOf(b.key))
|
|
77
76
|
.sort((a, b) => new Intl.Collator("en", { numeric: true, sensitivity: "base" }).compare(a.key, b.key))
|
|
78
77
|
.sort((a, b) => {
|
|
79
78
|
if (!customSortOrder || customSortOrder.length === 0) {
|
|
80
79
|
return (DEFAULT_ALPHABETICAL_SORT.indexOf(a.key.toUpperCase()) -
|
|
81
80
|
DEFAULT_ALPHABETICAL_SORT.indexOf(b.key.toUpperCase()));
|
|
82
81
|
}
|
|
83
|
-
return (
|
|
84
|
-
(customSortOrder === null || customSortOrder === void 0 ? void 0 : customSortOrder.indexOf(b.key.toUpperCase())));
|
|
82
|
+
return (customSortOrder === null || customSortOrder === void 0 ? void 0 : customSortOrder.indexOf(a.key.toUpperCase())) - (customSortOrder === null || customSortOrder === void 0 ? void 0 : customSortOrder.indexOf(b.key.toUpperCase()));
|
|
85
83
|
})
|
|
86
|
-
.map((option) => (Object.assign(Object.assign({}, option), { label: filter.settingsUppercase ? option.key.toUpperCase() : option.key, checked: (typeof reactivesearchFilterProps.value === "object" &&
|
|
87
|
-
reactivesearchFilterProps.value[option.key]) ||
|
|
84
|
+
.map((option) => (Object.assign(Object.assign({}, option), { label: filter.settingsUppercase ? option.key.toUpperCase() : option.key, checked: (typeof reactivesearchFilterProps.value === "object" && reactivesearchFilterProps.value[option.key]) ||
|
|
88
85
|
reactivesearchFilterProps.value === option.key })));
|
|
89
86
|
// work out if at least one option selected
|
|
90
87
|
const hasSelected = (typeof reactivesearchFilterProps.value === "object" &&
|
|
91
88
|
0 < Object.keys(reactivesearchFilterProps.value).length) ||
|
|
92
|
-
(typeof reactivesearchFilterProps.value !== "object" &&
|
|
93
|
-
!!reactivesearchFilterProps.value);
|
|
89
|
+
(typeof reactivesearchFilterProps.value !== "object" && !!reactivesearchFilterProps.value);
|
|
94
90
|
const totalSelected = options.filter((option) => option.checked).length;
|
|
95
91
|
return Object.assign(Object.assign({}, reactivesearchFilterProps), { handleChange,
|
|
96
92
|
filter,
|
|
97
93
|
options,
|
|
98
94
|
hasSelected,
|
|
99
95
|
totalSelected });
|
|
100
|
-
}, [filter, handleChange, reactivesearchFilterProps]);
|
|
96
|
+
}, [filter, handleChange, reactivesearchFilterProps, customSortOrder]);
|
|
101
97
|
return filterListProps;
|
|
102
98
|
};
|
|
103
99
|
exports.useFilterListProps = useFilterListProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilterListProps.js","sourceRoot":"","sources":["../../../src/hooks/useFilterListProps.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;
|
|
1
|
+
{"version":3,"file":"useFilterListProps.js","sourceRoot":"","sources":["../../../src/hooks/useFilterListProps.ts"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { replaceDocCountWithParent, useAnalytics } from \"../hooks\";\nimport type { ConfigFilterFacet } from \"../types/config\";\nimport type { ReactivesearchFilterListProps } from \"../types/reactivesearch\";\nimport { debug } from \"../utility\";\n\nconst DEFAULT_NUMERIC_SORT = [\"0000\", \"000\", \"00\", \"0\"];\nconst DEFAULT_ALPHABETICAL_SORT = [\n \"SINGLE\",\n \"DOUBLE\",\n \"QUEEN\",\n \"KING\",\n \"SUPER KING\",\n \"XXXS\",\n \"XXS\",\n \"XS\",\n \"XS/S\",\n \"S\",\n \"SM\",\n \"S/M\",\n \"M\",\n \"ML\",\n \"M/L\",\n \"L\",\n \"LXL\",\n \"L/XL\",\n \"XL\",\n \"2L\",\n \"XXL\",\n \"3L\",\n \"XXXL\",\n \"4L\",\n \"5L\",\n \"6L\",\n \"OS\",\n \"ONESIZE\",\n];\n\n// converts reactivesearch props returned in filters to a cleaned up/filtered version\nexport const useFilterListProps = (\n filter: ConfigFilterFacet,\n reactivesearchFilterProps: ReactivesearchFilterListProps\n): ReactivesearchFilterListProps & {\n filter: ConfigFilterFacet;\n options: Array<{\n doc_count: number;\n key: string;\n label: string;\n checked: boolean;\n }>;\n hasSelected: boolean;\n totalSelected: number;\n} => {\n const { track } = useAnalytics();\n\n const handleChange = React.useCallback(\n (key: string) => {\n debug.log(\"useFilterListProps\", \"handleChange[key]\", key);\n\n reactivesearchFilterProps.handleChange(key);\n track({\n eventName: \"filterChange\",\n payload: {\n name: filter.name,\n value: key,\n },\n });\n },\n [filter, reactivesearchFilterProps.handleChange, track]\n );\n\n const customSortOrder = filter.customSortOrder?.split(\",\").map((item) => item.trim().toUpperCase());\n\n const filterListProps = React.useMemo(() => {\n let data = reactivesearchFilterProps.data;\n if (reactivesearchFilterProps?.rawData?.aggregations?.reactivesearch_nested?.reactify_nested_outer) {\n const nestedOptions = replaceDocCountWithParent(\n reactivesearchFilterProps.rawData.aggregations.reactivesearch_nested.reactify_nested_outer\n );\n const nestedOptionsKey = Object.keys(nestedOptions).filter((key) => key !== \"doc_count\");\n data = nestedOptions[nestedOptionsKey[0]].buckets;\n }\n\n // remove excluded options, sort alphabeticaly, map checked boolean\n const options = data\n .filter(({ key }) => {\n if (filter.valuesExclude?.includes(key)) return false;\n if (!!filter.valuesManual?.length && !filter.valuesManual.includes(key)) return false;\n return true;\n })\n .sort((a, b) => DEFAULT_NUMERIC_SORT.indexOf(a.key) - DEFAULT_NUMERIC_SORT.indexOf(b.key))\n .sort((a, b) => new Intl.Collator(\"en\", { numeric: true, sensitivity: \"base\" }).compare(a.key, b.key))\n .sort((a, b) => {\n if (!customSortOrder || customSortOrder.length === 0) {\n return (\n DEFAULT_ALPHABETICAL_SORT.indexOf(a.key.toUpperCase()) -\n DEFAULT_ALPHABETICAL_SORT.indexOf(b.key.toUpperCase())\n );\n }\n\n return customSortOrder?.indexOf(a.key.toUpperCase()) - customSortOrder?.indexOf(b.key.toUpperCase());\n })\n .map((option) => ({\n ...option,\n label: filter.settingsUppercase ? option.key.toUpperCase() : option.key,\n checked:\n (typeof reactivesearchFilterProps.value === \"object\" && reactivesearchFilterProps.value[option.key]) ||\n reactivesearchFilterProps.value === option.key,\n }));\n\n // work out if at least one option selected\n const hasSelected =\n (typeof reactivesearchFilterProps.value === \"object\" &&\n 0 < Object.keys(reactivesearchFilterProps.value).length) ||\n (typeof reactivesearchFilterProps.value !== \"object\" && !!reactivesearchFilterProps.value);\n\n const totalSelected = options.filter((option) => option.checked).length;\n\n return {\n ...reactivesearchFilterProps,\n handleChange,\n filter,\n options,\n hasSelected,\n totalSelected,\n };\n }, [filter, handleChange, reactivesearchFilterProps, customSortOrder]);\n\n return filterListProps;\n};\n"]}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.useFilterRangeProps = void 0;
|
|
7
|
-
const react_1 =
|
|
4
|
+
const react_1 = require("react");
|
|
8
5
|
const hooks_1 = require("../hooks");
|
|
9
6
|
const utility_1 = require("../utility");
|
|
10
7
|
const useFilterRangeProps = (filter) => {
|
|
11
8
|
const context = (0, hooks_1.useReactifySearchContext)();
|
|
12
9
|
const { track } = (0, hooks_1.useAnalytics)();
|
|
13
|
-
const [filterValues, setFilterValues] = react_1.
|
|
14
|
-
const handleChange = react_1.
|
|
10
|
+
const [filterValues, setFilterValues] = (0, react_1.useState)([]);
|
|
11
|
+
const handleChange = (0, react_1.useCallback)((key) => {
|
|
15
12
|
utility_1.debug.log("useFilterRangeMultiProps", "handleChange[key]", key);
|
|
16
13
|
if (filter.displayType === "multi") {
|
|
17
14
|
const selected = filterValues.find((item) => item === key)
|
|
@@ -29,11 +26,11 @@ const useFilterRangeProps = (filter) => {
|
|
|
29
26
|
value: key,
|
|
30
27
|
},
|
|
31
28
|
});
|
|
32
|
-
}, [filter, filterValues]);
|
|
33
|
-
const handleClear = react_1.
|
|
29
|
+
}, [filter, filterValues, track]);
|
|
30
|
+
const handleClear = (0, react_1.useCallback)(() => {
|
|
34
31
|
setFilterValues([]);
|
|
35
32
|
}, []);
|
|
36
|
-
react_1.
|
|
33
|
+
(0, react_1.useEffect)(() => {
|
|
37
34
|
var _a;
|
|
38
35
|
try {
|
|
39
36
|
if (filter.displayView === "range") {
|
|
@@ -45,15 +42,15 @@ const useFilterRangeProps = (filter) => {
|
|
|
45
42
|
catch (error) {
|
|
46
43
|
console.error(error);
|
|
47
44
|
}
|
|
48
|
-
}, []);
|
|
49
|
-
react_1.
|
|
45
|
+
}, [filter.displayView, filter.handle]);
|
|
46
|
+
(0, react_1.useEffect)(() => {
|
|
50
47
|
const handler = (event) => {
|
|
51
48
|
setFilterValues(event.detail.value);
|
|
52
49
|
};
|
|
53
50
|
window.addEventListener(`@usereactify/search:${context.options.mode}:filter:${filter.handle}:update`, handler);
|
|
54
51
|
return () => window.removeEventListener(`@usereactify/search:${context.options.mode}:filter:${filter.handle}:update`, handler);
|
|
55
|
-
}, [context.options.mode]);
|
|
56
|
-
const filterRangeProps = react_1.
|
|
52
|
+
}, [context.options.mode, filter]);
|
|
53
|
+
const filterRangeProps = (0, react_1.useMemo)(() => {
|
|
57
54
|
var _a, _b;
|
|
58
55
|
const options = (_b = (_a = filter.displayRangeOptions) === null || _a === void 0 ? void 0 : _a.map((option) => {
|
|
59
56
|
const [key] = option.split(":");
|
|
@@ -70,7 +67,7 @@ const useFilterRangeProps = (filter) => {
|
|
|
70
67
|
values: filterValues,
|
|
71
68
|
options,
|
|
72
69
|
};
|
|
73
|
-
}, [filter, filterValues, handleChange]);
|
|
70
|
+
}, [filter, filterValues, handleChange, handleClear]);
|
|
74
71
|
return filterRangeProps;
|
|
75
72
|
};
|
|
76
73
|
exports.useFilterRangeProps = useFilterRangeProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilterRangeProps.js","sourceRoot":"","sources":["../../../src/hooks/useFilterRangeProps.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useFilterRangeProps.js","sourceRoot":"","sources":["../../../src/hooks/useFilterRangeProps.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { useAnalytics, useReactifySearchContext } from \"../hooks\";\nimport type { ConfigFilterFacet } from \"../types/config\";\nimport { debug } from \"../utility\";\n\nexport const useFilterRangeProps = (\n filter: ConfigFilterFacet\n): {\n filter: ConfigFilterFacet;\n options: Array<{\n key: string;\n label: string;\n checked: boolean;\n }>;\n values: string[];\n handleChange: (key: string) => void;\n handleClear: () => void;\n} => {\n const context = useReactifySearchContext();\n const { track } = useAnalytics();\n const [filterValues, setFilterValues] = useState<string[]>([]);\n\n const handleChange = useCallback(\n (key: string) => {\n debug.log(\"useFilterRangeMultiProps\", \"handleChange[key]\", key);\n\n if (filter.displayType === \"multi\") {\n const selected = filterValues.find((item: string) => item === key)\n ? filterValues.filter((value) => value !== key)\n : [...filterValues, key];\n\n setFilterValues(selected);\n }\n if (filter.displayType === \"single\") {\n setFilterValues([key]);\n }\n\n track({\n eventName: \"filterChange\",\n payload: {\n name: filter.name,\n value: key,\n },\n });\n },\n [filter, filterValues, track]\n );\n\n const handleClear = useCallback(() => {\n setFilterValues([]);\n }, []);\n\n useEffect(() => {\n try {\n if (filter.displayView === \"range\") {\n const url = new URL(window.location.href);\n const value = JSON.parse(url.searchParams.get(filter.handle) ?? \"[]\");\n setFilterValues(value);\n }\n } catch (error) {\n console.error(error);\n }\n }, [filter.displayView, filter.handle]);\n\n useEffect(() => {\n const handler = (event: CustomEvent<{ handle: string; value: Array<string> }>) => {\n setFilterValues(event.detail.value);\n };\n window.addEventListener(\n `@usereactify/search:${context.options.mode}:filter:${filter.handle}:update`,\n handler as EventListener\n );\n\n return () =>\n window.removeEventListener(\n `@usereactify/search:${context.options.mode}:filter:${filter.handle}:update`,\n handler as EventListener\n );\n }, [context.options.mode, filter]);\n\n const filterRangeProps = useMemo(() => {\n const options =\n filter.displayRangeOptions?.map((option) => {\n const [key] = option.split(\":\");\n return {\n key: key,\n label: filter.settingsUppercase ? key.toUpperCase() : key,\n checked: filterValues.includes(key),\n };\n }) ?? [];\n\n return {\n handleChange,\n handleClear,\n filter,\n values: filterValues,\n options,\n };\n }, [filter, filterValues, handleChange, handleClear]);\n\n return filterRangeProps;\n};\n"]}
|
|
@@ -14,7 +14,10 @@ const useFilterSliderProps = (filter) => {
|
|
|
14
14
|
const urlSearchParam = new URLSearchParams(typeof window === "undefined" ? context.options.query : window.location.search);
|
|
15
15
|
const [filterValue, setFilterValue] = react_1.default.useState(JSON.parse((_a = urlSearchParam.get(filter.handle)) !== null && _a !== void 0 ? _a : "[0,0]"));
|
|
16
16
|
const handleChange = react_1.default.useCallback((value) => {
|
|
17
|
-
const valueFormatted = [
|
|
17
|
+
const valueFormatted = [
|
|
18
|
+
parseInt(parseInt(`${value[0]}`, 10).toFixed(0), 10),
|
|
19
|
+
parseInt(parseInt(`${value[1]}`, 10).toFixed(0), 10),
|
|
20
|
+
];
|
|
18
21
|
utility_1.debug.log("useFilterSliderProps", "handleChange[valueFormatted]", valueFormatted);
|
|
19
22
|
setFilterValue(valueFormatted);
|
|
20
23
|
track({
|
|
@@ -24,27 +27,25 @@ const useFilterSliderProps = (filter) => {
|
|
|
24
27
|
value: `${valueFormatted[0]}:${valueFormatted[1]}`,
|
|
25
28
|
},
|
|
26
29
|
});
|
|
27
|
-
}, [filter]);
|
|
30
|
+
}, [filter, track]);
|
|
28
31
|
react_1.default.useEffect(() => {
|
|
29
32
|
const handler = (event) => {
|
|
30
33
|
var _a;
|
|
31
|
-
const valueFormatted = ((_a = event.detail.value) === null || _a === void 0 ? void 0 : _a.length) > 0
|
|
34
|
+
const valueFormatted = ((_a = event.detail.value) === null || _a === void 0 ? void 0 : _a.length) > 0
|
|
35
|
+
? [parseInt(event.detail.value[0].toFixed(0), 10), parseInt(event.detail.value[0].toFixed(0), 10)]
|
|
36
|
+
: [];
|
|
32
37
|
setFilterValue(valueFormatted);
|
|
33
38
|
};
|
|
34
39
|
window.addEventListener(`@usereactify/search:${context.options.mode}:filter:${filter.handle}:update`, handler);
|
|
35
40
|
return () => window.removeEventListener(`@usereactify/search:${context.options.mode}:filter:${filter.handle}:update`, handler);
|
|
36
|
-
}, [context.options.mode]);
|
|
41
|
+
}, [context.options.mode, filter.handle]);
|
|
37
42
|
const filterSliderProps = react_1.default.useMemo(() => {
|
|
38
43
|
return {
|
|
39
44
|
handleChange,
|
|
40
45
|
filter,
|
|
41
46
|
value: filterValue,
|
|
42
47
|
};
|
|
43
|
-
}, [
|
|
44
|
-
handleChange,
|
|
45
|
-
filter,
|
|
46
|
-
filterValue,
|
|
47
|
-
]);
|
|
48
|
+
}, [handleChange, filter, filterValue]);
|
|
48
49
|
return filterSliderProps;
|
|
49
50
|
};
|
|
50
51
|
exports.useFilterSliderProps = useFilterSliderProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilterSliderProps.js","sourceRoot":"","sources":["../../../src/hooks/useFilterSliderProps.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;
|
|
1
|
+
{"version":3,"file":"useFilterSliderProps.js","sourceRoot":"","sources":["../../../src/hooks/useFilterSliderProps.ts"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { useAnalytics, useReactifySearchContext } from \"../hooks\";\nimport type { ConfigFilterFacet } from \"../types/config\";\nimport { debug } from \"../utility\";\n\nexport const useFilterSliderProps = (\n filter: ConfigFilterFacet\n): {\n filter: ConfigFilterFacet;\n value: [number, number] | [];\n handleChange: (value: [number | string, number | string] | []) => void;\n} => {\n const context = useReactifySearchContext();\n const { track } = useAnalytics();\n\n const urlSearchParam = new URLSearchParams(\n typeof window === \"undefined\" ? context.options.query : window.location.search\n );\n const [filterValue, setFilterValue] = React.useState<ReturnType<typeof useFilterSliderProps>[\"value\"]>(\n JSON.parse(urlSearchParam.get(filter.handle) ?? \"[0,0]\")\n );\n\n const handleChange = React.useCallback<ReturnType<typeof useFilterSliderProps>[\"handleChange\"]>(\n (value) => {\n const valueFormatted: [number, number] = [\n parseInt(parseInt(`${value[0]}`, 10).toFixed(0), 10),\n parseInt(parseInt(`${value[1]}`, 10).toFixed(0), 10),\n ];\n\n debug.log(\"useFilterSliderProps\", \"handleChange[valueFormatted]\", valueFormatted);\n\n setFilterValue(valueFormatted);\n\n track({\n eventName: \"filterChange\",\n payload: {\n name: filter.name,\n value: `${valueFormatted[0]}:${valueFormatted[1]}`,\n },\n });\n },\n [filter, track]\n );\n\n React.useEffect(() => {\n const handler = (event: CustomEvent<{ handle: string; value: [number, number] }>) => {\n const valueFormatted: [number, number] | [] =\n event.detail.value?.length > 0\n ? [parseInt(event.detail.value[0].toFixed(0), 10), parseInt(event.detail.value[0].toFixed(0), 10)]\n : [];\n setFilterValue(valueFormatted);\n };\n window.addEventListener(\n `@usereactify/search:${context.options.mode}:filter:${filter.handle}:update`,\n handler as EventListener\n );\n\n return () =>\n window.removeEventListener(\n `@usereactify/search:${context.options.mode}:filter:${filter.handle}:update`,\n handler as EventListener\n );\n }, [context.options.mode, filter.handle]);\n\n const filterSliderProps = React.useMemo(() => {\n return {\n handleChange,\n filter,\n value: filterValue,\n };\n }, [handleChange, filter, filterValue]);\n\n return filterSliderProps;\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ConfigFilter, ConfigFilterFacet } from "../types";
|
|
1
|
+
import type { ConfigFilter, ConfigFilterFacet } from "../types";
|
|
2
2
|
export declare const useFilters: () => {
|
|
3
3
|
/** The currently selected filter stack, based on mode, curation and more */
|
|
4
4
|
filterStack?: ConfigFilter;
|
|
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.useFilters = void 0;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
// @ts-expect-error missing types
|
|
9
|
-
const utils_1 = require("@usereactify/search-internals/lib/utils");
|
|
10
|
-
// @ts-expect-error missing types
|
|
11
9
|
const actions_1 = require("@appbaseio/reactivecore/lib/actions");
|
|
10
|
+
// @ts-expect-error missing types
|
|
11
|
+
const utils_1 = require("@usereactify/search-internals/lib/utils");
|
|
12
12
|
const hooks_1 = require("../hooks");
|
|
13
13
|
const utility_1 = require("../utility");
|
|
14
14
|
const useFilters = () => {
|
|
@@ -45,12 +45,9 @@ const useFilters = () => {
|
|
|
45
45
|
// select any available filter as a last resort
|
|
46
46
|
matchingFilters = config.filters[0];
|
|
47
47
|
return matchingFilters;
|
|
48
|
-
}, [
|
|
49
|
-
config,
|
|
50
|
-
options.mode === "collection" ? options.collectionHandle : undefined,
|
|
51
|
-
]);
|
|
48
|
+
}, [config, options]);
|
|
52
49
|
const filters = react_1.default.useMemo(() => {
|
|
53
|
-
const sortedFilters = filterStack === null || filterStack === void 0 ? void 0 : filterStack.options.sort((a, b) => a.position > b.position ? 1 : -1);
|
|
50
|
+
const sortedFilters = filterStack === null || filterStack === void 0 ? void 0 : filterStack.options.sort((a, b) => (a.position > b.position ? 1 : -1));
|
|
54
51
|
return sortedFilters;
|
|
55
52
|
}, [filterStack]);
|
|
56
53
|
const selected = react_1.default.useMemo(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilters.js","sourceRoot":"","sources":["../../../src/hooks/useFilters.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,iCAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"useFilters.js","sourceRoot":"","sources":["../../../src/hooks/useFilters.ts"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\n// @ts-expect-error missing types\nimport { setValue } from \"@appbaseio/reactivecore/lib/actions\";\n// @ts-expect-error missing types\nimport { ReactReduxContext } from \"@usereactify/search-internals/lib/utils\";\nimport { useReactifySearchContext } from \"../hooks\";\nimport type { ConfigFilter, ConfigFilterFacet } from \"../types\";\nimport { debug } from \"../utility\";\n\nexport const useFilters = (): {\n /** The currently selected filter stack, based on mode, curation and more */\n filterStack?: ConfigFilter;\n /** All of the available filters within the filter stack */\n filters?: Array<ConfigFilterFacet>;\n /** All of the selected filters with their value */\n selected: Array<{\n handle: string;\n value:\n | string\n | Array<string>\n | Array<{\n label: string;\n start: number;\n end: number;\n }>;\n }>;\n /** Clear filter by handle */\n setFilterValue: (handle: string, value: string | Array<string> | [number, number]) => void;\n} => {\n const { options, config } = useReactifySearchContext();\n const reactivesearchContext = React.useContext<any>(ReactReduxContext);\n\n const filterStack = React.useMemo(() => {\n // select filters by type\n const matchingFilterss = config.filters.filter((filter) => filter.type === options.mode);\n\n // select filter stack by handle if provided\n if (options.filtersHandle) {\n const matchingFilters = matchingFilterss.find((filterStack) => options.filtersHandle === filterStack.handle);\n if (matchingFilters) {\n return matchingFilters;\n }\n }\n\n // select filter stack by collection if provided\n if (options.mode === \"collection\" && options.collectionHandle) {\n const matchingFilters = matchingFilterss.find((filterStack) =>\n filterStack.collections?.includes(options.collectionHandle)\n );\n if (matchingFilters) {\n return matchingFilters;\n }\n }\n\n // select filter with \"default\" handle\n let matchingFilters = matchingFilterss.find((filterStack) => filterStack.handle === \"default\");\n if (matchingFilters) {\n return matchingFilters;\n }\n\n // select any filter with \"default\" handle\n matchingFilters = config.filters.find((filterStack) => filterStack.handle === \"default\");\n if (matchingFilters) {\n return matchingFilters;\n }\n\n // select any available filter as a last resort\n matchingFilters = config.filters[0];\n\n return matchingFilters;\n }, [config, options]);\n\n const filters = React.useMemo(() => {\n const sortedFilters = filterStack?.options.sort((a, b) => (a.position > b.position ? 1 : -1));\n\n return sortedFilters;\n }, [filterStack]);\n\n const selected = React.useMemo(() => {\n return Object.keys(reactivesearchContext.storeState.selectedValues)\n .filter((item) => filters.find((filter) => filter.handle === item))\n .map((item) => ({\n handle: item,\n value: reactivesearchContext.storeState.selectedValues[item].value,\n }));\n }, [filters, reactivesearchContext?.storeState?.selectedValues]);\n\n const setFilterValue = React.useCallback(\n (handle: string, value: string | Array<string> | [number, number]): void => {\n debug.log(\"useFilters\", \"setFilterValue[handle,value]\", handle, value);\n reactivesearchContext.store.dispatch(setValue(handle, value));\n },\n [reactivesearchContext]\n );\n\n return {\n filterStack: filterStack,\n filters: filters,\n selected: selected,\n setFilterValue: setFilterValue,\n };\n};\n"]}
|
|
@@ -23,7 +23,7 @@ const useIndices = () => {
|
|
|
23
23
|
let indexNameFormatted = indexName;
|
|
24
24
|
try {
|
|
25
25
|
const indexDate = indexName.split(`${shopName}-`)[1];
|
|
26
|
-
indexNameFormatted = `${shopName} ${new Date(parseInt(indexDate)).toLocaleString()} (${indexDate})`;
|
|
26
|
+
indexNameFormatted = `${shopName} ${new Date(parseInt(indexDate, 10)).toLocaleString()} (${indexDate})`;
|
|
27
27
|
}
|
|
28
28
|
catch (error) {
|
|
29
29
|
console.error(error);
|
|
@@ -44,7 +44,7 @@ const useIndices = () => {
|
|
|
44
44
|
.filter((item) => regexp.test(item))
|
|
45
45
|
.sort((a, b) => (a > b ? -1 : 1)));
|
|
46
46
|
}))();
|
|
47
|
-
}, [config.endpoint]);
|
|
47
|
+
}, [config.endpoint, config.index, shopName]);
|
|
48
48
|
return {
|
|
49
49
|
indices: indices,
|
|
50
50
|
indexNameFormat: indexNameFormat,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIndices.js","sourceRoot":"","sources":["../../../src/hooks/useIndices.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,yEAAsE;AAO/D,MAAM,UAAU,GAAG,GAAe,EAAE;IACzC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,mDAAwB,GAAE,CAAC;IACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAE9E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAwB,EAAE,CAAC,CAAC;IAExE,MAAM,eAAe,GAAkC,CAAC,SAAS,EAAE,EAAE;QACnE,IAAI,kBAAkB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAErD,kBAAkB,GAAG,GAAG,QAAQ,IAAI,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"useIndices.js","sourceRoot":"","sources":["../../../src/hooks/useIndices.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,yEAAsE;AAO/D,MAAM,UAAU,GAAG,GAAe,EAAE;IACzC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,mDAAwB,GAAE,CAAC;IACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAE9E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAwB,EAAE,CAAC,CAAC;IAExE,MAAM,eAAe,GAAkC,CAAC,SAAS,EAAE,EAAE;QACnE,IAAI,kBAAkB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAErD,kBAAkB,GAAG,GAAG,QAAQ,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,KAAK,SAAS,GAAG,CAAC;QAC1G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC5B,CAAC,CAAC;IAEF,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,CAAC,GAAS,EAAE;YACV,MAAM,QAAQ,GAA6B,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,2BAA2B,EAAE;gBACpG,OAAO,EAAE;oBACP,kBAAkB,EAAE,MAAM,CAAC,KAAK;oBAChC,uBAAuB,EAAE,MAAM;iBAChC;aACF,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAEvC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,QAAQ,QAAQ,CAAC,CAAC;YAE/C,UAAU,CACR,QAAQ;iBACL,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;iBACzB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACnC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACpC,CAAC;QACJ,CAAC,CAAA,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE9C,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,eAAe,EAAE,eAAe;KACjC,CAAC;AACJ,CAAC,CAAC;AA3CW,QAAA,UAAU,cA2CrB","sourcesContent":["import React from \"react\";\nimport { useReactifySearchContext } from \"./useReactifySearchContext\";\n\nexport type UseIndices = {\n indices: Array<string>;\n indexNameFormat: (indexName: string) => string;\n};\n\nexport const useIndices = (): UseIndices => {\n const { config, options } = useReactifySearchContext();\n const shopName = options.shopifyPermanentDomain.replace(\".myshopify.com\", \"\");\n\n const [indices, setIndices] = React.useState<UseIndices[\"indices\"]>([]);\n\n const indexNameFormat: UseIndices[\"indexNameFormat\"] = (indexName) => {\n let indexNameFormatted = indexName;\n try {\n const indexDate = indexName.split(`${shopName}-`)[1];\n\n indexNameFormatted = `${shopName} ${new Date(parseInt(indexDate, 10)).toLocaleString()} (${indexDate})`;\n } catch (error) {\n console.error(error);\n }\n\n return indexNameFormatted;\n };\n\n React.useEffect(() => {\n (async () => {\n const response: Array<{ index: string }> = await fetch(`${config.endpoint}/_cat/indices?format=json`, {\n headers: {\n \"x-reactify-index\": config.index,\n \"x-reactify-skip-cache\": \"true\",\n },\n }).then((response) => response.json());\n\n const regexp = new RegExp(`${shopName}-[0-9]`);\n\n setIndices(\n response\n .map((item) => item.index)\n .filter((item) => regexp.test(item))\n .sort((a, b) => (a > b ? -1 : 1))\n );\n })();\n }, [config.endpoint, config.index, shopName]);\n\n return {\n indices: indices,\n indexNameFormat: indexNameFormat,\n };\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { ReactivesearchPaginationProps } from "../types";
|
|
2
|
+
import type { ReactivesearchPaginationProps } from "../types";
|
|
3
3
|
export declare const usePagination: (input: ReactivesearchPaginationProps) => {
|
|
4
4
|
/** The current page number, indexed from 0 */
|
|
5
5
|
currentPage: number;
|
|
@@ -34,20 +34,18 @@ const usePagination = (input) => {
|
|
|
34
34
|
eventName: "paginationChange",
|
|
35
35
|
payload: {
|
|
36
36
|
page: pageNumber,
|
|
37
|
-
source: window.location.pathname.includes("/search")
|
|
38
|
-
? "search"
|
|
39
|
-
: "collection",
|
|
37
|
+
source: window.location.pathname.includes("/search") ? "search" : "collection",
|
|
40
38
|
},
|
|
41
39
|
});
|
|
42
|
-
}, [input.setPage, track]);
|
|
40
|
+
}, [input.setPage, track, hasPage]);
|
|
43
41
|
const handleNextPage = react_1.default.useCallback((event) => {
|
|
44
42
|
utility_1.debug.log("usePagination", "handleNextPage", input.currentPage + 1);
|
|
45
43
|
handlePageChange(input.currentPage + 1, event);
|
|
46
|
-
}, [
|
|
44
|
+
}, [input.currentPage, handlePageChange]);
|
|
47
45
|
const handlePreviousPage = react_1.default.useCallback((event) => {
|
|
48
46
|
utility_1.debug.log("usePagination", "handlePreviousPage", input.currentPage - 1);
|
|
49
47
|
handlePageChange(input.currentPage - 1, event);
|
|
50
|
-
}, [
|
|
48
|
+
}, [input.currentPage, handlePageChange]);
|
|
51
49
|
return react_1.default.useMemo(() => ({
|
|
52
50
|
currentPage: input.currentPage,
|
|
53
51
|
totalPages: input.totalPages,
|
|
@@ -78,25 +76,19 @@ exports.usePagination = usePagination;
|
|
|
78
76
|
const getPages = (pages, totalPages, currentPage) => {
|
|
79
77
|
const pagesToShow = pages > totalPages ? totalPages : pages;
|
|
80
78
|
const buffer = Math.floor(pagesToShow / 2);
|
|
81
|
-
let list = [];
|
|
82
79
|
let start = 0;
|
|
83
80
|
if (totalPages <= 5 || currentPage < buffer + 1) {
|
|
84
81
|
start = 0;
|
|
85
82
|
}
|
|
86
83
|
else {
|
|
87
84
|
if (totalPages - buffer <= currentPage) {
|
|
88
|
-
start =
|
|
89
|
-
currentPage + 1 === totalPages
|
|
90
|
-
? currentPage - (pagesToShow - 1)
|
|
91
|
-
: currentPage - (buffer + buffer / 2);
|
|
85
|
+
start = currentPage + 1 === totalPages ? currentPage - (pagesToShow - 1) : currentPage - (buffer + buffer / 2);
|
|
92
86
|
}
|
|
93
87
|
else {
|
|
94
88
|
start = currentPage - buffer;
|
|
95
89
|
}
|
|
96
90
|
}
|
|
97
|
-
Array.
|
|
98
|
-
list.push(start + index);
|
|
99
|
-
});
|
|
91
|
+
const list = Array.from({ length: pagesToShow }, (_item, index) => start + index);
|
|
100
92
|
return list;
|
|
101
93
|
};
|
|
102
94
|
//# sourceMappingURL=usePagination.js.map
|