UNPKG

@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
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';