@douyinfe/semi-ui 2.36.0-alpha.0 → 2.36.0-beta.0
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.
- package/dist/css/semi.css +166 -510
- package/dist/css/semi.min.css +1 -1
- package/dist/umd/semi-ui.js +247 -277
- package/dist/umd/semi-ui.js.map +1 -1
- package/dist/umd/semi-ui.min.js +1 -1
- package/dist/umd/semi-ui.min.js.map +1 -1
- package/lib/cjs/anchor/index.d.ts +3 -2
- package/lib/cjs/anchor/link.js +13 -6
- package/lib/cjs/autoComplete/index.d.ts +1 -1
- package/lib/cjs/button/Button.d.ts +1 -1
- package/lib/cjs/button/buttonGroup.d.ts +1 -1
- package/lib/cjs/button/index.d.ts +1 -1
- package/lib/cjs/calendar/dayCalendar.d.ts +2 -1
- package/lib/cjs/calendar/dayCalendar.js +7 -2
- package/lib/cjs/calendar/index.d.ts +1 -0
- package/lib/cjs/calendar/index.js +1 -0
- package/lib/cjs/calendar/interface.d.ts +2 -0
- package/lib/cjs/calendar/monthCalendar.d.ts +1 -1
- package/lib/cjs/calendar/monthCalendar.js +12 -4
- package/lib/cjs/calendar/rangeCalendar.d.ts +3 -1
- package/lib/cjs/calendar/rangeCalendar.js +23 -9
- package/lib/cjs/calendar/weekCalendar.d.ts +3 -1
- package/lib/cjs/calendar/weekCalendar.js +23 -9
- package/lib/cjs/collapse/item.d.ts +0 -2
- package/lib/cjs/collapse/item.js +2 -3
- package/lib/cjs/datePicker/dateInput.d.ts +1 -1
- package/lib/cjs/datePicker/datePicker.d.ts +2 -2
- package/lib/cjs/datePicker/datePicker.js +12 -4
- package/lib/cjs/datePicker/monthsGrid.d.ts +1 -1
- package/lib/cjs/datePicker/monthsGrid.js +6 -2
- package/lib/cjs/datePicker/yearAndMonth.d.ts +3 -1
- package/lib/cjs/datePicker/yearAndMonth.js +4 -2
- package/lib/cjs/form/baseForm.d.ts +1 -1
- package/lib/cjs/form/field.d.ts +1 -1
- package/lib/cjs/input/index.d.ts +1 -1
- package/lib/cjs/input/inputGroup.d.ts +1 -1
- package/lib/cjs/input/textarea.d.ts +1 -1
- package/lib/cjs/modal/confirm.d.ts +17 -17
- package/lib/cjs/navigation/Footer.d.ts +3 -0
- package/lib/cjs/navigation/Footer.js +19 -9
- package/lib/cjs/navigation/Item.d.ts +0 -4
- package/lib/cjs/navigation/Item.js +10 -29
- package/lib/cjs/navigation/SubNav.d.ts +1 -18
- package/lib/cjs/navigation/SubNav.js +30 -70
- package/lib/cjs/navigation/index.d.ts +4 -1
- package/lib/cjs/navigation/index.js +7 -1
- package/lib/cjs/rating/index.d.ts +1 -1
- package/lib/cjs/rating/item.d.ts +1 -1
- package/lib/cjs/select/index.d.ts +2 -1
- package/lib/cjs/select/index.js +4 -0
- package/lib/cjs/skeleton/index.d.ts +0 -1
- package/lib/cjs/skeleton/index.js +0 -1
- package/lib/cjs/skeleton/item.d.ts +0 -1
- package/lib/cjs/skeleton/item.js +1 -6
- package/lib/cjs/steps/basicStep.d.ts +0 -3
- package/lib/cjs/steps/basicStep.js +2 -8
- package/lib/cjs/steps/basicSteps.js +1 -2
- package/lib/cjs/steps/fillStep.d.ts +0 -2
- package/lib/cjs/steps/fillStep.js +1 -3
- package/lib/cjs/steps/fillSteps.js +8 -5
- package/lib/cjs/steps/index.d.ts +1 -63
- package/lib/cjs/steps/index.js +0 -9
- package/lib/cjs/steps/navStep.d.ts +0 -3
- package/lib/cjs/steps/navStep.js +2 -6
- package/lib/cjs/steps/navSteps.js +1 -2
- package/lib/cjs/steps/step.d.ts +1 -4
- package/lib/cjs/steps/step.js +0 -1
- package/lib/cjs/switch/index.d.ts +1 -1
- package/lib/cjs/table/Body/index.d.ts +1 -1
- package/lib/cjs/table/ResizableTable.d.ts +1 -1
- package/lib/cjs/table/Table.d.ts +2 -2
- package/lib/cjs/table/TableHeaderRow.js +22 -14
- package/lib/cjs/table/index.d.ts +1 -1
- package/lib/cjs/table/interface.d.ts +5 -1
- package/lib/cjs/tagInput/index.d.ts +1 -1
- package/lib/cjs/timePicker/TimePicker.d.ts +1 -1
- package/lib/cjs/timePicker/index.d.ts +1 -1
- package/lib/cjs/timeline/index.d.ts +1 -2
- package/lib/cjs/timeline/index.js +2 -8
- package/lib/cjs/timeline/item.d.ts +0 -10
- package/lib/cjs/timeline/item.js +3 -42
- package/lib/cjs/typography/base.d.ts +1 -0
- package/lib/cjs/typography/base.js +28 -14
- package/lib/cjs/typography/title.d.ts +2 -0
- package/lib/cjs/typography/title.js +2 -1
- package/lib/es/anchor/index.d.ts +3 -2
- package/lib/es/anchor/link.js +12 -6
- package/lib/es/autoComplete/index.d.ts +1 -1
- package/lib/es/button/Button.d.ts +1 -1
- package/lib/es/button/buttonGroup.d.ts +1 -1
- package/lib/es/button/index.d.ts +1 -1
- package/lib/es/calendar/dayCalendar.d.ts +2 -1
- package/lib/es/calendar/dayCalendar.js +7 -2
- package/lib/es/calendar/index.d.ts +1 -0
- package/lib/es/calendar/index.js +1 -0
- package/lib/es/calendar/interface.d.ts +2 -0
- package/lib/es/calendar/monthCalendar.d.ts +1 -1
- package/lib/es/calendar/monthCalendar.js +12 -4
- package/lib/es/calendar/rangeCalendar.d.ts +3 -1
- package/lib/es/calendar/rangeCalendar.js +19 -9
- package/lib/es/calendar/weekCalendar.d.ts +3 -1
- package/lib/es/calendar/weekCalendar.js +19 -9
- package/lib/es/collapse/item.d.ts +0 -2
- package/lib/es/collapse/item.js +2 -3
- package/lib/es/datePicker/dateInput.d.ts +1 -1
- package/lib/es/datePicker/datePicker.d.ts +2 -2
- package/lib/es/datePicker/datePicker.js +12 -4
- package/lib/es/datePicker/monthsGrid.d.ts +1 -1
- package/lib/es/datePicker/monthsGrid.js +6 -2
- package/lib/es/datePicker/yearAndMonth.d.ts +3 -1
- package/lib/es/datePicker/yearAndMonth.js +4 -2
- package/lib/es/form/baseForm.d.ts +1 -1
- package/lib/es/form/field.d.ts +1 -1
- package/lib/es/input/index.d.ts +1 -1
- package/lib/es/input/inputGroup.d.ts +1 -1
- package/lib/es/input/textarea.d.ts +1 -1
- package/lib/es/modal/confirm.d.ts +17 -17
- package/lib/es/navigation/Footer.d.ts +3 -0
- package/lib/es/navigation/Footer.js +16 -7
- package/lib/es/navigation/Item.d.ts +0 -4
- package/lib/es/navigation/Item.js +10 -28
- package/lib/es/navigation/SubNav.d.ts +1 -18
- package/lib/es/navigation/SubNav.js +31 -72
- package/lib/es/navigation/index.d.ts +4 -1
- package/lib/es/navigation/index.js +7 -1
- package/lib/es/rating/index.d.ts +1 -1
- package/lib/es/rating/item.d.ts +1 -1
- package/lib/es/select/index.d.ts +2 -1
- package/lib/es/select/index.js +4 -0
- package/lib/es/skeleton/index.d.ts +0 -1
- package/lib/es/skeleton/index.js +0 -1
- package/lib/es/skeleton/item.d.ts +0 -1
- package/lib/es/skeleton/item.js +1 -6
- package/lib/es/steps/basicStep.d.ts +0 -3
- package/lib/es/steps/basicStep.js +2 -8
- package/lib/es/steps/basicSteps.js +1 -2
- package/lib/es/steps/fillStep.d.ts +0 -2
- package/lib/es/steps/fillStep.js +1 -3
- package/lib/es/steps/fillSteps.js +8 -6
- package/lib/es/steps/index.d.ts +1 -63
- package/lib/es/steps/index.js +0 -6
- package/lib/es/steps/navStep.d.ts +0 -3
- package/lib/es/steps/navStep.js +2 -6
- package/lib/es/steps/navSteps.js +1 -2
- package/lib/es/steps/step.d.ts +1 -4
- package/lib/es/steps/step.js +0 -1
- package/lib/es/switch/index.d.ts +1 -1
- package/lib/es/table/Body/index.d.ts +1 -1
- package/lib/es/table/ResizableTable.d.ts +1 -1
- package/lib/es/table/Table.d.ts +2 -2
- package/lib/es/table/TableHeaderRow.js +22 -14
- package/lib/es/table/index.d.ts +1 -1
- package/lib/es/table/interface.d.ts +5 -1
- package/lib/es/tagInput/index.d.ts +1 -1
- package/lib/es/timePicker/TimePicker.d.ts +1 -1
- package/lib/es/timePicker/index.d.ts +1 -1
- package/lib/es/timeline/index.d.ts +1 -2
- package/lib/es/timeline/index.js +2 -7
- package/lib/es/timeline/item.d.ts +0 -10
- package/lib/es/timeline/item.js +3 -41
- package/lib/es/typography/base.d.ts +1 -0
- package/lib/es/typography/base.js +28 -14
- package/lib/es/typography/title.d.ts +2 -0
- package/lib/es/typography/title.js +2 -1
- package/package.json +8 -9
- package/lib/cjs/timeline/context.d.ts +0 -8
- package/lib/cjs/timeline/context.js +0 -15
- package/lib/es/timeline/context.d.ts +0 -8
- package/lib/es/timeline/context.js +0 -3
package/lib/cjs/timeline/item.js
CHANGED
|
@@ -17,8 +17,6 @@ var _constants = require("@douyinfe/semi-foundation/lib/cjs/timeline/constants")
|
|
|
17
17
|
|
|
18
18
|
require("@douyinfe/semi-foundation/lib/cjs/timeline/timeline.css");
|
|
19
19
|
|
|
20
|
-
var _context = _interopRequireDefault(require("./context"));
|
|
21
|
-
|
|
22
20
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
21
|
|
|
24
22
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -28,39 +26,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
28
26
|
const prefixCls = _constants.cssClasses.ITEM;
|
|
29
27
|
|
|
30
28
|
class Item extends _react.PureComponent {
|
|
31
|
-
constructor() {
|
|
32
|
-
super(...arguments); // getC2DCls is used in C2D, it does not work in non-C2D scenes
|
|
33
|
-
|
|
34
|
-
this.getC2DCls = () => {
|
|
35
|
-
let c2dCls = '';
|
|
36
|
-
const {
|
|
37
|
-
mode,
|
|
38
|
-
odd,
|
|
39
|
-
usedInC2D
|
|
40
|
-
} = this.props;
|
|
41
|
-
|
|
42
|
-
if (usedInC2D) {
|
|
43
|
-
switch (mode) {
|
|
44
|
-
case 'center':
|
|
45
|
-
c2dCls = `${prefixCls}-center ${prefixCls}-left`;
|
|
46
|
-
break;
|
|
47
|
-
|
|
48
|
-
case 'alternate':
|
|
49
|
-
c2dCls = `${prefixCls}-alternate ${prefixCls}-${odd ? 'left' : 'right'}`;
|
|
50
|
-
break;
|
|
51
|
-
|
|
52
|
-
default:
|
|
53
|
-
c2dCls = `${prefixCls}-${mode} ${mode === 'right' ? `${prefixCls}-mode-right` : ''}`;
|
|
54
|
-
break;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
c2dCls += ` ${prefixCls}-not-last-child`;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return c2dCls;
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
|
|
64
29
|
render() {
|
|
65
30
|
const {
|
|
66
31
|
className,
|
|
@@ -73,7 +38,7 @@ class Item extends _react.PureComponent {
|
|
|
73
38
|
extra,
|
|
74
39
|
onClick
|
|
75
40
|
} = this.props;
|
|
76
|
-
const itemCls = (0, _classnames.default)(prefixCls, className
|
|
41
|
+
const itemCls = (0, _classnames.default)(prefixCls, className);
|
|
77
42
|
const dotCls = (0, _classnames.default)({
|
|
78
43
|
[`${prefixCls}-head`]: true,
|
|
79
44
|
[`${prefixCls}-head-custom`]: dot,
|
|
@@ -106,7 +71,6 @@ class Item extends _react.PureComponent {
|
|
|
106
71
|
}
|
|
107
72
|
|
|
108
73
|
exports.default = Item;
|
|
109
|
-
Item.contextType = _context.default;
|
|
110
74
|
Item.propTypes = {
|
|
111
75
|
color: _propTypes.default.string,
|
|
112
76
|
time: _propTypes.default.node,
|
|
@@ -116,13 +80,10 @@ Item.propTypes = {
|
|
|
116
80
|
position: _propTypes.default.oneOf(_constants.strings.ITEM_POS),
|
|
117
81
|
className: _propTypes.default.string,
|
|
118
82
|
style: _propTypes.default.object,
|
|
119
|
-
onClick: _propTypes.default.func
|
|
120
|
-
mode: _propTypes.default.string,
|
|
121
|
-
lastChild: _propTypes.default.bool
|
|
83
|
+
onClick: _propTypes.default.func
|
|
122
84
|
};
|
|
123
85
|
Item.defaultProps = {
|
|
124
86
|
type: 'default',
|
|
125
87
|
time: '',
|
|
126
88
|
onClick: _noop2.default
|
|
127
|
-
};
|
|
128
|
-
Item.elementType = 'Timeline.Item';
|
|
89
|
+
};
|
|
@@ -107,7 +107,7 @@ class Base extends _react.Component {
|
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
this.rafId = window.requestAnimationFrame(this.getEllipsisState.bind(this));
|
|
110
|
-
}; // if
|
|
110
|
+
}; // if it needs to use js overflowed:
|
|
111
111
|
// 1. text is expandable 2. expandText need to be shown 3. has extra operation 4. text need to ellipse from mid
|
|
112
112
|
|
|
113
113
|
|
|
@@ -445,10 +445,7 @@ class Base extends _react.Component {
|
|
|
445
445
|
const {
|
|
446
446
|
expanded
|
|
447
447
|
} = this.state;
|
|
448
|
-
const canUseCSSEllipsis = this.canUseCSSEllipsis(); //
|
|
449
|
-
// both css truncation and js truncation should throw a warning
|
|
450
|
-
|
|
451
|
-
(0, _warning.default)('children' in this.props && typeof children !== 'string', "[Semi Typography] 'Only children with pure text could be used with ellipsis at this moment."); // If children is null, css/js truncated flag isTruncate is false
|
|
448
|
+
const canUseCSSEllipsis = this.canUseCSSEllipsis(); // If children is null, css/js truncated flag isTruncate is false
|
|
452
449
|
|
|
453
450
|
if ((0, _isNull2.default)(children)) {
|
|
454
451
|
this.setState({
|
|
@@ -456,7 +453,11 @@ class Base extends _react.Component {
|
|
|
456
453
|
isOverflowed: false
|
|
457
454
|
});
|
|
458
455
|
return undefined;
|
|
459
|
-
}
|
|
456
|
+
} // Currently only text truncation is supported, if there is non-text,
|
|
457
|
+
// both css truncation and js truncation should throw a warning
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
(0, _warning.default)('children' in this.props && typeof children !== 'string', "[Semi Typography] Only children with pure text could be used with ellipsis at this moment.");
|
|
460
461
|
|
|
461
462
|
if (!rows || rows < 0 || expanded) {
|
|
462
463
|
return undefined;
|
|
@@ -565,9 +566,10 @@ class Base extends _react.Component {
|
|
|
565
566
|
icon,
|
|
566
567
|
size,
|
|
567
568
|
link,
|
|
568
|
-
heading
|
|
569
|
+
heading,
|
|
570
|
+
weight
|
|
569
571
|
} = _a,
|
|
570
|
-
rest = __rest(_a, ["component", "children", "className", "type", "spacing", "disabled", "style", "ellipsis", "icon", "size", "link", "heading"]);
|
|
572
|
+
rest = __rest(_a, ["component", "children", "className", "type", "spacing", "disabled", "style", "ellipsis", "icon", "size", "link", "heading", "weight"]);
|
|
571
573
|
|
|
572
574
|
const textProps = (0, _omit2.default)(rest, ['strong', 'editable', 'mark', 'copyable', 'underline', 'code', // 'link',
|
|
573
575
|
'delete']);
|
|
@@ -586,6 +588,7 @@ class Base extends _react.Component {
|
|
|
586
588
|
className: linkCls
|
|
587
589
|
}, textNode) : textNode));
|
|
588
590
|
const hTagReg = /^h[1-6]$/;
|
|
591
|
+
const isHeader = (0, _isString2.default)(heading) && hTagReg.test(heading);
|
|
589
592
|
const wrapperCls = (0, _classnames.default)(className, ellipsisCls, {
|
|
590
593
|
// [`${prefixCls}-primary`]: !type || type === 'primary',
|
|
591
594
|
[`${prefixCls}-${type}`]: type && !link,
|
|
@@ -593,11 +596,15 @@ class Base extends _react.Component {
|
|
|
593
596
|
[`${prefixCls}-link`]: link,
|
|
594
597
|
[`${prefixCls}-disabled`]: disabled,
|
|
595
598
|
[`${prefixCls}-${spacing}`]: spacing,
|
|
596
|
-
[`${prefixCls}-${heading}`]:
|
|
599
|
+
[`${prefixCls}-${heading}`]: isHeader,
|
|
600
|
+
[`${prefixCls}-${heading}-weight-${weight}`]: isHeader && isNaN(Number(weight))
|
|
597
601
|
});
|
|
602
|
+
const textStyle = Object.assign(Object.assign({}, isNaN(Number(weight)) ? {} : {
|
|
603
|
+
fontWeight: weight
|
|
604
|
+
}), style);
|
|
598
605
|
return /*#__PURE__*/_react.default.createElement(_typography.default, Object.assign({
|
|
599
606
|
className: wrapperCls,
|
|
600
|
-
style: Object.assign(Object.assign({},
|
|
607
|
+
style: Object.assign(Object.assign({}, textStyle), ellipsisStyle),
|
|
601
608
|
component: component,
|
|
602
609
|
forwardRef: this.wrapperRef
|
|
603
610
|
}, textProps), textNode, this.renderOperations());
|
|
@@ -633,15 +640,22 @@ class Base extends _react.Component {
|
|
|
633
640
|
}
|
|
634
641
|
|
|
635
642
|
render() {
|
|
636
|
-
|
|
637
|
-
onResize: this.onResize
|
|
638
|
-
}, /*#__PURE__*/_react.default.createElement(_localeConsumer.default, {
|
|
643
|
+
const content = /*#__PURE__*/_react.default.createElement(_localeConsumer.default, {
|
|
639
644
|
componentName: "Typography"
|
|
640
645
|
}, locale => {
|
|
641
646
|
this.expandStr = locale.expand;
|
|
642
647
|
this.collapseStr = locale.collapse;
|
|
643
648
|
return this.renderTipWrapper();
|
|
644
|
-
})
|
|
649
|
+
});
|
|
650
|
+
|
|
651
|
+
if (this.props.ellipsis) {
|
|
652
|
+
return /*#__PURE__*/_react.default.createElement(_resizeObserver.default, {
|
|
653
|
+
onResize: this.onResize,
|
|
654
|
+
observeParent: true
|
|
655
|
+
}, content);
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
return content;
|
|
645
659
|
}
|
|
646
660
|
|
|
647
661
|
}
|
|
@@ -26,6 +26,7 @@ export interface TitleProps extends Omit<React.HTMLAttributes<HTMLHeadingElement
|
|
|
26
26
|
style?: React.CSSProperties;
|
|
27
27
|
type?: TypographyBaseType;
|
|
28
28
|
underline?: boolean;
|
|
29
|
+
weight?: ArrayElement<typeof strings.WEIGHT> | number;
|
|
29
30
|
}
|
|
30
31
|
export default class Title extends PureComponent<TitleProps> {
|
|
31
32
|
static propTypes: {
|
|
@@ -42,6 +43,7 @@ export default class Title extends PureComponent<TitleProps> {
|
|
|
42
43
|
style: PropTypes.Requireable<object>;
|
|
43
44
|
className: PropTypes.Requireable<string>;
|
|
44
45
|
component: PropTypes.Requireable<string>;
|
|
46
|
+
weight: PropTypes.Requireable<NonNullable<number | "default" | "bold" | "medium" | "light" | "regular" | "semibold">>;
|
|
45
47
|
};
|
|
46
48
|
static defaultProps: {
|
|
47
49
|
copyable: boolean;
|
|
@@ -63,7 +63,8 @@ Title.propTypes = {
|
|
|
63
63
|
heading: _propTypes.default.oneOf(_constants.strings.HEADING),
|
|
64
64
|
style: _propTypes.default.object,
|
|
65
65
|
className: _propTypes.default.string,
|
|
66
|
-
component: _propTypes.default.string
|
|
66
|
+
component: _propTypes.default.string,
|
|
67
|
+
weight: _propTypes.default.oneOfType([_propTypes.default.oneOf(_constants.strings.WEIGHT), _propTypes.default.number])
|
|
67
68
|
};
|
|
68
69
|
Title.defaultProps = {
|
|
69
70
|
copyable: false,
|
package/lib/es/anchor/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import Link from './link';
|
|
|
7
7
|
import '@douyinfe/semi-foundation/lib/es/anchor/anchor.css';
|
|
8
8
|
import { ArrayElement } from '../_base/base';
|
|
9
9
|
import { ContextValue } from '../configProvider/context';
|
|
10
|
+
import { ShowTooltip } from '../typography/interface';
|
|
10
11
|
export type { LinkProps } from './link';
|
|
11
12
|
export interface AnchorProps {
|
|
12
13
|
autoCollapse?: boolean;
|
|
@@ -20,7 +21,7 @@ export interface AnchorProps {
|
|
|
20
21
|
position?: ArrayElement<typeof strings.POSITION_SET>;
|
|
21
22
|
railTheme?: ArrayElement<typeof strings.SLIDE_COLOR>;
|
|
22
23
|
scrollMotion?: boolean;
|
|
23
|
-
showTooltip?: boolean;
|
|
24
|
+
showTooltip?: boolean | ShowTooltip;
|
|
24
25
|
size?: ArrayElement<typeof strings.SIZE>;
|
|
25
26
|
style?: React.CSSProperties;
|
|
26
27
|
targetOffset?: number;
|
|
@@ -39,7 +40,7 @@ declare class Anchor extends BaseComponent<AnchorProps, AnchorState> {
|
|
|
39
40
|
static contextType: React.Context<ContextValue>;
|
|
40
41
|
static Link: typeof Link;
|
|
41
42
|
static PropTypes: {
|
|
42
|
-
size: PropTypes.Requireable<"
|
|
43
|
+
size: PropTypes.Requireable<"default" | "small">;
|
|
43
44
|
railTheme: PropTypes.Requireable<"primary" | "tertiary" | "muted">;
|
|
44
45
|
className: PropTypes.Requireable<string>;
|
|
45
46
|
style: PropTypes.Requireable<object>;
|
package/lib/es/anchor/link.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _isObject from "lodash/isObject";
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import cls from 'classnames';
|
|
3
4
|
import PropTypes from 'prop-types';
|
|
@@ -30,17 +31,22 @@ export default class Link extends BaseComponent {
|
|
|
30
31
|
[`${prefixCls}-link-tooltip-active`]: active,
|
|
31
32
|
[`${prefixCls}-link-tooltip-disabled`]: disabled
|
|
32
33
|
});
|
|
33
|
-
const toolTipOpt = position ? {
|
|
34
|
-
position
|
|
35
|
-
} : {};
|
|
36
34
|
|
|
37
35
|
if (showTooltip) {
|
|
36
|
+
const showTooltipObj = _isObject(showTooltip) ? Object.assign({
|
|
37
|
+
opts: {}
|
|
38
|
+
}, showTooltip) : {
|
|
39
|
+
opts: {}
|
|
40
|
+
}; // The position can be set through showTooltip, here it is compatible with the position API
|
|
41
|
+
|
|
42
|
+
if (position) {
|
|
43
|
+
showTooltipObj.opts['position'] = position;
|
|
44
|
+
}
|
|
45
|
+
|
|
38
46
|
return /*#__PURE__*/React.createElement(Typography.Text, {
|
|
39
47
|
size: size === 'default' ? 'normal' : 'small',
|
|
40
48
|
ellipsis: {
|
|
41
|
-
showTooltip:
|
|
42
|
-
opts: Object.assign({}, toolTipOpt)
|
|
43
|
-
}
|
|
49
|
+
showTooltip: showTooltipObj
|
|
44
50
|
},
|
|
45
51
|
type: 'tertiary',
|
|
46
52
|
className: linkTitleCls
|
|
@@ -125,7 +125,7 @@ declare class AutoComplete<T extends AutoCompleteItems> extends BaseComponent<Au
|
|
|
125
125
|
renderSelectedItem: PropTypes.Requireable<(...args: any[]) => any>;
|
|
126
126
|
suffix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
127
127
|
showClear: PropTypes.Requireable<boolean>;
|
|
128
|
-
size: PropTypes.Requireable<"
|
|
128
|
+
size: PropTypes.Requireable<"default" | "small" | "large">;
|
|
129
129
|
style: PropTypes.Requireable<object>;
|
|
130
130
|
stopPropagation: PropTypes.Requireable<NonNullable<string | boolean>>;
|
|
131
131
|
maxHeight: PropTypes.Requireable<NonNullable<string | number>>;
|
|
@@ -47,7 +47,7 @@ export default class Button extends PureComponent<ButtonProps> {
|
|
|
47
47
|
disabled: PropTypes.Requireable<boolean>;
|
|
48
48
|
prefixCls: PropTypes.Requireable<string>;
|
|
49
49
|
style: PropTypes.Requireable<object>;
|
|
50
|
-
size: PropTypes.Requireable<"
|
|
50
|
+
size: PropTypes.Requireable<"default" | "small" | "large">;
|
|
51
51
|
type: PropTypes.Requireable<"warning" | "primary" | "tertiary" | "secondary" | "danger">;
|
|
52
52
|
block: PropTypes.Requireable<boolean>;
|
|
53
53
|
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
@@ -18,7 +18,7 @@ export default class ButtonGroup extends BaseComponent<ButtonGroupProps> {
|
|
|
18
18
|
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
19
19
|
disabled: PropTypes.Requireable<boolean>;
|
|
20
20
|
type: PropTypes.Requireable<string>;
|
|
21
|
-
size: PropTypes.Requireable<"
|
|
21
|
+
size: PropTypes.Requireable<"default" | "small" | "large">;
|
|
22
22
|
theme: PropTypes.Requireable<"solid" | "light" | "borderless">;
|
|
23
23
|
'aria-label': PropTypes.Requireable<string>;
|
|
24
24
|
};
|
package/lib/es/button/index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ declare class Button extends React.PureComponent<ButtonProps> {
|
|
|
22
22
|
onMouseEnter: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
23
23
|
onMouseLeave: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
24
24
|
disabled: import("prop-types").Requireable<boolean>;
|
|
25
|
-
size: import("prop-types").Requireable<"
|
|
25
|
+
size: import("prop-types").Requireable<"default" | "small" | "large">;
|
|
26
26
|
type: import("prop-types").Requireable<"warning" | "primary" | "tertiary" | "secondary" | "danger">;
|
|
27
27
|
block: import("prop-types").Requireable<boolean>;
|
|
28
28
|
onClick: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
@@ -26,6 +26,7 @@ export default class DayCalendar extends BaseComponent<DayCalendarProps, DayCale
|
|
|
26
26
|
style: PropTypes.Requireable<object>;
|
|
27
27
|
className: PropTypes.Requireable<string>;
|
|
28
28
|
dateGridRender: PropTypes.Requireable<(...args: any[]) => any>;
|
|
29
|
+
allDayEventsRender: PropTypes.Requireable<(...args: any[]) => any>;
|
|
29
30
|
};
|
|
30
31
|
static defaultProps: {
|
|
31
32
|
events: import("@douyinfe/semi-foundation/lib/es/calendar/foundation").EventObject[];
|
|
@@ -43,7 +44,7 @@ export default class DayCalendar extends BaseComponent<DayCalendarProps, DayCale
|
|
|
43
44
|
componentDidUpdate(prevProps: DayCalendarProps, prevState: DayCalendarState): void;
|
|
44
45
|
componentWillUnmount(): void;
|
|
45
46
|
checkWeekend: (val: Date) => boolean;
|
|
46
|
-
renderAllDayEvents: (events: ParsedEventsWithArray['allDay']) => JSX.Element[];
|
|
47
|
+
renderAllDayEvents: (events: ParsedEventsWithArray['allDay']) => string | number | boolean | React.ReactElement<any, string | React.JSXElementConstructor<any>> | React.ReactFragment | JSX.Element[];
|
|
47
48
|
handleClick: (e: React.MouseEvent, val: [Date, number, number, number]) => void;
|
|
48
49
|
renderAllDay: (events: ParsedEventsWithArray['allDay']) => JSX.Element;
|
|
49
50
|
render(): JSX.Element;
|
|
@@ -18,6 +18,10 @@ export default class DayCalendar extends BaseComponent {
|
|
|
18
18
|
this.checkWeekend = val => this.foundation.checkWeekend(val);
|
|
19
19
|
|
|
20
20
|
this.renderAllDayEvents = events => {
|
|
21
|
+
if (this.props.allDayEventsRender) {
|
|
22
|
+
return this.props.allDayEventsRender(this.props.events);
|
|
23
|
+
}
|
|
24
|
+
|
|
21
25
|
const list = events.map((event, ind) => {
|
|
22
26
|
const {
|
|
23
27
|
children,
|
|
@@ -110,7 +114,7 @@ export default class DayCalendar extends BaseComponent {
|
|
|
110
114
|
const prevEventKeys = prevState.cachedKeys;
|
|
111
115
|
const nowEventKeys = this.props.events.map(event => event.key);
|
|
112
116
|
|
|
113
|
-
if (!_isEqual(prevEventKeys, nowEventKeys)) {
|
|
117
|
+
if (!_isEqual(prevEventKeys, nowEventKeys) || !_isEqual(prevProps.displayValue, this.props.displayValue)) {
|
|
114
118
|
this.foundation.parseDailyEvents();
|
|
115
119
|
}
|
|
116
120
|
}
|
|
@@ -183,7 +187,8 @@ DayCalendar.propTypes = {
|
|
|
183
187
|
height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
184
188
|
style: PropTypes.object,
|
|
185
189
|
className: PropTypes.string,
|
|
186
|
-
dateGridRender: PropTypes.func
|
|
190
|
+
dateGridRender: PropTypes.func,
|
|
191
|
+
allDayEventsRender: PropTypes.func
|
|
187
192
|
};
|
|
188
193
|
DayCalendar.defaultProps = {
|
|
189
194
|
events: [],
|
|
@@ -22,6 +22,7 @@ declare class Calendar extends BaseComponent<CalendarProps, {}> {
|
|
|
22
22
|
scrollTop: PropTypes.Requireable<number>;
|
|
23
23
|
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
24
24
|
renderTimeDisplay: PropTypes.Requireable<(...args: any[]) => any>;
|
|
25
|
+
renderDateDisplay: PropTypes.Requireable<(...args: any[]) => any>;
|
|
25
26
|
markWeekend: PropTypes.Requireable<boolean>;
|
|
26
27
|
width: PropTypes.Requireable<NonNullable<string | number>>;
|
|
27
28
|
height: PropTypes.Requireable<NonNullable<string | number>>;
|
package/lib/es/calendar/index.js
CHANGED
|
@@ -54,6 +54,7 @@ Calendar.propTypes = {
|
|
|
54
54
|
scrollTop: PropTypes.number,
|
|
55
55
|
onClick: PropTypes.func,
|
|
56
56
|
renderTimeDisplay: PropTypes.func,
|
|
57
|
+
renderDateDisplay: PropTypes.func,
|
|
57
58
|
markWeekend: PropTypes.bool,
|
|
58
59
|
width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
59
60
|
height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
@@ -18,7 +18,9 @@ export interface CalendarProps extends BaseProps {
|
|
|
18
18
|
markWeekend?: boolean;
|
|
19
19
|
width?: number | string;
|
|
20
20
|
height?: number | string;
|
|
21
|
+
renderDateDisplay?: (date: Date) => React.ReactNode;
|
|
21
22
|
dateGridRender?: (dateString?: string, date?: Date) => React.ReactNode;
|
|
23
|
+
allDayEventsRender?: (events: EventObject[]) => React.ReactNode;
|
|
22
24
|
}
|
|
23
25
|
export declare type DayCalendarProps = Omit<CalendarProps, 'mode'>;
|
|
24
26
|
declare type DayCalendarPropsKeys = 'events' | 'displayValue' | 'showCurrTime' | 'mode' | 'dateGridRender';
|
|
@@ -51,7 +51,7 @@ export default class monthCalendar extends BaseComponent<MonthCalendarProps, Mon
|
|
|
51
51
|
renderHeader: (dateFnsLocale: Locale['dateFnsLocale']) => JSX.Element;
|
|
52
52
|
renderEvents: (events: ParsedRangeEvent[]) => JSX.Element[];
|
|
53
53
|
renderCollapsed: (events: MonthlyEvent['day'][number], itemInfo: DateObj, listCls: string, month: string) => JSX.Element;
|
|
54
|
-
formatDayString: (month: string, date: string) => JSX.Element;
|
|
54
|
+
formatDayString: (dateObj: Date, month: string, date: string) => string | number | boolean | React.ReactFragment | JSX.Element;
|
|
55
55
|
renderCusDateGrid: (date: Date) => React.ReactNode;
|
|
56
56
|
renderWeekRow: (index: number | string, weekDay: MonthData[number], events?: MonthlyEvent) => JSX.Element;
|
|
57
57
|
renderMonthGrid: () => JSX.Element;
|
|
@@ -173,10 +173,18 @@ export default class monthCalendar extends BaseComponent {
|
|
|
173
173
|
key: date,
|
|
174
174
|
className: listCls,
|
|
175
175
|
onClick: e => this.handleClick(e, [date])
|
|
176
|
-
}, this.formatDayString(month, dayString), shouldRenderCard ? text : null, this.renderCusDateGrid(date)));
|
|
176
|
+
}, this.formatDayString(date, month, dayString), shouldRenderCard ? text : null, this.renderCusDateGrid(date)));
|
|
177
177
|
};
|
|
178
178
|
|
|
179
|
-
this.formatDayString = (month, date) => {
|
|
179
|
+
this.formatDayString = (dateObj, month, date) => {
|
|
180
|
+
const {
|
|
181
|
+
renderDateDisplay
|
|
182
|
+
} = this.props;
|
|
183
|
+
|
|
184
|
+
if (renderDateDisplay) {
|
|
185
|
+
return renderDateDisplay(dateObj);
|
|
186
|
+
}
|
|
187
|
+
|
|
180
188
|
if (date === '1') {
|
|
181
189
|
return /*#__PURE__*/React.createElement(LocaleConsumer, {
|
|
182
190
|
componentName: "Calendar"
|
|
@@ -253,7 +261,7 @@ export default class monthCalendar extends BaseComponent {
|
|
|
253
261
|
key: `${date}-weeksk`,
|
|
254
262
|
className: listCls,
|
|
255
263
|
onClick: e => _this.handleClick(e, [date])
|
|
256
|
-
}, _this.formatDayString(month, dayString), _this.renderCusDateGrid(date));
|
|
264
|
+
}, _this.formatDayString(date, month, dayString), _this.renderCusDateGrid(date));
|
|
257
265
|
|
|
258
266
|
if (!shouldRenderCollapsed) {
|
|
259
267
|
return inner;
|
|
@@ -373,7 +381,7 @@ export default class monthCalendar extends BaseComponent {
|
|
|
373
381
|
}
|
|
374
382
|
}
|
|
375
383
|
|
|
376
|
-
if (!_isEqual(prevEventKeys, nowEventKeys) || itemLimitUpdate) {
|
|
384
|
+
if (!_isEqual(prevEventKeys, nowEventKeys) || itemLimitUpdate || !_isEqual(prevProps.displayValue, this.props.displayValue)) {
|
|
377
385
|
this.foundation.parseMonthlyEvents(itemLimit || this.props.events);
|
|
378
386
|
}
|
|
379
387
|
}
|
|
@@ -20,7 +20,9 @@ export default class RangeCalendar extends BaseComponent<RangeCalendarProps, Ran
|
|
|
20
20
|
markWeekend: PropTypes.Requireable<boolean>;
|
|
21
21
|
scrollTop: PropTypes.Requireable<number>;
|
|
22
22
|
renderTimeDisplay: PropTypes.Requireable<(...args: any[]) => any>;
|
|
23
|
+
renderDateDisplay: PropTypes.Requireable<(...args: any[]) => any>;
|
|
23
24
|
dateGridRender: PropTypes.Requireable<(...args: any[]) => any>;
|
|
25
|
+
allDayEventsRender: PropTypes.Requireable<(...args: any[]) => any>;
|
|
24
26
|
width: PropTypes.Requireable<NonNullable<string | number>>;
|
|
25
27
|
height: PropTypes.Requireable<NonNullable<string | number>>;
|
|
26
28
|
style: PropTypes.Requireable<object>;
|
|
@@ -45,7 +47,7 @@ export default class RangeCalendar extends BaseComponent<RangeCalendarProps, Ran
|
|
|
45
47
|
handleClick: (e: React.MouseEvent, val: [Date, number, number, number]) => void;
|
|
46
48
|
renderDayGrid: () => JSX.Element[];
|
|
47
49
|
renderHeader: (dateFnsLocale: Locale['dateFnsLocale']) => JSX.Element;
|
|
48
|
-
renderAllDayEvents: (events: Array<ParsedRangeEvent>) => JSX.Element[];
|
|
50
|
+
renderAllDayEvents: (events: Array<ParsedRangeEvent>) => string | number | boolean | React.ReactElement<any, string | React.JSXElementConstructor<any>> | React.ReactFragment | JSX.Element[];
|
|
49
51
|
renderAllDay: (locale: Locale['Calendar']) => JSX.Element;
|
|
50
52
|
render(): JSX.Element;
|
|
51
53
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _isEqual from "lodash/isEqual";
|
|
2
|
-
import React from 'react';
|
|
2
|
+
import React, { Fragment } from 'react';
|
|
3
3
|
import cls from 'classnames';
|
|
4
4
|
import PropTypes from 'prop-types'; // eslint-disable-next-line max-len
|
|
5
5
|
|
|
@@ -65,7 +65,8 @@ export default class RangeCalendar extends BaseComponent {
|
|
|
65
65
|
this.renderHeader = dateFnsLocale => {
|
|
66
66
|
const {
|
|
67
67
|
markWeekend,
|
|
68
|
-
range
|
|
68
|
+
range,
|
|
69
|
+
renderDateDisplay
|
|
69
70
|
} = this.props;
|
|
70
71
|
const {
|
|
71
72
|
month,
|
|
@@ -91,16 +92,21 @@ export default class RangeCalendar extends BaseComponent {
|
|
|
91
92
|
[`${cssClasses.PREFIX}-today`]: isToday,
|
|
92
93
|
[`${cssClasses.PREFIX}-weekend`]: markWeekend && day.isWeekend
|
|
93
94
|
});
|
|
95
|
+
const dateContent = renderDateDisplay ? renderDateDisplay(date) : /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("span", {
|
|
96
|
+
className: `${cssClasses.PREFIX}-today-date`
|
|
97
|
+
}, dayString), /*#__PURE__*/React.createElement("span", null, weekday));
|
|
94
98
|
return /*#__PURE__*/React.createElement("li", {
|
|
95
99
|
key: `${date.toString()}-weekheader`,
|
|
96
100
|
className: listCls
|
|
97
|
-
},
|
|
98
|
-
className: `${cssClasses.PREFIX}-today-date`
|
|
99
|
-
}, dayString), /*#__PURE__*/React.createElement("span", null, weekday));
|
|
101
|
+
}, dateContent);
|
|
100
102
|
}))));
|
|
101
103
|
};
|
|
102
104
|
|
|
103
105
|
this.renderAllDayEvents = events => {
|
|
106
|
+
if (this.props.allDayEventsRender) {
|
|
107
|
+
return this.props.allDayEventsRender(this.props.events);
|
|
108
|
+
}
|
|
109
|
+
|
|
104
110
|
const list = events.map((event, ind) => {
|
|
105
111
|
const {
|
|
106
112
|
leftPos,
|
|
@@ -124,13 +130,15 @@ export default class RangeCalendar extends BaseComponent {
|
|
|
124
130
|
};
|
|
125
131
|
|
|
126
132
|
this.renderAllDay = locale => {
|
|
133
|
+
const {
|
|
134
|
+
allDayEventsRender
|
|
135
|
+
} = this.props;
|
|
127
136
|
const {
|
|
128
137
|
allDay
|
|
129
138
|
} = this.state.parsedEvents;
|
|
130
139
|
const parsed = this.foundation.parseRangeAllDayEvents(allDay);
|
|
131
|
-
const
|
|
132
|
-
|
|
133
|
-
height: `${maxRowHeight}em`
|
|
140
|
+
const style = allDayEventsRender ? null : {
|
|
141
|
+
height: `${calcRowHeight(parsed)}em`
|
|
134
142
|
};
|
|
135
143
|
const {
|
|
136
144
|
markWeekend
|
|
@@ -214,7 +222,7 @@ export default class RangeCalendar extends BaseComponent {
|
|
|
214
222
|
const prevEventKeys = prevState.cachedKeys;
|
|
215
223
|
const nowEventKeys = this.props.events.map(event => event.key);
|
|
216
224
|
|
|
217
|
-
if (!_isEqual(prevEventKeys, nowEventKeys)) {
|
|
225
|
+
if (!_isEqual(prevEventKeys, nowEventKeys) || !_isEqual(prevProps.range, this.props.range)) {
|
|
218
226
|
this.foundation.parseRangeEvents();
|
|
219
227
|
}
|
|
220
228
|
}
|
|
@@ -267,7 +275,9 @@ RangeCalendar.propTypes = {
|
|
|
267
275
|
markWeekend: PropTypes.bool,
|
|
268
276
|
scrollTop: PropTypes.number,
|
|
269
277
|
renderTimeDisplay: PropTypes.func,
|
|
278
|
+
renderDateDisplay: PropTypes.func,
|
|
270
279
|
dateGridRender: PropTypes.func,
|
|
280
|
+
allDayEventsRender: PropTypes.func,
|
|
271
281
|
width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
272
282
|
height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
273
283
|
style: PropTypes.object,
|
|
@@ -20,7 +20,9 @@ export default class WeekCalendar extends BaseComponent<WeekCalendarProps, WeekC
|
|
|
20
20
|
markWeekend: PropTypes.Requireable<boolean>;
|
|
21
21
|
scrollTop: PropTypes.Requireable<number>;
|
|
22
22
|
renderTimeDisplay: PropTypes.Requireable<(...args: any[]) => any>;
|
|
23
|
+
renderDateDisplay: PropTypes.Requireable<(...args: any[]) => any>;
|
|
23
24
|
dateGridRender: PropTypes.Requireable<(...args: any[]) => any>;
|
|
25
|
+
allDayEventsRender: PropTypes.Requireable<(...args: any[]) => any>;
|
|
24
26
|
width: PropTypes.Requireable<NonNullable<string | number>>;
|
|
25
27
|
height: PropTypes.Requireable<NonNullable<string | number>>;
|
|
26
28
|
style: PropTypes.Requireable<object>;
|
|
@@ -46,7 +48,7 @@ export default class WeekCalendar extends BaseComponent<WeekCalendarProps, WeekC
|
|
|
46
48
|
handleClick: (e: React.MouseEvent, val: [Date, number, number, number]) => void;
|
|
47
49
|
renderDayGrid: () => JSX.Element[];
|
|
48
50
|
renderHeader: (dateFnsLocale: any) => JSX.Element;
|
|
49
|
-
renderAllDayEvents: (events: ParsedRangeEvent[]) => JSX.Element[];
|
|
51
|
+
renderAllDayEvents: (events: ParsedRangeEvent[]) => string | number | boolean | React.ReactElement<any, string | React.JSXElementConstructor<any>> | React.ReactFragment | JSX.Element[];
|
|
50
52
|
renderAllDay: (locale: Locale['Calendar']) => JSX.Element;
|
|
51
53
|
render(): JSX.Element;
|
|
52
54
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _isEqual from "lodash/isEqual";
|
|
2
|
-
import React from 'react';
|
|
2
|
+
import React, { Fragment } from 'react';
|
|
3
3
|
import cls from 'classnames';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import CalendarFoundation from '@douyinfe/semi-foundation/lib/es/calendar/foundation';
|
|
@@ -66,7 +66,8 @@ export default class WeekCalendar extends BaseComponent {
|
|
|
66
66
|
this.renderHeader = dateFnsLocale => {
|
|
67
67
|
const {
|
|
68
68
|
markWeekend,
|
|
69
|
-
displayValue
|
|
69
|
+
displayValue,
|
|
70
|
+
renderDateDisplay
|
|
70
71
|
} = this.props;
|
|
71
72
|
const {
|
|
72
73
|
month,
|
|
@@ -92,16 +93,21 @@ export default class WeekCalendar extends BaseComponent {
|
|
|
92
93
|
[`${cssClasses.PREFIX}-today`]: isToday,
|
|
93
94
|
[`${cssClasses.PREFIX}-weekend`]: markWeekend && day.isWeekend
|
|
94
95
|
});
|
|
96
|
+
const dateContent = renderDateDisplay ? renderDateDisplay(date) : /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("span", {
|
|
97
|
+
className: `${cssClasses.PREFIX}-today-date`
|
|
98
|
+
}, dayString), /*#__PURE__*/React.createElement("span", null, weekday));
|
|
95
99
|
return /*#__PURE__*/React.createElement("li", {
|
|
96
100
|
key: `${date.toString()}-weekheader`,
|
|
97
101
|
className: listCls
|
|
98
|
-
},
|
|
99
|
-
className: `${cssClasses.PREFIX}-today-date`
|
|
100
|
-
}, dayString), /*#__PURE__*/React.createElement("span", null, weekday));
|
|
102
|
+
}, dateContent);
|
|
101
103
|
}))));
|
|
102
104
|
};
|
|
103
105
|
|
|
104
106
|
this.renderAllDayEvents = events => {
|
|
107
|
+
if (this.props.allDayEventsRender) {
|
|
108
|
+
return this.props.allDayEventsRender(this.props.events);
|
|
109
|
+
}
|
|
110
|
+
|
|
105
111
|
const list = events.map((event, ind) => {
|
|
106
112
|
const {
|
|
107
113
|
leftPos,
|
|
@@ -126,13 +132,15 @@ export default class WeekCalendar extends BaseComponent {
|
|
|
126
132
|
};
|
|
127
133
|
|
|
128
134
|
this.renderAllDay = locale => {
|
|
135
|
+
const {
|
|
136
|
+
allDayEventsRender
|
|
137
|
+
} = this.props;
|
|
129
138
|
const {
|
|
130
139
|
allDay
|
|
131
140
|
} = this.state.parsedEvents;
|
|
132
141
|
const parsed = this.foundation.parseWeeklyAllDayEvents(allDay);
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
height: `${maxRowHeight}em`
|
|
142
|
+
const style = allDayEventsRender ? null : {
|
|
143
|
+
height: `${calcRowHeight(parsed)}em`
|
|
136
144
|
};
|
|
137
145
|
const {
|
|
138
146
|
markWeekend
|
|
@@ -216,7 +224,7 @@ export default class WeekCalendar extends BaseComponent {
|
|
|
216
224
|
const prevEventKeys = prevState.cachedKeys;
|
|
217
225
|
const nowEventKeys = this.props.events.map(event => event.key);
|
|
218
226
|
|
|
219
|
-
if (!_isEqual(prevEventKeys, nowEventKeys)) {
|
|
227
|
+
if (!_isEqual(prevEventKeys, nowEventKeys) || !_isEqual(prevProps.displayValue, this.props.displayValue)) {
|
|
220
228
|
this.foundation.parseWeeklyEvents();
|
|
221
229
|
}
|
|
222
230
|
}
|
|
@@ -268,7 +276,9 @@ WeekCalendar.propTypes = {
|
|
|
268
276
|
markWeekend: PropTypes.bool,
|
|
269
277
|
scrollTop: PropTypes.number,
|
|
270
278
|
renderTimeDisplay: PropTypes.func,
|
|
279
|
+
renderDateDisplay: PropTypes.func,
|
|
271
280
|
dateGridRender: PropTypes.func,
|
|
281
|
+
allDayEventsRender: PropTypes.func,
|
|
272
282
|
width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
273
283
|
height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
274
284
|
style: PropTypes.object,
|
|
@@ -11,10 +11,8 @@ export interface CollapsePanelProps {
|
|
|
11
11
|
style?: CSSProperties;
|
|
12
12
|
showArrow?: boolean;
|
|
13
13
|
disabled?: boolean;
|
|
14
|
-
active?: boolean;
|
|
15
14
|
}
|
|
16
15
|
export default class CollapsePanel extends PureComponent<CollapsePanelProps> {
|
|
17
|
-
static elementType: string;
|
|
18
16
|
static contextType: React.Context<CollapseContextType>;
|
|
19
17
|
headerExpandIconTriggerRef: React.RefObject<HTMLElement>;
|
|
20
18
|
static propTypes: {
|