@sledge-app/react-instant-search 0.0.111 → 0.0.112

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.
@@ -1,6 +1,6 @@
1
1
  import { j as jsxRuntimeExports, $ as $cb5cc270b50c6fcd$export$be92b6f5f03c0fe9, a as $cb5cc270b50c6fcd$export$41fb9f06171c75f4, b as $cb5cc270b50c6fcd$export$602eac185826482c, c as $cb5cc270b50c6fcd$export$7c6e2c02157bb7d2, d as $cb5cc270b50c6fcd$export$f39c2d165cd861fe, e as $cb5cc270b50c6fcd$export$21b07c8f274aebd5, f as $67824d98245208a0$export$be92b6f5f03c0fe9, g as $67824d98245208a0$export$adb584737d712b70, h as $e698a72e93240346$export$be92b6f5f03c0fe9, i as $e698a72e93240346$export$adb584737d712b70, k as $faa2e61a3361514f$export$be92b6f5f03c0fe9, l as $faa2e61a3361514f$export$13921ac0cc260818, m as $faa2e61a3361514f$export$9a58ef0d7ad3278c, n as $faa2e61a3361514f$export$6521433ed15a34db, o as $f99a8c78507165f7$export$be92b6f5f03c0fe9, p as $f99a8c78507165f7$export$6d08773d2e66f8f2, q as $f99a8c78507165f7$export$adb584737d712b70, r as $cc7e05a45900e73f$export$6d08773d2e66f8f2, s as $cc7e05a45900e73f$export$d6e5bf9c43ea9319, t as $cc7e05a45900e73f$export$c3468e2714d175fa, u as $cc7e05a45900e73f$export$be92b6f5f03c0fe9, v as $cc7e05a45900e73f$export$41fb9f06171c75f4, w as $cc7e05a45900e73f$export$4c8d1a57a761ef94, x as $cc7e05a45900e73f$export$f04a61298a47a40f, y as $cc7e05a45900e73f$export$602eac185826482c, z as $cc7e05a45900e73f$export$7c6e2c02157bb7d2, A as $cc7e05a45900e73f$export$2f60d3ec9ad468f2, B as $cc7e05a45900e73f$export$d5c6c08dc2d3ca7, C as $cc7e05a45900e73f$export$bf1aedc3039c8d63, D as motion, E as client, F as $a093c7e1ec25a057$export$2881499e37b75b9a, G as $a093c7e1ec25a057$export$be92b6f5f03c0fe9, H as $a093c7e1ec25a057$export$41fb9f06171c75f4, I as $a093c7e1ec25a057$export$602eac185826482c, J as $a093c7e1ec25a057$export$7c6e2c02157bb7d2, K as $a093c7e1ec25a057$export$21b07c8f274aebd5, L as $57acba87d6e25586$export$be92b6f5f03c0fe9, M as $57acba87d6e25586$export$d5c6c08dc2d3ca7, N as $57acba87d6e25586$export$9a4e88b92edfce6b, O as $57acba87d6e25586$export$6521433ed15a34db, P as MasonryResponsive, Q as Masonry, R as $5d3850c4d0b4e6c7$export$be92b6f5f03c0fe9, S as $5d3850c4d0b4e6c7$export$602eac185826482c, T as $5d3850c4d0b4e6c7$export$c6fdb837b070b4ff, U as $5d3850c4d0b4e6c7$export$7c6e2c02157bb7d2 } from "./vendor-efe38901.js";
2
2
  import React__default, { createElement } from "react";
3
- import { SledgeContext } from "@sledge-app/core";
3
+ import { SledgeContext, CustomComponents } from "@sledge-app/core";
4
4
  import "react-dom";
5
5
  const ProductFilterWidget = (props) => {
6
6
  return /* @__PURE__ */ jsxRuntimeExports.jsx(SearchResultWidget, { layoutType: "product-filter", ...props });
@@ -166,32 +166,35 @@ const sanitizeDataId = (id) => {
166
166
  return getId;
167
167
  }
168
168
  };
