import type React from 'react'; import { type ForgeChildren, type ForgeNode, type ForgeElement, type CustomFieldValue } from './forge'; import { type Icon } from './icons'; export interface AKOption { label: string; value: any; } export interface AuxPipelineUserVisibleError extends Error { errorMessage?: string | JSX.Element; errorDetails?: string; } export interface BadgeProps { appearance?: 'added' | 'default' | 'important' | 'primary' | 'removed'; text: string; } export declare type NativeBadgeProps = Omit & { children: string; }; export declare type ButtonAppearance = 'default' | 'danger' | 'link' | 'primary' | 'subtle' | 'subtle-link' | 'warning'; export interface ButtonProps { appearance?: ButtonAppearance; text: string; disabled?: boolean; onClick: () => Promise | void; icon?: Icon; iconPosition?: 'before' | 'after'; } export interface ButtonSetProps { children: ForgeChildren; } export interface ColumnsProps { children: ForgeChildren; } export declare type Align = 'start' | 'center' | 'end'; export interface ColumnProps { width?: number; align?: Align; children: ForgeChildren; } export interface ErrorPanelProps { error: AuxPipelineUserVisibleError; } export declare type FormData = Record; export interface FormProps { children: ForgeChildren; onSubmit: (data: T) => Promise | void; submitButtonText?: string; submitButtonAppearance?: 'default' | 'primary'; actionButtons?: ForgeElement[]; } export interface FormConditionProps { when: string; is: boolean | string | Array; areChildrenPersisted?: boolean; children: ForgeChildren; } export interface ConfigFormProps { children: ForgeChildren; } export interface CustomFieldPrimitiveProps { children: ForgeChildren; } export declare type ModalDialogWidth = 'small' | 'medium' | 'large' | 'x-large'; export interface CustomFieldEditPrimitiveProps { children: ForgeChildren; fieldValue: { value: CustomFieldValue; updated: boolean; }; isModalOpen: boolean; } export interface CustomFieldContextConfigPrimitiveProps { children: ForgeChildren; data?: Record; } export interface DashboardGadgetPrimitiveProps { children: ForgeChildren; } export interface DashboardGadgetEditPrimitiveProps { children: ForgeChildren; formData: FormData; } export declare type ImageSizes = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge'; export interface ImageProps { src: string; alt: string; size?: ImageSizes; } export interface NativeToggleProps extends ToggleProps { onChange?: (value: boolean) => void; } export interface NativeImageProps { src: string; alt?: string; size?: ImageSizes; } export interface NativeTextProps { children?: ForgeChildren; } export interface NativeLinkProps { href: string; openNewTab?: boolean; children?: ForgeChildren; } export interface NativeButtonProps { appearance?: ButtonAppearance; disabled?: boolean; onClick: () => Promise | void; icon?: Icon; iconPosition?: 'before' | 'after'; children?: string; } export interface FrameProps { resource: string; frameId?: string; } export interface InlineDialogProps { children: ForgeChildren; } export interface ModalDialogProps { appearance?: 'danger' | 'warning'; children: ForgeChildren; closeButtonText?: string; header: string; onClose: () => Promise | void; width?: ModalDialogWidth; } export declare type ContainerProps = {}; declare type LayoutTemplate = 'grid-2' | 'grid-3' | 'sidebar-left' | 'sidebar-right'; export declare type LayoutProps = { template: LayoutTemplate; children: ForgeChildren; }; export interface OptionProps { defaultSelected?: boolean; label: string; value: any; } export interface SelectProps { children?: ForgeChildren; isMulti?: boolean; label: string; name: string; description?: string; isRequired?: boolean; placeholder?: string; } export interface NativeSelectProps extends SelectProps { onChange?: (option: AKOption | AKOption[]) => void; } export interface TabsProps { children: ForgeChildren; } export interface TabProps { label: string; children: ForgeChildren; } export interface CheckboxProps { label: string; value: string; defaultChecked?: boolean; isRequired?: boolean; } export interface NativeCheckboxProps extends CheckboxProps { key?: string; onChange?: ({ value, isChecked }: { value: string; isChecked: boolean; }) => void; } export interface CheckboxGroupProps { label: string; name: string; description?: string; children: ForgeChildren; } export interface NativeCheckboxGroupProps extends CheckboxGroupProps { onChange?: (values: Array) => void; } export declare type CodeLanguages = 'abap' | 'actionscript' | 'ada' | 'arduino' | 'autoit' | 'c' | 'c++' | 'coffeescript' | 'csharp' | 'css' | 'cuda' | 'd' | 'dart' | 'delphi' | 'elixir' | 'erlang' | 'fortran' | 'foxpro' | 'go' | 'graphql' | 'groovy' | 'haskell' | 'haxe' | 'html' | 'java' | 'javascript' | 'json' | 'julia' | 'kotlin' | 'latex' | 'livescript' | 'lua' | 'mathematica' | 'matlab' | 'objective-c' | 'objective-j' | 'objectpascal' | 'ocaml' | 'octave' | 'perl' | 'php' | 'powershell' | 'prolog' | 'puppet' | 'python' | 'qml' | 'r' | 'racket' | 'restructuredtext' | 'ruby' | 'rust' | 'sass' | 'scala' | 'scheme' | 'shell' | 'smalltalk' | 'sql' | 'standardml' | 'swift' | 'tcl' | 'tex' | 'text' | 'typescript' | 'vala' | 'vbnet' | 'verilog' | 'vhdl' | 'xml' | 'xquery'; export interface CodeProps { text: string; language?: CodeLanguages; showLineNumbers?: boolean; } export declare type NativeCodeProps = Omit & { children: string; }; export interface DateLozengeProps { value: number; } export interface DatePickerProps { name: string; label: string; defaultValue?: string; description?: string; isRequired?: boolean; placeholder?: string; } export interface NativeDatePickerProps extends DatePickerProps { onChange?: (value: string) => void; } export declare type StatusLozengeAppearance = 'default' | 'inprogress' | 'moved' | 'new' | 'removed' | 'success'; export interface StatusLozengeProps { appearance?: StatusLozengeAppearance; text: string; } export declare type NativeStatusLozengeProps = Omit & { children: string; }; export interface MentionProps { accountId: string; } export declare type TextFieldType = 'email' | 'number' | 'tel' | 'text' | 'password'; export interface TextFieldProps { type?: TextFieldType; name: string; label: string; isRequired?: boolean; defaultValue?: string | number; description?: string; placeholder?: string; autoComplete?: 'off'; } export declare type NativeTextFieldProps = TextFieldProps & TextInputProps; export declare type HeadingProps = { size?: 'small' | 'medium' | 'large'; children: ForgeChildren; }; export declare type MarkupProps = { children: ForgeChildren; }; export declare type LinkProps = { href: string; openNewTab?: boolean; appearance?: 'primary-button' | 'button' | 'link'; } & MarkupProps; export declare type StringProps = { text: string; }; export interface ThreeLOPromptProps { message?: string; promptText?: string; authUrl: string; } export interface RadioProps { defaultChecked?: boolean; label: string; value: string; } export interface RadioGroupProps { children?: ForgeChildren; isRequired?: boolean; label: string; description?: string; name: string; } export interface NativeRadioGroupProps extends RadioGroupProps { onChange?: (value: string) => void; } export interface RangeProps { label: string; name: string; defaultValue?: number; min?: number; max?: number; step?: number; } export interface NativeRangeProps extends RangeProps { onChange?: (v: number) => void; } export interface SectionMessageProps { title?: string; appearance?: 'info' | 'warning' | 'error' | 'confirmation' | 'change'; children: ForgeChildren; } export declare type TagColor = 'default' | 'green' | 'blue' | 'red' | 'purple' | 'grey' | 'teal' | 'yellow' | 'green-light' | 'blue-light' | 'red-light' | 'purple-light' | 'grey-light' | 'teal-light' | 'yellow-light'; export interface TagProps { color?: TagColor; text: string; } export declare type NativeTagProps = Omit & { children: string; }; export interface TagGroupProps { children: ForgeChildren; } interface TextInputProps { onChange?: (text: string) => void; value?: string; } export interface TextAreaProps { name: string; label: string; defaultValue?: string; isMonospaced?: boolean; isRequired?: boolean; description?: string; placeholder?: string; spellCheck?: boolean; } export interface PortalRequestCreatePropertyPanelPrimitiveProps { children: ForgeChildren; fieldValue: { value: CustomPortalFieldValue; updated: boolean; }; } export declare type CustomPortalFieldValue = { data: object | null; isValid: boolean; }; export interface PortalTextAreaProps { name: string; placeholder?: string; isMonospaced?: boolean; spellCheck?: boolean; onBlur: () => Promise | void; value?: string; } export declare type NativeTextAreaProps = TextAreaProps & TextInputProps; export interface ToggleProps { name: string; label: string; defaultChecked?: boolean; } export interface TooltipProps { text: string; children: ForgeNode; } export interface UserPickerProps { name: string; label: string; description?: string; placeholder?: string; isRequired?: boolean; isMulti?: boolean; defaultValue?: string | string[]; includeUsers?: boolean; includeGroups?: boolean; baseUrl?: string; } export interface UserPickerValue { id: string; type: string; avatarUrl: string; name: string; email: string; } export interface NativeUserPickerProps extends UserPickerProps { onChange?: (user: UserPickerValue) => void; } interface TextProps { format?: 'plaintext' | 'markup'; align?: 'start' | 'center' | 'end'; } interface TextPropsWithContent extends TextProps { content: string; } interface TextPropsWithChildren extends TextProps { children: ForgeChildren; } export declare type JsxTextProps = TextPropsWithContent | TextPropsWithChildren; export declare type TextAlign = 'start' | 'center' | 'end'; export declare type RenderedTextProps = { content?: undefined; align: TextAlign; format: 'markup'; } | { content: string; format?: 'plaintext'; }; export interface TableProps { rowsPerPage?: number; children: ForgeChildren; } export interface HeadProps { children: ForgeChildren; } export interface RowProps { children: ForgeChildren; } export interface CellProps { children?: ForgeChildren; } export declare type UserProps = { accountId: string; }; export declare type UserGroupProps = { children: ForgeChildren; }; export interface IssuePanelActionProps { text: string; onClick: () => Promise | void; } export declare type PressableAppearance = 'default' | 'primary' | 'subtle'; export interface NativePressableProps { onPress: () => void; ariaLabel?: string; disabled?: boolean; appearance?: PressableAppearance; children?: ForgeChildren; } declare type NativeTableElementWidth = React.CSSProperties['width']; interface CommonNativeTableProps { id?: string; children?: ForgeChildren; } interface CommonNativeTableCellProps extends Omit { colSpan?: number; rowSpan?: number; children?: ForgeChildren; } export declare type NativeTableCaptionProps = { children: ForgeChildren; }; export declare type NativeTableRootProps = CommonNativeTableProps & { width?: NativeTableElementWidth; }; export declare type NativeTableHeadProps = CommonNativeTableProps; export declare type NativeTableBodyProps = CommonNativeTableProps; export declare type NativeTableFootProps = CommonNativeTableProps; export declare type NativeTableRowProps = CommonNativeTableProps; export declare type NativeTableHeadCellProps = CommonNativeTableCellProps & { scope?: 'col' | 'row' | 'colgroup' | 'rowgroup'; width?: NativeTableElementWidth; }; export declare type NativeTableCellProps = CommonNativeTableCellProps; export declare type Space = 'space.0' | 'space.025' | 'space.050' | 'space.075' | 'space.100' | 'space.150' | 'space.200' | 'space.250' | 'space.300' | 'space.400' | 'space.500' | 'space.600' | 'space.800' | 'space.1000'; export declare type NativeInlineProps = { children: ForgeChildren; alignBlock?: 'start' | 'center' | 'end' | 'baseline' | 'stretch'; alignInline?: 'start' | 'center' | 'end'; grow?: 'hug' | 'fill'; spread?: 'space-between'; space?: Space; shouldWrap?: boolean; rowSpace?: Space; }; export declare type NativeStackProps = { children: ForgeChildren; alignBlock?: 'start' | 'center' | 'end'; alignInline?: 'start' | 'center' | 'end'; grow?: 'hug' | 'fill'; spread?: 'space-between'; space?: Space; }; export {}; //# sourceMappingURL=components.d.ts.map