@douyinfe/semi-ui 2.30.0-alpha.2 → 2.30.0-alpha.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 (75) hide show
  1. package/dist/umd/semi-ui.js +22 -6
  2. package/dist/umd/semi-ui.js.map +1 -1
  3. package/dist/umd/semi-ui.min.js +1 -1
  4. package/dist/umd/semi-ui.min.js.map +1 -1
  5. package/lib/cjs/anchor/index.d.ts +1 -1
  6. package/lib/cjs/autoComplete/index.d.ts +1 -1
  7. package/lib/cjs/breadcrumb/item.d.ts +1 -1
  8. package/lib/cjs/button/Button.d.ts +1 -1
  9. package/lib/cjs/button/buttonGroup.d.ts +1 -1
  10. package/lib/cjs/button/index.d.ts +1 -1
  11. package/lib/cjs/carousel/CarouselIndicator.d.ts +1 -1
  12. package/lib/cjs/carousel/index.d.ts +1 -1
  13. package/lib/cjs/cascader/index.d.ts +1 -1
  14. package/lib/cjs/cascader/item.d.ts +1 -1
  15. package/lib/cjs/datePicker/datePicker.d.ts +1 -1
  16. package/lib/cjs/datePicker/monthsGrid.d.ts +1 -1
  17. package/lib/cjs/form/baseForm.d.ts +1 -1
  18. package/lib/cjs/form/field.d.ts +1 -1
  19. package/lib/cjs/input/index.d.ts +1 -1
  20. package/lib/cjs/input/inputGroup.d.ts +1 -1
  21. package/lib/cjs/popover/index.d.ts +1 -1
  22. package/lib/cjs/radio/radio.d.ts +1 -1
  23. package/lib/cjs/radio/radioGroup.d.ts +1 -1
  24. package/lib/cjs/rating/index.d.ts +1 -1
  25. package/lib/cjs/rating/item.d.ts +1 -1
  26. package/lib/cjs/switch/index.d.ts +1 -1
  27. package/lib/cjs/table/Table.d.ts +3 -3
  28. package/lib/cjs/table/index.d.ts +1 -1
  29. package/lib/cjs/tagInput/index.d.ts +1 -1
  30. package/lib/cjs/timePicker/TimePicker.d.ts +1 -1
  31. package/lib/cjs/timePicker/index.d.ts +1 -1
  32. package/lib/cjs/timeline/context.d.ts +8 -0
  33. package/lib/cjs/timeline/context.js +15 -0
  34. package/lib/cjs/timeline/index.d.ts +3 -2
  35. package/lib/cjs/timeline/index.js +13 -2
  36. package/lib/cjs/timeline/item.d.ts +7 -3
  37. package/lib/cjs/timeline/item.js +7 -4
  38. package/lib/cjs/tooltip/index.d.ts +1 -1
  39. package/lib/cjs/typography/title.d.ts +1 -1
  40. package/lib/es/anchor/index.d.ts +1 -1
  41. package/lib/es/autoComplete/index.d.ts +1 -1
  42. package/lib/es/breadcrumb/item.d.ts +1 -1
  43. package/lib/es/button/Button.d.ts +1 -1
  44. package/lib/es/button/buttonGroup.d.ts +1 -1
  45. package/lib/es/button/index.d.ts +1 -1
  46. package/lib/es/carousel/CarouselIndicator.d.ts +1 -1
  47. package/lib/es/carousel/index.d.ts +1 -1
  48. package/lib/es/cascader/index.d.ts +1 -1
  49. package/lib/es/cascader/item.d.ts +1 -1
  50. package/lib/es/datePicker/datePicker.d.ts +1 -1
  51. package/lib/es/datePicker/monthsGrid.d.ts +1 -1
  52. package/lib/es/form/baseForm.d.ts +1 -1
  53. package/lib/es/form/field.d.ts +1 -1
  54. package/lib/es/input/index.d.ts +1 -1
  55. package/lib/es/input/inputGroup.d.ts +1 -1
  56. package/lib/es/popover/index.d.ts +1 -1
  57. package/lib/es/radio/radio.d.ts +1 -1
  58. package/lib/es/radio/radioGroup.d.ts +1 -1
  59. package/lib/es/rating/index.d.ts +1 -1
  60. package/lib/es/rating/item.d.ts +1 -1
  61. package/lib/es/switch/index.d.ts +1 -1
  62. package/lib/es/table/Table.d.ts +3 -3
  63. package/lib/es/table/index.d.ts +1 -1
  64. package/lib/es/tagInput/index.d.ts +1 -1
  65. package/lib/es/timePicker/TimePicker.d.ts +1 -1
  66. package/lib/es/timePicker/index.d.ts +1 -1
  67. package/lib/es/timeline/context.d.ts +8 -0
  68. package/lib/es/timeline/context.js +3 -0
  69. package/lib/es/timeline/index.d.ts +3 -2
  70. package/lib/es/timeline/index.js +12 -2
  71. package/lib/es/timeline/item.d.ts +7 -3
  72. package/lib/es/timeline/item.js +6 -4
  73. package/lib/es/tooltip/index.d.ts +1 -1
  74. package/lib/es/typography/title.d.ts +1 -1
  75. package/package.json +8 -8
