aha-components 1.8.1 → 1.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/Input.esm.js +1 -1
  2. package/dist/Input.esm.js.map +1 -1
  3. package/dist/Input.js +1 -1
  4. package/dist/Input.js.map +1 -1
  5. package/dist/Pagination.esm.js +1 -1
  6. package/dist/Pagination.esm.js.map +1 -1
  7. package/dist/Pagination.js +1 -1
  8. package/dist/Pagination.js.map +1 -1
  9. package/dist/Table.esm.js +1 -1
  10. package/dist/Table.esm.js.map +1 -1
  11. package/dist/Table.js +1 -1
  12. package/dist/Table.js.map +1 -1
  13. package/dist/Textarea.esm.js +1 -1
  14. package/dist/Textarea.esm.js.map +1 -1
  15. package/dist/Textarea.js +1 -1
  16. package/dist/Textarea.js.map +1 -1
  17. package/dist/components/Checkbox/Checkbox.stories 2.d.ts +12 -0
  18. package/dist/components/Checkbox/index 2.d.ts +12 -0
  19. package/dist/components/DatePicker/DatePicker.stories 2.d.ts +25 -0
  20. package/dist/components/DatePicker/index 2.d.ts +96 -0
  21. package/dist/components/Drawer/Drawer.stories 2.d.ts +9 -0
  22. package/dist/components/Drawer/index 2.d.ts +58 -0
  23. package/dist/components/Form/Form.stories 2.d.ts +15 -0
  24. package/dist/components/Form/FormContext 2.d.ts +41 -0
  25. package/dist/components/Form/FormItem 2.d.ts +58 -0
  26. package/dist/components/Form/index 2.d.ts +85 -0
  27. package/dist/components/Input/Input.stories 2.d.ts +16 -0
  28. package/dist/components/Input/Input.stories.d.ts +7 -4
  29. package/dist/components/Input/InputGroup.d.ts +25 -0
  30. package/dist/components/Input/InputTags.d.ts +17 -0
  31. package/dist/components/Input/index 2.d.ts +41 -0
  32. package/dist/components/Input/index.d.ts +7 -18
  33. package/dist/components/Loading/Loading.stories 2.d.ts +11 -0
  34. package/dist/components/Loading/index 2.d.ts +10 -0
  35. package/dist/components/MenuList/MenuList.stories 2.d.ts +17 -0
  36. package/dist/components/MenuList/MenuList.test 2.d.ts +1 -0
  37. package/dist/components/MenuList/index 2.d.ts +85 -0
  38. package/dist/components/Pagination/Pagination.stories 2.d.ts +16 -0
  39. package/dist/components/Pagination/index 2.d.ts +27 -0
  40. package/dist/components/Popover/Popover.stories 2.d.ts +11 -0
  41. package/dist/components/Popover/index 2.d.ts +31 -0
  42. package/dist/components/Progress/Progress.stories 2.d.ts +18 -0
  43. package/dist/components/Progress/Progress.test 2.d.ts +1 -0
  44. package/dist/components/Progress/index 2.d.ts +33 -0
  45. package/dist/components/Radio/Radio.stories 2.d.ts +10 -0
  46. package/dist/components/Radio/index 2.d.ts +13 -0
  47. package/dist/components/Select/Select.stories 2.d.ts +17 -0
  48. package/dist/components/Select/index 2.d.ts +74 -0
  49. package/dist/components/Switch/Switch.stories 2.d.ts +14 -0
  50. package/dist/components/Switch/index 2.d.ts +27 -0
  51. package/dist/components/Tab/Tab.stories 2.d.ts +19 -0
  52. package/dist/components/Tab/index 2.d.ts +26 -0
  53. package/dist/components/Table/Table.stories 2.d.ts +21 -0
  54. package/dist/components/Table/index 2.d.ts +167 -0
  55. package/dist/components/Textarea/Textarea.stories 2.d.ts +15 -0
  56. package/dist/components/Textarea/Textarea.stories.d.ts +3 -6
  57. package/dist/components/Textarea/TextareaTags.d.ts +8 -0
  58. package/dist/components/Textarea/index 2.d.ts +38 -0
  59. package/dist/components/Textarea/index.d.ts +6 -17
  60. package/dist/components/Tooltip/Tooltip.stories 2.d.ts +20 -0
  61. package/dist/components/Tooltip/index 2.d.ts +35 -0
  62. package/dist/icons/index 2.d.ts +33 -0
  63. package/dist/index.css +962 -1
  64. package/dist/index.d.ts +54 -36
  65. package/dist/index.esm.css +962 -1
  66. package/dist/index.esm.js +1 -1
  67. package/dist/index.esm.js.map +1 -1
  68. package/dist/index.js +1 -1
  69. package/dist/index.js.map +1 -1
  70. package/dist/stories/DesignTokens.stories 2.d.ts +5 -0
  71. package/dist/theme/Theme.stories 2.d.ts +10 -0
  72. package/dist/theme/ThemeContext 2.d.ts +11 -0
  73. package/dist/theme/utils 2.d.ts +10 -0
  74. package/dist/tokens.d.ts +2 -0
  75. package/package.json +1 -1
  76. package/dist/AlertComponent.esm.js +0 -2
  77. package/dist/AlertComponent.esm.js.map +0 -1
  78. package/dist/AlertComponent.js +0 -2
  79. package/dist/AlertComponent.js.map +0 -1
  80. package/dist/Card.esm.js +0 -2
  81. package/dist/Card.esm.js.map +0 -1
  82. package/dist/Card.js +0 -2
  83. package/dist/Card.js.map +0 -1
  84. package/dist/TestComponent.esm.js +0 -2
  85. package/dist/TestComponent.esm.js.map +0 -1
  86. package/dist/TestComponent.js +0 -2
  87. package/dist/TestComponent.js.map +0 -1
  88. package/dist/Toast.css +0 -1
  89. package/dist/Toast.esm.css +0 -1
  90. package/dist/components/AlertComponent/index.d.ts +0 -9
  91. package/dist/components/Card/index.d.ts +0 -10
  92. package/dist/components/TestComponent/index.d.ts +0 -7
