@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
@@ -0,0 +1,2 @@
1
+ declare const _default: (id?: string | undefined) => any;
2
+ export default _default;
@@ -0,0 +1,30 @@
1
+ import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
2
+ import _extends from "@babel/runtime-corejs3/helpers/extends";
3
+ import * as React from 'react';
4
+ function getUseId() {
5
+ var fullClone = _extends({}, React);
6
+ return fullClone === null || fullClone === void 0 ? void 0 : fullClone.useId;
7
+ }
8
+ var uuid = 0;
9
+ var useOriginId = getUseId();
10
+ export default useOriginId ? function useId(id) {
11
+ var reactId = useOriginId();
12
+ if (id) {
13
+ return id;
14
+ }
15
+ return reactId;
16
+ } : function useCompatId(id) {
17
+ var _React$useState = React.useState('ssr-id'),
18
+ _React$useState2 = _slicedToArray(_React$useState, 2),
19
+ innerId = _React$useState2[0],
20
+ setInnerId = _React$useState2[1];
21
+ React.useEffect(function () {
22
+ var nextId = uuid;
23
+ uuid += 1;
24
+ setInnerId("kd_unique_".concat(nextId));
25
+ }, []);
26
+ if (id) {
27
+ return id;
28
+ }
29
+ return innerId;
30
+ };
@@ -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)[];
@@ -24,7 +24,8 @@ export default function useRangeDisabled(_ref, disabledStart, disabledEnd) {
24
24
  return year * 10 + quarter;
25
25
  }
