kibana/x-pack/plugins/timelines/public/index.ts
Spencer fecdba7eba
[eslint] add rule to prevent export* in plugin index files (#109357)
* [eslint] add rule to prevent export* in plugin index files

* deduplicate export names for types/instances with the same name

* attempt to auto-fix duplicate exports too

* capture exported enums too

* enforce no_export_all for core too

* disable rule by default, allow opting-in for help fixing

* update tests

* reduce yarn.lock duplication

* add rule but no fixes

* disable all existing violations

* update api docs with new line numbers

* revert unnecessary changes to yarn.lock which only had drawbacks

* remove unnecessary eslint-disable

* rework codegen to split type exports and use babel to generate valid code

* check for "export types" deeply

* improve test by using fixtures

* add comments to some helper functions

* disable fix for namespace exports including types

* label all eslint-disable comments with related team-specific issue

* ensure that child exports of `export type` are always tracked as types

Co-authored-by: spalger <spalger@users.noreply.github.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-09-01 18:05:45 -07:00

71 lines
2.3 KiB
TypeScript

/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
// TODO: https://github.com/elastic/kibana/issues/110904
/* eslint-disable @kbn/eslint/no_export_all */
import { createContext } from 'react';
import { PluginInitializerContext } from '../../../../src/core/public';
import { TimelinesPlugin } from './plugin';
import type { StatefulEventContextType } from './types';
export * as tGridActions from './store/t_grid/actions';
export * as tGridSelectors from './store/t_grid/selectors';
export type {
Inspect,
SortField,
TimerangeInput,
PaginationInputPaginated,
DocValueFields,
CursorType,
TotalValue,
} from '../common/search_strategy/common';
export { Direction } from '../common/search_strategy/common';
export { tGridReducer } from './store/t_grid/reducer';
export type { TGridModelForTimeline, TimelineState, TimelinesUIStart } from './types';
export { TGridType, SortDirection } from './types';
export {
ARIA_COLINDEX_ATTRIBUTE,
ARIA_ROWINDEX_ATTRIBUTE,
DATA_COLINDEX_ATTRIBUTE,
DATA_ROWINDEX_ATTRIBUTE,
FIRST_ARIA_INDEX,
OnColumnFocused,
arrayIndexToAriaIndex,
elementOrChildrenHasFocus,
isArrowDownOrArrowUp,
isArrowUp,
isEscape,
isTab,
focusColumn,
getFocusedAriaColindexCell,
getFocusedDataColindexCell,
getNotesContainerClassName,
getRowRendererClassName,
getTableSkipFocus,
handleSkipFocus,
onFocusReFocusDraggable,
onKeyDownFocusHandler,
skipFocusInContainerTo,
stopPropagationAndPreventDefault,
} from '../common/utils/accessibility';
export { getPageRowIndex } from '../common/utils/pagination';
export {
addFieldToTimelineColumns,
getTimelineIdFromColumnDroppableId,
} from './components/drag_and_drop/helpers';
export { StatefulFieldsBrowser } from './components/t_grid/toolbar/fields_browser';
export { useStatusBulkActionItems } from './hooks/use_status_bulk_action_items';
// This exports static code and TypeScript types,
// as well as, Kibana Platform `plugin()` initializer.
export function plugin(initializerContext: PluginInitializerContext) {
return new TimelinesPlugin(initializerContext);
}
export const StatefulEventContext = createContext<StatefulEventContextType | null>(null);