@@ -0,0 +1,16 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import Pagination from './index';
3
+ declare const meta: Meta<typeof Pagination>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Pagination>;
6
+ export declare const Basic: Story;
7
+ export declare const Controlled: Story;
8
+ export declare const WithTotal: Story;
9
+ export declare const WithSizeChanger: Story;
10
+ export declare const WithQuickJumper: Story;
11
+ export declare const FullFeatures: Story;
12
+ export declare const Simple: Story;
13
+ export declare const Sizes: Story;
14
+ export declare const LargeTotal: Story;
15
+ export declare const CustomGoButton: Story;
16
+ export declare const Responsive: Story;
@@ -0,0 +1,27 @@
1
+ import React from "react";
2
+ export interface PaginationProps {
3
+ current?: number;
4
+ defaultCurrent?: number;
5
+ total?: number;
6
+ pageSize?: number;
7
+ defaultPageSize?: number;
8
+ showSizeChanger?: boolean;
9
+ pageSizeOptions?: string[];
10
+ showQuickJumper?: boolean | {
11
+ goButton?: React.ReactNode;
12
+ };
13
+ showTotal?: (total: number, range: [number, number]) => React.ReactNode;
14
+ onChange?: (page: number, pageSize?: number) => void;
15
+ onShowSizeChange?: (current: number, size: number) => void;
16
+ simple?: boolean;
17
+ disabled?: boolean;
18
+ hideOnSinglePage?: boolean;
19
+ className?: string;
20
+ style?: React.CSSProperties;
21
+ size?: "default" | "small";
22
+ responsive?: boolean;
23
+ showLessItems?: boolean;
24
+ itemRender?: (page: number, type: "page" | "prev" | "next" | "jump-prev" | "jump-next", originalElement: React.ReactNode) => React.ReactNode;
25
+ }
26
+ declare const Pagination: React.FC<PaginationProps>;
27
+ export default Pagination;
@@ -0,0 +1,11 @@
1
+ import { Meta, StoryObj } from "@storybook/react";
2
+ import Popover from "./index";
3
+ declare const meta: Meta<typeof Popover>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Popover>;
6
+ export declare const Default: Story;
7
+ export declare const HoverTrigger: Story;
8
+ export declare const Placements: Story;
9
+ export declare const CustomWidth: Story;
10
+ export declare const MobileWidthAndAutoFlip: Story;
11
+ export declare const CloseByContentClick: Story;
@@ -0,0 +1,31 @@
1
+ import React from "react";
2
+ export type PopoverTrigger = "click" | "hover";
3
+ export type PopoverPlacement = "top" | "right" | "bottom" | "left";
4
+ export interface PopoverProps {
5
+ /** 触发节点 */
6
+ children: React.ReactNode;
7
+ /** Popover 内容 */
8
+ content: React.ReactNode;
9
+ /** 触发模式 */
10
+ trigger?: PopoverTrigger;
11
+ /** 是否显示(受控) */
12
+ open?: boolean;
13
+ /** 默认是否显示(非受控) */
14
+ defaultOpen?: boolean;
15
+ /** 显示状态变化回调 */
16
+ onOpenChange?: (open: boolean) => void;
17
+ /** 展示方向 */
18
+ placement?: PopoverPlacement;
19
+ /** 内容宽度 */
20
+ width?: string | number;
21
+ /** 触发节点和 Popover 的间距 */
22
+ offset?: number;
23
+ /** 自定义容器类名 */
24
+ className?: string;
25
+ /** 自定义 Popover 类名 */
26
+ popoverClassName?: string;
27
+ /** 是否禁用 */
28
+ disabled?: boolean;
29
+ }
30
+ declare const Popover: React.FC<PopoverProps>;
31
+ export default Popover;
@@ -0,0 +1,18 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import Progress from './index';
3
+ import '../../index.css';
4
+ declare const meta: Meta<typeof Progress>;
5
+ export default meta;
6
+ type Story = StoryObj<typeof Progress>;
7
+ export declare const Circle: Story;
8
+ export declare const Semicircle: Story;
9
+ export declare const WithTitle: Story;
10
+ export declare const WithoutPercent: Story;
11
+ export declare const DifferentSizes: Story;
12
+ export declare const SemicircleSizes: Story;
13
+ export declare const WithTitleAndPercent: Story;
14
+ export declare const TitlePositionInside: Story;
15
+ export declare const TitlePositionOutside: Story;
16
+ export declare const StatusVariants: Story;
17
+ export declare const AnimatedProgress: Story;
18
+ export declare const CustomColors: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ export type ProgressType = 'circle' | 'semicircle' | string;
3
+ export type ProgressStatus = 'normal' | 'success' | 'exception' | 'active';
4
+ export type TitlePosition = 'inside' | 'outside';
5
+ export interface ProgressProps {
6
+ /** 进度百分比,范围 0-100 */
7
+ percent?: number;
8
+ /** 进度条类型,目前支持 circle(圆形)和 semicircle(半圆) */
9
+ type?: ProgressType;
10
+ /** 进度条宽度(尺寸),单位 px */
11
+ width?: number;
12
+ /** 标题文本 */
13
+ title?: string;
14
+ /** 标题位置,圆内(inside)或圆外(outside),圆外时显示在圆下方 */
15
+ titlePosition?: TitlePosition;
16
+ /** 是否显示百分比 */
17
+ showPercent?: boolean;
18
+ /** 是否启用动画效果 */
19
+ animated?: boolean;
20
+ /** 进度条状态 */
21
+ status?: ProgressStatus;
22
+ /** 自定义类名 */
23
+ className?: string;
24
+ /** 自定义样式 */
25
+ style?: React.CSSProperties;
26
+ /** 进度条颜色,不设置则使用主题色 */
27
+ strokeColor?: string;
28
+ /** 进度条轨道颜色 */
29
+ trailColor?: string;
30
+ [key: string]: any;
31
+ }
32
+ declare const Progress: React.FC<ProgressProps>;
33
+ export default Progress;
@@ -0,0 +1,10 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import Radio from './index';
3
+ declare const meta: Meta<typeof Radio>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Radio>;
6
+ export declare const Basic: Story;
7
+ export declare const Checked: Story;
8
+ export declare const Disabled: Story;
9
+ export declare const RadioGroup: Story;
10
+ export declare const Sizes: Story;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ export interface RadioProps {
3
+ checked?: boolean;
4
+ disabled?: boolean;
5
+ onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
6
+ className?: string;
7
+ style?: React.CSSProperties;
8
+ children?: React.ReactNode;
9
+ value?: any;
10
+ name?: string;
11
+ }
12
+ declare const Radio: React.FC<RadioProps>;
13
+ export default Radio;
@@ -0,0 +1,17 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import Select from './index';
3
+ declare const meta: Meta<typeof Select>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Select>;
6
+ export declare const Basic: Story;
7
+ export declare const Sizes: Story;
8
+ export declare const Disabled: Story;
9
+ export declare const Error: Story;
10
+ export declare const Searchable: Story;
11
+ export declare const Multiple: Story;
12
+ export declare const MultipleWithMaxTag: Story;
13
+ export declare const WithClear: Story;
14
+ export declare const Controlled: Story;
15
+ export declare const WithDisabledOption: Story;
16
+ export declare const LongList: Story;
17
+ export declare const AllStates: Story;
@@ -0,0 +1,74 @@
1
+ import React from 'react';
2
+ export interface SelectOption {
3
+ label: React.ReactNode;
4
+ value: string | number;
5
+ disabled?: boolean;
6
+ [key: string]: any;
7
+ }
8
+ export interface SelectProps {
9
+ /** 当前选中的值 */
10
+ value?: string | number | (string | number)[];
11
+ /** 默认选中的值 */
12
+ defaultValue?: string | number | (string | number)[];
13
+ /** 选项数据 */
14
+ options?: SelectOption[];
15
+ /** 是否支持多选 */
16
+ mode?: 'multiple' | 'tags';
17
+ /** 是否禁用 */
18
+ disabled?: boolean;
19
+ /** 是否显示错误状态 */
20
+ error?: boolean;
21
+ /** 占位符 */
22
+ placeholder?: string;
23
+ /** 尺寸 */
24
+ size?: 'small' | 'mediumSmall' | 'medium' | 'large';
25
+ /** 是否可搜索 */
26
+ showSearch?: boolean;
27
+ /** 搜索过滤函数 */
28
+ filterOption?: boolean | ((input: string, option: SelectOption) => boolean);
29
+ /** 是否允许清除 */
30
+ allowClear?: boolean;
31
+ /** 变化回调 */
32
+ onChange?: (value: string | number | (string | number)[], option: SelectOption | SelectOption[]) => void;
33
+ /** 选择回调 */
34
+ onSelect?: (value: string | number, option: SelectOption) => void;
35
+ /** 取消选择回调 */
36
+ onDeselect?: (value: string | number, option: SelectOption) => void;
37
+ /** 搜索回调 */
38
+ onSearch?: (value: string) => void;
39
+ /** 聚焦回调 */
40
+ onFocus?: (e: React.FocusEvent) => void;
41
+ /** 失焦回调 */
42
+ onBlur?: (e: React.FocusEvent) => void;
43
+ /** 下拉框打开回调 */
44
+ onDropdownVisibleChange?: (open: boolean) => void;
45
+ /** 自定义类名 */
46
+ className?: string;
47
+ /** 自定义样式 */
48
+ style?: React.CSSProperties;
49
+ /** 下拉框类名 */
50
+ dropdownClassName?: string;
51
+ /** 下拉框样式 */
52
+ dropdownStyle?: React.CSSProperties;
53
+ /** 是否默认打开 */
54
+ defaultOpen?: boolean;
55
+ /** 是否打开(受控) */
56
+ open?: boolean;
57
+ /** 最大标签数量 */
58
+ maxTagCount?: number | 'responsive';
59
+ /** 标签渲染函数 */
60
+ tagRender?: (props: {
61
+ label: React.ReactNode;
62
+ value: string | number;
63
+ closable: boolean;
64
+ onClose: () => void;
65
+ }) => React.ReactNode;
66
+ /** 选项渲染函数 */
67
+ optionRender?: (option: SelectOption, info: {
68
+ selected: boolean;
69
+ focused: boolean;
70
+ disabled: boolean;
71
+ }) => React.ReactNode;
72
+ }
73
+ declare const Select: React.FC<SelectProps>;
74
+ export default Select;
@@ -0,0 +1,14 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import Switch from './index';
3
+ declare const meta: Meta<typeof Switch>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Switch>;
6
+ export declare const Basic: Story;
7
+ export declare const Sizes: Story;
8
+ export declare const Checked: Story;
9
+ export declare const Unchecked: Story;
10
+ export declare const Disabled: Story;
11
+ export declare const Loading: Story;
12
+ export declare const WithChildren: Story;
13
+ export declare const Controlled: Story;
14
+ export declare const AllStates: Story;
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ export interface SwitchProps {
3
+ /** 是否选中 */
4
+ checked?: boolean;
5
+ /** 默认是否选中 */
6
+ defaultChecked?: boolean;
7
+ /** 是否禁用 */
8
+ disabled?: boolean;
9
+ /** 变化回调 */
10
+ onChange?: (checked: boolean, event: React.MouseEvent) => void;
11
+ /** 点击回调 */
12
+ onClick?: (checked: boolean, event: React.MouseEvent) => void;
13
+ /** 选中时的内容 */
14
+ checkedChildren?: React.ReactNode;
15
+ /** 非选中时的内容 */
16
+ unCheckedChildren?: React.ReactNode;
17
+ /** 尺寸 */
18
+ size?: 'small' | 'default';
19
+ /** 加载状态 */
20
+ loading?: boolean;
21
+ /** 自定义类名 */
22
+ className?: string;
23
+ /** 自定义样式 */
24
+ style?: React.CSSProperties;
25
+ }
26
+ declare const Switch: React.FC<SwitchProps>;
27
+ export default Switch;
@@ -0,0 +1,19 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import Tab from './index';
3
+ declare const meta: Meta<typeof Tab>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Tab>;
6
+ export declare const Underline: Story;
7
+ export declare const UnderlineWithBadge: Story;
8
+ export declare const UnderlineWithIcon: Story;
9
+ export declare const BackgroundEqual: Story;
10
+ export declare const BackgroundSpaced: Story;
11
+ export declare const BackgroundWithIconAndBadge: Story;
12
+ export declare const WithCustomElement: Story;
13
+ export declare const ValueMode: Story;
14
+ export declare const WithDisabled: Story;
15
+ export declare const FullExample: Story;
16
+ export declare const WithNumberArray: Story;
17
+ export declare const StringArrayWithValue: Story;
18
+ export declare const ControlledWithNumbers: Story;
19
+ export declare const ScrollableTabs: Story;
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ export type TabVariant = 'underline' | 'background';
3
+ export type TabLayout = 'equal' | 'spaced';
4
+ export interface TabItem {
5
+ key: string | number;
6
+ label: React.ReactNode;
7
+ icon?: React.ReactElement | React.ComponentType<any>;
8
+ badge?: number | string;
9
+ customElement?: React.ReactNode;
10
+ disabled?: boolean;
11
+ children?: React.ReactNode;
12
+ }
13
+ export interface TabProps {
14
+ items: TabItem[] | string[] | number[];
15
+ variant?: TabVariant;
16
+ layout?: TabLayout;
17
+ defaultValue?: string | number;
18
+ value?: string | number;
19
+ onChange?: (value: string | number) => void;
20
+ className?: string;
21
+ mode?: 'children' | 'value';
22
+ scrollable?: boolean;
23
+ [key: string]: any;
24
+ }
25
+ declare const Tab: React.FC<TabProps>;
26
+ export default Tab;
@@ -0,0 +1,21 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import Table from './index';
3
+ declare const meta: Meta<typeof Table>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Table>;
6
+ export declare const Basic: Story;
7
+ export declare const Loading: Story;
8
+ export declare const LoadingCustom: Story;
9
+ export declare const Empty: Story;
10
+ export declare const EmptyWithCustomText: Story;
11
+ export declare const EmptyWithCustomNode: Story;
12
+ export declare const WithPagination: Story;
13
+ export declare const WithRowSelection: Story;
14
+ export declare const WithSorting: Story;
15
+ export declare const WithSorterChange: Story;
16
+ export declare const WithFixedColumns: Story;
17
+ export declare const WithColumnWidth: Story;
18
+ export declare const WithRowSelectionDisabled: Story;
19
+ export declare const WithCustomRender: Story;
20
+ export declare const WithAlign: Story;
21
+ export declare const WithPaginationChange: Story;
@@ -0,0 +1,167 @@
1
+ import React from 'react';
2
+ export type SortOrder = 'ascend' | 'descend' | null;
3
+ export type TableSize = 'small' | 'middle' | 'large';
4
+ export type TableLayout = 'auto' | 'fixed';
5
+ export interface SorterResult<T = any> {
6
+ column?: ColumnType<T>;
7
+ order?: SortOrder;
8
+ field?: string | string[];
9
+ columnKey?: string | string[];
10
+ }
11
+ export interface TableCurrentDataSource<T = any> {
12
+ currentDataSource: T[];
13
+ action: 'paginate' | 'sort';
14
+ }
15
+ export interface SelectionItem {
16
+ key: string | number;
17
+ text: React.ReactNode;
18
+ onSelect?: (changeableRowKeys: (string | number)[]) => void;
19
+ }
20
+ export interface TableRowSelection<T = any> {
21
+ type?: 'checkbox' | 'radio';
22
+ selectedRowKeys?: (string | number)[];
23
+ defaultSelectedRowKeys?: (string | number)[];
24
+ onChange?: (selectedRowKeys: (string | number)[], selectedRows: T[]) => void;
25
+ onSelect?: (record: T, selected: boolean, selectedRows: T[], nativeEvent: Event) => void;
26
+ onSelectAll?: (selected: boolean, selectedRows: T[], changeRows: T[]) => void;
27
+ onSelectInvert?: (selectedRowKeys: (string | number)[]) => void;
28
+ onSelectNone?: () => void;
29
+ getCheckboxProps?: (record: T) => {
30
+ disabled?: boolean;
31
+ name?: string;
32
+ };
33
+ hideSelectAll?: boolean;
34
+ fixed?: boolean | 'left' | 'right';
35
+ columnWidth?: string | number;
36
+ columnTitle?: string | React.ReactNode;
37
+ checkStrictly?: boolean;
38
+ preserveSelectedRowKeys?: boolean;
39
+ renderCell?: (checked: boolean, record: T, index: number, node: React.ReactNode) => React.ReactNode;
40
+ }
41
+ export interface ColumnType<T = any> {
42
+ title?: React.ReactNode | ((props: {
43
+ sortOrder?: SortOrder;
44
+ sortColumn?: ColumnType<T>;
45
+ }) => React.ReactNode);
46
+ key?: string;
47
+ dataIndex?: string | string[];
48
+ align?: 'left' | 'right' | 'center';
49
+ ellipsis?: boolean | {
50
+ showTitle?: boolean;
51
+ };
52
+ colSpan?: number;
53
+ width?: string | number;
54
+ minWidth?: string | number;
55
+ fixed?: boolean | 'left' | 'right';
56
+ render?: (value: any, record: T, index: number) => React.ReactNode;
57
+ sorter?: boolean | ((a: T, b: T) => number) | {
58
+ compare?: (a: T, b: T) => number;
59
+ multiple?: number;
60
+ };
61
+ sortOrder?: SortOrder | SortOrder[];
62
+ defaultSortOrder?: SortOrder;
63
+ onCell?: (record: T, index?: number) => React.HTMLAttributes<HTMLTableCellElement>;
64
+ onHeaderCell?: (column: ColumnType<T>) => React.HTMLAttributes<HTMLTableCellElement>;
65
+ className?: string;
66
+ children?: ColumnType<T>[];
67
+ onSorterChange?: (sorter: SorterResult<T>) => void;
68
+ rowSpan?: number;
69
+ rowScope?: 'row' | 'col' | 'rowgroup' | 'colgroup';
70
+ }
71
+ export interface TableProps<T = any> {
72
+ columns?: ColumnType<T>[];
73
+ dataSource?: T[];
74
+ rowKey?: string | ((record: T) => string | number);
75
+ rowSelection?: TableRowSelection<T>;
76
+ pagination?: false | {
77
+ current?: number;
78
+ pageSize?: number;
79
+ total?: number;
80
+ defaultCurrent?: number;
81
+ defaultPageSize?: number;
82
+ showSizeChanger?: boolean;
83
+ pageSizeOptions?: string[];
84
+ showQuickJumper?: boolean | {
85
+ goButton?: React.ReactNode;
86
+ };
87
+ showTotal?: (total: number, range: [number, number]) => React.ReactNode;
88
+ onChange?: (page: number, pageSize?: number) => void;
89
+ onShowSizeChange?: (current: number, size: number) => void;
90
+ position?: 'topLeft' | 'topCenter' | 'topRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight';
91
+ simple?: boolean;
92
+ responsive?: boolean;
93
+ };
94
+ size?: TableSize;
95
+ bordered?: boolean;
96
+ loading?: boolean | React.ReactNode;
97
+ locale?: {
98
+ emptyText?: React.ReactNode | (() => React.ReactNode);
99
+ selectAll?: React.ReactNode;
100
+ selectInvert?: React.ReactNode;
101
+ selectNone?: React.ReactNode;
102
+ selectionAll?: React.ReactNode;
103
+ sortTitle?: string;
104
+ expand?: string;
105
+ collapse?: string;
106
+ triggerDesc?: string;
107
+ triggerAsc?: string;
108
+ cancelSort?: string;
109
+ };
110
+ showHeader?: boolean;
111
+ title?: (currentData: T[]) => React.ReactNode;
112
+ footer?: (currentData: T[]) => React.ReactNode;
113
+ summary?: (currentData: T[]) => React.ReactNode;
114
+ scroll?: {
115
+ x?: number | string | true;
116
+ y?: number | string;
117
+ scrollToFirstRowOnChange?: boolean;
118
+ };
119
+ tableLayout?: TableLayout;
120
+ onChange?: (pagination: any, filters: Record<string, any>, sorter: SorterResult<T> | SorterResult<T>[], extra: TableCurrentDataSource<T>) => void;
121
+ onSorterChange?: (sorter: SorterResult<T> | SorterResult<T>[]) => void;
122
+ onPaginationChange?: (page: number, pageSize: number) => void;
123
+ onRow?: (record: T, index?: number) => React.HTMLAttributes<HTMLTableRowElement>;
124
+ getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
125
+ className?: string;
126
+ innerClassName?: string;
127
+ style?: React.CSSProperties;
128
+ children?: React.ReactNode;
129
+ expandable?: {
130
+ expandedRowKeys?: (string | number)[];
131
+ defaultExpandedRowKeys?: (string | number)[];
132
+ expandedRowRender?: (record: T, index: number, indent: number, expanded: boolean) => React.ReactNode;
133
+ expandRowByClick?: boolean;
134
+ onExpand?: (expanded: boolean, record: T) => void;
135
+ onExpandedRowsChange?: (expandedKeys: (string | number)[]) => void;
136
+ defaultExpandAllRows?: boolean;
137
+ indentSize?: number;
138
+ expandIcon?: (props: {
139
+ expanded: boolean;
140
+ onExpand: (record: T, e: React.MouseEvent<HTMLElement>) => void;
141
+ record: T;
142
+ }) => React.ReactNode;
143
+ rowExpandable?: (record: T) => boolean;
144
+ };
145
+ indentSize?: number;
146
+ rowClassName?: string | ((record: T, index: number) => string);
147
+ onHeaderRow?: (columns: ColumnType<T>[], index?: number) => React.HTMLAttributes<HTMLTableRowElement>;
148
+ components?: {
149
+ header?: {
150
+ cell?: React.ComponentType<any>;
151
+ row?: React.ComponentType<any>;
152
+ wrapper?: React.ComponentType<any>;
153
+ };
154
+ body?: {
155
+ cell?: React.ComponentType<any>;
156
+ row?: React.ComponentType<any>;
157
+ wrapper?: React.ComponentType<any>;
158
+ };
159
+ };
160
+ sticky?: boolean | {
161
+ offsetHeader?: number;
162
+ offsetScroll?: number;
163
+ getContainer?: () => HTMLElement;
164
+ };
165
+ }
166
+ declare const Table: <T extends Record<string, any> = any>({ columns, dataSource, rowKey, rowSelection, pagination, size, bordered, loading, locale, showHeader, title, footer, summary, scroll, tableLayout, onChange, onSorterChange, onPaginationChange, onRow, className, innerClassName, style, expandable, rowClassName, onHeaderRow, sticky, ...rest }: TableProps<T>) => import("react/jsx-runtime").JSX.Element;
167
+ export default Table;
@@ -0,0 +1,15 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import Textarea from './index';
3
+ declare const meta: Meta<typeof Textarea>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Textarea>;
6
+ export declare const Basic: Story;
7
+ export declare const Sizes: Story;
8
+ export declare const Disabled: Story;
9
+ export declare const Error: Story;
10
+ export declare const ReadOnly: Story;
11
+ export declare const WithCount: Story;
12
+ export declare const WithMaxLength: Story;
13
+ export declare const AutoSize: Story;
14
+ export declare const Controlled: Story;
15
+ export declare const AllStates: Story;
@@ -4,14 +4,11 @@ declare const meta: Meta<typeof Textarea>;
4
4
  export default meta;
