@usereactify/search 5.56.6 → 5.56.8

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 CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [5.56.8](https://bitbucket.org/usereactify/reactify-search-ui/compare/release-v5.56.7...release-v5.56.8) (2025-01-29)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * remove listener for url sort param ([a0514ae](https://bitbucket.org/usereactify/reactify-search-ui/commit/a0514aef591a861b4a7718eed1b5a0254fb8b4cf))
11
+
12
+ ### [5.56.7](https://bitbucket.org/usereactify/reactify-search-ui/compare/release-v5.56.6...release-v5.56.7) (2025-01-17)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * set initial slider value to [0,0] when not in url params ([aeb7bd7](https://bitbucket.org/usereactify/reactify-search-ui/commit/aeb7bd77e75f0d9b4cae533a1f3702547cab5cb2))
18
+
5
19
  ### [5.56.6](https://bitbucket.org/usereactify/reactify-search-ui/compare/release-v5.56.5...release-v5.56.6) (2025-01-08)
6
20
 
7
21
 
package/dist/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@usereactify/search",
3
3
  "description": "React UI library for Reactify Search",
4
- "version": "5.56.6",
4
+ "version": "5.56.8",
5
5
  "license": "MIT",
6
6
  "main": "dist/src/index.js",
7
7
  "types": "dist/src/index.d.ts",
@@ -118,14 +118,6 @@ const ReactifySearchInner = (props) => {
118
118
  setSearchTerm(searchTermFromURL);
119
119
  }
120
120
  }, [searchTermFromURL]);
