npm package diff
Package: @forge/react
Versions: 11.0.1-next.0 - 11.0.1-next.1
File: package/out/components/ui-kit-components.d.ts
Index: package/out/components/ui-kit-components.d.ts
===================================================================
--- package/out/components/ui-kit-components.d.ts
+++ package/out/components/ui-kit-components.d.ts
@@ -1,65 +1,339 @@
/// <reference types="react" />
import { ForgeElement } from '../types/index';
-import type { BadgeProps, BarChartProps, BoxProps, ButtonProps, ButtonGroupProps, CalendarProps, CheckboxProps, CodeProps, CodeBlockProps, DatePickerProps, ErrorMessageProps, HeadingProps, HelperMessageProps, HorizontalBarChartProps, HorizontalStackBarChartProps, InlineProps, LabelProps, ListProps, ListItemProps, LozengeProps, LineChartProps, LinkButtonProps, ModalProps, ModalHeaderProps, ModalBodyProps, ModalFooterProps, ModalTitleProps, ModalTransitionProps, PieChartProps, ProgressBarProps, ProgressTrackerProps, RadioProps, RadioGroupProps, RangeProps, SectionMessageProps, SectionMessageActionProps, SingleValueChartProps, SpinnerProps, StackProps, StackBarChartProps, TabsProps, TabProps, TabListProps, TabPanelProps, TagProps, TagGroupProps, TimePickerProps, FormProps, FormHeaderProps, FormFooterProps, FormSectionProps, TooltipProps, TextAreaProps, TextfieldProps, ToggleProps, ValidMessageProps, LoadingButtonProps, SelectProps, IconProps, EmptyStateProps } from '@atlaskit/forge-react-types';
-export declare const Badge: (props: BadgeProps) => ForgeElement;
-export declare const BarChart: (props: BarChartProps) => ForgeElement;
-export declare const Box: (props: BoxProps) => ForgeElement;
-export declare const Button: (props: ButtonProps) => ForgeElement;
-export declare const ButtonGroup: (props: ButtonGroupProps) => ForgeElement;
-export declare const Calendar: (props: CalendarProps) => ForgeElement;
-export declare const Checkbox: (props: CheckboxProps) => ForgeElement;
-export declare const Code: (props: CodeProps) => ForgeElement;
-export declare const CodeBlock: (props: CodeBlockProps) => ForgeElement;
-export declare const DatePicker: (props: DatePickerProps) => ForgeElement;
-export declare const EmptyState: (props: EmptyStateProps) => ForgeElement;
-export declare const ErrorMessage: (props: ErrorMessageProps) => ForgeElement;
-export declare const Form: (props: FormProps) => ForgeElement;
-export declare const FormFooter: (props: FormFooterProps) => ForgeElement;
-export declare const FormHeader: (props: FormHeaderProps) => ForgeElement;
-export declare const FormSection: (props: FormSectionProps) => ForgeElement;
-export declare const Heading: (props: HeadingProps) => ForgeElement;
-export declare const HelperMessage: (props: HelperMessageProps) => ForgeElement;
-export declare const HorizontalBarChart: (props: HorizontalBarChartProps) => ForgeElement;
-export declare const HorizontalStackBarChart: (props: HorizontalStackBarChartProps) => ForgeElement;
-export declare const Icon: (props: IconProps) => ForgeElement;
-export declare const Inline: (props: InlineProps) => ForgeElement;
-export declare const Label: (props: LabelProps) => ForgeElement;
-export declare const LineChart: (props: LineChartProps) => ForgeElement;
-export declare const LinkButton: (props: LinkButtonProps) => ForgeElement;
-export declare const List: (props: ListProps) => ForgeElement;
-export declare const ListItem: (props: ListItemProps) => ForgeElement;
-export declare const LoadingButton: (props: LoadingButtonProps) => ForgeElement;
-export declare const Lozenge: (props: LozengeProps) => ForgeElement;
-export declare const Modal: (props: ModalProps) => ForgeElement;
-export declare const ModalBody: (props: ModalBodyProps) => ForgeElement;
-export declare const ModalFooter: (props: ModalFooterProps) => ForgeElement;
-export declare const ModalHeader: (props: ModalHeaderProps) => ForgeElement;
-export declare const ModalTitle: (props: ModalTitleProps) => ForgeElement;
-export declare const ModalTransition: (props: ModalTransitionProps) => ForgeElement;
-export declare const PieChart: (props: PieChartProps) => ForgeElement;
-export declare const ProgressBar: (props: ProgressBarProps) => ForgeElement;
-export declare const ProgressTracker: (props: ProgressTrackerProps) => ForgeElement;
-export declare const Radio: (props: RadioProps) => ForgeElement;
-export declare const RadioGroup: (props: RadioGroupProps) => ForgeElement;
-export declare const Range: (props: RangeProps) => ForgeElement;
-export declare const Select: (props: SelectProps) => ForgeElement;
-export declare const SectionMessage: (props: SectionMessageProps) => ForgeElement;
-export declare const SectionMessageAction: (props: SectionMessageActionProps) => ForgeElement;
-export declare const SingleValueChart: (props: SingleValueChartProps) => ForgeElement;
-export declare const Spinner: (props: SpinnerProps) => ForgeElement;
-export declare const Stack: (props: StackProps) => ForgeElement;
-export declare const StackBarChart: (props: StackBarChartProps) => ForgeElement;
-export declare const Tab: (props: TabProps) => ForgeElement;
-export declare const TabList: (props: TabListProps) => ForgeElement;
-export declare const TabPanel: (props: TabPanelProps) => ForgeElement;
-export declare const Tabs: (props: TabsProps) => ForgeElement;
-export declare const Tag: (props: TagProps) => ForgeElement;
-export declare const TagGroup: (props: TagGroupProps) => ForgeElement;
-export declare const TextArea: (props: TextAreaProps) => ForgeElement;
-export declare const Textfield: (props: TextfieldProps) => ForgeElement;
-export declare const TimePicker: (props: TimePickerProps) => ForgeElement;
-export declare const Toggle: (props: ToggleProps) => ForgeElement;
-export declare const Tooltip: (props: TooltipProps) => ForgeElement;
-export declare const ValidMessage: (props: ValidMessageProps) => ForgeElement;
+import type { TBadge, TBarChart, TBox, TButton, TButtonGroup, TCalendar, TCheckbox, TCode, TCodeBlock, TDatePicker, TErrorMessage, THeading, THelperMessage, THorizontalBarChart, THorizontalStackBarChart, TInline, TLabel, TList, TListItem, TLozenge, TLineChart, TLinkButton, TModal, TModalHeader, TModalBody, TModalFooter, TModalTitle, TModalTransition, TPieChart, TProgressBar, TProgressTracker, TRadio, TRadioGroup, TRange, TSectionMessage, TSectionMessageAction, TSingleValueChart, TSpinner, TStack, TStackBarChart, TTabs, TTab, TTabList, TTabPanel, TTag, TTagGroup, TTimePicker, TForm, TFormHeader, TFormFooter, TFormSection, TTooltip, TTextArea, TTextfield, TToggle, TValidMessage, TLoadingButton, TSelect, TIcon, TEmptyState } from '@atlaskit/forge-react-types';
+/**
+ * A badge is a visual indicator for numeric values such as tallies and scores.
+ *
+ * @see [Badge](https://developer.atlassian.com/platform/forge/ui-kit/components/badge/) in UI Kit documentation for more information
+ */
+export declare const Badge: TBadge<ForgeElement<Record<string, any>>>;
+/** A visual representation of data using rectangular bars of varying heights to compare different categories or values. */
+export declare const BarChart: TBarChart<ForgeElement<Record<string, any>>>;
+/**
+ * A box is a generic container that provides managed access to design tokens.
+ *
+ * @see [Box](https://developer.atlassian.com/platform/forge/ui-kit/components/box/) in UI Kit documentation for more information
+ */
+export declare const Box: TBox<ForgeElement<Record<string, any>>>;
+/**
+ * A button triggers an event or action. They let users know what will happen next.
+ *
+ * @see [Button](https://developer.atlassian.com/platform/forge/ui-kit/components/button/) in UI Kit documentation for more information
+ */
+export declare const Button: TButton<ForgeElement<Record<string, any>>>;
+/**
+ * A button group gives users access to frequently performed, related actions.
+ *
+ * @see [ButtonGroup](https://developer.atlassian.com/platform/forge/ui-kit/components/button-group/) in UI Kit documentation for more information
+ */
+export declare const ButtonGroup: TButtonGroup<ForgeElement<Record<string, any>>>;
+/**
+ * An interactive calendar for date selection experiences.
+ *
+ * @see [Calendar](https://developer.atlassian.com/platform/forge/ui-kit/components/calendar/) in UI Kit documentation for more information
+ */
+export declare const Calendar: TCalendar<ForgeElement<Record<string, any>>>;
+/**
+ * A checkbox is an input control that allows a user to select one or more options from a number of choices.
+ *
+ * @see [Checkbox](https://developer.atlassian.com/platform/forge/ui-kit/components/checkbox/) in UI Kit documentation for more information
+ */
+export declare const Checkbox: TCheckbox<ForgeElement<Record<string, any>>>;
+/**
+ * Code highlights short strings of code snippets inline with body text.
+ *
+ * @see [Code](https://developer.atlassian.com/platform/forge/ui-kit/components/code/) in UI Kit documentation for more information
+ */
+export declare const Code: TCode<ForgeElement<Record<string, any>>>;
+/**
+ * Code highlights short strings of code snippets inline with body text.
+ *
+ * @see [CodeBlock](https://developer.atlassian.com/platform/forge/ui-kit/components/code-block/) in UI Kit documentation for more information
+ */
+export declare const CodeBlock: TCodeBlock<ForgeElement<Record<string, any>>>;
+/**
+ * A date picker allows the user to select a particular date.
+ *
+ * @see [DatePicker](https://developer.atlassian.com/platform/forge/ui-kit/components/date-picker/) in UI Kit documentation for more information
+ */
+export declare const DatePicker: TDatePicker<ForgeElement<Record<string, any>>>;
+/**
+ * An empty state appears when there is no data to display and describes what the user can do next.
+ *
+ * @see [EmptyState](https://developer.atlassian.com/platform/forge/ui-kit/components/empty-state/) in UI Kit documentation for more information
+ */
+export declare const EmptyState: TEmptyState<ForgeElement<Record<string, any>>>;
+/**
+ * An error message is used to tell a user that the field input is invalid.
+ * For example, an error message could be "Invalid username, needs to be more than 4 characters".
+ *
+ * @see [ErrorMessage](https://developer.atlassian.com/platform/forge/ui-kit/components/form/#error-message) in UI Kit documentation for more information
+ */
+export declare const ErrorMessage: TErrorMessage<ForgeElement<Record<string, any>>>;
+/**
+ * A form allows users to input information.
+ *
+ * @see [Form](https://developer.atlassian.com/platform/forge/ui-kit/components/form/) in UI Kit documentation for more information
+ */
+export declare const Form: TForm<ForgeElement<Record<string, any>>>;
+/**
+ * Use a form footer to set the content at the end of the form. This is used for a button that submits the form.
+ *
+ * This is positioned after the last field in the form.
+ *
+ * @see [FormFooter](https://developer.atlassian.com/platform/forge/ui-kit/components/form/#form-footer) in UI Kit documentation for more information
+ */
+export declare const FormFooter: TFormFooter<ForgeElement<Record<string, any>>>;
+/**
+ * Use a form header to describe the contents of the form. This is the title and description of the form.
+ * If your form contains required fields, the form header is also where you should include a legend
+ * for sighted users to know that * indicates a required field.
+ *
+ * @see [FormHeader](https://developer.atlassian.com/platform/forge/ui-kit/components/form/#form-header) in UI Kit documentation for more information
+ */
+export declare const FormHeader: TFormHeader<ForgeElement<Record<string, any>>>;
+/**
+ * Use a form section to group related information together, so that longer forms are easier to understand.
+ * There can be multiple form sections in one form.
+ *
+ * @see [FormSection](https://developer.atlassian.com/platform/forge/ui-kit/components/form/#form-section) in UI Kit documentation for more information
+ */
+export declare const FormSection: TFormSection<ForgeElement<Record<string, any>>>;
+/**
+ * A heading is a typography component used to display text in different sizes and formats.
+ *
+ * @see [Heading](https://developer.atlassian.com/platform/forge/ui-kit/components/heading/) in UI Kit documentation for more information
+ */
+export declare const Heading: THeading<ForgeElement<Record<string, any>>>;
+/**
+ * A helper message tells the user what kind of input the field takes.
+ * For example, a helper message could be "Password should be more than 4 characters".
+ *
+ * @see [HelperMessage](https://developer.atlassian.com/platform/forge/ui-kit/components/form/#helper-message) in UI Kit documentation for more information
+ */
+export declare const HelperMessage: THelperMessage<ForgeElement<Record<string, any>>>;
+/** A visual representation of data using horizontal rectangular bars of varying lengths to compare different categories or values. */
+export declare const HorizontalBarChart: THorizontalBarChart<ForgeElement<Record<string, any>>>;
+/** A visual representation of data using horizontal rectangular bars of varying lengths to demonstrate comparisons between categories of data. */
+export declare const HorizontalStackBarChart: THorizontalStackBarChart<ForgeElement<Record<string, any>>>;
+/**
+ * An icon is a visual representation of a command, device, directory, or common action.
+ *
+ * @see [Icon](https://developer.atlassian.com/platform/forge/ui-kit/components/icon/) in UI Kit documentation for more information
+ */
+export declare const Icon: TIcon<ForgeElement<Record<string, any>>>;
+/**
+ * An inline manages the horizontal layout of direct children using flexbox.
+ *
+ * @see [Inline](https://developer.atlassian.com/platform/forge/ui-kit/components/inline/) in UI Kit documentation for more information
+ */
+export declare const Inline: TInline<ForgeElement<Record<string, any>>>;
+/**
+ * A label represents a caption for an item in a user interface.
+ *
+ * @see [Label](https://developer.atlassian.com/platform/forge/ui-kit/components/form/#label) in UI Kit documentation for more information
+ */
+export declare const Label: TLabel<ForgeElement<Record<string, any>>>;
+/** A visual representation of data showing trends. */
+export declare const LineChart: TLineChart<ForgeElement<Record<string, any>>>;
+/**
+ * Renders a link in the style of a button.
+ *
+ * @see [LinkButton](https://developer.atlassian.com/platform/forge/ui-kit/components/button/#linkbutton-props) in UI Kit documentation for more information
+ */
+export declare const LinkButton: TLinkButton<ForgeElement<Record<string, any>>>;
+/**
+ * An unordered (bulleted) or ordered (numbered) list.
+ *
+ * @see [List](https://developer.atlassian.com/platform/forge/ui-kit/components/list/) in UI Kit documentation for more information
+ */
+export declare const List: TList<ForgeElement<Record<string, any>>>;
+export declare const ListItem: TListItem<ForgeElement<Record<string, any>>>;
+/**
+ * A button that shows an spinner as an overlay on the button when you set an isLoading prop to true.
+ *
+ * @see [LoadingButton](https://developer.atlassian.com/platform/forge/ui-kit/components/button/#loadingbutton-props) in UI Kit documentation for more information
+ */
+export declare const LoadingButton: TLoadingButton<ForgeElement<Record<string, any>>>;
+/**
+ * A lozenge is a visual indicator used to highlight an item's status for quick recognition.
+ *
+ * @see [Lozenge](https://developer.atlassian.com/platform/forge/ui-kit/components/lozenge/) in UI Kit documentation for more information
+ */
+export declare const Lozenge: TLozenge<ForgeElement<Record<string, any>>>;
+/**
+ * A modal dialog displays content that requires user interaction, in a layer above the page.
+ *
+ * @see [Modal](https://developer.atlassian.com/platform/forge/ui-kit/components/modal/) in UI Kit documentation for more information
+ */
+export declare const Modal: TModal<ForgeElement<Record<string, any>>>;
+/**
+ * A modal body is used to display the main content of a modal.
+ *
+ * @see [ModalBody](https://developer.atlassian.com/platform/forge/ui-kit/components/modal/#body) in UI Kit documentation for more information
+ */
+export declare const ModalBody: TModalBody<ForgeElement<Record<string, any>>>;
+/**
+ * A modal footer often contains a primary action and the ability to cancel and close the dialog,
+ * though can contain any React element.
+ *
+ * @see [ModalFooter](https://developer.atlassian.com/platform/forge/ui-kit/components/modal/#footer) in UI Kit documentation for more information
+ */
+export declare const ModalFooter: TModalFooter<ForgeElement<Record<string, any>>>;
+/**
+ * A modal header contains the title of the modal and can contain other React elements such as a close button.
+ *
+ * @see [ModalHeader](https://developer.atlassian.com/platform/forge/ui-kit/components/modal/#header) in UI Kit documentation for more information
+ */
+export declare const ModalHeader: TModalHeader<ForgeElement<Record<string, any>>>;
+/**
+ * A modal title is used to display a title within a modal.
+ *
+ * @see [ModalTitle](https://developer.atlassian.com/platform/forge/ui-kit/components/modal/#title) in UI Kit documentation for more information
+ */
+export declare const ModalTitle: TModalTitle<ForgeElement<Record<string, any>>>;
+/**
+ * A modal transition wraps a modal to provide a fluid transition upon opening and closing.
+ *
+ * @see [ModalTransition](https://developer.atlassian.com/platform/forge/ui-kit/components/modal/#modal-transition) in UI Kit documentation for more information
+ */
+export declare const ModalTransition: TModalTransition<ForgeElement<Record<string, any>>>;
+/** A visual representation of data proportions in a circular format. */
+export declare const PieChart: TPieChart<ForgeElement<Record<string, any>>>;
+/**
+ * A progress bar communicates the status of a system process.
+ *
+ * @see [ProgressBar](https://developer.atlassian.com/platform/forge/ui-kit/components/progress-bar/) in UI Kit documentation for more information
+ */
+export declare const ProgressBar: TProgressBar<ForgeElement<Record<string, any>>>;
+/**
+ * A progress tracker displays the steps and progress through a journey.
+ *
+ * @see [ProgressTracker](https://developer.atlassian.com/platform/forge/ui-kit/components/progress-tracker/) in UI Kit documentation for more information
+ */
+export declare const ProgressTracker: TProgressTracker<ForgeElement<Record<string, any>>>;
+/**
+ * A radio input allows users to select only one option from a number of choices. Radio is generally displayed in a radio group.
+ *
+ * @see [Radio](https://developer.atlassian.com/platform/forge/ui-kit/components/radio/) in UI Kit documentation for more information
+ */
+export declare const Radio: TRadio<ForgeElement<Record<string, any>>>;
+/**
+ * A radio input allows users to select only one option from a number of choices. Radio is generally displayed in a radio group.
+ *
+ * @see [RadioGroup](https://developer.atlassian.com/platform/forge/ui-kit/components/radio-group/) in UI Kit documentation for more information
+ */
+export declare const RadioGroup: TRadioGroup<ForgeElement<Record<string, any>>>;
+/**
+ * A range lets users choose an approximate value on a slider.
+ *
+ * @see [Range](https://developer.atlassian.com/platform/forge/ui-kit/components/range/) in UI Kit documentation for more information
+ */
+export declare const Range: TRange<ForgeElement<Record<string, any>>>;
+/**
+ * Select allows users to make a single selection or multiple selections from a list of options.
+ *
+ * @see [Select](https://developer.atlassian.com/platform/forge/ui-kit/components/select/) in UI Kit documentation for more information
+ */
+export declare const Select: TSelect<ForgeElement<Record<string, any>>>;
+/**
+ * A section message is used to alert users to a particular section of the screen.
+ *
+ * @see [SectionMessage](https://developer.atlassian.com/platform/forge/ui-kit/components/section-message/) in UI Kit documentation for more information
+ */
+export declare const SectionMessage: TSectionMessage<ForgeElement<Record<string, any>>>;
+/**
+ * A section message is used to alert users to a particular section of the screen.
+ *
+ * @see [SectionMessageAction](https://developer.atlassian.com/platform/forge/ui-kit/components/section-message/#section-message-action) in UI Kit documentation for more information
+ */
+export declare const SectionMessageAction: TSectionMessageAction<ForgeElement<Record<string, any>>>;
+/**
+ * A visualization representation of information with a single value as its metrics.
+ * The metric can be displayed with a increase/decrease indicator to display trends or changes over time.
+ */
+export declare const SingleValueChart: TSingleValueChart<ForgeElement<Record<string, any>>>;
+/**
+ * A spinner is an animated spinning icon that lets users know content is being loaded.
+ *
+ * @see [Spinner](https://developer.atlassian.com/platform/forge/ui-kit/components/spinner/) in UI Kit documentation for more information
+ */
+export declare const Spinner: TSpinner<ForgeElement<Record<string, any>>>;
+/**
+ * A stack manages the vertical layout of direct children using flexbox.
+ *
+ * @see [Stack](https://developer.atlassian.com/platform/forge/ui-kit/components/stack/) in UI Kit documentation for more information
+ */
+export declare const Stack: TStack<ForgeElement<Record<string, any>>>;
+/** A visual representation of data using rectangular bars of varying heights to demonstrate comparisons between categories of data. */
+export declare const StackBarChart: TStackBarChart<ForgeElement<Record<string, any>>>;
+/**
+ * `Tab` represents an individual tab displayed in a TabList.
+ *
+ * @see [Tab](https://developer.atlassian.com/platform/forge/ui-kit/components/tabs/) in UI Kit documentation for more information
+ */
+export declare const Tab: TTab<ForgeElement<Record<string, any>>>;
+/**
+ * A `TabList` groups `Tab` components together.
+ *
+ * @see [TabList](https://developer.atlassian.com/platform/forge/ui-kit/components/tab-list/) in UI Kit documentation for more information
+ */
+export declare const TabList: TTabList<ForgeElement<Record<string, any>>>;
+/**
+ * A `TabPanel` houses the contents of a `Tab`.
+ *
+ * @see [TabPanel](https://developer.atlassian.com/platform/forge/ui-kit/components/tabs/) in UI Kit documentation for more information
+ */
+export declare const TabPanel: TTabPanel<ForgeElement<Record<string, any>>>;
+/**
+ * Tabs are used to organize content by grouping similar information on the same page.
+ *
+ * @see [Tabs](https://developer.atlassian.com/platform/forge/ui-kit/components/tabs/) in UI Kit documentation for more information
+ */
+export declare const Tabs: TTabs<ForgeElement<Record<string, any>>>;
+export declare const Tag: TTag<ForgeElement<Record<string, any>>>;
+/**
+ * A tag group controls the layout and alignment for a collection of tags.
+ *
+ * @see [TagGroup](https://developer.atlassian.com/platform/forge/ui-kit/components/tag-group/) in UI Kit documentation for more information
+ */
+export declare const TagGroup: TTagGroup<ForgeElement<Record<string, any>>>;
+/**
+ * A text area lets users enter long form text which spans over multiple lines.
+ *
+ * @see [TextArea](https://developer.atlassian.com/platform/forge/ui-kit/components/text-area/) in UI Kit documentation for more information
+ */
+export declare const TextArea: TTextArea<ForgeElement<Record<string, any>>>;
+/**
+ * A text field is an input that allows a user to write or edit text.
+ *
+ * @see [Textfield](https://developer.atlassian.com/platform/forge/ui-kit/components/textfield/) in UI Kit documentation for more information
+ */
+export declare const Textfield: TTextfield<ForgeElement<Record<string, any>>>;
+/**
+ * A time picker allows the user to select a specific time.
+ *
+ * @see [TimePicker](https://developer.atlassian.com/platform/forge/ui-kit/components/time-picker/) in UI Kit documentation for more information
+ */
+export declare const TimePicker: TTimePicker<ForgeElement<Record<string, any>>>;
+/**
+ * A toggle is used to view or switch between enabled or disabled states.
+ *
+ * @see [Toggle](https://developer.atlassian.com/platform/forge/ui-kit/components/toggle/) in UI Kit documentation for more information
+ */
+export declare const Toggle: TToggle<ForgeElement<Record<string, any>>>;
+/**
+ * A `Tooltip` is a floating, non-actionable label used to explain a user interface element or feature.
+ *
+ * @see [Tooltip](https://developer.atlassian.com/platform/forge/ui-kit/components/tooltip/) in UI Kit documentation for more information
+ */
+export declare const Tooltip: TTooltip<ForgeElement<Record<string, any>>>;
+/**
+ * A valid message is used to tell a user that the field input is valid.
+ * For example, a helper message could be "Nice one, this username is available".
+ *
+ * @see [ValidMessage](https://developer.atlassian.com/platform/forge/ui-kit/components/form/#validation-message) in UI Kit documentation for more information
+ */
+export declare const ValidMessage: TValidMessage<ForgeElement<Record<string, any>>>;
export declare const RequiredAsterisk: () => JSX.Element;
//# sourceMappingURL=ui-kit-components.d.ts.map
\ No newline at end of file