@kdcloudjs/kdesign 1.7.70 → 1.8.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.
Files changed (66) hide show
  1. package/dist/kdesign-complete.less +105 -10
  2. package/dist/kdesign.css +361 -66
  3. package/dist/kdesign.css.map +1 -1
  4. package/dist/kdesign.js +4202 -440
  5. package/dist/kdesign.js.map +1 -1
  6. package/dist/kdesign.min.css +2 -2
  7. package/dist/kdesign.min.js +13 -13
  8. package/dist/kdesign.min.js.map +1 -1
  9. package/es/_utils/useId.d.ts +2 -0
  10. package/es/_utils/useId.js +30 -0
  11. package/es/date-picker/calendar.d.ts +3 -2
  12. package/es/date-picker/date-panel.d.ts +2 -1
  13. package/es/date-picker/date-picker.d.ts +4 -0
  14. package/es/date-picker/hooks/use-range-disabled.d.ts +3 -2
  15. package/es/date-picker/hooks/use-range-disabled.js +4 -2
  16. package/es/date-picker/interface.d.ts +2 -1
  17. package/es/date-picker/panel/month/month.d.ts +2 -2
  18. package/es/date-picker/panel/month/month.js +7 -3
  19. package/es/date-picker/panel/quarter/quarter.d.ts +2 -2
  20. package/es/date-picker/panel/quarter/quarter.js +7 -3
  21. package/es/date-picker/panel/week/week.d.ts +2 -1
  22. package/es/date-picker/panel/year/year.d.ts +2 -1
  23. package/es/date-picker/panel/year/year.js +7 -3
  24. package/es/date-picker/range-picker.js +3 -1
  25. package/es/date-picker/single/input-date.d.ts +2 -1
  26. package/es/popper/index.d.ts +54 -0
  27. package/es/popper/index.js +495 -0
  28. package/es/popper/style/css.js +2 -0
  29. package/es/popper/style/index.css +355 -0
  30. package/es/popper/style/index.d.ts +2 -0
  31. package/es/popper/style/index.js +2 -0
  32. package/es/popper/style/index.less +101 -0
  33. package/es/tooltip/style/index.css +4 -65
  34. package/es/tooltip/style/index.less +3 -10
  35. package/es/tooltip/tooltip.d.ts +3 -7
  36. package/es/tooltip/tooltip.js +10 -26
  37. package/lib/_utils/useId.d.ts +2 -0
  38. package/lib/_utils/useId.js +43 -0
  39. package/lib/date-picker/calendar.d.ts +3 -2
  40. package/lib/date-picker/date-panel.d.ts +2 -1
  41. package/lib/date-picker/date-picker.d.ts +4 -0
  42. package/lib/date-picker/hooks/use-range-disabled.d.ts +3 -2
  43. package/lib/date-picker/hooks/use-range-disabled.js +4 -2
  44. package/lib/date-picker/interface.d.ts +2 -1
  45. package/lib/date-picker/panel/month/month.d.ts +2 -2
  46. package/lib/date-picker/panel/month/month.js +7 -3
  47. package/lib/date-picker/panel/quarter/quarter.d.ts +2 -2
  48. package/lib/date-picker/panel/quarter/quarter.js +7 -3
  49. package/lib/date-picker/panel/week/week.d.ts +2 -1
  50. package/lib/date-picker/panel/year/year.d.ts +2 -1
  51. package/lib/date-picker/panel/year/year.js +7 -3
  52. package/lib/date-picker/range-picker.js +3 -1
  53. package/lib/date-picker/single/input-date.d.ts +2 -1
  54. package/lib/popper/index.d.ts +54 -0
  55. package/lib/popper/index.js +512 -0
  56. package/lib/popper/style/css.js +4 -0
  57. package/lib/popper/style/index.css +355 -0
  58. package/lib/popper/style/index.d.ts +2 -0
  59. package/lib/popper/style/index.js +4 -0
  60. package/lib/popper/style/index.less +101 -0
  61. package/lib/style/components.less +1 -0
  62. package/lib/tooltip/style/index.css +4 -65
  63. package/lib/tooltip/style/index.less +3 -10
  64. package/lib/tooltip/tooltip.d.ts +3 -7
  65. package/lib/tooltip/tooltip.js +10 -31
  66. package/package.json +8 -3
@@ -1,13 +1,14 @@
1
1
  /// <reference types="react" />