@@ -47,7 +47,7 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
47
47
  'aria-labelledby': PropTypes.Requireable<string>;
48
48
  'aria-required': PropTypes.Requireable<boolean>;
49
49
  type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "dateTimeRange">;
50
- size: PropTypes.Requireable<"default" | "small" | "large">;
50
+ size: PropTypes.Requireable<"small" | "default" | "large">;
51
51
  clearIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
52
52
  density: PropTypes.Requireable<"default" | "compact">;
53
53
  defaultValue: PropTypes.Requireable<NonNullable<string | number | object>>;
@@ -86,7 +86,7 @@ export default class MonthsGrid extends BaseComponent<MonthsGridProps, MonthsGri
86
86
  renderMonth(month: Date, panelType: PanelType): JSX.Element;
87
87
  handleWeeksRowNumChange: (weeksRowNum: number, panelType: PanelType) => void;
88
88
  reselect: () => void;
89
- getYAMOpenType: () => "both" | "none" | "left" | "right";
89
+ getYAMOpenType: () => "left" | "right" | "both" | "none";
90
90
  renderTimePicker(panelType: PanelType, panelDetail: MonthInfo): JSX.Element;
91
91
  renderYearAndMonth(panelType: PanelType, panelDetail: MonthInfo): JSX.Element;
92
92
  renderSwitch(panelType: PanelType): JSX.Element;
@@ -137,7 +137,7 @@ declare class Form<Values extends Record<string, any> = any> extends BaseCompone
137
137
  preventScroll?: boolean;
138
138
  showRestTagsPopover?: boolean;
139
139
  restTagsPopoverProps?: import("../popover").PopoverProps;
140
- } & Pick<import("../tooltip").TooltipProps, "getPopupContainer" | "motion" | "stopPropagation" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay"> & React.RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
140
+ } & Pick<import("../tooltip").TooltipProps, "stopPropagation" | "getPopupContainer" | "motion" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay"> & React.RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
141
141
  static Checkbox: React.ComponentType<import("utility-types").Subtract<import("./interface").CommonFieldProps, import("./interface").RadioCheckboxExcludeProps> & import("../checkbox").CheckboxProps & import("./interface").RCIncludeType>;
142
142
  static CheckboxGroup: React.ComponentType<import("utility-types").Subtract<import("../checkbox").CheckboxGroupProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps & React.RefAttributes<any>>;
143
143
  static Radio: React.ComponentType<import("utility-types").Subtract<import("./interface").CommonFieldProps, import("./interface").RadioCheckboxExcludeProps> & import("../radio").RadioProps & import("./interface").RCIncludeType>;
@@ -85,7 +85,7 @@ declare const FormSelect: import("react").ComponentType<import("utility-types").
85
85
  preventScroll?: boolean;
86
86
  showRestTagsPopover?: boolean;
87
87
  restTagsPopoverProps?: import("../popover").PopoverProps;
