@growupsell/react-ecommerce-core 1.0.2 → 2.0.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.
- package/README.md +35 -0
- package/dist/business-config-context.cjs +14 -0
- package/dist/business-config-context.cjs.map +1 -0
- package/dist/business-config-context.d.cts +10 -0
- package/dist/business-config-context.d.ts +10 -0
- package/dist/business-config-context.js +3 -0
- package/dist/business-config-context.js.map +1 -0
- package/dist/chunk-SP77KIKJ.js +12 -0
- package/dist/chunk-SP77KIKJ.js.map +1 -0
- package/dist/{chunk-D52TP6ZA.js → chunk-XL2AT5BD.js} +33 -148
- package/dist/chunk-XL2AT5BD.js.map +1 -0
- package/dist/index.cjs +30 -143
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +513 -12
- package/dist/index.d.ts +513 -12
- package/dist/index.js +2 -1
- package/dist/provider.cjs +30 -142
- package/dist/provider.cjs.map +1 -1
- package/dist/provider.d.cts +4 -503
- package/dist/provider.d.ts +4 -503
- package/dist/provider.js +2 -1
- package/package.json +15 -7
- package/dist/chunk-D52TP6ZA.js.map +0 -1
package/README.md
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# @growupsell/react-ecommerce-core
|
|
2
|
+
|
|
3
|
+
React providers, hooks, and shared runtime helpers used by Growupsell ecommerce apps.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm i @growupsell/react-ecommerce-core @growupsell/api
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Peer dependencies
|
|
12
|
+
|
|
13
|
+
- `react` `^18`
|
|
14
|
+
- `react-dom` `^18`
|
|
15
|
+
|
|
16
|
+
## Quick start
|
|
17
|
+
|
|
18
|
+
```tsx
|
|
19
|
+
import { AuthProvider } from '@growupsell/react-ecommerce-core';
|
|
20
|
+
|
|
21
|
+
export function AppRoot({ children }: { children: React.ReactNode }) {
|
|
22
|
+
return <AuthProvider>{children}</AuthProvider>;
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Exports
|
|
27
|
+
|
|
28
|
+
- `@growupsell/react-ecommerce-core` - root exports
|
|
29
|
+
- `@growupsell/react-ecommerce-core/provider` - provider-focused entry
|
|
30
|
+
- `@growupsell/react-ecommerce-core/business-config-context` - narrow export for `BusinessConfigContext`
|
|
31
|
+
|
|
32
|
+
## Notes
|
|
33
|
+
|
|
34
|
+
- This package depends on `@growupsell/api`.
|
|
35
|
+
- `ToastSupportProvider` / `useToastSupport` let cart and wishlist show messages without importing UI. On web, pass `toast` from `@growupsell/react-ecommerce-ui/toast` into `BaseProvider`; on React Native, pass your own implementation or omit (no-ops).
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('react');
|
|
4
|
+
|
|
5
|
+
// src/provider/BusinessConfigContext.tsx
|
|
6
|
+
var BusinessConfigContext = react.createContext({
|
|
7
|
+
currency: null,
|
|
8
|
+
reward_point_config: null,
|
|
9
|
+
orderConfig: null
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
exports.BusinessConfigContext = BusinessConfigContext;
|
|
13
|
+
//# sourceMappingURL=business-config-context.cjs.map
|
|
14
|
+
//# sourceMappingURL=business-config-context.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/provider/BusinessConfigContext.tsx"],"names":["createContext"],"mappings":";;;;;AAGO,IAAM,wBAAwBA,mBAAA,CAIlC;AAAA,EACD,QAAA,EAAU,IAAA;AAAA,EACV,mBAAA,EAAqB,IAAA;AAAA,EACrB,WAAA,EAAa;AACf,CAAC","file":"business-config-context.cjs","sourcesContent":["import { createContext } from 'react';\n\n/** Split out so `@growupsell/react-ecommerce-ui` can consume theme without importing the full provider graph. */\nexport const BusinessConfigContext = createContext<{\n currency: any;\n reward_point_config: any;\n orderConfig: any;\n}>({\n currency: null,\n reward_point_config: null,\n orderConfig: null,\n});\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
/** Split out so `@growupsell/react-ecommerce-ui` can consume theme without importing the full provider graph. */
|
|
4
|
+
declare const BusinessConfigContext: React.Context<{
|
|
5
|
+
currency: any;
|
|
6
|
+
reward_point_config: any;
|
|
7
|
+
orderConfig: any;
|
|
8
|
+
}>;
|
|
9
|
+
|
|
10
|
+
export { BusinessConfigContext };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
/** Split out so `@growupsell/react-ecommerce-ui` can consume theme without importing the full provider graph. */
|
|
4
|
+
declare const BusinessConfigContext: React.Context<{
|
|
5
|
+
currency: any;
|
|
6
|
+
reward_point_config: any;
|
|
7
|
+
orderConfig: any;
|
|
8
|
+
}>;
|
|
9
|
+
|
|
10
|
+
export { BusinessConfigContext };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"business-config-context.js"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createContext } from 'react';
|
|
2
|
+
|
|
3
|
+
// src/provider/BusinessConfigContext.tsx
|
|
4
|
+
var BusinessConfigContext = createContext({
|
|
5
|
+
currency: null,
|
|
6
|
+
reward_point_config: null,
|
|
7
|
+
orderConfig: null
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
export { BusinessConfigContext };
|
|
11
|
+
//# sourceMappingURL=chunk-SP77KIKJ.js.map
|
|
12
|
+
//# sourceMappingURL=chunk-SP77KIKJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/provider/BusinessConfigContext.tsx"],"names":[],"mappings":";;;AAGO,IAAM,wBAAwB,aAAA,CAIlC;AAAA,EACD,QAAA,EAAU,IAAA;AAAA,EACV,mBAAA,EAAqB,IAAA;AAAA,EACrB,WAAA,EAAa;AACf,CAAC","file":"chunk-SP77KIKJ.js","sourcesContent":["import { createContext } from 'react';\n\n/** Split out so `@growupsell/react-ecommerce-ui` can consume theme without importing the full provider graph. */\nexport const BusinessConfigContext = createContext<{\n currency: any;\n reward_point_config: any;\n orderConfig: any;\n}>({\n currency: null,\n reward_point_config: null,\n orderConfig: null,\n});\n"]}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
+
import { BusinessConfigContext } from './chunk-SP77KIKJ.js';
|
|
1
2
|
import { createContext, useState, useContext, useEffect, useMemo, useRef, useCallback } from 'react';
|
|
2
|
-
import { jsx,
|
|
3
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
3
4
|
import { WAApi, api } from '@growupsell/api';
|
|
4
5
|
import { retrieveThemeContent, updateThemeContent, getCustomPageContent, updateCustomPageContent, createCustomerSession, getBusinessSetting, getRewardPointBusinessConfig, getOrderBusinessConfig } from '@growupsell/api/api';
|
|
5
|
-
import { ToastContainer, toast as toast$1 } from 'react-toastify';
|
|
6
6
|
import 'lodash';
|
|
7
|
-
import { FaWhatsapp } from 'react-icons/fa';
|
|
8
7
|
|
|
9
|
-
// src/provider/StorageProvider.tsx
|
|
10
8
|
var StorageContext = createContext({
|
|
11
9
|
setItem: (key, data, type) => null,
|
|
12
10
|
getItem: (key) => null,
|
|
@@ -154,11 +152,6 @@ var BusinessMediaProvider = (props) => {
|
|
|
154
152
|
return /* @__PURE__ */ jsx(BusinessMediaContext.Provider, { value: { businessMedia, updateBusinessMedia }, children: props.children });
|
|
155
153
|
};
|
|
156
154
|
var useBusinessMedia = () => useContext(BusinessMediaContext);
|
|
157
|
-
var BusinessConfigContext = createContext({
|
|
158
|
-
currency: null,
|
|
159
|
-
reward_point_config: null,
|
|
160
|
-
orderConfig: null
|
|
161
|
-
});
|
|
162
155
|
var BusinessConfigProvider = ({
|
|
163
156
|
children,
|
|
164
157
|
data,
|
|
@@ -208,57 +201,28 @@ var BusinessConfigProvider = ({
|
|
|
208
201
|
};
|
|
209
202
|
var useBusinessContext = () => useContext(BusinessConfigContext);
|
|
210
203
|
var useBusiness = () => useContext(BusinessConfigContext);
|
|
211
|
-
|
|
212
|
-
const
|
|
213
|
-
position: "top-right",
|
|
214
|
-
autoClose: 3e3
|
|
204
|
+
function createNoopToastSupport() {
|
|
205
|
+
const noop = () => {
|
|
215
206
|
};
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
case "warning":
|
|
236
|
-
toast$1.warning(message, {
|
|
237
|
-
...defaultOptions,
|
|
238
|
-
...options
|
|
239
|
-
});
|
|
240
|
-
break;
|
|
241
|
-
case "default":
|
|
242
|
-
toast$1(message, {
|
|
243
|
-
...defaultOptions,
|
|
244
|
-
...options
|
|
245
|
-
});
|
|
246
|
-
break;
|
|
247
|
-
default:
|
|
248
|
-
toast$1(message, {
|
|
249
|
-
...defaultOptions,
|
|
250
|
-
...options
|
|
251
|
-
});
|
|
252
|
-
break;
|
|
253
|
-
}
|
|
254
|
-
};
|
|
255
|
-
var toast = {
|
|
256
|
-
success: (message, options) => show("success", message, options),
|
|
257
|
-
error: (message, options) => show("error", message, options),
|
|
258
|
-
info: (message, options) => show("info", message, options),
|
|
259
|
-
warning: (message, options) => show("warning", message, options),
|
|
260
|
-
default: (message, options) => show("default", message, options)
|
|
261
|
-
};
|
|
207
|
+
return {
|
|
208
|
+
success: noop,
|
|
209
|
+
error: noop,
|
|
210
|
+
info: noop,
|
|
211
|
+
warning: noop,
|
|
212
|
+
default: noop
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
var ToastSupportContext = createContext(createNoopToastSupport());
|
|
216
|
+
function ToastSupportProvider({ children, value }) {
|
|
217
|
+
const api13 = useMemo(() => {
|
|
218
|
+
if (!value) return createNoopToastSupport();
|
|
219
|
+
return { ...createNoopToastSupport(), ...value };
|
|
220
|
+
}, [value]);
|
|
221
|
+
return /* @__PURE__ */ jsx(ToastSupportContext.Provider, { value: api13, children });
|
|
222
|
+
}
|
|
223
|
+
function useToastSupport() {
|
|
224
|
+
return useContext(ToastSupportContext);
|
|
225
|
+
}
|
|
262
226
|
var CartWishlistRefreshContext = createContext({
|
|
263
227
|
refreshType: null,
|
|
264
228
|
setRefreshType: () => null
|
|
@@ -279,6 +243,7 @@ var CartContext = createContext({
|
|
|
279
243
|
onChangeOffer: () => null,
|
|
280
244
|
onChangeOrderType: () => null,
|
|
281
245
|
session: {},
|
|
246
|
+
setSession: () => null,
|
|
282
247
|
removeAppliedOffer: () => null,
|
|
283
248
|
moveToWishlist: () => null,
|
|
284
249
|
moveToWishlistLoading: false,
|
|
@@ -288,6 +253,7 @@ var CartContext = createContext({
|
|
|
288
253
|
errorMessage: null
|
|
289
254
|
});
|
|
290
255
|
var CartProvider = (props) => {
|
|
256
|
+
const toast = useToastSupport();
|
|
291
257
|
const [cartItems, setCartItems] = useState([]);
|
|
292
258
|
const [orderFetchLoading, setOrderFetchLoading] = useState(true);
|
|
293
259
|
const [addToCartLoading, setAddToCartLoading] = useState(false);
|
|
@@ -561,6 +527,7 @@ var CartProvider = (props) => {
|
|
|
561
527
|
onChangeOffer,
|
|
562
528
|
onChangeOrderType,
|
|
563
529
|
session,
|
|
530
|
+
setSession,
|
|
564
531
|
removeAppliedOffer,
|
|
565
532
|
moveToWishlist,
|
|
566
533
|
moveToWishlistLoading,
|
|
@@ -864,51 +831,6 @@ var ProductDetailProvider = (props) => {
|
|
|
864
831
|
);
|
|
865
832
|
};
|
|
866
833
|
var useProductDetail = () => useContext(ProductDetailContext);
|
|
867
|
-
|
|
868
|
-
// src/tailwind/applyTheme.ts
|
|
869
|
-
function applyTheme(themeRGB) {
|
|
870
|
-
const themeObject = mapTheme(themeRGB);
|
|
871
|
-
const root = document.documentElement;
|
|
872
|
-
Object.keys(themeObject).forEach((v) => {
|
|
873
|
-
const propertyVal = themeObject[v];
|
|
874
|
-
const validation = validateRGB(propertyVal);
|
|
875
|
-
if (!validation) {
|
|
876
|
-
throw new Error(`Invalid RGB value for ${v}: ${propertyVal}`);
|
|
877
|
-
}
|
|
878
|
-
root.style.setProperty(v, propertyVal);
|
|
879
|
-
});
|
|
880
|
-
}
|
|
881
|
-
function mapTheme(rgb) {
|
|
882
|
-
return {
|
|
883
|
-
"--color-primary": rgb["primary"] ?? ""
|
|
884
|
-
};
|
|
885
|
-
}
|
|
886
|
-
function validateRGB(rgb) {
|
|
887
|
-
if (!rgb) return true;
|
|
888
|
-
const rgbRegex = /^(\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})$/;
|
|
889
|
-
return rgbRegex.test(rgb);
|
|
890
|
-
}
|
|
891
|
-
function hexToRgb(hex) {
|
|
892
|
-
var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
|
|
893
|
-
return result ? `${parseInt(result[1], 16).toString()},${parseInt(result[2], 16).toString()},${parseInt(result[3], 16).toString()}` : null;
|
|
894
|
-
}
|
|
895
|
-
var ThemeContext = createContext({
|
|
896
|
-
themeRGB: {}
|
|
897
|
-
});
|
|
898
|
-
function ThemeProvider(props) {
|
|
899
|
-
const config = useContext(BusinessConfigContext);
|
|
900
|
-
const { theme } = config;
|
|
901
|
-
const pcolor = hexToRgb(theme?.primary_color);
|
|
902
|
-
const primaryColor = !!pcolor ? pcolor : "0, 72, 76";
|
|
903
|
-
useEffect(() => {
|
|
904
|
-
applyTheme({ primary: primaryColor });
|
|
905
|
-
}, []);
|
|
906
|
-
const value = useMemo(() => {
|
|
907
|
-
return { themeRGB: { primary: primaryColor } };
|
|
908
|
-
}, [primaryColor]);
|
|
909
|
-
return /* @__PURE__ */ jsx(ThemeContext.Provider, { value, children: props.children });
|
|
910
|
-
}
|
|
911
|
-
var useTheme = () => useContext(ThemeContext);
|
|
912
834
|
var ProductConfigContext = createContext({});
|
|
913
835
|
var ProductConfigProvider = (props) => {
|
|
914
836
|
const [productConfig, setProductConfig] = useState({});
|
|
@@ -1222,6 +1144,7 @@ var WishlistContext = createContext({
|
|
|
1222
1144
|
moveToCartLoading: false
|
|
1223
1145
|
});
|
|
1224
1146
|
var WishlistProvider = (props) => {
|
|
1147
|
+
const toast = useToastSupport();
|
|
1225
1148
|
const [wishlistItems, setWishlistItems] = useState([]);
|
|
1226
1149
|
const { user } = useAuth();
|
|
1227
1150
|
const [fetchWishlistLoading, setFetchWishlistLoading] = useState(true);
|
|
@@ -1854,16 +1777,6 @@ var MenuCartProvider = (props) => {
|
|
|
1854
1777
|
);
|
|
1855
1778
|
};
|
|
1856
1779
|
var useMenuCart = () => useContext(MenuCartContext);
|
|
1857
|
-
var ToastProvider = () => {
|
|
1858
|
-
return /* @__PURE__ */ jsx(
|
|
1859
|
-
ToastContainer,
|
|
1860
|
-
{
|
|
1861
|
-
position: "top-right",
|
|
1862
|
-
autoClose: 3e3,
|
|
1863
|
-
theme: "colored"
|
|
1864
|
-
}
|
|
1865
|
-
);
|
|
1866
|
-
};
|
|
1867
1780
|
var REFERRAL_STORAGE_KEY = "referralCode";
|
|
1868
1781
|
var ReferralCodeContext = createContext(null);
|
|
1869
1782
|
function ReferralCodeProvider({
|
|
@@ -1918,32 +1831,6 @@ var LiveSupportWidgetProvider = ({ children }) => {
|
|
|
1918
1831
|
return /* @__PURE__ */ jsx(LiveSupportWidgetContext.Provider, { value: { config, loading }, children });
|
|
1919
1832
|
};
|
|
1920
1833
|
var useLiveSupportWidget = () => useContext(LiveSupportWidgetContext);
|
|
1921
|
-
function LiveSupportWidget() {
|
|
1922
|
-
const { config, loading } = useLiveSupportWidget();
|
|
1923
|
-
if (loading || !config?.is_active || config?.type !== "whatsapp" || !config?.whatsapp_no?.trim()) {
|
|
1924
|
-
return null;
|
|
1925
|
-
}
|
|
1926
|
-
const phone = config.whatsapp_no.replace(/\D/g, "");
|
|
1927
|
-
const whatsappUrl = `https://wa.me/${phone}`;
|
|
1928
|
-
const handleClick = () => {
|
|
1929
|
-
window.open(whatsappUrl, "_blank", "noopener,noreferrer");
|
|
1930
|
-
};
|
|
1931
|
-
console.log(config);
|
|
1932
|
-
console.log(loading);
|
|
1933
|
-
return /* @__PURE__ */ jsx(
|
|
1934
|
-
"button",
|
|
1935
|
-
{
|
|
1936
|
-
type: "button",
|
|
1937
|
-
onClick: handleClick,
|
|
1938
|
-
style: {
|
|
1939
|
-
bottom: "15px"
|
|
1940
|
-
},
|
|
1941
|
-
className: "fixed bottom-6 fixed right-6 z-[9999] flex h-14 w-14 items-center justify-center rounded-full bg-[#25D366] text-white shadow-lg transition-transform hover:scale-105 focus:outline-none focus:ring-2 focus:ring-[#25D366] focus:ring-offset-2",
|
|
1942
|
-
"aria-label": "Chat on WhatsApp",
|
|
1943
|
-
children: /* @__PURE__ */ jsx(FaWhatsapp, { className: "h-8 w-8" })
|
|
1944
|
-
}
|
|
1945
|
-
);
|
|
1946
|
-
}
|
|
1947
1834
|
var BaseProvider = ({
|
|
1948
1835
|
children,
|
|
1949
1836
|
baseURL,
|
|
@@ -1954,14 +1841,12 @@ var BaseProvider = ({
|
|
|
1954
1841
|
isHeader,
|
|
1955
1842
|
isFooter,
|
|
1956
1843
|
isAnnouncementBar,
|
|
1957
|
-
referralCodeFromUrl = null
|
|
1844
|
+
referralCodeFromUrl = null,
|
|
1845
|
+
toast
|
|
1958
1846
|
}) => {
|
|
1959
|
-
return /* @__PURE__ */ jsx(StorageProvider, { storage, children: /* @__PURE__ */ jsx(BusinessConfigProvider, { data: businessConfig, baseURL, children: /* @__PURE__ */ jsx(ReferralCodeProvider, { referralCodeFromUrl, children: /* @__PURE__ */ jsx(ThemeEditProvider, { isThemeEdit: isEdit, token, isHeader, isFooter, isAnnouncementBar, children: /* @__PURE__ */ jsx(BusinessMediaProvider, { children: /* @__PURE__ */ jsx(CustomerConfigProvider, { children: /* @__PURE__ */ jsx(AuthProvider, { children: /* @__PURE__ */ jsx(ModalProvider, { children: /* @__PURE__ */ jsx(
|
|
1960
|
-
businessConfig.category.type == "retail" ? /* @__PURE__ */ jsx(ProductConfigProvider, { children: /* @__PURE__ */ jsx(CartWishlistRefreshProvider, { children: /* @__PURE__ */ jsx(CartProvider, { children: /* @__PURE__ */ jsx(WishlistProvider, { children: /* @__PURE__ */ jsx(FilterProvider, { children: /* @__PURE__ */ jsx(Fragment, { children }) }) }) }) }) }) : /* @__PURE__ */ jsx(MenuCartProvider, { children: /* @__PURE__ */ jsx(MenuFilterProvider, { children: /* @__PURE__ */ jsx(Fragment, { children }) }) }),
|
|
1961
|
-
/* @__PURE__ */ jsx(LiveSupportWidget, {})
|
|
1962
|
-
] }) }) }) }) }) }) }) }) }) });
|
|
1847
|
+
return /* @__PURE__ */ jsx(StorageProvider, { storage, children: /* @__PURE__ */ jsx(ToastSupportProvider, { value: toast, children: /* @__PURE__ */ jsx(BusinessConfigProvider, { data: businessConfig, baseURL, children: /* @__PURE__ */ jsx(ReferralCodeProvider, { referralCodeFromUrl, children: /* @__PURE__ */ jsx(ThemeEditProvider, { isThemeEdit: isEdit, token, isHeader, isFooter, isAnnouncementBar, children: /* @__PURE__ */ jsx(BusinessMediaProvider, { children: /* @__PURE__ */ jsx(CustomerConfigProvider, { children: /* @__PURE__ */ jsx(AuthProvider, { children: /* @__PURE__ */ jsx(ModalProvider, { children: /* @__PURE__ */ jsx(LiveSupportWidgetProvider, { children: businessConfig.category.type == "retail" ? /* @__PURE__ */ jsx(ProductConfigProvider, { children: /* @__PURE__ */ jsx(CartWishlistRefreshProvider, { children: /* @__PURE__ */ jsx(CartProvider, { children: /* @__PURE__ */ jsx(WishlistProvider, { children: /* @__PURE__ */ jsx(FilterProvider, { children: /* @__PURE__ */ jsx(Fragment, { children }) }) }) }) }) }) : /* @__PURE__ */ jsx(MenuCartProvider, { children: /* @__PURE__ */ jsx(MenuFilterProvider, { children: /* @__PURE__ */ jsx(Fragment, { children }) }) }) }) }) }) }) }) }) }) }) }) });
|
|
1963
1848
|
};
|
|
1964
1849
|
|
|
1965
|
-
export { AuthContext, AuthProvider, BaseProvider,
|
|
1966
|
-
//# sourceMappingURL=chunk-
|
|
1967
|
-
//# sourceMappingURL=chunk-
|
|
1850
|
+
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 };
|
|
1851
|
+
//# sourceMappingURL=chunk-XL2AT5BD.js.map
|
|
1852
|
+
//# sourceMappingURL=chunk-XL2AT5BD.js.map
|