@usereactify/search 5.0.0-beta.3 → 5.0.0-beta.6
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 +16 -0
- package/dist/package.json +1 -1
- package/dist/src/components/Example/ExampleFilterList.js.map +1 -1
- package/dist/src/components/Example/ExampleFilterRange.js.map +1 -1
- package/dist/src/components/Example/ExampleFilterSlider.js.map +1 -1
- package/dist/src/components/Example/ExampleFilterStack.js.map +1 -1
- package/dist/src/components/Example/ExampleResultCardCallout.js.map +1 -1
- package/dist/src/components/Example/ExampleResultCardProduct.js.map +1 -1
- package/dist/src/components/Example/ExampleResultPaginationLoadMore.js.map +1 -1
- package/dist/src/components/Example/ExampleResultPaginationNextPrev.js.map +1 -1
- package/dist/src/components/Example/ExampleResultPaginationNumbered.js.map +1 -1
- package/dist/src/components/Example/ExampleSortby.js.map +1 -1
- package/dist/src/components/Example/index.js.map +1 -1
- package/dist/src/components/Filter/Filter.js.map +1 -1
- package/dist/src/components/Filter/FilterStack.js.map +1 -1
- package/dist/src/components/Filter/index.js.map +1 -1
- package/dist/src/components/ReactifySearchBase/ReactifySearchBase.js +9 -13
- package/dist/src/components/ReactifySearchBase/ReactifySearchBase.js.map +1 -1
- package/dist/src/components/ReactifySearchBase/index.js.map +1 -1
- package/dist/src/components/Result/ResultCardCallout.js.map +1 -1
- package/dist/src/components/Result/ResultCardProduct.js.map +1 -1
- package/dist/src/components/Result/ResultPaginationLoadMore.js.map +1 -1
- package/dist/src/components/Result/ResultPaginationNextPrev.js.map +1 -1
- package/dist/src/components/Result/ResultPaginationNumbered.js.map +1 -1
- package/dist/src/components/Result/ResultStack.js.map +1 -1
- package/dist/src/components/Result/ResultStateProvider.js.map +1 -1
- package/dist/src/components/Result/index.js.map +1 -1
- package/dist/src/components/Search/SearchInput.js.map +1 -1
- package/dist/src/components/Search/index.js.map +1 -1
- package/dist/src/components/Sensor/SensorCollection.js.map +1 -1
- package/dist/src/components/Sensor/SensorInventoryAvailable.js.map +1 -1
- package/dist/src/components/Sensor/SensorPublished.js.map +1 -1
- package/dist/src/components/Sensor/SensorSearch.js.map +1 -1
- package/dist/src/components/Sensor/SensorSort.js.map +1 -1
- package/dist/src/components/Sensor/SensorSortScore.js.map +1 -1
- package/dist/src/components/Sensor/SensorStack.js.map +1 -1
- package/dist/src/components/Sensor/index.js.map +1 -1
- package/dist/src/components/Sortby/Sortby.js.map +1 -1
- package/dist/src/components/Sortby/index.js.map +1 -1
- 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.js.map +1 -1
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/reactivesearch/index.js.map +1 -1
- package/dist/src/hooks/reactivesearch/useReactiveBaseProps.js.map +1 -1
- package/dist/src/hooks/reactivesearch/useReactiveDataSearchProps.js.map +1 -1
- package/dist/src/hooks/reactivesearch/useReactiveFilterListProps.js.map +1 -1
- package/dist/src/hooks/reactivesearch/useReactiveFilterRangeProps.js.map +1 -1
- package/dist/src/hooks/reactivesearch/useReactiveFilterSharedProps.js.map +1 -1
- package/dist/src/hooks/reactivesearch/useReactiveFilterSliderProps.js.map +1 -1
- package/dist/src/hooks/reactivesearch/useReactiveReactProp.js.map +1 -1
- package/dist/src/hooks/reactivesearch/useReactiveResultStackProps.js.map +1 -1
- package/dist/src/hooks/useAnalytics.js.map +1 -1
- package/dist/src/hooks/useConfig.js.map +1 -1
- package/dist/src/hooks/useCuration.js.map +1 -1
- package/dist/src/hooks/useFilterCollapsedState.js.map +1 -1
- package/dist/src/hooks/useFilterListProps.js.map +1 -1
- package/dist/src/hooks/useFilterStack.js.map +1 -1
- package/dist/src/hooks/useFilters.js.map +1 -1
- package/dist/src/hooks/usePagination.js.map +1 -1
- package/dist/src/hooks/usePaginationLoadMore.js.map +1 -1
- package/dist/src/hooks/useProductPrice.js.map +1 -1
- package/dist/src/hooks/useReactifySearchContext.js.map +1 -1
- package/dist/src/hooks/useSearch.js.map +1 -1
- package/dist/src/hooks/useSortby.js.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/types/config.js.map +1 -1
- package/dist/src/types/elastic.js.map +1 -1
- package/dist/src/types/firestore.js.map +1 -1
- package/dist/src/types/graphql.js.map +1 -1
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/reactivesearch.js.map +1 -1
- package/dist/src/types/shopify.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReactiveBaseProps.js","sourceRoot":"","sources":["../../../../src/hooks/reactivesearch/useReactiveBaseProps.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,uCAAuD;AAEhD,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAE/C,OAAO,eAAK,CAAC,OAAO,CAClB,GAAG,EAAE,CAAC,CAAC;QACL,GAAG,EAAE,OAAO,CAAC,KAAK;QAClB,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ;QACjC,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;QAC9E,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,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,IACE,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,0CAAE,qBAAqB,0CAAE,qBAAqB,EACpE;gBACA,QAAQ,CAAC,YAAY,CAAC,qBAAqB;oBACzC,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,0CAAE,qBAAqB,0CAAE,qBAAqB,CAAC;aACxE;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAA;KACF,CAAC,EACF,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CACrC,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,oBAAoB,wBA8B/B"}
|
|
1
|
+
{"version":3,"file":"useReactiveBaseProps.js","sourceRoot":"","sources":["../../../../src/hooks/reactivesearch/useReactiveBaseProps.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,uCAAuD;AAEhD,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAE/C,OAAO,eAAK,CAAC,OAAO,CAClB,GAAG,EAAE,CAAC,CAAC;QACL,GAAG,EAAE,OAAO,CAAC,KAAK;QAClB,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ;QACjC,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;QAC9E,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,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,IACE,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,0CAAE,qBAAqB,0CAAE,qBAAqB,EACpE;gBACA,QAAQ,CAAC,YAAY,CAAC,qBAAqB;oBACzC,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,0CAAE,qBAAqB,0CAAE,qBAAqB,CAAC;aACxE;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAA;KACF,CAAC,EACF,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CACrC,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,oBAAoB,wBA8B/B","sourcesContent":["import React from \"react\";\nimport { useReactifySearchContext } from \"../../hooks\";\n\nexport const useReactiveBaseProps = () => {\n const { options } = useReactifySearchContext();\n\n return React.useMemo(\n () => ({\n app: options.index,\n url: options.credentials.endpoint,\n credentials: `${options.credentials.username}:${options.credentials.password}`,\n theme: options.theme,\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 (\n response?.aggregations?.reactivesearch_nested?.reactify_nested_outer\n ) {\n response.aggregations.reactivesearch_nested =\n response?.aggregations?.reactivesearch_nested?.reactify_nested_outer;\n }\n\n return response;\n },\n }),\n [options.credentials, options.theme]\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReactiveDataSearchProps.js","sourceRoot":"","sources":["../../../../src/hooks/reactivesearch/useReactiveDataSearchProps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useReactiveDataSearchProps.js","sourceRoot":"","sources":["../../../../src/hooks/reactivesearch/useReactiveDataSearchProps.ts"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { useDebounceFn } from \"ahooks\";\n\nconst debug = require(\"debug\")(\"reactify-search:useReactiveDataSearchProps\");\n\nimport type { ConfigField } from \"../../types/config\";\n\nimport { useReactifySearchContext, useSearch, useAnalytics } from \"../../hooks\";\n\n// default field for when zero search fields have been configured in Reactify\nconst defaultSearchField: ConfigField = {\n id: \"title\",\n field: \"title\",\n importance: 0,\n searchType: \"instant_search\",\n};\n\nexport const useReactiveDataSearchProps = (options: {\n [key: string]: any;\n debounce?: number;\n placeholder?: string;\n inputClassName?: string;\n}) => {\n const { config } = useReactifySearchContext();\n const {\n searchQuery,\n submitSearch,\n setSearchQuery,\n setShowInstantSearchResults,\n } = useSearch();\n\n const searchFields = React.useMemo(\n () =>\n 0 < config.fields.length\n ? config.fields.filter((field) =>\n [\"always_search\", \"instant_search\"].includes(field.searchType)\n )\n : [defaultSearchField],\n []\n );\n\n const handleKeyPress = React.useCallback(\n (e) => {\n if (\"Enter\" !== e.key) return;\n submitSearch();\n },\n [submitSearch]\n );\n\n const { track } = useAnalytics();\n\n const trackQuery = React.useCallback(() => {\n if (!searchQuery || (searchQuery && searchQuery.length < 3)) return;\n track({ eventName: \"search\", payload: { searchTerm: searchQuery } });\n }, [searchQuery, track]);\n\n const { run: runDebouncedTriggerQuery, cancel: cancelDebouncedTriggerQuery } =\n useDebounceFn(\n (triggerQuery: () => void) => {\n triggerQuery();\n trackQuery();\n },\n {\n wait: options.debounce ?? 300,\n }\n );\n\n return React.useMemo(\n () => ({\n type: \"search\",\n showIcon: false,\n fuzziness: 1 as 0 | 1 | 2 | \"AUTO\",\n queryFormat: \"and\" as \"and\" | \"or\",\n autosuggest: false,\n value: searchQuery ?? \"\",\n onKeyUp: handleKeyPress,\n componentId: \"SearchInput\",\n placeholder: options.placeholder ?? \"Search for a product...\",\n dataField: searchFields.map((field) => field.field),\n fieldWeights: searchFields.map((field) => field.importance),\n onChange: (value: string, triggerQuery: () => {}) => {\n setSearchQuery(value);\n if (!!value) {\n runDebouncedTriggerQuery(triggerQuery);\n } else {\n cancelDebouncedTriggerQuery();\n }\n },\n onBlur: () => {\n // setTimeout ensures that results are still clickable before close\n setTimeout(() => setShowInstantSearchResults(false), 300);\n },\n onFocus: () => {\n setShowInstantSearchResults(true);\n },\n innerClass: {\n input: options.inputClassName,\n },\n ...options,\n }),\n [\n searchQuery,\n handleKeyPress,\n options.placeholder,\n searchFields,\n setSearchQuery,\n runDebouncedTriggerQuery,\n cancelDebouncedTriggerQuery,\n ]\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReactiveFilterListProps.js","sourceRoot":"","sources":["../../../../src/hooks/reactivesearch/useReactiveFilterListProps.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,iFAA8E;AAE9E,iEAA8D;AAE9D;;GAEG;AACI,MAAM,0BAA0B,GAAG,CAAC,MAA0B,EAAE,EAAE;IACvE,MAAM,iBAAiB,GAAG,IAAA,2CAAoB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,yBAAyB,GAAG,IAAA,2DAA4B,EAAC,MAAM,CAAC,CAAC;IAEvE,OAAO,eAAK,CAAC,OAAO,CAClB,GAAG,EAAE;;QAAC,OAAA,iCACD,yBAAyB,KAC5B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,SAAS,EAC/C,UAAU,EAAE,MAAA,MAAM,CAAC,kBAAkB,mCAAI,IAAI,EAC7C,YAAY,EAAE,MAAA,MAAM,CAAC,gBAAgB,mCAAI,KAAK,EAC9C,UAAU,EAAE,MAAA,MAAM,CAAC,kBAAkB,mCAAI,KAAK,EAC9C,SAAS,EAAE,KAAK,EAChB,YAAY,EAAE,KAAK,IACnB,CAAA;KAAA,EACF,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAC5B,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,0BAA0B,8BAgBrC"}
|
|
1
|
+
{"version":3,"file":"useReactiveFilterListProps.js","sourceRoot":"","sources":["../../../../src/hooks/reactivesearch/useReactiveFilterListProps.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,iFAA8E;AAE9E,iEAA8D;AAE9D;;GAEG;AACI,MAAM,0BAA0B,GAAG,CAAC,MAA0B,EAAE,EAAE;IACvE,MAAM,iBAAiB,GAAG,IAAA,2CAAoB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,yBAAyB,GAAG,IAAA,2DAA4B,EAAC,MAAM,CAAC,CAAC;IAEvE,OAAO,eAAK,CAAC,OAAO,CAClB,GAAG,EAAE;;QAAC,OAAA,iCACD,yBAAyB,KAC5B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,SAAS,EAC/C,UAAU,EAAE,MAAA,MAAM,CAAC,kBAAkB,mCAAI,IAAI,EAC7C,YAAY,EAAE,MAAA,MAAM,CAAC,gBAAgB,mCAAI,KAAK,EAC9C,UAAU,EAAE,MAAA,MAAM,CAAC,kBAAkB,mCAAI,KAAK,EAC9C,SAAS,EAAE,KAAK,EAChB,YAAY,EAAE,KAAK,IACnB,CAAA;KAAA,EACF,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAC5B,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,0BAA0B,8BAgBrC","sourcesContent":["import React from \"react\";\n\nimport type { ConfigFilterOption } from \"../../types/config\";\nimport { useReactiveFilterSharedProps } from \"./useReactiveFilterSharedProps\";\n\nimport { useReactiveReactProp } from \"./useReactiveReactProp\";\n\n/**\n * For use with @appbaseio/reactivesearch SingleList and MultiList components\n */\nexport const useReactiveFilterListProps = (filter: ConfigFilterOption) => {\n const reactiveReactProp = useReactiveReactProp(filter.handle);\n const reactiveFilterSharedProps = useReactiveFilterSharedProps(filter);\n\n return React.useMemo(\n () => ({\n ...reactiveFilterSharedProps,\n size: parseInt(filter.displaySize) || undefined,\n showFilter: filter.settingsShowFilter ?? true,\n showLoadMore: filter.settingsShowMore ?? false,\n showSearch: filter.settingsShowSearch ?? false,\n showRadio: false,\n showCheckbox: false,\n }),\n [filter, reactiveReactProp]\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReactiveFilterRangeProps.js","sourceRoot":"","sources":["../../../../src/hooks/reactivesearch/useReactiveFilterRangeProps.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,iFAA8E;AAE9E,iEAA8D;AAE9D;;GAEG;AACI,MAAM,2BAA2B,GAAG,CAAC,MAA0B,EAAE,EAAE;IACxE,MAAM,iBAAiB,GAAG,IAAA,2CAAoB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,yBAAyB,GAAG,IAAA,2DAA4B,EAAC,MAAM,CAAC,CAAC;IAEvE,OAAO,eAAK,CAAC,OAAO,CAClB,GAAG,EAAE;;QAAC,OAAA,iCACD,yBAAyB,KAC5B,UAAU,EAAE,MAAA,MAAM,CAAC,kBAAkB,mCAAI,IAAI,EAC7C,SAAS,EAAE,KAAK,EAChB,YAAY,EAAE,KAAK,IACnB,CAAA;KAAA,EACF,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAC5B,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,2BAA2B,+BAatC"}
|
|
1
|
+
{"version":3,"file":"useReactiveFilterRangeProps.js","sourceRoot":"","sources":["../../../../src/hooks/reactivesearch/useReactiveFilterRangeProps.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,iFAA8E;AAE9E,iEAA8D;AAE9D;;GAEG;AACI,MAAM,2BAA2B,GAAG,CAAC,MAA0B,EAAE,EAAE;IACxE,MAAM,iBAAiB,GAAG,IAAA,2CAAoB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,yBAAyB,GAAG,IAAA,2DAA4B,EAAC,MAAM,CAAC,CAAC;IAEvE,OAAO,eAAK,CAAC,OAAO,CAClB,GAAG,EAAE;;QAAC,OAAA,iCACD,yBAAyB,KAC5B,UAAU,EAAE,MAAA,MAAM,CAAC,kBAAkB,mCAAI,IAAI,EAC7C,SAAS,EAAE,KAAK,EAChB,YAAY,EAAE,KAAK,IACnB,CAAA;KAAA,EACF,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAC5B,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,2BAA2B,+BAatC","sourcesContent":["import React from \"react\";\n\nimport type { ConfigFilterOption } from \"../../types/config\";\nimport { useReactiveFilterSharedProps } from \"./useReactiveFilterSharedProps\";\n\nimport { useReactiveReactProp } from \"./useReactiveReactProp\";\n\n/**\n * For use with @appbaseio/reactivesearch SingleRange and MultiRange components\n */\nexport const useReactiveFilterRangeProps = (filter: ConfigFilterOption) => {\n const reactiveReactProp = useReactiveReactProp(filter.handle);\n const reactiveFilterSharedProps = useReactiveFilterSharedProps(filter);\n\n return React.useMemo(\n () => ({\n ...reactiveFilterSharedProps,\n showFilter: filter.settingsShowFilter ?? true,\n showRadio: false,\n showCheckbox: false,\n }),\n [filter, reactiveReactProp]\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReactiveFilterSharedProps.js","sourceRoot":"","sources":["../../../../src/hooks/reactivesearch/useReactiveFilterSharedProps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useReactiveFilterSharedProps.js","sourceRoot":"","sources":["../../../../src/hooks/reactivesearch/useReactiveFilterSharedProps.ts"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\n\nimport type { ConfigFilterOption } from \"../../types/config\";\n\nimport { useReactiveReactProp } from \"./useReactiveReactProp\";\n\n/**\n * For use with all @appbaseio/reactivesearch filter components\n */\nexport const useReactiveFilterSharedProps = (filter: ConfigFilterOption) => {\n const reactiveReactProp = useReactiveReactProp(filter.handle);\n\n const nestedField = React.useMemo(() => {\n const nestedFields = [\"variants\"];\n const topField = filter.field.split(\".\")[0];\n if (nestedFields.includes(topField)) return topField;\n return undefined;\n }, [filter]);\n\n // define a custom query for when settingsHideUnavailable is enabled and the target field is inside variants\n // customQuery defines how this filter affects *other* components like the results component\n const customQuery = React.useMemo(() => {\n if (\n !filter.settingsHideUnavailable ||\n !filter.field.startsWith(\"variants.\")\n )\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 [filter.field]: valueArray,\n },\n },\n ],\n },\n },\n },\n },\n };\n };\n }, [filter]);\n\n // define a default query for when settingsHideUnavailable is enabled and the target field is inside variants\n // defaultQuery defines how this filter affects itself i.e. the options displayed\n const defaultQuery = React.useMemo(() => {\n if (\n !filter.settingsHideUnavailable ||\n !filter.field.startsWith(\"variants.\")\n )\n return undefined;\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 match: {\n \"variants.available\": \"true\",\n },\n },\n aggs: {\n [filter.field]: {\n terms: {\n field: filter.field,\n size: 100,\n order: { _count: \"desc\" },\n },\n },\n },\n },\n },\n },\n },\n };\n };\n }, [filter]);\n\n return React.useMemo(\n () => ({\n nestedField,\n customQuery,\n defaultQuery,\n URLParams: true,\n componentId: filter.handle,\n dataField: filter.field,\n filterLabel: filter.name,\n react: reactiveReactProp,\n }),\n [filter, reactiveReactProp]\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReactiveFilterSliderProps.js","sourceRoot":"","sources":["../../../../src/hooks/reactivesearch/useReactiveFilterSliderProps.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,iFAA8E;AAE9E,iEAA8D;AAE9D;;GAEG;AACI,MAAM,4BAA4B,GAAG,CAAC,MAA0B,EAAE,EAAE;IACzE,MAAM,iBAAiB,GAAG,IAAA,2CAAoB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,yBAAyB,GAAG,IAAA,2DAA4B,EAAC,MAAM,CAAC,CAAC;IAEvE,OAAO,eAAK,CAAC,OAAO,CAClB,GAAG,EAAE;;QAAC,OAAA,iCACD,yBAAyB,KAC5B,UAAU,EAAE,MAAA,MAAM,CAAC,kBAAkB,mCAAI,IAAI,IAC7C,CAAA;KAAA,EACF,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAC5B,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,4BAA4B,gCAWvC"}
|
|
1
|
+
{"version":3,"file":"useReactiveFilterSliderProps.js","sourceRoot":"","sources":["../../../../src/hooks/reactivesearch/useReactiveFilterSliderProps.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,iFAA8E;AAE9E,iEAA8D;AAE9D;;GAEG;AACI,MAAM,4BAA4B,GAAG,CAAC,MAA0B,EAAE,EAAE;IACzE,MAAM,iBAAiB,GAAG,IAAA,2CAAoB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,yBAAyB,GAAG,IAAA,2DAA4B,EAAC,MAAM,CAAC,CAAC;IAEvE,OAAO,eAAK,CAAC,OAAO,CAClB,GAAG,EAAE;;QAAC,OAAA,iCACD,yBAAyB,KAC5B,UAAU,EAAE,MAAA,MAAM,CAAC,kBAAkB,mCAAI,IAAI,IAC7C,CAAA;KAAA,EACF,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAC5B,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,4BAA4B,gCAWvC","sourcesContent":["import React from \"react\";\n\nimport type { ConfigFilterOption } from \"../../types/config\";\nimport { useReactiveFilterSharedProps } from \"./useReactiveFilterSharedProps\";\n\nimport { useReactiveReactProp } from \"./useReactiveReactProp\";\n\n/**\n * For use with @appbaseio/reactivesearch RangeSlider component\n */\nexport const useReactiveFilterSliderProps = (filter: ConfigFilterOption) => {\n const reactiveReactProp = useReactiveReactProp(filter.handle);\n const reactiveFilterSharedProps = useReactiveFilterSharedProps(filter);\n\n return React.useMemo(\n () => ({\n ...reactiveFilterSharedProps,\n showFilter: filter.settingsShowFilter ?? true,\n }),\n [filter, reactiveReactProp]\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReactiveReactProp.js","sourceRoot":"","sources":["../../../../src/hooks/reactivesearch/useReactiveReactProp.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,uCAAmE;AACnE,iDAA8C;AAEvC,MAAM,oBAAoB,GAAG,CAAC,aAAsB,EAAE,EAAE;IAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kBAAU,GAAE,CAAC;IAEjC,OAAO,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;;QACxB,OAAO;YACL,GAAG,EAAE;gBACH,aAAa;gBACb,GAAG,uBAAU;gBACb,GAAG,CAAC,MAAA,OAAO,CAAC,0BAA0B,mCAAI,EAAE,CAAC;gBAC7C,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;aAC1C,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,aAAa,CAAC;SAC/C,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC;AAdW,QAAA,oBAAoB,wBAc/B"}
|
|
1
|
+
{"version":3,"file":"useReactiveReactProp.js","sourceRoot":"","sources":["../../../../src/hooks/reactivesearch/useReactiveReactProp.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,uCAAmE;AACnE,iDAA8C;AAEvC,MAAM,oBAAoB,GAAG,CAAC,aAAsB,EAAE,EAAE;IAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kBAAU,GAAE,CAAC;IAEjC,OAAO,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;;QACxB,OAAO;YACL,GAAG,EAAE;gBACH,aAAa;gBACb,GAAG,uBAAU;gBACb,GAAG,CAAC,MAAA,OAAO,CAAC,0BAA0B,mCAAI,EAAE,CAAC;gBAC7C,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;aAC1C,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,aAAa,CAAC;SAC/C,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC;AAdW,QAAA,oBAAoB,wBAc/B","sourcesContent":["import React from \"react\";\n\nimport { useReactifySearchContext, useFilters } from \"../../hooks\";\nimport { SENSOR_IDS } from \"../../components\";\n\nexport const useReactiveReactProp = (currentHandle?: string) => {\n const { options } = useReactifySearchContext();\n const { filters } = useFilters();\n\n return React.useMemo(() => {\n return {\n and: [\n \"SearchInput\",\n ...SENSOR_IDS,\n ...(options.additionalComponentHandles ?? []),\n ...filters.map((filter) => filter.handle),\n ].filter((handle) => handle !== currentHandle),\n };\n }, [filters, currentHandle, options.additionalComponentHandles]);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReactiveResultStackProps.js","sourceRoot":"","sources":["../../../../src/hooks/reactivesearch/useReactiveResultStackProps.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,uCAA6C;AAC7C,iEAA8D;AAEvD,MAAM,2BAA2B,GAAG,CAAC,OAE3C,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,IAAA,sBAAc,GAAE,CAAC;IACrC,MAAM,iBAAiB,GAAG,IAAA,2CAAoB,GAAE,CAAC;IAEjD,MAAM,IAAI,GAAG,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;;QAC9B,OAAO,MAAA,MAAA,OAAO,CAAC,QAAQ,mCAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,mCAAI,EAAE,CAAC;IACzD,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAEpC,OAAO,eAAK,CAAC,OAAO,CAClB,GAAG,EAAE,CAAC,CAAC;QACL,IAAI;QACJ,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,OAAO;QAClB,eAAe,EAAE,KAAK;QACtB,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,MAAM;QACnB,cAAc,EAAE,KAAK;QACrB,UAAU,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,MAAK,iBAAiB;QAC7D,cAAc,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,MAAK,iBAAiB;QACjE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,mDAAmD;KACjF,CAAC,EACF,CAAC,WAAW,EAAE,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,CACnD,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,2BAA2B,+BA0BtC"}
|
|
1
|
+
{"version":3,"file":"useReactiveResultStackProps.js","sourceRoot":"","sources":["../../../../src/hooks/reactivesearch/useReactiveResultStackProps.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,uCAA6C;AAC7C,iEAA8D;AAEvD,MAAM,2BAA2B,GAAG,CAAC,OAE3C,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,IAAA,sBAAc,GAAE,CAAC;IACrC,MAAM,iBAAiB,GAAG,IAAA,2CAAoB,GAAE,CAAC;IAEjD,MAAM,IAAI,GAAG,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;;QAC9B,OAAO,MAAA,MAAA,OAAO,CAAC,QAAQ,mCAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,mCAAI,EAAE,CAAC;IACzD,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAEpC,OAAO,eAAK,CAAC,OAAO,CAClB,GAAG,EAAE,CAAC,CAAC;QACL,IAAI;QACJ,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,OAAO;QAClB,eAAe,EAAE,KAAK;QACtB,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,MAAM;QACnB,cAAc,EAAE,KAAK;QACrB,UAAU,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,MAAK,iBAAiB;QAC7D,cAAc,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,MAAK,iBAAiB;QACjE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,mDAAmD;KACjF,CAAC,EACF,CAAC,WAAW,EAAE,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,CACnD,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,2BAA2B,+BA0BtC","sourcesContent":["import React from \"react\";\n\nimport { useFilterStack } from \"../../hooks\";\nimport { useReactiveReactProp } from \"./useReactiveReactProp\";\n\nexport const useReactiveResultStackProps = (options: {\n pageSize?: number;\n}) => {\n const filterStack = useFilterStack();\n const reactiveReactProp = useReactiveReactProp();\n\n const size = React.useMemo(() => {\n return options.pageSize ?? filterStack?.pageSize ?? 20;\n }, [options.pageSize, filterStack]);\n\n return React.useMemo(\n () => ({\n size,\n URLParams: true,\n showLoader: false,\n dataField: \"title\",\n showResultStats: false,\n react: reactiveReactProp,\n componentId: \"page\", // this sets ?page= in the URL\n scrollOnChange: false, // @todo make this better, it's really janky when enabled\n pagination: filterStack?.paginationType !== \"infinite_scroll\",\n infiniteScroll: filterStack?.paginationType === \"infinite_scroll\",\n renderNoResults: () => null, // always use only render, otherwise both are shown\n }),\n [filterStack, reactiveReactProp, options.pageSize]\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAnalytics.js","sourceRoot":"","sources":["../../../src/hooks/useAnalytics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAE1B,oCAAoD;AAE7C,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAC/C,MAAM,GAAG,GAAG,+CAA+C,CAAC;IAC5D,MAAM,KAAK,GAAG,CAAO,KAAiB,EAAE,EAAE;QACxC,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE;YACnC,OAAO,CAAC,IAAI,CACV,IAAI,KAAK,CACP,4EAA4E,CAC7E,CACF,CAAC;YAEF,OAAO;SACR;QAED,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,eAAK,CAAC,IAAI,CACf,GAAG,EACH,EAAE,MAAM,EAAE,EACV,EAAE,OAAO,EAAE,EAAE,mBAAmB,EAAE,OAAO,CAAC,sBAAsB,EAAE,EAAE,CACrE,CAAC;IACJ,CAAC,CAAA,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC,CAAC;AAvBW,QAAA,YAAY,gBAuBvB;AAEF,SAAS,cAAc,CAAC,KAAiB;IACvC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,IAAI,MAAM,GAAiB,EAAE,CAAC;IAE9B,QAAQ,SAAS,EAAE;QACjB,KAAK,QAAQ;YACX,MAAM,GAAG;gBACP;oBACE,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;YAEF,MAAM;QAER,KAAK,aAAa;YAChB,MAAM,GAAG;gBACP;oBACE,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;YAEF,MAAM;QAER,KAAK,aAAa;YAChB,MAAM,GAAG;gBACP;oBACE,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;YAEF,MAAM;QAER,KAAK,cAAc;YACjB,MAAM,GAAG;gBACP;oBACE,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;YAEF,MAAM;QAER,KAAK,eAAe;YAClB,MAAM,GAAG;gBACP;oBACE,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;YAEF,MAAM;QAER,KAAK,gBAAgB;YACnB,MAAM,GAAG;gBACP;oBACE,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;YAEF,MAAM;QAER,KAAK,kBAAkB;YACrB,MAAM,GAAG;gBACP;oBACE,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;YAEF,MAAM;QAER,KAAK,YAAY;YACf,MAAM,GAAG;gBACP;oBACE,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;YAEF,MAAM;QAER,KAAK,cAAc;YACjB,MAAM,GAAG;gBACP;oBACE,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;YAEF,MAAM;KACT;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"useAnalytics.js","sourceRoot":"","sources":["../../../src/hooks/useAnalytics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAE1B,oCAAoD;AAE7C,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAC/C,MAAM,GAAG,GAAG,+CAA+C,CAAC;IAC5D,MAAM,KAAK,GAAG,CAAO,KAAiB,EAAE,EAAE;QACxC,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE;YACnC,OAAO,CAAC,IAAI,CACV,IAAI,KAAK,CACP,4EAA4E,CAC7E,CACF,CAAC;YAEF,OAAO;SACR;QAED,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,eAAK,CAAC,IAAI,CACf,GAAG,EACH,EAAE,MAAM,EAAE,EACV,EAAE,OAAO,EAAE,EAAE,mBAAmB,EAAE,OAAO,CAAC,sBAAsB,EAAE,EAAE,CACrE,CAAC;IACJ,CAAC,CAAA,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC,CAAC;AAvBW,QAAA,YAAY,gBAuBvB;AAEF,SAAS,cAAc,CAAC,KAAiB;IACvC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,IAAI,MAAM,GAAiB,EAAE,CAAC;IAE9B,QAAQ,SAAS,EAAE;QACjB,KAAK,QAAQ;YACX,MAAM,GAAG;gBACP;oBACE,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;YAEF,MAAM;QAER,KAAK,aAAa;YAChB,MAAM,GAAG;gBACP;oBACE,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;YAEF,MAAM;QAER,KAAK,aAAa;YAChB,MAAM,GAAG;gBACP;oBACE,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;YAEF,MAAM;QAER,KAAK,cAAc;YACjB,MAAM,GAAG;gBACP;oBACE,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;YAEF,MAAM;QAER,KAAK,eAAe;YAClB,MAAM,GAAG;gBACP;oBACE,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;YAEF,MAAM;QAER,KAAK,gBAAgB;YACnB,MAAM,GAAG;gBACP;oBACE,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;YAEF,MAAM;QAER,KAAK,kBAAkB;YACrB,MAAM,GAAG;gBACP;oBACE,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;YAEF,MAAM;QAER,KAAK,YAAY;YACf,MAAM,GAAG;gBACP;oBACE,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;YAEF,MAAM;QAER,KAAK,cAAc;YACjB,MAAM,GAAG;gBACP;oBACE,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;YAEF,MAAM;KACT;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import axios from \"axios\";\n\nimport { useReactifySearchContext } from \"../hooks\";\n\nexport const useAnalytics = () => {\n const { options } = useReactifySearchContext();\n const url = \"https://analytics.search.reactify.app/record/\";\n const track = async (event: TrackEvent) => {\n if (!options.shopifyPermanentDomain) {\n console.warn(\n new Error(\n 'Unable to send tracking event, missing value for \"shopifyPermanentDomain\".'\n )\n );\n\n return;\n }\n\n const events = getTrackEvents(event);\n return axios.post(\n url,\n { events },\n { headers: { \"X-Reactify-Tenant\": options.shopifyPermanentDomain } }\n );\n };\n\n return { track };\n};\n\nfunction getTrackEvents(event: TrackEvent): TrackEvent[] {\n const { eventName } = event;\n let events: TrackEvent[] = [];\n\n switch (eventName) {\n case \"search\":\n events = [\n {\n eventName,\n payload: event.payload,\n },\n ];\n\n break;\n\n case \"zeroResults\":\n events = [\n {\n eventName,\n payload: event.payload,\n },\n ];\n\n break;\n\n case \"viewProduct\":\n events = [\n {\n eventName,\n payload: event.payload,\n },\n ];\n\n break;\n\n case \"clickProduct\":\n events = [\n {\n eventName,\n payload: event.payload,\n },\n ];\n\n break;\n\n case \"viewPromotion\":\n events = [\n {\n eventName,\n payload: event.payload,\n },\n ];\n\n break;\n\n case \"clickPromotion\":\n events = [\n {\n eventName,\n payload: event.payload,\n },\n ];\n\n break;\n\n case \"paginationChange\":\n events = [\n {\n eventName,\n payload: event.payload,\n },\n ];\n\n break;\n\n case \"sortChange\":\n events = [\n {\n eventName,\n payload: event.payload,\n },\n ];\n\n break;\n\n case \"filterChange\":\n events = [\n {\n eventName,\n payload: event.payload,\n },\n ];\n\n break;\n }\n\n return events;\n}\n\nexport type TrackEvent =\n | TrackEvent.SearchEvent\n | TrackEvent.ZeroResultsEvent\n | TrackEvent.ViewProductEvent\n | TrackEvent.ClickProductEvent\n | TrackEvent.ViewPromotionEvent\n | TrackEvent.ClickPromotionEvent\n | TrackEvent.PaginationChangeEvent\n | TrackEvent.SortChangeEvent\n | TrackEvent.FilterChangeEvent;\n\nexport namespace TrackEvent {\n export interface SearchEvent {\n eventName: \"search\";\n payload: SearchEvent.Payload;\n }\n\n export namespace SearchEvent {\n export interface Payload {\n searchTerm: string;\n }\n }\n\n export interface ZeroResultsEvent {\n eventName: \"zeroResults\";\n payload: ZeroResultsEvent.Payload;\n }\n\n export namespace ZeroResultsEvent {\n export interface Payload {\n searchTerm: string;\n }\n }\n\n export interface ViewProductEvent {\n eventName: \"viewProduct\";\n payload: ViewProductEvent.Payload;\n }\n\n export namespace ViewProductEvent {\n export interface Payload {\n elasticProduct: ElasticProduct;\n }\n }\n\n export interface ClickProductEvent {\n eventName: \"clickProduct\";\n payload: ClickProductEvent.Payload;\n }\n\n export namespace ClickProductEvent {\n export interface Payload {\n elasticProduct: ElasticProduct;\n }\n }\n\n export interface ViewPromotionEvent {\n eventName: \"viewPromotion\";\n payload: ViewPromotionEvent.Payload;\n }\n\n export namespace ViewPromotionEvent {\n export interface Payload {\n link: string;\n title: string;\n }\n }\n\n export interface ClickPromotionEvent {\n eventName: \"clickPromotion\";\n payload: ClickPromotionEvent.Payload;\n }\n\n export namespace ClickPromotionEvent {\n export interface Payload {\n link: string;\n title: string;\n }\n }\n\n export interface PaginationChangeEvent {\n eventName: \"paginationChange\";\n payload: PaginationChangeEvent.Payload;\n }\n\n export namespace PaginationChangeEvent {\n export interface Payload {\n page: number;\n source: \"search\" | \"collection\";\n }\n }\n\n export interface SortChangeEvent {\n eventName: \"sortChange\";\n payload: SortChangeEvent.Payload;\n }\n\n export namespace SortChangeEvent {\n export interface Payload {\n type: string;\n }\n }\n\n export interface FilterChangeEvent {\n eventName: \"filterChange\";\n payload: FilterChangeEvent.Payload;\n }\n\n export namespace FilterChangeEvent {\n export interface Payload {\n name: string;\n value: string;\n }\n }\n\n export interface ElasticProduct {\n id: number;\n title: string;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConfig.js","sourceRoot":"","sources":["../../../src/hooks/useConfig.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useConfig.js","sourceRoot":"","sources":["../../../src/hooks/useConfig.ts"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { Config } from \"../types/config\";\n\nconst debug = require(\"debug\")(\"reactify-search:useConfig\");\n\n// 5 minute cache expiry\nconst CACHE_EXPIRY = 5 * 60 * 1000;\n\nexport const useConfig = (\n shopifyPermanentDomain: string,\n configId?: string\n): {\n config: Config | undefined;\n} => {\n\n // synchronously returns cached and non-expired config from session storage\n const cachedConfig = React.useMemo(() => {\n if (typeof window === \"undefined\") {\n return;\n }\n debug(\"checking config cache\");\n\n // skip checking cache if url search param \"nocache\" is set\n const skipCache =\n new URLSearchParams(window.location.href.split(\"?\")[1]).get(\"nocache\") !==\n null;\n if (skipCache) {\n debug(\"config cache is disabled\");\n\n return;\n }\n\n const sessionConfig: {\n expiresAt: number;\n config: Config;\n } | null = JSON.parse(\n window.sessionStorage.getItem(\"reactify-search:config\") ?? \"null\"\n );\n\n if (sessionConfig) {\n const sessionConfigTtl = sessionConfig.expiresAt - Date.now();\n if (sessionConfigTtl > 0) {\n debug(`config cache valid, expires in ${(sessionConfigTtl / 1000).toFixed()} seconds`);\n\n return sessionConfig.config;\n } else {\n debug(`config cache invalid, expired ${((sessionConfigTtl * -1) / 1000).toFixed()} seconds ago`);\n }\n }\n\n return;\n }, []);\n\n const [config, setConfig] = React.useState<Config | undefined>(cachedConfig);\n\n React.useEffect(() => {\n if (config) {\n return;\n }\n\n (async () => {\n debug(\"loading fresh config\");\n const searchParams = new URLSearchParams();\n searchParams.set(\"shop\", shopifyPermanentDomain);\n\n if (configId) {\n searchParams.set(\"id\", configId);\n }\n\n const skipCache =\n new URLSearchParams(window.location.href.split(\"?\")[1]).get(\n \"nocache\"\n ) !== null;\n\n if (skipCache) {\n searchParams.set(\"nocache\", \"true\");\n }\n\n const json = await fetch(\n `https://config.search.reactify.app/?${searchParams.toString()}`\n ).then((response) => response.json());\n\n setConfig(json.body);\n\n debug(\"loaded fresh config\");\n\n window.sessionStorage.setItem(\n \"reactify-search:config\",\n JSON.stringify({\n expiresAt: new Date().getTime() + CACHE_EXPIRY,\n noCache: skipCache,\n config: json.body,\n })\n );\n })();\n }, [shopifyPermanentDomain, configId]);\n\n React.useEffect(() => {\n debug(\"variable[config]\", config);\n }, [config]);\n\n return {\n config,\n };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCuration.js","sourceRoot":"","sources":["../../../src/hooks/useCuration.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,oCAA+D;AAExD,MAAM,WAAW,GAAG,GAA+B,EAAE;IAC3D,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IACtD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,iBAAS,GAAE,CAAC;IAErC,OAAO,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACvB,MAAM,kBAAkB,GAAG,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7H,MAAM,4BAA4B,GAAG,kBAAkB;aACpD,WAAW,EAAE;aACb,IAAI,EAAE,CAAC;QAEV,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAC1C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CACzE,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;;YAClD,MAAM,oBAAoB,GAAG,MAAA,QAAQ,CAAC,UAAU,0CAAE,WAAW,GAAG,IAAI,EAAE,CAAC;YACvE,MAAM,0BAA0B,GAAG,MAAA,QAAQ,CAAC,gBAAgB,0CACxD,WAAW,GACZ,IAAI,EAAE,CAAC;YAEV,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,EAAE;gBAC7B,OAAO,CACL,QAAQ,KAAK,QAAQ,CAAC,IAAI;oBAC1B,4BAA4B,KAAK,oBAAoB,CACtD,CAAC;aACH;YAED,IAAI,YAAY,KAAK,OAAO,CAAC,IAAI,EAAE;gBACjC,OAAO,CACL,YAAY,KAAK,QAAQ,CAAC,IAAI;oBAC9B,4BAA4B,KAAK,0BAA0B,CAC5D,CAAC;aACH;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,CAAC,QAAwB,EAAE,EAAE;YACrD,MAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC;YAC5D,IAAI,CAAC,oBAAoB,EAAE;gBACzB,OAAO,QAAQ,CAAC;aACjB;YAED,MAAM,gBAAgB,GACpB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM;gBACpC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;YAEtC,IAAI,gBAAgB,IAAI,CAAC,cAAc,EAAE;gBACvC,OAAO,QAAQ,CAAC;aACjB;YAED,MAAM,0BAA0B,GAAG,gCAC9B,QAAQ,KACX,QAAQ,EAAE,cAAc,CAAC,QAAQ,GAChB,CAAC;YAEpB,OAAO,0BAA0B,CAAC;QACpC,CAAC,CAAC;QAEF,OAAO,QAAQ;YACb,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC;YAC7B,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAC5F,CAAC,CAAA;AAlEY,QAAA,WAAW,eAkEvB"}
|
|
1
|
+
{"version":3,"file":"useCuration.js","sourceRoot":"","sources":["../../../src/hooks/useCuration.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,oCAA+D;AAExD,MAAM,WAAW,GAAG,GAA+B,EAAE;IAC3D,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IACtD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,iBAAS,GAAE,CAAC;IAErC,OAAO,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACvB,MAAM,kBAAkB,GAAG,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7H,MAAM,4BAA4B,GAAG,kBAAkB;aACpD,WAAW,EAAE;aACb,IAAI,EAAE,CAAC;QAEV,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAC1C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CACzE,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;;YAClD,MAAM,oBAAoB,GAAG,MAAA,QAAQ,CAAC,UAAU,0CAAE,WAAW,GAAG,IAAI,EAAE,CAAC;YACvE,MAAM,0BAA0B,GAAG,MAAA,QAAQ,CAAC,gBAAgB,0CACxD,WAAW,GACZ,IAAI,EAAE,CAAC;YAEV,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,EAAE;gBAC7B,OAAO,CACL,QAAQ,KAAK,QAAQ,CAAC,IAAI;oBAC1B,4BAA4B,KAAK,oBAAoB,CACtD,CAAC;aACH;YAED,IAAI,YAAY,KAAK,OAAO,CAAC,IAAI,EAAE;gBACjC,OAAO,CACL,YAAY,KAAK,QAAQ,CAAC,IAAI;oBAC9B,4BAA4B,KAAK,0BAA0B,CAC5D,CAAC;aACH;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,CAAC,QAAwB,EAAE,EAAE;YACrD,MAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC;YAC5D,IAAI,CAAC,oBAAoB,EAAE;gBACzB,OAAO,QAAQ,CAAC;aACjB;YAED,MAAM,gBAAgB,GACpB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM;gBACpC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;YAEtC,IAAI,gBAAgB,IAAI,CAAC,cAAc,EAAE;gBACvC,OAAO,QAAQ,CAAC;aACjB;YAED,MAAM,0BAA0B,GAAG,gCAC9B,QAAQ,KACX,QAAQ,EAAE,cAAc,CAAC,QAAQ,GAChB,CAAC;YAEpB,OAAO,0BAA0B,CAAC;QACpC,CAAC,CAAC;QAEF,OAAO,QAAQ;YACb,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC;YAC7B,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAC5F,CAAC,CAAA;AAlEY,QAAA,WAAW,eAkEvB","sourcesContent":["import React from \"react\";\n\nimport { ConfigCuration } from \"../types\";\nimport { useReactifySearchContext, useSearch } from \"../hooks\";\n\nexport const useCuration = (): ConfigCuration | undefined => {\n\tconst { options, config } = useReactifySearchContext();\n const { searchQuery } = useSearch();\n\n\treturn React.useMemo(() => {\n const handleOrSearchTerm = options.mode === \"collection\" ? options.collection ? options.collection.handle : searchQuery : \"\";\n\n const normalisedHandleOrSearchTerm = handleOrSearchTerm\n .toLowerCase()\n .trim();\n\n const globalCuration = config.curations.find(\n (curation) => curation.id === \"global\" && curation.type === options.mode\n );\n\n const curation = config.curations.find((curation) => {\n const normalisedSearchTerm = curation.searchTerm?.toLowerCase().trim();\n const normalisedCollectionHandle = curation.collectionHandle\n ?.toLowerCase()\n .trim();\n\n if (\"search\" === options.mode) {\n return (\n \"search\" === curation.type &&\n normalisedHandleOrSearchTerm === normalisedSearchTerm\n );\n }\n\n if (\"collection\" === options.mode) {\n return (\n \"collection\" === curation.type &&\n normalisedHandleOrSearchTerm === normalisedCollectionHandle\n );\n }\n\n return false;\n });\n\n const addGlobalBoosting = (curation: ConfigCuration) => {\n const curationIsCollection = curation.type === \"collection\";\n if (!curationIsCollection) {\n return curation;\n }\n\n const curationHasRules =\n !!curation.boosting.groupings.length ||\n !!curation.boosting.sortings.length;\n\n if (curationHasRules || !globalCuration) {\n return curation;\n }\n\n const curationWithGlobalBoosting = {\n ...curation,\n boosting: globalCuration.boosting,\n } as ConfigCuration;\n\n return curationWithGlobalBoosting;\n };\n\n return curation\n ? addGlobalBoosting(curation)\n : globalCuration\n ? globalCuration\n : undefined;\n }, [config, options.mode === \"collection\" ? options.collection : undefined, searchQuery]);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilterCollapsedState.js","sourceRoot":"","sources":["../../../src/hooks/useFilterCollapsedState.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAInB,MAAM,uBAAuB,GAAG,CAAC,MAA0B,EAMhE,EAAE;IACF,uFAAuF;IACvF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,eAAK,CAAC,QAAQ,CAC9C,MAAM,CAAC,wBAAwB,CAChC,CAAC;IAEF,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,CAChC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAC7C,EAAE,CACH;KACF,CAAC;AACJ,CAAC,CAAC;AA/BW,QAAA,uBAAuB,2BA+BlC"}
|
|
1
|
+
{"version":3,"file":"useFilterCollapsedState.js","sourceRoot":"","sources":["../../../src/hooks/useFilterCollapsedState.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAInB,MAAM,uBAAuB,GAAG,CAAC,MAA0B,EAMhE,EAAE;IACF,uFAAuF;IACvF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,eAAK,CAAC,QAAQ,CAC9C,MAAM,CAAC,wBAAwB,CAChC,CAAC;IAEF,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,CAChC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAC7C,EAAE,CACH;KACF,CAAC;AACJ,CAAC,CAAC;AA/BW,QAAA,uBAAuB,2BA+BlC","sourcesContent":["import React from \"react\";\n\nimport { ConfigFilterOption } from \"../types/config\";\n\nexport const useFilterCollapsedState = (filter: ConfigFilterOption): {\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>(\n filter.settingsCollapsedDesktop\n );\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(\n () => setCollapsed((collapsed) => !collapsed),\n []\n ),\n };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilterListProps.js","sourceRoot":"","sources":["../../../src/hooks/useFilterListProps.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAK1B,qFAAqF;AAC9E,MAAM,kBAAkB,GAAG,CAChC,MAA0B,EAC1B,yBAAoD,EAUpD,EAAE;IACF,OAAO,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACxB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,yBAAyB,CAAC;QAElD,mEAAmE;QACnE,MAAM,OAAO,GAAG,IAAI;aACjB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;;YAClB,IAAI,MAAA,MAAM,CAAC,aAAa,0CAAE,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YACtD,IAAI,CAAC,CAAC,CAAA,MAAA,MAAM,CAAC,YAAY,0CAAE,MAAM,CAAA,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACrE,OAAO,KAAK,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aAC1C,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iCACZ,MAAM,KACT,OAAO,EACL,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChD,KAAK,KAAK,MAAM,CAAC,GAAG,IACtB,CAAC,CAAC;QAEN,2CAA2C;QAC3C,MAAM,WAAW,GACf,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;YAC5D,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;QAEzC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAExE,uCACK,yBAAyB,KAC5B,MAAM;YACN,OAAO;YACP,WAAW;YACX,aAAa,IACb;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC;AA/CW,QAAA,kBAAkB,sBA+C7B"}
|
|
1
|
+
{"version":3,"file":"useFilterListProps.js","sourceRoot":"","sources":["../../../src/hooks/useFilterListProps.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAK1B,qFAAqF;AAC9E,MAAM,kBAAkB,GAAG,CAChC,MAA0B,EAC1B,yBAAoD,EAUpD,EAAE;IACF,OAAO,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACxB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,yBAAyB,CAAC;QAElD,mEAAmE;QACnE,MAAM,OAAO,GAAG,IAAI;aACjB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;;YAClB,IAAI,MAAA,MAAM,CAAC,aAAa,0CAAE,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YACtD,IAAI,CAAC,CAAC,CAAA,MAAA,MAAM,CAAC,YAAY,0CAAE,MAAM,CAAA,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACrE,OAAO,KAAK,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aAC1C,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iCACZ,MAAM,KACT,OAAO,EACL,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChD,KAAK,KAAK,MAAM,CAAC,GAAG,IACtB,CAAC,CAAC;QAEN,2CAA2C;QAC3C,MAAM,WAAW,GACf,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;YAC5D,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;QAEzC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAExE,uCACK,yBAAyB,KAC5B,MAAM;YACN,OAAO;YACP,WAAW;YACX,aAAa,IACb;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC;AA/CW,QAAA,kBAAkB,sBA+C7B","sourcesContent":["import React from \"react\";\n\nimport { ConfigFilterOption } from \"../types/config\";\nimport { ReactivesearchFilterProps } from \"../types/reactivesearch\";\n\n// converts reactivesearch props returned in filters to a cleaned up/filtered version\nexport const useFilterListProps = (\n filter: ConfigFilterOption,\n reactivesearchFilterProps: ReactivesearchFilterProps\n): ReactivesearchFilterProps & {\n filter: ConfigFilterOption;\n options: Array<{\n doc_count: number;\n key: string;\n checked: boolean;\n }>;\n hasSelected: boolean;\n totalSelected: number;\n} => {\n return React.useMemo(() => {\n const { data, value } = reactivesearchFilterProps;\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))\n return false;\n return true;\n })\n .sort((a, b) => a.key.localeCompare(b.key))\n .map((option) => ({\n ...option,\n checked:\n (typeof value === \"object\" && value[option.key]) ||\n value === option.key,\n }));\n\n // work out if at least one option selected\n const hasSelected =\n (typeof value === \"object\" && 0 < Object.keys(value).length) ||\n (typeof value !== \"object\" && !!value);\n\n const totalSelected = options.filter((option) => option.checked).length;\n\n return {\n ...reactivesearchFilterProps,\n filter,\n options,\n hasSelected,\n totalSelected,\n };\n }, [filter, reactivesearchFilterProps]);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilterStack.js","sourceRoot":"","sources":["../../../src/hooks/useFilterStack.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,oCAAoD;AAE7C,MAAM,cAAc,GAAG,GAA6B,EAAE;IAC5D,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAEvD,OAAO,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACzB,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE;YACtC,OAAO,SAAS,CAAC;SACjB;QAEC,yBAAyB;QACzB,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAChD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CACzC,CAAC;QAEF,4CAA4C;QAC5C,IAAI,OAAO,CAAC,iBAAiB,EAAE;YAC7B,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,CACnD,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,CAAC,iBAAiB,KAAK,WAAW,CAAC,MAAM,CAClE,CAAC;YACF,IAAI,mBAAmB,EAAE;gBACvB,OAAO,mBAAmB,CAAC;aAC5B;SACF;QAED,gDAAgD;QAChD,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE;YAC9D,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,WACpE,OAAA,MAAA,WAAW,CAAC,WAAW,0CAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA,EAAA,CAC7D,CAAC;YACF,IAAI,mBAAmB,EAAE;gBACvB,OAAO,mBAAmB,CAAC;aAC5B;SACF;QAED,sCAAsC;QACtC,IAAI,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,CACjD,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS,CAClD,CAAC;QACF,IAAI,mBAAmB,EAAE;YACvB,OAAO,mBAAmB,CAAC;SAC5B;QAED,0CAA0C;QAC1C,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CACvC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS,CAClD,CAAC;QACF,IAAI,mBAAmB,EAAE;YACvB,OAAO,mBAAmB,CAAC;SAC5B;QAED,+CAA+C;QAC/C,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAExC,OAAO,mBAAmB,CAAC;IAC7B,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC;AAtDW,QAAA,cAAc,kBAsDzB"}
|
|
1
|
+
{"version":3,"file":"useFilterStack.js","sourceRoot":"","sources":["../../../src/hooks/useFilterStack.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,oCAAoD;AAE7C,MAAM,cAAc,GAAG,GAA6B,EAAE;IAC5D,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAEvD,OAAO,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACzB,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE;YACtC,OAAO,SAAS,CAAC;SACjB;QAEC,yBAAyB;QACzB,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAChD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CACzC,CAAC;QAEF,4CAA4C;QAC5C,IAAI,OAAO,CAAC,iBAAiB,EAAE;YAC7B,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,CACnD,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,CAAC,iBAAiB,KAAK,WAAW,CAAC,MAAM,CAClE,CAAC;YACF,IAAI,mBAAmB,EAAE;gBACvB,OAAO,mBAAmB,CAAC;aAC5B;SACF;QAED,gDAAgD;QAChD,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE;YAC9D,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,WACpE,OAAA,MAAA,WAAW,CAAC,WAAW,0CAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA,EAAA,CAC7D,CAAC;YACF,IAAI,mBAAmB,EAAE;gBACvB,OAAO,mBAAmB,CAAC;aAC5B;SACF;QAED,sCAAsC;QACtC,IAAI,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,CACjD,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS,CAClD,CAAC;QACF,IAAI,mBAAmB,EAAE;YACvB,OAAO,mBAAmB,CAAC;SAC5B;QAED,0CAA0C;QAC1C,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CACvC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS,CAClD,CAAC;QACF,IAAI,mBAAmB,EAAE;YACvB,OAAO,mBAAmB,CAAC;SAC5B;QAED,+CAA+C;QAC/C,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAExC,OAAO,mBAAmB,CAAC;IAC7B,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC;AAtDW,QAAA,cAAc,kBAsDzB","sourcesContent":["import React from \"react\";\n\nimport { ConfigFilter } from \"../types\";\nimport { useReactifySearchContext } from \"../hooks\";\n\nexport const useFilterStack = (): ConfigFilter | undefined => {\n\tconst { options, config } = useReactifySearchContext();\n\n\treturn React.useMemo(() => {\n\t\tif (options.mode === \"instant-search\") {\n\t\t\treturn undefined;\n\t\t}\n\n // select filters by type\n const matchingFilterStacks = config.filters.filter(\n (filter) => filter.type === options.mode,\n );\n\n // select filter stack by handle if provided\n if (options.filterStackHandle) {\n const matchingFilterStack = matchingFilterStacks.find(\n (filterStack) => options.filterStackHandle === filterStack.handle\n );\n if (matchingFilterStack) {\n return matchingFilterStack;\n }\n }\n\n // select filter stack by collection if provided\n if (options.mode === \"collection\" && options.collection.handle) {\n const matchingFilterStack = matchingFilterStacks.find((filterStack) =>\n filterStack.collections?.includes(options.collection.handle)\n );\n if (matchingFilterStack) {\n return matchingFilterStack;\n }\n }\n\n // select filter with \"default\" handle\n let matchingFilterStack = matchingFilterStacks.find(\n (filterStack) => filterStack.handle === \"default\"\n );\n if (matchingFilterStack) {\n return matchingFilterStack;\n }\n\n // select any filter with \"default\" handle\n matchingFilterStack = config.filters.find(\n (filterStack) => filterStack.handle === \"default\"\n );\n if (matchingFilterStack) {\n return matchingFilterStack;\n }\n\n // select any available filter as a last resort\n matchingFilterStack = config.filters[0];\n\n return matchingFilterStack;\n }, [config, options.mode === \"collection\" ? options.collection : undefined]);\n};"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilters.js","sourceRoot":"","sources":["../../../src/hooks/useFilters.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,oCAA0C;AAEnC,MAAM,UAAU,GAAG,GAExB,EAAE;IACF,MAAM,WAAW,GAAG,IAAA,sBAAc,GAAE,CAAC;IAErC,OAAO,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACxB,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO;gBACL,OAAO,EAAE,EAAE;aACZ,CAAC;SACH;QAED,OAAO;YACL,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACzC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACjC;SACF,CAAA;IACH,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC;AAlBW,QAAA,UAAU,cAkBrB"}
|
|
1
|
+
{"version":3,"file":"useFilters.js","sourceRoot":"","sources":["../../../src/hooks/useFilters.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,oCAA0C;AAEnC,MAAM,UAAU,GAAG,GAExB,EAAE;IACF,MAAM,WAAW,GAAG,IAAA,sBAAc,GAAE,CAAC;IAErC,OAAO,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACxB,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO;gBACL,OAAO,EAAE,EAAE;aACZ,CAAC;SACH;QAED,OAAO;YACL,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACzC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACjC;SACF,CAAA;IACH,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC;AAlBW,QAAA,UAAU,cAkBrB","sourcesContent":["import React from \"react\";\n\nimport { ConfigFilterOption } from \"../types\";\nimport { useFilterStack } from \"../hooks\";\n\nexport const useFilters = (): {\n filters: Array<ConfigFilterOption>;\n} => {\n const filterStack = useFilterStack();\n\n return React.useMemo(() => {\n if (!filterStack) {\n return {\n filters: [],\n };\n }\n\n return {\n filters: filterStack.options.sort((a, b) =>\n a.position > b.position ? 1 : -1\n ),\n }\n }, [filterStack]);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePagination.js","sourceRoot":"","sources":["../../../src/hooks/usePagination.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"usePagination.js","sourceRoot":"","sources":["../../../src/hooks/usePagination.ts"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\n\nimport { useAnalytics } from \"../hooks\";\nimport { ReactivesearchPaginationProps } from \"../types/reactivesearch\";\n\nexport const usePagination = (input: ReactivesearchPaginationProps): {\n currentPage: number;\n totalPages: number;\n pagesToShow: Array<number>;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n actualCurrentPage: number;\n buildPagePath: (page: number) => string;\n handleNextPage: (event?: React.SyntheticEvent) => void;\n handlePreviousPage: (event?: React.SyntheticEvent) => void;\n handlePageChange: (pageNumber: number, event?: React.SyntheticEvent) => void;\n} => {\n const { track } = useAnalytics();\n\n const buildPagePath = React.useCallback((page: number) => {\n const currentPath = window.location.pathname;\n\n return currentPath.includes(\"page=\")\n ? currentPath.replace(/page=\\d+/g, `page=${page}`)\n : `${currentPath}${currentPath.includes(\"?\") ? \"&\" : \"?\"}page=${page}`;\n }, []);\n\n const pagesToShow = React.useMemo(\n () => getPages(input.pages, input.totalPages, input.currentPage),\n [input.pages, input.totalPages, input.currentPage]\n );\n\n // default input.currentPage is zero-indexed, actualCurrentPage is one-indexed\n const actualCurrentPage = React.useMemo(() => input.currentPage + 1, [input.currentPage]);\n\n const hasNextPage = React.useMemo(\n () => actualCurrentPage < input.totalPages,\n [actualCurrentPage, input.totalPages]\n );\n\n const hasPreviousPage = React.useMemo(\n () => actualCurrentPage > 1,\n [actualCurrentPage]\n );\n\n const hasPage = React.useCallback((pageNumber: number) => {\n return pageNumber >= 0 && pageNumber < input.totalPages;\n }, [input.totalPages]);\n\n const handlePageChange = React.useCallback<ReturnType<typeof usePagination>[\"handlePageChange\"]>(\n (pageNumber, event) => {\n event?.preventDefault();\n if (!hasPage(pageNumber)) {\n return\n }\n input.setPage(pageNumber);\n track({\n eventName: \"paginationChange\",\n payload: {\n page: pageNumber,\n source: window.location.pathname.includes(\"/search\")\n ? \"search\"\n : \"collection\",\n },\n });\n },\n [input.setPage, track]\n );\n\n const handleNextPage = React.useCallback<ReturnType<typeof usePagination>[\"handleNextPage\"]>(\n (event) => {\n handlePageChange(input.currentPage + 1, event);\n },\n [hasNextPage, input.currentPage, handlePageChange]\n );\n\n const handlePreviousPage = React.useCallback<ReturnType<typeof usePagination>[\"handlePreviousPage\"]>(\n (event) => {\n handlePageChange(input.currentPage - 1, event);\n },\n [hasPreviousPage, input.currentPage, handlePageChange]\n );\n\n return React.useMemo(\n () => ({\n currentPage: input.currentPage,\n totalPages: input.totalPages,\n pagesToShow,\n hasNextPage,\n buildPagePath,\n hasPreviousPage,\n actualCurrentPage,\n handleNextPage,\n handlePreviousPage,\n handlePageChange,\n }),\n [\n input.currentPage,\n input.totalPages,\n pagesToShow,\n hasNextPage,\n buildPagePath,\n hasPreviousPage,\n actualCurrentPage,\n handleNextPage,\n handlePreviousPage,\n handlePageChange,\n ]\n );\n};\n\n// get a list of pages to display buttons for\n// @todo this is super hacky and needs to be cleaned up\nconst getPages = (pages: number, totalPages: number, currentPage: number) => {\n const pagesToShow = pages > totalPages ? totalPages : pages;\n const buffer = Math.floor(pagesToShow / 2);\n let list: number[] = [];\n let start = 0;\n if (totalPages <= 5 || currentPage < buffer + 1) {\n start = 0;\n } else {\n if (totalPages - buffer <= currentPage) {\n start =\n currentPage + 1 === totalPages\n ? currentPage - (pagesToShow - 1)\n : currentPage - (buffer + buffer / 2);\n } else {\n start = currentPage - buffer;\n }\n }\n Array.apply(null, Array(pagesToShow)).map((item, index) => {\n list.push(start + index);\n });\n return list;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePaginationLoadMore.js","sourceRoot":"","sources":["../../../src/hooks/usePaginationLoadMore.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,oCAAwD;AAGjD,MAAM,qBAAqB,GAAG,CAAC,KAAgC,EAapE,EAAE;IACF,MAAM,aAAa,GAAG,IAAA,oBAAY,GAAE,CAAC;IACrC,MAAM,WAAW,GAAG,IAAA,sBAAc,GAAE,CAAC;IAErC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,gBAAgB,KAAK,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC;IAEzF,MAAM,cAAc,GAAG,eAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC5C,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,aAAa,CAAC,KAAK,CAAC;YAClB,SAAS,EAAE,kBAAkB;YAC7B,OAAO,EAAE;gBACP,IAAI,EACF,IAAI,CAAC,IAAI,CACP,KAAK,CAAC,WAAW,CAAC,gBAAgB,GAAG,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,KAAI,EAAE,CAAC,CACnE,GAAG,CAAC;gBACP,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAClD,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,YAAY;aACjB;SACF,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAE1E,OAAO,eAAK,CAAC,OAAO,CAClB,GAAG,EAAE,CAAC,CAAC;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO;QACP,cAAc;QACd,WAAW,EAAE,KAAK,CAAC,WAAW;KAC/B,CAAC,EACF;QACE,KAAK,CAAC,OAAO;QACb,OAAO;QACP,cAAc;QACd,KAAK,CAAC,WAAW;KAClB,CACF,CAAC;AACJ,CAAC,CAAC;AAjDW,QAAA,qBAAqB,yBAiDhC"}
|
|
1
|
+
{"version":3,"file":"usePaginationLoadMore.js","sourceRoot":"","sources":["../../../src/hooks/usePaginationLoadMore.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,oCAAwD;AAGjD,MAAM,qBAAqB,GAAG,CAAC,KAAgC,EAapE,EAAE;IACF,MAAM,aAAa,GAAG,IAAA,oBAAY,GAAE,CAAC;IACrC,MAAM,WAAW,GAAG,IAAA,sBAAc,GAAE,CAAC;IAErC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,gBAAgB,KAAK,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC;IAEzF,MAAM,cAAc,GAAG,eAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC5C,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,aAAa,CAAC,KAAK,CAAC;YAClB,SAAS,EAAE,kBAAkB;YAC7B,OAAO,EAAE;gBACP,IAAI,EACF,IAAI,CAAC,IAAI,CACP,KAAK,CAAC,WAAW,CAAC,gBAAgB,GAAG,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,KAAI,EAAE,CAAC,CACnE,GAAG,CAAC;gBACP,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAClD,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,YAAY;aACjB;SACF,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAE1E,OAAO,eAAK,CAAC,OAAO,CAClB,GAAG,EAAE,CAAC,CAAC;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO;QACP,cAAc;QACd,WAAW,EAAE,KAAK,CAAC,WAAW;KAC/B,CAAC,EACF;QACE,KAAK,CAAC,OAAO;QACb,OAAO;QACP,cAAc;QACd,KAAK,CAAC,WAAW;KAClB,CACF,CAAC;AACJ,CAAC,CAAC;AAjDW,QAAA,qBAAqB,yBAiDhC","sourcesContent":["import React from \"react\";\n\nimport { useAnalytics, useFilterStack } from \"../hooks\";\nimport { ReactivesearchResultProps } from \"../types/reactivesearch\";\n\nexport const usePaginationLoadMore = (input: ReactivesearchResultProps): {\n loading: boolean;\n hasMore: boolean;\n handleLoadMore: () => void;\n resultStats: {\n time: number;\n hidden: number;\n promoted: number;\n currentPage: number;\n numberOfPages: number;\n numberOfResults?: number;\n displayedResults: number;\n };\n} => {\n const analyticsHook = useAnalytics();\n const filterStack = useFilterStack();\n\n const hasMore = input.resultStats.displayedResults !== input.resultStats.numberOfResults;\n\n const handleLoadMore = React.useCallback(() => {\n input.loadMore();\n analyticsHook.track({\n eventName: \"paginationChange\",\n payload: {\n page:\n Math.ceil(\n input.resultStats.displayedResults / (filterStack?.pageSize || 20)\n ) + 1,\n source: window.location.pathname.includes(\"/search\")\n ? \"search\"\n : \"collection\",\n },\n });\n }, [input.loadMore, analyticsHook.track, input.resultStats, filterStack]);\n\n return React.useMemo(\n () => ({\n loading: input.loading,\n hasMore,\n handleLoadMore,\n resultStats: input.resultStats,\n }),\n [\n input.loading,\n hasMore,\n handleLoadMore,\n input.resultStats,\n ]\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProductPrice.js","sourceRoot":"","sources":["../../../src/hooks/useProductPrice.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,8DAAmC;AAI5B,MAAM,eAAe,GAAG,CAAC,OAAuB,EAOrD,EAAE;IACF,OAAO,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;;QACxB,MAAM,OAAO,GAAG,MAAA,OAAO,CAAC,QAAQ,0CAAG,CAAC,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,SAAS;gBAChB,YAAY,EAAE,KAAK;gBACnB,cAAc,EAAE,SAAS;aAC1B,CAAC;SACH;QAED,wCAAwC;QACxC,MAAM,QAAQ,GAAG,MAAA,OAAO,CAAC,kBAAkB,0CAAG,CAAC,CAAC,CAAC;QAEjD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;YAChC,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,SAAS;gBAChB,YAAY,EAAE,KAAK;gBACnB,cAAc,EAAE,SAAS;aAC1B,CAAC;SACH;QAED,MAAM,YAAY,GAAG,MAAA,QAAQ,CAAC,KAAK,CAAC,aAAa,mCAAI,KAAK,CAAC;QAE3D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM;YACjC,CAAC,CAAC,IAAA,qBAAQ,EAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YACjC,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5E,MAAM,cAAc,GAAG,CAAA,MAAA,QAAQ,CAAC,gBAAgB,0CAAE,MAAM;YACtD,CAAC,CAAC,IAAA,qBAAQ,EAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,uBAAuB,GAAG,cAAc;YAC5C,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE,YAAY,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,MAAM,GACV,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,KAAK,IAAI,cAAc,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAE1E,OAAO;YACL,KAAK;YACL,MAAM;YACN,YAAY;YACZ,cAAc;YACd,cAAc;YACd,uBAAuB;SACxB,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC;AA5DW,QAAA,eAAe,mBA4D1B;AAEF,MAAM,WAAW,GAAG,CAAC,KAAe,EAAE,YAAoB,EAAU,EAAE;IACpE,IAAI,WAAW,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QAC/C,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEvB,IAAI,KAAK,KAAK,YAAY,EAAE;QAC1B,WAAW,GAAG,MAAM,WAAW,EAAE,CAAC;KACnC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"useProductPrice.js","sourceRoot":"","sources":["../../../src/hooks/useProductPrice.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,8DAAmC;AAI5B,MAAM,eAAe,GAAG,CAAC,OAAuB,EAOrD,EAAE;IACF,OAAO,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;;QACxB,MAAM,OAAO,GAAG,MAAA,OAAO,CAAC,QAAQ,0CAAG,CAAC,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,SAAS;gBAChB,YAAY,EAAE,KAAK;gBACnB,cAAc,EAAE,SAAS;aAC1B,CAAC;SACH;QAED,wCAAwC;QACxC,MAAM,QAAQ,GAAG,MAAA,OAAO,CAAC,kBAAkB,0CAAG,CAAC,CAAC,CAAC;QAEjD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;YAChC,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,SAAS;gBAChB,YAAY,EAAE,KAAK;gBACnB,cAAc,EAAE,SAAS;aAC1B,CAAC;SACH;QAED,MAAM,YAAY,GAAG,MAAA,QAAQ,CAAC,KAAK,CAAC,aAAa,mCAAI,KAAK,CAAC;QAE3D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM;YACjC,CAAC,CAAC,IAAA,qBAAQ,EAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YACjC,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5E,MAAM,cAAc,GAAG,CAAA,MAAA,QAAQ,CAAC,gBAAgB,0CAAE,MAAM;YACtD,CAAC,CAAC,IAAA,qBAAQ,EAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,uBAAuB,GAAG,cAAc;YAC5C,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE,YAAY,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,MAAM,GACV,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,KAAK,IAAI,cAAc,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAE1E,OAAO;YACL,KAAK;YACL,MAAM;YACN,YAAY;YACZ,cAAc;YACd,cAAc;YACd,uBAAuB;SACxB,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC;AA5DW,QAAA,eAAe,mBA4D1B;AAEF,MAAM,WAAW,GAAG,CAAC,KAAe,EAAE,YAAoB,EAAU,EAAE;IACpE,IAAI,WAAW,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QAC/C,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEvB,IAAI,KAAK,KAAK,YAAY,EAAE;QAC1B,WAAW,GAAG,MAAM,WAAW,EAAE,CAAC;KACnC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC","sourcesContent":["import React from \"react\";\nimport currency from \"currency.js\";\n\nimport { ElasticProduct } from \"../types/elastic\";\n\nexport const useProductPrice = (product: ElasticProduct): {\n price?: currency;\n onSale: boolean;\n currencyCode: string;\n compareAtPrice?: currency;\n formattedPrice?: string;\n formattedCompareAtPrice?: string;\n} => {\n return React.useMemo(() => {\n const variant = product.variants?.[0];\n\n if (!variant) {\n return {\n onSale: false,\n price: undefined,\n currencyCode: \"AUD\",\n compareAtPrice: undefined,\n };\n }\n\n // @todo select the appropriate currency\n const priceSet = variant.presentment_prices?.[0];\n\n if (!priceSet || !priceSet.price) {\n return {\n onSale: false,\n price: undefined,\n currencyCode: \"AUD\",\n compareAtPrice: undefined,\n };\n }\n\n const currencyCode = priceSet.price.currency_code ?? \"AUD\";\n\n const price = priceSet.price.amount\n ? currency(priceSet.price.amount)\n : undefined;\n\n const formattedPrice = price ? formatPrice(price, currencyCode) : undefined;\n\n const compareAtPrice = priceSet.compare_at_price?.amount\n ? currency(priceSet.compare_at_price.amount)\n : undefined;\n\n const formattedCompareAtPrice = compareAtPrice\n ? formatPrice(compareAtPrice, currencyCode)\n : undefined;\n\n const onSale =\n !!compareAtPrice && !!price && compareAtPrice.intValue > price.intValue;\n\n return {\n price,\n onSale,\n currencyCode,\n compareAtPrice,\n formattedPrice,\n formattedCompareAtPrice,\n };\n }, [product]);\n};\n\nconst formatPrice = (price: currency, currencyCode: string): string => {\n let priceString = new Intl.NumberFormat(\"en-AU\", {\n style: \"currency\",\n currency: currencyCode,\n }).format(price.value);\n\n if (\"AUD\" === currencyCode) {\n priceString = `AU ${priceString}`;\n }\n\n return priceString;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReactifySearchContext.js","sourceRoot":"","sources":["../../../src/hooks/useReactifySearchContext.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAIb,QAAA,qBAAqB,GAAG,eAAK,CAAC,aAAa,CAqCzC,SAAS,CAAC,CAAC;AAEnB,MAAM,wBAAwB,GAAG,GAAG,EAAE,CAAC,eAAK,CAAC,UAAU,CAAC,6BAAqB,CAAE,CAAC;AAA1E,QAAA,wBAAwB,4BAAkD"}
|
|
1
|
+
{"version":3,"file":"useReactifySearchContext.js","sourceRoot":"","sources":["../../../src/hooks/useReactifySearchContext.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAIb,QAAA,qBAAqB,GAAG,eAAK,CAAC,aAAa,CAqCzC,SAAS,CAAC,CAAC;AAEnB,MAAM,wBAAwB,GAAG,GAAG,EAAE,CAAC,eAAK,CAAC,UAAU,CAAC,6BAAqB,CAAE,CAAC;AAA1E,QAAA,wBAAwB,4BAAkD","sourcesContent":["import React from \"react\";\n\nimport { Config } from \"../types\";\n\nexport const ReactifySearchContext = React.createContext<{\n\tconfig: Config,\n\toptions: {\n\t\tmode: \"search\" | \"collection\" | \"instant-search\";\n\t\tindex: string;\n\t\tshopifyPermanentDomain: string;\n\t\tfilterStackHandle?: string;\n\t\tcredentials: {\n\t\t username: string;\n\t\t password: string;\n\t\t endpoint: string;\n\t\t};\n\t\tonRedirect?: (type: \"redirect\" | \"search\", url: string) => void;\n\t\ttheme: Record<string, unknown>;\n\t additionalComponentHandles?: Array<string>;\n\t} & ({\n\t mode: \"search\";\n\t} | {\n\t mode: \"collection\";\n\t collection: {\n\t\t id: number;\n\t\t handle: string;\n\t\t title: string;\n\t };\n\t} | {\n\t mode: \"instant-search\";\n\t}),\n\tsearch: {\n\t\tsearchQuery: string;\n\t\tsetSearchQuery: React.Dispatch<React.SetStateAction<string>>;\n\t\tinstantSearchVisible: boolean;\n\t\tsetInstantSearchVisible: React.Dispatch<React.SetStateAction<boolean>>;\n\t},\n\tsortby: {\n\t\tsortOption: string;\n\t\tsetSortOption: React.Dispatch<React.SetStateAction<string>>;\n\t},\n} | undefined>(undefined);\n\nexport const useReactifySearchContext = () => React.useContext(ReactifySearchContext)!;"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSearch.js","sourceRoot":"","sources":["../../../src/hooks/useSearch.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,oCAAoD;AAE7C,MAAM,SAAS,GAAG,GAAG,EAAE;IAC5B,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAE/D,MAAM,kBAAkB,GAAG,eAAK,CAAC,WAAW,CAAC,CAAC,gBAAyB,EAAE,EAAE;QACzE,MAAM,iBAAiB,GAAG,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,MAAM,CAAC,WAAW,CAAC;QACjE,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAE/B,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CACpC,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,iBAAiB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CACzC,CAAC;QAEF,MAAM,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,OAAO,CAAC,UAAU,CAChB,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAChC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,iBAAiB,EAAE,CAC3D,CAAC;SACH;aAAM,IAAI,QAAQ,EAAE;YACnB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC;SACrC;aAAM;YACL,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,iBAAiB,EAAE,CAAC;SACzD;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IAEzB,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,YAAY,EAAE,kBAAkB;QAChC,wBAAwB,EAAE,CAAC,CAAC,MAAM,CAAC,oBAAoB,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW;QAC/E,2BAA2B,EAAE,MAAM,CAAC,uBAAuB;KAC5D,CAAC;AACJ,CAAC,CAAC;AAlCW,QAAA,SAAS,aAkCpB"}
|
|
1
|
+
{"version":3,"file":"useSearch.js","sourceRoot":"","sources":["../../../src/hooks/useSearch.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,oCAAoD;AAE7C,MAAM,SAAS,GAAG,GAAG,EAAE;IAC5B,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAE/D,MAAM,kBAAkB,GAAG,eAAK,CAAC,WAAW,CAAC,CAAC,gBAAyB,EAAE,EAAE;QACzE,MAAM,iBAAiB,GAAG,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,MAAM,CAAC,WAAW,CAAC;QACjE,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAE/B,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CACpC,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,iBAAiB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CACzC,CAAC;QAEF,MAAM,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,OAAO,CAAC,UAAU,CAChB,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAChC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,iBAAiB,EAAE,CAC3D,CAAC;SACH;aAAM,IAAI,QAAQ,EAAE;YACnB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC;SACrC;aAAM;YACL,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,iBAAiB,EAAE,CAAC;SACzD;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IAEzB,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,YAAY,EAAE,kBAAkB;QAChC,wBAAwB,EAAE,CAAC,CAAC,MAAM,CAAC,oBAAoB,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW;QAC/E,2BAA2B,EAAE,MAAM,CAAC,uBAAuB;KAC5D,CAAC;AACJ,CAAC,CAAC;AAlCW,QAAA,SAAS,aAkCpB","sourcesContent":["import React from \"react\";\n\nimport { useReactifySearchContext } from \"../hooks\";\n\nexport const useSearch = () => {\n const { options, config, search } = useReactifySearchContext();\n\n const handleSubmitSearch = React.useCallback((localSearchQuery?: string) => {\n const actualSearchQuery = localSearchQuery ?? search.searchQuery;\n if (!actualSearchQuery) return;\n\n const redirect = config.redirects.find(\n (redirect) =>\n redirect.query.trim().toLowerCase() ===\n actualSearchQuery.trim().toLowerCase()\n );\n\n search.setInstantSearchVisible(false);\n\n if (options.onRedirect) {\n options.onRedirect(\n redirect ? \"redirect\" : \"search\",\n redirect ? redirect.url : `/search?q=${actualSearchQuery}`\n );\n } else if (redirect) {\n window.location.href = redirect.url;\n } else {\n window.location.href = `/search?q=${actualSearchQuery}`;\n }\n }, [search.searchQuery]);\n\n return {\n searchQuery: search.searchQuery,\n setSearchQuery: search.setSearchQuery,\n submitSearch: handleSubmitSearch,\n showInstantSearchResults: !!search.instantSearchVisible && !!search.searchQuery,\n setShowInstantSearchResults: search.setInstantSearchVisible,\n };\n};"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSortby.js","sourceRoot":"","sources":["../../../src/hooks/useSortby.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,oCAAkE;AAE3D,MAAM,SAAS,GAAG,GAIvB,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAC/D,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,oBAAY,GAAE,CAAC;IAEjC,MAAM,WAAW,GAAG,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACrC,OAAO,MAAM,CAAC,IAAI;aACf,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC9D,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5E,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAE3B,MAAM,UAAU,GAAG,eAAK,CAAC,OAAO,CAC9B,GAAG,EAAE,CACH,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,UAAU,CAAC;QAC9D,WAAW,CAAC,CAAC,CAAC,EAChB,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,CACjC,CAAC;IAEF,MAAM,aAAa,GAAG,eAAK,CAAC,WAAW,CACrC,CAAC,gBAAwB,EAAE,kBAAkB,GAAG,KAAK,EAAE,EAAE;QACvD,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACvC,IAAI,CAAC,kBAAkB,EAAE;YACvB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC1B,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;gBAChD,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YACtD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;SAClD;QAED,KAAK,CAAC;YACJ,SAAS,EAAE,YAAY;YACvB,OAAO,EAAE;gBACP,IAAI,EAAE,gBAAgB;aACvB;SACF,CAAC,CAAC;IACL,CAAC,EACD,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CACvB,CAAC;IAEF,OAAO;QACL,WAAW;QACX,UAAU;QACV,aAAa;KACd,CAAC;AACJ,CAAC,CAAC;AA/CW,QAAA,SAAS,aA+CpB"}
|
|
1
|
+
{"version":3,"file":"useSortby.js","sourceRoot":"","sources":["../../../src/hooks/useSortby.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,oCAAkE;AAE3D,MAAM,SAAS,GAAG,GAIvB,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAC/D,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,oBAAY,GAAE,CAAC;IAEjC,MAAM,WAAW,GAAG,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACrC,OAAO,MAAM,CAAC,IAAI;aACf,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC9D,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5E,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAE3B,MAAM,UAAU,GAAG,eAAK,CAAC,OAAO,CAC9B,GAAG,EAAE,CACH,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,UAAU,CAAC;QAC9D,WAAW,CAAC,CAAC,CAAC,EAChB,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,CACjC,CAAC;IAEF,MAAM,aAAa,GAAG,eAAK,CAAC,WAAW,CACrC,CAAC,gBAAwB,EAAE,kBAAkB,GAAG,KAAK,EAAE,EAAE;QACvD,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACvC,IAAI,CAAC,kBAAkB,EAAE;YACvB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC1B,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;gBAChD,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YACtD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;SAClD;QAED,KAAK,CAAC;YACJ,SAAS,EAAE,YAAY;YACvB,OAAO,EAAE;gBACP,IAAI,EAAE,gBAAgB;aACvB;SACF,CAAC,CAAC;IACL,CAAC,EACD,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CACvB,CAAC;IAEF,OAAO;QACL,WAAW;QACX,UAAU;QACV,aAAa;KACd,CAAC;AACJ,CAAC,CAAC;AA/CW,QAAA,SAAS,aA+CpB","sourcesContent":["import React from \"react\";\n\nimport { ConfigSort } from \"../types\";\nimport { useAnalytics, useReactifySearchContext } from \"../hooks\";\n\nexport const useSortby = (): {\n sortOption: ConfigSort | undefined;\n sortOptions: Array<ConfigSort>;\n setSortOption: (sortOptionHandle: string, ignoreHistoryState?: boolean) => void;\n} => {\n const { options, config, sortby } = useReactifySearchContext();\n const { track } = useAnalytics();\n\n const sortOptions = React.useMemo(() => {\n return config.sort\n .sort((a, b) => `${a.position}`.localeCompare(`${b.position}`))\n .filter(({ visibility }) => [\"all\", options.mode].includes(visibility));\n }, [options.mode, config]);\n\n const sortOption = React.useMemo(\n () =>\n sortOptions.find(({ handle }) => handle === sortby.sortOption) ||\n sortOptions[0],\n [sortOptions, sortby.sortOption]\n );\n\n const setSortOption = React.useCallback(\n (sortOptionHandle: string, ignoreHistoryState = false) => {\n sortby.setSortOption(sortOptionHandle);\n if (!ignoreHistoryState) {\n const url = new URL(window.location.href);\n url.searchParams.has(\"sort\")\n ? url.searchParams.set(\"sort\", sortOptionHandle)\n : url.searchParams.append(\"sort\", sortOptionHandle);\n window.history.pushState({}, \"\", url.toString());\n }\n\n track({\n eventName: \"sortChange\",\n payload: {\n type: sortOptionHandle,\n },\n });\n },\n [window.location.href]\n );\n\n return {\n sortOptions,\n sortOption,\n setSortOption,\n };\n};"]}
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA6B;AAC7B,0CAAwB;AACxB,0CAAwB;AAExB,kDAAgD;AAChD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAEnD,KAAK,CAAC,GAAG,mBAAI,KAAK,sBAAO,EAAE,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA6B;AAC7B,0CAAwB;AACxB,0CAAwB;AAExB,kDAAgD;AAChD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAEnD,KAAK,CAAC,GAAG,mBAAI,KAAK,sBAAO,EAAE,CAAC,CAAC","sourcesContent":["export * from \"./components\";\nexport * from \"./hooks\";\nexport * from \"./types\";\n\nimport { name, version } from \"../package.json\";\nconst debug = require(\"debug\")(\"reactify-search:\");\n\ndebug(`${name} v${version}`);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"","sourcesContent":["import {\n Sort,\n Filter,\n FilterOption,\n Redirect,\n Field,\n Curation,\n} from \"./firestore\";\n\n// when exposed as config, most resources have the `enabled` and `keywords` attributes removed\n// curation boosting groupings and sortings both have a json encoded elastic query added to them\nexport interface Config {\n index: string;\n sort: ConfigSort[];\n fields: ConfigField[];\n filters: ConfigFilter[];\n redirects: ConfigRedirect[];\n curations: ConfigCuration[];\n}\n\nexport type ConfigSort = Omit<Sort, \"enabled\">;\nexport type ConfigField = Omit<Field, \"enabled\">;\nexport type ConfigRedirect = Omit<Redirect, \"enabled\" | \"keywords\">;\nexport type ConfigFilter = Omit<Filter, \"enabled\" | \"keywords\"> & {\n options: Omit<FilterOption, \"enabled\">[];\n};\nexport type ConfigFilterOption = Omit<FilterOption, \"enabled\">;\nexport type ConfigCuration = Omit<\n Curation,\n \"keywords\" | \"boosting\" | \"longRunningTask\" | \"callouts\"\n> & {\n boosting: {\n groupings: (NonNullable<\n NonNullable<Curation[\"boosting\"]>[\"groupings\"]\n >[0] & { query: string })[];\n sortings: (NonNullable<NonNullable<Curation[\"boosting\"]>[\"sortings\"]>[0] & {\n query: string;\n })[];\n };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elastic.js","sourceRoot":"","sources":["../../../src/types/elastic.ts"],"names":[],"mappings":";;;AAOA,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,0CAAmB,CAAA;AACrB,CAAC,EAHW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAG9B;AA6LD,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,gCAAa,CAAA;IACb,gCAAa,CAAA;IACb,kCAAe,CAAA;IACf,oCAAiB,CAAA;IACjB,sCAAmB,CAAA;IACnB,sCAAmB,CAAA;AACrB,CAAC,EARW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAQ1B"}
|
|
1
|
+
{"version":3,"file":"elastic.js","sourceRoot":"","sources":["../../../src/types/elastic.ts"],"names":[],"mappings":";;;AAOA,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,0CAAmB,CAAA;AACrB,CAAC,EAHW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAG9B;AA6LD,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,gCAAa,CAAA;IACb,gCAAa,CAAA;IACb,kCAAe,CAAA;IACf,oCAAiB,CAAA;IACjB,sCAAmB,CAAA;IACnB,sCAAmB,CAAA;AACrB,CAAC,EARW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAQ1B","sourcesContent":["import { Callout } from \"./firestore\";\nimport {\n Maybe,\n ProductVariantInventoryPolicy,\n MetafieldValueType,\n} from \"./graphql\";\n\nexport enum ElasticDocumentType {\n Callout = \"callout\",\n Product = \"product\",\n}\n\nexport type ElasticDocument = ElasticCallout | ElasticProduct;\n\nexport interface ElasticCallout {\n type: ElasticDocumentType.Callout;\n key: string;\n callout: Omit<Callout, \"keywords\">;\n /** elastic callouts are always published */\n published: true;\n /** elastic callouts are always attached to one curation */\n curations: [ElasticCuration];\n}\n\nexport interface ElasticProduct {\n type: ElasticDocumentType.Product;\n /** the log id from which this product was last uploaded */\n lastLogId: string;\n /** legacy resource id */\n id: number;\n storefrontId: string;\n title: string;\n description: string;\n vendor: string;\n product_type: string;\n handle: string;\n url: string;\n tags: string[];\n collection_titles: string[];\n /** tag prefixes defined in tagKeys are split to their own attributes */\n [key: `tags_${string}`]: string[] | undefined;\n /** decimal number e.g. 99.95 */\n price_min: number;\n /** decimal number e.g. 99.95 */\n price_max: number;\n /** array of option names e.g. [\"Colour\", \"Size\"] */\n options: string[];\n /** @todo it would be better to use ProductStatus directly, which has uppercase */\n status: \"active\" | \"archived\" | \"draft\";\n published: boolean;\n /** ISO 8601 datetime */\n published_at: Maybe<string>;\n /** ISO 8601 datetime */\n updated_at: string;\n /** ISO 8601 datetime */\n created_at: string;\n tracks_inventory: boolean;\n /** originalSrc URL for featured image */\n image: Maybe<string>;\n /** array of images (undefined if images are disabled in sync settings) */\n images?: ElasticImage[];\n /** array of variants attached to product (undefined if variants are disabled in sync settings) */\n variants?: ElasticVariant[];\n /** price ranges from presentment prices (undefined if presentment prices or variants are disabled in sync settings) */\n presentment_price_ranges?: {\n min_variant_price: ElasticPresentmentPrice[];\n max_variant_price: ElasticPresentmentPrice[];\n };\n /** array of variant skus (undefined if variants are disabled in sync settings) */\n variant_skus?: string[];\n /** combined array of option values from all option types (undefined if variants are disabled in sync settings) */\n variant_options?: string[];\n /** array of collections which this product belongs to (undefined if collections are disabled in sync settings) */\n collections?: ElasticCollection[];\n /** array of whitelisted metafields (undefined if metafields are disabled in sync settings) */\n metafields?: ElasticMetafield[];\n /** decimal number e.g. 99.95 (undefined if variants are disabled in sync settings) */\n discount_amount?: number;\n /** combined inventory for all variants (undefined if variants are disabled in sync settings) */\n inventory_total?: number;\n /** number of days since published, null if unpublished */\n published_days: Maybe<number>;\n /** collection of curations that this product is attached to */\n curations?: ElasticCuration[];\n}\n\nexport interface ElasticVariant {\n /** legacy resource id */\n id: number;\n storefrontId: string;\n title: string;\n sku: Maybe<string>;\n barcode: Maybe<string>;\n /** array of presentment prices (undefined if presentment prices are disabled in sync settings) */\n presentment_prices?: {\n price: ElasticPresentmentPrice;\n compare_at_price: Maybe<ElasticPresentmentPrice>;\n }[];\n /** decimal number e.g. 99.95 */\n price: number;\n /** decimal number e.g. 99.95 */\n compare_at_price: Maybe<number>;\n /** value string for option 1 e.g. Blue */\n option1: Maybe<string>;\n /** value string for option 2 e.g. Medium */\n option2: Maybe<string>;\n /** value string for option 3 */\n option3: Maybe<string>;\n /** sort position within the product */\n position: number;\n inventory_policy: ProductVariantInventoryPolicy;\n inventory_quantity: number;\n available: boolean;\n /** array of images (only available if this variant has been merged from another product and if images are enabled in sync settings) */\n images?: ElasticImage[];\n}\n\nexport interface ElasticCollection {\n /** legacy resource id */\n id: number;\n storefrontId: string;\n handle: string;\n title: string;\n position: number;\n}\n\nexport interface ElasticMetafield {\n key: string;\n type: string;\n value: string;\n namespace: string;\n /**\n * Legacy valueType attribute which is no longer provided by Shopify. We still\n * populate this field to prevent any frontends breaking which rely on it.\n *\n * @see https://shopify.dev/apps/metafields/definitions/types\n */\n value_type: MetafieldValueType;\n}\n\nexport interface ElasticPresentmentPrice {\n /** decimal number e.g. 99.95 */\n amount: number;\n currency_code: string;\n}\n\nexport interface ElasticImage {\n /** originalSrc URL */\n src: string;\n /** alt text */\n alt: Maybe<string>;\n}\n\nexport interface ElasticCuration {\n id: string;\n hidden: boolean;\n position?: number;\n searchTerm?: string;\n collectionHandle?: string;\n}\n\n// non-exhaustive type for bulk request\n// https://www.elastic.co/guide/en/elasticsearch/reference/7.x/docs-bulk.html\nexport type ElasticBulkOperationUpdate = [\n { update: { _index: string; _id: string } },\n {\n script?: {\n lang: \"painless\";\n source: string;\n params?: Record<string, any>;\n };\n upsert?: Partial<ElasticProduct>;\n scripted_upsert?: true;\n doc?: Partial<ElasticProduct>;\n doc_as_upsert?: true;\n }\n];\n\nexport type ElasticBulkOperationIndex = [\n { index: { _index: string; _id: string } },\n ElasticDocument\n];\n\nexport type ElasticBulkOperation =\n | ElasticBulkOperationUpdate\n | ElasticBulkOperationIndex;\n\nexport type ElasticSearchResult<T = ElasticDocument> = {\n hits: {\n hits: ElasticHit<T>[];\n };\n};\n\nexport type ElasticHit<T = ElasticDocument> = {\n _id: string;\n _source: T;\n _score: number | null;\n};\n\nexport enum ElasticDataType {\n Text = \"text\",\n Long = \"long\",\n Date = \"date\",\n Float = \"float\",\n Nested = \"nested\",\n Keyword = \"keyword\",\n Boolean = \"boolean\",\n}\n\nexport interface ElasticProperty {\n analyzer?: string;\n type: ElasticDataType;\n ignore_above?: number;\n fields?: { [key: string]: ElasticField };\n properties?: { [key: string]: ElasticProperty };\n}\n\nexport interface ElasticField {\n type: ElasticDataType;\n ignore_above?: number;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firestore.js","sourceRoot":"","sources":["../../../src/types/firestore.ts"],"names":[],"mappings":";;;AA+NA,IAAY,cAQX;AARD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,2CAAyB,CAAA;IACzB,yCAAuB,CAAA;IACvB,+CAA6B,CAAA;IAC7B,yCAAuB,CAAA;IACvB,qCAAmB,CAAA;IACnB,qCAAmB,CAAA;AACrB,CAAC,EARW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAQzB;AAyBD,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,8BAAmB,CAAA;IACnB,8BAAmB,CAAA;AACrB,CAAC,EAHW,OAAO,GAAP,eAAO,KAAP,eAAO,QAGlB"}
|
|
1
|
+
{"version":3,"file":"firestore.js","sourceRoot":"","sources":["../../../src/types/firestore.ts"],"names":[],"mappings":";;;AA+NA,IAAY,cAQX;AARD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,2CAAyB,CAAA;IACzB,yCAAuB,CAAA;IACvB,+CAA6B,CAAA;IAC7B,yCAAuB,CAAA;IACvB,qCAAmB,CAAA;IACnB,qCAAmB,CAAA;AACrB,CAAC,EARW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAQzB;AAyBD,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,8BAAmB,CAAA;IACnB,8BAAmB,CAAA;AACrB,CAAC,EAHW,OAAO,GAAP,eAAO,KAAP,eAAO,QAGlB","sourcesContent":["// @todo this is so we don't need to import firebase\ntype Timestamp = string;\n\nimport { ShopifyProduct } from \"./shopify\";\nimport { ElasticDataType } from \"./elastic\";\n\nexport interface Log {\n id: string;\n keywords: string[];\n message: string;\n platform: \"reactify\" | \"shopify\" | \"elastic\";\n percentCompleted: number;\n action?: {\n type: \"retry\";\n label: string;\n task: Task[\"taskId\"];\n };\n step:\n | \"download\"\n | \"transform\"\n | \"merge\"\n | \"upload\"\n | \"cleanup\"\n | \"complete\"\n | \"sync\";\n title: string;\n type: \"bulk\";\n data?: string; // JSON sringified data\n progress: \"new\" | \"error\" | \"complete\" | \"partiallyComplete\";\n status: \"success\" | \"info\" | \"warning\" | \"critical\"; // polaris banner status\n createdAt: Timestamp;\n updatedAt?: Timestamp;\n finishedAt?: Timestamp;\n}\n\nexport interface Task {\n logId: string;\n taskId:\n | \"download\"\n | \"transform\"\n | \"merge\"\n | \"upload\"\n | \"cleanup\"\n | \"refreshDefinedFields\"\n | \"install\";\n firstRun: boolean;\n createdAt: Timestamp;\n updatedAt?: Timestamp;\n}\n\nexport interface TaskDownload extends Task {\n taskId: \"download\";\n type: \"collection\" | \"product\";\n productUrl?: string;\n collectionUrl?: string;\n}\n\nexport interface TaskTransform extends Task {\n taskId: \"transform\";\n productUrl: string;\n collectionUrl: string;\n}\n\nexport interface TaskMerge extends Task {\n taskId: \"merge\";\n productCount: number;\n collectionCount: number;\n startAfterId?: string;\n}\n\nexport interface TaskUpload extends Task {\n taskId: \"upload\";\n productCount: number;\n collectionCount: number;\n startAfterId?: string;\n}\n\nexport interface TaskCleanup extends Task {\n taskId: \"cleanup\";\n}\n\nexport interface TaskRefreshDefinedFields extends Task {\n taskId: \"refreshDefinedFields\";\n}\n\nexport interface TaskInstall extends Task {\n taskId: \"install\";\n}\n\nexport interface Lock {\n logId: string;\n taskType: \"sync\";\n createdAt: Timestamp;\n}\n\nexport interface SettingsInstance {\n index: string;\n cloudId: string;\n endpoint: string;\n password: string;\n username: string;\n syncFrequency: string;\n syncThreshold: number;\n provider: \"elastic\" | \"aws\";\n storefrontAccessToken: string;\n customMappings: string; // JSON sringified data\n}\n\nexport interface SettingsProduct {\n tagChild?: string;\n tagKeys?: string[];\n tagParent?: string;\n syncObjects: string[];\n tagExclude?: string[];\n tagSeparator?: string;\n metafieldWhitelist?: string[];\n}\n\nexport interface SettingsCurations {\n moreInfo?: boolean;\n pageSize?: number;\n gridColumns?: number;\n}\n\nexport interface Field {\n id: string;\n field: string;\n enabled: boolean;\n importance: number;\n searchType: \"always_search\" | \"search_page\" | \"instant_search\";\n}\n\nexport interface DefinedField {\n label: string;\n value: string;\n type: ElasticDataType;\n}\n\nexport interface Sort {\n id: string;\n name: string;\n handle: string;\n field: string;\n position: number;\n enabled: boolean;\n direction: \"desc\" | \"asc\";\n visibility: \"all\" | \"search\" | \"collection\";\n}\n\nexport interface Filter {\n id: string;\n name: string;\n handle: string;\n enabled: boolean;\n pageSize: number;\n keywords: string[];\n defaultSort: string;\n collections: string[];\n type: \"search\" | \"collection\";\n paginationType: \"pagination\" | \"load_more\" | \"next_prev\" | \"infinite_scroll\";\n inventoryVisibility:\n | \"show_all\"\n | \"hide_products\"\n | \"hide_variants\"\n | \"hide_all\";\n}\n\nexport interface FilterOption {\n displaySize: string;\n displaySliderInterval: string;\n displaySliderStep: string;\n displayType: \"multi\" | \"single\" | \"range\" | \"slider\";\n displayView: \"list\" | \"check\" | \"swatch\" | \"box\";\n enabled: boolean;\n field: string;\n id: string;\n name: string;\n handle: string;\n position: number;\n settingsCollapsedDesktop: boolean;\n settingsCollapsedMobile: boolean;\n settingsShowFilter: boolean;\n settingsShowMore: boolean;\n settingsShowSearch: boolean;\n settingsUppercase: boolean;\n settingsHideUnavailable: boolean;\n valuesExclude: Array<string>;\n valuesManual: Array<string>;\n valuesShow: \"all\" | \"manual\";\n}\n\nexport interface Redirect {\n id: string;\n url: string;\n query: string;\n enabled: boolean;\n keywords: string[];\n}\n\nexport interface Curation {\n id: string;\n title: string;\n status: CurationStatus;\n published: boolean;\n keywords: string[];\n searchTerm?: string;\n longRunningTask?: boolean;\n collectionHandle?: string;\n type: \"collection\" | \"search\";\n boosting?: {\n groupings?: BoostGrouping[];\n sortings?: BoostSorting[];\n };\n sort?: CurationSort;\n}\n\nexport interface CurationSort {\n sortTag?: string;\n sortOption: string;\n sortDirection: \"asc\" | \"desc\";\n sortVariantOption?: \"option1\" | \"option2\" | \"option3\";\n}\n\nexport enum CurationStatus {\n Draft = \"draft\",\n Publishing = \"publishing\",\n Published = \"published\",\n Unpublishing = \"unpublishing\",\n Resetting = \"resetting\",\n Pinning = \"pinning\",\n Sorting = \"sorting\",\n}\n\nexport interface CurationHiding {\n productId: number;\n productHandle: string;\n}\n\nexport interface BoostGrouping {\n key: string;\n value: string;\n field: string;\n position: number;\n operation: string;\n}\n\nexport interface BoostSorting {\n key: string;\n field: string;\n query?: string;\n position: number;\n direction: \"asc\" | \"desc\";\n}\n\nexport type Pin = PinProduct | PinCallout;\n\nexport enum PinType {\n Product = \"product\",\n Callout = \"callout\",\n}\n\nexport interface PinProduct {\n key: string;\n type: PinType.Product;\n position: number;\n productId: number;\n productHandle: string;\n}\n\nexport interface PinCallout {\n key: string;\n type: PinType.Callout;\n position: number;\n calloutId: string;\n}\n\nexport interface Callout {\n id: string;\n link: string;\n title: string;\n content: string;\n enabled: boolean;\n textColor: string;\n keywords: string[];\n mobileImage: string;\n mobileVideo: string;\n desktopVideo: string;\n desktopImage: string;\n backgroundColor: string;\n visibility: \"desktop\" | \"mobile\" | \"all\";\n displayColumns: string; // @todo this should be a number\n displayRows: string; // @todo this should be a number\n selectedDates?: {\n end: Timestamp;\n start: Timestamp;\n };\n}\n\nexport interface Synonym {\n id: string;\n name: string;\n enabled: boolean;\n keywords: string[];\n synonyms: string[];\n type: \"group\" | \"oneway\";\n}\n\nexport interface MergedValue {\n id: string;\n name: string;\n field: string;\n keywords: string[];\n values: string[];\n}\n\nexport interface Collection {\n title: string;\n handle: string;\n shopifyId: string;\n productIds: string[];\n storefrontId: string;\n legacyResourceId: number;\n}\n\n// product is the shopify product with edges and nodes normalised\nexport type Product = Omit<\n ShopifyProduct,\n \"variants\" | \"images\" | \"media\" | \"metafields\"\n> & {\n variants: (Omit<\n ShopifyProduct[\"variants\"][\"edges\"][0][\"node\"],\n \"presentmentPrices\"\n > & {\n images?: ShopifyProduct[\"images\"][\"edges\"][0][\"node\"][]; // from child product if this variant is from a child\n presentmentPrices: ShopifyProduct[\"variants\"][\"edges\"][0][\"node\"][\"presentmentPrices\"][\"edges\"][0][\"node\"][];\n })[];\n images: ShopifyProduct[\"images\"][\"edges\"][0][\"node\"][];\n media: ShopifyProduct[\"media\"][\"edges\"][0][\"node\"][];\n metafields: ShopifyProduct[\"metafields\"][\"edges\"][0][\"node\"][];\n};\n"]}
|