@dtjoy/dt-design 1.0.5 → 1.0.7

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 (179) hide show
  1. package/esm/_util/easings.js +9 -0
  2. package/esm/_util/extendsObject.js +17 -0
  3. package/esm/_util/getScroll.js +32 -0
  4. package/esm/_util/hooks/index.js +4 -1
  5. package/esm/_util/hooks/useForceUpdate.js +6 -0
  6. package/esm/_util/hooks/useProxyImperativeHandle.js +31 -0
  7. package/esm/_util/hooks/useSyncState.js +20 -0
  8. package/esm/_util/scrollTo.js +38 -0
  9. package/esm/_util/warning.js +63 -0
  10. package/esm/blockHeader/index.js +10 -8
  11. package/esm/blockHeader/style/index.less +143 -143
  12. package/esm/button/index.js +7 -15
  13. package/esm/button/style/index.less +52 -127
  14. package/esm/button/style/mixin.less +34 -42
  15. package/esm/collapsible/index.js +53 -55
  16. package/esm/collapsibleActionItems/index.js +2 -2
  17. package/esm/flex/index.js +1 -1
  18. package/esm/flex/style/index.less +76 -76
  19. package/esm/flex/utils.js +1 -1
  20. package/esm/formList/index.js +13 -11
  21. package/esm/formList/style/index.less +45 -45
  22. package/esm/index.js +3 -1
  23. package/esm/overflowList/index.js +4 -3
  24. package/esm/resize/index.js +1 -1
  25. package/esm/resizeObserver/index.js +3 -2
  26. package/esm/splitter/Panel.js +3 -3
  27. package/esm/splitter/SplitBar.js +8 -7
  28. package/esm/splitter/Splitter.js +5 -4
  29. package/esm/splitter/hooks/useItems.js +2 -2
  30. package/esm/splitter/hooks/useResize.js +5 -5
  31. package/esm/statusTag/index.js +8 -8
  32. package/esm/style/index.less +1 -1
  33. package/esm/style/themes/index.less +2 -2
  34. package/esm/style/themes/variable.less +4 -0
  35. package/esm/table/InternalTable.js +429 -0
  36. package/esm/table/RcTable/VirtualTable.js +9 -0
  37. package/esm/table/RcTable/index.js +9 -0
  38. package/esm/table/Table.js +28 -0
  39. package/esm/table/TableMeasureRowContext.js +3 -0
  40. package/esm/table/hooks/useContainerWidth.js +14 -0
  41. package/esm/table/index.js +2 -0
  42. package/esm/table/interface.js +4 -0
  43. package/esm/table/style/bordered.less +141 -0
  44. package/esm/table/style/fixed.less +88 -0
  45. package/esm/table/style/index.js +2 -0
  46. package/esm/table/style/index.less +150 -0
  47. package/esm/table/style/selection.less +90 -0
  48. package/esm/table/style/sticky.less +55 -0
  49. package/esm/table/style/virtual.less +65 -0
  50. package/esm/table/util.js +33 -0
  51. package/lib/_util/easings.js +15 -0
  52. package/lib/_util/extendsObject.js +20 -0
  53. package/lib/_util/getScroll.js +39 -0
  54. package/lib/_util/hooks/index.js +33 -0
  55. package/lib/_util/hooks/useForceUpdate.js +12 -0
  56. package/lib/_util/hooks/useProxyImperativeHandle.js +40 -0
  57. package/lib/_util/hooks/useSyncState.js +19 -0
  58. package/lib/_util/scrollTo.js +44 -0
  59. package/lib/_util/warning.js +75 -0
  60. package/lib/blockHeader/index.js +10 -8
  61. package/lib/blockHeader/style/index.less +143 -143
  62. package/lib/button/index.js +6 -14
  63. package/lib/button/style/index.less +52 -127
  64. package/lib/button/style/mixin.less +34 -42
  65. package/lib/collapsible/index.js +49 -49
  66. package/lib/collapsibleActionItems/index.js +2 -2
  67. package/lib/flex/index.js +2 -2
  68. package/lib/flex/style/index.less +76 -76
  69. package/lib/flex/utils.js +2 -2
  70. package/lib/formList/index.js +10 -10
  71. package/lib/formList/style/index.less +45 -45
  72. package/lib/index.js +21 -2
  73. package/lib/overflowList/index.js +4 -3
  74. package/lib/resize/index.js +1 -1
  75. package/lib/resizeObserver/index.js +3 -2
  76. package/lib/splitter/Panel.js +3 -3
  77. package/lib/splitter/SplitBar.js +8 -7
  78. package/lib/splitter/Splitter.js +5 -4
  79. package/lib/splitter/hooks/useItems.js +2 -2
  80. package/lib/splitter/hooks/useResize.js +5 -5
  81. package/lib/statusTag/index.js +8 -8
  82. package/lib/style/index.less +1 -1
  83. package/lib/style/themes/index.less +2 -2
  84. package/lib/style/themes/variable.less +4 -0
  85. package/lib/table/InternalTable.js +395 -0
  86. package/lib/table/RcTable/VirtualTable.js +17 -0
  87. package/lib/table/RcTable/index.js +17 -0
  88. package/lib/table/Table.js +37 -0
  89. package/lib/table/TableMeasureRowContext.js +10 -0
  90. package/lib/table/hooks/useContainerWidth.js +20 -0
  91. package/lib/table/index.js +9 -0
  92. package/lib/table/interface.js +8 -0
  93. package/lib/table/style/bordered.less +141 -0
  94. package/lib/table/style/fixed.less +88 -0
  95. package/lib/table/style/index.js +4 -0
  96. package/lib/table/style/index.less +150 -0
  97. package/lib/table/style/selection.less +90 -0
  98. package/lib/table/style/sticky.less +55 -0
  99. package/lib/table/style/virtual.less +65 -0
  100. package/lib/table/util.js +44 -0
  101. package/package.json +82 -66
  102. package/esm/_util/gapSize.d.ts +0 -3
  103. package/esm/_util/hooks/index.d.ts +0 -1
  104. package/esm/_util/hooks/useOrientation.d.ts +0 -2
  105. package/esm/_util/index.d.ts +0 -3
  106. package/esm/_util/isNonNullable.d.ts +0 -2
  107. package/esm/_util/type.d.ts +0 -52
  108. package/esm/blockHeader/index.d.ts +0 -47
  109. package/esm/blockHeader/style/index.d.ts +0 -2
  110. package/esm/button/index.d.ts +0 -10
  111. package/esm/button/style/index.d.ts +0 -2
  112. package/esm/collapsible/index.d.ts +0 -97
  113. package/esm/collapsible/style/index.d.ts +0 -1
  114. package/esm/collapsibleActionItems/index.d.ts +0 -24
  115. package/esm/collapsibleActionItems/style/index.d.ts +0 -2
  116. package/esm/flex/index.d.ts +0 -7
  117. package/esm/flex/interface.d.ts +0 -16
  118. package/esm/flex/style/index.d.ts +0 -2
  119. package/esm/flex/utils.d.ts +0 -7
  120. package/esm/formList/index.d.ts +0 -77
  121. package/esm/formList/style/index.d.ts +0 -2
  122. package/esm/index.d.ts +0 -14
  123. package/esm/overflowList/index.d.ts +0 -39
  124. package/esm/overflowList/style/index.d.ts +0 -2
  125. package/esm/resize/index.d.ts +0 -8
  126. package/esm/resizeObserver/index.d.ts +0 -45
  127. package/esm/splitter/Panel.d.ts +0 -7
  128. package/esm/splitter/SplitBar.d.ts +0 -24
  129. package/esm/splitter/Splitter.d.ts +0 -5
  130. package/esm/splitter/hooks/sizeUtil.d.ts +0 -3
  131. package/esm/splitter/hooks/useItems.d.ts +0 -14
  132. package/esm/splitter/hooks/useResizable.d.ts +0 -10
  133. package/esm/splitter/hooks/useResize.d.ts +0 -6
  134. package/esm/splitter/hooks/useSizes.d.ts +0 -4
  135. package/esm/splitter/index.d.ts +0 -8
  136. package/esm/splitter/interface.d.ts +0 -69
  137. package/esm/splitter/style/index.d.ts +0 -2
  138. package/esm/statusTag/index.d.ts +0 -28
  139. package/esm/statusTag/style/index.d.ts +0 -2
  140. package/esm/style/index.d.ts +0 -1
  141. package/lib/_util/gapSize.d.ts +0 -3
  142. package/lib/_util/hooks/index.d.ts +0 -1
  143. package/lib/_util/hooks/useOrientation.d.ts +0 -2
  144. package/lib/_util/index.d.ts +0 -3
  145. package/lib/_util/isNonNullable.d.ts +0 -2
  146. package/lib/_util/type.d.ts +0 -52
  147. package/lib/blockHeader/index.d.ts +0 -47
  148. package/lib/blockHeader/style/index.d.ts +0 -2
  149. package/lib/button/index.d.ts +0 -10
  150. package/lib/button/style/index.d.ts +0 -2
  151. package/lib/collapsible/index.d.ts +0 -97
  152. package/lib/collapsible/style/index.d.ts +0 -1
  153. package/lib/collapsibleActionItems/index.d.ts +0 -24
  154. package/lib/collapsibleActionItems/style/index.d.ts +0 -2
  155. package/lib/flex/index.d.ts +0 -7
  156. package/lib/flex/interface.d.ts +0 -16
  157. package/lib/flex/style/index.d.ts +0 -2
  158. package/lib/flex/utils.d.ts +0 -7
  159. package/lib/formList/index.d.ts +0 -77
  160. package/lib/formList/style/index.d.ts +0 -2
  161. package/lib/index.d.ts +0 -14
  162. package/lib/overflowList/index.d.ts +0 -39
  163. package/lib/overflowList/style/index.d.ts +0 -2
  164. package/lib/resize/index.d.ts +0 -8
  165. package/lib/resizeObserver/index.d.ts +0 -45
  166. package/lib/splitter/Panel.d.ts +0 -7
  167. package/lib/splitter/SplitBar.d.ts +0 -24
  168. package/lib/splitter/Splitter.d.ts +0 -5
  169. package/lib/splitter/hooks/sizeUtil.d.ts +0 -3
  170. package/lib/splitter/hooks/useItems.d.ts +0 -14
  171. package/lib/splitter/hooks/useResizable.d.ts +0 -10
  172. package/lib/splitter/hooks/useResize.d.ts +0 -6
  173. package/lib/splitter/hooks/useSizes.d.ts +0 -4
  174. package/lib/splitter/index.d.ts +0 -8
  175. package/lib/splitter/interface.d.ts +0 -69
  176. package/lib/splitter/style/index.d.ts +0 -2
  177. package/lib/statusTag/index.d.ts +0 -28
  178. package/lib/statusTag/style/index.d.ts +0 -2
  179. package/lib/style/index.d.ts +0 -1