26
26
  var disabledStartDate = React.useCallback(function (date) {
27
- if (disabledDate && disabledDate(date)) {
27
+ var info = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
28
+ if (disabledDate && disabledDate(date, info)) {
28
29
  return true;
29
30
  }
30
31
  if (disabled[1] && endDate) {
@@ -47,7 +48,8 @@ export default function useRangeDisabled(_ref, disabledStart, disabledEnd) {
47
48
  // eslint-disable-next-line react-hooks/exhaustive-deps
48
49
  [disabledDate, disabled[1], endDate, disabledStart]);
49
50
  var disabledEndDate = React.useCallback(function (date) {
50
- if (disabledDate && disabledDate(date)) {
51
+ var info = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
52
+ if (disabledDate && disabledDate(date, info)) {
51
53
  return true;
52
54
  }
53
55
  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;
@@ -23,6 +23,10 @@ function Month(props) {
23
23
  setInnerPicker = context.setInnerPicker,
24
24
  cellRender = context.cellRender,
25
25
  range = context.range;
26
+ var disabledInfo = {
27
+ panelType: 'month',
28
+ range: range
29
+ };
26
30
  var disabledDate = props.disabledDate;
27
31
  var _dateValue;
28
32
  if (panelPosition) {
@@ -79,7 +83,7 @@ function Month(props) {
79
83
  });
80
84
  var handleClick = function handleClick(date) {
81
85
  if (innerPicker === undefined) {
82
- if (!(disabledDate && disabledDate(date))) {
86
+ if (!(disabledDate && disabledDate(date, disabledInfo))) {
83
87
  onSelect(date, 'mouse');
84
88
  }
85
89
  } else {
@@ -103,7 +107,7 @@ function Month(props) {
103
107
  return handleClick(month);
104
108
  },
105
109
  onMouseEnter: function onMouseEnter() {
106
- if (onDateMouseEnter && !(disabledDate && disabledDate(month))) {
110
+ if (onDateMouseEnter && !(disabledDate && disabledDate(month, disabledInfo))) {
107
111
  onDateMouseEnter(month);
108
112
  }
109
113
  },
@@ -113,7 +117,7 @@ function Month(props) {
113
117
  }
114
118
  }
115
119
  };
116
- var monthItemCls = classnames("".concat(prefixCls, "-month-item"), _defineProperty({}, "".concat(prefixCls, "-month-item-disabled"), disabledDate && disabledDate(month)), getRangeCls(month));
120
+ var monthItemCls = classnames("".concat(prefixCls, "-month-item"), _defineProperty({}, "".concat(prefixCls, "-month-item-disabled"), disabledDate && disabledDate(month, disabledInfo)), getRangeCls(month));
117
121
  var originNode = /*#__PURE__*/React.createElement("span", {
118
122
  className: getMonthClassNames(m)
119
123
  }, "".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;
@@ -20,6 +20,10 @@ function Quarter(props) {
20
20
  hoverRangedValue = context.hoverRangedValue,
21
21
  cellRender = context.cellRender,
22
22
  range = context.range;
23
+ var disabledInfo = {
24
+ panelType: 'quarter',
25
+ range: range
26
+ };
23
27
  var disabledDate = props.disabledDate;
24
28
  var _dateValue;
25
29
  if (panelPosition) {
@@ -75,7 +79,7 @@ function Quarter(props) {
75
79
  }
76
80
  });
77
81
  var handleClick = function handleClick(date) {
78
- if (!(disabledDate && disabledDate(date))) {
82
+ if (!(disabledDate && disabledDate(date, disabledInfo))) {
79
83
  onSelect(date, 'mouse');
80
84
  }
81
85
  };
@@ -87,7 +91,7 @@ function Quarter(props) {
87
91
  return handleClick(quarter);
88
92
  },
89
93
  onMouseEnter: function onMouseEnter() {
90
- if (onDateMouseEnter && !(disabledDate && disabledDate(quarter))) {
94
+ if (onDateMouseEnter && !(disabledDate && disabledDate(quarter, disabledInfo))) {
91
95
  onDateMouseEnter(quarter);
92
96
  }
93
97
  },
@@ -97,7 +101,7 @@ function Quarter(props) {
97
101
  }
98
102
  }
99
103
  };
100
- var quarterCls = classnames("".concat(prefixCls, "-quarter-item"), _defineProperty({}, "".concat(prefixCls, "-quarter-item-disabled"), disabledDate && disabledDate(quarter)), getRangeCls(quarter));
104
+ var quarterCls = classnames("".concat(prefixCls, "-quarter-item"), _defineProperty({}, "".concat(prefixCls, "-quarter-item-disabled"), disabledDate && disabledDate(quarter, disabledInfo)), getRangeCls(quarter));
101
105
  var originNode = /*#__PURE__*/React.createElement("div", _extends({
102
106
  className: getQuarterClassNames(i + 1)
103
107
  }, _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;
@@ -21,6 +21,10 @@ function Year(props) {
21
21
  setInnerPicker = context.setInnerPicker,
22
22
  cellRender = context.cellRender,
23
23
  range = context.range;
24
+ var disabledInfo = {
25
+ panelType: 'year',
26
+ range: range
27
+ };
24
28
  var yearItemNumber = props.yearItemNumber,
25
29
  disabledDate = props.disabledDate,
26
30
  _props$picker = props.picker,
@@ -80,7 +84,7 @@ function Year(props) {
80
84
  });
81
85
  var handleClick = function handleClick(date) {
82
86
  if (innerPicker === undefined) {
83
- if (!(disabledDate && disabledDate(date))) {
87
+ if (!(disabledDate && disabledDate(date, disabledInfo))) {
84
88
  onSelect(date, 'mouse');
85
89
  }
86
90
  } else {
@@ -106,7 +110,7 @@ function Year(props) {
106
110
  return handleClick(year);
107
111
  },
108
112
  onMouseEnter: function onMouseEnter() {
109
- if (onDateMouseEnter && !(disabledDate && disabledDate(year))) {
113
+ if (onDateMouseEnter && !(disabledDate && disabledDate(year, disabledInfo))) {
110
114
  onDateMouseEnter(year);
111
115
  }
112
116
  },
@@ -120,7 +124,7 @@ function Year(props) {
120
124
  className: getYearClassNames(y)
121
125
  }, y);
122
126
  yearsList.push( /*#__PURE__*/React.createElement("div", _extends({
123
- className: classnames("".concat(prefixCls, "-year-item"), _defineProperty({}, "".concat(prefixCls, "-year-item-disabled"), disabledDate && disabledDate(year)), getRangeCls(year)),
127
+ className: classnames("".concat(prefixCls, "-year-item"), _defineProperty({}, "".concat(prefixCls, "-year-item-disabled"), disabledDate && disabledDate(year, disabledInfo)), getRangeCls(year)),
124
128
  key: y
125
129
  }, _props), typeof cellRender === 'function' ? cellRender(y, {
126
130
  originNode: originNode,
@@ -465,7 +465,9 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
465
465
  prefixCls: datePickerPrefixCls,
466
466
  components: components,
467
467
  needConfirmButton: needConfirmButton,
468
- okDisabled: !getValue(selectedValue, mergedActivePickerIndex) || !!(selectedValue && selectedValue[mergedActivePickerIndex] && disabledDate && disabledDate(selectedValue[mergedActivePickerIndex])),
468
+ okDisabled: !getValue(selectedValue, mergedActivePickerIndex) || !!(selectedValue && selectedValue[mergedActivePickerIndex] && disabledDate && disabledDate(selectedValue[mergedActivePickerIndex], {
469
+ range: mergedActivePickerIndex === 0 ? 'start' : 'end'
470
+ })),
469
471
  locale: datePickerLang,
470
472
  // rangeList,
471
473
  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;