From 343025e15a21a130b472ded11170bc7707f5a0a1 Mon Sep 17 00:00:00 2001 From: DanisAvko Date: Tue, 17 Sep 2024 21:32:50 +0300 Subject: [PATCH 1/2] feat(Table): table size supported --- src/components/Table/Table.scss | 12 +++++++++++- src/components/Table/Table.tsx | 9 +++++++-- src/components/Table/index.ts | 1 + src/components/Table/types.ts | 1 + 4 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 src/components/Table/types.ts diff --git a/src/components/Table/Table.scss b/src/components/Table/Table.scss index 27de484..32f9312 100644 --- a/src/components/Table/Table.scss +++ b/src/components/Table/Table.scss @@ -16,10 +16,20 @@ $block: '.#{variables.$ns}styled-table'; @include mixins.text-subheader-1(); } + &_size { + &_s { + --_--cell-padding: 7px var(--g-spacing-2) 6px; + } + + &_m { + --_--cell-padding: 11px var(--g-spacing-2) 10px; + } + } + &__cell, &__header-cell, &__footer-cell { - padding: 11px var(--g-spacing-2) 10px; + padding: var(--_--cell-padding); border-block-end: 1px solid var(--g-color-line-generic); } } diff --git a/src/components/Table/Table.tsx b/src/components/Table/Table.tsx index f16092d..fb5c82e 100644 --- a/src/components/Table/Table.tsx +++ b/src/components/Table/Table.tsx @@ -4,11 +4,15 @@ import {BaseTable} from '../BaseTable'; import type {BaseTableProps} from '../BaseTable'; import {b} from './Table.classname'; +import type {TableSize} from './types'; import './Table.scss'; export interface TableProps - extends BaseTableProps {} + extends BaseTableProps { + /** Table size */ + size?: TableSize; +} export const Table = React.forwardRef( ( @@ -18,6 +22,7 @@ export const Table = React.forwardRef( footerCellClassName: footerCellClassNameProp, headerCellClassName: headerCellClassNameProp, headerClassName, + size = 'm', ...props }: TableProps, ref: React.Ref, @@ -49,7 +54,7 @@ export const Table = React.forwardRef( return ( Date: Mon, 23 Sep 2024 13:59:21 +0300 Subject: [PATCH 2/2] chore: story added --- .../Table/__stories__/Table.stories.tsx | 5 +++++ .../Table/__stories__/stories/SizeSStory.tsx | 15 +++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 src/components/Table/__stories__/stories/SizeSStory.tsx diff --git a/src/components/Table/__stories__/Table.stories.tsx b/src/components/Table/__stories__/Table.stories.tsx index 173c78f..3df50cd 100644 --- a/src/components/Table/__stories__/Table.stories.tsx +++ b/src/components/Table/__stories__/Table.stories.tsx @@ -5,6 +5,7 @@ import {Table} from '../index'; import {DefaultStory} from './stories/DefaultStory'; import {ReorderingStory} from './stories/ReorderingStory'; import {ReorderingWithVirtualizationStory} from './stories/ReorderingWithVirtualizationStory'; +import {SizeSStory} from './stories/SizeSStory'; import {StickyHeaderStory} from './stories/StickyHeaderStory'; import {VirtualizationStory} from './stories/VirtualizationStory'; import {WindowVirtualizationStory} from './stories/WindowVirtualizationStory'; @@ -21,6 +22,10 @@ export const Default: StoryObj = { render: DefaultStory, }; +export const SizeS: StoryObj = { + render: SizeSStory, +}; + export const WithSelection: StoryObj = { render: WithSelectionStory, }; diff --git a/src/components/Table/__stories__/stories/SizeSStory.tsx b/src/components/Table/__stories__/stories/SizeSStory.tsx new file mode 100644 index 0000000..e391bc2 --- /dev/null +++ b/src/components/Table/__stories__/stories/SizeSStory.tsx @@ -0,0 +1,15 @@ +import React from 'react'; + +import {useTable} from '../../../../hooks'; +import {columns} from '../../../BaseTable/__stories__/constants/columns'; +import {data} from '../../../BaseTable/__stories__/constants/data'; +import {Table} from '../../index'; + +export const SizeSStory = () => { + const table = useTable({ + columns, + data, + }); + + return ; +};