@usereactify/search 5.53.0 → 5.55.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/package.json +2 -2
  3. package/dist/src/components/ClearAll/ClearAll.d.ts +1 -1
  4. package/dist/src/components/ClearAll/ClearAll.js +3 -2
  5. package/dist/src/components/ClearAll/ClearAll.js.map +1 -1
  6. package/dist/src/components/ClearAll/index.js +5 -1
  7. package/dist/src/components/ClearAll/index.js.map +1 -1
  8. package/dist/src/components/CustomComponent/CustomComponent.d.ts +1 -1
  9. package/dist/src/components/CustomComponent/index.js +5 -1
  10. package/dist/src/components/CustomComponent/index.js.map +1 -1
  11. package/dist/src/components/Example/ExampleClearAll.d.ts +1 -1
  12. package/dist/src/components/Example/ExampleFilterList.d.ts +1 -1
  13. package/dist/src/components/Example/ExampleFilterRange.d.ts +1 -1
  14. package/dist/src/components/Example/ExampleFilterSlider.d.ts +1 -1
  15. package/dist/src/components/Example/ExampleFiltersSelected.d.ts +1 -1
  16. package/dist/src/components/Example/ExampleHookUseResults.js.map +1 -1
  17. package/dist/src/components/Example/ExampleResultCardCallout.d.ts +1 -1
  18. package/dist/src/components/Example/ExampleResultCardProduct.d.ts +1 -1
  19. package/dist/src/components/Example/ExampleResultPaginationInfiniteScroll.d.ts +1 -1
  20. package/dist/src/components/Example/ExampleResultPaginationInfiniteScroll.js.map +1 -1
  21. package/dist/src/components/Example/ExampleResultPaginationLoadMore.d.ts +1 -1
  22. package/dist/src/components/Example/ExampleResultPaginationNextPrev.d.ts +1 -1
  23. package/dist/src/components/Example/ExampleResultPaginationNumbered.d.ts +1 -1
  24. package/dist/src/components/Example/ExampleSearch.d.ts +1 -1
  25. package/dist/src/components/Example/ExampleSortBy.d.ts +1 -1
  26. package/dist/src/components/Example/ExampleStats.d.ts +1 -1
  27. package/dist/src/components/Example/ExampleSuggestions.d.ts +1 -1
  28. package/dist/src/components/Example/index.js +5 -1
  29. package/dist/src/components/Example/index.js.map +1 -1
  30. package/dist/src/components/Filter/Filter.d.ts +1 -1
  31. package/dist/src/components/Filter/Filter.js.map +1 -1
  32. package/dist/src/components/Filter/Filters.d.ts +1 -1
  33. package/dist/src/components/Filter/FiltersSelected.d.ts +1 -1
  34. package/dist/src/components/Filter/FiltersSelected.js +3 -2
  35. package/dist/src/components/Filter/FiltersSelected.js.map +1 -1
  36. package/dist/src/components/Filter/index.js +5 -1
  37. package/dist/src/components/Filter/index.js.map +1 -1
  38. package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.d.ts +1 -1
  39. package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.js +5 -1
  40. package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.js.map +1 -1
  41. package/dist/src/components/ReactifySearchProvider/index.js +5 -1
  42. package/dist/src/components/ReactifySearchProvider/index.js.map +1 -1
  43. package/dist/src/components/Result/ResultCardCallout.d.ts +1 -1
  44. package/dist/src/components/Result/ResultCardCallout.js.map +1 -1
  45. package/dist/src/components/Result/ResultCardProduct.d.ts +1 -1
  46. package/dist/src/components/Result/ResultCardProduct.js.map +1 -1
  47. package/dist/src/components/Result/ResultPaginationInfiniteScroll.d.ts +1 -1
  48. package/dist/src/components/Result/ResultPaginationLoadMore.d.ts +1 -1
  49. package/dist/src/components/Result/ResultPaginationNextPrev.d.ts +1 -1
  50. package/dist/src/components/Result/ResultPaginationNumbered.d.ts +1 -1
  51. package/dist/src/components/Result/ResultPaginationNumbered.js.map +1 -1
  52. package/dist/src/components/Result/ResultStateProvider.d.ts +1 -1
  53. package/dist/src/components/Result/Results.d.ts +2 -2
  54. package/dist/src/components/Result/Results.js.map +1 -1
  55. package/dist/src/components/Result/index.js +5 -1
  56. package/dist/src/components/Result/index.js.map +1 -1
  57. package/dist/src/components/Search/Search.d.ts +1 -1
  58. package/dist/src/components/Search/index.js +5 -1
  59. package/dist/src/components/Search/index.js.map +1 -1
  60. package/dist/src/components/Sensor/SensorCollection.js.map +1 -1
  61. package/dist/src/components/Sensor/SensorInventoryAvailable.js.map +1 -1
  62. package/dist/src/components/Sensor/SensorPublished.js.map +1 -1
  63. package/dist/src/components/Sensor/SensorSearchTerm.js.map +1 -1
  64. package/dist/src/components/Sensor/SensorSort.js.map +1 -1
  65. package/dist/src/components/Sensor/Sensors.d.ts +1 -1
  66. package/dist/src/components/Sensor/Sensors.js.map +1 -1
  67. package/dist/src/components/Sensor/index.js +5 -1
  68. package/dist/src/components/Sensor/index.js.map +1 -1
  69. package/dist/src/components/SortBy/SortBy.d.ts +1 -1
  70. package/dist/src/components/SortBy/index.js +5 -1
  71. package/dist/src/components/SortBy/index.js.map +1 -1
  72. package/dist/src/components/Stats/Stats.d.ts +1 -1
  73. package/dist/src/components/Stats/index.js +5 -1
  74. package/dist/src/components/Stats/index.js.map +1 -1
  75. package/dist/src/components/Suggestions/Suggestions.d.ts +1 -1
  76. package/dist/src/components/Suggestions/Suggestions.js.map +1 -1
  77. package/dist/src/components/Suggestions/index.js +5 -1
  78. package/dist/src/components/Suggestions/index.js.map +1 -1
  79. package/dist/src/components/Utility/UtilityAuthenticatedReactiveBase.d.ts +1 -1
  80. package/dist/src/components/Utility/index.js +5 -1
  81. package/dist/src/components/Utility/index.js.map +1 -1
  82. package/dist/src/components/index.js +5 -1
  83. package/dist/src/components/index.js.map +1 -1
  84. package/dist/src/hooks/index.js +5 -1
  85. package/dist/src/hooks/index.js.map +1 -1
  86. package/dist/src/hooks/reactivesearch/index.js +5 -1
  87. package/dist/src/hooks/reactivesearch/index.js.map +1 -1
  88. package/dist/src/hooks/reactivesearch/useReactiveBaseProps.js.map +1 -1
  89. package/dist/src/hooks/useAnalytics.d.ts +1 -1
  90. package/dist/src/hooks/useAnalytics.js +2 -2
  91. package/dist/src/hooks/useAnalytics.js.map +1 -1
  92. package/dist/src/hooks/useConfig.d.ts +1 -1
  93. package/dist/src/hooks/useConfig.js +1 -12
  94. package/dist/src/hooks/useConfig.js.map +1 -1
  95. package/dist/src/hooks/useCuration.d.ts +1 -1
  96. package/dist/src/hooks/useCuration.js.map +1 -1
  97. package/dist/src/hooks/useDebugger.d.ts +1 -0
  98. package/dist/src/hooks/useDebugger.js +12 -1
  99. package/dist/src/hooks/useDebugger.js.map +1 -1
  100. package/dist/src/hooks/useFilterListProps.js.map +1 -1
  101. package/dist/src/hooks/useFilterRangeProps.js +4 -3
  102. package/dist/src/hooks/useFilterRangeProps.js.map +1 -1
  103. package/dist/src/hooks/useFilterSliderProps.js +4 -3
  104. package/dist/src/hooks/useFilterSliderProps.js.map +1 -1
  105. package/dist/src/hooks/useFilters.d.ts +2 -2
  106. package/dist/src/hooks/useFilters.js +0 -3
  107. package/dist/src/hooks/useFilters.js.map +1 -1
  108. package/dist/src/hooks/useFlags.js +2 -4
  109. package/dist/src/hooks/useFlags.js.map +1 -1
  110. package/dist/src/hooks/useIndices.d.ts +1 -1
  111. package/dist/src/hooks/useIndices.js.map +1 -1
  112. package/dist/src/hooks/usePagination.d.ts +3 -3
  113. package/dist/src/hooks/usePagination.js.map +1 -1
  114. package/dist/src/hooks/usePaginationLoadable.js.map +1 -1
  115. package/dist/src/hooks/useProductPrice.js.map +1 -1
  116. package/dist/src/hooks/useReactifySearchContext.d.ts +21 -21
  117. package/dist/src/hooks/useResults.d.ts +1 -9
  118. package/dist/src/hooks/useResults.js +9 -7
  119. package/dist/src/hooks/useResults.js.map +1 -1
  120. package/dist/src/hooks/useSearch.d.ts +10 -3
  121. package/dist/src/hooks/useSearch.js +11 -5
  122. package/dist/src/hooks/useSearch.js.map +1 -1
  123. package/dist/src/hooks/useSortBy.d.ts +2 -2
  124. package/dist/src/hooks/useSortBy.js +0 -2
  125. package/dist/src/hooks/useSortBy.js.map +1 -1
  126. package/dist/src/index.js +5 -1
  127. package/dist/src/index.js.map +1 -1
  128. package/dist/src/types/config.d.ts +10 -10
  129. package/dist/src/types/elastic.d.ts +6 -6
  130. package/dist/src/types/elastic.js +2 -2
  131. package/dist/src/types/elastic.js.map +1 -1
  132. package/dist/src/types/firestore.d.ts +6 -6
  133. package/dist/src/types/firestore.js +15 -15
  134. package/dist/src/types/firestore.js.map +1 -1
  135. package/dist/src/types/graphql.d.ts +3204 -3204
  136. package/dist/src/types/graphql.js +445 -445
  137. package/dist/src/types/graphql.js.map +1 -1
  138. package/dist/src/types/index.js +5 -1
  139. package/dist/src/types/index.js.map +1 -1
  140. package/dist/src/types/shopify.d.ts +14 -14
  141. package/dist/src/types/shopify.js +7 -7
  142. package/dist/src/types/shopify.js.map +1 -1
  143. package/dist/src/utility/config.js.map +1 -1
  144. package/dist/src/utility/curation.js.map +1 -1
  145. package/dist/src/utility/debug.d.ts +2 -1
  146. package/dist/src/utility/debug.js +1 -0
  147. package/dist/src/utility/debug.js.map +1 -1
  148. package/dist/src/utility/filters.js.map +1 -1
  149. package/dist/src/utility/index.js +5 -1
  150. package/dist/src/utility/index.js.map +1 -1
  151. package/dist/src/utility/liquid.js +3 -3
  152. package/dist/src/utility/liquid.js.map +1 -1
  153. package/dist/src/utility/props.d.ts +7 -8
  154. package/dist/src/utility/props.js +6 -6
  155. package/dist/src/utility/props.js.map +1 -1
  156. package/dist/src/utility/sortOption.js.map +1 -1
  157. package/package.json +2 -2
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyB;AACzB,4CAA0B;AAC1B,mDAAiC","sourcesContent":["export * from \"./config\";\nexport * from \"./elastic\";\nexport * from \"./reactivesearch\";"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,4CAA0B;AAC1B,mDAAiC","sourcesContent":["export * from \"./config\";\nexport * from \"./elastic\";\nexport * from \"./reactivesearch\";"]}
@@ -1,23 +1,23 @@
1
1
  import { ProductQuery, BulkQueryProductsWithDraftProductsQuery, ListAppSubscriptionsQuery, ListAppPurchaseOneTimeQuery, BulkQueryProductMarketsWithDraftProductsQuery } from "./graphql";