121
- react_1.default.useEffect(() => {
122
- if (props.mode === "instant-search") {
123
- return;
124
- }
125
- if (searchSortFromURL && sortOption !== searchSortFromURL) {
126
- setSortOption(searchSortFromURL);
127
- }
128
- }, [searchSortFromURL]);
129
121
  const contextValue = react_1.default.useMemo(() => {
130
122
  var _a, _b, _c;
131
123
  if (!config) {
@@ -1 +1 @@
1
- {"version":3,"file":"ReactifySearchProvider.js","sourceRoot":"","sources":["../../../../src/components/ReactifySearchProvider/ReactifySearchProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,iCAAiC;AACjC,gDAAkC;AAElC,yEAAwC;AAExC,uCAA+D;AAC/D,iDAAoE;AACpE,2CAAsC;AAEtC,qDAAqD;AAuD9C,MAAM,sBAAsB,GAA0C,CAC3E,KAAK,EACL,EAAE;IACF,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,eAAK,CAAC,GAAG,CAAC,wBAAwB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAEpD,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE;YAC7B,aAAa,EAAE,KAAK;YACpB,eAAe,EAAE;gBACf,IAAI,EAAE,KAAK,CAAC,sBAAsB;gBAClC,OAAO,EAAE,sBAAG,CAAC,OAAO;aACrB;SACF,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,8BAAC,mBAAmB,oBAAK,KAAK,EAAI,CAAC;AAC5C,CAAC,CAAC;AAhBW,QAAA,sBAAsB,0BAgBjC;AAEF,MAAM,mBAAmB,GAA0C,CAAC,KAAK,EAAE,EAAE;;IAC3E,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,iBAAS,EAAC,KAAK,CAAC,sBAAsB,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,MAAM,CAAC,CAAC;IAElF,MAAM,KAAK,GAAG,MAAA,KAAK,CAAC,KAAK,mCAAI;QAC3B,UAAU,EAAE;YACV,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE,SAAS;SACpB;KACF,CAAC;IAEF,kBAAkB;IAClB,MAAM,iBAAiB,GAAG,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;;QAC3C,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,MAAA,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,SAAS,CAAC;IACzC,CAAC,EAAE,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAE9D,gBAAgB;IAChB,MAAM,iBAAiB,GAAG,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;;QAC3C,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,MAAA,KAAK,CAAC,KAAK,0CAAE,IAAI,CAAC;QAC3B,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,MAAA,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,mCAAI,SAAS,CAAC;IAC5C,CAAC,EAAE,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAE9D,iBAAiB;IACjB,MAAM,YAAY,GAAG,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;;QACtC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,MAAA,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,mCAAI,SAAS,CAAC;IAC7C,CAAC,EAAE,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAE9D,cAAc;IACd,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,eAAK,CAAC,QAAQ,CAChD,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,EAAE,CACxB,CAAC;IACF,uBAAuB;IACvB,MAAM,cAAc,GAAG,eAAK,CAAC,OAAO,CAA6B,GAAG,EAAE;QACpE,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACvH,CAAC,EAAE,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IACpC,sBAAsB;IACtB,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,GAC3D,eAAK,CAAC,QAAQ,CAAU,KAAK,CAAC,CAAC;IACjC,cAAc;IACd,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,eAAK,CAAC,QAAQ,CAChD,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,EAAE,CACxB,CAAC;IACF,UAAU;IACV,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,eAAK,CAAC,QAAQ,CAE1C,EAAE,CAAC,CAAC;IACN,WAAW;IACX,MAAM,QAAQ,GAAG,eAAK,CAAC,OAAO,CAA6B,GAAG,EAAE;QAC9D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAA,sBAAW,EAAC;YACjB,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,UAAU;SACvB,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAChC,eAAe;IACf,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GACjC,eAAK,CAAC,QAAQ,EAA4C,CAAC;IAE7D,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,iBAAiB,IAAI,UAAU,KAAK,iBAAiB,EAAE,CAAC;YAC1D,aAAa,CAAC,iBAAiB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,iBAAiB,IAAI,UAAU,KAAK,iBAAiB,EAAE,CAAC;YAC1D,aAAa,CAAC,iBAAiB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,MAAM,YAAY,GAAG,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,kCACF,KAAK,KACR,QAAQ,EAAE,MAAA,KAAK,CAAC,QAAQ,mCAAI,OAAO,EACnC,KAAK,EAAE,MAAA,MAAA,KAAK,CAAC,KAAK,mCAAI,YAAY,mCAAI,MAAM,CAAC,KAAK,EAClD,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,KAAK,EAAE,KAAK,GACb;YACD,MAAM,EAAE;gBACN,UAAU,EAAE,UAAU;gBACtB,aAAa,EAAE,aAAa;gBAC5B,wBAAwB,EAAE,wBAAwB;gBAClD,2BAA2B,EAAE,2BAA2B;gBACxD,cAAc,EAAE,cAAc;aAC/B;YACD,MAAM,EAAE;gBACN,UAAU,EAAE,UAAU;gBACtB,aAAa,EAAE,aAAa;aAC7B;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE,UAAU;gBACtB,WAAW,EAAE,WAAW;gBACxB,cAAc,EAAE,cAAc;aAC/B;YACD,QAAQ,EAAE,QAAQ;SACnB,CAAC;IACJ,CAAC,EAAE;QACD,MAAM;QACN,KAAK;QACL,UAAU;QACV,wBAAwB;QACxB,cAAc;QACd,UAAU;QACV,OAAO;QACP,WAAW;QACX,QAAQ;KACT,CAAC,CAAC;IAEH,eAAK,CAAC,IAAI,CAAC,wBAAwB,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAE9D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC,aAAa,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,8BAAC,6BAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY;QACjD,8BAAC,6CAAgC,QAC9B,KAAK,CAAC,QAAQ,CACkB,CACJ,CAClC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React from \"react\";\n// @ts-expect-error missing types\nimport * as GaGtag from \"ga-gtag\";\n\nimport pkg from \"../../../package.json\";\n\nimport { ReactifySearchContext, useConfig } from \"../../hooks\";\nimport { UtilityAuthenticatedReactiveBase } from \"../../components\";\nimport { debug } from \"../../utility\";\nimport { Config, ConfigCuration, ConfigRedirect, ReactivesearchResultProps } from \"../../types\";\nimport { getCuration } from \"../../utility/curation\";\n\nexport type ReactifySearchProviderProps = {\n /** Standard react children */\n children?: React.ReactNode | undefined;\n /** The search area the provider will be used in */\n mode: \"search\" | \"collection\" | \"instant-search\";\n /** Shopify store domain used to resolve the site configuration */\n shopifyPermanentDomain: string;\n /** Market ID used to change merchandising based on market e.g. 7494533198 */\n market?: string;\n /** Callback function for redirects, suitable for headless sites to avoid full page refresh */\n onRedirect?: (type: \"redirect\" | \"search\", url: string) => void;\n /** Render method to display a component when the config is loading */\n renderBooting?: () => JSX.Element | null;\n /** Advanced usage: Override the default Reactify Search id (for telemetry) */\n clientId?: string;\n /** Advanced usage: Override the default Filters selection logic */\n filtersHandle?: string;\n /** Advanced usage: Array of additional component IDs managed outside of Reactify Search */\n additionalComponentIds?: Array<string>;\n /** Advanced usage: Override the default Elasticsearch index */\n index?: string;\n /** Advanced usage: Override the default Reactify Search config (for multi-instance stores) */\n configId?: string;\n /** Advanced usage: Override the default Elasticsearch credentials */\n credentials?: string;\n /** Advanced usage: Override the default ReactiveBase theme */\n theme?: Record<string, unknown>;\n /** Advanced usage: Fields to include in the Elasticsearch response e.g. [\"title\"] */\n includeFields?: Array<string>;\n /** Advanced usage: Fields to exclude from the Elasticsearch response e.g. [\"variant_skus\", \"*price*\"] */\n excludeFields?: Array<string>;\n /** Advanced usage: Flags are used to enable or disable specific features within Reactify Search */\n flags?: Record<string, boolean>;\n /** Advanced usage: Server content for SSR */\n query?: Record<string, string>;\n preload?: {\n config: Config;\n state: unknown;\n }\n} & (\n | {\n mode: \"search\";\n }\n | {\n mode: \"collection\";\n /** Collection object that includes the handle, used to find curations */\n collectionHandle: string;\n }\n | {\n mode: \"instant-search\";\n }\n);\n\nexport const ReactifySearchProvider: React.FC<ReactifySearchProviderProps> = (\n props\n) => {\n React.useEffect(() => {\n debug.log(\"ReactifySearchProvider\", \"props\", props);\n\n GaGtag.install(\"G-DV00Z0X5VP\", {\n cookie_prefix: \"_rs\",\n user_properties: {\n shop: props.shopifyPermanentDomain,\n version: pkg.version,\n },\n });\n }, [props]);\n\n return <ReactifySearchInner {...props} />;\n};\n\nconst ReactifySearchInner: React.FC<ReactifySearchProviderProps> = (props) => {\n const { config } = useConfig(props.shopifyPermanentDomain, props.preload?.config);\n\n const theme = props.theme ?? {\n typography: {\n fontFamily: \"inherit\",\n fontSize: \"inherit\",\n },\n };\n\n // search from url\n const searchTermFromURL = React.useMemo(() => {\n if (typeof window === \"undefined\") {\n return;\n }\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get(\"q\") ?? undefined;\n }, [typeof window !== \"undefined\" && window.location.search]);\n\n // sort from url\n const searchSortFromURL = React.useMemo(() => {\n if (typeof window === \"undefined\") {\n return props.query?.sort;\n }\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get(\"sort\") ?? undefined;\n }, [typeof window !== \"undefined\" && window.location.search]);\n\n // index from url\n const indexFromURL = React.useMemo(() => {\n if (typeof window === \"undefined\") {\n return;\n }\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get(\"index\") ?? undefined;\n }, [typeof window !== \"undefined\" && window.location.search]);\n\n // search term\n const [searchTerm, setSearchTerm] = React.useState<string>(\n searchTermFromURL ?? \"\"\n );\n // search term redirect\n const searchRedirect = React.useMemo<ConfigRedirect | undefined>(() => {\n return config?.redirects.find((redirect) => redirect.query.trim().toLowerCase() === searchTerm.trim().toLowerCase());\n }, [config?.redirects, searchTerm]);\n // show instant-search\n const [showInstantSearchResults, setShowInstantSearchResults] =\n React.useState<boolean>(false);\n // sort option\n const [sortOption, setSortOption] = React.useState<string>(\n searchSortFromURL ?? \"\"\n );\n // results\n const [results, setResults] = React.useState<\n ReactivesearchResultProps[\"data\"]\n >([]);\n // curation\n const curation = React.useMemo<ConfigCuration | undefined>(() => {\n if (!config) {\n return undefined;\n }\n\n return getCuration({\n provider: props,\n config: config,\n searchTerm: searchTerm,\n });\n }, [props, config, searchTerm]);\n // result stats\n const [resultStats, setResultStats] =\n React.useState<ReactivesearchResultProps[\"resultStats\"]>();\n\n React.useEffect(() => {\n if (props.mode === \"instant-search\") {\n return;\n }\n\n if (searchTermFromURL && searchTerm !== searchTermFromURL) {\n setSearchTerm(searchTermFromURL);\n }\n }, [searchTermFromURL]);\n\n React.useEffect(() => {\n if (props.mode === \"instant-search\") {\n return;\n }\n\n if (searchSortFromURL && sortOption !== searchSortFromURL) {\n setSortOption(searchSortFromURL);\n }\n }, [searchSortFromURL]);\n\n const contextValue = React.useMemo(() => {\n if (!config) {\n return;\n }\n\n return {\n config: config,\n options: {\n ...props,\n clientId: props.clientId ?? \"theme\",\n index: props.index ?? indexFromURL ?? config.index,\n filtersHandle: props.filtersHandle,\n credentials: props.credentials,\n theme: theme,\n },\n search: {\n searchTerm: searchTerm,\n setSearchTerm: setSearchTerm,\n showInstantSearchResults: showInstantSearchResults,\n setShowInstantSearchResults: setShowInstantSearchResults,\n searchRedirect: searchRedirect,\n },\n sortby: {\n sortOption: sortOption,\n setSortOption: setSortOption,\n },\n results: {\n results: results,\n setResults: setResults,\n resultStats: resultStats,\n setResultStats: setResultStats,\n },\n curation: curation,\n };\n }, [\n config,\n props,\n searchTerm,\n showInstantSearchResults,\n searchRedirect,\n sortOption,\n results,\n resultStats,\n curation,\n ]);\n\n debug.hook(\"ReactifySearchProvider\", \"context\", contextValue);\n\n if (!contextValue) {\n if (props.renderBooting) {\n return props.renderBooting();\n }\n return null;\n }\n\n return (\n <ReactifySearchContext.Provider value={contextValue}>\n <UtilityAuthenticatedReactiveBase>\n {props.children}\n </UtilityAuthenticatedReactiveBase>\n </ReactifySearchContext.Provider>\n );\n};\n"]}
1
+ {"version":3,"file":"ReactifySearchProvider.js","sourceRoot":"","sources":["../../../../src/components/ReactifySearchProvider/ReactifySearchProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\n// @ts-expect-error missing types\nimport * as GaGtag from \"ga-gtag\";\n\nimport pkg from \"../../../package.json\";\n\nimport { ReactifySearchContext, useConfig } from \"../../hooks\";\nimport { UtilityAuthenticatedReactiveBase } from \"../../components\";\nimport { debug } from \"../../utility\";\nimport { Config, ConfigCuration, ConfigRedirect, ReactivesearchResultProps } from \"../../types\";\nimport { getCuration } from \"../../utility/curation\";\n\nexport type ReactifySearchProviderProps = {\n /** Standard react children */\n children?: React.ReactNode | undefined;\n /** The search area the provider will be used in */\n mode: \"search\" | \"collection\" | \"instant-search\";\n /** Shopify store domain used to resolve the site configuration */\n shopifyPermanentDomain: string;\n /** Market ID used to change merchandising based on market e.g. 7494533198 */\n market?: string;\n /** Callback function for redirects, suitable for headless sites to avoid full page refresh */\n onRedirect?: (type: \"redirect\" | \"search\", url: string) => void;\n /** Render method to display a component when the config is loading */\n renderBooting?: () => JSX.Element | null;\n /** Advanced usage: Override the default Reactify Search id (for telemetry) */\n clientId?: string;\n /** Advanced usage: Override the default Filters selection logic */\n filtersHandle?: string;\n /** Advanced usage: Array of additional component IDs managed outside of Reactify Search */\n additionalComponentIds?: Array<string>;\n /** Advanced usage: Override the default Elasticsearch index */\n index?: string;\n /** Advanced usage: Override the default Reactify Search config (for multi-instance stores) */\n configId?: string;\n /** Advanced usage: Override the default Elasticsearch credentials */\n credentials?: string;\n /** Advanced usage: Override the default ReactiveBase theme */\n theme?: Record<string, unknown>;\n /** Advanced usage: Fields to include in the Elasticsearch response e.g. [\"title\"] */\n includeFields?: Array<string>;\n /** Advanced usage: Fields to exclude from the Elasticsearch response e.g. [\"variant_skus\", \"*price*\"] */\n excludeFields?: Array<string>;\n /** Advanced usage: Flags are used to enable or disable specific features within Reactify Search */\n flags?: Record<string, boolean>;\n /** Advanced usage: Server content for SSR */\n query?: Record<string, string>;\n preload?: {\n config: Config;\n state: unknown;\n }\n} & (\n | {\n mode: \"search\";\n }\n | {\n mode: \"collection\";\n /** Collection object that includes the handle, used to find curations */\n collectionHandle: string;\n }\n | {\n mode: \"instant-search\";\n }\n);\n\nexport const ReactifySearchProvider: React.FC<ReactifySearchProviderProps> = (\n props\n) => {\n React.useEffect(() => {\n debug.log(\"ReactifySearchProvider\", \"props\", props);\n\n GaGtag.install(\"G-DV00Z0X5VP\", {\n cookie_prefix: \"_rs\",\n user_properties: {\n shop: props.shopifyPermanentDomain,\n version: pkg.version,\n },\n });\n }, [props]);\n\n return <ReactifySearchInner {...props} />;\n};\n\nconst ReactifySearchInner: React.FC<ReactifySearchProviderProps> = (props) => {\n const { config } = useConfig(props.shopifyPermanentDomain, props.preload?.config);\n\n const theme = props.theme ?? {\n typography: {\n fontFamily: \"inherit\",\n fontSize: \"inherit\",\n },\n };\n\n // search from url\n const searchTermFromURL = React.useMemo(() => {\n if (typeof window === \"undefined\") {\n return;\n }\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get(\"q\") ?? undefined;\n }, [typeof window !== \"undefined\" && window.location.search]);\n\n // sort from url\n const searchSortFromURL = React.useMemo(() => {\n if (typeof window === \"undefined\") {\n return props.query?.sort;\n }\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get(\"sort\") ?? undefined;\n }, [typeof window !== \"undefined\" && window.location.search]);\n\n // index from url\n const indexFromURL = React.useMemo(() => {\n if (typeof window === \"undefined\") {\n return;\n }\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get(\"index\") ?? undefined;\n }, [typeof window !== \"undefined\" && window.location.search]);\n\n // search term\n const [searchTerm, setSearchTerm] = React.useState<string>(\n searchTermFromURL ?? \"\"\n );\n // search term redirect\n const searchRedirect = React.useMemo<ConfigRedirect | undefined>(() => {\n return config?.redirects.find((redirect) => redirect.query.trim().toLowerCase() === searchTerm.trim().toLowerCase());\n }, [config?.redirects, searchTerm]);\n // show instant-search\n const [showInstantSearchResults, setShowInstantSearchResults] =\n React.useState<boolean>(false);\n // sort option\n const [sortOption, setSortOption] = React.useState<string>(\n searchSortFromURL ?? \"\"\n );\n // results\n const [results, setResults] = React.useState<\n ReactivesearchResultProps[\"data\"]\n >([]);\n // curation\n const curation = React.useMemo<ConfigCuration | undefined>(() => {\n if (!config) {\n return undefined;\n }\n\n return getCuration({\n provider: props,\n config: config,\n searchTerm: searchTerm,\n });\n }, [props, config, searchTerm]);\n // result stats\n const [resultStats, setResultStats] =\n React.useState<ReactivesearchResultProps[\"resultStats\"]>();\n\n React.useEffect(() => {\n if (props.mode === \"instant-search\") {\n return;\n }\n\n if (searchTermFromURL && searchTerm !== searchTermFromURL) {\n setSearchTerm(searchTermFromURL);\n }\n }, [searchTermFromURL]);\n\n const contextValue = React.useMemo(() => {\n if (!config) {\n return;\n }\n\n return {\n config: config,\n options: {\n ...props,\n clientId: props.clientId ?? \"theme\",\n index: props.index ?? indexFromURL ?? config.index,\n filtersHandle: props.filtersHandle,\n credentials: props.credentials,\n theme: theme,\n },\n search: {\n searchTerm: searchTerm,\n setSearchTerm: setSearchTerm,\n showInstantSearchResults: showInstantSearchResults,\n setShowInstantSearchResults: setShowInstantSearchResults,\n searchRedirect: searchRedirect,\n },\n sortby: {\n sortOption: sortOption,\n setSortOption: setSortOption,\n },\n results: {\n results: results,\n setResults: setResults,\n resultStats: resultStats,\n setResultStats: setResultStats,\n },\n curation: curation,\n };\n }, [\n config,\n props,\n searchTerm,\n showInstantSearchResults,\n searchRedirect,\n sortOption,\n results,\n resultStats,\n curation,\n ]);\n\n debug.hook(\"ReactifySearchProvider\", \"context\", contextValue);\n\n if (!contextValue) {\n if (props.renderBooting) {\n return props.renderBooting();\n }\n return null;\n }\n\n return (\n <ReactifySearchContext.Provider value={contextValue}>\n <UtilityAuthenticatedReactiveBase>\n {props.children}\n </UtilityAuthenticatedReactiveBase>\n </ReactifySearchContext.Provider>\n );\n};\n"]}
@@ -12,7 +12,7 @@ const useFilterSliderProps = (filter) => {
12
12
  const context = (0, hooks_1.useReactifySearchContext)();
13
13
  const { track } = (0, hooks_1.useAnalytics)();
14
14
  const urlSearchParam = new URLSearchParams(typeof window === "undefined" ? context.options.query : window.location.search);
15
- const [filterValue, setFilterValue] = react_1.default.useState(JSON.parse((_a = urlSearchParam.get(filter.handle)) !== null && _a !== void 0 ? _a : "[]"));
15
+ const [filterValue, setFilterValue] = react_1.default.useState(JSON.parse((_a = urlSearchParam.get(filter.handle)) !== null && _a !== void 0 ? _a : "[0,0]"));
16
16
  const handleChange = react_1.default.useCallback((value) => {
17
17
  const valueFormatted = [parseInt(parseInt(`${value[0]}`).toFixed(0)), parseInt(parseInt(`${value[1]}`).toFixed(0))];
18
18
  utility_1.debug.log("useFilterSliderProps", "handleChange[valueFormatted]", valueFormatted);
@@ -1 +1 @@
1
- {"version":3,"file":"useFilterSliderProps.js","sourceRoot":"","sources":["../../../src/hooks/useFilterSliderProps.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,oCAAkE;AAClE,wCAAmC;AAE5B,MAAM,oBAAoB,GAAG,CAClC,MAAyB,EAKzB,EAAE;;IACF,MAAM,OAAO,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAC3C,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,oBAAY,GAAE,CAAC;IAEjC,MAAM,cAAc,GAAG,IAAI,eAAe,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3H,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAmD,IAAI,CAAC,KAAK,CAAC,MAAA,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,mCAAI,IAAI,CAAC,CAAC,CAAC;IAE9J,MAAM,YAAY,GAAG,eAAK,CAAC,WAAW,CAA0D,CAAC,KAAK,EAAE,EAAE;QACtG,MAAM,cAAc,GAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtI,eAAK,CAAC,GAAG,CAAC,sBAAsB,EAAE,8BAA8B,EAAE,cAAc,CAAC,CAAC;QAElF,cAAc,CAAC,cAAc,CAAC,CAAC;QAE/B,KAAK,CAAC;YACJ,SAAS,EAAE,cAAc;YACzB,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE;aACnD;SACF,CAAC,CAAC;IACL,CAAC,EACD,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,OAAO,GAAG,CACd,KAA+D,EAC/D,EAAE;;YACF,MAAM,cAAc,GAA0B,CAAA,MAAA,KAAK,CAAC,MAAM,CAAC,KAAK,0CAAE,MAAM,IAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7K,cAAc,CAAC,cAAc,CAAC,CAAC;QACjC,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CACrB,uBAAuB,OAAO,CAAC,OAAO,CAAC,IAAI,WAAW,MAAM,CAAC,MAAM,SAAS,EAC5E,OAAwB,CACzB,CAAC;QAEF,OAAO,GAAG,EAAE,CACV,MAAM,CAAC,mBAAmB,CACxB,uBAAuB,OAAO,CAAC,OAAO,CAAC,IAAI,WAAW,MAAM,CAAC,MAAM,SAAS,EAC5E,OAAwB,CACzB,CAAC;IACN,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3B,MAAM,iBAAiB,GAAG,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC3C,OAAO;YACL,YAAY;YACZ,MAAM;YACN,KAAK,EAAE,WAAW;SACnB,CAAC;IACJ,CAAC,EAAE;QACD,YAAY;QACZ,MAAM;QACN,WAAW;KACZ,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AA/DW,QAAA,oBAAoB,wBA+D/B","sourcesContent":["import React from \"react\";\nimport { ConfigFilterFacet } from \"../types/config\";\nimport { useAnalytics, useReactifySearchContext } from \"../hooks\";\nimport { debug } from \"../utility\";\n\nexport const useFilterSliderProps = (\n filter: ConfigFilterFacet\n): {\n filter: ConfigFilterFacet;\n value: [number, number] | [];\n handleChange: (value: [number | string, number | string] | []) => void;\n} => {\n const context = useReactifySearchContext();\n const { track } = useAnalytics();\n\n const urlSearchParam = new URLSearchParams(typeof window === \"undefined\" ? context.options.query : window.location.search);\n const [filterValue, setFilterValue] = React.useState<ReturnType<typeof useFilterSliderProps>[\"value\"]>(JSON.parse(urlSearchParam.get(filter.handle) ?? \"[]\"));\n\n const handleChange = React.useCallback<ReturnType<typeof useFilterSliderProps>[\"handleChange\"]>((value) => {\n const valueFormatted: [number, number] = [parseInt(parseInt(`${value[0]}`).toFixed(0)), parseInt(parseInt(`${value[1]}`).toFixed(0))];\n \n debug.log(\"useFilterSliderProps\", \"handleChange[valueFormatted]\", valueFormatted);\n\n setFilterValue(valueFormatted);\n\n track({\n eventName: \"filterChange\",\n payload: {\n name: filter.name,\n value: `${valueFormatted[0]}:${valueFormatted[1]}`,\n },\n });\n },\n [filter]\n );\n\n React.useEffect(() => {\n const handler = (\n event: CustomEvent<{ handle: string; value: [number, number] }>\n ) => {\n const valueFormatted: [number, number] | [] = event.detail.value?.length > 0 ? [parseInt(event.detail.value[0].toFixed(0)), parseInt(event.detail.value[0].toFixed(0))] : [];\n setFilterValue(valueFormatted);\n };\n window.addEventListener(\n `@usereactify/search:${context.options.mode}:filter:${filter.handle}:update`,\n handler as EventListener\n );\n\n return () =>\n window.removeEventListener(\n `@usereactify/search:${context.options.mode}:filter:${filter.handle}:update`,\n handler as EventListener\n );\n }, [context.options.mode]);\n\n const filterSliderProps = React.useMemo(() => {\n return {\n handleChange,\n filter,\n value: filterValue,\n };\n }, [\n handleChange,\n filter,\n filterValue,\n ]);\n\n return filterSliderProps;\n};\n"]}
1
+ {"version":3,"file":"useFilterSliderProps.js","sourceRoot":"","sources":["../../../src/hooks/useFilterSliderProps.ts"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { ConfigFilterFacet } from \"../types/config\";\nimport { useAnalytics, useReactifySearchContext } from \"../hooks\";\nimport { debug } from \"../utility\";\n\nexport const useFilterSliderProps = (\n filter: ConfigFilterFacet\n): {\n filter: ConfigFilterFacet;\n value: [number, number] | [];\n handleChange: (value: [number | string, number | string] | []) => void;\n} => {\n const context = useReactifySearchContext();\n const { track } = useAnalytics();\n\n const urlSearchParam = new URLSearchParams(typeof window === \"undefined\" ? context.options.query : window.location.search);\n const [filterValue, setFilterValue] = React.useState<ReturnType<typeof useFilterSliderProps>[\"value\"]>(JSON.parse(urlSearchParam.get(filter.handle) ?? \"[0,0]\"));\n\n const handleChange = React.useCallback<ReturnType<typeof useFilterSliderProps>[\"handleChange\"]>((value) => {\n const valueFormatted: [number, number] = [parseInt(parseInt(`${value[0]}`).toFixed(0)), parseInt(parseInt(`${value[1]}`).toFixed(0))];\n \n debug.log(\"useFilterSliderProps\", \"handleChange[valueFormatted]\", valueFormatted);\n\n setFilterValue(valueFormatted);\n\n track({\n eventName: \"filterChange\",\n payload: {\n name: filter.name,\n value: `${valueFormatted[0]}:${valueFormatted[1]}`,\n },\n });\n },\n [filter]\n );\n\n React.useEffect(() => {\n const handler = (\n event: CustomEvent<{ handle: string; value: [number, number] }>\n ) => {\n const valueFormatted: [number, number] | [] = event.detail.value?.length > 0 ? [parseInt(event.detail.value[0].toFixed(0)), parseInt(event.detail.value[0].toFixed(0))] : [];\n setFilterValue(valueFormatted);\n };\n window.addEventListener(\n `@usereactify/search:${context.options.mode}:filter:${filter.handle}:update`,\n handler as EventListener\n );\n\n return () =>\n window.removeEventListener(\n `@usereactify/search:${context.options.mode}:filter:${filter.handle}:update`,\n handler as EventListener\n );\n }, [context.options.mode]);\n\n const filterSliderProps = React.useMemo(() => {\n return {\n handleChange,\n filter,\n value: filterValue,\n };\n }, [\n handleChange,\n filter,\n filterValue,\n ]);\n\n return filterSliderProps;\n};\n"]}
@@ -537,7 +537,7 @@ const getPropsFilterRange = (filterGroupOption) => {
537
537
  exports.getPropsFilterRange = getPropsFilterRange;
538
538
  const getPropsFilterSlider = (filterGroupOption, query, value) => {
539
539
  var _a;
540
- const filterValue = value !== null && value !== void 0 ? value : JSON.parse((_a = new URLSearchParams(typeof window === "undefined" ? query : window.location.search).get(filterGroupOption.handle)) !== null && _a !== void 0 ? _a : "[]");
540
+ const filterValue = value !== null && value !== void 0 ? value : JSON.parse((_a = new URLSearchParams(typeof window === "undefined" ? query : window.location.search).get(filterGroupOption.handle)) !== null && _a !== void 0 ? _a : "[0,0]");
541
541
  const defaultQuery = {
542
542
  aggs: {
543
543
  min: {
@@ -1 +1 @@
1
- {"version":3,"file":"props.js","sourceRoot":"","sources":["../../../src/utility/props.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oEAAgI;AAChI,8CAAwE;AAExE,yCAAyC;AACzC,6CAAkF;AAClF,uCAA2C;AAC3C,oCAAqD;AAErD,sEAAqC;AAqB9B,MAAM,mBAAmB,GAAG,CAAC,OAAwC,EAAE,EAAE;;IAC9E,OAAO;QACL,GAAG,MAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,OAAO,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,IAAA,iCAAyB,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,mCAAI,EAAE;QACvH,GAAG,IAAA,uBAAe,EAAC,OAAO,CAAC;QAC3B,IAAA,uBAAe,EAAC,OAAO,CAAC;KACzB,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,mBAAmB,uBAM9B;AAEK,MAAM,yBAAyB,GAAG,CAAC,OAAwC,EAAE,iBAAoC,EAAE,EAAE;;IAC1H,IAAI,WAAW,GAA4B,EAAE,CAAC;IAE9C,IAAI,iBAAiB,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC/C,MAAM,iBAAiB,GAAG,IAAA,4BAAoB,EAAC,iBAAiB,EAAE,MAAA,OAAO,CAAC,QAAQ,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC;QAChG,WAAW,GAAG;YACZ,YAAY,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,YAAY;YAClD,WAAW,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,WAAW;SACjD,CAAC;IACJ,CAAC;IAED,IAAI,iBAAiB,CAAC,WAAW,KAAK,QAAQ,IAAI,iBAAiB,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;QAC5F,IAAI,iBAAiB,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;YAC9C,WAAW,GAAG,IAAA,2BAAmB,EAAC,iBAAiB,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,IAAA,0BAAkB,EAAC,iBAAiB,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAE/D,uCACK,WAAW,GACX,WAAW,EACd;AACJ,CAAC,CAAC;AAzBW,QAAA,yBAAyB,6BAyBpC;AAEK,MAAM,eAAe,GAAG,CAAC,OAAmC,EAAE,EAAE;IACrE,OAAO;QACL,GAAG,IAAA,4BAAoB,EAAC,OAAO,CAAC;QAChC,IAAA,gCAAwB,EAAC,OAAO,CAAC;QACjC,IAAA,+BAAuB,EAAC,OAAO,CAAC;QAChC,IAAA,wCAAgC,EAAC,OAAO,CAAC;QACzC,IAAA,0BAAkB,EAAC,OAAO,CAAC;KAC5B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACpB,CAAC,CAAA;AARY,QAAA,eAAe,mBAQ3B;AAEM,MAAM,oBAAoB,GAAG,CAAC,OAAmC,EAAE,EAAE;IAC1E,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;IAE3H,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,WAAW,EAAE,gBAAgB,KAAK,EAAE;QACpC,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM;QACzB,MAAM,EAAE,oCAAiB;KAC1B,CAAC,CAAC,CAAC;AACN,CAAC,CAAA;AARY,QAAA,oBAAoB,wBAQhC;AAEM,MAAM,wBAAwB,GAAG,CAAC,OAAmC,EAAE,EAAE;IAC9E,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,WAAW,EAAE,kBAAkB;QAC/B,WAAW,EAAE,GAAG,EAAE;YAChB,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,UAAU,GAAmB,EAAE,CAAC;YAEtC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC5B,UAAU,CAAC,IAAI,CAAC;oBACd,MAAM,EAAE;wBACN,IAAI,EAAE,WAAW;wBACjB,KAAK,EAAE;4BACL,IAAI,EAAE;gCACJ,MAAM,EAAE;oCACN;wCACE,MAAM,EAAE;4CACN,IAAI,EAAE,aAAa;4CACnB,KAAK,EAAE;gDACL,IAAI,EAAE;oDACJ,4BAA4B,EAAE,OAAO,CAAC,QAAQ,CAAC,gBAAgB;iDAChE;6CACF;yCACF;qCACF;oCACD;wCACE,MAAM,EAAE;4CACN,IAAI,EAAE,WAAW;4CACjB,KAAK,EAAE;gDACL,IAAI,EAAE;oDACJ,oCAAoC,EAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;iDACpC;6CACF;yCACF;qCACF;iCACF;gCACD,IAAI,EAAE,CAAC;wCACL,MAAM,EAAE;4CACN,IAAI,EAAE,WAAW;4CACjB,KAAK,EAAE;gDACL,IAAI,EAAE;oDACJ,2BAA2B,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;iDACrD;6CACF;yCACF;qCACF,CAAC;6BACH;yBACF;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;YAED,OAAO;gBACL,KAAK,EAAE;oBACL,IAAI,EAAE;wBACJ,MAAM,EAAE;4BACN;gCACE,MAAM,EAAE;oCACN,IAAI,EAAE,aAAa;oCACnB,KAAK,EAAE;wCACL,IAAI,EAAE;4CACJ,4BAA4B,EAAE,OAAO,CAAC,QAAQ,CAAC,gBAAgB;yCAChE;qCACF;iCACF;6BACF;4BACD;gCACE,MAAM,EAAE;oCACN,IAAI,EAAE,WAAW;oCACjB,KAAK,EAAE;wCACL,IAAI,EAAE;4CACJ,oCAAoC,EAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;yCACpC;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF,CAAA;QACH,CAAC;QACD,MAAM,EAAE,oCAAiB;KAC1B,CAAC;AACJ,CAAC,CAAA;AA3FY,QAAA,wBAAwB,4BA2FpC;AAEM,MAAM,uBAAuB,GAAG,CAAC,OAAmC,EAAE,EAAE;IAC7E,OAAO;QACL,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE,GAAG,EAAE;YAChB,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC5B,OAAO;oBACL,KAAK,EAAE;wBACL,IAAI,EAAE;4BACJ,IAAI,EAAC,CAAC;oCACJ,KAAK,EAAE;wCACL,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;qCACjC;iCACF,EAAC;oCACA,KAAK,EAAE;wCACL,SAAS,EAAE,IAAI;qCAChB;iCACF,CAAC;yBACH;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,KAAK,EAAE;oBACL,KAAK,EAAE;wBACL,SAAS,EAAE,IAAI;qBAChB;iBACF;aACF,CAAA;QACH,CAAC;QACD,MAAM,EAAE,oCAAiB;KAC1B,CAAA;AACH,CAAC,CAAA;AAhCY,QAAA,uBAAuB,2BAgCnC;AAEM,MAAM,gCAAgC,GAAG,CAAC,OAAmC,EAAE,EAAE;IACtF,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,OAAO,CAAC,CAAC;IAE5C,IAAI,CAAC,WAAW,IAAI,UAAU,KAAK,WAAW,CAAC,mBAAmB,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,WAAW,EAAE,0BAA0B;QACvC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAClB,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE;gCACJ,IAAI,EAAE;oCACJ;wCACE,IAAI,EAAE;4CACJ,IAAI,EAAE;gDACJ,KAAK,EAAE,SAAS;6CACjB;yCACF;qCACF;oCACD;wCACE,MAAM,EAAE;4CACN,IAAI,EAAE,UAAU;4CAChB,KAAK,EAAE;gDACL,KAAK,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE;6CACtC;yCACF;qCACF;iCACF;6BACF;yBACF;wBACD,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,gBAAgB;4BAC5C,CAAC,CAAC,EAAE;4BACJ,CAAC,CAAC;gCACE;oCACE,IAAI,EAAE;wCACJ,IAAI,EAAE;4CACJ,KAAK,EAAE,SAAS;yCACjB;qCACF;iCACF;6BACF,CAAC;qBACP;oBACD,oBAAoB,EAAE,GAAG;iBAC1B;aACF;SACF,CAAC;QACF,MAAM,EAAE,oCAAiB;KAC1B,CAAA;AACH,CAAC,CAAA;AApDY,QAAA,gCAAgC,oCAoD5C;AAEM,MAAM,kBAAkB,GAAG,CAAC,OAAmF,EAAE,EAAE;IACxH,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,IAAA,0BAAa,EAAC,OAAO,CAAC,CAAC;IAE1C,MAAM,IAAI,GAAG,IAAA,6BAAgB,EAAC;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,UAAU;KACvB,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAA,8BAAiB,EAAC;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAClB,IAAI;YACJ,KAAK;SACN,CAAC;QACF,MAAM,EAAE,oCAAiB;KAC1B,CAAA;AACH,CAAC,CAAA;AAxBY,QAAA,kBAAkB,sBAwB9B;AAEM,MAAM,YAAY,GAAG,CAAC,OAA0B,EAAE,EAAE;;IACzD,MAAM,KAAK,GAAI;QACb,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QACzB,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;QAC5B,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW;QACzC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK;QAC7B,YAAY,EAAE,MAAA,OAAO,CAAC,QAAQ,CAAC,OAAO,0CAAE,KAAK;QAC7C,aAAa,EAAE,GAAG,EAAE;YAClB,MAAM,UAAU,GAAG,IAAA,0BAAkB,EAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;YAE7C,OAAO,WAAW,CAAC,IAAI,CAAC;QAC1B,CAAC;QACD,gBAAgB,EAAE,CAAC,OAAY,EAAE,EAAE;YACjC,IAAK,OAAO,CAAC,GAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,iBAAiB,EAAE,CAAO,QAAa,EAAE,EAAE;;YACzC,+EAA+E;YAC/E,uDAAuD;YACvD,EAAE;YACF,qFAAqF;YACrF,qFAAqF;YACrF,kEAAkE;YAClE,EAAE;YACF,0DAA0D;YAC1D,IACE,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,0CAAE,qBAAqB,0CAAE,qBAAqB,EACpE,CAAC;gBACD,QAAQ,CAAC,YAAY,CAAC,qBAAqB;oBACzC,IAAA,iCAAyB,EACvB,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,0CAAE,qBAAqB,0CACzC,qBAAqB,CAC1B,CAAC;YACN,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAA;QACD,OAAO,EAAE;YACP,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,sBAAsB;YAC1D,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;YACxC,sBAAsB,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACjD,2BAA2B,EAAE,sBAAG,CAAC,OAAO;SACzC;KACF,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC,CAAA;AAjDY,QAAA,YAAY,gBAiDxB;AAEM,MAAM,eAAe,GAAG,CAAC,OAAiH,EAAE,EAAE;;IACnJ,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE;;QAC9B,OAAO;YACL,GAAG,CAAC,MAAA,OAAO,CAAC,QAAQ,CAAC,aAAa,mCAAI,EAAE,CAAC;YACzC,IAAI;YACJ,OAAO;YACP,MAAM;YACN,QAAQ;YACR,OAAO;YACP,aAAa;YACb,6BAA6B;YAC7B,SAAS;SACV,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE;;QAC9B,OAAO,CAAC,GAAG,CAAC,MAAA,OAAO,CAAC,QAAQ,CAAC,aAAa,mCAAI,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO;QACL,IAAI,EAAE,MAAA,MAAA,OAAO,CAAC,QAAQ,mCAAI,MAAA,OAAO,CAAC,WAAW,0CAAE,QAAQ,mCAAI,EAAE;QAC7D,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACpE,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,OAAO;QAClB,eAAe,EAAE,KAAK;QACtB,KAAK,EAAE,IAAA,qBAAa,EAAC,OAAO,CAAC;QAC7B,aAAa,EAAE,iBAAiB;QAChC,aAAa,EAAE,iBAAiB;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,MAAM,EAAE,8BAA8B;QACnD,cAAc,EAAE,KAAK,EAAE,yDAAyD;QAChF,UAAU,EAAE,CAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,cAAc,MAAK,iBAAiB;QACrE,cAAc,EAAE,CAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,cAAc,MAAK,iBAAiB;QACzE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,mDAAmD;QAChF,MAAM,EAAE,+BAAY;QACpB,yBAAyB;QACzB,sBAAsB;QACtB,aAAa;QACb,oBAAoB;QACpB,MAAM;QACN,KAAK;KACN,CAAA;AACH,CAAC,CAAA;AAzCY,QAAA,eAAe,mBAyC3B;AAEM,MAAM,aAAa,GAAG,CAAC,OAAwC,EAAE,iBAAqC,EAAE,EAAE;IAC/G,MAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;;QACtB,IAAI,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,uBAAuB,EAAE,CAAC;YAC/C,OAAO;gBACL,GAAG,EAAE,SAAS;aACf,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,EAAE;gBACH,GAAG,SAAS;gBACZ,GAAG,CAAC,MAAA,OAAO,CAAC,QAAQ,CAAC,sBAAsB,mCAAI,EAAE,CAAC;gBAClD,GAAG,CAAC,MAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;aACvE,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,MAAK,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM,CAAA,CAAC;SAC3D,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAnBW,QAAA,aAAa,iBAmBxB;AAEK,MAAM,cAAc,GAAG,CAAC,OAAwC,EAAE,iBAAoC,EAAE,EAAE;IAC/G,MAAM,SAAS,GAAG,IAAA,qBAAa,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;QAC5B,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;QAC5B,IACE,CAAC,iBAAiB,CAAC,uBAAuB;YAC1C,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC;YAEhD,OAAO,SAAS,CAAC;QAEnB,OAAO,CAAC,KAAyB,EAAE,EAAE;YACnC,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,CAAC;YAEtB,8DAA8D;YAC9D,MAAM,UAAU,GAAG,QAAQ,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAE/D,IAAI,CAAC,KAAK,UAAU,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC;YAEvC,OAAO;gBACL,KAAK,EAAE;oBACL,MAAM,EAAE;wBACN,IAAI,EAAE,UAAU;wBAChB,KAAK,EAAE;4BACL,IAAI,EAAE;gCACJ,IAAI,EAAE;oCACJ;wCACE,KAAK,EAAE;4CACL,oBAAoB,EAAE,MAAM;yCAC7B;qCACF;oCACD;wCACE,KAAK,EAAE;4CACL,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,UAAU;yCACtC;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE;QAC7B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,2FAA2F;QAC3F,OAAO,GAAG,EAAE;YACV,OAAO;gBACL,IAAI,EAAE;oBACJ,qBAAqB,EAAE;wBACrB,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;wBAC5B,IAAI,EAAE;4BACJ,qBAAqB,EAAE;gCACrB,MAAM,EAAE;oCACN,IAAI,EAAE;wCACJ,oBAAoB,EAAE,CAAC;wCACvB,MAAM,EAAE;4CACN;gDACE,KAAK,EAAE;oDACL,oBAAoB,EAAE,MAAM;iDAC7B;6CACF;4CACD;gDACE,KAAK,EAAE;oDACL,oBAAoB,EAAE,iBAAiB,CAAC,uBAAuB;wDAC7D,CAAC,CAAC,MAAM;wDACR,CAAC,CAAC,OAAO;iDACZ;6CACF;yCACF;qCACF;iCACF;gCACD,IAAI,EAAE;oCACJ,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;wCACzB,KAAK,EAAE;4CACL,KAAK,EAAE,iBAAiB,CAAC,KAAK;4CAC9B,IAAI,EAAE,GAAG;4CACT,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;yCAC1B;wCACD,IAAI,EAAE;4CACJ,WAAW,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE;yCACpC;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;QACvB,IAAI,iBAAiB,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,oCAAiB,CAAC;QAC3B,CAAC;QACD,IAAI,iBAAiB,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC/C,IAAI,iBAAiB,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;gBAC9C,OAAO,8BAAW,CAAC;YACrB,CAAC;YACD,OAAO,6BAAU,CAAC;QACpB,CAAC;QACD,IAAI,iBAAiB,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;YAC9C,IAAI,iBAAiB,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;gBAC9C,OAAO,6BAAU,CAAC;YACpB,CAAC;YACD,OAAO,4BAAS,CAAC;QACnB,CAAC;QAED,OAAO;IACT,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO;QACL,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,iBAAiB,CAAC,MAAM;QACrC,SAAS,EAAE,iBAAiB,CAAC,KAAK;QAClC,WAAW,EAAE,iBAAiB,CAAC,IAAI;QACnC,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,eAAe;QAC5B,YAAY,EAAE,gBAAgB;QAC9B,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,SAAS;KACjB,CAAA;AACH,CAAC,CAAC;AApIW,QAAA,cAAc,kBAoIzB;AAEK,MAAM,kBAAkB,GAAG,CAAC,iBAAoC,EAAE,EAAE;;IACzE,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,SAAS;QAC1D,WAAW,EAAE,MAAA,iBAAiB,CAAC,mBAAmB,mCAAI,IAAI;QAC1D,UAAU,EAAE,MAAA,iBAAiB,CAAC,kBAAkB,mCAAI,IAAI;QACxD,YAAY,EAAE,MAAA,iBAAiB,CAAC,gBAAgB,mCAAI,KAAK;QACzD,UAAU,EAAE,MAAA,iBAAiB,CAAC,kBAAkB,mCAAI,KAAK;QACzD,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;KACpB,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,kBAAkB,sBAU7B;AAEK,MAAM,mBAAmB,GAAG,CAAC,iBAAoC,EAAE,EAAE;;IAC1E,MAAM,IAAI,GAAG,MAAA,MAAA,iBAAiB,CAAC,mBAAmB,0CAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACjE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB;SACnD,CAAC;IACJ,CAAC,CAAC,mCAAI,EAAE,CAAC;IAET,OAAO;QACL,WAAW,EAAE,MAAA,iBAAiB,CAAC,mBAAmB,mCAAI,IAAI;QAC1D,UAAU,EAAE,MAAA,iBAAiB,CAAC,kBAAkB,mCAAI,IAAI;QACxD,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;QACnB,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,mBAAmB,uBAiB9B;AAEK,MAAM,oBAAoB,GAAG,CAAC,iBAAoC,EAAE,KAAsC,EAAE,KAA6B,EAAE,EAAE;;IAClJ,MAAM,WAAW,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC,KAAK,CAAC,MAAA,IAAI,eAAe,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,mCAAI,IAAI,CAAC,CAAC;IAEnK,MAAM,YAAY,GAAG;QACnB,IAAI,EAAE;YACJ,GAAG,EAAE;gBACH,GAAG,EAAE;oBACH,KAAK,EAAE,iBAAiB,CAAC,KAAK;iBAC/B;aACF;YACD,GAAG,EAAE;gBACH,GAAG,EAAE;oBACH,KAAK,EAAE,iBAAiB,CAAC,KAAK;iBAC/B;aACF;SACF;KACF,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE;QACxB,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO;QACT,CAAC;QAED,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE;gCACJ,IAAI,EAAE;oCACJ;wCACE,KAAK,EAAE;4CACL,SAAS,EAAE,IAAI;yCAChB;qCACF;oCACD;wCACE,KAAK,EAAE;4CACL,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;gDACzB,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;gDACnB,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;gDACnB,KAAK,EAAE,CAAC;6CACT;yCACF;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO;QACL,YAAY;QACZ,WAAW;KACZ,CAAC;AACJ,CAAC,CAAC;AAzDW,QAAA,oBAAoB,wBAyD/B","sourcesContent":["import { MultiList, MultiRange, ReactiveComponent, ReactiveList, SingleList, SingleRange } from \"@usereactify/search-internals\";\nimport { ReactifySearchProviderProps, SENSOR_IDS } from \"../components\";\nimport { Config, ConfigFilter, ConfigFilterFacet } from \"../types\";\nimport { getCuration } from \"./curation\";\nimport { generateSortQuery, generateSortSort, getSortOption } from \"./sortOption\";\nimport { getFilterStack } from \"./filters\";\nimport { replaceDocCountWithParent } from \"../hooks\";\n\nimport pkg from \"../../package.json\";\n\nexport type GeneratePropsFilterGroupOptions = {\n provider: ReactifySearchProviderProps;\n config: Config;\n filterGroup?: ConfigFilter;\n query?: Record<string, string>;\n};\n\nexport type GeneratePropsSensorOptions = {\n provider: ReactifySearchProviderProps;\n config: Config;\n query?: Record<string, string>;\n};\n\nexport type GeneratePropsBase = {\n provider: ReactifySearchProviderProps;\n config: Config;\n query?: Record<string, string>;\n};\n\nexport const getPropsFilterGroup = (options: GeneratePropsFilterGroupOptions) => {\n return [\n ...options.filterGroup?.options.map((filterGroupOption) => getPropsFilterGroupOption(options, filterGroupOption)) ?? [],\n ...getPropsSensors(options),\n getPropsResults(options),\n ];\n};\n\nexport const getPropsFilterGroupOption = (options: GeneratePropsFilterGroupOptions, filterGroupOption: ConfigFilterFacet) => {\n let filterProps: Record<string, unknown> = {};\n\n if (filterGroupOption.displayType === \"slider\") {\n const sliderFilterProps = getPropsFilterSlider(filterGroupOption, options.provider.query ?? {});\n filterProps = {\n defaultQuery: () => sliderFilterProps.defaultQuery,\n customQuery: () => sliderFilterProps.customQuery,\n };\n }\n\n if (filterGroupOption.displayType === \"single\" || filterGroupOption.displayType === \"multi\") {\n if (filterGroupOption.displayView === \"range\") {\n filterProps = getPropsFilterRange(filterGroupOption);\n } else {\n filterProps = getPropsFilterList(filterGroupOption);\n }\n }\n\n const sharedProps = getPropsShared(options, filterGroupOption);\n\n return {\n ...sharedProps,\n ...filterProps,\n };\n};\n\nexport const getPropsSensors = (options: GeneratePropsSensorOptions) => {\n return [\n ...getPropsSensorCustom(options),\n getPropsSensorCollection(options),\n getPropsSensorPublished(options),\n getPropsSensorInventoryAvailable(options),\n getPropsSensorSort(options),\n ].filter(Boolean);\n}\n\nexport const getPropsSensorCustom = (options: GeneratePropsSensorOptions) => {\n const sensors = options.provider.mode === \"collection\" ? options.config.sensors.collection : options.config.sensors.search;\n\n return sensors.map((sensor, index) => ({\n componentId: `SensorCustom_${index}`,\n customQuery: () => sensor,\n source: ReactiveComponent,\n }));\n}\n\nexport const getPropsSensorCollection = (options: GeneratePropsSensorOptions) => {\n if (options.provider.mode !== \"collection\") {\n return null;\n }\n \n return {\n componentId: \"SensorCollection\",\n customQuery: () => {\n if (options.provider.mode !== \"collection\") {\n return null;\n }\n\n const conditions: Array<unknown> = [];\n\n if (options.provider.market) {\n conditions.push({\n nested: {\n path: \"curations\",\n query: {\n bool: {\n should: [\n {\n nested: {\n path: \"collections\",\n query: {\n term: {\n \"collections.handle.keyword\": options.provider.collectionHandle,\n },\n },\n },\n },\n {\n nested: {\n path: \"curations\",\n query: {\n term: {\n \"curations.collectionHandle.keyword\":\n options.provider.collectionHandle,\n },\n },\n },\n },\n ],\n must: [{\n nested: {\n path: \"curations\",\n query: {\n term: {\n \"curations.markets.keyword\": options.provider.market,\n },\n },\n },\n }]\n },\n },\n },\n });\n }\n \n return {\n query: {\n bool: {\n should: [\n {\n nested: {\n path: \"collections\",\n query: {\n term: {\n \"collections.handle.keyword\": options.provider.collectionHandle,\n },\n },\n },\n },\n {\n nested: {\n path: \"curations\",\n query: {\n term: {\n \"curations.collectionHandle.keyword\":\n options.provider.collectionHandle,\n },\n },\n },\n },\n ],\n },\n },\n } \n },\n source: ReactiveComponent,\n };\n}\n\nexport const getPropsSensorPublished = (options: GeneratePropsSensorOptions) => {\n return {\n componentId: \"SensorPublished\",\n customQuery: () => {\n if (options.provider.market) {\n return {\n query: {\n bool: {\n must:[{\n match: {\n markets: options.provider.market,\n },\n },{\n match: {\n published: true,\n },\n }]\n },\n },\n };\n }\n\n return {\n query: {\n match: {\n published: true,\n },\n },\n }\n },\n source: ReactiveComponent,\n }\n}\n\nexport const getPropsSensorInventoryAvailable = (options: GeneratePropsSensorOptions) => {\n const filterStack = getFilterStack(options);\n\n if (!filterStack || \"show_all\" === filterStack.inventoryVisibility) {\n return null;\n }\n\n return {\n componentId: \"SensorInventoryAvailable\",\n customQuery: () => ({\n query: {\n bool: {\n should: [\n {\n bool: {\n must: [\n {\n term: {\n type: {\n value: \"product\",\n },\n },\n },\n {\n nested: {\n path: \"variants\",\n query: {\n match: { \"variants.available\": true },\n },\n },\n },\n ],\n },\n },\n ...(options.provider.mode === \"instant-search\"\n ? []\n : [\n {\n term: {\n type: {\n value: \"callout\",\n },\n },\n },\n ]),\n ],\n minimum_should_match: \"1\",\n },\n },\n }),\n source: ReactiveComponent,\n }\n}\n\nexport const getPropsSensorSort = (options: GeneratePropsSensorOptions & { searchTerm?: string; sortOption?: string; }) => {\n const curation = getCuration(options);\n const sortOption = getSortOption(options);\n\n const sort = generateSortSort({\n provider: options.provider,\n config: options.config,\n curation: curation,\n sortOption: sortOption,\n });\n const query = generateSortQuery({\n provider: options.provider,\n sortOption: sortOption,\n curation: curation,\n });\n\n return {\n componentId: \"SensorSort\",\n customQuery: () => ({\n sort,\n query,\n }),\n source: ReactiveComponent,\n }\n}\n\nexport const getPropsBase = (options: GeneratePropsBase) => {\n const props = {\n app: options.config.index,\n url: options.config.endpoint,\n credentials: options.provider.credentials,\n theme: options.provider.theme,\n initialState: options.provider.preload?.state,\n transformSort: () => {\n const sortSensor = getPropsSensorSort(options);\n const customQuery = sortSensor.customQuery();\n\n return customQuery.sort;\n },\n transformRequest: (request: any) => {\n if ((request.url as string).endsWith(\"?\")) {\n request.url = request.url.substring(0, request.url.length - 1);\n }\n return request;\n },\n transformResponse: async (response: any) => {\n // support filtering inside nested aggregations by moving the inner aggregation\n // up one level such that reactivesearch understands it\n //\n // see useReactiveFilterListProps > defaultQuery to see how a filter is being applied\n // to variant aggregations to ensure that only in stock sizes are displayed as filter\n // options, this involves a nested filter, which requires this fix\n //\n // https://github.com/appbaseio/reactivesearch/issues/1530\n if (\n response?.aggregations?.reactivesearch_nested?.reactify_nested_outer\n ) {\n response.aggregations.reactivesearch_nested =\n replaceDocCountWithParent(\n response?.aggregations?.reactivesearch_nested\n ?.reactify_nested_outer\n );\n }\n\n return response;\n },\n headers: {\n \"x-reactify-shop\": options.provider.shopifyPermanentDomain,\n \"x-reactify-mode\": options.provider.mode,\n \"x-reactify-client-id\": options.provider.clientId,\n \"x-reactify-client-version\": pkg.version,\n },\n };\n\n return props;\n}\n\nexport const getPropsResults = (options: GeneratePropsFilterGroupOptions & { scrollTarget?: string | Element | HTMLDocument; pageSize?: number; }) => {\n const includeFieldsProp = (() => {\n return [\n ...(options.provider.includeFields ?? []),\n \"id\",\n \"title\",\n \"type\",\n \"handle\",\n \"image\",\n \"variants.id\",\n \"variants.presentment_prices\",\n \"callout\",\n ];\n })();\n const excludeFieldsProp = (() => {\n return [...(options.provider.excludeFields ?? [])];\n })();\n\n return {\n size: options.pageSize ?? options.filterGroup?.pageSize ?? 20,\n URLParams: options.provider.mode === \"instant-search\" ? false : true,\n showLoader: false,\n dataField: \"title\",\n showResultStats: false,\n react: getPropsReact(options),\n includeFields: includeFieldsProp,\n excludeFields: excludeFieldsProp,\n scrollTarget: options.scrollTarget,\n componentId: \"page\", // this sets ?page= in the URL\n scrollOnChange: false, // @todo make this better, it's really janky when enabled\n pagination: options.filterGroup?.paginationType !== \"infinite_scroll\",\n infiniteScroll: options.filterGroup?.paginationType === \"infinite_scroll\",\n renderNoResults: () => null, // always use only render, otherwise both are shown\n source: ReactiveList,\n // defaultQuery: () => ({\n // sort: [\"_score\"],\n // query: {\n // match_all: {}\n // }\n // })\n }\n}\n\nexport const getPropsReact = (options: GeneratePropsFilterGroupOptions, filterGroupOption?: ConfigFilterFacet) => {\n const sensorIds = SENSOR_IDS(options.provider.mode, options.config);\n const reactProp = (() => {\n if (filterGroupOption?.settingsShowEmptyValues) {\n return {\n and: sensorIds,\n };\n }\n\n return {\n and: [\n ...sensorIds,\n ...(options.provider.additionalComponentIds ?? []),\n ...(options.filterGroup?.options.map((filter) => filter.handle) ?? []),\n ].filter((handle) => handle !== filterGroupOption?.handle),\n };\n })();\n\n return reactProp;\n};\n\nexport const getPropsShared = (options: GeneratePropsFilterGroupOptions, filterGroupOption: ConfigFilterFacet) => {\n const reactProp = getPropsReact(options, filterGroupOption);\n const nestedFieldProp = (() => {\n const nestedFields = [\"variants\"];\n const topField = filterGroupOption.field.split(\".\")[0];\n if (nestedFields.includes(topField)) {\n return topField;\n }\n return undefined;\n })();\n const customQueryProp = (() => {\n if (\n !filterGroupOption.settingsHideUnavailable ||\n !filterGroupOption.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 [filterGroupOption.field]: valueArray,\n },\n },\n ],\n },\n },\n },\n },\n };\n };\n })();\n const defaultQueryProp = (() => {\n if (!filterGroupOption.field.startsWith(\"variants.\")) {\n return undefined;\n }\n\n // override the aggregation query to filter the results by the variants.available attribute\n return () => {\n return {\n aggs: {\n reactivesearch_nested: {\n nested: { path: \"variants\" },\n aggs: {\n reactify_nested_outer: {\n filter: {\n bool: {\n minimum_should_match: 1,\n should: [\n {\n match: {\n \"variants.available\": \"true\",\n },\n },\n {\n match: {\n \"variants.available\": filterGroupOption.settingsHideUnavailable\n ? \"true\"\n : \"false\",\n },\n },\n ],\n },\n },\n aggs: {\n [filterGroupOption.field]: {\n terms: {\n field: filterGroupOption.field,\n size: 100,\n order: { _count: \"desc\" },\n },\n aggs: {\n parent_docs: { reverse_nested: {} },\n },\n },\n },\n },\n },\n },\n },\n };\n };\n })();\n const sourceProp = (() => {\n if (filterGroupOption.displayType === \"slider\") {\n return ReactiveComponent;\n }\n if (filterGroupOption.displayType === \"single\") {\n if (filterGroupOption.displayView === \"range\") {\n return SingleRange;\n }\n return SingleList;\n }\n if (filterGroupOption.displayType === \"multi\") {\n if (filterGroupOption.displayView === \"range\") {\n return MultiRange;\n }\n return MultiList;\n }\n \n return;\n })();\n\n return {\n URLParams: true,\n componentId: filterGroupOption.handle,\n dataField: filterGroupOption.field,\n filterLabel: filterGroupOption.name,\n nestedField: nestedFieldProp,\n customQuery: customQueryProp,\n defaultQuery: defaultQueryProp,\n source: sourceProp,\n react: reactProp,\n }\n};\n\nexport const getPropsFilterList = (filterGroupOption: ConfigFilterFacet) => {\n return {\n size: parseInt(filterGroupOption.displaySize) || undefined,\n queryFormat: filterGroupOption.settingsFilterLogic ?? \"or\",\n showFilter: filterGroupOption.settingsShowFilter ?? true,\n showLoadMore: filterGroupOption.settingsShowMore ?? false,\n showSearch: filterGroupOption.settingsShowSearch ?? false,\n showRadio: false,\n showCheckbox: false,\n };\n};\n\nexport const getPropsFilterRange = (filterGroupOption: ConfigFilterFacet) => {\n const data = filterGroupOption.displayRangeOptions?.map((option) => {\n const [label, start, end] = option.split(\":\");\n return {\n label: label,\n start: start ? parseInt(start) : 0,\n end: end ? parseInt(end) : Number.MAX_SAFE_INTEGER,\n };\n }) ?? [];\n\n return {\n queryFormat: filterGroupOption.settingsFilterLogic ?? \"or\",\n showFilter: filterGroupOption.settingsShowFilter ?? true,\n showRadio: false,\n showCheckbox: false,\n data: data,\n };\n};\n\nexport const getPropsFilterSlider = (filterGroupOption: ConfigFilterFacet, query: Record<string, string> | string, value?: [number, number] | []) => {\n const filterValue = value ?? JSON.parse(new URLSearchParams(typeof window === \"undefined\" ? query : window.location.search).get(filterGroupOption.handle) ?? \"[]\");\n\n const defaultQuery = {\n aggs: {\n min: {\n min: {\n field: filterGroupOption.field,\n },\n },\n max: {\n max: {\n field: filterGroupOption.field,\n },\n },\n },\n };\n\n const customQuery = (() => {\n if (filterValue[0] === 0 && filterValue[1] === 0) {\n return;\n }\n\n return {\n query: {\n bool: {\n must: [\n {\n bool: {\n must: [\n {\n match: {\n published: true,\n },\n },\n {\n range: {\n [filterGroupOption.field]: {\n gte: filterValue[0],\n lte: filterValue[1],\n boost: 2,\n },\n },\n },\n ],\n },\n },\n ],\n },\n }\n };\n })();\n \n return {\n defaultQuery,\n customQuery,\n };\n};"]}
1
+ {"version":3,"file":"props.js","sourceRoot":"","sources":["../../../src/utility/props.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oEAAgI;AAChI,8CAAwE;AAExE,yCAAyC;AACzC,6CAAkF;AAClF,uCAA2C;AAC3C,oCAAqD;AAErD,sEAAqC;AAqB9B,MAAM,mBAAmB,GAAG,CAAC,OAAwC,EAAE,EAAE;;IAC9E,OAAO;QACL,GAAG,MAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,OAAO,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,IAAA,iCAAyB,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,mCAAI,EAAE;QACvH,GAAG,IAAA,uBAAe,EAAC,OAAO,CAAC;QAC3B,IAAA,uBAAe,EAAC,OAAO,CAAC;KACzB,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,mBAAmB,uBAM9B;AAEK,MAAM,yBAAyB,GAAG,CAAC,OAAwC,EAAE,iBAAoC,EAAE,EAAE;;IAC1H,IAAI,WAAW,GAA4B,EAAE,CAAC;IAE9C,IAAI,iBAAiB,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC/C,MAAM,iBAAiB,GAAG,IAAA,4BAAoB,EAAC,iBAAiB,EAAE,MAAA,OAAO,CAAC,QAAQ,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC;QAChG,WAAW,GAAG;YACZ,YAAY,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,YAAY;YAClD,WAAW,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,WAAW;SACjD,CAAC;IACJ,CAAC;IAED,IAAI,iBAAiB,CAAC,WAAW,KAAK,QAAQ,IAAI,iBAAiB,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;QAC5F,IAAI,iBAAiB,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;YAC9C,WAAW,GAAG,IAAA,2BAAmB,EAAC,iBAAiB,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,IAAA,0BAAkB,EAAC,iBAAiB,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAE/D,uCACK,WAAW,GACX,WAAW,EACd;AACJ,CAAC,CAAC;AAzBW,QAAA,yBAAyB,6BAyBpC;AAEK,MAAM,eAAe,GAAG,CAAC,OAAmC,EAAE,EAAE;IACrE,OAAO;QACL,GAAG,IAAA,4BAAoB,EAAC,OAAO,CAAC;QAChC,IAAA,gCAAwB,EAAC,OAAO,CAAC;QACjC,IAAA,+BAAuB,EAAC,OAAO,CAAC;QAChC,IAAA,wCAAgC,EAAC,OAAO,CAAC;QACzC,IAAA,0BAAkB,EAAC,OAAO,CAAC;KAC5B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACpB,CAAC,CAAA;AARY,QAAA,eAAe,mBAQ3B;AAEM,MAAM,oBAAoB,GAAG,CAAC,OAAmC,EAAE,EAAE;IAC1E,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;IAE3H,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,WAAW,EAAE,gBAAgB,KAAK,EAAE;QACpC,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM;QACzB,MAAM,EAAE,oCAAiB;KAC1B,CAAC,CAAC,CAAC;AACN,CAAC,CAAA;AARY,QAAA,oBAAoB,wBAQhC;AAEM,MAAM,wBAAwB,GAAG,CAAC,OAAmC,EAAE,EAAE;IAC9E,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,WAAW,EAAE,kBAAkB;QAC/B,WAAW,EAAE,GAAG,EAAE;YAChB,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,UAAU,GAAmB,EAAE,CAAC;YAEtC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC5B,UAAU,CAAC,IAAI,CAAC;oBACd,MAAM,EAAE;wBACN,IAAI,EAAE,WAAW;wBACjB,KAAK,EAAE;4BACL,IAAI,EAAE;gCACJ,MAAM,EAAE;oCACN;wCACE,MAAM,EAAE;4CACN,IAAI,EAAE,aAAa;4CACnB,KAAK,EAAE;gDACL,IAAI,EAAE;oDACJ,4BAA4B,EAAE,OAAO,CAAC,QAAQ,CAAC,gBAAgB;iDAChE;6CACF;yCACF;qCACF;oCACD;wCACE,MAAM,EAAE;4CACN,IAAI,EAAE,WAAW;4CACjB,KAAK,EAAE;gDACL,IAAI,EAAE;oDACJ,oCAAoC,EAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;iDACpC;6CACF;yCACF;qCACF;iCACF;gCACD,IAAI,EAAE,CAAC;wCACL,MAAM,EAAE;4CACN,IAAI,EAAE,WAAW;4CACjB,KAAK,EAAE;gDACL,IAAI,EAAE;oDACJ,2BAA2B,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;iDACrD;6CACF;yCACF;qCACF,CAAC;6BACH;yBACF;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;YAED,OAAO;gBACL,KAAK,EAAE;oBACL,IAAI,EAAE;wBACJ,MAAM,EAAE;4BACN;gCACE,MAAM,EAAE;oCACN,IAAI,EAAE,aAAa;oCACnB,KAAK,EAAE;wCACL,IAAI,EAAE;4CACJ,4BAA4B,EAAE,OAAO,CAAC,QAAQ,CAAC,gBAAgB;yCAChE;qCACF;iCACF;6BACF;4BACD;gCACE,MAAM,EAAE;oCACN,IAAI,EAAE,WAAW;oCACjB,KAAK,EAAE;wCACL,IAAI,EAAE;4CACJ,oCAAoC,EAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;yCACpC;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF,CAAA;QACH,CAAC;QACD,MAAM,EAAE,oCAAiB;KAC1B,CAAC;AACJ,CAAC,CAAA;AA3FY,QAAA,wBAAwB,4BA2FpC;AAEM,MAAM,uBAAuB,GAAG,CAAC,OAAmC,EAAE,EAAE;IAC7E,OAAO;QACL,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE,GAAG,EAAE;YAChB,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC5B,OAAO;oBACL,KAAK,EAAE;wBACL,IAAI,EAAE;4BACJ,IAAI,EAAC,CAAC;oCACJ,KAAK,EAAE;wCACL,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;qCACjC;iCACF,EAAC;oCACA,KAAK,EAAE;wCACL,SAAS,EAAE,IAAI;qCAChB;iCACF,CAAC;yBACH;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,KAAK,EAAE;oBACL,KAAK,EAAE;wBACL,SAAS,EAAE,IAAI;qBAChB;iBACF;aACF,CAAA;QACH,CAAC;QACD,MAAM,EAAE,oCAAiB;KAC1B,CAAA;AACH,CAAC,CAAA;AAhCY,QAAA,uBAAuB,2BAgCnC;AAEM,MAAM,gCAAgC,GAAG,CAAC,OAAmC,EAAE,EAAE;IACtF,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,OAAO,CAAC,CAAC;IAE5C,IAAI,CAAC,WAAW,IAAI,UAAU,KAAK,WAAW,CAAC,mBAAmB,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,WAAW,EAAE,0BAA0B;QACvC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAClB,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE;gCACJ,IAAI,EAAE;oCACJ;wCACE,IAAI,EAAE;4CACJ,IAAI,EAAE;gDACJ,KAAK,EAAE,SAAS;6CACjB;yCACF;qCACF;oCACD;wCACE,MAAM,EAAE;4CACN,IAAI,EAAE,UAAU;4CAChB,KAAK,EAAE;gDACL,KAAK,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE;6CACtC;yCACF;qCACF;iCACF;6BACF;yBACF;wBACD,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,gBAAgB;4BAC5C,CAAC,CAAC,EAAE;4BACJ,CAAC,CAAC;gCACE;oCACE,IAAI,EAAE;wCACJ,IAAI,EAAE;4CACJ,KAAK,EAAE,SAAS;yCACjB;qCACF;iCACF;6BACF,CAAC;qBACP;oBACD,oBAAoB,EAAE,GAAG;iBAC1B;aACF;SACF,CAAC;QACF,MAAM,EAAE,oCAAiB;KAC1B,CAAA;AACH,CAAC,CAAA;AApDY,QAAA,gCAAgC,oCAoD5C;AAEM,MAAM,kBAAkB,GAAG,CAAC,OAAmF,EAAE,EAAE;IACxH,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,IAAA,0BAAa,EAAC,OAAO,CAAC,CAAC;IAE1C,MAAM,IAAI,GAAG,IAAA,6BAAgB,EAAC;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,UAAU;KACvB,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAA,8BAAiB,EAAC;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAClB,IAAI;YACJ,KAAK;SACN,CAAC;QACF,MAAM,EAAE,oCAAiB;KAC1B,CAAA;AACH,CAAC,CAAA;AAxBY,QAAA,kBAAkB,sBAwB9B;AAEM,MAAM,YAAY,GAAG,CAAC,OAA0B,EAAE,EAAE;;IACzD,MAAM,KAAK,GAAI;QACb,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QACzB,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;QAC5B,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW;QACzC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK;QAC7B,YAAY,EAAE,MAAA,OAAO,CAAC,QAAQ,CAAC,OAAO,0CAAE,KAAK;QAC7C,aAAa,EAAE,GAAG,EAAE;YAClB,MAAM,UAAU,GAAG,IAAA,0BAAkB,EAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;YAE7C,OAAO,WAAW,CAAC,IAAI,CAAC;QAC1B,CAAC;QACD,gBAAgB,EAAE,CAAC,OAAY,EAAE,EAAE;YACjC,IAAK,OAAO,CAAC,GAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,iBAAiB,EAAE,CAAO,QAAa,EAAE,EAAE;;YACzC,+EAA+E;YAC/E,uDAAuD;YACvD,EAAE;YACF,qFAAqF;YACrF,qFAAqF;YACrF,kEAAkE;YAClE,EAAE;YACF,0DAA0D;YAC1D,IACE,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,0CAAE,qBAAqB,0CAAE,qBAAqB,EACpE,CAAC;gBACD,QAAQ,CAAC,YAAY,CAAC,qBAAqB;oBACzC,IAAA,iCAAyB,EACvB,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,0CAAE,qBAAqB,0CACzC,qBAAqB,CAC1B,CAAC;YACN,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAA;QACD,OAAO,EAAE;YACP,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,sBAAsB;YAC1D,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;YACxC,sBAAsB,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACjD,2BAA2B,EAAE,sBAAG,CAAC,OAAO;SACzC;KACF,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC,CAAA;AAjDY,QAAA,YAAY,gBAiDxB;AAEM,MAAM,eAAe,GAAG,CAAC,OAAiH,EAAE,EAAE;;IACnJ,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE;;QAC9B,OAAO;YACL,GAAG,CAAC,MAAA,OAAO,CAAC,QAAQ,CAAC,aAAa,mCAAI,EAAE,CAAC;YACzC,IAAI;YACJ,OAAO;YACP,MAAM;YACN,QAAQ;YACR,OAAO;YACP,aAAa;YACb,6BAA6B;YAC7B,SAAS;SACV,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE;;QAC9B,OAAO,CAAC,GAAG,CAAC,MAAA,OAAO,CAAC,QAAQ,CAAC,aAAa,mCAAI,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO;QACL,IAAI,EAAE,MAAA,MAAA,OAAO,CAAC,QAAQ,mCAAI,MAAA,OAAO,CAAC,WAAW,0CAAE,QAAQ,mCAAI,EAAE;QAC7D,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACpE,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,OAAO;QAClB,eAAe,EAAE,KAAK;QACtB,KAAK,EAAE,IAAA,qBAAa,EAAC,OAAO,CAAC;QAC7B,aAAa,EAAE,iBAAiB;QAChC,aAAa,EAAE,iBAAiB;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,MAAM,EAAE,8BAA8B;QACnD,cAAc,EAAE,KAAK,EAAE,yDAAyD;QAChF,UAAU,EAAE,CAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,cAAc,MAAK,iBAAiB;QACrE,cAAc,EAAE,CAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,cAAc,MAAK,iBAAiB;QACzE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,mDAAmD;QAChF,MAAM,EAAE,+BAAY;QACpB,yBAAyB;QACzB,sBAAsB;QACtB,aAAa;QACb,oBAAoB;QACpB,MAAM;QACN,KAAK;KACN,CAAA;AACH,CAAC,CAAA;AAzCY,QAAA,eAAe,mBAyC3B;AAEM,MAAM,aAAa,GAAG,CAAC,OAAwC,EAAE,iBAAqC,EAAE,EAAE;IAC/G,MAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;;QACtB,IAAI,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,uBAAuB,EAAE,CAAC;YAC/C,OAAO;gBACL,GAAG,EAAE,SAAS;aACf,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,EAAE;gBACH,GAAG,SAAS;gBACZ,GAAG,CAAC,MAAA,OAAO,CAAC,QAAQ,CAAC,sBAAsB,mCAAI,EAAE,CAAC;gBAClD,GAAG,CAAC,MAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;aACvE,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,MAAK,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM,CAAA,CAAC;SAC3D,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAnBW,QAAA,aAAa,iBAmBxB;AAEK,MAAM,cAAc,GAAG,CAAC,OAAwC,EAAE,iBAAoC,EAAE,EAAE;IAC/G,MAAM,SAAS,GAAG,IAAA,qBAAa,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;QAC5B,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;QAC5B,IACE,CAAC,iBAAiB,CAAC,uBAAuB;YAC1C,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC;YAEhD,OAAO,SAAS,CAAC;QAEnB,OAAO,CAAC,KAAyB,EAAE,EAAE;YACnC,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,CAAC;YAEtB,8DAA8D;YAC9D,MAAM,UAAU,GAAG,QAAQ,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAE/D,IAAI,CAAC,KAAK,UAAU,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC;YAEvC,OAAO;gBACL,KAAK,EAAE;oBACL,MAAM,EAAE;wBACN,IAAI,EAAE,UAAU;wBAChB,KAAK,EAAE;4BACL,IAAI,EAAE;gCACJ,IAAI,EAAE;oCACJ;wCACE,KAAK,EAAE;4CACL,oBAAoB,EAAE,MAAM;yCAC7B;qCACF;oCACD;wCACE,KAAK,EAAE;4CACL,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,UAAU;yCACtC;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE;QAC7B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,2FAA2F;QAC3F,OAAO,GAAG,EAAE;YACV,OAAO;gBACL,IAAI,EAAE;oBACJ,qBAAqB,EAAE;wBACrB,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;wBAC5B,IAAI,EAAE;4BACJ,qBAAqB,EAAE;gCACrB,MAAM,EAAE;oCACN,IAAI,EAAE;wCACJ,oBAAoB,EAAE,CAAC;wCACvB,MAAM,EAAE;4CACN;gDACE,KAAK,EAAE;oDACL,oBAAoB,EAAE,MAAM;iDAC7B;6CACF;4CACD;gDACE,KAAK,EAAE;oDACL,oBAAoB,EAAE,iBAAiB,CAAC,uBAAuB;wDAC7D,CAAC,CAAC,MAAM;wDACR,CAAC,CAAC,OAAO;iDACZ;6CACF;yCACF;qCACF;iCACF;gCACD,IAAI,EAAE;oCACJ,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;wCACzB,KAAK,EAAE;4CACL,KAAK,EAAE,iBAAiB,CAAC,KAAK;4CAC9B,IAAI,EAAE,GAAG;4CACT,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;yCAC1B;wCACD,IAAI,EAAE;4CACJ,WAAW,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE;yCACpC;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;QACvB,IAAI,iBAAiB,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,oCAAiB,CAAC;QAC3B,CAAC;QACD,IAAI,iBAAiB,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC/C,IAAI,iBAAiB,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;gBAC9C,OAAO,8BAAW,CAAC;YACrB,CAAC;YACD,OAAO,6BAAU,CAAC;QACpB,CAAC;QACD,IAAI,iBAAiB,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;YAC9C,IAAI,iBAAiB,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;gBAC9C,OAAO,6BAAU,CAAC;YACpB,CAAC;YACD,OAAO,4BAAS,CAAC;QACnB,CAAC;QAED,OAAO;IACT,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO;QACL,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,iBAAiB,CAAC,MAAM;QACrC,SAAS,EAAE,iBAAiB,CAAC,KAAK;QAClC,WAAW,EAAE,iBAAiB,CAAC,IAAI;QACnC,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,eAAe;QAC5B,YAAY,EAAE,gBAAgB;QAC9B,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,SAAS;KACjB,CAAA;AACH,CAAC,CAAC;AApIW,QAAA,cAAc,kBAoIzB;AAEK,MAAM,kBAAkB,GAAG,CAAC,iBAAoC,EAAE,EAAE;;IACzE,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,SAAS;QAC1D,WAAW,EAAE,MAAA,iBAAiB,CAAC,mBAAmB,mCAAI,IAAI;QAC1D,UAAU,EAAE,MAAA,iBAAiB,CAAC,kBAAkB,mCAAI,IAAI;QACxD,YAAY,EAAE,MAAA,iBAAiB,CAAC,gBAAgB,mCAAI,KAAK;QACzD,UAAU,EAAE,MAAA,iBAAiB,CAAC,kBAAkB,mCAAI,KAAK;QACzD,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;KACpB,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,kBAAkB,sBAU7B;AAEK,MAAM,mBAAmB,GAAG,CAAC,iBAAoC,EAAE,EAAE;;IAC1E,MAAM,IAAI,GAAG,MAAA,MAAA,iBAAiB,CAAC,mBAAmB,0CAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACjE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB;SACnD,CAAC;IACJ,CAAC,CAAC,mCAAI,EAAE,CAAC;IAET,OAAO;QACL,WAAW,EAAE,MAAA,iBAAiB,CAAC,mBAAmB,mCAAI,IAAI;QAC1D,UAAU,EAAE,MAAA,iBAAiB,CAAC,kBAAkB,mCAAI,IAAI;QACxD,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;QACnB,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,mBAAmB,uBAiB9B;AAEK,MAAM,oBAAoB,GAAG,CAAC,iBAAoC,EAAE,KAAsC,EAAE,KAA6B,EAAE,EAAE;;IAClJ,MAAM,WAAW,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC,KAAK,CAAC,MAAA,IAAI,eAAe,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,mCAAI,OAAO,CAAC,CAAC;IAEtK,MAAM,YAAY,GAAG;QACnB,IAAI,EAAE;YACJ,GAAG,EAAE;gBACH,GAAG,EAAE;oBACH,KAAK,EAAE,iBAAiB,CAAC,KAAK;iBAC/B;aACF;YACD,GAAG,EAAE;gBACH,GAAG,EAAE;oBACH,KAAK,EAAE,iBAAiB,CAAC,KAAK;iBAC/B;aACF;SACF;KACF,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE;QACxB,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO;QACT,CAAC;QAED,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE;gCACJ,IAAI,EAAE;oCACJ;wCACE,KAAK,EAAE;4CACL,SAAS,EAAE,IAAI;yCAChB;qCACF;oCACD;wCACE,KAAK,EAAE;4CACL,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;gDACzB,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;gDACnB,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;gDACnB,KAAK,EAAE,CAAC;6CACT;yCACF;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO;QACL,YAAY;QACZ,WAAW;KACZ,CAAC;AACJ,CAAC,CAAC;AAzDW,QAAA,oBAAoB,wBAyD/B","sourcesContent":["import { MultiList, MultiRange, ReactiveComponent, ReactiveList, SingleList, SingleRange } from \"@usereactify/search-internals\";\nimport { ReactifySearchProviderProps, SENSOR_IDS } from \"../components\";\nimport { Config, ConfigFilter, ConfigFilterFacet } from \"../types\";\nimport { getCuration } from \"./curation\";\nimport { generateSortQuery, generateSortSort, getSortOption } from \"./sortOption\";\nimport { getFilterStack } from \"./filters\";\nimport { replaceDocCountWithParent } from \"../hooks\";\n\nimport pkg from \"../../package.json\";\n\nexport type GeneratePropsFilterGroupOptions = {\n provider: ReactifySearchProviderProps;\n config: Config;\n filterGroup?: ConfigFilter;\n query?: Record<string, string>;\n};\n\nexport type GeneratePropsSensorOptions = {\n provider: ReactifySearchProviderProps;\n config: Config;\n query?: Record<string, string>;\n};\n\nexport type GeneratePropsBase = {\n provider: ReactifySearchProviderProps;\n config: Config;\n query?: Record<string, string>;\n};\n\nexport const getPropsFilterGroup = (options: GeneratePropsFilterGroupOptions) => {\n return [\n ...options.filterGroup?.options.map((filterGroupOption) => getPropsFilterGroupOption(options, filterGroupOption)) ?? [],\n ...getPropsSensors(options),\n getPropsResults(options),\n ];\n};\n\nexport const getPropsFilterGroupOption = (options: GeneratePropsFilterGroupOptions, filterGroupOption: ConfigFilterFacet) => {\n let filterProps: Record<string, unknown> = {};\n\n if (filterGroupOption.displayType === \"slider\") {\n const sliderFilterProps = getPropsFilterSlider(filterGroupOption, options.provider.query ?? {});\n filterProps = {\n defaultQuery: () => sliderFilterProps.defaultQuery,\n customQuery: () => sliderFilterProps.customQuery,\n };\n }\n\n if (filterGroupOption.displayType === \"single\" || filterGroupOption.displayType === \"multi\") {\n if (filterGroupOption.displayView === \"range\") {\n filterProps = getPropsFilterRange(filterGroupOption);\n } else {\n filterProps = getPropsFilterList(filterGroupOption);\n }\n }\n\n const sharedProps = getPropsShared(options, filterGroupOption);\n\n return {\n ...sharedProps,\n ...filterProps,\n };\n};\n\nexport const getPropsSensors = (options: GeneratePropsSensorOptions) => {\n return [\n ...getPropsSensorCustom(options),\n getPropsSensorCollection(options),\n getPropsSensorPublished(options),\n getPropsSensorInventoryAvailable(options),\n getPropsSensorSort(options),\n ].filter(Boolean);\n}\n\nexport const getPropsSensorCustom = (options: GeneratePropsSensorOptions) => {\n const sensors = options.provider.mode === \"collection\" ? options.config.sensors.collection : options.config.sensors.search;\n\n return sensors.map((sensor, index) => ({\n componentId: `SensorCustom_${index}`,\n customQuery: () => sensor,\n source: ReactiveComponent,\n }));\n}\n\nexport const getPropsSensorCollection = (options: GeneratePropsSensorOptions) => {\n if (options.provider.mode !== \"collection\") {\n return null;\n }\n \n return {\n componentId: \"SensorCollection\",\n customQuery: () => {\n if (options.provider.mode !== \"collection\") {\n return null;\n }\n\n const conditions: Array<unknown> = [];\n\n if (options.provider.market) {\n conditions.push({\n nested: {\n path: \"curations\",\n query: {\n bool: {\n should: [\n {\n nested: {\n path: \"collections\",\n query: {\n term: {\n \"collections.handle.keyword\": options.provider.collectionHandle,\n },\n },\n },\n },\n {\n nested: {\n path: \"curations\",\n query: {\n term: {\n \"curations.collectionHandle.keyword\":\n options.provider.collectionHandle,\n },\n },\n },\n },\n ],\n must: [{\n nested: {\n path: \"curations\",\n query: {\n term: {\n \"curations.markets.keyword\": options.provider.market,\n },\n },\n },\n }]\n },\n },\n },\n });\n }\n \n return {\n query: {\n bool: {\n should: [\n {\n nested: {\n path: \"collections\",\n query: {\n term: {\n \"collections.handle.keyword\": options.provider.collectionHandle,\n },\n },\n },\n },\n {\n nested: {\n path: \"curations\",\n query: {\n term: {\n \"curations.collectionHandle.keyword\":\n options.provider.collectionHandle,\n },\n },\n },\n },\n ],\n },\n },\n } \n },\n source: ReactiveComponent,\n };\n}\n\nexport const getPropsSensorPublished = (options: GeneratePropsSensorOptions) => {\n return {\n componentId: \"SensorPublished\",\n customQuery: () => {\n if (options.provider.market) {\n return {\n query: {\n bool: {\n must:[{\n match: {\n markets: options.provider.market,\n },\n },{\n match: {\n published: true,\n },\n }]\n },\n },\n };\n }\n\n return {\n query: {\n match: {\n published: true,\n },\n },\n }\n },\n source: ReactiveComponent,\n }\n}\n\nexport const getPropsSensorInventoryAvailable = (options: GeneratePropsSensorOptions) => {\n const filterStack = getFilterStack(options);\n\n if (!filterStack || \"show_all\" === filterStack.inventoryVisibility) {\n return null;\n }\n\n return {\n componentId: \"SensorInventoryAvailable\",\n customQuery: () => ({\n query: {\n bool: {\n should: [\n {\n bool: {\n must: [\n {\n term: {\n type: {\n value: \"product\",\n },\n },\n },\n {\n nested: {\n path: \"variants\",\n query: {\n match: { \"variants.available\": true },\n },\n },\n },\n ],\n },\n },\n ...(options.provider.mode === \"instant-search\"\n ? []\n : [\n {\n term: {\n type: {\n value: \"callout\",\n },\n },\n },\n ]),\n ],\n minimum_should_match: \"1\",\n },\n },\n }),\n source: ReactiveComponent,\n }\n}\n\nexport const getPropsSensorSort = (options: GeneratePropsSensorOptions & { searchTerm?: string; sortOption?: string; }) => {\n const curation = getCuration(options);\n const sortOption = getSortOption(options);\n\n const sort = generateSortSort({\n provider: options.provider,\n config: options.config,\n curation: curation,\n sortOption: sortOption,\n });\n const query = generateSortQuery({\n provider: options.provider,\n sortOption: sortOption,\n curation: curation,\n });\n\n return {\n componentId: \"SensorSort\",\n customQuery: () => ({\n sort,\n query,\n }),\n source: ReactiveComponent,\n }\n}\n\nexport const getPropsBase = (options: GeneratePropsBase) => {\n const props = {\n app: options.config.index,\n url: options.config.endpoint,\n credentials: options.provider.credentials,\n theme: options.provider.theme,\n initialState: options.provider.preload?.state,\n transformSort: () => {\n const sortSensor = getPropsSensorSort(options);\n const customQuery = sortSensor.customQuery();\n\n return customQuery.sort;\n },\n transformRequest: (request: any) => {\n if ((request.url as string).endsWith(\"?\")) {\n request.url = request.url.substring(0, request.url.length - 1);\n }\n return request;\n },\n transformResponse: async (response: any) => {\n // support filtering inside nested aggregations by moving the inner aggregation\n // up one level such that reactivesearch understands it\n //\n // see useReactiveFilterListProps > defaultQuery to see how a filter is being applied\n // to variant aggregations to ensure that only in stock sizes are displayed as filter\n // options, this involves a nested filter, which requires this fix\n //\n // https://github.com/appbaseio/reactivesearch/issues/1530\n if (\n response?.aggregations?.reactivesearch_nested?.reactify_nested_outer\n ) {\n response.aggregations.reactivesearch_nested =\n replaceDocCountWithParent(\n response?.aggregations?.reactivesearch_nested\n ?.reactify_nested_outer\n );\n }\n\n return response;\n },\n headers: {\n \"x-reactify-shop\": options.provider.shopifyPermanentDomain,\n \"x-reactify-mode\": options.provider.mode,\n \"x-reactify-client-id\": options.provider.clientId,\n \"x-reactify-client-version\": pkg.version,\n },\n };\n\n return props;\n}\n\nexport const getPropsResults = (options: GeneratePropsFilterGroupOptions & { scrollTarget?: string | Element | HTMLDocument; pageSize?: number; }) => {\n const includeFieldsProp = (() => {\n return [\n ...(options.provider.includeFields ?? []),\n \"id\",\n \"title\",\n \"type\",\n \"handle\",\n \"image\",\n \"variants.id\",\n \"variants.presentment_prices\",\n \"callout\",\n ];\n })();\n const excludeFieldsProp = (() => {\n return [...(options.provider.excludeFields ?? [])];\n })();\n\n return {\n size: options.pageSize ?? options.filterGroup?.pageSize ?? 20,\n URLParams: options.provider.mode === \"instant-search\" ? false : true,\n showLoader: false,\n dataField: \"title\",\n showResultStats: false,\n react: getPropsReact(options),\n includeFields: includeFieldsProp,\n excludeFields: excludeFieldsProp,\n scrollTarget: options.scrollTarget,\n componentId: \"page\", // this sets ?page= in the URL\n scrollOnChange: false, // @todo make this better, it's really janky when enabled\n pagination: options.filterGroup?.paginationType !== \"infinite_scroll\",\n infiniteScroll: options.filterGroup?.paginationType === \"infinite_scroll\",\n renderNoResults: () => null, // always use only render, otherwise both are shown\n source: ReactiveList,\n // defaultQuery: () => ({\n // sort: [\"_score\"],\n // query: {\n // match_all: {}\n // }\n // })\n }\n}\n\nexport const getPropsReact = (options: GeneratePropsFilterGroupOptions, filterGroupOption?: ConfigFilterFacet) => {\n const sensorIds = SENSOR_IDS(options.provider.mode, options.config);\n const reactProp = (() => {\n if (filterGroupOption?.settingsShowEmptyValues) {\n return {\n and: sensorIds,\n };\n }\n\n return {\n and: [\n ...sensorIds,\n ...(options.provider.additionalComponentIds ?? []),\n ...(options.filterGroup?.options.map((filter) => filter.handle) ?? []),\n ].filter((handle) => handle !== filterGroupOption?.handle),\n };\n })();\n\n return reactProp;\n};\n\nexport const getPropsShared = (options: GeneratePropsFilterGroupOptions, filterGroupOption: ConfigFilterFacet) => {\n const reactProp = getPropsReact(options, filterGroupOption);\n const nestedFieldProp = (() => {\n const nestedFields = [\"variants\"];\n const topField = filterGroupOption.field.split(\".\")[0];\n if (nestedFields.includes(topField)) {\n return topField;\n }\n return undefined;\n })();\n const customQueryProp = (() => {\n if (\n !filterGroupOption.settingsHideUnavailable ||\n !filterGroupOption.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 [filterGroupOption.field]: valueArray,\n },\n },\n ],\n },\n },\n },\n },\n };\n };\n })();\n const defaultQueryProp = (() => {\n if (!filterGroupOption.field.startsWith(\"variants.\")) {\n return undefined;\n }\n\n // override the aggregation query to filter the results by the variants.available attribute\n return () => {\n return {\n aggs: {\n reactivesearch_nested: {\n nested: { path: \"variants\" },\n aggs: {\n reactify_nested_outer: {\n filter: {\n bool: {\n minimum_should_match: 1,\n should: [\n {\n match: {\n \"variants.available\": \"true\",\n },\n },\n {\n match: {\n \"variants.available\": filterGroupOption.settingsHideUnavailable\n ? \"true\"\n : \"false\",\n },\n },\n ],\n },\n },\n aggs: {\n [filterGroupOption.field]: {\n terms: {\n field: filterGroupOption.field,\n size: 100,\n order: { _count: \"desc\" },\n },\n aggs: {\n parent_docs: { reverse_nested: {} },\n },\n },\n },\n },\n },\n },\n },\n };\n };\n })();\n const sourceProp = (() => {\n if (filterGroupOption.displayType === \"slider\") {\n return ReactiveComponent;\n }\n if (filterGroupOption.displayType === \"single\") {\n if (filterGroupOption.displayView === \"range\") {\n return SingleRange;\n }\n return SingleList;\n }\n if (filterGroupOption.displayType === \"multi\") {\n if (filterGroupOption.displayView === \"range\") {\n return MultiRange;\n }\n return MultiList;\n }\n \n return;\n })();\n\n return {\n URLParams: true,\n componentId: filterGroupOption.handle,\n dataField: filterGroupOption.field,\n filterLabel: filterGroupOption.name,\n nestedField: nestedFieldProp,\n customQuery: customQueryProp,\n defaultQuery: defaultQueryProp,\n source: sourceProp,\n react: reactProp,\n }\n};\n\nexport const getPropsFilterList = (filterGroupOption: ConfigFilterFacet) => {\n return {\n size: parseInt(filterGroupOption.displaySize) || undefined,\n queryFormat: filterGroupOption.settingsFilterLogic ?? \"or\",\n showFilter: filterGroupOption.settingsShowFilter ?? true,\n showLoadMore: filterGroupOption.settingsShowMore ?? false,\n showSearch: filterGroupOption.settingsShowSearch ?? false,\n showRadio: false,\n showCheckbox: false,\n };\n};\n\nexport const getPropsFilterRange = (filterGroupOption: ConfigFilterFacet) => {\n const data = filterGroupOption.displayRangeOptions?.map((option) => {\n const [label, start, end] = option.split(\":\");\n return {\n label: label,\n start: start ? parseInt(start) : 0,\n end: end ? parseInt(end) : Number.MAX_SAFE_INTEGER,\n };\n }) ?? [];\n\n return {\n queryFormat: filterGroupOption.settingsFilterLogic ?? \"or\",\n showFilter: filterGroupOption.settingsShowFilter ?? true,\n showRadio: false,\n showCheckbox: false,\n data: data,\n };\n};\n\nexport const getPropsFilterSlider = (filterGroupOption: ConfigFilterFacet, query: Record<string, string> | string, value?: [number, number] | []) => {\n const filterValue = value ?? JSON.parse(new URLSearchParams(typeof window === \"undefined\" ? query : window.location.search).get(filterGroupOption.handle) ?? \"[0,0]\");\n\n const defaultQuery = {\n aggs: {\n min: {\n min: {\n field: filterGroupOption.field,\n },\n },\n max: {\n max: {\n field: filterGroupOption.field,\n },\n },\n },\n };\n\n const customQuery = (() => {\n if (filterValue[0] === 0 && filterValue[1] === 0) {\n return;\n }\n\n return {\n query: {\n bool: {\n must: [\n {\n bool: {\n must: [\n {\n match: {\n published: true,\n },\n },\n {\n range: {\n [filterGroupOption.field]: {\n gte: filterValue[0],\n lte: filterValue[1],\n boost: 2,\n },\n },\n },\n ],\n },\n },\n ],\n },\n }\n };\n })();\n \n return {\n defaultQuery,\n customQuery,\n };\n};"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@usereactify/search",
3
3
  "description": "React UI library for Reactify Search",
4
- "version": "5.56.6",
4
+ "version": "5.56.8",
5
5
  "license": "MIT",
6
6
  "main": "dist/src/index.js",
7
7
  "types": "dist/src/index.d.ts",