react-marketing-tools 0.0.7 → 0.1.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 +68 -28
- package/dist/react-marketing-tools.es.js +57 -52
- package/dist/react-marketing-tools.umd.js +5 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -112,22 +112,27 @@ COMING SOON: [React Marketing Tools Demo](https://)
|
|
|
112
112
|
// create session cookie, useful for unauthenticated user tracking and other things
|
|
113
113
|
document.cookie = `${appSessionCookieName}=${uuid()};max-age=${70};SameSite=Strict;Secure`
|
|
114
114
|
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
115
|
+
const sendAnalyticsEvent = async () => {
|
|
116
|
+
const eventNameInfo = {
|
|
117
|
+
actionPrefix: eventActionPrefixList.JOURNEY,
|
|
118
|
+
description: 'Welcome Landing',
|
|
119
|
+
globalAppEvent: analyticsGlobalEventActionList.UNAUTHENTICATED,
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
await trackAnalyticsEvent({
|
|
123
|
+
data: {},
|
|
124
|
+
eventNameInfo,
|
|
125
|
+
analyticsType: analyticsPlatform.DATALAYER_PUSH,
|
|
126
|
+
dataLayerCheck: true,
|
|
127
|
+
})
|
|
119
128
|
}
|
|
120
129
|
|
|
121
|
-
|
|
122
|
-
data: {},
|
|
123
|
-
eventNameInfo,
|
|
124
|
-
analyticsType: analyticsPlatform.DATALAYER_PUSH,
|
|
125
|
-
dataLayerCheck: true,
|
|
126
|
-
})
|
|
130
|
+
sendAnalyticsEvent()
|
|
127
131
|
})
|
|
128
132
|
|
|
129
|
-
const handleButtonClick = () => {
|
|
130
|
-
|
|
133
|
+
const handleButtonClick = async () => {
|
|
134
|
+
const countActual = count + 1
|
|
135
|
+
setCount(countActual)
|
|
131
136
|
|
|
132
137
|
const eventNameInfo = {
|
|
133
138
|
eventName: 'count button click',
|
|
@@ -136,9 +141,9 @@ COMING SOON: [React Marketing Tools Demo](https://)
|
|
|
136
141
|
previousGlobalAppEvent: analyticsGlobalEventActionList.UNAUTHENTICATED
|
|
137
142
|
}
|
|
138
143
|
|
|
139
|
-
trackAnalyticsEvent({
|
|
144
|
+
await trackAnalyticsEvent({
|
|
140
145
|
data: {
|
|
141
|
-
count,
|
|
146
|
+
count: countActual,
|
|
142
147
|
firstName: 'bob',
|
|
143
148
|
lastName: 'yeah nah',
|
|
144
149
|
email: 'yeahnah@gmail.com',
|
|
@@ -150,6 +155,36 @@ COMING SOON: [React Marketing Tools Demo](https://)
|
|
|
150
155
|
}
|
|
151
156
|
})
|
|
152
157
|
}
|
|
158
|
+
|
|
159
|
+
/* Example: use GA4 directly
|
|
160
|
+
const handleButtonClick = useCallback(async () => {
|
|
161
|
+
const countActual = count + 1
|
|
162
|
+
|
|
163
|
+
setCount(countActual)
|
|
164
|
+
|
|
165
|
+
const eventNameInfo = {
|
|
166
|
+
eventName: 'count button click',
|
|
167
|
+
actionPrefix: eventActionPrefixList.INTERACTION,
|
|
168
|
+
globalAppEvent: analyticsGlobalEventActionList.AUTHENTICATED,
|
|
169
|
+
previousGlobalAppEvent: analyticsGlobalEventActionList.UNAUTHENTICATED,
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
await trackAnalyticsEvent({
|
|
173
|
+
data: {
|
|
174
|
+
count: countActual,
|
|
175
|
+
firstName: 'bob',
|
|
176
|
+
lastName: 'yeah nah',
|
|
177
|
+
email: 'yeahnah@gmail.com',
|
|
178
|
+
},
|
|
179
|
+
eventNameInfo,
|
|
180
|
+
analyticsType: analyticsPlatform.GOOGLE,
|
|
181
|
+
userDataToHashKeyArray: ['email', 'firstName', 'lastName'],
|
|
182
|
+
consoleLogData: {
|
|
183
|
+
showJourneyPropsPayload: true,
|
|
184
|
+
},
|
|
185
|
+
})
|
|
186
|
+
}, [count])
|
|
187
|
+
*/
|
|
153
188
|
...
|
|
154
189
|
|
|
155
190
|
return (
|
|
@@ -166,22 +201,27 @@ COMING SOON: [React Marketing Tools Demo](https://)
|
|
|
166
201
|
|
|
167
202
|
const WelcomePage = () => {
|
|
168
203
|
useEffect(function appLoadPageLandingWelcome() {
|
|
169
|
-
const
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
204
|
+
const sendAnalyticsEvent = async () => {
|
|
205
|
+
const eventNameInfo = {
|
|
206
|
+
actionPrefix: eventActionPrefixList.JOURNEY,
|
|
207
|
+
description: 'Welcome Landing',
|
|
208
|
+
globalAppEvent: analyticsGlobalEventActionList.UNAUTHENTICATED,
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
trackAnalyticsEvent({
|
|
212
|
+
data: {},
|
|
213
|
+
eventNameInfo,
|
|
214
|
+
analyticsType: analyticsPlatform.DATALAYER_PUSH,
|
|
215
|
+
dataLayerCheck: true,
|
|
216
|
+
})
|
|
173
217
|
}
|
|
174
218
|
|
|
175
|
-
|
|
176
|
-
data: {},
|
|
177
|
-
eventNameInfo,
|
|
178
|
-
analyticsType: analyticsPlatform.DATALAYER_PUSH,
|
|
179
|
-
dataLayerCheck: true,
|
|
180
|
-
})
|
|
219
|
+
sendAnalyticsEvent()
|
|
181
220
|
})
|
|
182
221
|
|
|
183
|
-
const handleButtonClick = () => {
|
|
184
|
-
|
|
222
|
+
const handleButtonClick = async () => {
|
|
223
|
+
const countActual = count + 1
|
|
224
|
+
setCount(countActual)
|
|
185
225
|
|
|
186
226
|
const eventNameInfo = {
|
|
187
227
|
eventName: 'count button click',
|
|
@@ -190,9 +230,9 @@ COMING SOON: [React Marketing Tools Demo](https://)
|
|
|
190
230
|
previousGlobalAppEvent: analyticsGlobalEventActionList.UNAUTHENTICATED
|
|
191
231
|
}
|
|
192
232
|
|
|
193
|
-
trackAnalyticsEvent({
|
|
233
|
+
await trackAnalyticsEvent({
|
|
194
234
|
data: {
|
|
195
|
-
count,
|
|
235
|
+
count: countActual,
|
|
196
236
|
firstName: 'bob',
|
|
197
237
|
lastName: 'yeah nah',
|
|
198
238
|
email: 'yeahnah@gmail.com',
|
|
@@ -123,7 +123,7 @@ function ll() {
|
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
|
-
var S = $, re = A, Le = m, he = g, $e = d, be = M, Ae = l, Me = k, q = N, z = o,
|
|
126
|
+
var S = $, re = A, Le = m, he = g, $e = d, be = M, Ae = l, Me = k, q = N, z = o, ne = i, ee = a, ie = P, se = !1;
|
|
127
127
|
function Pe(c) {
|
|
128
128
|
return se || (se = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), n(c) || U(c) === $;
|
|
129
129
|
}
|
|
@@ -163,7 +163,7 @@ function ll() {
|
|
|
163
163
|
function Z(c) {
|
|
164
164
|
return U(c) === P;
|
|
165
165
|
}
|
|
166
|
-
R.AsyncMode = S, R.ConcurrentMode = re, R.ContextConsumer = Le, R.ContextProvider = he, R.Element = $e, R.ForwardRef = be, R.Fragment = Ae, R.Lazy = Me, R.Memo = q, R.Portal = z, R.Profiler =
|
|
166
|
+
R.AsyncMode = S, R.ConcurrentMode = re, R.ContextConsumer = Le, R.ContextProvider = he, R.Element = $e, R.ForwardRef = be, R.Fragment = Ae, R.Lazy = Me, R.Memo = q, R.Portal = z, R.Profiler = ne, R.StrictMode = ee, R.Suspense = ie, R.isAsyncMode = Pe, R.isConcurrentMode = n, R.isContextConsumer = u, R.isContextProvider = L, R.isElement = _, R.isForwardRef = T, R.isFragment = O, R.isLazy = p, R.isMemo = G, R.isPortal = b, R.isProfiler = I, R.isStrictMode = E, R.isSuspense = Z, R.isValidElementType = H, R.typeOf = U;
|
|
167
167
|
}()), R;
|
|
168
168
|
}
|
|
169
169
|
var Uo;
|
|
@@ -568,12 +568,12 @@ Valid keys: ` + JSON.stringify(Object.keys(n), null, " ")
|
|
|
568
568
|
return !1;
|
|
569
569
|
}
|
|
570
570
|
}
|
|
571
|
-
function
|
|
571
|
+
function ne(n, u) {
|
|
572
572
|
return n === "symbol" ? !0 : u ? u["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && u instanceof Symbol : !1;
|
|
573
573
|
}
|
|
574
574
|
function ee(n) {
|
|
575
575
|
var u = typeof n;
|
|
576
|
-
return Array.isArray(n) ? "array" : n instanceof RegExp ? "object" :
|
|
576
|
+
return Array.isArray(n) ? "array" : n instanceof RegExp ? "object" : ne(u, n) ? "symbol" : u;
|
|
577
577
|
}
|
|
578
578
|
function ie(n) {
|
|
579
579
|
if (typeof n > "u" || n === null)
|
|
@@ -661,7 +661,7 @@ if (process.env.NODE_ENV !== "production") {
|
|
|
661
661
|
j.exports = il()(ml.isElement, nl);
|
|
662
662
|
} else
|
|
663
663
|
j.exports = tl()();
|
|
664
|
-
const
|
|
664
|
+
const te = (e, d = "") => {
|
|
665
665
|
if (!e)
|
|
666
666
|
throw new Error(d != null ? d : "Is true assertion failed");
|
|
667
667
|
}, Se = {
|
|
@@ -708,7 +708,7 @@ const o_ = (e) => {
|
|
|
708
708
|
withDeviceInfo: m = !1,
|
|
709
709
|
withServerLocationInfo: $ = !1
|
|
710
710
|
} = { ...e };
|
|
711
|
-
|
|
711
|
+
te(d, "An appName must be provided in the config."), oe = {
|
|
712
712
|
TOKENS: g,
|
|
713
713
|
appName: d,
|
|
714
714
|
appSessionCookieName: o,
|
|
@@ -724,12 +724,12 @@ const o_ = (e) => {
|
|
|
724
724
|
...a
|
|
725
725
|
}
|
|
726
726
|
};
|
|
727
|
-
},
|
|
727
|
+
}, xe = (e, d = "") => d ? e.hasOwnProperty(d) : Object.keys(e).length > 0, hr = (e, d) => d ? e.replace(/[\s]/g, d) : e.replace(/[\s]+/g, ""), cl = async (e) => {
|
|
728
728
|
const d = new TextEncoder().encode(e), o = await crypto.subtle.digest("SHA-256", d);
|
|
729
729
|
return Array.from(new Uint8Array(o)).map((i) => i.toString(16).padStart(2, "0")).join("");
|
|
730
730
|
}, Sl = async (e) => {
|
|
731
731
|
const { TOKENS: d } = { ...oe };
|
|
732
|
-
if (
|
|
732
|
+
if (te(
|
|
733
733
|
e ? d == null ? void 0 : d.IP_INFO_TOKEN : !0,
|
|
734
734
|
"if you want serverLocationInfo your config must have the TOKEN.IP_INFO_TOKEN AND withServerLocationInfo must be true."
|
|
735
735
|
), e && (d == null ? void 0 : d.IP_INFO_TOKEN)) {
|
|
@@ -750,18 +750,18 @@ const o_ = (e) => {
|
|
|
750
750
|
}, ul = (e) => fetch(`https://ipinfo.io/110.174.218.10?token=${e}`).then(
|
|
751
751
|
(d) => d.json()
|
|
752
752
|
);
|
|
753
|
-
var mo = {}, Fe = {},
|
|
753
|
+
var mo = {}, Fe = {}, me = {}, no = {};
|
|
754
754
|
Object.defineProperty(no, "__esModule", { value: !0 });
|
|
755
755
|
no.trim = (e, d) => e.replace(new RegExp("^[" + d + "]+|[" + d + "]+$", "g"), "");
|
|
756
|
-
Object.defineProperty(
|
|
756
|
+
Object.defineProperty(me, "__esModule", { value: !0 });
|
|
757
757
|
const $l = no;
|
|
758
|
-
|
|
758
|
+
me.formatVersion = (e, d) => {
|
|
759
759
|
if (e === void 0)
|
|
760
760
|
return "";
|
|
761
761
|
const o = $l.trim(e, ". ").replace(new RegExp("_", "g"), "."), l = o.split(".");
|
|
762
762
|
return /^\d+$/.test(l.join("")) ? d !== 0 && Number.isInteger(parseFloat(o)) ? parseInt(o, 10).toFixed(1) : l.length > 1 && d !== null ? l.slice(0, d + 1).join(".") : o : o;
|
|
763
763
|
};
|
|
764
|
-
|
|
764
|
+
me.parseBrowserEngineVersion = (e, d) => {
|
|
765
765
|
if (!d)
|
|
766
766
|
return "";
|
|
767
767
|
if (d === "Gecko") {
|
|
@@ -3803,7 +3803,7 @@ var fe = h && h.__importDefault || function(e) {
|
|
|
3803
3803
|
return e && e.__esModule ? e : { default: e };
|
|
3804
3804
|
};
|
|
3805
3805
|
Object.defineProperty(Fe, "__esModule", { value: !0 });
|
|
3806
|
-
const Xe =
|
|
3806
|
+
const Xe = me, zo = Y, An = Q, Mn = fe(Pl), Pn = fe(vl), vn = fe(un), Tn = fe($n);
|
|
3807
3807
|
class Re {
|
|
3808
3808
|
constructor(d) {
|
|
3809
3809
|
this.options = {
|
|
@@ -4480,7 +4480,7 @@ var Gn = h && h.__importDefault || function(e) {
|
|
|
4480
4480
|
return e && e.__esModule ? e : { default: e };
|
|
4481
4481
|
};
|
|
4482
4482
|
Object.defineProperty(xo, "__esModule", { value: !0 });
|
|
4483
|
-
const _n = Gn(pn), Ln =
|
|
4483
|
+
const _n = Gn(pn), Ln = me, jo = Y, hn = Q;
|
|
4484
4484
|
class bn {
|
|
4485
4485
|
constructor(d) {
|
|
4486
4486
|
this.options = {
|
|
@@ -4671,7 +4671,7 @@ var Bn = h && h.__importDefault || function(e) {
|
|
|
4671
4671
|
return e && e.__esModule ? e : { default: e };
|
|
4672
4672
|
};
|
|
4673
4673
|
Object.defineProperty(so, "__esModule", { value: !0 });
|
|
4674
|
-
const Cn = Bn(En), Nn =
|
|
4674
|
+
const Cn = Bn(En), Nn = me, qo = Y, On = Q;
|
|
4675
4675
|
class yn {
|
|
4676
4676
|
constructor(d) {
|
|
4677
4677
|
this.options = {
|
|
@@ -4871,7 +4871,7 @@ var wn = h && h.__importDefault || function(e) {
|
|
|
4871
4871
|
return e && e.__esModule ? e : { default: e };
|
|
4872
4872
|
};
|
|
4873
4873
|
Object.defineProperty(co, "__esModule", { value: !0 });
|
|
4874
|
-
const Xn = wn(In), Dn =
|
|
4874
|
+
const Xn = wn(In), Dn = me, er = Y, Rn = Q;
|
|
4875
4875
|
class Fn {
|
|
4876
4876
|
constructor(d) {
|
|
4877
4877
|
this.options = {
|
|
@@ -5027,7 +5027,7 @@ var Vn = h && h.__importDefault || function(e) {
|
|
|
5027
5027
|
return e && e.__esModule ? e : { default: e };
|
|
5028
5028
|
};
|
|
5029
5029
|
Object.defineProperty(So, "__esModule", { value: !0 });
|
|
5030
|
-
const Hn = Vn(fn), Un =
|
|
5030
|
+
const Hn = Vn(fn), Un = me, or = Y, kn = Q;
|
|
5031
5031
|
class Kn {
|
|
5032
5032
|
constructor(d) {
|
|
5033
5033
|
this.options = {
|
|
@@ -5127,7 +5127,7 @@ var Qn = h && h.__importDefault || function(e) {
|
|
|
5127
5127
|
return e && e.__esModule ? e : { default: e };
|
|
5128
5128
|
};
|
|
5129
5129
|
Object.defineProperty(uo, "__esModule", { value: !0 });
|
|
5130
|
-
const Zn = Qn(Wn), Yn =
|
|
5130
|
+
const Zn = Qn(Wn), Yn = me, rr = Y, Jn = Q;
|
|
5131
5131
|
class zn {
|
|
5132
5132
|
constructor(d) {
|
|
5133
5133
|
this.options = {
|
|
@@ -44477,7 +44477,7 @@ var br = h && h.__importDefault || function(e) {
|
|
|
44477
44477
|
return e && e.__esModule ? e : { default: e };
|
|
44478
44478
|
};
|
|
44479
44479
|
Object.defineProperty(_o, "__esModule", { value: !0 });
|
|
44480
|
-
const dG = br(eG), aG =
|
|
44480
|
+
const dG = br(eG), aG = me, $r = Y, Ge = Q, Er = br(lG), iG = ["AmigaOS", "IBM", "GNU/Linux", "Mac", "Unix", "Windows", "BeOS", "Chrome OS"], tG = Er.default.operatingSystem, mG = Er.default.osFamilies;
|
|
44481
44481
|
class Ne {
|
|
44482
44482
|
constructor(d) {
|
|
44483
44483
|
this.options = {
|
|
@@ -47729,8 +47729,8 @@ class fG {
|
|
|
47729
47729
|
var VG = fG;
|
|
47730
47730
|
const HG = async (e, d) => {
|
|
47731
47731
|
const o = [...d], l = {};
|
|
47732
|
-
|
|
47733
|
-
|
|
47732
|
+
te(
|
|
47733
|
+
xe(e),
|
|
47734
47734
|
`helpers.js ~ line 25 ~ hashUserData ~ Please check your user data, it looks like it is empty! ${e}`
|
|
47735
47735
|
);
|
|
47736
47736
|
for (let a in e)
|
|
@@ -47741,13 +47741,15 @@ const HG = async (e, d) => {
|
|
|
47741
47741
|
return l;
|
|
47742
47742
|
}, ro = (e, d) => {
|
|
47743
47743
|
const o = {};
|
|
47744
|
-
return
|
|
47745
|
-
|
|
47746
|
-
|
|
47744
|
+
return xe(e) && (d == null ? void 0 : d.length) > 0 && d.forEach((l) => {
|
|
47745
|
+
var a;
|
|
47746
|
+
e.hasOwnProperty(l) ? o[l] = `${(a = e[l]) != null ? a : ""}` : console.info(
|
|
47747
|
+
`1. user data was not included in payload, 2. the key -> ${l} does not exist on the user data object or was not included in the "includeUserKeys" in your config.`,
|
|
47748
|
+
e
|
|
47747
47749
|
);
|
|
47748
47750
|
}), o;
|
|
47749
47751
|
}, UG = (e) => {
|
|
47750
|
-
if (!
|
|
47752
|
+
if (!xe(e, "actionPrefix") && !xe(e, "globalAppEvent"))
|
|
47751
47753
|
throw new Error(
|
|
47752
47754
|
"actionPrefix AND globalAppEvent must be included in the eventNameInfo object passed to buildAnalyticsEventName function"
|
|
47753
47755
|
);
|
|
@@ -47772,7 +47774,7 @@ const HG = async (e, d) => {
|
|
|
47772
47774
|
}, kG = (e) => !!window.dataLayer.find((o) => o.event === e), KG = (e) => new VG().parse(e), Cr = (e, d = "") => {
|
|
47773
47775
|
const { analyticsGlobalEventActionList: o } = oe;
|
|
47774
47776
|
let l = "";
|
|
47775
|
-
|
|
47777
|
+
te(
|
|
47776
47778
|
Object.values(o).includes(e),
|
|
47777
47779
|
"getEventSequence(), globalAppEvent is not in the analyticsGlobalEventActionList!"
|
|
47778
47780
|
);
|
|
@@ -47810,8 +47812,8 @@ const HG = async (e, d) => {
|
|
|
47810
47812
|
}, ZG = async (e) => {
|
|
47811
47813
|
var B, N;
|
|
47812
47814
|
const { consoleLogData: d, data: o, eventName: l, globalAppEvent: a, userDetails: i } = e, { appSessionCookieName: g, TOKENS: m } = { ...oe };
|
|
47813
|
-
|
|
47814
|
-
m &&
|
|
47815
|
+
te(
|
|
47816
|
+
m && xe(m),
|
|
47815
47817
|
"TOKENS in config must contain GA4_PUBLIC_API_SECRET and GA4_PUBLIC_MEASUREMENT_ID key: value if you want to use ga4GoogleAnalyticsEventTracking"
|
|
47816
47818
|
);
|
|
47817
47819
|
const { GA4_PUBLIC_API_SECRET: $, GA4_PUBLIC_MEASUREMENT_ID: A } = m, M = await Br(o, a), P = {
|
|
@@ -47857,9 +47859,9 @@ const HG = async (e, d) => {
|
|
|
47857
47859
|
globalVars: {
|
|
47858
47860
|
app: m,
|
|
47859
47861
|
...P ? {
|
|
47860
|
-
|
|
47861
|
-
|
|
47862
|
-
|
|
47862
|
+
device_category: (k = P.device) == null ? void 0 : k.type,
|
|
47863
|
+
device_os: `${(w = P.os) == null ? void 0 : w.name}_${(V = P.os) == null ? void 0 : V.version}`,
|
|
47864
|
+
device_browser: (x = P.client) == null ? void 0 : x.name
|
|
47863
47865
|
} : []
|
|
47864
47866
|
},
|
|
47865
47867
|
userProps: {
|
|
@@ -47888,11 +47890,11 @@ const HG = async (e, d) => {
|
|
|
47888
47890
|
dataLayerCheck: i = !1,
|
|
47889
47891
|
consoleLogData: g = null
|
|
47890
47892
|
} = e, { includeUserKeys: m } = oe;
|
|
47891
|
-
|
|
47892
|
-
|
|
47893
|
+
te(
|
|
47894
|
+
xe(Se, l),
|
|
47893
47895
|
`"analyticsType" of ${l} cannot be found in the analyticsPlatform object to view available platforms use showMeBuildInAnalyticsPlatform()`
|
|
47894
|
-
),
|
|
47895
|
-
|
|
47896
|
+
), te(
|
|
47897
|
+
xe(o, "actionPrefix") && xe(o, "globalAppEvent"),
|
|
47896
47898
|
"actionPrefix AND globalAppEvent must be included in the eventNameInfo object passed to trackAnalyticsEvent function"
|
|
47897
47899
|
);
|
|
47898
47900
|
const $ = o != null && o.eventName ? `${o.actionPrefix}_${hr(
|
|
@@ -47910,7 +47912,10 @@ const HG = async (e, d) => {
|
|
|
47910
47912
|
consoleLogData: g
|
|
47911
47913
|
}), l === Se.GOOGLE) {
|
|
47912
47914
|
let A = {};
|
|
47913
|
-
|
|
47915
|
+
te(
|
|
47916
|
+
a,
|
|
47917
|
+
'User data must be hashed before sending to GA4, any user data that is considered "Identifiable"'
|
|
47918
|
+
), xe(ro(d, m)) && (A = await HG(
|
|
47914
47919
|
ro(d, m),
|
|
47915
47920
|
a
|
|
47916
47921
|
)), await ZG({
|
|
@@ -48048,13 +48053,13 @@ function qG() {
|
|
|
48048
48053
|
}
|
|
48049
48054
|
return null;
|
|
48050
48055
|
}
|
|
48051
|
-
var z = Object.assign,
|
|
48056
|
+
var z = Object.assign, ne = 0, ee, ie, se, Pe, n, u, L;
|
|
48052
48057
|
function _() {
|
|
48053
48058
|
}
|
|
48054
48059
|
_.__reactDisabledLog = !0;
|
|
48055
48060
|
function T() {
|
|
48056
48061
|
{
|
|
48057
|
-
if (
|
|
48062
|
+
if (ne === 0) {
|
|
48058
48063
|
ee = console.log, ie = console.info, se = console.warn, Pe = console.error, n = console.group, u = console.groupCollapsed, L = console.groupEnd;
|
|
48059
48064
|
var r = {
|
|
48060
48065
|
configurable: !0,
|
|
@@ -48072,12 +48077,12 @@ function qG() {
|
|
|
48072
48077
|
groupEnd: r
|
|
48073
48078
|
});
|
|
48074
48079
|
}
|
|
48075
|
-
|
|
48080
|
+
ne++;
|
|
48076
48081
|
}
|
|
48077
48082
|
}
|
|
48078
48083
|
function O() {
|
|
48079
48084
|
{
|
|
48080
|
-
if (
|
|
48085
|
+
if (ne--, ne === 0) {
|
|
48081
48086
|
var r = {
|
|
48082
48087
|
configurable: !0,
|
|
48083
48088
|
enumerable: !0,
|
|
@@ -48107,7 +48112,7 @@ function qG() {
|
|
|
48107
48112
|
})
|
|
48108
48113
|
});
|
|
48109
48114
|
}
|
|
48110
|
-
|
|
48115
|
+
ne < 0 && F("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
|
|
48111
48116
|
}
|
|
48112
48117
|
}
|
|
48113
48118
|
var p = x.ReactCurrentDispatcher, G;
|
|
@@ -48155,29 +48160,29 @@ function qG() {
|
|
|
48155
48160
|
}), typeof Reflect == "object" && Reflect.construct) {
|
|
48156
48161
|
try {
|
|
48157
48162
|
Reflect.construct(y, []);
|
|
48158
|
-
} catch (
|
|
48159
|
-
v =
|
|
48163
|
+
} catch (ge) {
|
|
48164
|
+
v = ge;
|
|
48160
48165
|
}
|
|
48161
48166
|
Reflect.construct(r, [], y);
|
|
48162
48167
|
} else {
|
|
48163
48168
|
try {
|
|
48164
48169
|
y.call();
|
|
48165
|
-
} catch (
|
|
48166
|
-
v =
|
|
48170
|
+
} catch (ge) {
|
|
48171
|
+
v = ge;
|
|
48167
48172
|
}
|
|
48168
48173
|
r.call(y.prototype);
|
|
48169
48174
|
}
|
|
48170
48175
|
} else {
|
|
48171
48176
|
try {
|
|
48172
48177
|
throw Error();
|
|
48173
|
-
} catch (
|
|
48174
|
-
v =
|
|
48178
|
+
} catch (ge) {
|
|
48179
|
+
v = ge;
|
|
48175
48180
|
}
|
|
48176
48181
|
r();
|
|
48177
48182
|
}
|
|
48178
|
-
} catch (
|
|
48179
|
-
if (
|
|
48180
|
-
for (var C =
|
|
48183
|
+
} catch (ge) {
|
|
48184
|
+
if (ge && v && typeof ge.stack == "string") {
|
|
48185
|
+
for (var C = ge.stack.split(`
|
|
48181
48186
|
`), J = v.stack.split(`
|
|
48182
48187
|
`), K = C.length - 1, W = J.length - 1; K >= 1 && W >= 0 && C[K] !== J[W]; )
|
|
48183
48188
|
W--;
|
|
@@ -48584,10 +48589,10 @@ const r_ = ({
|
|
|
48584
48589
|
});
|
|
48585
48590
|
}, l_ = () => {
|
|
48586
48591
|
const e = Gr(Or);
|
|
48587
|
-
return
|
|
48592
|
+
return te(e, "useAppState must be used within the AppProvider"), e;
|
|
48588
48593
|
}, d_ = () => {
|
|
48589
48594
|
const e = Gr(yr);
|
|
48590
|
-
return
|
|
48595
|
+
return te(e, "useAppApi must be used within the AppProvider"), e;
|
|
48591
48596
|
};
|
|
48592
48597
|
export {
|
|
48593
48598
|
yr as ContextApi,
|