@atlaskit/flag
Version:
A flag is used for confirmations, alerts, and acknowledgments that require minimal user interaction, often displayed using a flag group.
43 lines (42 loc) • 1.5 kB
TypeScript
import { type FlagPropsWithoutId } from './types';
export type FlagId = string | number;
export type Combine<First, Second> = Omit<First, keyof Second> & Second;
export interface CreateFlagArgs extends FlagPropsWithoutId {
/**
* A unique identifier used for rendering and onDismissed callbacks.
* This will be autogenerated if you don’t supply one.
* If you don’t want the same flag showing multiple times, provide a unique id.
*/
id?: FlagId;
/**
* Marks whether the flag should render as an AutoDismissFlag
*/
isAutoDismiss?: boolean;
}
export type FlagArgs = Combine<CreateFlagArgs, {
id: FlagId;
}>;
export type DismissFn = () => void;
export type FlagAPI = {
showFlag: (args: CreateFlagArgs) => DismissFn;
/**
* Programmatically dismiss a flag by id. No-op if the flag isn't currently shown.
*/
hideFlag: (id: FlagId) => void;
};
/**
* @deprecated Use `import { FlagContext } from '@atlaskit/flag/flag-context'` instead.
*/
export { FlagContext } from './flag-context';
/**
* @deprecated Use `import { useFlags } from '@atlaskit/flag/use-flags'` instead.
*/
export { useFlags } from './use-flags';
/**
* @deprecated Use `import { FlagsProvider } from '@atlaskit/flag/flags-provider'` instead.
*/
export { FlagsProvider } from './flags-provider';
/**
* @deprecated Use `import { withFlagsProvider } from '@atlaskit/flag/with-flags-provider'` instead.
*/
export { withFlagsProvider } from './with-flags-provider';