@carbon/ibm-products
Version:
Carbon for IBM Products
61 lines • 2.57 kB
TypeScript
/**
* Copyright IBM Corp. 2024, 2025
*
* 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 React, { ReactNode, type JSX } from 'react';
export interface FeatureFlagsProps {
children?: ReactNode;
flags?: Record<string, boolean>;
defaultPortalTargetBody?: boolean;
enableDatagridUseInlineEdit?: boolean;
enableDatagridUseEditableCell?: boolean;
enableDatagridUseCustomizeColumns?: boolean;
enableSidepanelResizer?: boolean;
enableTestFlagA?: boolean;
enableTestFlagB?: boolean;
}
/**
* Our FeatureFlagContext is used alongside the FeatureFlags component to enable
* or disable feature flags in a given React tree
*/
declare const FeatureFlagContext: React.Context<any>;
/**
* 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
*/
declare function FeatureFlags({ children, flags, defaultPortalTargetBody, enableDatagridUseInlineEdit, enableDatagridUseEditableCell, enableDatagridUseCustomizeColumns, enableSidepanelResizer, enableTestFlagA, enableTestFlagB, }: FeatureFlagsProps): JSX.Element;
declare namespace FeatureFlags {
var propTypes: {
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
/**
* Provide the feature flags to enabled or disabled in the current React tree
*/
defaultPortalTargetBody: PropTypes.Requireable<boolean>;
enableDatagridUseCustomizeColumns: PropTypes.Requireable<boolean>;
enableDatagridUseEditableCell: PropTypes.Requireable<boolean>;
enableDatagridUseInlineEdit: PropTypes.Requireable<boolean>;
enableSidepanelResizer: PropTypes.Requireable<boolean>;
enableTestFlagA: PropTypes.Requireable<boolean>;
enableTestFlagB: PropTypes.Requireable<boolean>;
flags: (props: any, propName: any, comp: any, loc: any, propFullName: any, secret: any) => any;
};
}
/**
* Access whether a given flag is enabled or disabled in a given
* FeatureFlagContext
*
* @returns {boolean}
*/
declare function useFeatureFlag(flag: any): any;
/**
* Access all feature flag information for the given FeatureFlagContext
*
* @returns {FeatureFlagScope}
*/
declare function useFeatureFlags(): any;
export { FeatureFlags, FeatureFlagContext, useFeatureFlags, useFeatureFlag };
//# sourceMappingURL=index.d.ts.map