169
- const detectInitSelector = (element, init, reRender) => {
169
+ const detectInitSelector = (params) => {
170
+ const { element: element2, init, reRender = false } = params;
170
171
  let hasRunning = false;
171
172
  if (!reRender) {
172
173
  document.body.addEventListener("DOMNodeInserted", () => {
173
- if (!hasRunning && element) {
174
+ if (!hasRunning && element2) {
174
175
  hasRunning = true;
175
176
  init();
176
177
  }
177
178
  });
178
179
  } else {
179
- if (element)
180
+ if (element2)
180
181
  init();
181
182
  }
182
183
  };
183
184
  const isFunction = (data) => typeof data === "function";
184
- const scrollToElement = (element, headerOffset) => {
185
- if (!element)
185
+ const scrollToElement = (params) => {
186
+ const { element: element2, headerOffset } = params;
187
+ if (!element2)
186
188
  return;
187
- var elementPosition = element == null ? void 0 : element.getBoundingClientRect().top;
189
+ var elementPosition = element2 == null ? void 0 : element2.getBoundingClientRect().top;
188
190
  var offsetPosition = elementPosition + window.scrollY - headerOffset;
189
191
  window.scrollTo({
190
192
  top: offsetPosition,
191
193
  behavior: "smooth"
192
194
  });
193
195
  };
194
- const fetchApi = async (url, method, authorization, payload = {}, headers = {}, isSimpleRequest = true, isUploadFile = false) => {
196
+ const fetchApi = async (params) => {
197
+ const { url, method, authorization = "", payload = {}, headers = {}, isSimpleRequest = true, isUploadFile = false } = params;
195
198
  var myHeaders = new Headers();
196
199
  if (!isSimpleRequest) {
197
200
  if (authorization)
@@ -209,8 +212,8 @@ const fetchApi = async (url, method, authorization, payload = {}, headers = {},
209
212
  if (Object.keys(payload).length)
210
213
  Object.keys(payload).forEach(function(key) {
211
214
  if (isUploadFile && (payload == null ? void 0 : payload.files))
212
- [...payload.files].map((item) => {
213
- formdata.append("files", item, item.name);
215
+ [...payload.files].map((item2) => {
216
+ formdata.append("files", item2, item2.name);
214
217
  });
215
218
  formdata.append(key, payload[key]);
216
219
  });
@@ -449,8 +452,8 @@ const RadioGroup = ({ id, name, required, defaultValue, items, labelStyle = {},
449
452
  name,
450
453
  required,
451
454
  onValueChange,
452
- children: items.map((item, index) => {
453
- const { label, value } = item;
455
+ children: items.map((item2, index) => {
456
+ const { label, value } = item2;
454
457
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sledge__radio-group-item-flex", children: [
455
458
  /* @__PURE__ */ jsxRuntimeExports.jsx($f99a8c78507165f7$export$6d08773d2e66f8f2, { className: "sledge__radio-group-item", value, id: `${id}${index}`, children: /* @__PURE__ */ jsxRuntimeExports.jsx($f99a8c78507165f7$export$adb584737d712b70, { className: "sledge__radio-group-indicator" }) }),
456
459
  /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "sledge__radio-group-label", htmlFor: `${id}${index}`, style: labelStyle, children: label })
@@ -508,8 +511,8 @@ const Select = ({ name, placeholder, required, defaultValue, items, labelStyle =
508
511
  }
509
512
  ) }) }),
510
513
  /* @__PURE__ */ jsxRuntimeExports.jsx($cc7e05a45900e73f$export$d5c6c08dc2d3ca7, { className: "sledge__select-viewport", children: items.map(
511
- (item, index) => {
512
- const { label, value } = item;
514
+ (item2, index) => {
515
+ const { label, value } = item2;
513
516
  return /* @__PURE__ */ jsxRuntimeExports.jsx(SelectItemComponent, { value, children: label }, index);
514
517
  }
515
518
  ) }),
@@ -741,8 +744,8 @@ const ProductGrid$1 = "";
741
744
  const addToCart = async (data) => {
742
745
  var _a, _b;
743
746
  let items = [];
744
- data.map((item) => {
745
- const { id, quantity } = item;
747
+ data.map((item2) => {
748
+ const { id, quantity } = item2;
746
749
  items.push({
747
750
  id,
748
751
  quantity
@@ -757,7 +760,13 @@ const addToCart = async (data) => {
757
760
  let payload = {
758
761
  items
759
762
  };
760
- return await fetchApi(url, "POST", null, payload, headers, false).then((result) => {
763
+ return await fetchApi({
764
+ url,
765
+ method: "POST",
766
+ payload,
767
+ headers,
768
+ isSimpleRequest: false
769
+ }).then((result) => {
761
770
  return result;
762
771
  }).catch(() => {
763
772
  return;
@@ -888,7 +897,12 @@ const addWishlist = async (data) => {
888
897
  price: productPrice
889
898
  })
890
899
  };
891
- return await fetchApi(url, "POST", sledgeAuthApp, payload).then((result) => {
900
+ return await fetchApi({
901
+ url,
902
+ method: "POST",
903
+ authorization: sledgeAuthApp,
904
+ payload
905
+ }).then((result) => {
892
906
  return result;
893
907
  }).catch(() => {
894
908
  return;
@@ -896,8 +910,8 @@ const addWishlist = async (data) => {
896
910
  };
897
911
  const bulkAddWishlist = async (data) => {
898
912
  let sledgeAuthApp = typeof localStorage !== "undefined" ? localStorage.getItem(LOCAL_STORAGE_KEY.AUTH_APP) || "" : "";
899
- let products = data.map((item) => {
900
- const { productId, productVariantId, productName, productVariantName, productLink, productImage, productCurrency, productPrice } = item;
913
+ let products = data.map((item2) => {
914
+ const { productId, productVariantId, productName, productVariantName, productLink, productImage, productCurrency, productPrice } = item2;
901
915
  return {
902
916
  id: sanitizeDataId(productId),
903
917
  variant_id: sanitizeDataId(productVariantId),
@@ -916,7 +930,14 @@ const bulkAddWishlist = async (data) => {
916
930
  let payload = {
917
931
  products
918
932
  };
919
- return await fetchApi(url, "POST", sledgeAuthApp, payload, headers, false).then((result) => {
933
+ return await fetchApi({
934
+ url,
935
+ method: "POST",
936
+ authorization: sledgeAuthApp,
937
+ payload,
938
+ headers,
939
+ isSimpleRequest: false
940
+ }).then((result) => {
920
941
  return result;
921
942
  }).catch(() => {
922
943
  return;
@@ -925,7 +946,11 @@ const bulkAddWishlist = async (data) => {
925
946
  const getWishlistInfo = async (token) => {
926
947
  let sledgeAuthApp = token ? token : typeof localStorage !== "undefined" ? localStorage.getItem(LOCAL_STORAGE_KEY.AUTH_APP) || "" : "";
927
948
  let url = `${API_URL}/wishlist/info`;
928
- return await fetchApi(url, "GET", sledgeAuthApp).then((result) => {
949
+ return await fetchApi({
950
+ url,
951
+ method: "GET",
952
+ authorization: sledgeAuthApp
953
+ }).then((result) => {
929
954
  return result;
930
955
  }).catch(() => {
931
956
  return;
@@ -939,7 +964,11 @@ const checkWishlist = async (id, variantId) => {
939
964
  variant_id: convertVariantId
940
965
  }).toString();
941
966
  let url = `${API_URL}/wishlist/check/${convertId}${queryParams}`;
942
- return await fetchApi(url, "GET", sledgeAuthApp).then((result) => {
967
+ return await fetchApi({
968
+ url,
969
+ method: "GET",
970
+ authorization: sledgeAuthApp
971
+ }).then((result) => {
943
972
  return Boolean(result.data);
944
973
  }).catch(() => {
945
974
  return;
@@ -949,10 +978,16 @@ const addToCartTrigger$1 = async (data) => {
949
978
  const { productId } = data;
950
979
  let sledgeAuthApp = typeof localStorage !== "undefined" ? localStorage.getItem(LOCAL_STORAGE_KEY.AUTH_APP) || "" : "";
951
980
  let url = `${API_URL}/wishlist/cart`;
952
- return await fetchApi(url, "POST", sledgeAuthApp, {
981
+ let payload = {
953
982
  product: JSON.stringify({
954
983
  id: sanitizeDataId(productId)
955
984
  })
985
+ };
986
+ return await fetchApi({
987
+ url,
988
+ method: "POST",
989
+ authorization: sledgeAuthApp,
990
+ payload
956
991
  }).then((result) => {
957
992
  return result;
958
993
  }).catch(() => {
@@ -1077,19 +1112,19 @@ const BadgeInitSelector = (reRender = false) => {
1077
1112
  }
1078
1113
  }
1079
1114
  } else {
1080
- let element = Array.from(document.querySelectorAll(SELECTOR.WISHLIST.ELEMENT_BADGE));
1081
- detectInitSelector(
1082
- element,
1083
- () => {
1084
- if (element.length) {
1085
- element.map((item) => {
1086
- if (item) {
1087
- const USE_PROXY_URL = item.getAttribute(DATASET_ATTRIBUTE_KEY.WISHLIST.USE_PROXY_URL);
1088
- if (item.querySelector(`[${SELECTOR_ATTRIBUTE_KEY}="${INTERNAL_SELECTOR_VALUE.ELEMENT_CONTAINER_WIDGET}"]`))
1089
- item.querySelector(`[${SELECTOR_ATTRIBUTE_KEY}="${INTERNAL_SELECTOR_VALUE.ELEMENT_CONTAINER_WIDGET}"]`).remove();
1115
+ let element2 = Array.from(document.querySelectorAll(SELECTOR.WISHLIST.ELEMENT_BADGE));
1116
+ detectInitSelector({
1117
+ element: element2,
1118
+ init: () => {
1119
+ if (element2.length) {
1120
+ element2.map((item2) => {
1121
+ if (item2) {
1122
+ const USE_PROXY_URL = item2.getAttribute(DATASET_ATTRIBUTE_KEY.WISHLIST.USE_PROXY_URL);
1123
+ if (item2.querySelector(`[${SELECTOR_ATTRIBUTE_KEY}="${INTERNAL_SELECTOR_VALUE.ELEMENT_CONTAINER_WIDGET}"]`))
1124
+ item2.querySelector(`[${SELECTOR_ATTRIBUTE_KEY}="${INTERNAL_SELECTOR_VALUE.ELEMENT_CONTAINER_WIDGET}"]`).remove();
1090
1125
  let elementContainerWidget = document.createElement("div");
1091
1126
  elementContainerWidget.setAttribute(SELECTOR_ATTRIBUTE_KEY, INTERNAL_SELECTOR_VALUE.ELEMENT_CONTAINER_WIDGET);
1092
- item.appendChild(elementContainerWidget);
1127
+ item2.appendChild(elementContainerWidget);
1093
1128
  client.createRoot(elementContainerWidget).render(
1094
1129
  /* @__PURE__ */ jsxRuntimeExports.jsx(React__default.StrictMode, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1095
1130
  SledgeContext.Provider,
@@ -1112,7 +1147,7 @@ const BadgeInitSelector = (reRender = false) => {
1112
1147
  }
1113
1148
  },
1114
1149
  reRender
1115
- );
1150
+ });
1116
1151
  }
1117
1152
  };
1118
1153
  const Trigger = (props) => {
@@ -1366,8 +1401,8 @@ const WidgetHeaderShareTrigger = ({ wishlistData, buttonText, showShareTrigger,
1366
1401
  const handleBulkAddWishlist = async () => {
1367
1402
  var _a2, _b2, _c2, _d2, _e2, _f2, _g;
1368
1403
  setIsLoadingBulkAdd(true);
1369
- let data = wishlistData.map((item) => {
1370
- const { id, variant_id, name, variant_name, url, image_url, currency, price } = item.product;
1404
+ let data = wishlistData.map((item2) => {
1405
+ const { id, variant_id, name, variant_name, url, image_url, currency, price } = item2.product;
1371
1406
  return {
1372
1407
  productId: id,
1373
1408
  productVariantId: variant_id,
@@ -1543,10 +1578,10 @@ const WidgetHeaderLimit = ({ options, defaultLimitOptions, selectedLimit, setSel
1543
1578
  SelectField,
1544
1579
  {
1545
1580
  align: "end",
1546
- options: getOptions.map((item) => {
1581
+ options: getOptions.map((item2) => {
1547
1582
  return {
1548
- label: item,
1549
- value: item
1583
+ label: item2,
1584
+ value: item2
1550
1585
  };
1551
1586
  }),
1552
1587
  value: selectedLimit || getOptions[0],
@@ -1570,8 +1605,8 @@ const WidgetHeaderSort$1 = ({ wishlistSort, selectedSort, setSelectedSort, setIs
1570
1605
  SelectField,
1571
1606
  {
1572
1607
  align: "end",
1573
- options: wishlistSort.map((item) => {
1574
- const { name, value } = item;
1608
+ options: wishlistSort.map((item2) => {
1609
+ const { name, value } = item2;
1575
1610
  return {
1576
1611
  label: name,
1577
1612
  value
@@ -1647,7 +1682,12 @@ const getReviewInfo = async (id) => {
1647
1682
  let convertId = sanitizeDataId(id);
1648
1683
  let sledgeAuthApp = typeof localStorage !== "undefined" ? localStorage.getItem(LOCAL_STORAGE_KEY.AUTH_APP) || "" : "";
1649
1684
  let url = `${API_URL}/review/info/${convertId}?${PAYLOAD_API_ALIASES.Authorization}=${sledgeAuthApp}`;
1650
- return await fetchApi(url, "GET", sledgeAuthApp, void 0, void 0, false).then((result) => {
1685
+ return await fetchApi({
1686
+ url,
1687
+ method: "GET",
1688
+ authorization: sledgeAuthApp,
1689
+ isSimpleRequest: false
1690
+ }).then((result) => {
1651
1691
  return result;
1652
1692
  }).catch(() => {
1653
1693
  return;
@@ -1657,7 +1697,12 @@ const getProductsReviewInfo = async (ids, token) => {
1657
1697
  let convertIds = ids.map((v) => sanitizeDataId(v));
1658
1698
  let sledgeAuthApp = token ? token : typeof localStorage !== "undefined" ? (localStorage == null ? void 0 : localStorage.getItem(LOCAL_STORAGE_KEY.AUTH_APP)) || "" : "";
1659
1699
  let url = `${API_URL}/review/info/ids/${convertIds.join(",")}?${PAYLOAD_API_ALIASES.Authorization}=${sledgeAuthApp}`;
1660
- return await fetchApi(url, "GET", sledgeAuthApp, void 0, void 0, false).then((result) => {
1700
+ return await fetchApi({
1701
+ url,
1702
+ method: "GET",
1703
+ authorization: sledgeAuthApp,
1704
+ isSimpleRequest: false
1705
+ }).then((result) => {
1661
1706
  return result;
1662
1707
  }).catch(() => {
1663
1708
  return;
@@ -1737,7 +1782,10 @@ const Rating = (props) => {
1737
1782
  if (!isScrollToElementWidget)
1738
1783
  return;
1739
1784
  setTimeout(() => {
1740
- scrollToElement(document.getElementById(ELEMENT_ID.PRODUCT_REVIEW.ELEMENT_WIDGET), 50);
1785
+ scrollToElement({
1786
+ element: document.getElementById(ELEMENT_ID.PRODUCT_REVIEW.ELEMENT_WIDGET),
1787
+ headerOffset: 50
1788
+ });
1741
1789
  }, 200);
1742
1790
  };
1743
1791
  React__default.useEffect(() => {
@@ -1796,17 +1844,17 @@ const Rating = (props) => {
1796
1844
  ] }) })
1797
1845
  ] }),
1798
1846
  !isLoading && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
1799
- [1, 2, 3, 4, 5].map((item, index) => {
1847
+ [1, 2, 3, 4, 5].map((item2, index) => {
1800
1848
  let ratingValue = Math.floor(parseFloat(averageReview));
1801
1849
  let getCommaValue = String(averageReview).includes(",") ? String(averageReview).split(",") : [];
1802
1850
  let getCommaValueDot = String(averageReview).includes(".") ? String(averageReview).split(".") : [];
1803
1851
  let isHaveCommaValue = getCommaValue.length || getCommaValueDot.length;
1804
1852
  let commaValue = isHaveCommaValue ? getCommaValue[1] || getCommaValueDot[1] : 0;
1805
1853
  let fillOther = "fill-0";
1806
- if (item > ratingValue && ratingValue + 1 === item) {
1854
+ if (item2 > ratingValue && ratingValue + 1 === item2) {
1807
1855
  fillOther = `fill-${commaValue}`;
1808
1856
  }
1809
- return /* @__PURE__ */ createElement("svg", { ...sizing, viewBox: "0 0 30 29", "data-product-review-rating-fill": item <= ratingValue ? "full" : fillOther, key: index }, /* @__PURE__ */ jsxRuntimeExports.jsx("use", { href: "#sledge-product-review-icons-rating-icon" }));
1857
+ return /* @__PURE__ */ createElement("svg", { ...sizing, viewBox: "0 0 30 29", "data-product-review-rating-fill": item2 <= ratingValue ? "full" : fillOther, key: index }, /* @__PURE__ */ jsxRuntimeExports.jsx("use", { href: "#sledge-product-review-icons-rating-icon" }));
1810
1858
  }),
1811
1859
  withTotal ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sledge-product-review__rating-summary-total", children: [
1812
1860
  "(",
@@ -1894,8 +1942,8 @@ const WidgetHeaderSort = ({ isFirstLoading, productReviewSort, dataSettings, set
1894
1942
  align: "end",
1895
1943
  prefixLabel: /* @__PURE__ */ jsxRuntimeExports.jsx(SwapIcon, { width: 16, height: 16, color: "currentColor" }),
1896
1944
  prefixSelectedLabel: "Sort by",
1897
- options: productReviewSort.map((item) => {
1898
- const { name, value } = item;
1945
+ options: productReviewSort.map((item2) => {
1946
+ const { name, value } = item2;
1899
1947
  return {
1900
1948
  label: name,
1901
1949
  value
@@ -2033,14 +2081,14 @@ const WidgetHeaderSummary = (props) => {
2033
2081
  ),
2034
2082
  /* @__PURE__ */ jsxRuntimeExports.jsx(SkeletonLoading.Item, { width: "38px", height: "22px", color: "lighten", rounded: "md" })
2035
2083
  ] }, index);
2036
- }) }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sledge-product-review__widget-summary-dist", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sledge-product-review__widget-summary-dist-progress", children: [5, 4, 3, 2, 1].map((item, index) => {
2084
+ }) }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sledge-product-review__widget-summary-dist", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sledge-product-review__widget-summary-dist-progress", children: [5, 4, 3, 2, 1].map((item2, index) => {
2037
2085
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sledge-product-review__widget-summary-dist-progress-item", children: [
2038
2086
  /* @__PURE__ */ jsxRuntimeExports.jsx(
2039
2087
  Rating,
2040
2088
  {
2041
2089
  data: summaryData,
2042
2090
  sledgeSettings,
2043
- average: item,
2091
+ average: item2,
2044
2092
  size: "sm",
2045
2093
  withSkeletonLoading: false,
2046
2094
  withTotal: false,
@@ -2050,7 +2098,7 @@ const WidgetHeaderSummary = (props) => {
2050
2098
  /* @__PURE__ */ jsxRuntimeExports.jsx(
2051
2099
  Progress,
2052
2100
  {
2053
- value: String(ratingList[item]),
2101
+ value: String(ratingList[item2]),
2054
2102
  total: totalReview,
2055
2103
  fillColor: display_summary_bar_fill_color,
2056
2104
  outlineColor: display_summary_bar_outline_color
@@ -2058,7 +2106,7 @@ const WidgetHeaderSummary = (props) => {
2058
2106
  ),
2059
2107
  /* @__PURE__ */ jsxRuntimeExports.jsxs("small", { children: [
2060
2108
  "(",
2061
- ratingList[item],
2109
+ ratingList[item2],
2062
2110
  ")"
2063
2111
  ] })
2064
2112
  ] }, index);
@@ -2093,7 +2141,14 @@ const search = async (index, payload) => {
2093
2141
  let headers = {
2094
2142
  "Content-Type": "application/json"
2095
2143
  };
2096
- return await fetchApi(url, "POST", sledgeInstantSearchAuthApp, payload, headers, false).then((result) => result).catch(() => {
2144
+ return await fetchApi({
2145
+ url,
2146
+ method: "POST",
2147
+ authorization: sledgeInstantSearchAuthApp,
2148
+ payload,
2149
+ headers,
2150
+ isSimpleRequest: false
2151
+ }).then((result) => result).catch(() => {
2097
2152
  return;
2098
2153
  });
2099
2154
  };
@@ -2103,7 +2158,14 @@ const multiSearch = async (payload, token) => {
2103
2158
  let headers = {
2104
2159
  "Content-Type": "application/json"
2105
2160
  };
2106
- return await fetchApi(url, "POST", sledgeInstantSearchAuthApp, payload, headers, false).then((result) => result).catch(() => {
2161
+ return await fetchApi({
2162
+ url,
2163
+ method: "POST",
2164
+ authorization: sledgeInstantSearchAuthApp,
2165
+ payload,
2166
+ headers,
2167
+ isSimpleRequest: false
2168
+ }).then((result) => result).catch(() => {
2107
2169
  return;
2108
2170
  });
2109
2171
  };
@@ -2118,7 +2180,14 @@ const searchTrigger = async (data) => {
2118
2180
  keyword,
2119
2181
  result_count: resultCount
2120
2182
  };
2121
- return await fetchApi(url, "POST", sledgeAuthApp, payload, headers, false).then((result) => {
2183
+ return await fetchApi({
2184
+ url,
2185
+ method: "POST",
2186
+ authorization: sledgeAuthApp,
2187
+ payload,
2188
+ headers,
2189
+ isSimpleRequest: false
2190
+ }).then((result) => {
2122
2191
  return result;
2123
2192
  }).catch(() => {
2124
2193
  return;
@@ -2136,7 +2205,14 @@ const productClickTrigger = async (data) => {
2136
2205
  id: sanitizeDataId(productId)
2137
2206
  }
2138
2207
  };
2139
- return await fetchApi(url, "POST", sledgeAuthApp, payload, headers, false).then((result) => {
2208
+ return await fetchApi({
2209
+ url,
2210
+ method: "POST",
2211
+ authorization: sledgeAuthApp,
2212
+ payload,
2213
+ headers,
2214
+ isSimpleRequest: false
2215
+ }).then((result) => {
2140
2216
  return result;
2141
2217
  }).catch(() => {
2142
2218
  return;
@@ -2154,7 +2230,14 @@ const addToCartTrigger = async (data) => {
2154
2230
  id: sanitizeDataId(productId)
2155
2231
  }
2156
2232
  };
2157
- return await fetchApi(url, "POST", sledgeAuthApp, payload, headers, false).then((result) => {
2233
+ return await fetchApi({
2234
+ url,
2235
+ method: "POST",
2236
+ authorization: sledgeAuthApp,
2237
+ payload,
2238
+ headers,
2239
+ isSimpleRequest: false
2240
+ }).then((result) => {
2158
2241
  return result;
2159
2242
  }).catch(() => {
2160
2243
  return;
@@ -2241,9 +2324,9 @@ const ProductGrid = ({
2241
2324
  React__default.useEffect(() => {
2242
2325
  onAfterRenderProduct && onAfterRenderProduct("success");
2243
2326
  }, []);
2244
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `sledge__product-grid ${className}`, "data-grid-type": type, children: data == null ? void 0 : data.map((item, index) => {
2327
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `sledge__product-grid ${className}`, "data-grid-type": type, children: data == null ? void 0 : data.map((item2, index) => {
2245
2328
  var _a, _b, _c;
2246
- const { product, variants } = item || {};
2329
+ const { product, variants } = item2 || {};
2247
2330
  const { id, title, image, url, vendor = "", currency } = product || {};
2248
2331
  const { id: variant_id = "", title: variant_title = "", price = "", sku = "" } = (variants == null ? void 0 : variants.length) ? variants[0] : {};
2249
2332
  let isLoadingAddToCart = clickedAddToCartId == variant_id;
@@ -2382,9 +2465,9 @@ const CollectionGrid = ({ className = "", data, cards, isComponentJsVersion, onA
2382
2465
  React__default.useEffect(() => {
2383
2466
  onAfterRenderCollection && onAfterRenderCollection("success");
2384
2467
  }, []);
2385
- return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: !(data == null ? void 0 : data.length) ? null : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `sledge__collection-grid ${className}`, children: data.map((item, index) => {
2386
- const { id, title, body_html, url, image } = item;
2387
- const getCards = cards ? cards({ data: item }) : null;
2468
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: !(data == null ? void 0 : data.length) ? null : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `sledge__collection-grid ${className}`, children: data.map((item2, index) => {
2469
+ const { id, title, body_html, url, image } = item2;
2470
+ const getCards = cards ? cards({ data: item2 }) : null;
2388
2471
  return cards ? /* @__PURE__ */ jsxRuntimeExports.jsx(React__default.Fragment, { children: isComponentJsVersion ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { dangerouslySetInnerHTML: { __html: getCards } }) : getCards }, index) : /* @__PURE__ */ jsxRuntimeExports.jsx("a", { href: url, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sledge__collection-grid-card", children: [
2389
2472
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sledge__collection-grid-card-image-wrapper", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sledge__collection-grid-card-image", children: /* @__PURE__ */ jsxRuntimeExports.jsx("img", { src: (image == null ? void 0 : image.src) || `${API_URL}/img/blank-image.png`, alt: "sledge-card-image", loading: "lazy" }) }) }),
2390
2473
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sledge__collection-grid-card-content", children: [
@@ -2399,9 +2482,9 @@ const PageGrid = ({ className = "", data, cards, isComponentJsVersion, onAfterRe
2399
2482
  React__default.useEffect(() => {
2400
2483
  onAfterRenderPage && onAfterRenderPage("success");
2401
2484
  }, []);
2402
- return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: !(data == null ? void 0 : data.length) ? null : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `sledge__page-grid ${className}`, children: data.map((item, index) => {
2403
- const { id, title, body_html, url, image } = item;
2404
- const getCards = cards ? cards({ data: item }) : null;
2485
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: !(data == null ? void 0 : data.length) ? null : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `sledge__page-grid ${className}`, children: data.map((item2, index) => {
2486
+ const { id, title, body_html, url, image } = item2;
2487
+ const getCards = cards ? cards({ data: item2 }) : null;
2405
2488
  return cards ? /* @__PURE__ */ jsxRuntimeExports.jsx(React__default.Fragment, { children: isComponentJsVersion ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { dangerouslySetInnerHTML: { __html: getCards } }) : getCards }, index) : /* @__PURE__ */ jsxRuntimeExports.jsx("a", { href: url, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sledge__page-grid-card", children: [
2406
2489
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sledge__page-grid-card-image-wrapper", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sledge__page-grid-card-image", children: /* @__PURE__ */ jsxRuntimeExports.jsx("img", { src: (image == null ? void 0 : image.src) || `${API_URL}/img/blank-image.png`, alt: "sledge-card-image", loading: "lazy" }) }) }),
2407
2490
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sledge__page-grid-card-content", children: [
@@ -2416,9 +2499,9 @@ const BlogGrid = ({ className = "", data, cards, isComponentJsVersion, onAfterRe
2416
2499
  React__default.useEffect(() => {
2417
2500
  onAfterRenderBlog && onAfterRenderBlog("success");
2418
2501
  }, []);
2419
- return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: !(data == null ? void 0 : data.length) ? null : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `sledge__blog-grid ${className}`, children: data == null ? void 0 : data.map((item, index) => {
2420
- const { id, title, created_at, url, image } = item;
2421
- const getCards = cards ? cards({ data: item }) : null;
2502
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: !(data == null ? void 0 : data.length) ? null : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `sledge__blog-grid ${className}`, children: data == null ? void 0 : data.map((item2, index) => {
2503
+ const { id, title, created_at, url, image } = item2;
2504
+ const getCards = cards ? cards({ data: item2 }) : null;
2422
2505
  return cards ? /* @__PURE__ */ jsxRuntimeExports.jsx(React__default.Fragment, { children: isComponentJsVersion ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { dangerouslySetInnerHTML: { __html: getCards } }) : getCards }, index) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sledge__blog-grid-card", children: [
2423
2506
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sledge__blog-grid-content", children: [
2424
2507
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sledge__blog-grid-card-image", children: /* @__PURE__ */ jsxRuntimeExports.jsx("a", { href: url, children: /* @__PURE__ */ jsxRuntimeExports.jsx("img", { src: (image == null ? void 0 : image.src) || `${API_URL}/img/blank-image.png`, alt: "sledge-card-image", loading: "lazy" }) }) }),
@@ -2439,9 +2522,9 @@ const ArticleGrid = ({ className = "", data, cards, isComponentJsVersion, onAfte
2439
2522
  React__default.useEffect(() => {
2440
2523
  onAfterRenderArticle && onAfterRenderArticle("success");
2441
2524
  }, []);
2442
- return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: !(data == null ? void 0 : data.length) ? null : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `sledge__article-grid ${className}`, children: data == null ? void 0 : data.map((item, index) => {
2443
- const { id, title, created_at, summary_html, url, image } = item;
2444
- const getCards = cards ? cards({ data: item }) : null;
2525
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: !(data == null ? void 0 : data.length) ? null : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `sledge__article-grid ${className}`, children: data == null ? void 0 : data.map((item2, index) => {
2526
+ const { id, title, created_at, summary_html, url, image } = item2;
2527
+ const getCards = cards ? cards({ data: item2 }) : null;
2445
2528
  return cards ? /* @__PURE__ */ jsxRuntimeExports.jsx(React__default.Fragment, { children: isComponentJsVersion ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { dangerouslySetInnerHTML: { __html: getCards } }) : getCards }, index) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sledge__article-grid-card", children: [
2446
2529
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sledge__article-grid-content", children: [
2447
2530
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sledge__article-grid-card-image", children: /* @__PURE__ */ jsxRuntimeExports.jsx("a", { href: url, children: /* @__PURE__ */ jsxRuntimeExports.jsx("img", { src: (image == null ? void 0 : image.src) || `${API_URL}/img/blank-image.png`, alt: "sledge-card-image", loading: "lazy" }) }) }),
@@ -2832,6 +2915,7 @@ const SearchIconWidgetPopup = () => {
2832
2915
  const { isRenderApp } = React__default.useContext(SledgeContext);
2833
2916
  const { instantSearch: isRenderAppInstantSearch } = isRenderApp || {};
2834
2917
  const [isLoading, setIsLoading] = React__default.useState(true);
2918
+ const [isHasData, setIsHasData] = React__default.useState(false);
2835
2919
  const [showInfo, setShowInfo] = React__default.useState(false);
2836
2920
  const [keyword, setKeyword] = React__default.useState("");
2837
2921
  const [searchResultProduct, setSearchResultProduct] = React__default.useState([]);
@@ -2841,13 +2925,13 @@ const SearchIconWidgetPopup = () => {
2841
2925
  const [suggestionSettings, setSuggestionSettings] = React__default.useState({});
2842
2926
  const [suggestionIndex, setSuggestionIndex] = React__default.useState("");
2843
2927
  const [handleFunctions, setHandleFunctions] = React__default.useState({
2844
- onAfterAddToCart: (state) => {
2928
+ onAfterAddToCart: (state2) => {
2845
2929
  },
2846
- onAfterAddWishlist: (state) => {
2930
+ onAfterAddWishlist: (state2) => {
2847
2931
  },
2848
- onAfterRemoveWishlist: (state) => {
2932
+ onAfterRemoveWishlist: (state2) => {
2849
2933
  },
2850
- onAfterRenderProduct: (state) => {
2934
+ onAfterRenderProduct: (state2) => {
2851
2935
  },
2852
2936
  isJsVersion: null,
2853
2937
  productCardsComponent: null,
@@ -2857,8 +2941,9 @@ const SearchIconWidgetPopup = () => {
2857
2941
  });
2858
2942
  const searchFieldRef = React__default.useRef(null);
2859
2943
  const previousState = usePrevious({ keyword });
2860
- const handleMultiSearch = async (data, onSearch = false, withFetchReviewInfo = false) => {
2944
+ const handleMultiSearch = async (params) => {
2861
2945
  var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i2, _j2, _k2, _l2;
2946
+ const { data, onSearch = false, withFetchReviewInfo = false } = params;
2862
2947
  setIsLoading(true);
2863
2948
  const { tabs, suffix_index_product, hidden_tags, display, show_out_of_stock } = data;
2864
2949
  const suggestion = ((_a2 = display == null ? void 0 : display.search) == null ? void 0 : _a2.suggestion) || {};
@@ -2919,6 +3004,7 @@ const SearchIconWidgetPopup = () => {
2919
3004
  setSearchResultOther(valueSearchResultOther);
2920
3005
  setSuggestionIndex(valueSuggestionIndex);
2921
3006
  setIsLoading(false);
3007
+ setIsHasData(true);
2922
3008
  };
2923
3009
  const handleSettings = async (LOCAL_STORAGE_INSTANT_SEARCH_SETTING) => {
2924
3010
  var _a2;
@@ -2929,7 +3015,10 @@ const SearchIconWidgetPopup = () => {
2929
3015
  const { display } = response;
2930
3016
  setDisplaySettings(display);
2931
3017
  setSuggestionSettings((_a2 = display == null ? void 0 : display.search) == null ? void 0 : _a2.suggestion);
2932
- await handleMultiSearch(response, false, true);
3018
+ await handleMultiSearch({
3019
+ data: response,
3020
+ withFetchReviewInfo: true
3021
+ });
2933
3022
  };
2934
3023
  React__default.useEffect(() => {
2935
3024
  if (!isRenderAppInstantSearch)
@@ -2970,6 +3059,10 @@ const SearchIconWidgetPopup = () => {
2970
3059
  }
2971
3060
  handleSettings(localStorage.getItem(LOCAL_STORAGE_KEY.INSTANT_SEARCH_SETTING) || null);
2972
3061
  }, [isRenderAppInstantSearch]);
3062
+ React__default.useEffect(() => {
3063
+ if (isHasData)
3064
+ SearchIconWidgetInitSelector();
3065
+ }, [isHasData]);
2973
3066
  React__default.useEffect(() => {
2974
3067
  showInfo ? document.body.classList.add("sledge__open-popup-state") : document.body.classList.remove("sledge__open-popup-state");
2975
3068
  }, [showInfo]);
@@ -2978,7 +3071,10 @@ const SearchIconWidgetPopup = () => {
2978
3071
  const INSTANT_SEARCH_SETTING = JSON.parse(localStorage.getItem(LOCAL_STORAGE_KEY.INSTANT_SEARCH_SETTING) || "");
2979
3072
  const delayDebounceFn = setTimeout(() => {
2980
3073
  if (INSTANT_SEARCH_SETTING)
2981
- handleMultiSearch(INSTANT_SEARCH_SETTING, true);
3074
+ handleMultiSearch({
3075
+ data: INSTANT_SEARCH_SETTING,
3076
+ onSearch: true
3077
+ });
2982
3078
  }, 500);
2983
3079
  return () => clearTimeout(delayDebounceFn);
2984
3080
  }
@@ -3053,8 +3149,8 @@ const SearchIconWidgetPopup = () => {
3053
3149
  setShowPopupComponent: setShowInfo
3054
3150
  }
3055
3151
  ) : null,
3056
- searchResultOther && searchResultOther.map((item, index) => {
3057
- const { hits, name } = item;
3152
+ searchResultOther && searchResultOther.map((item2, index) => {
3153
+ const { hits, name } = item2;
3058
3154
  return /* @__PURE__ */ jsxRuntimeExports.jsx(React__default.Fragment, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
3059
3155
  Global.OtherIndexLists,
3060
3156
  {
@@ -3074,8 +3170,8 @@ const SearchIconWidgetPopup = () => {
3074
3170
  {
3075
3171
  sourceApp: "instant-search",
3076
3172
  type: "medium",
3077
- data: searchResultProduct.map((item) => {
3078
- const { variants, ...product } = item || {};
3173
+ data: searchResultProduct.map((item2) => {
3174
+ const { variants, ...product } = item2 || {};
3079
3175
  return {
3080
3176
  product,
3081
3177
  variants
@@ -3109,8 +3205,8 @@ const SearchIconWidgetPopup = () => {
3109
3205
  {
3110
3206
  sourceApp: "instant-search",
3111
3207
  type: "medium",
3112
- data: suggestionSettings[suggestionIndex].products.list.map((item) => {
3113
- const { variants, ...product } = item || {};
3208
+ data: suggestionSettings[suggestionIndex].products.list.map((item2) => {
3209
+ const { variants, ...product } = item2 || {};
3114
3210
  return {
3115
3211
  product,
3116
3212
  variants
@@ -3151,6 +3247,73 @@ const SearchIconWidgetPopup = () => {
3151
3247
  ] })
3152
3248
  ] }) });
3153
3249
  };
3250
+ const SearchIconWidgetInitSelector = () => {
3251
+ let element = Array.from(document.querySelectorAll(SELECTOR.INSTANT_SEARCH.ELEMENT_SEARCH_ICON_WIDGET));
3252
+ detectInitSelector({
3253
+ element,
3254
+ init: () => {
3255
+ if (element.length) {
3256
+ element.map((item) => {
3257
+ var _a, _b, _c, _d;
3258
+ if (item) {
3259
+ const ICON_SIZE = item.getAttribute(DATASET_ATTRIBUTE_KEY.GLOBAL.ICON_SIZE);
3260
+ const ON_AFTER_ADD_WISHLIST = item.getAttribute(DATASET_ATTRIBUTE_KEY.GLOBAL.ON_AFTER_ADD_WISHLIST);
3261
+ const ON_AFTER_REMOVE_WISHLIST = item.getAttribute(DATASET_ATTRIBUTE_KEY.GLOBAL.ON_AFTER_REMOVE_WISHLIST);
3262
+ const ON_AFTER_RENDER_PRODUCT = item.getAttribute(DATASET_ATTRIBUTE_KEY.GLOBAL.ON_AFTER_RENDER_PRODUCT);
3263
+ const PRODUCT_CARDS = (_a = item.querySelector(SELECTOR.GLOBAL.ELEMENT_CUSTOM_COMPONENTS)) == null ? void 0 : _a.getAttribute(DATASET_ATTRIBUTE_KEY.GLOBAL.RENDER_PRODUCT_CARD);
3264
+ const SUGGESTION_KEYWORD_LISTS = (_b = item.querySelector(SELECTOR.GLOBAL.ELEMENT_CUSTOM_COMPONENTS)) == null ? void 0 : _b.getAttribute(DATASET_ATTRIBUTE_KEY.INSTANT_SEARCH.RENDER_SUGGESTION_KEYWORD_LIST);
3265
+ const OTHER_INDEX_LISTS = (_c = item.querySelector(SELECTOR.GLOBAL.ELEMENT_CUSTOM_COMPONENTS)) == null ? void 0 : _c.getAttribute(DATASET_ATTRIBUTE_KEY.INSTANT_SEARCH.RENDER_OTHER_INDEX_LIST);
3266
+ const SEARCH_VIEW_MORE_RESULT = (_d = item.querySelector(SELECTOR.GLOBAL.ELEMENT_CUSTOM_COMPONENTS)) == null ? void 0 : _d.getAttribute(DATASET_ATTRIBUTE_KEY.INSTANT_SEARCH.RENDER_SEARCH_VIEW_MORE_RESULT);
3267
+ item.innerHTML = "";
3268
+ client.createRoot(item).render(
3269
+ /* @__PURE__ */ jsxRuntimeExports.jsx(React__default.StrictMode, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
3270
+ SledgeContext.Provider,
3271
+ {
3272
+ value: {
3273
+ isRenderApp: {
3274
+ wishlist: true,
3275
+ productReview: true,
3276
+ instantSearch: true
3277
+ },
3278
+ sledgeAnonymId: localStorage.getItem(LOCAL_STORAGE_KEY.ANONYM_ID) || "",
3279
+ isJsVersion: true
3280
+ },
3281
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
3282
+ SearchIconWidget,
3283
+ {
3284
+ size: ICON_SIZE || "sm",
3285
+ onAfterAddWishlist: (state) => {
3286
+ if (item)
3287
+ ON_AFTER_ADD_WISHLIST && eval(ON_AFTER_ADD_WISHLIST) && eval(ON_AFTER_ADD_WISHLIST)({ state });
3288
+ },
3289
+ onAfterRemoveWishlist: (state) => {
3290
+ if (item)
3291
+ ON_AFTER_REMOVE_WISHLIST && eval(ON_AFTER_REMOVE_WISHLIST) && eval(ON_AFTER_REMOVE_WISHLIST)({ state });
3292
+ },
3293
+ onAfterRenderProduct: (state) => {
3294
+ if (item)
3295
+ ON_AFTER_RENDER_PRODUCT && eval(ON_AFTER_RENDER_PRODUCT) && eval(ON_AFTER_RENDER_PRODUCT)({ state });
3296
+ },
3297
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
3298
+ CustomComponents,
3299
+ {
3300
+ suggestionKeywordList: SUGGESTION_KEYWORD_LISTS ? eval(SUGGESTION_KEYWORD_LISTS) : null,
3301
+ otherIndexList: OTHER_INDEX_LISTS ? eval(OTHER_INDEX_LISTS) : null,
3302
+ productCard: PRODUCT_CARDS ? eval(PRODUCT_CARDS) : null,
3303
+ searchViewMoreResult: SEARCH_VIEW_MORE_RESULT ? eval(SEARCH_VIEW_MORE_RESULT) : null
3304
+ }
3305
+ )
3306
+ }
3307
+ )
3308
+ }
3309
+ ) })
3310
+ );
3311
+ }
3312
+ });
3313
+ }
3314
+ }
3315
+ });
3316
+ };
3154
3317
  const SearchResultWidget = (props) => {
3155
3318
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s;
3156
3319
  const { isRenderApp, isJsVersion } = React__default.useContext(SledgeContext);
@@ -3293,8 +3456,8 @@ const SearchResultWidget = (props) => {
3293
3456
  let value = facet[0];
3294
3457
  let items = [];
3295
3458
  if (value === "variants.inventory_quantity") {
3296
- Object.keys(facetDistribution[value]).map((item) => {
3297
- return Boolean(Number(item)) ? facetDistribution[value][item] : 0;
3459
+ Object.keys(facetDistribution[value]).map((item2) => {
3460
+ return Boolean(Number(item2)) ? facetDistribution[value][item2] : 0;
3298
3461
  });
3299
3462
  items = [
3300
3463
  {
@@ -3305,11 +3468,11 @@ const SearchResultWidget = (props) => {
3305
3468
  } else if (value === "variants.price") {
3306
3469
  items = facetStats[value];
3307
3470
  } else {
3308
- items = Object.keys(facetDistribution[value]).map((item) => {
3471
+ items = Object.keys(facetDistribution[value]).map((item2) => {
3309
3472
  return {
3310
- name: item,
3311
- value: item,
3312
- total: facetDistribution[value][item] || 0
3473
+ name: item2,
3474
+ value: item2,
3475
+ total: facetDistribution[value][item2] || 0
3313
3476
  };
3314
3477
  });
3315
3478
  }
@@ -3613,8 +3776,8 @@ const SearchResultWidget = (props) => {
3613
3776
  ] })
3614
3777
  ] });
3615
3778
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sledge-instant-search__result-container", ref: searchResultContainerRef, children: [
3616
- isFirstLoading ? null : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${layoutType === "default" && (allowedTabs == null ? void 0 : allowedTabs.length) ? "sledge-instant-search__result-tab" : "sledge-instant-search__result-tab-no-index"}`, children: layoutType === "default" && (allowedTabs == null ? void 0 : allowedTabs.length) ? /* @__PURE__ */ jsxRuntimeExports.jsx("ul", { className: "sledge-instant-search__result-tab-list", children: allowedTabs.map((item) => {
3617
- const { name, index, total } = item;
3779
+ isFirstLoading ? null : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${layoutType === "default" && (allowedTabs == null ? void 0 : allowedTabs.length) ? "sledge-instant-search__result-tab" : "sledge-instant-search__result-tab-no-index"}`, children: layoutType === "default" && (allowedTabs == null ? void 0 : allowedTabs.length) ? /* @__PURE__ */ jsxRuntimeExports.jsx("ul", { className: "sledge-instant-search__result-tab-list", children: allowedTabs.map((item2) => {
3780
+ const { name, index, total } = item2;
3618
3781
  let isActive = clickedTabIndexId === index;
3619
3782
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("li", { onClick: (e) => handleChangeTabIndex(index, name), className: `${isActive ? "sledge-instant-search__result-tab-list-item-active" : ""}`, children: [
3620
3783
  name,
@@ -3936,13 +4099,13 @@ const ResultProduct = (props) => {
3936
4099
  let isCustom = ["variants.inventory_quantity"].includes(value);
3937
4100
  let isRange = ["variants.price"].includes(value);
3938
4101
  let isArray = ["tags"].includes(value);
3939
- let items = Array.isArray(facet[1]) && ((_a3 = facet[1]) == null ? void 0 : _a3.length) > 1 ? isRange ? `${value} >= ${facet[1][0]} AND ${value} <= ${facet[1][1]}` : isArray ? `${value} IN [${facet[1]}]` : (_b3 = facet[1]) == null ? void 0 : _b3.map((item) => {
3940
- return isCustom ? `${value} ${item}` : `${value} = '${item}'`;
4102
+ let items = Array.isArray(facet[1]) && ((_a3 = facet[1]) == null ? void 0 : _a3.length) > 1 ? isRange ? `${value} >= ${facet[1][0]} AND ${value} <= ${facet[1][1]}` : isArray ? `${value} IN [${facet[1]}]` : (_b3 = facet[1]) == null ? void 0 : _b3.map((item2) => {
4103
+ return isCustom ? `${value} ${item2}` : `${value} = '${item2}'`;
3941
4104
  }).join(" OR ") : isCustom ? `${value} ${facet[1]}` : isArray ? `${value} IN [${facet[1]}]` : `${value} = '${facet[1]}'`;
3942
4105
  return items;
3943
4106
  } else
3944
4107
  return null;
3945
- }).filter((item) => item);
4108
+ }).filter((item2) => item2);
3946
4109
  if (hiddenTags == null ? void 0 : hiddenTags.length)
3947
4110
  filters.push(`tags NOT IN [${hiddenTags}]`);
3948
4111
  if (collectionId)
@@ -3984,7 +4147,10 @@ const ResultProduct = (props) => {
3984
4147
  const handlePageChange = (page) => {
3985
4148
  setCurrentPage(page);
3986
4149
  setTimeout(() => {
3987
- scrollToElement(searchResultContainerRef.current, 50);
4150
+ scrollToElement({
4151
+ element: searchResultContainerRef.current,
4152
+ headerOffset: 50
4153
+ });
3988
4154
  }, 200);
3989
4155
  };
3990
4156
  const handleChangeKeyword = (value) => {
@@ -4057,17 +4223,17 @@ const ResultProduct = (props) => {
4057
4223
  ] })
4058
4224
  ] });
4059
4225
  } else if (display.toLowerCase() === "checkbox" && (items == null ? void 0 : items.length)) {
4060
- blockComponent = /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: items == null ? void 0 : items.map((item, index) => {
4226
+ blockComponent = /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: items == null ? void 0 : items.map((item2, index) => {
4061
4227
  var _a3;
4062
4228
  return /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
4063
4229
  Checkbox,
4064
4230
  {
4065
4231
  id: `${value}_${index}`,
4066
4232
  name: value,
4067
- value: item.value,
4068
- label: `${item.name}${item.total !== void 0 && isShowNumberMatchingProduct ? ` (${item.total})` : ""}`,
4233
+ value: item2.value,
4234
+ label: `${item2.name}${item2.total !== void 0 && isShowNumberMatchingProduct ? ` (${item2.total})` : ""}`,
4069
4235
  onClick: (e) => handleFilterChange(value, e.currentTarget.value),
4070
- defaultChecked: clickedFacets && ((_a3 = clickedFacets[value]) == null ? void 0 : _a3.includes(item.value)),
4236
+ defaultChecked: clickedFacets && ((_a3 = clickedFacets[value]) == null ? void 0 : _a3.includes(item2.value)),
4071
4237
  labelStyle: filter_option_style
4072
4238
  }
4073
4239
  ) }, index);
@@ -4079,8 +4245,8 @@ const ResultProduct = (props) => {
4079
4245
  id: value,
4080
4246
  name: value,
4081
4247
  onValueChange: (getValue) => handleFilterChange(value, getValue, true),
4082
- items: items == null ? void 0 : items.map((item) => {
4083
- const { name, value: value2, total } = item;
4248
+ items: items == null ? void 0 : items.map((item2) => {
4249
+ const { name, value: value2, total } = item2;
4084
4250
  return {
4085
4251
  label: `${name} ${total !== void 0 && isShowNumberMatchingProduct ? ` (${total})` : ""}`,
4086
4252
  value: value2
@@ -4097,8 +4263,8 @@ const ResultProduct = (props) => {
4097
4263
  placeholder: `Select ${label}`,
4098
4264
  name: value,
4099
4265
  onValueChange: (getValue) => handleFilterChange(value, getValue, true),
4100
- items: items == null ? void 0 : items.map((item) => {
4101
- const { name, value: value2, total } = item;
4266
+ items: items == null ? void 0 : items.map((item2) => {
4267
+ const { name, value: value2, total } = item2;
4102
4268
  return {
4103
4269
  label: `${name} ${total !== void 0 && isShowNumberMatchingProduct ? ` (${total})` : ""}`,
4104
4270
  value: value2
@@ -4108,19 +4274,19 @@ const ResultProduct = (props) => {
4108
4274
  }
4109
4275
  ) });
4110
4276
  } else if (display.toLowerCase() === "swatch" && (items == null ? void 0 : items.length)) {
4111
- blockComponent = /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: items == null ? void 0 : items.map((item, index) => {
4277
+ blockComponent = /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: items == null ? void 0 : items.map((item2, index) => {
4112
4278
  var _a3;
4113
- let getColorSwatch = (colorSwatches == null ? void 0 : colorSwatches.filter(({ name }) => name == null ? void 0 : name.includes(item.value))[0]) || {};
4279
+ let getColorSwatch = (colorSwatches == null ? void 0 : colorSwatches.filter(({ name }) => name == null ? void 0 : name.includes(item2.value))[0]) || {};
4114
4280
  return /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
4115
4281
  ColorSwatch,
4116
4282
  {
4117
4283
  id: `${value}_${index}`,
4118
4284
  name: value,
4119
- value: item.value,
4285
+ value: item2.value,
4120
4286
  rgb: getColorSwatch == null ? void 0 : getColorSwatch.rgb,
4121
4287
  image: getColorSwatch == null ? void 0 : getColorSwatch.image,
4122
4288
  onClick: (e) => handleFilterChange(value, e.currentTarget.value),
4123
- defaultChecked: clickedFacets && ((_a3 = clickedFacets[value]) == null ? void 0 : _a3.includes(item.value))
4289
+ defaultChecked: clickedFacets && ((_a3 = clickedFacets[value]) == null ? void 0 : _a3.includes(item2.value))
4124
4290
  }
4125
4291
  ) }, index);
4126
4292
  }) });
@@ -4189,11 +4355,11 @@ const ResultProduct = (props) => {
4189
4355
  label: getLabel,
4190
4356
  name: getName,
4191
4357
  value: facet[1]
4192
- }) : (_b2 = facet[1]) == null ? void 0 : _b2.map((item) => {
4358
+ }) : (_b2 = facet[1]) == null ? void 0 : _b2.map((item2) => {
4193
4359
  dataClickedFacets.push({
4194
4360
  label: getLabel,
4195
4361
  name: getName,
4196
- value: item
4362
+ value: item2
4197
4363
  });
4198
4364
  }) : dataClickedFacets.push({
4199
4365
  label: getLabel,
@@ -4276,8 +4442,8 @@ const ResultProduct = (props) => {
4276
4442
  fill: "black"
4277
4443
  }
4278
4444
  ) }),
4279
- options: allowedSorts.map((item) => {
4280
- const { label, value } = item;
4445
+ options: allowedSorts.map((item2) => {
4446
+ const { label, value } = item2;
4281
4447
  return {
4282
4448
  label,
4283
4449
  value
@@ -4294,10 +4460,10 @@ const ResultProduct = (props) => {
4294
4460
  SelectField,
4295
4461
  {
4296
4462
  align: "end",
4297
- options: displaySettings.search.allowed_limit.map((item) => {
4463
+ options: displaySettings.search.allowed_limit.map((item2) => {
4298
4464
  return {
4299
- label: item,
4300
- value: item
4465
+ label: item2,
4466
+ value: item2
4301
4467
  };
4302
4468
  }),
4303
4469
  value: clickedLimitId,
@@ -4318,8 +4484,8 @@ const ResultProduct = (props) => {
4318
4484
  {
4319
4485
  sourceApp: "instant-search",
4320
4486
  type: "large",
4321
- data: searchResult.map((item) => {
4322
- const { variants, ...product } = item || {};
4487
+ data: searchResult.map((item2) => {
4488
+ const { variants, ...product } = item2 || {};
4323
4489
  return {
4324
4490
  product,
4325
4491
  variants
@@ -4419,7 +4585,10 @@ const ResultCategory = (props) => {
4419
4585
  const handlePageChange = (page) => {
4420
4586
  setCurrentPage(page);
4421
4587
  setTimeout(() => {
4422
- scrollToElement(searchResultContainerRef.current, 50);
4588
+ scrollToElement({
4589
+ element: searchResultContainerRef.current,
4590
+ headerOffset: 50
4591
+ });
4423
4592
  }, 200);
4424
4593
  };
4425
4594
  React__default.useEffect(() => {
@@ -4664,8 +4833,8 @@ const SearchWidget = (props) => {
4664
4833
  isComponentJsVersion: isJsVersion
4665
4834
  }
4666
4835
  ) : null,
4667
- searchResultOther.map((item, index) => {
4668
- const { hits, name } = item;
4836
+ searchResultOther.map((item2, index) => {
4837
+ const { hits, name } = item2;
4669
4838
  return /* @__PURE__ */ jsxRuntimeExports.jsx(React__default.Fragment, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Global.OtherIndexLists, { listsComponent: otherIndexListsComponent, name, items: hits, isComponentJsVersion: isJsVersion }) }, index);
4670
4839
  })
4671
4840
  ] }),
@@ -4676,8 +4845,8 @@ const SearchWidget = (props) => {
4676
4845
  {
4677
4846
  sourceApp: "instant-search",
4678
4847
  type: "small",
4679
- data: searchResultProduct.map((item) => {
4680
- const { variants, ...product } = item || {};
4848
+ data: searchResultProduct.map((item2) => {
4849
+ const { variants, ...product } = item2 || {};
4681
4850
  return {
4682
4851
  product,
4683
4852
  variants
@@ -4709,8 +4878,8 @@ const SearchWidget = (props) => {
4709
4878
  {
4710
4879
  sourceApp: "instant-search",
4711
4880
  type: "small",
4712
- data: suggestionSettings[suggestionIndex].products.list.map((item) => {
4713
- const { variants, ...product } = item || {};
4881
+ data: suggestionSettings[suggestionIndex].products.list.map((item2) => {
4882
+ const { variants, ...product } = item2 || {};
4714
4883
  return {
4715
4884
  product,
4716
4885
  variants