2
- import { DateType, PickerMode, SharedTimeProps } from './interface';
2
+ import { PickerMode, SharedTimeProps } from './interface';
3
3
  import { RangeShowTimeObject } from './range-picker';
4
+ import { DisabledDataProps } from './date-picker';
4
5
  export interface CalendarProps {
5
6
  picker: PickerMode;
6
7
  useWeekdaysShort?: boolean;
7
8
  showWeekNumber?: boolean;
8
9
  showWeeksTitle?: boolean;
9
10
  showTime?: boolean | SharedTimeProps | RangeShowTimeObject;
10
- disabledDate?: (date: DateType) => boolean;
11
+ disabledDate?: DisabledDataProps;
11
12
  }
12
13
  declare function Calendar(props: CalendarProps): JSX.Element;
13
14
  export default Calendar;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { DateRender, PanelMode, CellRender, OnPanelChange, PickerMode, SharedTimeProps, DateType, DisabledTime, InnerLocale, Components } from './interface';
3
+ import { DisabledDataProps } from './date-picker';
3
4
  export interface PickerPanelSharedProps {
4
5
  prefixCls?: string;
5
6
  className?: string;
@@ -20,7 +21,7 @@ export interface PickerPanelSharedProps {
20
21
  useWeekdaysShort?: boolean;
21
22
  showWeekNumber?: boolean;
22
23
  showWeeksTitle?: boolean;
23
- disabledDate?: (date: DateType) => boolean;
24
+ disabledDate?: DisabledDataProps;
24
25
  dateRender?: DateRender;
25
26
  monthCellRender?: CellRender;
26
27
  renderExtraFooter?: (mode: PanelMode) => React.ReactNode;
@@ -59,6 +59,10 @@ export interface PickerTimeProps extends PickerSharedProps, Omit<OmitPanelProps<
59
59
  }
60
60
  export declare type PickerProps = PickerBaseProps | PickerDateProps | PickerTimeProps;
61
61
  export declare type IInnerPicker = undefined | 'year' | 'month';
62
+ export declare type DisabledDataProps = (date: DateType, info?: {
63
+ panelType?: 'month' | 'quarter' | 'year';
64
+ range?: 'start' | 'end';
65
+ }) => boolean;
62
66
  export declare const mergeDateLocale: (globalLocale: InnerLocale, locale?: {}) => InnerLocale;
63
67
  declare const DatePicker: React.ForwardRefExoticComponent<(Partial<PickerBaseProps> & React.RefAttributes<unknown>) | (Partial<PickerDateProps> & React.RefAttributes<unknown>) | (Partial<PickerTimeProps> & React.RefAttributes<unknown>)>;
64
68
  export default DatePicker;
@@ -1,7 +1,8 @@
1
1
  import { RangeValue, PickerMode, DateType } from '../interface';
2
+ import { DisabledDataProps } from '../date-picker';
2
3
  export default function useRangeDisabled({ picker, selectedValue, disabledDate, disabled, }: {
3
4
  picker: PickerMode;
4
5
  selectedValue: RangeValue;
5
- disabledDate?: (date: DateType) => boolean;
6
+ disabledDate?: DisabledDataProps;
6
7
  disabled: [boolean, boolean];
7
- }, disabledStart: boolean, disabledEnd: boolean): ((date: DateType) => boolean)[];
8
+ }, disabledStart: boolean, disabledEnd: boolean): ((date: DateType, info?: any) => boolean)[];
@@ -35,7 +35,8 @@ function useRangeDisabled(_ref, disabledStart, disabledEnd) {
35
35
  return year * 10 + quarter;
36
36
  }
