@carbon/react
Version:
React components for the Carbon Design System
66 lines (65 loc) • 2.94 kB
TypeScript
/**
* Copyright IBM Corp. 2015, 2026
*
* This source code is licensed under the Apache-2.0 license found in the
* LICENSE file in the root directory of this source tree.
*/
import PropTypes from 'prop-types';
import { type ReactNode } from 'react';
export interface FeatureFlagsProps {
children?: ReactNode;
flags?: Record<string, boolean>;
enableV12TileDefaultIcons?: boolean;
enableV12TileRadioIcons?: boolean;
enableV12Overflowmenu?: boolean;
enableTreeviewControllable?: boolean;
enableExperimentalFocusWrapWithoutSentinels?: boolean;
enableFocusWrapWithoutSentinels?: boolean;
enableDialogElement?: boolean;
enableV12DynamicFloatingStyles?: boolean;
enableEnhancedFileUploader?: boolean;
enablePresence?: boolean;
}
/**
* Supports an object of feature flag values with the `flags` prop, merging them
* along with the current `FeatureFlagContext` to provide consumers to check if
* a feature flag is enabled or disabled in a given React tree
*/
export declare const FeatureFlags: {
({ children, flags, enableV12TileDefaultIcons, enableV12TileRadioIcons, enableV12Overflowmenu, enableTreeviewControllable, enableExperimentalFocusWrapWithoutSentinels, enableFocusWrapWithoutSentinels, enableDialogElement, enableV12DynamicFloatingStyles, enableEnhancedFileUploader, enablePresence, }: FeatureFlagsProps): import("react/jsx-runtime").JSX.Element;
propTypes: {
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
/**
* Provide the feature flags to enabled or disabled in the current Rea,ct tree
*/
flags: (props: Record<string, any>, propName: string, componentName: string, ...rest: any[]) => any;
enableV12TileDefaultIcons: PropTypes.Requireable<boolean>;
enableV12TileRadioIcons: PropTypes.Requireable<boolean>;
enableV12Overflowmenu: PropTypes.Requireable<boolean>;
enableTreeviewControllable: PropTypes.Requireable<boolean>;
enableExperimentalFocusWrapWithoutSentinels: PropTypes.Requireable<boolean>;
enableFocusWrapWithoutSentinels: PropTypes.Requireable<boolean>;
enableDialogElement: PropTypes.Requireable<boolean>;
enableV12DynamicFloatingStyles: PropTypes.Requireable<boolean>;
enableEnhancedFileUploader: PropTypes.Requireable<boolean>;
enablePresence: PropTypes.Requireable<boolean>;
};
};
/**
* Access whether a given flag is enabled or disabled in a given
* FeatureFlagContext
*/
export declare const useFeatureFlag: (flag: string) => any;
/**
* Access all feature flag information for the given FeatureFlagContext
*/
export declare const useFeatureFlags: () => {
flags: Map<any, any>;
checkForFlag(name: any): void;
add(name: any, enabled: any): void;
enable(name: any): void;
disable(name: any): void;
merge(flags: any): void;
mergeWithScope(scope: any): void;
enabled(name: any): any;
};