88
- } & Pick<import("../tooltip").TooltipProps, "getPopupContainer" | "motion" | "stopPropagation" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay"> & import("react").RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
88
+ } & Pick<import("../tooltip").TooltipProps, "stopPropagation" | "getPopupContainer" | "motion" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay"> & import("react").RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
89
89
  declare const FormCheckboxGroup: import("react").ComponentType<import("utility-types").Subtract<import("../checkbox/checkboxGroup").CheckboxGroupProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps & import("react").RefAttributes<any>>;
90
90
  declare const FormCheckbox: import("react").ComponentType<import("utility-types").Subtract<import("./interface").CommonFieldProps, import("./interface").RadioCheckboxExcludeProps> & import("../checkbox/checkbox").CheckboxProps & import("./interface").RCIncludeType>;
91
91
  declare const FormRadioGroup: import("react").ComponentType<import("utility-types").Subtract<import("../radio/radioGroup").RadioGroupProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps & import("react").RefAttributes<any>>;
@@ -83,7 +83,7 @@ declare class Input extends BaseComponent<InputProps, InputState> {
83
83
  showClear: PropTypes.Requireable<boolean>;
84
84
  hideSuffix: PropTypes.Requireable<boolean>;
85
85
  placeholder: PropTypes.Requireable<any>;
86
- size: PropTypes.Requireable<"default" | "small" | "large">;
86
+ size: PropTypes.Requireable<"small" | "default" | "large">;
87
87
  className: PropTypes.Requireable<string>;
88
88
  style: PropTypes.Requireable<object>;
89
89
  validateStatus: PropTypes.Requireable<"default" | "error" | "warning" | "success">;
@@ -21,7 +21,7 @@ export default class inputGroup extends BaseComponent<InputGroupProps, InputGrou
21
21
  static propTypes: {
22
22
  className: PropTypes.Requireable<string>;
23
23
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
24
- size: PropTypes.Requireable<"default" | "small" | "large">;
24
+ size: PropTypes.Requireable<"small" | "default" | "large">;
25
25
  style: PropTypes.Requireable<object>;
26
26
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
27
27
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
@@ -58,7 +58,7 @@ declare class Popover extends React.PureComponent<PopoverProps, PopoverState> {
58
58
  margin: PropTypes.Requireable<NonNullable<number | object>>;
59
59
  mouseEnterDelay: PropTypes.Requireable<number>;
60
60
  mouseLeaveDelay: PropTypes.Requireable<number>;
61
- trigger: PropTypes.Validator<NonNullable<"hover" | "focus" | "click" | "custom">>;
61
+ trigger: PropTypes.Validator<NonNullable<"click" | "focus" | "hover" | "custom">>;
62
62
  contentClassName: PropTypes.Requireable<NonNullable<string | any[]>>;
63
63
  onVisibleChange: PropTypes.Requireable<(...args: any[]) => any>;
64
64
  onClickOutSide: PropTypes.Requireable<(...args: any[]) => any>;
@@ -61,7 +61,7 @@ declare class Radio extends BaseComponent<RadioProps, RadioState> {
61
61
  extra: PropTypes.Requireable<PropTypes.ReactNodeLike>;
62
62
  addonStyle: PropTypes.Requireable<object>;
63
63
  addonClassName: PropTypes.Requireable<string>;
64
- type: PropTypes.Requireable<"default" | "button" | "card" | "pureCard">;
64
+ type: PropTypes.Requireable<"button" | "default" | "card" | "pureCard">;
65
65
  'aria-label': PropTypes.Requireable<string>;
66
66
  preventScroll: PropTypes.Requireable<boolean>;
67
67
  };
@@ -49,7 +49,7 @@ declare class RadioGroup extends BaseComponent<RadioGroupProps, RadioGroupState>
49
49
  name: PropTypes.Requireable<string>;
50
50
  options: PropTypes.Requireable<any[]>;
51
51
  buttonSize: PropTypes.Requireable<"small" | "large" | "middle">;
52
- type: PropTypes.Requireable<"default" | "button" | "card" | "pureCard">;
52
+ type: PropTypes.Requireable<"button" | "default" | "card" | "pureCard">;
53
53
  value: PropTypes.Requireable<any>;
54
54
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
55
55
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
@@ -69,7 +69,7 @@ export default class Rating extends BaseComponent<RatingProps, RatingState> {
69
69
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
70
70
  onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
71
71
  autoFocus: PropTypes.Requireable<boolean>;
72
- size: PropTypes.Requireable<NonNullable<number | "default" | "small">>;
72
+ size: PropTypes.Requireable<NonNullable<number | "small" | "default">>;
73
73
  tooltips: PropTypes.Requireable<string[]>;
74
74
  id: PropTypes.Requireable<string>;
75
75
  preventScroll: PropTypes.Requireable<boolean>;
@@ -40,7 +40,7 @@ export default class Item extends BaseComponent<RatingItemProps, RatingItemState
40
40
  disabled: PropTypes.Requireable<boolean>;
41
41
  count: PropTypes.Requireable<number>;
42
42
  ariaLabelPrefix: PropTypes.Requireable<string>;
43
- size: PropTypes.Requireable<NonNullable<number | "default" | "small">>;
43
+ size: PropTypes.Requireable<NonNullable<number | "small" | "default">>;
44
44
  'aria-describedby': PropTypes.Requireable<string>;
45
45
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
46
46
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
@@ -45,7 +45,7 @@ declare class Switch extends BaseComponent<SwitchProps, SwitchState> {
45
45
  onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
46
46
  onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
47
47
  style: PropTypes.Requireable<object>;
48
- size: PropTypes.Requireable<"default" | "small" | "large">;
48
+ size: PropTypes.Requireable<"small" | "default" | "large">;
49
49
  uncheckedText: PropTypes.Requireable<PropTypes.ReactNodeLike>;
50
50
  id: PropTypes.Requireable<string>;
51
51
  };
@@ -52,7 +52,7 @@ declare class Table<RecordType extends Record<string, any>> extends BaseComponen
52
52
  components: PropTypes.Requireable<any>;
53
53
  bordered: PropTypes.Requireable<boolean>;
54
54
  loading: PropTypes.Requireable<boolean>;
55
- size: PropTypes.Requireable<"default" | "small" | "middle">;
55
+ size: PropTypes.Requireable<"small" | "default" | "middle">;
56
56
  tableLayout: PropTypes.Requireable<"" | "fixed" | "auto">;
57
57
  columns: PropTypes.Requireable<PropTypes.InferProps<{
58
58
  align: PropTypes.Requireable<"left" | "right" | "center">;
@@ -280,7 +280,7 @@ declare class Table<RecordType extends Record<string, any>> extends BaseComponen
280
280
  * Combine pagination and table paging processing functions
281
281
  */
282
282
  mergePagination: (pagination: TablePaginationProps) => {
283
- position?: "both" | "top" | "bottom";
283
+ position?: "top" | "bottom" | "both";
284
284
  formatPageText?: import("./interface").FormatPageText;
285
285
  style?: React.CSSProperties;
286
286
  className?: string;
@@ -289,7 +289,7 @@ declare class Table<RecordType extends Record<string, any>> extends BaseComponen
289
289
  showTotal?: boolean;
290
290
  pageSize?: number;
291
291
  pageSizeOpts?: number[];
292
- size?: "default" | "small";
292
+ size?: "small" | "default";
293
293
  currentPage?: number;
294
294
  defaultCurrentPage?: number;
295
295
  onPageChange?: (currentPage: number) => void;
@@ -15,7 +15,7 @@ declare class Table<RecordType extends Record<string, any> = Data> extends React
15
15
  components: PropTypes.Requireable<any>;
16
16
  bordered: PropTypes.Requireable<boolean>;
17
17
  loading: PropTypes.Requireable<boolean>;
18
- size: PropTypes.Requireable<"default" | "small" | "middle">;
18
+ size: PropTypes.Requireable<"small" | "default" | "middle">;
19
19
  tableLayout: PropTypes.Requireable<"" | "fixed" | "auto">;
20
20
  columns: PropTypes.Requireable<PropTypes.InferProps<{
21
21
  align: PropTypes.Requireable<"left" | "right" | "center">;
@@ -96,7 +96,7 @@ declare class TagInput extends BaseComponent<TagInputProps, TagInputState> {
96
96
  onAdd: PropTypes.Requireable<(...args: any[]) => any>;
97
97
  onRemove: PropTypes.Requireable<(...args: any[]) => any>;
98
98
  onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
99
- size: PropTypes.Requireable<"default" | "small" | "large">;
99
+ size: PropTypes.Requireable<"small" | "default" | "large">;
100
100
  validateStatus: PropTypes.Requireable<"default" | "error" | "warning" | "success">;
101
101
  prefix: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
102
102
  suffix: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
@@ -130,7 +130,7 @@ export default class TimePicker extends BaseComponent<TimePickerProps, TimePicke
130
130
  secondStep: PropTypes.Requireable<number>;
131
131
  focusOnOpen: PropTypes.Requireable<boolean>;
132
132
  autoFocus: PropTypes.Requireable<boolean>;
133
- size: PropTypes.Requireable<"default" | "small" | "large">;
133
+ size: PropTypes.Requireable<"small" | "default" | "large">;
134
134
  panels: PropTypes.Requireable<PropTypes.InferProps<{
135
135
  panelHeader: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
136
136
  panelFooter: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
@@ -48,7 +48,7 @@ export default class LocaleTimePicker extends React.PureComponent<LocalePickerPr
48
48
  secondStep: import("prop-types").Requireable<number>;
49
49
  focusOnOpen: import("prop-types").Requireable<boolean>;
50
50
  autoFocus: import("prop-types").Requireable<boolean>;
51
- size: import("prop-types").Requireable<"default" | "small" | "large">;
51
+ size: import("prop-types").Requireable<"small" | "default" | "large">;
52
52
  panels: import("prop-types").Requireable<import("prop-types").InferProps<{
53
53
  panelHeader: import("prop-types").Requireable<NonNullable<import("prop-types").ReactNodeLike>>;
54
54
  panelFooter: import("prop-types").Requireable<NonNullable<import("prop-types").ReactNodeLike>>;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ export declare type ModeType = 'left' | 'right' | 'center' | 'alternate';
3
+ export interface TimelineContextValue {
4
+ mode?: ModeType;
5
+ sum?: number;
6
+ }
7
+ declare const Context: React.Context<TimelineContextValue>;
8
+ export default Context;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ const Context = /*#__PURE__*/React.createContext(null);
3
+ export default Context;
@@ -2,12 +2,13 @@ import React, { PureComponent } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import '@douyinfe/semi-foundation/lib/es/timeline/timeline.css';
4
4
  import Item, { TimelineItemProps } from './item';
5
+ import { ModeType } from './context';
5
6
  export type { TimelineItemProps } from './item';
6
7
  export interface Data extends TimelineItemProps {
7
8
  content: React.ReactNode;
8
9
  }
9
10
  export interface TimelineProps extends Pick<React.AriaAttributes, 'aria-label'> {
10
- mode?: 'left' | 'right' | 'center' | 'alternate';
11
+ mode?: ModeType;
11
12
  className?: string;
12
13
  style?: React.CSSProperties;
13
14
  dataSource?: Data[];
@@ -26,7 +27,7 @@ declare class Timeline extends PureComponent<TimelineProps> {
26
27
  mode: string;
27
28
  };
28
29
  getPosCls: (ele: React.ReactElement, idx: number) => string;
29
- addClassName: (items: React.ReactNode) => (string | number | React.ReactFragment | React.DetailedReactHTMLElement<unknown, HTMLElement>)[];
30
+ addClassName: (items: React.ReactNode) => (string | number | React.ReactFragment | React.ReactElement<any, string | React.JSXElementConstructor<any>>)[];
30
31
  render(): JSX.Element;
31
32
  }
32
33
  export default Timeline;
@@ -5,6 +5,7 @@ import '@douyinfe/semi-foundation/lib/es/timeline/timeline.css';
5
5
  import { cssClasses, strings } from '@douyinfe/semi-foundation/lib/es/timeline/constants';
6
6
  import ConfigContext from '../configProvider/context';
7
7
  import Item from './item';
8
+ import Context from './context';
8
9
  const prefixCls = cssClasses.PREFIX;
9
10
 
10
11
  class Timeline extends PureComponent {
@@ -47,6 +48,7 @@ class Timeline extends PureComponent {
47
48
  if ( /*#__PURE__*/React.isValidElement(ele)) {
48
49
  return /*#__PURE__*/React.cloneElement(ele, {
49
50
  // @ts-ignore
51
+ index: idx,
50
52
  className: cls(ele.props.className, this.getPosCls(ele, idx))
51
53
  });
52
54
  }
@@ -56,6 +58,8 @@ class Timeline extends PureComponent {
56
58
  }
57
59
 
58
60
  render() {
61
+ var _a;
62
+
59
63
  const {
60
64
  children,
61
65
  className,
@@ -70,17 +74,23 @@ class Timeline extends PureComponent {
70
74
 
71
75
  if (dataSource && dataSource.length) {
72
76
  const items = dataSource.map((item, index) => /*#__PURE__*/React.createElement(Item, Object.assign({
77
+ index: index,
73
78
  key: "timeline-item-".concat(index)
74
79
  }, item), item.content));
75
80
  childrenList = this.addClassName(items);
76
81
  }
77
82
 
78
83
  const items = childrenList || this.addClassName(children);
79
- return /*#__PURE__*/React.createElement("ul", {
84
+ return /*#__PURE__*/React.createElement(Context.Provider, {
85
+ value: {
86
+ mode,
87
+ sum: (_a = items === null || items === void 0 ? void 0 : items.length) !== null && _a !== void 0 ? _a : 0
88
+ }
89
+ }, /*#__PURE__*/React.createElement("ul", {
80
90
  "aria-label": this.props['aria-label'],
81
91
  style: style,
82
92
  className: classString
83
- }, items);
93
+ }, items));
84
94
  }
85
95
 
86
96
  }
@@ -1,6 +1,7 @@
1
1
  import React, { PureComponent } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import '@douyinfe/semi-foundation/lib/es/timeline/timeline.css';
4
+ import { ModeType, TimelineContextValue } from './context';
4
5
  export interface TimelineItemProps {
5
6
  color?: string;
6
7
  children?: React.ReactNode;
@@ -12,11 +13,13 @@ export interface TimelineItemProps {
12
13
  className?: string;
13
14
  style?: React.CSSProperties;
14
15
  onClick?: React.MouseEventHandler<HTMLLIElement>;
15
- mode?: 'left' | 'right' | 'center' | 'alternate';
16
- oddIndex?: boolean;
17
- lastOne?: boolean;
16
+ mode?: ModeType;
17
+ odd?: boolean;
18
+ lastChild?: boolean;
19
+ index?: number;
18
20
  }
19
21
  export default class Item extends PureComponent<TimelineItemProps> {
22
+ static contextType: React.Context<TimelineContextValue>;
20
23
  static elementType: string;
21
24
  static propTypes: {
22
25
  color: PropTypes.Requireable<string>;
@@ -31,6 +34,7 @@ export default class Item extends PureComponent<TimelineItemProps> {
31
34
  mode: PropTypes.Requireable<string>;
32
35
  lastOne: PropTypes.Requireable<boolean>;
33
36
  };
37
+ context: TimelineContextValue;
34
38
  static defaultProps: {
35
39
  type: string;
36
40
  time: string;
@@ -4,6 +4,7 @@ import cls from 'classnames';
4
4
  import PropTypes from 'prop-types';
5
5
  import { cssClasses, strings } from '@douyinfe/semi-foundation/lib/es/timeline/constants';
6
6
  import '@douyinfe/semi-foundation/lib/es/timeline/timeline.css';
7
+ import Context from './context';
7
8
  const prefixCls = cssClasses.ITEM;
8
9
  export default class Item extends PureComponent {
9
10
  constructor() {
@@ -13,8 +14,8 @@ export default class Item extends PureComponent {
13
14
  let c2dCls = '';
14
15
  const {
15
16
  mode,
16
- oddIndex,
17
- lastOne
17
+ lastChild,
18
+ odd
18
19
  } = this.props;
19
20
 
20
21
  if (mode) {
@@ -24,7 +25,7 @@ export default class Item extends PureComponent {
24
25
  break;
25
26
 
26
27
  case 'alternate':
27
- c2dCls = "".concat(prefixCls, "-alternate ").concat(prefixCls, "-").concat(oddIndex ? 'left' : 'right');
28
+ c2dCls = "".concat(prefixCls, "-alternate ").concat(prefixCls, "-").concat(odd ? 'left' : 'right');
28
29
  break;
29
30
 
30
31
  default:
@@ -33,7 +34,7 @@ export default class Item extends PureComponent {
33
34
  }
34
35
  }
35
36
 
36
- if (!lastOne) {
37
+ if (Boolean(lastChild) && !lastChild) {
37
38
  c2dCls += " ".concat(prefixCls, "-not-last-child");
38
39
  }
39
40
 
@@ -84,6 +85,7 @@ export default class Item extends PureComponent {
84
85
  }
85
86
 
86
87
  }
88
+ Item.contextType = Context;
87
89
  Item.propTypes = {
88
90
  color: PropTypes.string,
89
91
  time: PropTypes.node,
@@ -90,7 +90,7 @@ export default class Tooltip extends BaseComponent<TooltipProps, TooltipState> {
90
90
  getPopupContainer: PropTypes.Requireable<(...args: any[]) => any>;
91
91
  mouseEnterDelay: PropTypes.Requireable<number>;
92
92
  mouseLeaveDelay: PropTypes.Requireable<number>;
93
- trigger: PropTypes.Validator<NonNullable<"hover" | "focus" | "click" | "custom">>;
93
+ trigger: PropTypes.Validator<NonNullable<"click" | "focus" | "hover" | "custom">>;
94
94
  className: PropTypes.Requireable<string>;
95
95
  wrapperClassName: PropTypes.Requireable<string>;
96
96
  clickToHide: PropTypes.Requireable<boolean>;
@@ -37,7 +37,7 @@ export default class Title extends PureComponent<TitleProps> {
37
37
  underline: PropTypes.Requireable<boolean>;
38
38
  strong: PropTypes.Requireable<boolean>;
39
39
  type: PropTypes.Requireable<"warning" | "success" | "primary" | "tertiary" | "secondary" | "danger" | "quaternary">;
40
- heading: PropTypes.Requireable<4 | 2 | 1 | 3 | 6 | 5>;
40
+ heading: PropTypes.Requireable<1 | 6 | 2 | 3 | 4 | 5>;
41
41
  style: PropTypes.Requireable<object>;
42
42
  className: PropTypes.Requireable<string>;
43
43
  component: PropTypes.Requireable<string>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@douyinfe/semi-ui",
3
- "version": "2.30.0-alpha.2",
3
+ "version": "2.30.0-alpha.3",
4
4
  "description": "",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es/index.js",
@@ -17,12 +17,12 @@
17
17
  "lib/*"
18
18
  ],
19
19
  "dependencies": {
20
- "@douyinfe/semi-animation": "2.30.0-alpha.2",
21
- "@douyinfe/semi-animation-react": "2.30.0-alpha.2",
22
- "@douyinfe/semi-foundation": "2.30.0-alpha.2",
23
- "@douyinfe/semi-icons": "2.30.0-alpha.2",
24
- "@douyinfe/semi-illustrations": "2.30.0-alpha.2",
25
- "@douyinfe/semi-theme-default": "2.30.0-alpha.2",
20
+ "@douyinfe/semi-animation": "2.30.0-alpha.3",
21
+ "@douyinfe/semi-animation-react": "2.30.0-alpha.3",
22
+ "@douyinfe/semi-foundation": "2.30.0-alpha.3",
23
+ "@douyinfe/semi-icons": "2.30.0-alpha.3",
24
+ "@douyinfe/semi-illustrations": "2.30.0-alpha.3",
25
+ "@douyinfe/semi-theme-default": "2.30.0-alpha.3",
26
26
  "async-validator": "^3.5.0",
27
27
  "classnames": "^2.2.6",
28
28
  "copy-text-to-clipboard": "^2.1.1",
@@ -69,7 +69,7 @@
69
69
  ],
70
70
  "author": "",
71
71
  "license": "MIT",
72
- "gitHead": "22568ce0c431646136c6823016342214cac447ca",
72
+ "gitHead": "25ae2c8b4d8e959dcd6f67fd9afb523ce9be7765",
73
73
  "devDependencies": {
74
74
  "@babel/plugin-proposal-decorators": "^7.15.8",
75
75
  "@babel/plugin-transform-runtime": "^7.15.8",