2
- export declare type ShopifyProductImage = {
2
+ export type ShopifyProductImage = {
3
3
  __typename: "Image";
4
4
  id?: string | null;
5
5
  altText?: string | null;
6
6
  originalSrc: string;
7
7
  };
8
- export declare type ShopifyProduct = NonNullable<ProductQuery["product"]>;
9
- export declare type ShopifyVariant = ShopifyProduct["variants"]["edges"][0]["node"];
10
- export declare type BulkShopifyProduct = BulkQueryProductsWithDraftProductsQuery["products"]["edges"][0]["node"];
11
- export declare type BulkShopifyProductMarket = BulkQueryProductMarketsWithDraftProductsQuery["products"]["edges"][0]["node"];
12
- export declare type BulkShopifyVariant = BulkShopifyProduct["variants"]["edges"][0]["node"];
13
- export declare type ShopifyExportProduct = Omit<BulkShopifyProduct, "variants" | "images" | "media" | "metafields">;
14
- export declare type ShopifyExportProductVariant = Omit<BulkShopifyVariant, "presentmentPrices">;
15
- export declare type ShopifyExportPresentmentPrice = BulkShopifyVariant["presentmentPrices"]["edges"][0]["node"] & {
8
+ export type ShopifyProduct = NonNullable<ProductQuery["product"]>;
9
+ export type ShopifyVariant = ShopifyProduct["variants"]["edges"][0]["node"];
10
+ export type BulkShopifyProduct = BulkQueryProductsWithDraftProductsQuery["products"]["edges"][0]["node"];
11
+ export type BulkShopifyProductMarket = BulkQueryProductMarketsWithDraftProductsQuery["products"]["edges"][0]["node"];
12
+ export type BulkShopifyVariant = BulkShopifyProduct["variants"]["edges"][0]["node"];
13
+ export type ShopifyExportProduct = Omit<BulkShopifyProduct, "variants" | "images" | "media" | "metafields">;
14
+ export type ShopifyExportProductVariant = Omit<BulkShopifyVariant, "presentmentPrices">;
15
+ export type ShopifyExportPresentmentPrice = BulkShopifyVariant["presentmentPrices"]["edges"][0]["node"] & {
16
16
  __parentId?: string;
17
17
  };
18
- export declare type ShopifyExportMedia = BulkShopifyProduct["media"]["edges"][0]["node"];
19
- export declare type ShopifyExportMetafield = BulkShopifyProduct["metafields"]["edges"][0]["node"];
20
- export declare type ShopifyExportPublication = BulkShopifyProductMarket["unpublishedPublications"]["edges"][0]["node"];
18
+ export type ShopifyExportMedia = BulkShopifyProduct["media"]["edges"][0]["node"];
19
+ export type ShopifyExportMetafield = BulkShopifyProduct["metafields"]["edges"][0]["node"];
20
+ export type ShopifyExportPublication = BulkShopifyProductMarket["unpublishedPublications"]["edges"][0]["node"];
21
21
  export interface ShopifyExportLine {
22
22
  __parentId?: string;
23
23
  __typename: string;
@@ -29,8 +29,8 @@ export declare function isMedia(exportLine: ShopifyExportLine): exportLine is Sh
29
29
  export declare function isPublication(exportLine: ShopifyExportLine): exportLine is ShopifyExportPublication;
30
30
  export declare function isMetafield(exportLine: ShopifyExportLine): exportLine is ShopifyExportMetafield;
31
31
  export { ProductStatus } from "./graphql";
32
- export declare type ShopifyAppSubscription = NonNullable<ListAppSubscriptionsQuery["currentAppInstallation"]["activeSubscriptions"][number]>;
33
- export declare type ShopifyAppPurchaseOneTime = NonNullable<ListAppPurchaseOneTimeQuery["currentAppInstallation"]["oneTimePurchases"]["edges"][number]["node"]>;
32
+ export type ShopifyAppSubscription = NonNullable<ListAppSubscriptionsQuery["currentAppInstallation"]["activeSubscriptions"][number]>;
33
+ export type ShopifyAppPurchaseOneTime = NonNullable<ListAppPurchaseOneTimeQuery["currentAppInstallation"]["oneTimePurchases"]["edges"][number]["node"]>;
34
34
  export interface ShopifyExportLine {
35
35
  __parentId?: string;
36
36
  __typename: string;
@@ -1,30 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProductStatus = exports.isMetafield = exports.isPublication = exports.isMedia = exports.isPresentmentPrice = exports.isProductVariant = exports.isProduct = void 0;
3
+ exports.ProductStatus = void 0;
4
+ exports.isProduct = isProduct;
5
+ exports.isProductVariant = isProductVariant;
6
+ exports.isPresentmentPrice = isPresentmentPrice;
7
+ exports.isMedia = isMedia;
8
+ exports.isPublication = isPublication;
9
+ exports.isMetafield = isMetafield;
4
10
  function isProduct(exportLine) {
5
11
  return "Product" === exportLine.__typename;
6
12
  }
7
- exports.isProduct = isProduct;
8
13
  function isProductVariant(exportLine) {
9
14
  return "ProductVariant" === exportLine.__typename;
10
15
  }
11
- exports.isProductVariant = isProductVariant;
12
16
  function isPresentmentPrice(exportLine) {
13
17
  return "ProductVariantPricePair" === exportLine.__typename;
14
18
  }
15
- exports.isPresentmentPrice = isPresentmentPrice;
16
19
  function isMedia(exportLine) {
17
20
  return ["Video", "Model3d", "MediaImage", "ExternalVideo"].includes(exportLine.__typename);
18
21
  }
19
- exports.isMedia = isMedia;
20
22
  function isPublication(exportLine) {
21
23
  return "Publication" === exportLine.__typename;
22
24
  }
23
- exports.isPublication = isPublication;
24
25
  function isMetafield(exportLine) {
25
26
  return "Metafield" === exportLine.__typename;
26
27
  }
27
- exports.isMetafield = isMetafield;
28
28
  var graphql_1 = require("./graphql");
29
29
  Object.defineProperty(exports, "ProductStatus", { enumerable: true, get: function () { return graphql_1.ProductStatus; } });
30
30
  //# sourceMappingURL=shopify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shopify.js","sourceRoot":"","sources":["../../../src/types/shopify.ts"],"names":[],"mappings":";;;AAsCA,SAAgB,SAAS,CAAC,UAA6B;IACrD,OAAO,SAAS,KAAK,UAAU,CAAC,UAAU,CAAC;AAC7C,CAAC;AAFD,8BAEC;AAED,SAAgB,gBAAgB,CAAC,UAA6B;IAC5D,OAAO,gBAAgB,KAAK,UAAU,CAAC,UAAU,CAAC;AACpD,CAAC;AAFD,4CAEC;AAED,SAAgB,kBAAkB,CAAC,UAA6B;IAC9D,OAAO,yBAAyB,KAAK,UAAU,CAAC,UAAU,CAAC;AAC7D,CAAC;AAFD,gDAEC;AAED,SAAgB,OAAO,CAAC,UAA6B;IACnD,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC7F,CAAC;AAFD,0BAEC;AAED,SAAgB,aAAa,CAAC,UAA6B;IACzD,OAAO,aAAa,KAAK,UAAU,CAAC,UAAU,CAAC;AACjD,CAAC;AAFD,sCAEC;AAED,SAAgB,WAAW,CAAC,UAA6B;IACvD,OAAO,WAAW,KAAK,UAAU,CAAC,UAAU,CAAC;AAC/C,CAAC;AAFD,kCAEC;AAED,qCAA0C;AAAjC,wGAAA,aAAa,OAAA","sourcesContent":["import {\n ProductQuery,\n BulkQueryProductsWithDraftProductsQuery,\n ListAppSubscriptionsQuery,\n ListAppPurchaseOneTimeQuery,\n BulkQueryProductMarketsWithDraftProductsQuery,\n} from \"./graphql\";\n\nexport type ShopifyProductImage = {\n __typename: \"Image\";\n id?: string | null;\n altText?: string | null;\n originalSrc: string;\n}\n\n// these are the types from the single \"product\" query, and is what we store in firestore\nexport type ShopifyProduct = NonNullable<ProductQuery[\"product\"]>\nexport type ShopifyVariant = ShopifyProduct[\"variants\"][\"edges\"][0][\"node\"]\n\n// these are the types from the bulk \"product\" query, which should match the above, but we\n// always type on the single query in firestore\nexport type BulkShopifyProduct = BulkQueryProductsWithDraftProductsQuery[\"products\"][\"edges\"][0][\"node\"]\nexport type BulkShopifyProductMarket = BulkQueryProductMarketsWithDraftProductsQuery[\"products\"][\"edges\"][0][\"node\"]\nexport type BulkShopifyVariant = BulkShopifyProduct[\"variants\"][\"edges\"][0][\"node\"]\n\n// these are types for the individual \"export lines\" which shopify exports in the bulk export file\nexport type ShopifyExportProduct = Omit<BulkShopifyProduct, \"variants\" | \"images\" | \"media\" | \"metafields\">\nexport type ShopifyExportProductVariant = Omit<BulkShopifyVariant, \"presentmentPrices\">\nexport type ShopifyExportPresentmentPrice = BulkShopifyVariant[\"presentmentPrices\"][\"edges\"][0][\"node\"] & { __parentId?: string }\nexport type ShopifyExportMedia = BulkShopifyProduct[\"media\"][\"edges\"][0][\"node\"]\nexport type ShopifyExportMetafield = BulkShopifyProduct[\"metafields\"][\"edges\"][0][\"node\"]\nexport type ShopifyExportPublication = BulkShopifyProductMarket[\"unpublishedPublications\"][\"edges\"][0][\"node\"]\n\nexport interface ShopifyExportLine {\n __parentId?: string\n __typename: string\n}\n\nexport function isProduct(exportLine: ShopifyExportLine): exportLine is ShopifyExportProduct {\n return \"Product\" === exportLine.__typename;\n}\n\nexport function isProductVariant(exportLine: ShopifyExportLine): exportLine is ShopifyExportProductVariant {\n return \"ProductVariant\" === exportLine.__typename;\n}\n\nexport function isPresentmentPrice(exportLine: ShopifyExportLine): exportLine is ShopifyExportPresentmentPrice {\n return \"ProductVariantPricePair\" === exportLine.__typename;\n}\n\nexport function isMedia(exportLine: ShopifyExportLine): exportLine is ShopifyExportMedia {\n return [\"Video\", \"Model3d\", \"MediaImage\", \"ExternalVideo\"].includes(exportLine.__typename);\n}\n\nexport function isPublication(exportLine: ShopifyExportLine): exportLine is ShopifyExportPublication {\n return \"Publication\" === exportLine.__typename;\n}\n\nexport function isMetafield(exportLine: ShopifyExportLine): exportLine is ShopifyExportMetafield {\n return \"Metafield\" === exportLine.__typename;\n}\n\nexport { ProductStatus } from \"./graphql\";\n\nexport type ShopifyAppSubscription = NonNullable<\n ListAppSubscriptionsQuery[\"currentAppInstallation\"][\"activeSubscriptions\"][number]\n>\nexport type ShopifyAppPurchaseOneTime = NonNullable<\n ListAppPurchaseOneTimeQuery[\"currentAppInstallation\"][\"oneTimePurchases\"][\"edges\"][number][\"node\"]\n>\n\nexport interface ShopifyExportLine {\n __parentId?: string\n __typename: string\n}\n"]}
1
+ {"version":3,"file":"shopify.js","sourceRoot":"","sources":["../../../src/types/shopify.ts"],"names":[],"mappings":";;;AAsCA,8BAEC;AAED,4CAEC;AAED,gDAEC;AAED,0BAEC;AAED,sCAEC;AAED,kCAEC;AAtBD,SAAgB,SAAS,CAAC,UAA6B;IACrD,OAAO,SAAS,KAAK,UAAU,CAAC,UAAU,CAAC;AAC7C,CAAC;AAED,SAAgB,gBAAgB,CAAC,UAA6B;IAC5D,OAAO,gBAAgB,KAAK,UAAU,CAAC,UAAU,CAAC;AACpD,CAAC;AAED,SAAgB,kBAAkB,CAAC,UAA6B;IAC9D,OAAO,yBAAyB,KAAK,UAAU,CAAC,UAAU,CAAC;AAC7D,CAAC;AAED,SAAgB,OAAO,CAAC,UAA6B;IACnD,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC7F,CAAC;AAED,SAAgB,aAAa,CAAC,UAA6B;IACzD,OAAO,aAAa,KAAK,UAAU,CAAC,UAAU,CAAC;AACjD,CAAC;AAED,SAAgB,WAAW,CAAC,UAA6B;IACvD,OAAO,WAAW,KAAK,UAAU,CAAC,UAAU,CAAC;AAC/C,CAAC;AAED,qCAA0C;AAAjC,wGAAA,aAAa,OAAA","sourcesContent":["import {\n ProductQuery,\n BulkQueryProductsWithDraftProductsQuery,\n ListAppSubscriptionsQuery,\n ListAppPurchaseOneTimeQuery,\n BulkQueryProductMarketsWithDraftProductsQuery,\n} from \"./graphql\";\n\nexport type ShopifyProductImage = {\n __typename: \"Image\";\n id?: string | null;\n altText?: string | null;\n originalSrc: string;\n}\n\n// these are the types from the single \"product\" query, and is what we store in firestore\nexport type ShopifyProduct = NonNullable<ProductQuery[\"product\"]>\nexport type ShopifyVariant = ShopifyProduct[\"variants\"][\"edges\"][0][\"node\"]\n\n// these are the types from the bulk \"product\" query, which should match the above, but we\n// always type on the single query in firestore\nexport type BulkShopifyProduct = BulkQueryProductsWithDraftProductsQuery[\"products\"][\"edges\"][0][\"node\"]\nexport type BulkShopifyProductMarket = BulkQueryProductMarketsWithDraftProductsQuery[\"products\"][\"edges\"][0][\"node\"]\nexport type BulkShopifyVariant = BulkShopifyProduct[\"variants\"][\"edges\"][0][\"node\"]\n\n// these are types for the individual \"export lines\" which shopify exports in the bulk export file\nexport type ShopifyExportProduct = Omit<BulkShopifyProduct, \"variants\" | \"images\" | \"media\" | \"metafields\">\nexport type ShopifyExportProductVariant = Omit<BulkShopifyVariant, \"presentmentPrices\">\nexport type ShopifyExportPresentmentPrice = BulkShopifyVariant[\"presentmentPrices\"][\"edges\"][0][\"node\"] & { __parentId?: string }\nexport type ShopifyExportMedia = BulkShopifyProduct[\"media\"][\"edges\"][0][\"node\"]\nexport type ShopifyExportMetafield = BulkShopifyProduct[\"metafields\"][\"edges\"][0][\"node\"]\nexport type ShopifyExportPublication = BulkShopifyProductMarket[\"unpublishedPublications\"][\"edges\"][0][\"node\"]\n\nexport interface ShopifyExportLine {\n __parentId?: string\n __typename: string\n}\n\nexport function isProduct(exportLine: ShopifyExportLine): exportLine is ShopifyExportProduct {\n return \"Product\" === exportLine.__typename;\n}\n\nexport function isProductVariant(exportLine: ShopifyExportLine): exportLine is ShopifyExportProductVariant {\n return \"ProductVariant\" === exportLine.__typename;\n}\n\nexport function isPresentmentPrice(exportLine: ShopifyExportLine): exportLine is ShopifyExportPresentmentPrice {\n return \"ProductVariantPricePair\" === exportLine.__typename;\n}\n\nexport function isMedia(exportLine: ShopifyExportLine): exportLine is ShopifyExportMedia {\n return [\"Video\", \"Model3d\", \"MediaImage\", \"ExternalVideo\"].includes(exportLine.__typename);\n}\n\nexport function isPublication(exportLine: ShopifyExportLine): exportLine is ShopifyExportPublication {\n return \"Publication\" === exportLine.__typename;\n}\n\nexport function isMetafield(exportLine: ShopifyExportLine): exportLine is ShopifyExportMetafield {\n return \"Metafield\" === exportLine.__typename;\n}\n\nexport { ProductStatus } from \"./graphql\";\n\nexport type ShopifyAppSubscription = NonNullable<\n ListAppSubscriptionsQuery[\"currentAppInstallation\"][\"activeSubscriptions\"][number]\n>\nexport type ShopifyAppPurchaseOneTime = NonNullable<\n ListAppPurchaseOneTimeQuery[\"currentAppInstallation\"][\"oneTimePurchases\"][\"edges\"][number][\"node\"]\n>\n\nexport interface ShopifyExportLine {\n __parentId?: string\n __typename: string\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/utility/config.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAEO,MAAM,kBAAkB,GAAG,GAAuB,EAAE;;IACzD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO;KACR;IAED,MAAM,eAAe,GAEV,IAAI,CAAC,KAAK,CACnB,MAAA,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,wBAAwB,CAAC,mCAAI,MAAM,CAClE,CAAC;IAEF,IAAI,eAAe,EAAE;QACnB,IAAI,CAAA,MAAA,eAAe,CAAC,MAAM,CAAC,KAAK,0CAAE,OAAO,MAAK,KAAK,EAAE;YACnD,OAAO;SACR;QAED,OAAO,eAAe,CAAC,MAAM,CAAC;KAC/B;IAED,OAAO;AACT,CAAC,CAAC;AApBW,QAAA,kBAAkB,sBAoB7B;AAEK,MAAM,oBAAoB,GAAG,CAAO,sBAA8B,EAA+B,EAAE;;IACxG,IAAI,iBAAqC,CAAC;IAC1C,IAAI;QACF,iBAAiB,GAAG,MAAA,CAAC,MAAM,KAAK,CAC9B,wCAAwC,sBAAsB,EAAE,CACjE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,0CAAE,IAAI,CAAC;KAE9C;IAAC,OAAO,KAAK,EAAE;QACd,iBAAiB,GAAG,MAAA,CAAC,MAAM,KAAK,CAC9B,wCAAwC,sBAAsB,EAAE,CACjE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,0CAAE,IAAI,CAAC;KAC9C;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAA,CAAC;AAdW,QAAA,oBAAoB,wBAc/B;AAEK,MAAM,SAAS,GAAG,CAAO,sBAA8B,EAAmB,EAAE;IACjF,MAAM,eAAe,GAAG,IAAA,0BAAkB,GAAE,CAAC;IAC7C,IAAI,eAAe,EAAE;QACnB,OAAO,eAAe,CAAC;KACxB;IAED,MAAM,iBAAiB,GAAG,MAAM,IAAA,4BAAoB,EAAC,sBAAsB,CAAC,CAAC;IAE7E,IAAI,CAAC,iBAAiB,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;KAC1C;IAED,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,MAAM,CAAC,cAAc,CAAC,OAAO,CAC3B,wBAAwB,EACxB,IAAI,CAAC,SAAS,CAAC;YACb,MAAM,EAAE,iBAAiB;SAC1B,CAAC,CACH,CAAC;KACH;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAA,CAAC;AAtBW,QAAA,SAAS,aAsBpB","sourcesContent":["import { Config } from \"../types/config\";\n\nexport const getConfigFromCache = (): Config | undefined => {\n if (typeof window === \"undefined\") {\n return;\n }\n\n const configFromCache: {\n config: Config;\n } | null = JSON.parse(\n window.sessionStorage.getItem(\"reactify-search:config\") ?? \"null\"\n );\n\n if (configFromCache) {\n if (configFromCache.config.cache?.enabled === false) {\n return;\n }\n\n return configFromCache.config;\n }\n\n return;\n};\n\nexport const getConfigFromNetwork = async (shopifyPermanentDomain: string): Promise<Config | undefined> => {\n let configFromNetwork: Config | undefined;\n try {\n configFromNetwork = (await fetch(\n `https://config.usereactify.com/?shop=${shopifyPermanentDomain}`\n ).then((response) => response.json()))?.body;\n \n } catch (error) {\n configFromNetwork = (await fetch(\n `https://config.usereactify.com/?shop=${shopifyPermanentDomain}`\n ).then((response) => response.json()))?.body;\n }\n\n return configFromNetwork;\n};\n\nexport const getConfig = async (shopifyPermanentDomain: string): Promise<Config> => {\n const configFromCache = getConfigFromCache();\n if (configFromCache) {\n return configFromCache;\n }\n\n const configFromNetwork = await getConfigFromNetwork(shopifyPermanentDomain);\n\n if (!configFromNetwork) {\n throw new Error(\"Unable to load config\");\n }\n\n if (typeof window !== \"undefined\") {\n window.sessionStorage.setItem(\n \"reactify-search:config\",\n JSON.stringify({\n config: configFromNetwork,\n })\n );\n }\n\n return configFromNetwork;\n};\n"]}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/utility/config.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAEO,MAAM,kBAAkB,GAAG,GAAuB,EAAE;;IACzD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAEV,IAAI,CAAC,KAAK,CACnB,MAAA,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,wBAAwB,CAAC,mCAAI,MAAM,CAClE,CAAC;IAEF,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,CAAA,MAAA,eAAe,CAAC,MAAM,CAAC,KAAK,0CAAE,OAAO,MAAK,KAAK,EAAE,CAAC;YACpD,OAAO;QACT,CAAC;QAED,OAAO,eAAe,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,OAAO;AACT,CAAC,CAAC;AApBW,QAAA,kBAAkB,sBAoB7B;AAEK,MAAM,oBAAoB,GAAG,CAAO,sBAA8B,EAA+B,EAAE;;IACxG,IAAI,iBAAqC,CAAC;IAC1C,IAAI,CAAC;QACH,iBAAiB,GAAG,MAAA,CAAC,MAAM,KAAK,CAC9B,wCAAwC,sBAAsB,EAAE,CACjE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,0CAAE,IAAI,CAAC;IAE/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,iBAAiB,GAAG,MAAA,CAAC,MAAM,KAAK,CAC9B,wCAAwC,sBAAsB,EAAE,CACjE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,0CAAE,IAAI,CAAC;IAC/C,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAA,CAAC;AAdW,QAAA,oBAAoB,wBAc/B;AAEK,MAAM,SAAS,GAAG,CAAO,sBAA8B,EAAmB,EAAE;IACjF,MAAM,eAAe,GAAG,IAAA,0BAAkB,GAAE,CAAC;IAC7C,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,IAAA,4BAAoB,EAAC,sBAAsB,CAAC,CAAC;IAE7E,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,cAAc,CAAC,OAAO,CAC3B,wBAAwB,EACxB,IAAI,CAAC,SAAS,CAAC;YACb,MAAM,EAAE,iBAAiB;SAC1B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAA,CAAC;AAtBW,QAAA,SAAS,aAsBpB","sourcesContent":["import { Config } from \"../types/config\";\n\nexport const getConfigFromCache = (): Config | undefined => {\n if (typeof window === \"undefined\") {\n return;\n }\n\n const configFromCache: {\n config: Config;\n } | null = JSON.parse(\n window.sessionStorage.getItem(\"reactify-search:config\") ?? \"null\"\n );\n\n if (configFromCache) {\n if (configFromCache.config.cache?.enabled === false) {\n return;\n }\n\n return configFromCache.config;\n }\n\n return;\n};\n\nexport const getConfigFromNetwork = async (shopifyPermanentDomain: string): Promise<Config | undefined> => {\n let configFromNetwork: Config | undefined;\n try {\n configFromNetwork = (await fetch(\n `https://config.usereactify.com/?shop=${shopifyPermanentDomain}`\n ).then((response) => response.json()))?.body;\n \n } catch (error) {\n configFromNetwork = (await fetch(\n `https://config.usereactify.com/?shop=${shopifyPermanentDomain}`\n ).then((response) => response.json()))?.body;\n }\n\n return configFromNetwork;\n};\n\nexport const getConfig = async (shopifyPermanentDomain: string): Promise<Config> => {\n const configFromCache = getConfigFromCache();\n if (configFromCache) {\n return configFromCache;\n }\n\n const configFromNetwork = await getConfigFromNetwork(shopifyPermanentDomain);\n\n if (!configFromNetwork) {\n throw new Error(\"Unable to load config\");\n }\n\n if (typeof window !== \"undefined\") {\n window.sessionStorage.setItem(\n \"reactify-search:config\",\n JSON.stringify({\n config: configFromNetwork,\n })\n );\n }\n\n return configFromNetwork;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"curation.js","sourceRoot":"","sources":["../../../src/utility/curation.ts"],"names":[],"mappings":"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","sourcesContent":["import { ReactifySearchProviderProps } from \"../components\";\nimport { Config, ConfigCuration } from \"../types\";\n\nexport const getCuration = (options: {\n provider: ReactifySearchProviderProps;\n config: Config;\n searchTerm?: string;\n}) => {\n const handleOrSearchTerm = options.provider.mode === \"collection\" ? options.provider.collectionHandle : options.searchTerm ?? \"\";\n\n const normalisedHandleOrSearchTerm = handleOrSearchTerm\n .toLowerCase()\n .trim();\n\n const globalCuration = options.config.curations.find((curation) => {\n if (options.provider.mode === \"search\") {\n if (options.provider.market) {\n return curation.id === `global_${options.provider.market}_search`;\n } else {\n return curation.id === \"global_search\";\n }\n }\n if (options.provider.mode === \"instant-search\") {\n if (options.provider.market) {\n return curation.id === `global_${options.provider.market}_search`;\n } else {\n return curation.id === \"global_search\";\n }\n }\n if (options.provider.mode === \"collection\") {\n if (options.provider.market) {\n return curation.id === `global_${options.provider.market}_collection`;\n } else {\n return curation.id === \"global_collection\";\n }\n }\n return false;\n });\n\n const curation = options.config.curations.find((curation) => {\n if (options.provider.market) {\n if (curation.markets && !curation.markets.includes(options.provider.market)) {\n return false;\n }\n }\n\n const normalisedSearchTerm = curation.searchTerm?.toLowerCase().trim();\n const normalisedCollectionHandle = curation.collectionHandle\n ?.toLowerCase()\n .trim();\n\n if (\"instant-search\" === options.provider.mode) {\n return (\n \"search\" === curation.type &&\n normalisedHandleOrSearchTerm === normalisedSearchTerm\n );\n }\n\n if (\"search\" === options.provider.mode) {\n return (\n \"search\" === curation.type &&\n normalisedHandleOrSearchTerm === normalisedSearchTerm\n );\n }\n\n if (\"collection\" === options.provider.mode) {\n return (\n \"collection\" === curation.type &&\n normalisedHandleOrSearchTerm === normalisedCollectionHandle\n );\n }\n\n return false;\n });\n\n const addGlobalBoosting = (curation: ConfigCuration) => {\n if (!globalCuration) {\n return curation;\n }\n\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) {\n return curation;\n }\n\n const curationWithGlobalBoosting = {\n ...curation,\n boosting: globalCuration.boosting,\n } as ConfigCuration;\n\n return curationWithGlobalBoosting;\n };\n\n if (curation) {\n return addGlobalBoosting(curation);\n }\n\n if (globalCuration) {\n return globalCuration;\n }\n\n return undefined;\n}"]}
1
+ {"version":3,"file":"curation.js","sourceRoot":"","sources":["../../../src/utility/curation.ts"],"names":[],"mappings":"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","sourcesContent":["import { ReactifySearchProviderProps } from \"../components\";\nimport { Config, ConfigCuration } from \"../types\";\n\nexport const getCuration = (options: {\n provider: ReactifySearchProviderProps;\n config: Config;\n searchTerm?: string;\n}) => {\n const handleOrSearchTerm = options.provider.mode === \"collection\" ? options.provider.collectionHandle : options.searchTerm ?? \"\";\n\n const normalisedHandleOrSearchTerm = handleOrSearchTerm\n .toLowerCase()\n .trim();\n\n const globalCuration = options.config.curations.find((curation) => {\n if (options.provider.mode === \"search\") {\n if (options.provider.market) {\n return curation.id === `global_${options.provider.market}_search`;\n } else {\n return curation.id === \"global_search\";\n }\n }\n if (options.provider.mode === \"instant-search\") {\n if (options.provider.market) {\n return curation.id === `global_${options.provider.market}_search`;\n } else {\n return curation.id === \"global_search\";\n }\n }\n if (options.provider.mode === \"collection\") {\n if (options.provider.market) {\n return curation.id === `global_${options.provider.market}_collection`;\n } else {\n return curation.id === \"global_collection\";\n }\n }\n return false;\n });\n\n const curation = options.config.curations.find((curation) => {\n if (options.provider.market) {\n if (curation.markets && !curation.markets.includes(options.provider.market)) {\n return false;\n }\n }\n\n const normalisedSearchTerm = curation.searchTerm?.toLowerCase().trim();\n const normalisedCollectionHandle = curation.collectionHandle\n ?.toLowerCase()\n .trim();\n\n if (\"instant-search\" === options.provider.mode) {\n return (\n \"search\" === curation.type &&\n normalisedHandleOrSearchTerm === normalisedSearchTerm\n );\n }\n\n if (\"search\" === options.provider.mode) {\n return (\n \"search\" === curation.type &&\n normalisedHandleOrSearchTerm === normalisedSearchTerm\n );\n }\n\n if (\"collection\" === options.provider.mode) {\n return (\n \"collection\" === curation.type &&\n normalisedHandleOrSearchTerm === normalisedCollectionHandle\n );\n }\n\n return false;\n });\n\n const addGlobalBoosting = (curation: ConfigCuration) => {\n if (!globalCuration) {\n return curation;\n }\n\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) {\n return curation;\n }\n\n const curationWithGlobalBoosting = {\n ...curation,\n boosting: globalCuration.boosting,\n } as ConfigCuration;\n\n return curationWithGlobalBoosting;\n };\n\n if (curation) {\n return addGlobalBoosting(curation);\n }\n\n if (globalCuration) {\n return globalCuration;\n }\n\n return undefined;\n}"]}
@@ -2,6 +2,7 @@ import Debug from "debug";
2
2
  export declare const debuggers: Record<string, Debug.Debugger>;
3
3
  export declare const debug: {
4
4
  namespace: string;
5
- log: (namespace: string, formatter?: string | undefined, ...args: Array<any>) => void;
5
+ log: (namespace: string, formatter?: string, ...args: Array<any>) => void;
6
6
  hook: (namespace: string, message: string, value: unknown) => void;
7
+ hookOnce: (namespace: string, message: string, value: unknown) => void;
7
8
  };
@@ -16,5 +16,6 @@ exports.debug = {
16
16
  exports.debuggers[namespace](formatter, ...args);
17
17
  },
18
18
  hook: hooks_1.useDebugger,
19
+ hookOnce: hooks_1.useDebuggerOnce
19
20
  };
20
21
  //# sourceMappingURL=debug.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/utility/debug.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,oCAAuC;AAE1B,QAAA,SAAS,GAAmC,EAAE,CAAC;AAE/C,QAAA,KAAK,GAAG;IACnB,SAAS,EAAE,iBAAiB;IAC5B,GAAG,EAAE,CAAC,SAAiB,EAAE,SAAkB,EAAE,GAAG,IAAgB,EAAE,EAAE;QAClE,IAAI,CAAC,iBAAS,CAAC,SAAS,CAAC,EAAE;YACzB,iBAAS,CAAC,SAAS,CAAC,GAAG,IAAA,eAAK,EAAC,GAAG,aAAK,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;SACjE;QAED,iBAAS,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,EAAE,mBAAW;CAClB,CAAC","sourcesContent":["import Debug from \"debug\";\n\nimport { useDebugger } from \"../hooks\";\n\nexport const debuggers: Record<string, Debug.Debugger> = {};\n\nexport const debug = {\n namespace: \"reactify-search\",\n log: (namespace: string, formatter?: string, ...args: Array<any>) => {\n if (!debuggers[namespace]) {\n debuggers[namespace] = Debug(`${debug.namespace}:${namespace}`);\n }\n\n debuggers[namespace](formatter, ...args);\n },\n hook: useDebugger,\n};\n"]}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/utility/debug.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,oCAAwD;AAE3C,QAAA,SAAS,GAAmC,EAAE,CAAC;AAE/C,QAAA,KAAK,GAAG;IACnB,SAAS,EAAE,iBAAiB;IAC5B,GAAG,EAAE,CAAC,SAAiB,EAAE,SAAkB,EAAE,GAAG,IAAgB,EAAE,EAAE;QAClE,IAAI,CAAC,iBAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,iBAAS,CAAC,SAAS,CAAC,GAAG,IAAA,eAAK,EAAC,GAAG,aAAK,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,iBAAS,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,EAAE,mBAAW;IACjB,QAAQ,EAAE,uBAAe;CAC1B,CAAC","sourcesContent":["import Debug from \"debug\";\n\nimport { useDebugger, useDebuggerOnce } from \"../hooks\";\n\nexport const debuggers: Record<string, Debug.Debugger> = {};\n\nexport const debug = {\n namespace: \"reactify-search\",\n log: (namespace: string, formatter?: string, ...args: Array<any>) => {\n if (!debuggers[namespace]) {\n debuggers[namespace] = Debug(`${debug.namespace}:${namespace}`);\n }\n\n debuggers[namespace](formatter, ...args);\n },\n hook: useDebugger,\n hookOnce: useDebuggerOnce\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../src/utility/filters.ts"],"names":[],"mappings":";;;AAGO,MAAM,cAAc,GAAG,CAAC,OAG9B,EAAE,EAAE;IACH,yBAAyB;IACzB,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CACpD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CAAC,IAAI,CAClD,CAAC;IAEF,4CAA4C;IAC5C,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE;QAClC,MAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAC3C,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,KAAK,WAAW,CAAC,MAAM,CACvE,CAAC;QACF,IAAI,eAAe,EAAE;YACnB,OAAO,eAAe,CAAC;SACxB;KACF;IAED,gDAAgD;IAChD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,EAAE;QAC/E,MAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,WAC5D,OAAA,MAAA,WAAW,CAAC,WAAW,0CAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA,EAAA,CACnH,CAAC;QACF,IAAI,eAAe,EAAE;YACnB,OAAO,eAAe,CAAC;SACxB;KACF;IAED,sCAAsC;IACtC,IAAI,eAAe,GAAG,gBAAgB,CAAC,IAAI,CACzC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS,CAClD,CAAC;IACF,IAAI,eAAe,EAAE;QACnB,OAAO,eAAe,CAAC;KACxB;IAED,0CAA0C;IAC1C,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAC3C,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS,CAClD,CAAC;IACF,IAAI,eAAe,EAAE;QACnB,OAAO,eAAe,CAAC;KACxB;IAED,+CAA+C;IAC/C,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE5C,OAAO,eAAe,CAAC;AACzB,CAAC,CAAA;AAjDY,QAAA,cAAc,kBAiD1B","sourcesContent":["import { ReactifySearchProviderProps } from \"../components\";\nimport { Config } from \"../types\";\n\nexport const getFilterStack = (options: {\n provider: ReactifySearchProviderProps;\n config: Config;\n}) => {\n // select filters by type\n const matchingFilterss = options.config.filters.filter(\n (filter) => filter.type === options.provider.mode\n );\n\n // select filter stack by handle if provided\n if (options.provider.filtersHandle) {\n const matchingFilters = matchingFilterss.find(\n (filterStack) => options.provider.filtersHandle === filterStack.handle\n );\n if (matchingFilters) {\n return matchingFilters;\n }\n }\n\n // select filter stack by collection if provided\n if (options.provider.mode === \"collection\" && options.provider.collectionHandle) {\n const matchingFilters = matchingFilterss.find((filterStack) =>\n filterStack.collections?.includes(options.provider.mode === \"collection\" ? options.provider.collectionHandle : \"\")\n );\n if (matchingFilters) {\n return matchingFilters;\n }\n }\n\n // select filter with \"default\" handle\n let matchingFilters = matchingFilterss.find(\n (filterStack) => filterStack.handle === \"default\"\n );\n if (matchingFilters) {\n return matchingFilters;\n }\n\n // select any filter with \"default\" handle\n matchingFilters = options.config.filters.find(\n (filterStack) => filterStack.handle === \"default\"\n );\n if (matchingFilters) {\n return matchingFilters;\n }\n\n // select any available filter as a last resort\n matchingFilters = options.config.filters[0];\n\n return matchingFilters;\n}"]}
1
+ {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../src/utility/filters.ts"],"names":[],"mappings":";;;AAGO,MAAM,cAAc,GAAG,CAAC,OAG9B,EAAE,EAAE;IACH,yBAAyB;IACzB,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CACpD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CAAC,IAAI,CAClD,CAAC;IAEF,4CAA4C;IAC5C,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACnC,MAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAC3C,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,KAAK,WAAW,CAAC,MAAM,CACvE,CAAC;QACF,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC;QACzB,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAChF,MAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,WAC5D,OAAA,MAAA,WAAW,CAAC,WAAW,0CAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA,EAAA,CACnH,CAAC;QACF,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC;QACzB,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,eAAe,GAAG,gBAAgB,CAAC,IAAI,CACzC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS,CAClD,CAAC;IACF,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,0CAA0C;IAC1C,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAC3C,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS,CAClD,CAAC;IACF,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,+CAA+C;IAC/C,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE5C,OAAO,eAAe,CAAC;AACzB,CAAC,CAAA;AAjDY,QAAA,cAAc,kBAiD1B","sourcesContent":["import { ReactifySearchProviderProps } from \"../components\";\nimport { Config } from \"../types\";\n\nexport const getFilterStack = (options: {\n provider: ReactifySearchProviderProps;\n config: Config;\n}) => {\n // select filters by type\n const matchingFilterss = options.config.filters.filter(\n (filter) => filter.type === options.provider.mode\n );\n\n // select filter stack by handle if provided\n if (options.provider.filtersHandle) {\n const matchingFilters = matchingFilterss.find(\n (filterStack) => options.provider.filtersHandle === filterStack.handle\n );\n if (matchingFilters) {\n return matchingFilters;\n }\n }\n\n // select filter stack by collection if provided\n if (options.provider.mode === \"collection\" && options.provider.collectionHandle) {\n const matchingFilters = matchingFilterss.find((filterStack) =>\n filterStack.collections?.includes(options.provider.mode === \"collection\" ? options.provider.collectionHandle : \"\")\n );\n if (matchingFilters) {\n return matchingFilters;\n }\n }\n\n // select filter with \"default\" handle\n let matchingFilters = matchingFilterss.find(\n (filterStack) => filterStack.handle === \"default\"\n );\n if (matchingFilters) {\n return matchingFilters;\n }\n\n // select any filter with \"default\" handle\n matchingFilters = options.config.filters.find(\n (filterStack) => filterStack.handle === \"default\"\n );\n if (matchingFilters) {\n return matchingFilters;\n }\n\n // select any available filter as a last resort\n matchingFilters = options.config.filters[0];\n\n return matchingFilters;\n}"]}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utility/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAwB;AACxB,2CAAyB","sourcesContent":["export * from \"./debug\";\nexport * from \"./liquid\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utility/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,2CAAyB","sourcesContent":["export * from \"./debug\";\nexport * from \"./liquid\";\n"]}
@@ -11,12 +11,12 @@ class ReactifySearchLiquidFactory {
11
11
  this.providerProps = providerProps;
12
12
  }
