@trackunit/react-core-hooks 1.7.88 → 1.7.91
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/index.cjs.js +27 -0
- package/index.esm.js +26 -1
- package/package.json +4 -4
- package/src/featureFlags/FeatureFlagContextProvider.d.ts +22 -0
- package/src/index.d.ts +1 -0
package/index.cjs.js
CHANGED
|
@@ -295,6 +295,31 @@ const useExportDataContext = () => {
|
|
|
295
295
|
return context;
|
|
296
296
|
};
|
|
297
297
|
|
|
298
|
+
const FeatureFlagContext = react.createContext(null);
|
|
299
|
+
/**
|
|
300
|
+
* This is a provider for the FeatureFlagContext.
|
|
301
|
+
*/
|
|
302
|
+
const FeatureFlagContextProvider = (props) => {
|
|
303
|
+
return jsxRuntime.jsx(FeatureFlagContext.Provider, { ...props });
|
|
304
|
+
};
|
|
305
|
+
/**
|
|
306
|
+
* This is a hook to use the FeatureFlagContext.
|
|
307
|
+
*
|
|
308
|
+
* @requires FeatureFlagContext
|
|
309
|
+
* @example
|
|
310
|
+
* import { useFeatureFlags } from "@trackunit/react-core-hooks";
|
|
311
|
+
* const { flags } = useFeatureFlags();
|
|
312
|
+
* // use flags to control visibility/access ...
|
|
313
|
+
* @see (@link FeatureFlagContext)
|
|
314
|
+
*/
|
|
315
|
+
const useFeatureFlags = () => {
|
|
316
|
+
const context = react.useContext(FeatureFlagContext);
|
|
317
|
+
if (!context) {
|
|
318
|
+
throw new Error("useFeatureFlags must be used within a FeatureFlagContext");
|
|
319
|
+
}
|
|
320
|
+
return context;
|
|
321
|
+
};
|
|
322
|
+
|
|
298
323
|
/**
|
|
299
324
|
* Fetch any url as a blob and return a blob url.
|
|
300
325
|
* This is used to get and display logos and images related to Iris Apps.
|
|
@@ -1356,6 +1381,7 @@ exports.EnvironmentContextProvider = EnvironmentContextProvider;
|
|
|
1356
1381
|
exports.ErrorHandlingContext = ErrorHandlingContext;
|
|
1357
1382
|
exports.ErrorHandlingContextProvider = ErrorHandlingContextProvider;
|
|
1358
1383
|
exports.ExportDataContext = ExportDataContext;
|
|
1384
|
+
exports.FeatureFlagContextProvider = FeatureFlagContextProvider;
|
|
1359
1385
|
exports.FilterBarProvider = FilterBarProvider;
|
|
1360
1386
|
exports.ModalDialogContextProvider = ModalDialogContextProvider;
|
|
1361
1387
|
exports.NavigationContextProvider = NavigationContextProvider;
|
|
@@ -1383,6 +1409,7 @@ exports.useErrorHandlerOrNull = useErrorHandlerOrNull;
|
|
|
1383
1409
|
exports.useEventRuntime = useEventRuntime;
|
|
1384
1410
|
exports.useExportDataContext = useExportDataContext;
|
|
1385
1411
|
exports.useFeatureBranchQueryString = useFeatureBranchQueryString;
|
|
1412
|
+
exports.useFeatureFlags = useFeatureFlags;
|
|
1386
1413
|
exports.useFilterBarContext = useFilterBarContext;
|
|
1387
1414
|
exports.useHasAccessTo = useHasAccessTo;
|
|
1388
1415
|
exports.useImageUploader = useImageUploader;
|
package/index.esm.js
CHANGED
|
@@ -293,6 +293,31 @@ const useExportDataContext = () => {
|
|
|
293
293
|
return context;
|
|
294
294
|
};
|
|
295
295
|
|
|
296
|
+
const FeatureFlagContext = createContext(null);
|
|
297
|
+
/**
|
|
298
|
+
* This is a provider for the FeatureFlagContext.
|
|
299
|
+
*/
|
|
300
|
+
const FeatureFlagContextProvider = (props) => {
|
|
301
|
+
return jsx(FeatureFlagContext.Provider, { ...props });
|
|
302
|
+
};
|
|
303
|
+
/**
|
|
304
|
+
* This is a hook to use the FeatureFlagContext.
|
|
305
|
+
*
|
|
306
|
+
* @requires FeatureFlagContext
|
|
307
|
+
* @example
|
|
308
|
+
* import { useFeatureFlags } from "@trackunit/react-core-hooks";
|
|
309
|
+
* const { flags } = useFeatureFlags();
|
|
310
|
+
* // use flags to control visibility/access ...
|
|
311
|
+
* @see (@link FeatureFlagContext)
|
|
312
|
+
*/
|
|
313
|
+
const useFeatureFlags = () => {
|
|
314
|
+
const context = useContext(FeatureFlagContext);
|
|
315
|
+
if (!context) {
|
|
316
|
+
throw new Error("useFeatureFlags must be used within a FeatureFlagContext");
|
|
317
|
+
}
|
|
318
|
+
return context;
|
|
319
|
+
};
|
|
320
|
+
|
|
296
321
|
/**
|
|
297
322
|
* Fetch any url as a blob and return a blob url.
|
|
298
323
|
* This is used to get and display logos and images related to Iris Apps.
|
|
@@ -1344,4 +1369,4 @@ const useWidgetConfig = () => {
|
|
|
1344
1369
|
return result;
|
|
1345
1370
|
};
|
|
1346
1371
|
|
|
1347
|
-
export { AnalyticsContext, AnalyticsContextProvider, AssetSortingProvider, ConfirmationDialogProvider, CurrentUserPreferenceProvider, CurrentUserProvider, EnvironmentContextProvider, ErrorHandlingContext, ErrorHandlingContextProvider, ExportDataContext, FilterBarProvider, ModalDialogContextProvider, NavigationContextProvider, OemBrandingContextProvider, TimeRangeProvider, ToastProvider, TokenProvider, UserSubscriptionProvider, WidgetConfigContext, WidgetConfigProvider, fetchAssetBlobUrl, useAnalytics, useAssetRuntime, useAssetSorting, useConfirmationDialog, useCurrentUser, useCurrentUserLanguage, useCurrentUserSystemOfMeasurement, useCurrentUserTimeZonePreference, useCustomEncoding, useCustomerRuntime, useEnvironment, useErrorHandler, useErrorHandlerOrNull, useEventRuntime, useExportDataContext, useFeatureBranchQueryString, useFilterBarContext, useHasAccessTo, useImageUploader, useIrisAppId, useIrisAppImage, useIrisAppName, useLocalStorage, useLocalStorageReducer, useModalDialogContext, useNavigateInHost, useOemBrandingContext, usePrevious, useSiteRuntime, useTextSearch, useTimeRange, useToast, useToken, useUserSubscription, useWatch, useWidgetConfig, useWidgetConfigAsync };
|
|
1372
|
+
export { AnalyticsContext, AnalyticsContextProvider, AssetSortingProvider, ConfirmationDialogProvider, CurrentUserPreferenceProvider, CurrentUserProvider, EnvironmentContextProvider, ErrorHandlingContext, ErrorHandlingContextProvider, ExportDataContext, FeatureFlagContextProvider, FilterBarProvider, ModalDialogContextProvider, NavigationContextProvider, OemBrandingContextProvider, TimeRangeProvider, ToastProvider, TokenProvider, UserSubscriptionProvider, WidgetConfigContext, WidgetConfigProvider, fetchAssetBlobUrl, useAnalytics, useAssetRuntime, useAssetSorting, useConfirmationDialog, useCurrentUser, useCurrentUserLanguage, useCurrentUserSystemOfMeasurement, useCurrentUserTimeZonePreference, useCustomEncoding, useCustomerRuntime, useEnvironment, useErrorHandler, useErrorHandlerOrNull, useEventRuntime, useExportDataContext, useFeatureBranchQueryString, useFeatureFlags, useFilterBarContext, useHasAccessTo, useImageUploader, useIrisAppId, useIrisAppImage, useIrisAppName, useLocalStorage, useLocalStorageReducer, useModalDialogContext, useNavigateInHost, useOemBrandingContext, usePrevious, useSiteRuntime, useTextSearch, useTimeRange, useToast, useToken, useUserSubscription, useWatch, useWidgetConfig, useWidgetConfigAsync };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trackunit/react-core-hooks",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.91",
|
|
4
4
|
"repository": "https://github.com/Trackunit/manager",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"engines": {
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"react": "19.0.0",
|
|
11
11
|
"zod": "^3.23.8",
|
|
12
|
-
"@trackunit/iris-app-runtime-core": "1.8.
|
|
13
|
-
"@trackunit/shared-utils": "1.9.
|
|
12
|
+
"@trackunit/iris-app-runtime-core": "1.8.87",
|
|
13
|
+
"@trackunit/shared-utils": "1.9.77",
|
|
14
14
|
"fflate": "^0.8.2",
|
|
15
15
|
"es-toolkit": "^1.39.10",
|
|
16
|
-
"@trackunit/iris-app-runtime-core-api": "1.7.
|
|
16
|
+
"@trackunit/iris-app-runtime-core-api": "1.7.87"
|
|
17
17
|
},
|
|
18
18
|
"module": "./index.esm.js",
|
|
19
19
|
"main": "./index.cjs.js",
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FeatureFlagState } from "@trackunit/iris-app-runtime-core-api";
|
|
2
|
+
import { ReactNode } from "react";
|
|
3
|
+
export interface FeatureFlagContextProviderProps {
|
|
4
|
+
children?: ReactNode;
|
|
5
|
+
/** Override the value of the FeatureFlag context. Useful for testing purposes. */
|
|
6
|
+
value: FeatureFlagState;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* This is a provider for the FeatureFlagContext.
|
|
10
|
+
*/
|
|
11
|
+
export declare const FeatureFlagContextProvider: (props: FeatureFlagContextProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
/**
|
|
13
|
+
* This is a hook to use the FeatureFlagContext.
|
|
14
|
+
*
|
|
15
|
+
* @requires FeatureFlagContext
|
|
16
|
+
* @example
|
|
17
|
+
* import { useFeatureFlags } from "@trackunit/react-core-hooks";
|
|
18
|
+
* const { flags } = useFeatureFlags();
|
|
19
|
+
* // use flags to control visibility/access ...
|
|
20
|
+
* @see (@link FeatureFlagContext)
|
|
21
|
+
*/
|
|
22
|
+
export declare const useFeatureFlags: () => FeatureFlagState;
|
package/src/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export * from "./encoding/useCustomEncoding";
|
|
|
5
5
|
export * from "./environment/EnvironmentContextProvider";
|
|
6
6
|
export * from "./errorHandling/ErrorHandlingProvider";
|
|
7
7
|
export * from "./exportData/ExportDataContextState";
|
|
8
|
+
export * from "./featureFlags/FeatureFlagContextProvider";
|
|
8
9
|
export * from "./fetchAssetBlobUrl";
|
|
9
10
|
export * from "./filter-bar/FilterBarProvider";
|
|
10
11
|
export * from "./images/useImageUploader";
|