@growupsell/react-ecommerce-core 2.0.13 → 2.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -165,6 +165,8 @@ declare const ProductDetailContext: React__default.Context<{
165
165
  type Props$2 = {
166
166
  productId: any;
167
167
  selected_variants: any;
168
+ /** Server-fetched product detail for SSR / first paint (crawlers + LCP). */
169
+ initialProductDetail?: any;
168
170
  };
169
171
  declare const ProductDetailProvider: (props: React__default.PropsWithChildren<Props$2>) => react_jsx_runtime.JSX.Element;
170
172
  declare const useProductDetail: () => {
@@ -237,6 +239,8 @@ declare const HomeConfigContext: React__default.Context<{
237
239
  declare const HomeConfigProvider: (props: {
238
240
  page: string;
239
241
  children: React__default.ReactNode;
242
+ /** Server-fetched theme content for SSR / first paint (crawlers). */
243
+ initialThemeContent?: any;
240
244
  }) => react_jsx_runtime.JSX.Element;
241
245
  declare const useHomeConfig: () => {
242
246
  selectedConfig: any[];
@@ -276,15 +280,6 @@ declare const useCustomPageConfig: () => {
276
280
  loading: boolean;
277
281
  };
278
282
 
279
- /**
280
- * Bridges the custom-page provider into the shared HeroSlider context.
281
- * CustomPageConfigProvider owns both block and hero state so saves cannot race.
282
- */
283
- declare const CustomPageHeroSliderProvider: (props: {
284
- pageId: number;
285
- children: React__default.ReactNode;
286
- }) => react_jsx_runtime.JSX.Element;
287
-
288
283
  declare const WishlistContext: React__default.Context<{
289
284
  wishlistItems: any[];
290
285
  addToWishlist: (sku: any) => void;
@@ -529,4 +524,4 @@ type Props = {
529
524
  declare const LiveSupportWidgetProvider: React__default.FC<Props>;
530
525
  declare const useLiveSupportWidget: () => LiveSupportWidgetContextValue;
531
526
 
532
- export { AuthContext, AuthProvider, BaseProvider, BusinessConfigProvider, BusinessMediaContext, BusinessMediaProvider, CartContext, CartProvider, CartWishlistRefreshContext, CartWishlistRefreshProvider, CustomPageConfigContext, CustomPageConfigProvider, CustomPageHeroSliderProvider, CustomerConfigContext, CustomerConfigProvider, FilterContext, FilterProvider, HeaderFooterContext, HeaderFooterProvider, HomeConfigContext, HomeConfigHeroSliderContext, HomeConfigHeroSliderProvider, HomeConfigProvider, LiveSupportWidgetProvider, MenuCartContext, MenuCartProvider, MenuFilterContext, MenuFilterProvider, ModalProvider, ProductConfigContext, ProductConfigProvider, ProductDetailContext, ProductDetailProvider, ReferralCodeProvider, StorageContext, StorageProvider, ThemeEditContext, ThemeEditProvider, type ToastSupportApi, type ToastSupportOptions, ToastSupportProvider, WishlistContext, WishlistProvider, useAuth, useBusiness, useBusinessContext, useBusinessMedia, useCart, useCartWishlistRefresh, useCustomPageConfig, useCustomer, useFilter, useHeaderFooter, useHomeConfig, useHomeConfigHeroSlider, useLiveSupportWidget, useMenuCart, useMenuFilter, useModal, useProductConfig, useProductDetail, useReferralCode, useStorage, useThemeEdit, useToastSupport, useWishlist };
527
+ export { AuthContext, AuthProvider, BaseProvider, BusinessConfigProvider, BusinessMediaContext, BusinessMediaProvider, CartContext, CartProvider, CartWishlistRefreshContext, CartWishlistRefreshProvider, CustomPageConfigContext, CustomPageConfigProvider, CustomerConfigContext, CustomerConfigProvider, FilterContext, FilterProvider, HeaderFooterContext, HeaderFooterProvider, HomeConfigContext, HomeConfigHeroSliderContext, HomeConfigHeroSliderProvider, HomeConfigProvider, LiveSupportWidgetProvider, MenuCartContext, MenuCartProvider, MenuFilterContext, MenuFilterProvider, ModalProvider, ProductConfigContext, ProductConfigProvider, ProductDetailContext, ProductDetailProvider, ReferralCodeProvider, StorageContext, StorageProvider, ThemeEditContext, ThemeEditProvider, type ToastSupportApi, type ToastSupportOptions, ToastSupportProvider, WishlistContext, WishlistProvider, useAuth, useBusiness, useBusinessContext, useBusinessMedia, useCart, useCartWishlistRefresh, useCustomPageConfig, useCustomer, useFilter, useHeaderFooter, useHomeConfig, useHomeConfigHeroSlider, useLiveSupportWidget, useMenuCart, useMenuFilter, useModal, useProductConfig, useProductDetail, useReferralCode, useStorage, useThemeEdit, useToastSupport, useWishlist };
package/dist/index.d.ts CHANGED
@@ -165,6 +165,8 @@ declare const ProductDetailContext: React__default.Context<{
165
165
  type Props$2 = {
166
166
  productId: any;
167
167
  selected_variants: any;
168
+ /** Server-fetched product detail for SSR / first paint (crawlers + LCP). */
169
+ initialProductDetail?: any;
168
170
  };
169
171
  declare const ProductDetailProvider: (props: React__default.PropsWithChildren<Props$2>) => react_jsx_runtime.JSX.Element;
170
172
  declare const useProductDetail: () => {
@@ -237,6 +239,8 @@ declare const HomeConfigContext: React__default.Context<{
237
239
  declare const HomeConfigProvider: (props: {
238
240
  page: string;
239
241
  children: React__default.ReactNode;
242
+ /** Server-fetched theme content for SSR / first paint (crawlers). */
243
+ initialThemeContent?: any;
240
244
  }) => react_jsx_runtime.JSX.Element;
241
245
  declare const useHomeConfig: () => {
242
246
  selectedConfig: any[];
@@ -276,15 +280,6 @@ declare const useCustomPageConfig: () => {
276
280
  loading: boolean;
277
281
  };
278
282
 
279
- /**
280
- * Bridges the custom-page provider into the shared HeroSlider context.
281
- * CustomPageConfigProvider owns both block and hero state so saves cannot race.
282
- */
283
- declare const CustomPageHeroSliderProvider: (props: {
284
- pageId: number;
285
- children: React__default.ReactNode;
286
- }) => react_jsx_runtime.JSX.Element;
287
-
288
283
  declare const WishlistContext: React__default.Context<{
289
284
  wishlistItems: any[];
290
285
  addToWishlist: (sku: any) => void;
@@ -529,4 +524,4 @@ type Props = {
529
524
  declare const LiveSupportWidgetProvider: React__default.FC<Props>;
530
525
  declare const useLiveSupportWidget: () => LiveSupportWidgetContextValue;
531
526
 
532
- export { AuthContext, AuthProvider, BaseProvider, BusinessConfigProvider, BusinessMediaContext, BusinessMediaProvider, CartContext, CartProvider, CartWishlistRefreshContext, CartWishlistRefreshProvider, CustomPageConfigContext, CustomPageConfigProvider, CustomPageHeroSliderProvider, CustomerConfigContext, CustomerConfigProvider, FilterContext, FilterProvider, HeaderFooterContext, HeaderFooterProvider, HomeConfigContext, HomeConfigHeroSliderContext, HomeConfigHeroSliderProvider, HomeConfigProvider, LiveSupportWidgetProvider, MenuCartContext, MenuCartProvider, MenuFilterContext, MenuFilterProvider, ModalProvider, ProductConfigContext, ProductConfigProvider, ProductDetailContext, ProductDetailProvider, ReferralCodeProvider, StorageContext, StorageProvider, ThemeEditContext, ThemeEditProvider, type ToastSupportApi, type ToastSupportOptions, ToastSupportProvider, WishlistContext, WishlistProvider, useAuth, useBusiness, useBusinessContext, useBusinessMedia, useCart, useCartWishlistRefresh, useCustomPageConfig, useCustomer, useFilter, useHeaderFooter, useHomeConfig, useHomeConfigHeroSlider, useLiveSupportWidget, useMenuCart, useMenuFilter, useModal, useProductConfig, useProductDetail, useReferralCode, useStorage, useThemeEdit, useToastSupport, useWishlist };
527
+ export { AuthContext, AuthProvider, BaseProvider, BusinessConfigProvider, BusinessMediaContext, BusinessMediaProvider, CartContext, CartProvider, CartWishlistRefreshContext, CartWishlistRefreshProvider, CustomPageConfigContext, CustomPageConfigProvider, CustomerConfigContext, CustomerConfigProvider, FilterContext, FilterProvider, HeaderFooterContext, HeaderFooterProvider, HomeConfigContext, HomeConfigHeroSliderContext, HomeConfigHeroSliderProvider, HomeConfigProvider, LiveSupportWidgetProvider, MenuCartContext, MenuCartProvider, MenuFilterContext, MenuFilterProvider, ModalProvider, ProductConfigContext, ProductConfigProvider, ProductDetailContext, ProductDetailProvider, ReferralCodeProvider, StorageContext, StorageProvider, ThemeEditContext, ThemeEditProvider, type ToastSupportApi, type ToastSupportOptions, ToastSupportProvider, WishlistContext, WishlistProvider, useAuth, useBusiness, useBusinessContext, useBusinessMedia, useCart, useCartWishlistRefresh, useCustomPageConfig, useCustomer, useFilter, useHeaderFooter, useHomeConfig, useHomeConfigHeroSlider, useLiveSupportWidget, useMenuCart, useMenuFilter, useModal, useProductConfig, useProductDetail, useReferralCode, useStorage, useThemeEdit, useToastSupport, useWishlist };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { AuthContext, AuthProvider, BaseProvider, BusinessConfigProvider, BusinessMediaContext, BusinessMediaProvider, CartContext, CartProvider, CartWishlistRefreshContext, CartWishlistRefreshProvider, CustomPageConfigContext, CustomPageConfigProvider, CustomPageHeroSliderProvider, CustomerConfigContext, CustomerConfigProvider, FilterContext, FilterProvider, HeaderFooterContext, HeaderFooterProvider, HomeConfigContext, HomeConfigHeroSliderContext, HomeConfigHeroSliderProvider, HomeConfigProvider, LiveSupportWidgetProvider, MenuCartContext, MenuCartProvider, MenuFilterContext, MenuFilterProvider, ModalProvider, ProductConfigContext, ProductConfigProvider, ProductDetailContext, ProductDetailProvider, ReferralCodeProvider, StorageContext, StorageProvider, ThemeEditContext, ThemeEditProvider, ToastSupportProvider, WishlistContext, WishlistProvider, useAuth, useBusiness, useBusinessContext, useBusinessMedia, useCart, useCartWishlistRefresh, useCustomPageConfig, useCustomer, useFilter, useHeaderFooter, useHomeConfig, useHomeConfigHeroSlider, useLiveSupportWidget, useMenuCart, useMenuFilter, useModal, useProductConfig, useProductDetail, useReferralCode, useStorage, useThemeEdit, useToastSupport, useWishlist } from './chunk-VK7BF3ES.js';
1
+ export { AuthContext, AuthProvider, BaseProvider, BusinessConfigProvider, BusinessMediaContext, BusinessMediaProvider, CartContext, CartProvider, CartWishlistRefreshContext, CartWishlistRefreshProvider, CustomPageConfigContext, CustomPageConfigProvider, CustomerConfigContext, CustomerConfigProvider, FilterContext, FilterProvider, HeaderFooterContext, HeaderFooterProvider, HomeConfigContext, HomeConfigHeroSliderContext, HomeConfigHeroSliderProvider, HomeConfigProvider, LiveSupportWidgetProvider, MenuCartContext, MenuCartProvider, MenuFilterContext, MenuFilterProvider, ModalProvider, ProductConfigContext, ProductConfigProvider, ProductDetailContext, ProductDetailProvider, ReferralCodeProvider, StorageContext, StorageProvider, ThemeEditContext, ThemeEditProvider, ToastSupportProvider, WishlistContext, WishlistProvider, useAuth, useBusiness, useBusinessContext, useBusinessMedia, useCart, useCartWishlistRefresh, useCustomPageConfig, useCustomer, useFilter, useHeaderFooter, useHomeConfig, useHomeConfigHeroSlider, useLiveSupportWidget, useMenuCart, useMenuFilter, useModal, useProductConfig, useProductDetail, useReferralCode, useStorage, useThemeEdit, useToastSupport, useWishlist } from './chunk-E66B7ABK.js';
2
2
  export { BusinessConfigContext } from './chunk-SP77KIKJ.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
package/dist/provider.cjs CHANGED
@@ -776,11 +776,42 @@ var ProductDetailContext = react.createContext({
776
776
  waitProductLoading: true,
777
777
  setSelectedVariants: () => null
778
778
  });
779
+ function resolveSelectedVariants(productDetail, selected_variants) {
780
+ if (!productDetail?.variant) return [];
781
+ if (selected_variants !== null && selected_variants !== void 0) {
782
+ const selectedIds = String(selected_variants).split(",").map(Number).filter((id) => Number.isFinite(id));
783
+ return productDetail.variant?.map((vType) => {
784
+ const matchedVariant = vType.variants.find(
785
+ (variant) => selectedIds.includes(variant.id)
786
+ );
787
+ if (matchedVariant) {
788
+ return {
789
+ id: matchedVariant.id,
790
+ type: vType.variant_type.type,
791
+ value: matchedVariant.label
792
+ };
793
+ }
794
+ return null;
795
+ }).filter(Boolean) || [];
796
+ }
797
+ return productDetail.variant?.map((vType) => ({
798
+ id: vType.variants[0].id,
799
+ type: vType.variant_type.type,
800
+ value: vType.variants[0].label
801
+ })) || [];
802
+ }
779
803
  var ProductDetailProvider = (props) => {
780
- const [selectedVariants, setSelectedVariants] = react.useState([]);
781
- const [productDetail, setProductDetail] = react.useState([]);
782
- const [waitProductLoading, setWaitProductLoading] = react.useState(true);
783
- const selectedIds = props?.selected_variants?.split(",").map(Number);
804
+ const hasInitial = Boolean(props.initialProductDetail);
805
+ const [selectedVariants, setSelectedVariants] = react.useState(
806
+ () => hasInitial ? resolveSelectedVariants(
807
+ props.initialProductDetail,
808
+ props.selected_variants
809
+ ) : []
810
+ );
811
+ const [productDetail, setProductDetail] = react.useState(
812
+ props.initialProductDetail ?? null
813
+ );
814
+ const [waitProductLoading, setWaitProductLoading] = react.useState(!hasInitial);
784
815
  const selectUnselectVariants = (type, value, id) => {
785
816
  setWaitProductLoading(true);
786
817
  setSelectedVariants((prev) => {
@@ -800,35 +831,15 @@ var ProductDetailProvider = (props) => {
800
831
  };
801
832
  react.useEffect(() => {
802
833
  (async () => {
803
- setWaitProductLoading(true);
834
+ if (!hasInitial) {
835
+ setWaitProductLoading(true);
836
+ }
804
837
  try {
805
838
  const productDetail2 = await api.api.getProductDetail(props.productId);
806
839
  setProductDetail(productDetail2);
807
- if (props.selected_variants !== null) {
808
- const initialV = productDetail2?.variant?.map((vType) => {
809
- const matchedVariant = vType.variants.find(
810
- (variant) => selectedIds.includes(variant.id)
811
- );
812
- if (matchedVariant) {
813
- return {
814
- id: matchedVariant.id,
815
- type: vType.variant_type.type,
816
- value: matchedVariant.label
817
- };
818
- }
819
- return null;
820
- }).filter(Boolean);
821
- setSelectedVariants(initialV || []);
822
- } else {
823
- let initialV = productDetail2.variant.map((vType) => {
824
- return {
825
- id: vType.variants[0].id,
826
- type: vType.variant_type.type,
827
- value: vType.variants[0].label
828
- };
829
- });
830
- setSelectedVariants(initialV || []);
831
- }
840
+ setSelectedVariants(
841
+ resolveSelectedVariants(productDetail2, props.selected_variants)
842
+ );
832
843
  } catch (error) {
833
844
  console.error("Error loading product details:", error);
834
845
  } finally {
@@ -926,15 +937,23 @@ var HomeConfigContext = react.createContext({
926
937
  loading: true
927
938
  });
928
939
  var HomeConfigProvider = (props) => {
929
- const [selectedConfig, setSelectedConfig] = react.useState([]);
940
+ const hasInitial = Boolean(props.initialThemeContent);
941
+ const [selectedConfig, setSelectedConfig] = react.useState(() => {
942
+ const data = props.initialThemeContent?.data;
943
+ return Array.isArray(data) ? data.filter((item) => item !== null && item !== void 0) : [];
944
+ });
930
945
  const { token } = useThemeEdit();
931
946
  const themeConfig = react.useContext(BusinessConfigContext);
932
- const [themeConfigData, setThemeConfigData] = react.useState({});
933
- const [isInitialized, setIsInitialized] = react.useState(false);
947
+ const [themeConfigData, setThemeConfigData] = react.useState(
948
+ props.initialThemeContent ?? {}
949
+ );
950
+ const [isInitialized, setIsInitialized] = react.useState(hasInitial);
934
951
  const updateRef = react.useRef(false);
935
- const [loading, setLoading] = react.useState(true);
952
+ const [loading, setLoading] = react.useState(!hasInitial);
936
953
  const getThemeConfig = react.useCallback(async () => {
937
- setLoading(true);
954
+ if (!hasInitial) {
955
+ setLoading(true);
956
+ }
938
957
  try {
939
958
  const response = await api$1.retrieveThemeContent(
940
959
  themeConfig.theme.id,
@@ -954,7 +973,7 @@ var HomeConfigProvider = (props) => {
954
973
  } finally {
955
974
  setLoading(false);
956
975
  }
957
- }, [themeConfig.theme.id]);
976
+ }, [themeConfig.theme.id, hasInitial, props.page]);
958
977
  const onUpdateThemeContent = react.useCallback(
959
978
  async (configToUpdate = selectedConfig) => {
960
979
  try {
@@ -1048,6 +1067,65 @@ var HomeConfigProvider = (props) => {
1048
1067
  );
1049
1068
  };
1050
1069
  var useHomeConfig = () => react.useContext(HomeConfigContext);
1070
+ var HomeConfigHeroSliderContext = react.createContext({
1071
+ loading: true,
1072
+ heroSliderConfigData: [],
1073
+ onUpdateHeroSlider: () => null
1074
+ });
1075
+ var HomeConfigHeroSliderProvider = (props) => {
1076
+ const [loading, setLoading] = react.useState(true);
1077
+ const [heroSliderConfigData, setHeroSliderConfigData] = react.useState([]);
1078
+ const { token } = useThemeEdit();
1079
+ const themeConfig = react.useContext(BusinessConfigContext);
1080
+ const getHeroSliderConfig = async () => {
1081
+ setLoading(true);
1082
+ try {
1083
+ const response = await api$1.retrieveThemeContent(
1084
+ themeConfig.theme.id,
1085
+ "hero_slider"
1086
+ );
1087
+ setHeroSliderConfigData(response.data);
1088
+ } finally {
1089
+ setLoading(false);
1090
+ }
1091
+ };
1092
+ react.useEffect(() => {
1093
+ getHeroSliderConfig();
1094
+ }, []);
1095
+ const onUpdateHeroSlider = async (configToUpdate) => {
1096
+ setLoading(true);
1097
+ try {
1098
+ const body = {
1099
+ data: configToUpdate,
1100
+ slug: "hero_slider",
1101
+ platform: typeof window !== "undefined" ? "website" : "app"
1102
+ };
1103
+ await api$1.updateThemeContent(
1104
+ body,
1105
+ themeConfig?.theme?.id,
1106
+ "hero_slider",
1107
+ token
1108
+ );
1109
+ const updatedResponse = await api$1.retrieveThemeContent(
1110
+ themeConfig.theme.id,
1111
+ "hero_slider"
1112
+ );
1113
+ setHeroSliderConfigData(updatedResponse.data);
1114
+ } catch (error) {
1115
+ console.error("Error updating theme content:", error);
1116
+ } finally {
1117
+ setLoading(false);
1118
+ }
1119
+ };
1120
+ return /* @__PURE__ */ jsxRuntime.jsx(
1121
+ HomeConfigHeroSliderContext.Provider,
1122
+ {
1123
+ value: { loading, heroSliderConfigData, onUpdateHeroSlider },
1124
+ children: props.children
1125
+ }
1126
+ );
1127
+ };
1128
+ var useHomeConfigHeroSlider = () => react.useContext(HomeConfigHeroSliderContext);
1051
1129
  var CustomPageConfigContext = react.createContext({
1052
1130
  selectedConfig: [],
1053
1131
  setSelectedConfig: () => null,
@@ -1178,80 +1256,17 @@ var CustomPageConfigProvider = (props) => {
1178
1256
  onUpdateHeroSlider,
1179
1257
  loading
1180
1258
  },
1181
- children: props.children
1259
+ children: /* @__PURE__ */ jsxRuntime.jsx(
1260
+ HomeConfigHeroSliderContext.Provider,
1261
+ {
1262
+ value: { loading, heroSliderConfigData, onUpdateHeroSlider },
1263
+ children: props.children
1264
+ }
1265
+ )
1182
1266
  }
1183
1267
  );
1184
1268
  };
1185
1269
  var useCustomPageConfig = () => react.useContext(CustomPageConfigContext);
1186
- var HomeConfigHeroSliderContext = react.createContext({
1187
- loading: true,
1188
- heroSliderConfigData: [],
1189
- onUpdateHeroSlider: () => null
1190
- });
1191
- var HomeConfigHeroSliderProvider = (props) => {
1192
- const [loading, setLoading] = react.useState(true);
1193
- const [heroSliderConfigData, setHeroSliderConfigData] = react.useState([]);
1194
- const { token } = useThemeEdit();
1195
- const themeConfig = react.useContext(BusinessConfigContext);
1196
- const getHeroSliderConfig = async () => {
1197
- setLoading(true);
1198
- try {
1199
- const response = await api$1.retrieveThemeContent(
1200
- themeConfig.theme.id,
1201
- "hero_slider"
1202
- );
1203
- setHeroSliderConfigData(response.data);
1204
- } finally {
1205
- setLoading(false);
1206
- }
1207
- };
1208
- react.useEffect(() => {
1209
- getHeroSliderConfig();
1210
- }, []);
1211
- const onUpdateHeroSlider = async (configToUpdate) => {
1212
- setLoading(true);
1213
- try {
1214
- const body = {
1215
- data: configToUpdate,
1216
- slug: "hero_slider",
1217
- platform: typeof window !== "undefined" ? "website" : "app"
1218
- };
1219
- await api$1.updateThemeContent(
1220
- body,
1221
- themeConfig?.theme?.id,
1222
- "hero_slider",
1223
- token
1224
- );
1225
- const updatedResponse = await api$1.retrieveThemeContent(
1226
- themeConfig.theme.id,
1227
- "hero_slider"
1228
- );
1229
- setHeroSliderConfigData(updatedResponse.data);
1230
- } catch (error) {
1231
- console.error("Error updating theme content:", error);
1232
- } finally {
1233
- setLoading(false);
1234
- }
1235
- };
1236
- return /* @__PURE__ */ jsxRuntime.jsx(
1237
- HomeConfigHeroSliderContext.Provider,
1238
- {
1239
- value: { loading, heroSliderConfigData, onUpdateHeroSlider },
1240
- children: props.children
1241
- }
1242
- );
1243
- };
1244
- var useHomeConfigHeroSlider = () => react.useContext(HomeConfigHeroSliderContext);
1245
- var CustomPageHeroSliderProvider = (props) => {
1246
- const { loading, heroSliderConfigData, onUpdateHeroSlider } = useCustomPageConfig();
1247
- return /* @__PURE__ */ jsxRuntime.jsx(
1248
- HomeConfigHeroSliderContext.Provider,
1249
- {
1250
- value: { loading, heroSliderConfigData, onUpdateHeroSlider },
1251
- children: props.children
1252
- }
1253
- );
1254
- };
1255
1270
  var WishlistContext = react.createContext({
1256
1271
  wishlistItems: [],
1257
1272
  addToWishlist: () => null,
@@ -1921,7 +1936,6 @@ exports.CartWishlistRefreshContext = CartWishlistRefreshContext;
1921
1936
  exports.CartWishlistRefreshProvider = CartWishlistRefreshProvider;
1922
1937
  exports.CustomPageConfigContext = CustomPageConfigContext;
1923
1938
  exports.CustomPageConfigProvider = CustomPageConfigProvider;
1924
- exports.CustomPageHeroSliderProvider = CustomPageHeroSliderProvider;
1925
1939
  exports.CustomerConfigContext = CustomerConfigContext;
1926
1940
  exports.CustomerConfigProvider = CustomerConfigProvider;
1927
1941
  exports.FilterContext = FilterContext;