import { FalconButtonTypes } from '../utils/data-source'; export interface Link { id: number; slug: string; name: string; is_folder: boolean; parent_id: number; published: boolean; path?: string; position: number; uuid: string; is_startpage: boolean; real_path: string; alternates: LinkAlternate[]; } export interface LinkAlternate { path: string; name?: string; lang: string; } export type Links = { [key: string]: Link; }; export type HeadingVariants = "h1" | "h2" | "h3" | "h4"; export type FalconColorsTypes = "grey-600" | "grey-500" | "ice-white" | "grey-100" | "grey-400" | "none"; export type Alignment = "left" | "center" | "right"; export interface Asset { id: number; alt?: string; name: string; focus?: string; title?: string; filename: string; copyright?: string; fieldtype: "asset"; } export interface NativeColorPicker { color: string; plugin: string; _uid: string; } export interface GenericSBProps { _uid: string; component: string; } export interface ComponentMetadata { lang: string; title: string; activePath: string; links: Links; locale: string; storyId: string; appId?: string; integrationId?: string; } export type FalconBackgroundColor = 'grey-100' | 'ice-white' | 'transparent'; export type FalconGradientTypes = 'rubyglow-diagonal' | 'rubyglow-vertical' | 'pinksky-diagonal' | 'pinksky-vertical' | 'bluehaze-diagonal' | 'bluehaze-vertical' | 'greencloud-diagonal' | 'greencloud-vertical' | 'peachfog-diagonal' | 'peachfog-vertical' | 'darkblue-haze' | 'none'; export interface ComponentWithContentProps { content: T; metadata?: ComponentMetadata | undefined; } export interface FalconButtonSchema extends GenericSBProps { buttonLabel?: string; buttonIcon?: Asset; buttonHoverIcon?: Asset; buttonClickedIcon?: Asset; buttonDisabledIcon?: Asset; buttonLink: MultiLink; linkTarget: LinkTarget; buttonType: FalconButtonTypes; iconPosition: string; buttonAlignment: Alignment; asset?: Asset; id?: string; bloks?: any; minWidth: number; enableScroll: boolean; targetElement: componentsInStory; blackFridayThemeIcon: Asset; fromTallhero?: boolean; } export interface MultiLink { id: string; url: string; linktype: 'url' | 'story'; fieldtype: 'multilink'; cached_url: string; } export type LinkTarget = '_self' | '_blank' | null; export interface componentsInStory { _uid: string; plugin: string; blockIdentifier: string; }