5
5
  type Story = StoryObj<typeof Textarea>;
6
6
  export declare const Basic: Story;
7
- export declare const Sizes: Story;
8
7
  export declare const Disabled: Story;
9
8
  export declare const Error: Story;
10
9
  export declare const ReadOnly: Story;
11
10
  export declare const WithCount: Story;
12
- export declare const WithMaxLength: Story;
13
11
  export declare const AutoSize: Story;
14
- export declare const Controlled: Story;
15
- export declare const AllStates: Story;
16
- export declare const LinkifyUncontrolled: Story;
17
- export declare const LinkifyControlled: Story;
12
+ export declare const Tags: Story;
13
+ export declare const Linkify: Story;
14
+ export declare const AllVariants: Story;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { InputTagsProps } from '../Input/InputTags';
3
+ export interface TextareaTagsProps extends Omit<InputTagsProps, 'size'> {
4
+ minHeight?: number;
5
+ helpIcon?: React.ReactNode;
6
+ }
7
+ declare const TextareaTags: React.FC<TextareaTagsProps>;
8
+ export default TextareaTags;
@@ -0,0 +1,38 @@
1
+ import React from 'react';
2
+ export interface TextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'> {
3
+ /** 是否禁用 */
4
+ disabled?: boolean;
5
+ /** 是否显示错误状态 */
6
+ error?: boolean;
7
+ /** 是否只读 */
8
+ readOnly?: boolean;
9
+ /** 是否显示字符计数 */
10
+ showCount?: boolean;
11
+ /** 最大字符数 */
12
+ maxLength?: number;
13
+ /** 自定义类名 */
14
+ className?: string;
15
+ /** 自定义样式 */
16
+ style?: React.CSSProperties;
17
+ /** 占位符 */
18
+ placeholder?: string;
19
+ /** 值 */
20
+ value?: string;
21
+ /** 默认值 */
22
+ defaultValue?: string;
23
+ /** 行数 */
24
+ rows?: number;
25
+ /** 是否自动调整高度 */
26
+ autoSize?: boolean | {
27
+ minRows?: number;
28
+ maxRows?: number;
29
+ };
30
+ /** 变化回调 */
31
+ onChange?: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;
32
+ /** 聚焦回调 */
33
+ onFocus?: (e: React.FocusEvent<HTMLTextAreaElement>) => void;
34
+ /** 失焦回调 */
35
+ onBlur?: (e: React.FocusEvent<HTMLTextAreaElement>) => void;
36
+ }
37
+ declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
38
+ export default Textarea;