37
37
  var disabledStartDate = React.useCallback(function (date) {
38
- if (disabledDate && disabledDate(date)) {
38
+ var info = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
39
+ if (disabledDate && disabledDate(date, info)) {
39
40
  return true;
40
41
  }
41
42
  if (disabled[1] && endDate) {
@@ -58,7 +59,8 @@ function useRangeDisabled(_ref, disabledStart, disabledEnd) {
58
59
  // eslint-disable-next-line react-hooks/exhaustive-deps
59
60
  [disabledDate, disabled[1], endDate, disabledStart]);
60
61
  var disabledEndDate = React.useCallback(function (date) {
61
- if (disabledDate && disabledDate(date)) {
62
+ var info = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
63
+ if (disabledDate && disabledDate(date, info)) {
62
64
  return true;
63
65
  }
64
66
  if (disabled[0] && startDate) {
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { BorderType, InputSiteType } from '../input/input';
3
+ import { DisabledDataProps } from './date-picker';
3
4
  export declare type WeekTitleType = [string, string, string, string, string, string, string];
4
5
  export declare type MonthTitleType = [string, string, string, string, string, string, string, string, string, string, string, string];
5
6
  export interface Locale {
@@ -77,7 +78,7 @@ export interface PanelSharedProps {
77
78
  value?: NullableDateType;
78
79
  defaultPickerValue?: DateType;
79
80
  locale: InnerLocale;
80
- disabledDate?: (date: DateType) => boolean;
81
+ disabledDate?: DisabledDataProps;
81
82
  prevIcon?: React.ReactNode;
82
83
  nextIcon?: React.ReactNode;
83
84
  superPrevIcon?: React.ReactNode;
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
- import { DateType } from '../../interface';
2
+ import { DisabledDataProps } from '../../date-picker';
3
3
  export interface MonthProps {
4
4
  showFullMonth?: boolean;
5
- disabledDate?(date: DateType): boolean;
5
+ disabledDate?: DisabledDataProps;
6
6
  }
7
7
  declare function Month(props: MonthProps): JSX.Element;
8
8
  export default Month;
@@ -35,6 +35,10 @@ function Month(props) {
35
35
  setInnerPicker = context.setInnerPicker,
36
36
  cellRender = context.cellRender,
37
37
  range = context.range;
38
+ var disabledInfo = {
39
+ panelType: 'month',
40
+ range: range
41
+ };
38
42
  var disabledDate = props.disabledDate;
39
43
  var _dateValue;
40
44
  if (panelPosition) {
@@ -91,7 +95,7 @@ function Month(props) {
91
95
  });
92
96
  var handleClick = function handleClick(date) {
93
97
  if (innerPicker === undefined) {
94
- if (!(disabledDate && disabledDate(date))) {
98
+ if (!(disabledDate && disabledDate(date, disabledInfo))) {
95
99
  onSelect(date, 'mouse');
96
100
  }
97
101
  } else {
@@ -115,7 +119,7 @@ function Month(props) {
115
119
  return handleClick(month);
116
120
  },
117
121
  onMouseEnter: function onMouseEnter() {
118
- if (onDateMouseEnter && !(disabledDate && disabledDate(month))) {
122
+ if (onDateMouseEnter && !(disabledDate && disabledDate(month, disabledInfo))) {
119
123
  onDateMouseEnter(month);
120
124
  }
121
125
  },
@@ -125,7 +129,7 @@ function Month(props) {
125
129
  }
126
130
  }
127
131
  };
128
- var monthItemCls = (0, _classnames3.default)("".concat(prefixCls, "-month-item"), (0, _defineProperty2.default)({}, "".concat(prefixCls, "-month-item-disabled"), disabledDate && disabledDate(month)), getRangeCls(month));
132
+ var monthItemCls = (0, _classnames3.default)("".concat(prefixCls, "-month-item"), (0, _defineProperty2.default)({}, "".concat(prefixCls, "-month-item-disabled"), disabledDate && disabledDate(month, disabledInfo)), getRangeCls(month));
129
133
  var originNode = /*#__PURE__*/_react.default.createElement("span", {
130
134
  className: getMonthClassNames(m)
131
135
  }, "".concat(locale.monthTitle[m]));
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
- import { DateType } from '../../interface';
2
+ import { DisabledDataProps } from '../../date-picker';
3
3
  interface QuarterProps {
4
- disabledDate?: (date: DateType) => boolean;
4
+ disabledDate?: DisabledDataProps;
5
5
  }
6
6
  declare function Quarter(props: QuarterProps): JSX.Element;
7
7
  export default Quarter;
@@ -32,6 +32,10 @@ function Quarter(props) {
32
32
  hoverRangedValue = context.hoverRangedValue,
33
33
  cellRender = context.cellRender,
34
34
  range = context.range;
35
+ var disabledInfo = {
36
+ panelType: 'quarter',
37
+ range: range
38
+ };
35
39
  var disabledDate = props.disabledDate;
36
40
  var _dateValue;
37
41
  if (panelPosition) {
@@ -87,7 +91,7 @@ function Quarter(props) {
87
91
  }
88
92
  });
89
93
  var handleClick = function handleClick(date) {
90
- if (!(disabledDate && disabledDate(date))) {
94
+ if (!(disabledDate && disabledDate(date, disabledInfo))) {
91
95
  onSelect(date, 'mouse');
92
96
  }
93
97
  };
@@ -99,7 +103,7 @@ function Quarter(props) {
99
103
  return handleClick(quarter);
100
104
  },
101
105
  onMouseEnter: function onMouseEnter() {
102
- if (onDateMouseEnter && !(disabledDate && disabledDate(quarter))) {
106
+ if (onDateMouseEnter && !(disabledDate && disabledDate(quarter, disabledInfo))) {
103
107
  onDateMouseEnter(quarter);
104
108
  }
105
109
  },
@@ -109,7 +113,7 @@ function Quarter(props) {
109
113
  }
110
114
  }
111
115
  };
112
- var quarterCls = (0, _classnames3.default)("".concat(prefixCls, "-quarter-item"), (0, _defineProperty2.default)({}, "".concat(prefixCls, "-quarter-item-disabled"), disabledDate && disabledDate(quarter)), getRangeCls(quarter));
116
+ var quarterCls = (0, _classnames3.default)("".concat(prefixCls, "-quarter-item"), (0, _defineProperty2.default)({}, "".concat(prefixCls, "-quarter-item-disabled"), disabledDate && disabledDate(quarter, disabledInfo)), getRangeCls(quarter));
113
117
  var originNode = /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
114
118
  className: getQuarterClassNames(i + 1)
115
119
  }, _props), n);
@@ -1,11 +1,12 @@
1
1
  /// <reference types="react" />
2
2
  import { DateType, PickerMode } from '../../interface';
3
+ import { DisabledDataProps } from '../../date-picker';
3
4
  export interface WeekProps {
4
5
  day: DateType;
5
6
  picker: PickerMode;
6
7
  showWeekNumber?: boolean;
7
8
  showTime?: boolean;
8
- disabledDate?: (date: DateType) => boolean;
9
+ disabledDate?: DisabledDataProps;
9
10
  }
10
11
  declare function Week(props: WeekProps): JSX.Element;
11
12
  export default Week;
@@ -1,10 +1,11 @@
1
1
  /// <reference types="react" />
2
2
  import { DateType, PickerMode } from '../../interface';
3
+ import { DisabledDataProps } from '../../date-picker';
3
4
  export interface YearProps {
4
5
  yearItemNumber: number;
5
6
  minDate?: DateType;
6
7
  maxDate?: DateType;
7
- disabledDate?: (date: DateType) => boolean;
8
+ disabledDate?: DisabledDataProps;
8
9
  picker?: PickerMode;
9
10
  }
10
11
  declare function Year(props: YearProps): JSX.Element;
@@ -33,6 +33,10 @@ function Year(props) {
33
33
  setInnerPicker = context.setInnerPicker,
34
34
  cellRender = context.cellRender,
35
35
  range = context.range;
36
+ var disabledInfo = {
37
+ panelType: 'year',
38
+ range: range
39
+ };
36
40
  var yearItemNumber = props.yearItemNumber,
37
41
  disabledDate = props.disabledDate,
38
42
  _props$picker = props.picker,
@@ -92,7 +96,7 @@ function Year(props) {
92
96
  });
93
97
  var handleClick = function handleClick(date) {
94
98
  if (innerPicker === undefined) {
95
- if (!(disabledDate && disabledDate(date))) {
99
+ if (!(disabledDate && disabledDate(date, disabledInfo))) {
96
100
  onSelect(date, 'mouse');
97
101
  }
98
102
  } else {
@@ -118,7 +122,7 @@ function Year(props) {
118
122
  return handleClick(year);
119
123
  },
120
124
  onMouseEnter: function onMouseEnter() {
121
- if (onDateMouseEnter && !(disabledDate && disabledDate(year))) {
125
+ if (onDateMouseEnter && !(disabledDate && disabledDate(year, disabledInfo))) {
122
126
  onDateMouseEnter(year);
123
127
  }
124
128
  },
@@ -132,7 +136,7 @@ function Year(props) {
132
136
  className: getYearClassNames(y)
133
137
  }, y);
134
138
  yearsList.push( /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
135
- className: (0, _classnames3.default)("".concat(prefixCls, "-year-item"), (0, _defineProperty2.default)({}, "".concat(prefixCls, "-year-item-disabled"), disabledDate && disabledDate(year)), getRangeCls(year)),
139
+ className: (0, _classnames3.default)("".concat(prefixCls, "-year-item"), (0, _defineProperty2.default)({}, "".concat(prefixCls, "-year-item-disabled"), disabledDate && disabledDate(year, disabledInfo)), getRangeCls(year)),
136
140
  key: y
137
141
  }, _props), typeof cellRender === 'function' ? cellRender(y, {
138
142
  originNode: originNode,
@@ -477,7 +477,9 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
477
477
  prefixCls: datePickerPrefixCls,
478
478
  components: components,
479
479
  needConfirmButton: needConfirmButton,
480
- okDisabled: !(0, _utils2.getValue)(selectedValue, mergedActivePickerIndex) || !!(selectedValue && selectedValue[mergedActivePickerIndex] && disabledDate && disabledDate(selectedValue[mergedActivePickerIndex])),
480
+ okDisabled: !(0, _utils2.getValue)(selectedValue, mergedActivePickerIndex) || !!(selectedValue && selectedValue[mergedActivePickerIndex] && disabledDate && disabledDate(selectedValue[mergedActivePickerIndex], {
481
+ range: mergedActivePickerIndex === 0 ? 'start' : 'end'
482
+ })),
481
483
  locale: datePickerLang,
482
484
  // rangeList,
483
485
  onOk: function onOk() {
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { DateType, InputCommonProps, OutInputCommonProps } from '../interface';
3
+ import { DisabledDataProps } from '../date-picker';
3
4
  export interface InputDateProps extends OutInputCommonProps, InputCommonProps {
4
5
  inputRef: React.RefObject<HTMLInputElement>;
5
6
  text: string;
@@ -8,7 +9,7 @@ export interface InputDateProps extends OutInputCommonProps, InputCommonProps {
8
9
  disabled?: boolean;
9
10
  hoverValue?: string;
10
11
  placeholder?: string;
11
- disabledDate?: (currentDate: DateType) => boolean;
12
+ disabledDate?: DisabledDataProps;
12
13
  resetText: () => void;
13
14
  setSelectedValue: (date: DateType | null) => void;
14
15
  triggerTextChange: (value: string) => void;
@@ -0,0 +1,54 @@
1
+ import React from 'react';
2
+ export declare const Placements: ["top", "left", "right", "bottom", "topLeft", "topRight", "bottomLeft", "bottomRight", "leftTop", "leftBottom", "rightTop", "rightBottom"];
3
+ export declare type PlacementType = typeof Placements[number];
4
+ export declare const Triggers: ["hover", "focus", "click", "contextMenu"];
5
+ export declare type TriggerType = typeof Triggers[number];
6
+ export declare type RenderFunction = () => React.ReactNode;
7
+ export declare type PopperProps = {
8
+ gap?: number;
9
+ arrow?: boolean;
10
+ visible?: boolean;
11
+ prefixCls?: string;
12
+ arrowSize?: number;
13
+ disabled?: boolean;
14
+ arrowOffset?: number;
15
+ scrollHidden?: boolean;
16
+ mouseEnterDelay?: number;
17
+ mouseLeaveDelay?: number;
18
+ defaultVisible?: boolean;
19
+ autoPlacement?: boolean;
20
+ className?: string;
21
+ style?: React.CSSProperties;
22
+ popperClassName?: string;
23
+ popperStyle?: React.CSSProperties;
24
+ placement?: PlacementType;
25
+ tip?: any;
26
+ trigger?: TriggerType | Array<TriggerType>;
27
+ clickToClose?: boolean;
28
+ onTrigger?: (trigger: TriggerType) => void;
29
+ onVisibleChange?: (visible: boolean) => void;
30
+ getTriggerElement?: (locatorNode: HTMLElement) => HTMLElement;
31
+ getPopupContainer?: (locatorNode: HTMLElement) => HTMLElement;
32
+ onTransitionEnd?: (e: React.TransitionEvent) => void;
33
+ onAnimationEnd?: (e: React.AnimationEvent) => void;
34
+ children?: React.ReactNode;
35
+ };
36
+ export interface TriggerContextProps {
37
+ registerSubPopup: (id: string, node: any) => void;
38
+ }
39
+ export declare const popperPlacementMap: {
40
+ top: string;
41
+ left: string;
42
+ right: string;
43
+ bottom: string;
44
+ topLeft: string;
45
+ topRight: string;
46
+ bottomLeft: string;
47
+ bottomRight: string;
48
+ leftTop: string;
49
+ leftBottom: string;
50
+ rightTop: string;
51
+ rightBottom: string;
52
+ };
53
+ export declare const Popper: React.ForwardRefExoticComponent<PopperProps & React.RefAttributes<unknown>>;
54
+ export default Popper;