diff --git a/.storybook/main.ts b/.storybook/main.ts index d38fd336..a793e17c 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -8,7 +8,7 @@ const config: StorybookConfig = { }, }, stories: [ - '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)', + '../stories/**/*.stories.@(js|jsx|mjs|ts|tsx)', ], core: { disableTelemetry: true, diff --git a/src/components/Cell/Cell.tsx b/src/components/Cell.tsx similarity index 94% rename from src/components/Cell/Cell.tsx rename to src/components/Cell.tsx index 4d44bc6f..a2e6eade 100644 --- a/src/components/Cell/Cell.tsx +++ b/src/components/Cell.tsx @@ -1,10 +1,10 @@ import type { KeyboardEvent, MouseEvent, ReactNode } from 'react' import { useCallback, useContext, useEffect, useMemo, useRef } from 'react' -import { ColumnWidthsContext } from '../../contexts/ColumnWidthsContext.js' -import type { ResolvedValue } from '../../helpers/dataframe/index.js' -import { useCellFocus } from '../../hooks/useCellFocus.js' -import { useOnCopy } from '../../hooks/useOnCopyToClipboard.js' +import { ColumnWidthsContext } from '../contexts/ColumnWidthsContext.js' +import type { ResolvedValue } from '../helpers/dataframe/index.js' +import { useCellFocus } from '../hooks/useCellFocus.js' +import { useOnCopy } from '../hooks/useOnCopyToClipboard.js' export interface CellContentProps { stringify: (value: unknown) => string | undefined diff --git a/src/components/ColumnHeader/ColumnHeader.tsx b/src/components/ColumnHeader.tsx similarity index 90% rename from src/components/ColumnHeader/ColumnHeader.tsx rename to src/components/ColumnHeader.tsx index 733e671a..de6927ed 100644 --- a/src/components/ColumnHeader/ColumnHeader.tsx +++ b/src/components/ColumnHeader.tsx @@ -2,18 +2,18 @@ import type { KeyboardEvent, ReactNode } from 'react' import { useCallback, useContext, useEffect, useMemo, useRef } from 'react' import { flushSync } from 'react-dom' -import { ColumnsVisibilityContext } from '../../contexts/ColumnsVisibilityContext.js' -import { ColumnWidthsContext } from '../../contexts/ColumnWidthsContext.js' -import { SortInfoAndActionsByColumnContext } from '../../contexts/OrderByContext.js' -import type { ColumnConfig } from '../../helpers/columnConfiguration.js' -import { getOffsetWidth } from '../../helpers/width.js' -import { useCellFocus } from '../../hooks/useCellFocus.js' -import { useColumnMenu } from '../../hooks/useColumnMenu.js' -import { useOnCopy } from '../../hooks/useOnCopyToClipboard.js' -import type { AriaSort } from '../ColumnMenu/ColumnMenu.js' -import ColumnMenu from '../ColumnMenu/ColumnMenu.js' -import ColumnMenuButton from '../ColumnMenuButton/ColumnMenuButton.js' -import ColumnResizer from '../ColumnResizer/ColumnResizer.js' +import { ColumnsVisibilityContext } from '../contexts/ColumnsVisibilityContext.js' +import { ColumnWidthsContext } from '../contexts/ColumnWidthsContext.js' +import { SortInfoAndActionsByColumnContext } from '../contexts/OrderByContext.js' +import type { ColumnConfig } from '../helpers/columnConfiguration.js' +import { getOffsetWidth } from '../helpers/width.js' +import { useCellFocus } from '../hooks/useCellFocus.js' +import { useColumnMenu } from '../hooks/useColumnMenu.js' +import { useOnCopy } from '../hooks/useOnCopyToClipboard.js' +import type { AriaSort } from './ColumnMenu.js' +import ColumnMenu from './ColumnMenu.js' +import ColumnMenuButton from './ColumnMenuButton.js' +import ColumnResizer from './ColumnResizer.js' interface Props { columnIndex: number // index of the column in the dataframe (0-based) diff --git a/src/components/ColumnMenu/ColumnMenu.tsx b/src/components/ColumnMenu.tsx similarity index 95% rename from src/components/ColumnMenu/ColumnMenu.tsx rename to src/components/ColumnMenu.tsx index f331352c..1ecbc31b 100644 --- a/src/components/ColumnMenu/ColumnMenu.tsx +++ b/src/components/ColumnMenu.tsx @@ -2,10 +2,10 @@ import type { KeyboardEvent, MouseEvent, ReactNode } from 'react' import { useCallback, useContext, useId, useMemo, useRef } from 'react' import { createPortal } from 'react-dom' -import { CellNavigationContext } from '../../contexts/CellNavigationContext.js' -import { PortalContainerContext } from '../../contexts/PortalContainerContext.js' -import type { CustomMenuGroup } from '../../helpers/columnConfiguration.js' -import { useFocusManagement } from '../../hooks/useFocusManagement.js' +import { CellNavigationContext } from '../contexts/CellNavigationContext.js' +import { PortalContainerContext } from '../contexts/PortalContainerContext.js' +import type { CustomMenuGroup } from '../helpers/columnConfiguration.js' +import { useFocusManagement } from '../hooks/useFocusManagement.js' export type AriaSort = 'ascending' | 'descending' | 'none' diff --git a/src/components/ColumnMenuButton/ColumnMenuButton.tsx b/src/components/ColumnMenuButton.tsx similarity index 100% rename from src/components/ColumnMenuButton/ColumnMenuButton.tsx rename to src/components/ColumnMenuButton.tsx diff --git a/src/components/ColumnResizer/ColumnResizer.tsx b/src/components/ColumnResizer.tsx similarity index 100% rename from src/components/ColumnResizer/ColumnResizer.tsx rename to src/components/ColumnResizer.tsx diff --git a/src/components/HighTable/HighTable.tsx b/src/components/HighTable.tsx similarity index 80% rename from src/components/HighTable/HighTable.tsx rename to src/components/HighTable.tsx index dc4e01cc..b049552d 100644 --- a/src/components/HighTable/HighTable.tsx +++ b/src/components/HighTable.tsx @@ -1,18 +1,18 @@ import { type ReactNode } from 'react' -import { columnWidthsSuffix } from '../../helpers/constants.js' -import styles from '../../HighTable.module.css' -import { CellNavigationProvider } from '../../providers/CellNavigationProvider.js' -import { ColumnParametersProvider } from '../../providers/ColumnParametersProvider.js' -import { ColumnsVisibilityProvider } from '../../providers/ColumnsVisibilityProvider.js' -import { ColumnWidthsProvider } from '../../providers/ColumnWidthsProvider.js' -import { DataProvider } from '../../providers/DataProvider.js' -import { OrderByProvider } from '../../providers/OrderByProvider.js' -import { ScrollProvider } from '../../providers/ScrollProvider.js' -import { SelectionProvider } from '../../providers/SelectionProvider.js' -import { TableCornerSizeProvider } from '../../providers/TableCornerSizeProvider.js' -import { ViewportSizeProvider } from '../../providers/ViewportSizeProvider.js' -import type { HighTableProps } from '../../types.js' +import { columnWidthsSuffix } from '../helpers/constants.js' +import styles from '../HighTable.module.css' +import { CellNavigationProvider } from '../providers/CellNavigationProvider.js' +import { ColumnParametersProvider } from '../providers/ColumnParametersProvider.js' +import { ColumnsVisibilityProvider } from '../providers/ColumnsVisibilityProvider.js' +import { ColumnWidthsProvider } from '../providers/ColumnWidthsProvider.js' +import { DataProvider } from '../providers/DataProvider.js' +import { OrderByProvider } from '../providers/OrderByProvider.js' +import { ScrollProvider } from '../providers/ScrollProvider.js' +import { SelectionProvider } from '../providers/SelectionProvider.js' +import { TableCornerSizeProvider } from '../providers/TableCornerSizeProvider.js' +import { ViewportSizeProvider } from '../providers/ViewportSizeProvider.js' +import type { HighTableProps } from '../types.js' import Scroller from './Scroller.js' import Slice from './Slice.js' import Wrapper from './Wrapper.js' diff --git a/src/components/Row/Row.tsx b/src/components/Row.tsx similarity index 100% rename from src/components/Row/Row.tsx rename to src/components/Row.tsx diff --git a/src/components/RowHeader/RowHeader.tsx b/src/components/RowHeader.tsx similarity index 95% rename from src/components/RowHeader/RowHeader.tsx rename to src/components/RowHeader.tsx index e1f09bb6..82945506 100644 --- a/src/components/RowHeader/RowHeader.tsx +++ b/src/components/RowHeader.tsx @@ -1,8 +1,8 @@ import type { ChangeEvent, CSSProperties, KeyboardEvent, MouseEvent } from 'react' import { useCallback, useEffect, useMemo, useRef } from 'react' -import { useCellFocus } from '../../hooks/useCellFocus.js' -import { useOnCopy } from '../../hooks/useOnCopyToClipboard.js' +import { useCellFocus } from '../hooks/useCellFocus.js' +import { useOnCopy } from '../hooks/useOnCopyToClipboard.js' interface Props { selected?: boolean diff --git a/src/components/HighTable/Scroller.tsx b/src/components/Scroller.tsx similarity index 92% rename from src/components/HighTable/Scroller.tsx rename to src/components/Scroller.tsx index 3dd93f9e..0fa40776 100644 --- a/src/components/HighTable/Scroller.tsx +++ b/src/components/Scroller.tsx @@ -1,10 +1,10 @@ import type { KeyboardEvent } from 'react' import { useCallback, useContext, useMemo } from 'react' -import { CellNavigationContext } from '../../contexts/CellNavigationContext.js' -import { ScrollContext } from '../../contexts/ScrollContext.js' -import { SetViewportSizeContext } from '../../contexts/ViewportSizeContext.js' -import styles from '../../HighTable.module.css' +import { CellNavigationContext } from '../contexts/CellNavigationContext.js' +import { ScrollContext } from '../contexts/ScrollContext.js' +import { SetViewportSizeContext } from '../contexts/ViewportSizeContext.js' +import styles from '../HighTable.module.css' interface Props { /** Child components */ diff --git a/src/components/HighTable/Slice.tsx b/src/components/Slice.tsx similarity index 90% rename from src/components/HighTable/Slice.tsx rename to src/components/Slice.tsx index 739d8700..98038ded 100644 --- a/src/components/HighTable/Slice.tsx +++ b/src/components/Slice.tsx @@ -1,21 +1,21 @@ import type { KeyboardEvent } from 'react' import { useCallback, useContext, useMemo } from 'react' -import { CellNavigationContext } from '../../contexts/CellNavigationContext.js' -import { ColumnsVisibilityContext } from '../../contexts/ColumnsVisibilityContext.js' -import { DataFrameMethodsContext, DataVersionContext, NumRowsContext } from '../../contexts/DataContext.js' -import { OrderByContext } from '../../contexts/OrderByContext.js' -import { ScrollContext } from '../../contexts/ScrollContext.js' -import { SelectionContext } from '../../contexts/SelectionContext.js' -import { ariaOffset } from '../../helpers/constants.js' -import { useFetchCells } from '../../hooks/useFetchCells.js' -import type { HighTableProps } from '../../types.js' -import { stringify as stringifyDefault } from '../../utils/stringify.js' -import Cell from '../Cell/Cell.js' -import Row from '../Row/Row.js' -import RowHeader from '../RowHeader/RowHeader.js' -import TableCorner from '../TableCorner/TableCorner.js' -import TableHeader from '../TableHeader/TableHeader.js' +import { CellNavigationContext } from '../contexts/CellNavigationContext.js' +import { ColumnsVisibilityContext } from '../contexts/ColumnsVisibilityContext.js' +import { DataFrameMethodsContext, DataVersionContext, NumRowsContext } from '../contexts/DataContext.js' +import { OrderByContext } from '../contexts/OrderByContext.js' +import { ScrollContext } from '../contexts/ScrollContext.js' +import { SelectionContext } from '../contexts/SelectionContext.js' +import { ariaOffset } from '../helpers/constants.js' +import { useFetchCells } from '../hooks/useFetchCells.js' +import type { HighTableProps } from '../types.js' +import { stringify as stringifyDefault } from '../utils/stringify.js' +import Cell from './Cell.js' +import Row from './Row.js' +import RowHeader from './RowHeader.js' +import TableCorner from './TableCorner.js' +import TableHeader from './TableHeader.js' type SliceProps = Pick diff --git a/src/components/TableCorner/TableCorner.tsx b/src/components/TableCorner.tsx similarity index 96% rename from src/components/TableCorner/TableCorner.tsx rename to src/components/TableCorner.tsx index 895042a5..77d9de6e 100644 --- a/src/components/TableCorner/TableCorner.tsx +++ b/src/components/TableCorner.tsx @@ -1,8 +1,8 @@ import type { ChangeEvent, CSSProperties, KeyboardEvent, ReactNode } from 'react' import { useCallback, useContext, useEffect, useRef } from 'react' -import { SetTableCornerSizeContext } from '../../contexts/TableCornerSizeContext.js' -import { useCellFocus } from '../../hooks/useCellFocus.js' +import { SetTableCornerSizeContext } from '../contexts/TableCornerSizeContext.js' +import { useCellFocus } from '../hooks/useCellFocus.js' interface Props { checked?: boolean diff --git a/src/components/TableHeader/TableHeader.tsx b/src/components/TableHeader.tsx similarity index 85% rename from src/components/TableHeader/TableHeader.tsx rename to src/components/TableHeader.tsx index ef15fd79..1a2931e1 100644 --- a/src/components/TableHeader/TableHeader.tsx +++ b/src/components/TableHeader.tsx @@ -1,6 +1,6 @@ -import type { ColumnParameters } from '../../contexts/ColumnParametersContext.js' -import { ariaOffset } from '../../helpers/constants.js' -import ColumnHeader from '../ColumnHeader/ColumnHeader.js' +import type { ColumnParameters } from '../contexts/ColumnParametersContext.js' +import { ariaOffset } from '../helpers/constants.js' +import ColumnHeader from './ColumnHeader.js' interface TableHeaderProps { columnsParameters: ColumnParameters[] diff --git a/src/components/HighTable/Wrapper.tsx b/src/components/Wrapper.tsx similarity index 75% rename from src/components/HighTable/Wrapper.tsx rename to src/components/Wrapper.tsx index d41a81be..6f57525e 100644 --- a/src/components/HighTable/Wrapper.tsx +++ b/src/components/Wrapper.tsx @@ -1,11 +1,11 @@ import { type CSSProperties, type ReactNode, useContext } from 'react' -import { NumRowsContext } from '../../contexts/DataContext.js' -import { PortalContainerContext } from '../../contexts/PortalContainerContext.js' -import { TableCornerHeightContext } from '../../contexts/TableCornerSizeContext.js' -import styles from '../../HighTable.module.css' -import { useHTMLElement } from '../../hooks/useHTMLElement.js' -import type { HighTableProps } from '../../types.js' +import { NumRowsContext } from '../contexts/DataContext.js' +import { PortalContainerContext } from '../contexts/PortalContainerContext.js' +import { TableCornerHeightContext } from '../contexts/TableCornerSizeContext.js' +import styles from '../HighTable.module.css' +import { useHTMLElement } from '../hooks/useHTMLElement.js' +import type { HighTableProps } from '../types.js' type Props = Pick & { /** Child components */ diff --git a/src/index.ts b/src/index.ts index b819c94e..ac2f8727 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,5 @@ -import HighTable from './components/HighTable/HighTable.js' -export { type CellContentProps } from './components/Cell/Cell.js' +import HighTable from './components/HighTable.js' +export { type CellContentProps } from './components/Cell.js' export type { ColumnConfig, ColumnConfiguration, CustomMenuGroup, CustomMenuItem } from './helpers/columnConfiguration.js' export type { Cells, DataFrame, DataFrameEvents, ResolvedValue } from './helpers/dataframe/index.js' export { arrayDataFrame, checkSignal, createGetRowNumber, sortableDataFrame, validateColumn, validateFetchParams, validateGetCellParams, validateGetRowNumberParams, validateOrderBy, validateRow } from './helpers/dataframe/index.js' diff --git a/src/types.ts b/src/types.ts index 3cf338e9..820f3c91 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,6 +1,6 @@ import type { KeyboardEvent, MouseEvent, ReactNode } from 'react' -import type { CellContentProps } from './components/Cell/Cell.js' +import type { CellContentProps } from './components/Cell.js' import type { ColumnConfiguration } from './helpers/columnConfiguration.js' import type { DataFrame } from './helpers/dataframe/index.js' import type { Selection } from './helpers/selection.js' diff --git a/src/components/HighTable/HighTable.stories.tsx b/stories/HighTable.stories.tsx similarity index 96% rename from src/components/HighTable/HighTable.stories.tsx rename to stories/HighTable.stories.tsx index aea2086d..a6369cce 100644 --- a/src/components/HighTable/HighTable.stories.tsx +++ b/stories/HighTable.stories.tsx @@ -2,18 +2,18 @@ import type { Meta, StoryObj } from '@storybook/react-vite' import type { MouseEvent, ReactNode } from 'react' import { useState } from 'react' -import { checkSignal, createGetRowNumber, validateFetchParams, validateGetCellParams } from '../../helpers/dataframe/helpers.js' -import type { DataFrame, DataFrameEvents } from '../../helpers/dataframe/index.js' -import { arrayDataFrame } from '../../helpers/dataframe/index.js' -import { sortableDataFrame } from '../../helpers/dataframe/sort.js' -import type { Fetch, ResolvedValue } from '../../helpers/dataframe/types.js' -import type { Selection } from '../../helpers/selection.js' -import type { OrderBy } from '../../helpers/sort.js' -import { createEventTarget } from '../../helpers/typedEventTarget.js' -import type { ColumnsVisibility } from '../../providers/ColumnsVisibilityProvider.js' -import type { CellPosition } from '../../types.js' -import type { CellContentProps } from '../Cell/Cell.js' -import HighTable from './HighTable.js' +import type { CellContentProps } from '../src/components/Cell.js' +import HighTable from '../src/components/HighTable.js' +import { checkSignal, createGetRowNumber, validateFetchParams, validateGetCellParams } from '../src/helpers/dataframe/helpers.js' +import type { DataFrame, DataFrameEvents } from '../src/helpers/dataframe/index.js' +import { arrayDataFrame } from '../src/helpers/dataframe/index.js' +import { sortableDataFrame } from '../src/helpers/dataframe/sort.js' +import type { Fetch, ResolvedValue } from '../src/helpers/dataframe/types.js' +import type { Selection } from '../src/helpers/selection.js' +import type { OrderBy } from '../src/helpers/sort.js' +import { createEventTarget } from '../src/helpers/typedEventTarget.js' +import type { ColumnsVisibility } from '../src/providers/ColumnsVisibilityProvider.js' +import type { CellPosition } from '../src/types.js' function random(seed: number) { const x = Math.sin(seed) * 10000 diff --git a/src/components/Cell/Cell.test.tsx b/test/components/Cell.test.tsx similarity index 95% rename from src/components/Cell/Cell.test.tsx rename to test/components/Cell.test.tsx index f17171a9..80d8258a 100644 --- a/src/components/Cell/Cell.test.tsx +++ b/test/components/Cell.test.tsx @@ -1,8 +1,8 @@ import { act, fireEvent } from '@testing-library/react' import { describe, expect, it } from 'vitest' -import { render } from '../../utils/userEvent.js' -import Cell from './Cell.js' +import Cell from '../../src/components/Cell.js' +import { render } from '../../src/utils/userEvent.js' const rest = { ariaColIndex: 1, diff --git a/src/components/ColumnHeader/ColumnHeader.test.tsx b/test/components/ColumnHeader.test.tsx similarity index 96% rename from src/components/ColumnHeader/ColumnHeader.test.tsx rename to test/components/ColumnHeader.test.tsx index fe573585..bdfd7299 100644 --- a/src/components/ColumnHeader/ColumnHeader.test.tsx +++ b/test/components/ColumnHeader.test.tsx @@ -1,15 +1,15 @@ import { act, fireEvent } from '@testing-library/react' import { beforeEach, describe, expect, it, vi } from 'vitest' -import { ColumnDescriptorsContext, NumColumnsContext } from '../../contexts/DataContext.js' -import { SortInfoAndActionsByColumnContext } from '../../contexts/OrderByContext.js' -import { getOffsetWidth } from '../../helpers/width.js' -import { ColumnParametersProvider } from '../../providers/ColumnParametersProvider.js' -import { ColumnWidthsProvider } from '../../providers/ColumnWidthsProvider.js' -import { render } from '../../utils/userEvent.js' -import ColumnHeader from './ColumnHeader.js' - -vi.mock('../../helpers/width.js', { spy: true }) +import ColumnHeader from '../../src/components/ColumnHeader.js' +import { ColumnDescriptorsContext, NumColumnsContext } from '../../src/contexts/DataContext.js' +import { SortInfoAndActionsByColumnContext } from '../../src/contexts/OrderByContext.js' +import { getOffsetWidth } from '../../src/helpers/width.js' +import { ColumnParametersProvider } from '../../src/providers/ColumnParametersProvider.js' +import { ColumnWidthsProvider } from '../../src/providers/ColumnWidthsProvider.js' +import { render } from '../../src/utils/userEvent.js' + +vi.mock('../../src/helpers/width.js', { spy: true }) vi.stubGlobal('localStorage', (() => { const store = new Map() diff --git a/src/components/ColumnMenu/ColumnMenu.test.tsx b/test/components/ColumnMenu.test.tsx similarity index 97% rename from src/components/ColumnMenu/ColumnMenu.test.tsx rename to test/components/ColumnMenu.test.tsx index c6c73046..b3b6e7b2 100644 --- a/src/components/ColumnMenu/ColumnMenu.test.tsx +++ b/test/components/ColumnMenu.test.tsx @@ -1,10 +1,10 @@ import type { ReactNode } from 'react' import { beforeEach, describe, expect, it, vi } from 'vitest' -import { PortalContainerContext } from '../../contexts/PortalContainerContext.js' -import { useHTMLElement } from '../../hooks/useHTMLElement.js' -import { render as _render } from '../../utils/userEvent.js' -import ColumnMenu from './ColumnMenu.js' +import ColumnMenu from '../../src/components/ColumnMenu.js' +import { PortalContainerContext } from '../../src/contexts/PortalContainerContext.js' +import { useHTMLElement } from '../../src/hooks/useHTMLElement.js' +import { render as _render } from '../../src/utils/userEvent.js' function ContainerProvider({ children }: { children: ReactNode }) { const { element, onMount } = useHTMLElement() diff --git a/src/components/ColumnMenuButton/ColumnMenuButton.test.tsx b/test/components/ColumnMenuButton.test.tsx similarity index 98% rename from src/components/ColumnMenuButton/ColumnMenuButton.test.tsx rename to test/components/ColumnMenuButton.test.tsx index 29d98c2a..9f83b11d 100644 --- a/src/components/ColumnMenuButton/ColumnMenuButton.test.tsx +++ b/test/components/ColumnMenuButton.test.tsx @@ -1,7 +1,7 @@ import { beforeEach, describe, expect, it, vi } from 'vitest' -import { render } from '../../utils/userEvent.js' -import ColumnMenuButton from './ColumnMenuButton.js' +import ColumnMenuButton from '../../src/components/ColumnMenuButton.js' +import { render } from '../../src/utils/userEvent.js' describe('ColumnMenuButton', () => { const defaultProps = { diff --git a/src/components/HighTable/HighTable.keyboard.test.tsx b/test/components/HighTable.keyboard.test.tsx similarity index 98% rename from src/components/HighTable/HighTable.keyboard.test.tsx rename to test/components/HighTable.keyboard.test.tsx index 6788a9c5..d3b0ce96 100644 --- a/src/components/HighTable/HighTable.keyboard.test.tsx +++ b/test/components/HighTable.keyboard.test.tsx @@ -1,12 +1,12 @@ import type { UserEvent } from '@testing-library/user-event' import { beforeEach, describe, expect, it, vi } from 'vitest' -import { createGetRowNumber, validateGetCellParams } from '../../helpers/dataframe/helpers.js' -import { type DataFrame, sortableDataFrame } from '../../helpers/dataframe/index.js' -import type { Obj } from '../../helpers/dataframe/types.js' -import type { OrderBy } from '../../helpers/sort.js' -import { render } from '../../utils/userEvent.js' -import HighTable from './HighTable.js' +import HighTable from '../../src/components/HighTable.js' +import { createGetRowNumber, validateGetCellParams } from '../../src/helpers/dataframe/helpers.js' +import { type DataFrame, sortableDataFrame } from '../../src/helpers/dataframe/index.js' +import type { Obj } from '../../src/helpers/dataframe/types.js' +import type { OrderBy } from '../../src/helpers/sort.js' +import { render } from '../../src/utils/userEvent.js' Element.prototype.scrollIntoView = vi.fn() diff --git a/src/components/HighTable/HighTable.selection.controlled.test.tsx b/test/components/HighTable.selection.controlled.test.tsx similarity index 97% rename from src/components/HighTable/HighTable.selection.controlled.test.tsx rename to test/components/HighTable.selection.controlled.test.tsx index a45fa985..0d52c76a 100644 --- a/src/components/HighTable/HighTable.selection.controlled.test.tsx +++ b/test/components/HighTable.selection.controlled.test.tsx @@ -1,12 +1,12 @@ import { waitFor } from '@testing-library/react' import { beforeEach, describe, expect, it, vi } from 'vitest' -import { createGetRowNumber, validateGetCellParams } from '../../helpers/dataframe/helpers.js' -import type { DataFrame } from '../../helpers/dataframe/index.js' -import type { Obj } from '../../helpers/dataframe/types.js' -import type { OrderBy } from '../../helpers/sort.js' -import { render } from '../../utils/userEvent.js' -import HighTable from './HighTable.js' +import HighTable from '../../src/components/HighTable.js' +import { createGetRowNumber, validateGetCellParams } from '../../src/helpers/dataframe/helpers.js' +import type { DataFrame } from '../../src/helpers/dataframe/index.js' +import type { Obj } from '../../src/helpers/dataframe/types.js' +import type { OrderBy } from '../../src/helpers/sort.js' +import { render } from '../../src/utils/userEvent.js' Element.prototype.scrollIntoView = vi.fn() diff --git a/src/components/HighTable/HighTable.selection.uncontrolled.test.tsx b/test/components/HighTable.selection.uncontrolled.test.tsx similarity index 97% rename from src/components/HighTable/HighTable.selection.uncontrolled.test.tsx rename to test/components/HighTable.selection.uncontrolled.test.tsx index 6ab4f401..cb18db48 100644 --- a/src/components/HighTable/HighTable.selection.uncontrolled.test.tsx +++ b/test/components/HighTable.selection.uncontrolled.test.tsx @@ -1,12 +1,12 @@ import { waitFor } from '@testing-library/react' import { beforeEach, describe, expect, it, vi } from 'vitest' -import { createGetRowNumber, validateGetCellParams } from '../../helpers/dataframe/helpers.js' -import type { DataFrame } from '../../helpers/dataframe/index.js' -import type { Obj } from '../../helpers/dataframe/types.js' -import type { OrderBy } from '../../helpers/sort.js' -import { render } from '../../utils/userEvent.js' -import HighTable from './HighTable.js' +import HighTable from '../../src/components/HighTable.js' +import { createGetRowNumber, validateGetCellParams } from '../../src/helpers/dataframe/helpers.js' +import type { DataFrame } from '../../src/helpers/dataframe/index.js' +import type { Obj } from '../../src/helpers/dataframe/types.js' +import type { OrderBy } from '../../src/helpers/sort.js' +import { render } from '../../src/utils/userEvent.js' Element.prototype.scrollIntoView = vi.fn() diff --git a/src/components/HighTable/HighTable.test.tsx b/test/components/HighTable.test.tsx similarity index 97% rename from src/components/HighTable/HighTable.test.tsx rename to test/components/HighTable.test.tsx index f5928007..20d681e6 100644 --- a/src/components/HighTable/HighTable.test.tsx +++ b/test/components/HighTable.test.tsx @@ -2,16 +2,16 @@ import { act, fireEvent, waitFor, within } from '@testing-library/react' import type { Mock } from 'vitest' import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' -import { defaultOverscan, defaultPadding } from '../../helpers/constants.js' -import { createGetRowNumber, validateFetchParams, validateGetCellParams, validateGetRowNumberParams } from '../../helpers/dataframe/helpers.js' -import type { DataFrame, DataFrameEvents, Fetch } from '../../helpers/dataframe/index.js' -import { arrayDataFrame } from '../../helpers/dataframe/index.js' -import { sortableDataFrame } from '../../helpers/dataframe/sort.js' -import type { Obj } from '../../helpers/dataframe/types.js' -import type { OrderBy } from '../../helpers/sort.js' -import { createEventTarget } from '../../helpers/typedEventTarget.js' -import { render } from '../../utils/userEvent.js' -import HighTable from './HighTable.js' +import HighTable from '../../src/components/HighTable.js' +import { defaultOverscan, defaultPadding } from '../../src/helpers/constants.js' +import { createGetRowNumber, validateFetchParams, validateGetCellParams, validateGetRowNumberParams } from '../../src/helpers/dataframe/helpers.js' +import type { DataFrame, DataFrameEvents, Fetch } from '../../src/helpers/dataframe/index.js' +import { arrayDataFrame } from '../../src/helpers/dataframe/index.js' +import { sortableDataFrame } from '../../src/helpers/dataframe/sort.js' +import type { Obj } from '../../src/helpers/dataframe/types.js' +import type { OrderBy } from '../../src/helpers/sort.js' +import { createEventTarget } from '../../src/helpers/typedEventTarget.js' +import { render } from '../../src/utils/userEvent.js' Element.prototype.scrollIntoView = vi.fn() @@ -540,7 +540,7 @@ const initialWidth = 62 // initial width of the columns, in pixels, above the de const getOffsetWidth = vi.fn(() => initialWidth) const columnWidthsSuffix = ':2:column:widths' const keyItem = `key${columnWidthsSuffix}` -vi.mock(import('../../helpers/width.js'), async (importOriginal) => { +vi.mock(import('../../src/helpers/width.js'), async (importOriginal) => { const actual = await importOriginal() return { ...actual, diff --git a/src/components/RowHeader/RowHeader.test.tsx b/test/components/RowHeader.test.tsx similarity index 93% rename from src/components/RowHeader/RowHeader.test.tsx rename to test/components/RowHeader.test.tsx index 932a31d0..fba02d0c 100644 --- a/src/components/RowHeader/RowHeader.test.tsx +++ b/test/components/RowHeader.test.tsx @@ -1,8 +1,8 @@ import { act, fireEvent } from '@testing-library/react' import { beforeEach, describe, expect, it, vi } from 'vitest' -import { render } from '../../utils/userEvent.js' -import RowHeader from './RowHeader.js' +import RowHeader from '../../src/components/RowHeader.js' +import { render } from '../../src/utils/userEvent.js' const defaultProps = { ariaColIndex: 1, diff --git a/src/components/TableHeader/TableHeader.test.tsx b/test/components/TableHeader.test.tsx similarity index 90% rename from src/components/TableHeader/TableHeader.test.tsx rename to test/components/TableHeader.test.tsx index c6dcb918..e4be7596 100644 --- a/src/components/TableHeader/TableHeader.test.tsx +++ b/test/components/TableHeader.test.tsx @@ -2,12 +2,12 @@ import { within } from '@testing-library/react' import type { ReactNode } from 'react' import { beforeEach, describe, expect, it, vi } from 'vitest' -import { ColumnsVisibilityContext } from '../../contexts/ColumnsVisibilityContext.js' -import { SortInfoAndActionsByColumnContext } from '../../contexts/OrderByContext.js' -import { PortalContainerContext } from '../../contexts/PortalContainerContext.js' -import { useHTMLElement } from '../../hooks/useHTMLElement.js' -import { render as _render } from '../../utils/userEvent.js' -import TableHeader from './TableHeader.js' +import TableHeader from '../../src/components/TableHeader.js' +import { ColumnsVisibilityContext } from '../../src/contexts/ColumnsVisibilityContext.js' +import { SortInfoAndActionsByColumnContext } from '../../src/contexts/OrderByContext.js' +import { PortalContainerContext } from '../../src/contexts/PortalContainerContext.js' +import { useHTMLElement } from '../../src/hooks/useHTMLElement.js' +import { render as _render } from '../../src/utils/userEvent.js' function ContainerProvider({ children }: { children: ReactNode }) { const { element, onMount } = useHTMLElement()