13
13
  getProvider() {
14
- var _a, _b, _c, _d, _e;
15
- const shopifyPermanentDomain = (_a = this.providerProps.shopifyPermanentDomain) !== null && _a !== void 0 ? _a : (_c = (_b = window) === null || _b === void 0 ? void 0 : _b.Shopify) === null || _c === void 0 ? void 0 : _c.shop;
14
+ var _a, _b, _c, _d;
15
+ const shopifyPermanentDomain = (_a = this.providerProps.shopifyPermanentDomain) !== null && _a !== void 0 ? _a : (_b = window === null || window === void 0 ? void 0 : window.Shopify) === null || _b === void 0 ? void 0 : _b.shop;
16
16
  if (!shopifyPermanentDomain) {
17
17
  throw new Error("Cannot determine shopifyPermanentDomain from window");
18
18
  }
19
- const collectionHandle = (_d = this.providerProps.collectionHandle) !== null && _d !== void 0 ? _d : (_e = window.location.pathname.split("/")) === null || _e === void 0 ? void 0 : _e[2];
19
+ const collectionHandle = (_c = this.providerProps.collectionHandle) !== null && _c !== void 0 ? _c : (_d = window.location.pathname.split("/")) === null || _d === void 0 ? void 0 : _d[2];
20
20
  if (this.providerProps.mode === "collection" && !collectionHandle) {
21
21
  throw new Error("Cannot determine collectionHandle from URL");
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"liquid.js","sourceRoot":"","sources":["../../../src/utility/liquid.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,8CAGuB;AAEvB,MAAa,2BAA2B;IACtC,YACS,aAMN;QANM,kBAAa,GAAb,aAAa,CAMnB;IACA,CAAC;IAEJ,WAAW;;QACT,MAAM,sBAAsB,GAC1B,MAAA,IAAI,CAAC,aAAa,CAAC,sBAAsB,mCACzC,MAAA,MAAC,MAAc,0CAAE,OAAO,0CAAE,IAAI,CAAC;QAEjC,IAAI,CAAC,sBAAsB,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACxE;QAED,MAAM,gBAAgB,GACpB,MAAA,IAAI,CAAC,aAAa,CAAC,gBAAgB,mCACnC,MAAA,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,0CAAG,CAAC,CAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,gBAAgB,EAAE;YACjE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC/D;QAED,MAAM,QAAQ,GAET,CAAC,KAAK,EAAE,EAAE,CAAC,CACd,8BAAC,mCAAsB,oBACjB,IAAI,CAAC,aAAa,IACtB,sBAAsB,EAAE,sBAAsB,EAC9C,gBAAgB,EAAE,gBAAgB,KAEjC,KAAK,CAAC,QAAQ,CACQ,CAC1B,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,YAAY;QACV,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CACvC,kBAAkB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAC5C,CAAC;QACF,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,IAAI,KAAK,CACb,kDAAkD,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAC7E,CAAC;SACH;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;SAClE;QAED,IAAI;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAE5C,OAAO,IAAI,CAAC;SACb;QAAC,WAAM;YACN,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;SACH;IACH,CAAC;CACF;AAxED,kEAwEC","sourcesContent":["import React from \"react\";\n\nimport {\n ReactifySearchProvider,\n ReactifySearchProviderProps,\n} from \"../components\";\n\nexport class ReactifySearchLiquidFactory {\n constructor(\n public providerProps: Omit<\n ReactifySearchProviderProps,\n \"shopifyPermanentDomain\"\n > & {\n shopifyPermanentDomain?: string;\n collectionHandle?: string;\n }\n ) {}\n\n getProvider() {\n const shopifyPermanentDomain =\n this.providerProps.shopifyPermanentDomain ??\n (window as any)?.Shopify?.shop;\n\n if (!shopifyPermanentDomain) {\n throw new Error(\"Cannot determine shopifyPermanentDomain from window\");\n }\n\n const collectionHandle =\n this.providerProps.collectionHandle ??\n window.location.pathname.split(\"/\")?.[2];\n\n if (this.providerProps.mode === \"collection\" && !collectionHandle) {\n throw new Error(\"Cannot determine collectionHandle from URL\");\n }\n\n const provider: React.FC<{\n children?: React.ReactNode | undefined;\n }> = (props) => (\n <ReactifySearchProvider\n {...this.providerProps}\n shopifyPermanentDomain={shopifyPermanentDomain}\n collectionHandle={collectionHandle}\n >\n {props.children}\n </ReactifySearchProvider>\n );\n\n return provider;\n }\n\n getMountNode() {\n const mountNode = document.getElementById(\n `reactify-mount-${this.providerProps.mode}`\n );\n if (!mountNode) {\n throw new Error(\n `Cannot find mount node with ID \"reactify-mount-${this.providerProps.mode}\"`\n );\n }\n\n return mountNode;\n }\n\n getData() {\n const dataNode = document.getElementById(\"reactify-data\");\n if (!dataNode) {\n throw new Error(`Cannot find data node with ID \"reactify-data\"`);\n }\n\n try {\n const data = JSON.parse(dataNode.innerHTML);\n\n return data;\n } catch {\n throw new Error(\n `Cannot parse the data node with ID \"reactify-data\", check your liquid formatting`\n );\n }\n }\n}\n"]}
1
+ {"version":3,"file":"liquid.js","sourceRoot":"","sources":["../../../src/utility/liquid.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,8CAGuB;AAEvB,MAAa,2BAA2B;IACtC,YACS,aAMN;QANM,kBAAa,GAAb,aAAa,CAMnB;IACA,CAAC;IAEJ,WAAW;;QACT,MAAM,sBAAsB,GAC1B,MAAA,IAAI,CAAC,aAAa,CAAC,sBAAsB,mCACzC,MAAC,MAAc,aAAd,MAAM,uBAAN,MAAM,CAAU,OAAO,0CAAE,IAAI,CAAC;QAEjC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,gBAAgB,GACpB,MAAA,IAAI,CAAC,aAAa,CAAC,gBAAgB,mCACnC,MAAA,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,0CAAG,CAAC,CAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,QAAQ,GAET,CAAC,KAAK,EAAE,EAAE,CAAC,CACd,8BAAC,mCAAsB,oBACjB,IAAI,CAAC,aAAa,IACtB,sBAAsB,EAAE,sBAAsB,EAC9C,gBAAgB,EAAE,gBAAgB,KAEjC,KAAK,CAAC,QAAQ,CACQ,CAC1B,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,YAAY;QACV,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CACvC,kBAAkB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAC5C,CAAC;QACF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,kDAAkD,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAC7E,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAE5C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,WAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAxED,kEAwEC","sourcesContent":["import React from \"react\";\n\nimport {\n ReactifySearchProvider,\n ReactifySearchProviderProps,\n} from \"../components\";\n\nexport class ReactifySearchLiquidFactory {\n constructor(\n public providerProps: Omit<\n ReactifySearchProviderProps,\n \"shopifyPermanentDomain\"\n > & {\n shopifyPermanentDomain?: string;\n collectionHandle?: string;\n }\n ) {}\n\n getProvider() {\n const shopifyPermanentDomain =\n this.providerProps.shopifyPermanentDomain ??\n (window as any)?.Shopify?.shop;\n\n if (!shopifyPermanentDomain) {\n throw new Error(\"Cannot determine shopifyPermanentDomain from window\");\n }\n\n const collectionHandle =\n this.providerProps.collectionHandle ??\n window.location.pathname.split(\"/\")?.[2];\n\n if (this.providerProps.mode === \"collection\" && !collectionHandle) {\n throw new Error(\"Cannot determine collectionHandle from URL\");\n }\n\n const provider: React.FC<{\n children?: React.ReactNode | undefined;\n }> = (props) => (\n <ReactifySearchProvider\n {...this.providerProps}\n shopifyPermanentDomain={shopifyPermanentDomain}\n collectionHandle={collectionHandle}\n >\n {props.children}\n </ReactifySearchProvider>\n );\n\n return provider;\n }\n\n getMountNode() {\n const mountNode = document.getElementById(\n `reactify-mount-${this.providerProps.mode}`\n );\n if (!mountNode) {\n throw new Error(\n `Cannot find mount node with ID \"reactify-mount-${this.providerProps.mode}\"`\n );\n }\n\n return mountNode;\n }\n\n getData() {\n const dataNode = document.getElementById(\"reactify-data\");\n if (!dataNode) {\n throw new Error(`Cannot find data node with ID \"reactify-data\"`);\n }\n\n try {\n const data = JSON.parse(dataNode.innerHTML);\n\n return data;\n } catch {\n throw new Error(\n `Cannot parse the data node with ID \"reactify-data\", check your liquid formatting`\n );\n }\n }\n}\n"]}
@@ -1,19 +1,18 @@
1
- /// <reference types="react" />
2
1
  import { ReactiveList } from "@usereactify/search-internals";
3
2
  import { ReactifySearchProviderProps } from "../components";
4
3
  import { Config, ConfigFilter, ConfigFilterFacet } from "../types";
5
- export declare type GeneratePropsFilterGroupOptions = {
4
+ export type GeneratePropsFilterGroupOptions = {
6
5
  provider: ReactifySearchProviderProps;
7
6
  config: Config;
8
7
  filterGroup?: ConfigFilter;
9
8
  query?: Record<string, string>;
10
9
  };
11
- export declare type GeneratePropsSensorOptions = {
10
+ export type GeneratePropsSensorOptions = {
12
11
  provider: ReactifySearchProviderProps;
13
12
  config: Config;
14
13
  query?: Record<string, string>;
15
14
  };
16
- export declare type GeneratePropsBase = {
15
+ export type GeneratePropsBase = {
17
16
  provider: ReactifySearchProviderProps;
18
17
  config: Config;
19
18
  query?: Record<string, string>;
@@ -46,7 +45,7 @@ export declare const getPropsFilterGroup: (options: GeneratePropsFilterGroupOpti
46
45
  dataField: string;
47
46
  filterLabel: string;
48
47
  nestedField: string | undefined;
49
- customQuery: ((value?: string | string[] | undefined) => {
48
+ customQuery: ((value?: string | string[]) => {
50
49
  query?: undefined;
51
50
  } | {
52
51
  query: {
@@ -120,7 +119,7 @@ export declare const getPropsFilterGroupOption: (options: GeneratePropsFilterGro
120
119
  dataField: string;
121
120
  filterLabel: string;
122
121
  nestedField: string | undefined;
123
- customQuery: ((value?: string | string[] | undefined) => {
122
+ customQuery: ((value?: string | string[]) => {
124
123
  query?: undefined;
125
124
  } | {
126
125
  query: {
@@ -348,7 +347,7 @@ export declare const getPropsResults: (options: GeneratePropsFilterGroupOptions
348
347
  renderNoResults: () => null;
349
348
  source: typeof ReactiveList;
350
349
  };
351
- export declare const getPropsReact: (options: GeneratePropsFilterGroupOptions, filterGroupOption?: ConfigFilterFacet | undefined) => {
350
+ export declare const getPropsReact: (options: GeneratePropsFilterGroupOptions, filterGroupOption?: ConfigFilterFacet) => {
352
351
  and: string[];
353
352
  };
354
353
  export declare const getPropsShared: (options: GeneratePropsFilterGroupOptions, filterGroupOption: ConfigFilterFacet) => {
@@ -357,7 +356,7 @@ export declare const getPropsShared: (options: GeneratePropsFilterGroupOptions,
357
356
  dataField: string;
358
357
  filterLabel: string;
359
358
  nestedField: string | undefined;
360
- customQuery: ((value?: string | string[] | undefined) => {
359
+ customQuery: ((value?: string | string[]) => {
361
360
  query?: undefined;
362
361
  } | {
363
362
  query: {
@@ -280,7 +280,7 @@ const getPropsBase = (options) => {
280
280
  return request;
281
281
  },
282
282
  transformResponse: (response) => __awaiter(void 0, void 0, void 0, function* () {
283
- var _b, _c, _d, _e;
283
+ var _a, _b, _c, _d;
284
284
  // support filtering inside nested aggregations by moving the inner aggregation
285
285
  // up one level such that reactivesearch understands it
286
286
  //
@@ -289,9 +289,9 @@ const getPropsBase = (options) => {
289
289
  // options, this involves a nested filter, which requires this fix
290
290
  //
291
291
  // https://github.com/appbaseio/reactivesearch/issues/1530
292
- if ((_c = (_b = response === null || response === void 0 ? void 0 : response.aggregations) === null || _b === void 0 ? void 0 : _b.reactivesearch_nested) === null || _c === void 0 ? void 0 : _c.reactify_nested_outer) {
292
+ if ((_b = (_a = response === null || response === void 0 ? void 0 : response.aggregations) === null || _a === void 0 ? void 0 : _a.reactivesearch_nested) === null || _b === void 0 ? void 0 : _b.reactify_nested_outer) {
293
293
  response.aggregations.reactivesearch_nested =
294
- (0, hooks_1.replaceDocCountWithParent)((_e = (_d = response === null || response === void 0 ? void 0 : response.aggregations) === null || _d === void 0 ? void 0 : _d.reactivesearch_nested) === null || _e === void 0 ? void 0 : _e.reactify_nested_outer);
294
+ (0, hooks_1.replaceDocCountWithParent)((_d = (_c = response === null || response === void 0 ? void 0 : response.aggregations) === null || _c === void 0 ? void 0 : _c.reactivesearch_nested) === null || _d === void 0 ? void 0 : _d.reactify_nested_outer);
295
295
  }
296
296
  return response;
297
297
  }),
@@ -335,11 +335,11 @@ const getPropsResults = (options) => {
335
335
  includeFields: includeFieldsProp,
336
336
  excludeFields: excludeFieldsProp,
337
337
  scrollTarget: options.scrollTarget,
338
- componentId: "page",
339
- scrollOnChange: false,
338
+ componentId: "page", // this sets ?page= in the URL
339
+ scrollOnChange: false, // @todo make this better, it's really janky when enabled
340
340
  pagination: ((_d = options.filterGroup) === null || _d === void 0 ? void 0 : _d.paginationType) !== "infinite_scroll",
341
341
  infiniteScroll: ((_e = options.filterGroup) === null || _e === void 0 ? void 0 : _e.paginationType) === "infinite_scroll",
342
- renderNoResults: () => null,
342
+ renderNoResults: () => null, // always use only render, otherwise both are shown
343
343
  source: search_internals_1.ReactiveList,
344
344
  // defaultQuery: () => ({
345
345
  // sort: ["_score"],
@@ -1 +1 @@
1
- {"version":3,"file":"props.js","sourceRoot":"","sources":["../../../src/utility/props.ts"],"names":[],"mappings":"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","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 filterProps = getPropsFilterSlider(filterGroupOption);\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 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: 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) => {\n return {}\n};"]}
1
+ {"version":3,"file":"props.js","sourceRoot":"","sources":["../../../src/utility/props.ts"],"names":[],"mappings":"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","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 filterProps = getPropsFilterSlider(filterGroupOption);\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 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: 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) => {\n return {}\n};"]}
@@ -1 +1 @@
1
- {"version":3,"file":"sortOption.js","sourceRoot":"","sources":["../../../src/utility/sortOption.ts"],"names":[],"mappings":"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","sourcesContent":["import { ReactifySearchProviderProps } from \"../components\";\nimport { Config, ConfigCuration, ConfigSort } from \"../types\";\n\nexport const getSortOptions = (options: {\n provider: ReactifySearchProviderProps;\n config: Config;\n sortOption?: string;\n}) => {\n return options.config.sort\n .sort((a, b) => {\n const aInt =\n typeof a.position === \"string\"\n ? parseInt(a.position, 10)\n : a.position;\n const bInt =\n typeof b.position === \"string\"\n ? parseInt(b.position, 10)\n : b.position;\n return aInt - bInt;\n })\n .filter(({ visibility }) => [\"all\", options.provider.mode].includes(visibility));\n\n}\n\nexport const getSortOption = (options: {\n provider: ReactifySearchProviderProps;\n config: Config;\n sortOption?: string;\n query?: Record<string, string>;\n}) => {\n const sortOptions = getSortOptions(options);\n\n return sortOptions.find(({ handle }) => handle === options.sortOption || handle === options.query?.sort) ?? sortOptions[0];\n}\n\nexport const generateSortSort = (options: {\n provider: ReactifySearchProviderProps;\n config: Config;\n curation?: ConfigCuration;\n sortOption?: ConfigSort;\n}) => {\n // curation positions are only applied for the default `collections.position` or `_score` sort\n // if the sort is something else, apply a normal sort which applies what the user has requested\n if (options.provider.mode !== \"instant-search\") {\n if (\n options.sortOption &&\n ![\"_score\", \"collections.position\"].includes(options.sortOption.field)\n ) {\n return [{ [options.sortOption.field]: options.sortOption.direction }];\n }\n }\n\n const sorts = [];\n\n // collection curation pin sorting\n if (options.provider.mode === \"collection\" && options.provider.collectionHandle) {\n if (options.curation?.collectionHandle) {\n const queries: Array<unknown> = [{\n term: {\n \"curations.collectionHandle.keyword\": options.curation.collectionHandle,\n },\n }];\n if (options.provider.market) {\n queries.push({\n term: {\n \"curations.markets.keyword\": options.provider.market,\n },\n });\n }\n sorts.push({\n \"curations.position\": {\n unmapped_type: \"long\",\n order: \"asc\",\n nested: {\n path: \"curations\",\n filter: {\n bool: {\n must: queries\n }\n }\n },\n },\n });\n }\n }\n\n // search options.curation pin sorting\n if (options.provider.mode === \"search\" || options.provider.mode === \"instant-search\") {\n if (options.curation?.searchTerm) {\n const queries: Array<unknown> = [{\n term: {\n \"curations.searchTerm.keyword\": options.curation.searchTerm.toLowerCase(),\n },\n }];\n if (options.provider.market) {\n queries.push({\n term: {\n \"curations.markets.keyword\": options.provider.market,\n },\n });\n }\n sorts.push({\n \"curations.position\": {\n unmapped_type: \"long\",\n order: \"asc\",\n nested: {\n path: \"curations\",\n filter: {\n bool: {\n must: queries\n }\n }\n },\n },\n });\n }\n }\n\n // options.curation boost sorting\n if (options.curation) {\n if (0 < options.curation.boosting.groupings.length) {\n const groupings = options.curation.boosting.groupings.sort((a, b) =>\n a.position > b.position ? 1 : -1\n );\n\n for (const grouping of groupings) {\n try {\n const query = JSON.parse(grouping.query);\n if (query) sorts.push(query);\n } catch {\n console.error(\n `query could not be parsed for boost grouping`,\n grouping\n );\n }\n }\n }\n\n if (0 < options.curation.boosting.sortings.length) {\n const sortings = options.curation.boosting.sortings.sort((a, b) =>\n a.position > b.position ? 1 : -1\n );\n\n for (const sorting of sortings) {\n try {\n const query = JSON.parse(sorting.query);\n if (query) sorts.push(query);\n } catch {\n console.error(`query could not be parsed for boost sorting`, sorting);\n }\n }\n }\n }\n\n // default collection sorting\n if (options.provider.mode === \"collection\" && options.provider.collectionHandle) {\n sorts.push({\n \"collections.position\": {\n order: \"asc\",\n nested: {\n path: \"collections\",\n filter: {\n term: {\n \"collections.handle.keyword\": options.provider.collectionHandle,\n },\n },\n },\n },\n });\n }\n\n // default search sorting\n if (options.provider.mode === \"search\" || options.provider.mode === \"instant-search\") {\n sorts.push(\"_score\");\n }\n\n return sorts;\n}\n\nexport const generateSortQuery = (options: {\n curation?: ConfigCuration;\n sortOption?: ConfigSort;\n}): Record<string, any> | undefined => {\n if (!options.curation || options.curation.id.includes(\"global\")) {\n return { match_all: {} };\n }\n\n return {\n bool: {\n must_not: [\n {\n nested: {\n path: \"curations\",\n query: {\n bool: {\n must: [\n {\n term: {\n [`curations.${\n \"collection\" === options.curation.type\n ? \"collectionHandle\"\n : \"searchTerm\"\n }.keyword`]:\n \"collection\" === options.curation.type\n ? options.curation.collectionHandle\n : options.curation.searchTerm?.toLowerCase(),\n },\n },\n {\n term: {\n \"curations.hidden\": true,\n },\n },\n ],\n },\n },\n },\n },\n // hide callout when not sorting by _score or collections.position\n ...(options.sortOption &&\n ![\"_score\", \"collections.position\"].includes(options.sortOption.field)\n ? [\n {\n term: {\n type: \"callout\",\n },\n },\n ]\n : []),\n ],\n },\n };\n};\n"]}
1
+ {"version":3,"file":"sortOption.js","sourceRoot":"","sources":["../../../src/utility/sortOption.ts"],"names":[],"mappings":"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","sourcesContent":["import { ReactifySearchProviderProps } from \"../components\";\nimport { Config, ConfigCuration, ConfigSort } from \"../types\";\n\nexport const getSortOptions = (options: {\n provider: ReactifySearchProviderProps;\n config: Config;\n sortOption?: string;\n}) => {\n return options.config.sort\n .sort((a, b) => {\n const aInt =\n typeof a.position === \"string\"\n ? parseInt(a.position, 10)\n : a.position;\n const bInt =\n typeof b.position === \"string\"\n ? parseInt(b.position, 10)\n : b.position;\n return aInt - bInt;\n })\n .filter(({ visibility }) => [\"all\", options.provider.mode].includes(visibility));\n\n}\n\nexport const getSortOption = (options: {\n provider: ReactifySearchProviderProps;\n config: Config;\n sortOption?: string;\n query?: Record<string, string>;\n}) => {\n const sortOptions = getSortOptions(options);\n\n return sortOptions.find(({ handle }) => handle === options.sortOption || handle === options.query?.sort) ?? sortOptions[0];\n}\n\nexport const generateSortSort = (options: {\n provider: ReactifySearchProviderProps;\n config: Config;\n curation?: ConfigCuration;\n sortOption?: ConfigSort;\n}) => {\n // curation positions are only applied for the default `collections.position` or `_score` sort\n // if the sort is something else, apply a normal sort which applies what the user has requested\n if (options.provider.mode !== \"instant-search\") {\n if (\n options.sortOption &&\n ![\"_score\", \"collections.position\"].includes(options.sortOption.field)\n ) {\n return [{ [options.sortOption.field]: options.sortOption.direction }];\n }\n }\n\n const sorts = [];\n\n // collection curation pin sorting\n if (options.provider.mode === \"collection\" && options.provider.collectionHandle) {\n if (options.curation?.collectionHandle) {\n const queries: Array<unknown> = [{\n term: {\n \"curations.collectionHandle.keyword\": options.curation.collectionHandle,\n },\n }];\n if (options.provider.market) {\n queries.push({\n term: {\n \"curations.markets.keyword\": options.provider.market,\n },\n });\n }\n sorts.push({\n \"curations.position\": {\n unmapped_type: \"long\",\n order: \"asc\",\n nested: {\n path: \"curations\",\n filter: {\n bool: {\n must: queries\n }\n }\n },\n },\n });\n }\n }\n\n // search options.curation pin sorting\n if (options.provider.mode === \"search\" || options.provider.mode === \"instant-search\") {\n if (options.curation?.searchTerm) {\n const queries: Array<unknown> = [{\n term: {\n \"curations.searchTerm.keyword\": options.curation.searchTerm.toLowerCase(),\n },\n }];\n if (options.provider.market) {\n queries.push({\n term: {\n \"curations.markets.keyword\": options.provider.market,\n },\n });\n }\n sorts.push({\n \"curations.position\": {\n unmapped_type: \"long\",\n order: \"asc\",\n nested: {\n path: \"curations\",\n filter: {\n bool: {\n must: queries\n }\n }\n },\n },\n });\n }\n }\n\n // options.curation boost sorting\n if (options.curation) {\n if (0 < options.curation.boosting.groupings.length) {\n const groupings = options.curation.boosting.groupings.sort((a, b) =>\n a.position > b.position ? 1 : -1\n );\n\n for (const grouping of groupings) {\n try {\n const query = JSON.parse(grouping.query);\n if (query) sorts.push(query);\n } catch {\n console.error(\n `query could not be parsed for boost grouping`,\n grouping\n );\n }\n }\n }\n\n if (0 < options.curation.boosting.sortings.length) {\n const sortings = options.curation.boosting.sortings.sort((a, b) =>\n a.position > b.position ? 1 : -1\n );\n\n for (const sorting of sortings) {\n try {\n const query = JSON.parse(sorting.query);\n if (query) sorts.push(query);\n } catch {\n console.error(`query could not be parsed for boost sorting`, sorting);\n }\n }\n }\n }\n\n // default collection sorting\n if (options.provider.mode === \"collection\" && options.provider.collectionHandle) {\n sorts.push({\n \"collections.position\": {\n order: \"asc\",\n nested: {\n path: \"collections\",\n filter: {\n term: {\n \"collections.handle.keyword\": options.provider.collectionHandle,\n },\n },\n },\n },\n });\n }\n\n // default search sorting\n if (options.provider.mode === \"search\" || options.provider.mode === \"instant-search\") {\n sorts.push(\"_score\");\n }\n\n return sorts;\n}\n\nexport const generateSortQuery = (options: {\n curation?: ConfigCuration;\n sortOption?: ConfigSort;\n}): Record<string, any> | undefined => {\n if (!options.curation || options.curation.id.includes(\"global\")) {\n return { match_all: {} };\n }\n\n return {\n bool: {\n must_not: [\n {\n nested: {\n path: \"curations\",\n query: {\n bool: {\n must: [\n {\n term: {\n [`curations.${\n \"collection\" === options.curation.type\n ? \"collectionHandle\"\n : \"searchTerm\"\n }.keyword`]:\n \"collection\" === options.curation.type\n ? options.curation.collectionHandle\n : options.curation.searchTerm?.toLowerCase(),\n },\n },\n {\n term: {\n \"curations.hidden\": true,\n },\n },\n ],\n },\n },\n },\n },\n // hide callout when not sorting by _score or collections.position\n ...(options.sortOption &&\n ![\"_score\", \"collections.position\"].includes(options.sortOption.field)\n ? [\n {\n term: {\n type: \"callout\",\n },\n },\n ]\n : []),\n ],\n },\n };\n};\n"]}