@dtjoy/dt-design 1.0.1 → 1.0.3

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 (155) hide show
  1. package/esm/_util/gapSize.d.ts +3 -0
  2. package/esm/_util/gapSize.js +10 -0
  3. package/esm/_util/hooks/index.d.ts +1 -0
  4. package/esm/_util/hooks/index.js +1 -0
  5. package/esm/_util/hooks/useOrientation.d.ts +2 -0
  6. package/esm/_util/hooks/useOrientation.js +19 -0
  7. package/esm/_util/isNonNullable.d.ts +2 -0
  8. package/esm/_util/isNonNullable.js +4 -0
  9. package/esm/_util/type.d.ts +2 -1
  10. package/esm/blockHeader/index.js +12 -11
  11. package/esm/blockHeader/style/index.d.ts +1 -1
  12. package/esm/blockHeader/style/index.js +1 -1
  13. package/esm/blockHeader/style/index.less +9 -8
  14. package/esm/button/style/index.less +60 -46
  15. package/esm/button/style/mixin.less +47 -0
  16. package/esm/collapsible/index.d.ts +97 -0
  17. package/esm/collapsible/index.js +234 -0
  18. package/esm/collapsible/style/index.d.ts +1 -0
  19. package/esm/collapsible/style/index.js +1 -0
  20. package/esm/collapsible/style/index.less +24 -0
  21. package/esm/collapsibleActionItems/index.d.ts +24 -0
  22. package/esm/collapsibleActionItems/index.js +74 -0
  23. package/esm/collapsibleActionItems/style/index.d.ts +2 -0
  24. package/esm/collapsibleActionItems/style/index.js +2 -0
  25. package/esm/collapsibleActionItems/style/index.less +7 -0
  26. package/esm/flex/index.d.ts +7 -0
  27. package/esm/flex/index.js +62 -0
  28. package/esm/flex/interface.d.ts +16 -0
  29. package/esm/flex/interface.js +1 -0
  30. package/esm/flex/style/index.d.ts +2 -0
  31. package/esm/flex/style/index.js +2 -0
  32. package/esm/flex/style/index.less +77 -0
  33. package/esm/flex/utils.d.ts +7 -0
  34. package/esm/flex/utils.js +33 -0
  35. package/esm/index.d.ts +10 -1
  36. package/esm/index.js +8 -6
  37. package/esm/overflowList/index.d.ts +39 -0
  38. package/esm/overflowList/index.js +165 -0
  39. package/esm/overflowList/style/index.d.ts +2 -0
  40. package/esm/overflowList/style/index.js +2 -0
  41. package/esm/overflowList/style/index.less +9 -0
  42. package/esm/resize/index.d.ts +8 -0
  43. package/esm/resize/index.js +29 -0
  44. package/esm/resizeObserver/index.d.ts +45 -0
  45. package/esm/resizeObserver/index.js +175 -0
  46. package/esm/splitter/Panel.d.ts +7 -0
  47. package/esm/splitter/Panel.js +38 -0
  48. package/esm/splitter/SplitBar.d.ts +24 -0
  49. package/esm/splitter/SplitBar.js +185 -0
  50. package/esm/splitter/Splitter.d.ts +5 -0
  51. package/esm/splitter/Splitter.js +197 -0
  52. package/esm/splitter/hooks/sizeUtil.d.ts +3 -0
  53. package/esm/splitter/hooks/sizeUtil.js +63 -0
  54. package/esm/splitter/hooks/useItems.d.ts +14 -0
  55. package/esm/splitter/hooks/useItems.js +44 -0
  56. package/esm/splitter/hooks/useResizable.d.ts +10 -0
  57. package/esm/splitter/hooks/useResizable.js +73 -0
  58. package/esm/splitter/hooks/useResize.d.ts +6 -0
  59. package/esm/splitter/hooks/useResize.js +158 -0
  60. package/esm/splitter/hooks/useSizes.d.ts +4 -0
  61. package/esm/splitter/hooks/useSizes.js +80 -0
  62. package/esm/splitter/index.d.ts +8 -0
  63. package/esm/splitter/index.js +5 -0
  64. package/esm/splitter/interface.d.ts +68 -0
  65. package/esm/splitter/interface.js +1 -0
  66. package/esm/splitter/style/index.d.ts +2 -0
  67. package/esm/splitter/style/index.js +2 -0
  68. package/esm/splitter/style/index.less +312 -0
  69. package/esm/statusTag/index.d.ts +28 -0
  70. package/esm/statusTag/index.js +122 -0
  71. package/esm/statusTag/style/index.d.ts +2 -0
  72. package/esm/statusTag/style/index.js +2 -0
  73. package/esm/statusTag/style/index.less +70 -0
  74. package/esm/statusTag/style/mixin.less +39 -0
  75. package/esm/style/mixins/index.less +0 -0
  76. package/esm/style/themes/index.less +2 -1
  77. package/esm/style/themes/variable.less +1 -0
  78. package/lib/_util/gapSize.d.ts +3 -0
  79. package/lib/_util/gapSize.js +17 -0
  80. package/lib/_util/hooks/index.d.ts +1 -0
  81. package/lib/_util/hooks/index.js +16 -0
  82. package/lib/_util/hooks/useOrientation.d.ts +2 -0
  83. package/lib/_util/hooks/useOrientation.js +26 -0
  84. package/lib/_util/isNonNullable.d.ts +2 -0
  85. package/lib/_util/isNonNullable.js +10 -0
  86. package/lib/_util/type.d.ts +2 -1
  87. package/lib/blockHeader/index.js +12 -12
  88. package/lib/blockHeader/style/index.d.ts +1 -1
  89. package/lib/blockHeader/style/index.js +1 -1
  90. package/lib/blockHeader/style/index.less +9 -8
  91. package/lib/button/style/index.less +60 -46
  92. package/lib/button/style/mixin.less +47 -0
  93. package/lib/collapsible/index.d.ts +97 -0
  94. package/lib/collapsible/index.js +199 -0
  95. package/lib/collapsible/style/index.d.ts +1 -0
  96. package/lib/collapsible/style/index.js +3 -0
  97. package/lib/collapsible/style/index.less +24 -0
  98. package/lib/collapsibleActionItems/index.d.ts +24 -0
  99. package/lib/collapsibleActionItems/index.js +68 -0
  100. package/lib/collapsibleActionItems/style/index.d.ts +2 -0
  101. package/lib/collapsibleActionItems/style/index.js +4 -0
  102. package/lib/collapsibleActionItems/style/index.less +7 -0
  103. package/lib/flex/index.d.ts +7 -0
  104. package/lib/flex/index.js +60 -0
  105. package/lib/flex/interface.d.ts +16 -0
  106. package/lib/flex/interface.js +5 -0
  107. package/lib/flex/style/index.d.ts +2 -0
  108. package/lib/flex/style/index.js +4 -0
  109. package/lib/flex/style/index.less +77 -0
  110. package/lib/flex/utils.d.ts +7 -0
  111. package/lib/flex/utils.js +40 -0
  112. package/lib/index.d.ts +10 -1
  113. package/lib/index.js +73 -1
  114. package/lib/overflowList/index.d.ts +39 -0
  115. package/lib/overflowList/index.js +143 -0
  116. package/lib/overflowList/style/index.d.ts +2 -0
  117. package/lib/overflowList/style/index.js +4 -0
  118. package/lib/overflowList/style/index.less +9 -0
  119. package/lib/resize/index.d.ts +8 -0
  120. package/lib/resize/index.js +38 -0
  121. package/lib/resizeObserver/index.d.ts +45 -0
  122. package/lib/resizeObserver/index.js +136 -0
  123. package/lib/splitter/Panel.d.ts +7 -0
  124. package/lib/splitter/Panel.js +44 -0
  125. package/lib/splitter/SplitBar.d.ts +24 -0
  126. package/lib/splitter/SplitBar.js +179 -0
  127. package/lib/splitter/Splitter.d.ts +5 -0
  128. package/lib/splitter/Splitter.js +186 -0
  129. package/lib/splitter/hooks/sizeUtil.d.ts +3 -0
  130. package/lib/splitter/hooks/sizeUtil.js +56 -0
  131. package/lib/splitter/hooks/useItems.d.ts +14 -0
  132. package/lib/splitter/hooks/useItems.js +46 -0
  133. package/lib/splitter/hooks/useResizable.d.ts +10 -0
  134. package/lib/splitter/hooks/useResizable.js +83 -0
  135. package/lib/splitter/hooks/useResize.d.ts +6 -0
  136. package/lib/splitter/hooks/useResize.js +142 -0
  137. package/lib/splitter/hooks/useSizes.d.ts +4 -0
  138. package/lib/splitter/hooks/useSizes.js +62 -0
  139. package/lib/splitter/index.d.ts +8 -0
  140. package/lib/splitter/index.js +12 -0
  141. package/lib/splitter/interface.d.ts +68 -0
  142. package/lib/splitter/interface.js +5 -0
  143. package/lib/splitter/style/index.d.ts +2 -0
  144. package/lib/splitter/style/index.js +4 -0
  145. package/lib/splitter/style/index.less +312 -0
  146. package/lib/statusTag/index.d.ts +28 -0
  147. package/lib/statusTag/index.js +125 -0
  148. package/lib/statusTag/style/index.d.ts +2 -0
  149. package/lib/statusTag/style/index.js +4 -0
  150. package/lib/statusTag/style/index.less +70 -0
  151. package/lib/statusTag/style/mixin.less +39 -0
  152. package/lib/style/mixins/index.less +0 -0
  153. package/lib/style/themes/index.less +2 -1
  154. package/lib/style/themes/variable.less +1 -0
  155. package/package.json +11 -19
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.justifyContentValues = exports.flexWrapValues = exports.default = exports.alignItemsValues = void 0;
7
+ var _classnames = _interopRequireDefault(require("classnames"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ const flexWrapValues = exports.flexWrapValues = ['wrap', 'nowrap', 'wrap-reverse'];
10
+ const justifyContentValues = exports.justifyContentValues = ['flex-start', 'flex-end', 'start', 'end', 'center', 'space-between', 'space-around', 'space-evenly', 'stretch', 'normal', 'left', 'right'];
11
+ const alignItemsValues = exports.alignItemsValues = ['center', 'start', 'end', 'flex-start', 'flex-end', 'self-start', 'self-end', 'baseline', 'normal', 'stretch'];
12
+ const genClsWrap = (prefixCls, props) => {
13
+ const wrap = props.wrap === true ? 'wrap' : props.wrap;
14
+ return {
15
+ [`${prefixCls}-wrap-${wrap}`]: wrap && flexWrapValues.includes(wrap)
16
+ };
17
+ };
18
+ const genClsAlign = (prefixCls, props) => {
19
+ const alignCls = {};
20
+ alignItemsValues.forEach(cssKey => {
21
+ alignCls[`${prefixCls}-align-${cssKey}`] = props.align === cssKey;
22
+ });
23
+ alignCls[`${prefixCls}-align-stretch`] = !props.align && !!props.vertical;
24
+ return alignCls;
25
+ };
26
+ const genClsJustify = (prefixCls, props) => {
27
+ const justifyCls = {};
28
+ justifyContentValues.forEach(cssKey => {
29
+ justifyCls[`${prefixCls}-justify-${cssKey}`] = props.justify === cssKey;
30
+ });
31
+ return justifyCls;
32
+ };
33
+ const createFlexClassNames = (prefixCls, props) => {
34
+ return (0, _classnames.default)({
35
+ ...genClsWrap(prefixCls, props),
36
+ ...genClsAlign(prefixCls, props),
37
+ ...genClsJustify(prefixCls, props)
38
+ });
39
+ };
40
+ var _default = exports.default = createFlexClassNames;
package/lib/index.d.ts CHANGED
@@ -1,3 +1,12 @@
1
- import '@dtinsight/react-icons/dist/index.css';
2
1
  export { default as BlockHeader } from './blockHeader';
2
+ export type { ButtonProps } from './button';
3
3
  export { default as Button } from './button';
4
+ export { default as Flex } from './flex';
5
+ export type { FlexProps } from './flex/interface';
6
+ export { default as CollapsibleActionItems } from './collapsibleActionItems';
7
+ export { default as OverflowList } from './overflowList';
8
+ export { default as Resize } from './resize';
9
+ export { default as Splitter } from './splitter';
10
+ export * from './splitter';
11
+ export { default as Collapsible } from './collapsible';
12
+ export { default as StatusTag } from './statusTag';
package/lib/index.js CHANGED
@@ -3,6 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _exportNames = {
7
+ BlockHeader: true,
8
+ Button: true,
9
+ Flex: true,
10
+ CollapsibleActionItems: true,
11
+ OverflowList: true,
12
+ Resize: true,
13
+ Splitter: true,
14
+ Collapsible: true,
15
+ StatusTag: true
16
+ };
6
17
  Object.defineProperty(exports, "BlockHeader", {
7
18
  enumerable: true,
8
19
  get: function () {
@@ -15,7 +26,68 @@ Object.defineProperty(exports, "Button", {
15
26
  return _button.default;
16
27
  }
17
28
  });
18
- require("@dtinsight/react-icons/dist/index.css");
29
+ Object.defineProperty(exports, "Collapsible", {
30
+ enumerable: true,
31
+ get: function () {
32
+ return _collapsible.default;
33
+ }
34
+ });
35
+ Object.defineProperty(exports, "CollapsibleActionItems", {
36
+ enumerable: true,
37
+ get: function () {
38
+ return _collapsibleActionItems.default;
39
+ }
40
+ });
41
+ Object.defineProperty(exports, "Flex", {
42
+ enumerable: true,
43
+ get: function () {
44
+ return _flex.default;
45
+ }
46
+ });
47
+ Object.defineProperty(exports, "OverflowList", {
48
+ enumerable: true,
49
+ get: function () {
50
+ return _overflowList.default;
51
+ }
52
+ });
53
+ Object.defineProperty(exports, "Resize", {
54
+ enumerable: true,
55
+ get: function () {
56
+ return _resize.default;
57
+ }
58
+ });
59
+ Object.defineProperty(exports, "Splitter", {
60
+ enumerable: true,
61
+ get: function () {
62
+ return _splitter.default;
63
+ }
64
+ });
65
+ Object.defineProperty(exports, "StatusTag", {
66
+ enumerable: true,
67
+ get: function () {
68
+ return _statusTag.default;
69
+ }
70
+ });
19
71
  var _blockHeader = _interopRequireDefault(require("./blockHeader"));
20
72
  var _button = _interopRequireDefault(require("./button"));
73
+ var _flex = _interopRequireDefault(require("./flex"));
74
+ var _collapsibleActionItems = _interopRequireDefault(require("./collapsibleActionItems"));
75
+ var _overflowList = _interopRequireDefault(require("./overflowList"));
76
+ var _resize = _interopRequireDefault(require("./resize"));
77
+ var _splitter = _interopRequireWildcard(require("./splitter"));
78
+ Object.keys(_splitter).forEach(function (key) {
79
+ if (key === "default" || key === "__esModule") return;
80
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
81
+ if (key in exports && exports[key] === _splitter[key]) return;
82
+ Object.defineProperty(exports, key, {
83
+ enumerable: true,
84
+ get: function () {
85
+ return _splitter[key];
86
+ }
87
+ });
88
+ });
89
+ var _collapsible = _interopRequireDefault(require("./collapsible"));
90
+ var _statusTag = _interopRequireDefault(require("./statusTag"));
91
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
92
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
93
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,39 @@
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;
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _configProvider = require("antd/es/config-provider");
9
+ var _classnames = _interopRequireDefault(require("classnames"));
10
+ require("./style");
11
+ var _resizeObserver = _interopRequireDefault(require("../resizeObserver"));
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ class OverflowList extends _react.Component {
16
+ static defaultProps = {
17
+ items: [],
18
+ collapseFrom: 'end',
19
+ minVisibleItems: 0,
20
+ renderMode: 'collapse'
21
+ };
22
+ static displayName;
23
+ containerRef = /*#__PURE__*/(0, _react.createRef)();
24
+ overflowRef = /*#__PURE__*/(0, _react.createRef)();
25
+ itemRefs = new Map();
26
+ prefixCls = 'overflow-list';
27
+ constructor(props) {
28
+ super(props);
29
+ this.prefixCls = (0, _configProvider.globalConfig)().getPrefixCls(this.prefixCls);
30
+ this.state = {
31
+ visibleCount: props.items.length,
32
+ isMeasuring: props.renderMode === 'collapse'
33
+ };
34
+ }
35
+ componentDidMount() {
36
+ if (this.props.renderMode === 'collapse') {
37
+ this.measureAndAdjust();
38
+ }
39
+ }
40
+ componentUpdate(prevProps) {
41
+ if (prevProps.items !== this.props.items || prevProps.renderMode !== this.props.renderMode) {
42
+ this.setState({
43
+ isMeasuring: true,
44
+ visibleCount: this.props.items.length
45
+ }, this.measureAndAdjust);
46
+ }
47
+ }
48
+ measureAndAdjust = () => {
49
+ const container = this.containerRef.current;
50
+ if (!container || this.props.renderMode !== 'collapse') return;
51
+ const {
52
+ items,
53
+ minVisibleItems,
54
+ collapseFrom,
55
+ onOverflow
56
+ } = this.props;
57
+ const containerWidth = container.offsetWidth;
58
+ const overflowWidth = this.overflowRef.current?.offsetWidth ?? 0;
59
+ let totalWidth = 0;
60
+ let newVisibleCount = 0;
61
+ for (let i = 0; i < items.length; i++) {
62
+ const index = collapseFrom === 'end' ? i : items.length - 1 - i;
63
+ const itemWidth = this.itemRefs.get(index)?.getBoundingClientRect().width ?? 0;
64
+ const isLast = i === items.length - 1;
65
+ const limit = isLast ? containerWidth : containerWidth - overflowWidth;
66
+ if (totalWidth + itemWidth <= limit || newVisibleCount < (minVisibleItems || 0)) {
67
+ totalWidth += itemWidth;
68
+ newVisibleCount++;
69
+ } else {
70
+ break;
71
+ }
72
+ }
73
+ this.setState({
74
+ visibleCount: newVisibleCount,
75
+ isMeasuring: false
76
+ }, () => {
77
+ if (onOverflow) {
78
+ onOverflow(this.getOverflowItems(newVisibleCount));
79
+ }
80
+ });
81
+ };
82
+ getOverflowItems = count => {
83
+ const {
84
+ items,
85
+ collapseFrom
86
+ } = this.props;
87
+ return collapseFrom === 'end' ? items.slice(count) : items.slice(0, items.length - count);
88
+ };
89
+ renderCollapse() {
90
+ const {
91
+ items,
92
+ visibleItemRenderer,
93
+ overflowRenderer,
94
+ collapseFrom,
95
+ style,
96
+ className
97
+ } = this.props;
98
+ const {
99
+ visibleCount,
100
+ isMeasuring
101
+ } = this.state;
102
+ const overflowItems = this.getOverflowItems(visibleCount);
103
+ const hasOverflow = overflowItems.length > 0;
104
+ const containerStyle = {
105
+ maxWidth: '100%',
106
+ visibility: 'visible',
107
+ ...style
108
+ };
109
+ const renderItems = () => {
110
+ return items.map((item, i) => {
111
+ const isVisible = isMeasuring || (collapseFrom === 'end' ? i < visibleCount : i >= items.length - visibleCount);
112
+ if (!isVisible) return null;
113
+ return /*#__PURE__*/_react.default.createElement("div", {
114
+ key: i,
115
+ ref: el => {
116
+ if (el) this.itemRefs.set(i, el);else this.itemRefs.delete(i);
117
+ },
118
+ className: `${this.prefixCls}-item`
119
+ }, visibleItemRenderer(item, i));
120
+ });
121
+ };
122
+ const overflowNode = (hasOverflow || isMeasuring) && /*#__PURE__*/_react.default.createElement("div", {
123
+ ref: this.overflowRef,
124
+ className: `${this.prefixCls}-overflow`
125
+ }, overflowRenderer(isMeasuring ? items : overflowItems));
126
+ return /*#__PURE__*/_react.default.createElement(_resizeObserver.default, {
127
+ onResize: () => this.setState({
128
+ isMeasuring: true
129
+ }, this.measureAndAdjust)
130
+ }, /*#__PURE__*/_react.default.createElement("div", {
131
+ ref: this.containerRef,
132
+ className: (0, _classnames.default)(this.prefixCls, className),
133
+ style: containerStyle
134
+ }, collapseFrom === 'start' && overflowNode, renderItems(), collapseFrom === 'end' && overflowNode));
135
+ }
136
+ render() {
137
+ return this.renderCollapse();
138
+ }
139
+ }
140
+ if (process.env.NODE_ENV === 'development') {
141
+ OverflowList.displayName = 'OverflowList';
142
+ }
143
+ var _default = exports.default = OverflowList;
@@ -0,0 +1,2 @@
1
+ import '../../style/index.less';
2
+ import './index.less';
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ require("../../style/index.less");
4
+ require("./index.less");
@@ -0,0 +1,9 @@
1
+ @import "../../style/themes/index.less";
2
+
3
+ @overflow-list-prefix-cls: ~"@{ant-prefix}-overflow-list";
4
+
5
+ .@{overflow-list-prefix-cls} {
6
+ display: flex;
7
+ flex-wrap: nowrap;
8
+ min-width: 0;
9
+ }
@@ -0,0 +1,8 @@
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;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
+ const Resize = ({
11
+ observerEle,
12
+ onResize,
13
+ children
14
+ }) => {
15
+ const resizeEventRef = (0, _react.useRef)(onResize);
16
+ resizeEventRef.current = onResize;
17
+ (0, _react.useEffect)(() => {
18
+ const onResizeProxy = () => {
19
+ if (typeof resizeEventRef.current === 'function') {
20
+ resizeEventRef.current();
21
+ }
22
+ };
23
+ if (!observerEle) {
24
+ window.addEventListener('resize', onResizeProxy, false);
25
+ return () => {
26
+ window.removeEventListener('resize', onResizeProxy, false);
27
+ };
28
+ } else {
29
+ const resizeObserver = new ResizeObserver(onResizeProxy);
30
+ resizeObserver.observe(observerEle);
31
+ return () => {
32
+ resizeObserver.unobserve(observerEle);
33
+ };
34
+ }
35
+ }, [observerEle]);
36
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children);
37
+ };
38
+ var _default = exports.default = Resize;
@@ -0,0 +1,45 @@
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 {};
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.ObserverProperty = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactDom = require("react-dom");
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ let ObserverProperty = exports.ObserverProperty = /*#__PURE__*/function (ObserverProperty) {
11
+ ObserverProperty["Width"] = "width";
12
+ ObserverProperty["Height"] = "height";
13
+ ObserverProperty["All"] = "all";
14
+ return ObserverProperty;
15
+ }({});
16
+ class ReactResizeObserver extends _react.default.Component {
17
+ static defaultProps = {
18
+ onResize: () => {},
19
+ observeParent: false,
20
+ observerProperty: ObserverProperty.All,
21
+ delayTick: 0
22
+ };
23
+ observer = null;
24
+ childNode = null;
25
+ element = null;
26
+ _parentNode = null;
27
+ formerPropertyValue = new Map();
28
+ constructor(props) {
29
+ super(props);
30
+ if (typeof window !== 'undefined' && window.ResizeObserver) {
31
+ this.observer = new window.ResizeObserver(this.handleResizeEventTriggered);
32
+ }
33
+ }
34
+ getElement = () => {
35
+ try {
36
+ // eslint-disable-next-line react/no-find-dom-node
37
+ return (0, _reactDom.findDOMNode)(this.childNode || this);
38
+ } catch (error) {
39
+ return null;
40
+ }
41
+ };
42
+ handleResizeEventTriggered = entries => {
43
+ const {
44
+ observerProperty,
45
+ onResize
46
+ } = this.props;
47
+ if (observerProperty === ObserverProperty.All) {
48
+ onResize?.(entries);
49
+ } else {
50
+ const finalEntries = [];
51
+ for (const entry of entries) {
52
+ const currentValue = entry.contentRect[observerProperty];
53
+ if (this.formerPropertyValue.has(entry.target)) {
54
+ if (currentValue !== this.formerPropertyValue.get(entry.target)) {
55
+ this.formerPropertyValue.set(entry.target, currentValue);
56
+ finalEntries.push(entry);
57
+ }
58
+ } else {
59
+ this.formerPropertyValue.set(entry.target, currentValue);
60
+ finalEntries.push(entry);
61
+ }
62
+ }
63
+ if (finalEntries.length > 0) {
64
+ onResize?.(finalEntries);
65
+ }
66
+ }
67
+ };
68
+ observeElement = (force = false) => {
69
+ if (!this.observer) return;
70
+ const element = this.getElement();
71
+ if (!(element && element instanceof Element)) {
72
+ this.observer.disconnect();
73
+ return;
74
+ }
75
+ if (element === this.element && !force) {
76
+ return;
77
+ } else {
78
+ this.observer.disconnect();
79
+ this.element = element;
80
+ }
81
+ this.observer.observe(element);
82
+ if (this.props.observeParent && element.parentNode) {
83
+ const parentNode = element.parentNode;
84
+ if (parentNode.ownerDocument && parentNode.ownerDocument.defaultView && parentNode instanceof parentNode.ownerDocument.defaultView.HTMLElement) {
85
+ this._parentNode = parentNode;
86
+ this.observer.observe(parentNode);
87
+ }
88
+ }
89
+ };
90
+ mergeRef = (ref, node) => {
91
+ this.childNode = node;
92
+ // 转发外部ref
93
+ if (typeof ref === 'function') {
94
+ ref(node);
95
+ } else if (typeof ref === 'object' && ref && 'current' in ref) {
96
+ ref.current = node;
97
+ }
98
+ };
99
+ componentDidMount() {
100
+ this.observeElement?.();
101
+ }
102
+ componentDidUpdate(prevProps) {
103
+ if (this.props.observeParent !== prevProps.observeParent) {
104
+ this.observeElement?.(true);
105
+ }
106
+ }
107
+ componentWillUnmount() {
108
+ if (this.observer) {
109
+ this.observer.disconnect();
110
+ this.observer = null;
111
+ }
112
+ this.element = null;
113
+ this._parentNode = null;
114
+ this.formerPropertyValue.clear();
115
+ }
116
+ render() {
117
+ const {
118
+ children,
119
+ className,
120
+ style,
121
+ ...rest
122
+ } = this.props;
123
+ const child = _react.default.Children.only(children);
124
+ const childRef = child.ref;
125
+ return /*#__PURE__*/_react.default.cloneElement(child, {
126
+ ...rest,
127
+ className: className ? `${child.props.className || ''} ${className}` : child.props.className,
128
+ style: {
129
+ ...child.props.style,
130
+ ...style
131
+ },
132
+ ref: node => this.mergeRef(childRef, node)
133
+ });
134
+ }
135
+ }
136
+ exports.default = ReactResizeObserver;
@@ -0,0 +1,7 @@
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;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.InternalPanel = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _configProvider = require("antd/es/config-provider");
9
+ var _classnames = _interopRequireDefault(require("classnames"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ const InternalPanel = exports.InternalPanel = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
14
+ const {
15
+ prefixCls: customizePrefixCls,
16
+ className,
17
+ children,
18
+ size,
19
+ style = {}
20
+ } = props;
21
+ const {
22
+ getPrefixCls
23
+ } = (0, _react.useContext)(_configProvider.ConfigContext);
24
+ const prefixCls = getPrefixCls('splitter', customizePrefixCls);
25
+ const panelClassName = (0, _classnames.default)(`${prefixCls}-panel`, {
26
+ [`${prefixCls}-panel-hidden`]: size === 0
27
+ }, className);
28
+ const hasSize = size !== undefined;
29
+ return /*#__PURE__*/_react.default.createElement("div", {
30
+ ref: ref,
31
+ className: panelClassName,
32
+ style: {
33
+ ...style,
34
+ // Use auto when start from ssr
35
+ flexBasis: hasSize ? size : 'auto',
36
+ flexGrow: hasSize ? 0 : 1
37
+ }
38
+ }, children);
39
+ });
40
+ if (process.env.NODE_ENV !== 'production') {
41
+ InternalPanel.displayName = 'Panel';
42
+ }
43
+ const Panel = () => null;
44
+ var _default = exports.default = Panel;
@@ -0,0 +1,24 @@
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;