package/lib/index.d.ts DELETED
@@ -1,14 +0,0 @@
1
- export { default as BlockHeader } from './blockHeader';
2
- export type { ButtonProps } from './button';
3
- export { default as Button } from './button';
4
- export { default as Collapsible } from './collapsible';
5
- export { default as CollapsibleActionItems } from './collapsibleActionItems';
6
- export { default as Flex } from './flex';
7
- export type { FlexProps } from './flex/interface';
8
- export { default as FormList } from './formList';
9
- export * from './formList';
10
- export { default as OverflowList } from './overflowList';
11
- export { default as Resize } from './resize';
12
- export { default as Splitter } from './splitter';
13
- export * from './splitter';
14
- export { default as StatusTag } from './statusTag';
@@ -1,39 +0,0 @@
1
- import React, { Component, ReactElement, ReactNode } from 'react';
2
- import './style';
3
- export declare type OverflowItem<T = Record<string, any>> = T;
4
- export interface OverflowListProps<T = Record<string, any>> {
5
- items: OverflowItem<T>[];
6
- visibleItemRenderer: (item: OverflowItem<T>, index: number) => ReactElement;
7
- overflowRenderer: (overflowItems: OverflowItem<T>[]) => ReactNode | ReactNode[];
8
- className?: string;
9
- style?: React.CSSProperties;
10
- renderMode?: 'collapse' | 'scroll';
11
- collapseFrom?: 'start' | 'end';
12
- minVisibleItems?: number;
13
- onOverflow?: (overflowItems: OverflowItem<T>[]) => void;
14
- }
15
- interface OverflowListState {
16
- visibleCount: number;
17
- isMeasuring: boolean;
18
- }
19
- declare class OverflowList<T extends object> extends Component<OverflowListProps<T>, OverflowListState> {
20
- static defaultProps: {
21
- items: never[];
22
- collapseFrom: string;
23
- minVisibleItems: number;
24
- renderMode: string;
25
- };
26
- static displayName: string;
27
- private containerRef;
28
- private overflowRef;
29
- private itemRefs;
30
- private prefixCls;
31
- constructor(props: OverflowListProps<T>);
32
- componentDidMount(): void;
33
- componentUpdate(prevProps: OverflowListProps<T>): void;
34
- private measureAndAdjust;
35
- private getOverflowItems;
36
- renderCollapse(): React.JSX.Element;
37
- render(): React.JSX.Element;
38
- }
39
- export default OverflowList;
@@ -1,2 +0,0 @@
1
- import '../../style/index.less';
2
- import './index.less';
@@ -1,8 +0,0 @@
1
- import React, { ReactNode } from 'react';
2
- export interface ResizeProps {
3
- observerEle?: HTMLElement | null;
4
- children?: ReactNode;
5
- onResize?: () => void;
6
- }
7
- declare const Resize: React.FC<ResizeProps>;
8
- export default Resize;
@@ -1,45 +0,0 @@
1
- import React from 'react';
2
- interface BaseProps {
3
- className?: string;
4
- style?: React.CSSProperties;
5
- [key: string]: any;
6
- }
7
- export interface ResizeEntry {
8
- contentRect: DOMRectReadOnly;
9
- target: Element;
10
- }
11
- export interface ReactResizeObserverProps extends BaseProps {
12
- onResize?: (entries: ResizeEntry[]) => void;
13
- observeParent?: boolean;
14
- observerProperty?: ObserverProperty;
15
- delayTick?: number;
16
- children: React.ReactElement;
17
- }
18
- export declare enum ObserverProperty {
19
- Width = "width",
20
- Height = "height",
21
- All = "all"
22
- }
23
- export default class ReactResizeObserver extends React.Component<ReactResizeObserverProps> {
24
- static defaultProps: {
25
- onResize: () => void;
26
- observeParent: boolean;
27
- observerProperty: ObserverProperty;
28
- delayTick: number;
29
- };
30
- observer: ResizeObserver | null;
31
- childNode: HTMLElement | null;
32
- element: Element | null;
33
- _parentNode: HTMLElement | null;
34
- formerPropertyValue: Map<Element, number>;
35
- constructor(props: ReactResizeObserverProps);
36
- getElement: () => Element | null;
37
- handleResizeEventTriggered: (entries: ResizeEntry[]) => void;
38
- observeElement: (force?: boolean) => void;
39
- mergeRef: (ref: React.Ref<any>, node: HTMLElement) => void;
40
- componentDidMount(): void;
41
- componentDidUpdate(prevProps: ReactResizeObserverProps): void;
42
- componentWillUnmount(): void;
43
- render(): React.ReactElement;
44
- }
45
- export {};
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- import { InternalPanelProps, PanelProps } from './interface';
3
- export declare const InternalPanel: React.ForwardRefExoticComponent<InternalPanelProps & {
4
- children?: React.ReactNode;
5
- } & React.RefAttributes<HTMLDivElement>>;
6
- declare const Panel: React.FC<React.PropsWithChildren<PanelProps>>;
7
- export default Panel;
@@ -1,24 +0,0 @@
1
- import React from 'react';
2
- export declare type ShowCollapsibleIconMode = boolean | 'auto';
3
- export interface SplitBarProps {
4
- index: number;
5
- active: boolean;
6
- prefixCls: string;
7
- resizable: boolean;
8
- startCollapsible: boolean;
9
- endCollapsible: boolean;
10
- showStartCollapsibleIcon: ShowCollapsibleIconMode;
11
- showEndCollapsibleIcon: ShowCollapsibleIconMode;
12
- onOffsetStart: (index: number) => void;
13
- onOffsetUpdate: (index: number, offsetX: number, offsetY: number, lazyEnd?: boolean) => void;
14
- onOffsetEnd: (lazyEnd?: boolean) => void;
15
- onCollapse: (index: number, type: 'start' | 'end') => void;
16
- vertical: boolean;
17
- ariaNow: number;
18
- ariaMin: number;
19
- ariaMax: number;
20
- lazy?: boolean;
21
- containerSize: number;
22
- }
23
- declare const SplitBar: React.FC<SplitBarProps>;
24
- export default SplitBar;
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- import type { SplitterProps } from './interface';
3
- import './style/index.less';
4
- declare const Splitter: React.FC<React.PropsWithChildren<SplitterProps>>;
5
- export default Splitter;
@@ -1,3 +0,0 @@
1
- declare type SizeUnit = number | undefined;
2
- export declare function autoPtgSizes(ptgSizes: SizeUnit[], minPtgSizes: SizeUnit[], maxPtgSizes: SizeUnit[]): number[];
3
- export {};
@@ -1,14 +0,0 @@
1
- import * as React from 'react';
2
- import type { PanelProps } from '../interface';
3
- export declare type ItemType = Omit<PanelProps, 'collapsible'> & {
4
- collapsible: {
5
- start?: boolean;
6
- end?: boolean;
7
- showCollapsibleIcon: 'auto' | boolean;
8
- };
9
- };
10
- /**
11
- * Convert `children` into `items`.
12
- */
13
- declare function useItems(children: React.ReactNode): ItemType[];
14
- export default useItems;
@@ -1,10 +0,0 @@
1
- import type { ShowCollapsibleIconMode } from '../SplitBar';
2
- import type { ItemType } from './useItems';
3
- export declare type ResizableInfo = {
4
- resizable: boolean;
5
- startCollapsible: boolean;
6
- endCollapsible: boolean;
7
- showStartCollapsibleIcon: ShowCollapsibleIconMode;
8
- showEndCollapsibleIcon: ShowCollapsibleIconMode;
9
- };
10
- export default function useResizable(items: ItemType[], pxSizes: number[], isRTL: boolean): ResizableInfo[];
@@ -1,6 +0,0 @@
1
- import type { ItemType } from './useItems';
2
- import type { ResizableInfo } from './useResizable';
3
- /**
4
- * Handle user drag resize logic.
5
- */
6
- export default function useResize(items: ItemType[], resizableInfos: ResizableInfo[], percentSizes: number[], containerSize: number | undefined, updateSizes: (sizes: number[]) => void, isRTL: boolean): readonly [(index: number) => void, (index: number, offset: number) => number[], () => void, (index: number, type: 'start' | 'end') => number[], number | undefined];
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import { PanelProps } from '../interface';
3
- export declare function getPtg(str: string): number;
4
- export default function useSizes(items: PanelProps[], containerSize?: number): readonly [(string | number | undefined)[], number[], number[], number[], number[], React.Dispatch<React.SetStateAction<(string | number | undefined)[]>>];
@@ -1,8 +0,0 @@
1
- import Panel from './Panel';
2
- import SplitterComp from './Splitter';
3
- export type { SplitterProps } from './interface';
4
- declare type CompoundedComponent = typeof SplitterComp & {
5
- Panel: typeof Panel;
6
- };
7
- declare const Splitter: CompoundedComponent;
8
- export default Splitter;
@@ -1,69 +0,0 @@
1
- /// <reference types="react" />
2
- import { ShowCollapsibleIconMode } from './SplitBar';
3
- export interface SplitterProps {
4
- prefixCls?: string;
5
- className?: string;
6
- style?: React.CSSProperties;
7
- rootClassName?: string;
8
- layout?: 'horizontal' | 'vertical';
9
- onResizeStart?: (sizes: number[]) => void;
10
- onResize?: (sizes: number[]) => void;
11
- onResizeEnd?: (sizes: number[]) => void;
12
- onCollapse?: (collapsed: boolean[], sizes: number[]) => void;
13
- lazy?: boolean;
14
- }
15
- export interface PanelProps {
16
- className?: string;
17
- style?: React.CSSProperties;
18
- min?: number | string;
19
- max?: number | string;
20
- size?: number | string;
21
- collapsible?: boolean | {
22
- start?: boolean;
23
- end?: boolean;
24
- showCollapsibleIcon?: ShowCollapsibleIconMode;
25
- };
26
- resizable?: boolean;
27
- defaultSize?: number | string;
28
- }
29
- export interface InternalPanelProps extends PanelProps {
30
- className?: string;
31
- prefixCls?: string;
32
- }
33
- export interface UseResizeProps extends Pick<SplitterProps, 'onResize'> {
34
- basicsState: number[];
35
- items: PanelProps[];
36
- panelsRef: React.RefObject<(HTMLDivElement | null)[]>;
37
- reverse: boolean;
38
- setBasicsState: React.Dispatch<React.SetStateAction<number[]>>;
39
- }
40
- export interface UseResize {
41
- setSize: (data: {
42
- size: number;
43
- index: number;
44
- }[]) => void;
45
- setOffset: (offset: number, containerSize: number, index: number) => void;
46
- }
47
- export interface UseHandleProps extends Pick<SplitterProps, 'layout' | 'onResizeStart' | 'onResizeEnd'> {
48
- basicsState: number[];
49
- containerRef?: React.RefObject<HTMLDivElement | null>;
50
- setOffset: UseResize['setOffset'];
51
- setResizing: React.Dispatch<React.SetStateAction<boolean>>;
52
- }
53
- export interface UseHandle {
54
- onStart: (x: number, y: number, index: number) => void;
55
- }
56
- export interface UseCollapsibleProps {
57
- basicsState: number[];
58
- collapsible?: PanelProps['collapsible'];
59
- index: number;
60
- reverse: boolean;
61
- setSize?: UseResize['setSize'];
62
- }
63
- export interface UseCollapsible {
64
- nextIcon: boolean;
65
- overlap: boolean;
66
- previousIcon: boolean;
67
- onFold: (type: 'previous' | 'next') => void;
68
- setOldBasics: () => void;
69
- }
@@ -1,2 +0,0 @@
1
- import '../../style';
2
- import './index.less';
@@ -1,28 +0,0 @@
1
- import React, { CSSProperties, HTMLAttributes, ReactNode } from 'react';
2
- import './style';
3
- export declare const PRESET_COLOR_TYPES: readonly ["blue", "yellow", "green", "gray", "red", "purple", "cyan", "pink"];
4
- export declare const STATUS_TAG_TYPES: readonly ["default", "outline", "fill"];
5
- export declare type PresetColorType = (typeof PRESET_COLOR_TYPES)[number] | (string & {});
6
- export declare type StatusTagType = (typeof STATUS_TAG_TYPES)[number];
7
- export interface IStatusTagProps extends HTMLAttributes<HTMLDivElement> {
8
- /** 状态类型 */
9
- type?: StatusTagType;
10
- /** 是否圆角 */
11
- rounded?: boolean;
12
- /** 状态颜色(支持预设值/自定义十六进制/RGB) */
13
- color?: PresetColorType;
14
- /** 是否加载中 */
15
- loading?: boolean;
16
- /** 自定义图标 */
17
- icon?: ReactNode;
18
- /** 背景颜色(仅fill类型生效),未设置时使用color的0.15透明度 */
19
- background?: string;
20
- /** 类名 */
21
- className?: string;
22
- /** 子节点 */
23
- children?: ReactNode;
24
- /** 自定义样式 */
25
- style?: CSSProperties;
26
- }
27
- declare const StatusTag: React.FC<IStatusTagProps>;
28
- export default StatusTag;
@@ -1,2 +0,0 @@
1
- import '../../style/index.less';
2
- import './index.less';
@@ -1 +0,0 @@
1
- import './index.less';