UNPKG

@carbon/react

Version:

React components for the Carbon Design System

66 lines (65 loc) 2.94 kB
/** * 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; };