@aacigroup/aaci_shared 2.12.1 → 2.12.4
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/contexts/FeatureFlagsContext.d.ts +8 -8
- package/dist/contexts/FeatureFlagsContext.d.ts.map +1 -1
- package/dist/contexts/FeatureFlagsContext.js +64 -30
- package/dist/contexts/FeatureFlagsContext.js.map +1 -1
- package/dist/contexts/FeatureFlagsContext.types.d.ts +1 -0
- package/dist/contexts/FeatureFlagsContext.types.d.ts.map +1 -1
- package/dist/contexts/FeatureFlagsContext.types.js +1 -0
- package/dist/contexts/FeatureFlagsContext.types.js.map +1 -1
- package/dist/contexts/FeatureFlagsHooks.d.ts +36 -0
- package/dist/contexts/FeatureFlagsHooks.d.ts.map +1 -0
- package/dist/contexts/FeatureFlagsHooks.js +165 -0
- package/dist/contexts/FeatureFlagsHooks.js.map +1 -0
- package/dist/contexts/TrackingContext.d.ts.map +1 -1
- package/dist/contexts/TrackingContext.js +10 -1
- package/dist/contexts/TrackingContext.js.map +1 -1
- package/dist/react.d.ts +2 -1
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +2 -1
- package/dist/react.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
export interface FeatureFlagsContextType {
|
|
3
|
+
posthog: boolean;
|
|
4
|
+
isReady: boolean;
|
|
5
|
+
isFeatureFlagEnabled: (flagName: string) => boolean;
|
|
6
6
|
}
|
|
7
|
-
export declare const FeatureFlagsProvider: React.FC<
|
|
7
|
+
export declare const FeatureFlagsProvider: React.FC<{
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
}>;
|
|
8
10
|
export declare const useFeatureFlags: () => FeatureFlagsContextType;
|
|
9
|
-
export declare const usePostHogFeatureFlags: () => PostHog | undefined;
|
|
10
|
-
export {};
|
|
11
11
|
//# sourceMappingURL=FeatureFlagsContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureFlagsContext.d.ts","sourceRoot":"","sources":["../../src/contexts/FeatureFlagsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"FeatureFlagsContext.d.ts","sourceRoot":"","sources":["../../src/contexts/FeatureFlagsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA6B,SAAS,EAAuB,MAAM,OAAO,CAAC;AAGzF,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CACrD;AAID,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,CAyFlE,CAAC;AAEF,eAAO,MAAM,eAAe,QAAO,uBAMlC,CAAC"}
|
|
@@ -1,46 +1,80 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
export const FeatureFlagsProvider = ({ children
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const isFeatureFlagEnabled = useCallback((flag) => {
|
|
13
|
-
try {
|
|
2
|
+
import { createContext, useContext, useState, useEffect } from 'react';
|
|
3
|
+
import { usePostHog } from './TrackingContext';
|
|
4
|
+
const FeatureFlagsContext = createContext(undefined);
|
|
5
|
+
export const FeatureFlagsProvider = ({ children }) => {
|
|
6
|
+
const posthog = usePostHog();
|
|
7
|
+
const [isReady, setIsReady] = useState(false);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
if (!posthog)
|
|
10
|
+
return;
|
|
11
|
+
const checkPostHogReady = () => {
|
|
14
12
|
const instance = posthog.getInstance();
|
|
15
|
-
|
|
13
|
+
const isInitialized = posthog.getIsInitialized();
|
|
14
|
+
if (!instance || !isInitialized) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
const hasFeatureFlags = Boolean(instance.featureFlags ||
|
|
19
|
+
instance.feature_flags ||
|
|
20
|
+
instance._featureFlags ||
|
|
21
|
+
(instance.config && instance.config.loaded_feature_flags));
|
|
22
|
+
return hasFeatureFlags && typeof instance.isFeatureEnabled === 'function';
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const initialCheck = checkPostHogReady();
|
|
29
|
+
if (initialCheck) {
|
|
30
|
+
setIsReady(true);
|
|
31
|
+
return;
|
|
16
32
|
}
|
|
17
|
-
|
|
18
|
-
|
|
33
|
+
let attempts = 0;
|
|
34
|
+
const maxAttempts = 20;
|
|
35
|
+
const baseDelay = 100;
|
|
36
|
+
const pollForReadiness = () => {
|
|
37
|
+
attempts++;
|
|
38
|
+
if (checkPostHogReady()) {
|
|
39
|
+
setIsReady(true);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (attempts < maxAttempts) {
|
|
43
|
+
const delay = Math.min(baseDelay * Math.pow(1.5, attempts), 3000);
|
|
44
|
+
setTimeout(pollForReadiness, delay);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
setTimeout(pollForReadiness, 1000);
|
|
48
|
+
}, [posthog]);
|
|
49
|
+
const isFeatureFlagEnabled = (flagName) => {
|
|
50
|
+
if (!isReady || !posthog) {
|
|
19
51
|
return false;
|
|
20
52
|
}
|
|
21
|
-
}, [posthog]);
|
|
22
|
-
const getFeatureFlag = useCallback((flag) => {
|
|
23
53
|
try {
|
|
24
54
|
const instance = posthog.getInstance();
|
|
25
|
-
|
|
55
|
+
if (!(instance === null || instance === void 0 ? void 0 : instance.isFeatureEnabled)) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
const result = instance.isFeatureEnabled(flagName);
|
|
59
|
+
return Boolean(result);
|
|
26
60
|
}
|
|
27
61
|
catch (error) {
|
|
28
|
-
console.error(`
|
|
29
|
-
return
|
|
62
|
+
console.error(`Error checking feature flag ${flagName}:`, error);
|
|
63
|
+
return false;
|
|
30
64
|
}
|
|
31
|
-
}
|
|
32
|
-
const contextValue =
|
|
33
|
-
posthog,
|
|
65
|
+
};
|
|
66
|
+
const contextValue = {
|
|
67
|
+
posthog: Boolean(posthog),
|
|
68
|
+
isReady,
|
|
34
69
|
isFeatureFlagEnabled,
|
|
35
|
-
|
|
36
|
-
}), [posthog, isFeatureFlagEnabled, getFeatureFlag]);
|
|
70
|
+
};
|
|
37
71
|
return (_jsx(FeatureFlagsContext.Provider, { value: contextValue, children: children }));
|
|
38
72
|
};
|
|
39
73
|
export const useFeatureFlags = () => {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
return
|
|
74
|
+
const context = useContext(FeatureFlagsContext);
|
|
75
|
+
if (context === undefined) {
|
|
76
|
+
throw new Error('useFeatureFlags must be used within a FeatureFlagsProvider');
|
|
77
|
+
}
|
|
78
|
+
return context;
|
|
45
79
|
};
|
|
46
80
|
//# sourceMappingURL=FeatureFlagsContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureFlagsContext.js","sourceRoot":"","sources":["../../src/contexts/FeatureFlagsContext.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"FeatureFlagsContext.js","sourceRoot":"","sources":["../../src/contexts/FeatureFlagsContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export interface FeatureFlagsContextType {
|
|
|
3
3
|
posthog: PostHog | undefined;
|
|
4
4
|
isFeatureFlagEnabled: (flag: string) => boolean;
|
|
5
5
|
getFeatureFlag: (flag: string) => string | boolean | undefined;
|
|
6
|
+
isReady: boolean;
|
|
6
7
|
}
|
|
7
8
|
export declare const FeatureFlagsContext: import("react").Context<FeatureFlagsContextType>;
|
|
8
9
|
//# sourceMappingURL=FeatureFlagsContext.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureFlagsContext.types.d.ts","sourceRoot":"","sources":["../../src/contexts/FeatureFlagsContext.types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAChD,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"FeatureFlagsContext.types.d.ts","sourceRoot":"","sources":["../../src/contexts/FeatureFlagsContext.types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAChD,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAC/D,OAAO,EAAE,OAAO,CAAC;CAClB;AAUD,eAAO,MAAM,mBAAmB,kDAA8D,CAAC"}
|
|
@@ -3,6 +3,7 @@ const defaultContextValue = {
|
|
|
3
3
|
posthog: undefined,
|
|
4
4
|
isFeatureFlagEnabled: () => false,
|
|
5
5
|
getFeatureFlag: () => undefined,
|
|
6
|
+
isReady: false,
|
|
6
7
|
};
|
|
7
8
|
export const FeatureFlagsContext = createContext(defaultContextValue);
|
|
8
9
|
//# sourceMappingURL=FeatureFlagsContext.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureFlagsContext.types.js","sourceRoot":"","sources":["../../src/contexts/FeatureFlagsContext.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"FeatureFlagsContext.types.js","sourceRoot":"","sources":["../../src/contexts/FeatureFlagsContext.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAWtC,MAAM,mBAAmB,GAA4B;IACnD,OAAO,EAAE,SAAS;IAClB,oBAAoB,EAAE,GAAG,EAAE,CAAC,KAAK;IACjC,cAAc,EAAE,GAAG,EAAE,CAAC,SAAS;IAC/B,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAA0B,mBAAmB,CAAC,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
interface UseFeatureFlagWithReadyOptions {
|
|
2
|
+
timeout?: number;
|
|
3
|
+
defaultValue?: boolean;
|
|
4
|
+
}
|
|
5
|
+
interface UseFeatureFlagWithReadyReturn {
|
|
6
|
+
flagValue: boolean | null;
|
|
7
|
+
isReady: boolean;
|
|
8
|
+
isEnabled: boolean;
|
|
9
|
+
error: Error | null;
|
|
10
|
+
}
|
|
11
|
+
export declare const useFeatureFlagWithReady: (flagName: string, options?: UseFeatureFlagWithReadyOptions) => UseFeatureFlagWithReadyReturn;
|
|
12
|
+
export declare const useFeatureFlag: (flagName: string) => {
|
|
13
|
+
flagValue: boolean | null;
|
|
14
|
+
isReady: boolean;
|
|
15
|
+
isEnabled: boolean;
|
|
16
|
+
};
|
|
17
|
+
interface UseFeatureFlagNavigationOptions {
|
|
18
|
+
timeout?: number;
|
|
19
|
+
fallbackTimeout?: number;
|
|
20
|
+
enableScrollToTop?: boolean;
|
|
21
|
+
}
|
|
22
|
+
interface UseFeatureFlagNavigationReturn {
|
|
23
|
+
navigate: (navigateTo: (route: string) => void, fallbackAction?: () => void) => void;
|
|
24
|
+
isEnabled: boolean;
|
|
25
|
+
isReady: boolean;
|
|
26
|
+
error: Error | null;
|
|
27
|
+
}
|
|
28
|
+
export declare const useFeatureFlagNavigation: (flagName: string, enabledRoute: string, options?: UseFeatureFlagNavigationOptions) => UseFeatureFlagNavigationReturn;
|
|
29
|
+
export declare const useSimpleFeatureFlagNavigation: (flagName: string, enabledRoute: string, enableScrollToTop?: boolean) => {
|
|
30
|
+
navigate: (navigateTo: (route: string) => void, fallbackAction?: () => void) => void;
|
|
31
|
+
isEnabled: boolean;
|
|
32
|
+
isReady: boolean;
|
|
33
|
+
};
|
|
34
|
+
export declare const usePostHogReady: () => boolean;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=FeatureFlagsHooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureFlagsHooks.d.ts","sourceRoot":"","sources":["../../src/contexts/FeatureFlagsHooks.tsx"],"names":[],"mappings":"AAIA,UAAU,8BAA8B;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,6BAA6B;IACrC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAQD,eAAO,MAAM,uBAAuB,GAClC,UAAU,MAAM,EAChB,UAAS,8BAAmC,KAC3C,6BAyEF,CAAC;AAOF,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM;;;;CAa9C,CAAC;AAEF,UAAU,+BAA+B;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,UAAU,8BAA8B;IACtC,QAAQ,EAAE,CACR,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACnC,cAAc,CAAC,EAAE,MAAM,IAAI,KACxB,IAAI,CAAC;IACV,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AASD,eAAO,MAAM,wBAAwB,GACnC,UAAU,MAAM,EAChB,cAAc,MAAM,EACpB,UAAS,+BAAoC,KAC5C,8BAuEF,CAAC;AASF,eAAO,MAAM,8BAA8B,GACzC,UAAU,MAAM,EAChB,cAAc,MAAM,EACpB,oBAAmB,OAAc;2BAKnB,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,mBAClB,MAAM,IAAI;;;CAsB9B,CAAC;AAMF,eAAO,MAAM,eAAe,QAAO,OAGlC,CAAC"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { useState, useEffect, useCallback, useMemo, useRef } from 'react';
|
|
2
|
+
import { useFeatureFlags } from './FeatureFlagsContext';
|
|
3
|
+
import { usePostHog } from './TrackingContext';
|
|
4
|
+
export const useFeatureFlagWithReady = (flagName, options = {}) => {
|
|
5
|
+
const { timeout = 500, defaultValue = false } = options;
|
|
6
|
+
const [isReady, setIsReady] = useState(false);
|
|
7
|
+
const [flagValue, setFlagValue] = useState(null);
|
|
8
|
+
const [error, setError] = useState(null);
|
|
9
|
+
const { isFeatureFlagEnabled } = useFeatureFlags();
|
|
10
|
+
const posthog = usePostHog();
|
|
11
|
+
const timeoutRef = useRef(null);
|
|
12
|
+
const isPostHogInitialized = useMemo(() => {
|
|
13
|
+
try {
|
|
14
|
+
const instance = posthog === null || posthog === void 0 ? void 0 : posthog.getInstance();
|
|
15
|
+
return !!(instance && (posthog === null || posthog === void 0 ? void 0 : posthog.getIsInitialized()));
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
}, [posthog]);
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
if (!isPostHogInitialized || isReady) {
|
|
23
|
+
if (!isPostHogInitialized && isReady) {
|
|
24
|
+
setIsReady(false);
|
|
25
|
+
setFlagValue(null);
|
|
26
|
+
setError(null);
|
|
27
|
+
}
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (timeoutRef.current) {
|
|
31
|
+
clearTimeout(timeoutRef.current);
|
|
32
|
+
}
|
|
33
|
+
timeoutRef.current = setTimeout(() => {
|
|
34
|
+
try {
|
|
35
|
+
const value = isFeatureFlagEnabled(flagName);
|
|
36
|
+
setFlagValue(value);
|
|
37
|
+
setIsReady(true);
|
|
38
|
+
setError(null);
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
const errorObj = err instanceof Error ? err : new Error(String(err));
|
|
42
|
+
setError(errorObj);
|
|
43
|
+
setFlagValue(defaultValue);
|
|
44
|
+
setIsReady(true);
|
|
45
|
+
}
|
|
46
|
+
timeoutRef.current = null;
|
|
47
|
+
}, timeout);
|
|
48
|
+
return () => {
|
|
49
|
+
if (timeoutRef.current) {
|
|
50
|
+
clearTimeout(timeoutRef.current);
|
|
51
|
+
timeoutRef.current = null;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
}, [isPostHogInitialized, flagName, isFeatureFlagEnabled, timeout, defaultValue, isReady]);
|
|
55
|
+
useEffect(() => {
|
|
56
|
+
return () => {
|
|
57
|
+
if (timeoutRef.current) {
|
|
58
|
+
clearTimeout(timeoutRef.current);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}, []);
|
|
62
|
+
return {
|
|
63
|
+
flagValue,
|
|
64
|
+
isReady,
|
|
65
|
+
isEnabled: flagValue === true,
|
|
66
|
+
error
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
export const useFeatureFlag = (flagName) => {
|
|
70
|
+
const { isFeatureFlagEnabled, isReady } = useFeatureFlags();
|
|
71
|
+
const flagValue = useMemo(() => {
|
|
72
|
+
if (!isReady)
|
|
73
|
+
return null;
|
|
74
|
+
return isFeatureFlagEnabled(flagName);
|
|
75
|
+
}, [isReady, isFeatureFlagEnabled, flagName]);
|
|
76
|
+
return {
|
|
77
|
+
flagValue,
|
|
78
|
+
isReady,
|
|
79
|
+
isEnabled: flagValue === true,
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
export const useFeatureFlagNavigation = (flagName, enabledRoute, options = {}) => {
|
|
83
|
+
const { timeout = 500, fallbackTimeout = 50, enableScrollToTop = true } = options;
|
|
84
|
+
const { flagValue, isReady, error } = useFeatureFlagWithReady(flagName, { timeout });
|
|
85
|
+
const { isFeatureFlagEnabled } = useFeatureFlags();
|
|
86
|
+
const fallbackTimeoutRef = useRef(null);
|
|
87
|
+
const navigate = useCallback((navigateTo, fallbackAction) => {
|
|
88
|
+
const executeNavigation = (flagEnabled) => {
|
|
89
|
+
if (flagEnabled) {
|
|
90
|
+
navigateTo(enabledRoute);
|
|
91
|
+
if (enableScrollToTop) {
|
|
92
|
+
window.scrollTo({ top: 0, behavior: 'smooth' });
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else if (fallbackAction) {
|
|
96
|
+
fallbackAction();
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
if (!isReady || flagValue === null) {
|
|
100
|
+
if (fallbackTimeoutRef.current) {
|
|
101
|
+
clearTimeout(fallbackTimeoutRef.current);
|
|
102
|
+
}
|
|
103
|
+
fallbackTimeoutRef.current = setTimeout(() => {
|
|
104
|
+
try {
|
|
105
|
+
const currentValue = isFeatureFlagEnabled(flagName);
|
|
106
|
+
executeNavigation(currentValue);
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
executeNavigation(false);
|
|
110
|
+
}
|
|
111
|
+
fallbackTimeoutRef.current = null;
|
|
112
|
+
}, fallbackTimeout);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
executeNavigation(flagValue);
|
|
116
|
+
}, [
|
|
117
|
+
flagValue,
|
|
118
|
+
isReady,
|
|
119
|
+
flagName,
|
|
120
|
+
enabledRoute,
|
|
121
|
+
enableScrollToTop,
|
|
122
|
+
fallbackTimeout,
|
|
123
|
+
isFeatureFlagEnabled
|
|
124
|
+
]);
|
|
125
|
+
useEffect(() => {
|
|
126
|
+
return () => {
|
|
127
|
+
if (fallbackTimeoutRef.current) {
|
|
128
|
+
clearTimeout(fallbackTimeoutRef.current);
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
}, []);
|
|
132
|
+
return {
|
|
133
|
+
navigate,
|
|
134
|
+
isEnabled: flagValue === true,
|
|
135
|
+
isReady,
|
|
136
|
+
error
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
export const useSimpleFeatureFlagNavigation = (flagName, enabledRoute, enableScrollToTop = true) => {
|
|
140
|
+
const { flagValue, isReady } = useFeatureFlag(flagName);
|
|
141
|
+
const navigate = useCallback((navigateTo, fallbackAction) => {
|
|
142
|
+
if (!isReady) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
if (flagValue) {
|
|
146
|
+
navigateTo(enabledRoute);
|
|
147
|
+
if (enableScrollToTop) {
|
|
148
|
+
window.scrollTo({ top: 0, behavior: 'smooth' });
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
else if (fallbackAction) {
|
|
152
|
+
fallbackAction();
|
|
153
|
+
}
|
|
154
|
+
}, [flagValue, isReady, enabledRoute, enableScrollToTop]);
|
|
155
|
+
return {
|
|
156
|
+
navigate,
|
|
157
|
+
isEnabled: flagValue === true,
|
|
158
|
+
isReady,
|
|
159
|
+
};
|
|
160
|
+
};
|
|
161
|
+
export const usePostHogReady = () => {
|
|
162
|
+
const { isReady } = useFeatureFlags();
|
|
163
|
+
return isReady;
|
|
164
|
+
};
|
|
165
|
+
//# sourceMappingURL=FeatureFlagsHooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureFlagsHooks.js","sourceRoot":"","sources":["../../src/contexts/FeatureFlagsHooks.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrackingContext.d.ts","sourceRoot":"","sources":["../../src/contexts/TrackingContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,SAAS,EAAgC,MAAM,OAAO,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGhD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEzE,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,eAAe,0DAA4D,CAAC;AAEzF,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,eAAO,MAAM,gBAAgB,GAAI,sBAAsB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"TrackingContext.d.ts","sourceRoot":"","sources":["../../src/contexts/TrackingContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,SAAS,EAAgC,MAAM,OAAO,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGhD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEzE,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,eAAe,0DAA4D,CAAC;AAEzF,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,eAAO,MAAM,gBAAgB,GAAI,sBAAsB,qBAAqB,4CA2E3E,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,WAMjC,CAAC;AAEF,eAAO,MAAM,UAAU,QAAO,OAM7B,CAAC;AAGF,eAAO,MAAM,aAAa,QAAO,eAAe,GAAG,IAOlD,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAO,OAAO,GAAG,IAO7C,CAAC"}
|
|
@@ -42,9 +42,18 @@ export const TrackingProvider = ({ children, config }) => {
|
|
|
42
42
|
...(config.posthogDevKey && { devApiKey: config.posthogDevKey }),
|
|
43
43
|
};
|
|
44
44
|
const posthog = new PostHog(posthogConfig);
|
|
45
|
-
posthog.init();
|
|
46
45
|
return { leadTracker, posthog };
|
|
47
46
|
}, [config, isInternal]);
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
if (trackers === null || trackers === void 0 ? void 0 : trackers.posthog) {
|
|
49
|
+
trackers.posthog.init()
|
|
50
|
+
.then(() => {
|
|
51
|
+
})
|
|
52
|
+
.catch((error) => {
|
|
53
|
+
console.error('PostHog initialization failed:', error);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}, [trackers]);
|
|
48
57
|
return (_jsx(TrackingContext.Provider, { value: trackers, children: children }));
|
|
49
58
|
};
|
|
50
59
|
export const useLeadTracker = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrackingContext.js","sourceRoot":"","sources":["../../src/contexts/TrackingContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAa,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAS7C,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAkC,SAAS,CAAC,CAAC;AAOzF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAyB,EAAE,EAAE;IAE9E,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAU,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;IAGnF,SAAS,CAAC,GAAG,EAAE;QAEb,IAAI,eAAe,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAGlD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACtD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAGD,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjE,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,eAAe,GAAG,aAAa,KAAK,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;YAClF,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;QAC1E,CAAC;QAED,aAAa,CAAC,eAAe,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,eAAe,CAAC,CAAC;IACxE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;
|
|
1
|
+
{"version":3,"file":"TrackingContext.js","sourceRoot":"","sources":["../../src/contexts/TrackingContext.tsx"],"names":[],"mappings":"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"}
|
package/dist/react.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { TrackingProvider, TrackingContext, useLeadTracker, usePostHog, useStoredLead, useStoredAddress } from './contexts/TrackingContext';
|
|
2
|
-
export { FeatureFlagsProvider, useFeatureFlags
|
|
2
|
+
export { FeatureFlagsProvider, useFeatureFlags } from './contexts/FeatureFlagsContext';
|
|
3
|
+
export { useFeatureFlagWithReady, useFeatureFlag, useFeatureFlagNavigation, useSimpleFeatureFlagNavigation, usePostHogReady } from './contexts/FeatureFlagsHooks';
|
|
3
4
|
export type { TrackingConfig } from './types';
|
|
4
5
|
export type { FeatureFlagsContextType } from './contexts/FeatureFlagsContext.types';
|
|
5
6
|
export type { TrackingContextType } from './contexts/TrackingContext';
|
package/dist/react.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,UAAU,EACV,aAAa,EACb,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,oBAAoB,EACpB,eAAe,
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,UAAU,EACV,aAAa,EACb,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,oBAAoB,EACpB,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,wBAAwB,EACxB,8BAA8B,EAC9B,eAAe,EAChB,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACV,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,uBAAuB,EACxB,MAAM,sCAAsC,CAAC;AAE9C,YAAY,EACV,mBAAmB,EACpB,MAAM,4BAA4B,CAAC"}
|
package/dist/react.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { TrackingProvider, TrackingContext, useLeadTracker, usePostHog, useStoredLead, useStoredAddress } from './contexts/TrackingContext';
|
|
2
|
-
export { FeatureFlagsProvider, useFeatureFlags
|
|
2
|
+
export { FeatureFlagsProvider, useFeatureFlags } from './contexts/FeatureFlagsContext';
|
|
3
|
+
export { useFeatureFlagWithReady, useFeatureFlag, useFeatureFlagNavigation, useSimpleFeatureFlagNavigation, usePostHogReady } from './contexts/FeatureFlagsHooks';
|
|
3
4
|
//# sourceMappingURL=react.js.map
|
package/dist/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,UAAU,EACV,aAAa,EACb,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,oBAAoB,EACpB,eAAe,
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,UAAU,EACV,aAAa,EACb,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,oBAAoB,EACpB,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,wBAAwB,EACxB,8BAA8B,EAC9B,eAAe,EAChB,MAAM,8BAA8B,CAAC"}
|