@king-design/intact 3.1.5 → 3.1.6

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.
@@ -533,6 +533,9 @@ describe('Datepicker', () => {
533
533
  const first = calendar1.querySelectorAll('.k-calendar-item')[17] as HTMLElement;
534
534
  const second = calendar2.querySelectorAll('.k-calendar-item')[17] as HTMLElement;
535
535
  first.click();
536
+ // should stay at date panel
537
+ await wait();
538
+ expect(calendar1.querySelector('.k-days')).be.exist;
536
539
  second.click();
537
540
  await wait();
538
541
  dispatchEvent(calendar1.querySelector<HTMLElement>('.k-scroll-select-wrapper .k-active')!.nextElementSibling!, 'click');
@@ -75,7 +75,15 @@ export function useValue(
75
75
  setValue(_value, false);
76
76
 
77
77
  if (type === 'datetime') {
78
- panel.changePanel(PanelTypes.Time, flag);
78
+ if (range) {
79
+ // only change to time panel after selected start and end date
80
+ if ((_value as StateValueRange).length === 2) {
81
+ panel.changePanel(PanelTypes.Time, PanelFlags.Start);
82
+ panel.changePanel(PanelTypes.Time, PanelFlags.End);
83
+ }
84
+ } else {
85
+ panel.changePanel(PanelTypes.Time, flag);
86
+ }
79
87
  } else if (!multiple && (!range || (_value as StateValueRange).length === 2)) {
80
88
  instance.hide();
81
89
  }
@@ -0,0 +1,45 @@
1
+ import { TypeDefs } from 'intact';
2
+ import { BaseSelect, BaseSelectProps, BaseSelectEvents, BaseSelectBlocks } from '../select/base';
3
+ export interface CascaderProps<V = any, Multipe extends boolean = boolean, Data extends BaseCascaderData = CascaderData<V>> extends BaseSelectProps<V[], Multipe> {
4
+ data?: Data[];
5
+ trigger?: 'click' | 'hover';
6
+ changeOnSelect?: boolean;
7
+ format?: (labels: string[]) => string;
8
+ loadData?: (data: Data) => any;
9
+ filter?: (keywords: string, data: Data) => boolean;
10
+ fields?: CascaderFields<Data>;
11
+ }
12
+ export type CascaderFields<Data> = {
13
+ value?: keyof Data;
14
+ label?: keyof Data;
15
+ children?: keyof Data;
16
+ disabled?: keyof Data;
17
+ };
18
+ export interface BaseCascaderData {
19
+ loaded?: boolean;
20
+ [key: string]: any;
21
+ }
22
+ export interface CascaderData<V> extends BaseCascaderData {
23
+ value: V;
24
+ label: string;
25
+ children?: CascaderData<V>[];
26
+ disabled?: boolean;
27
+ }
28
+ export interface CascaderEvents extends BaseSelectEvents {
29
+ }
30
+ export interface CascaderBlocks<V> extends BaseSelectBlocks<V> {
31
+ }
32
+ export declare class Cascader<V = any, Multipe extends boolean = false, Data extends BaseCascaderData = CascaderData<V>> extends BaseSelect<CascaderProps<V, Multipe, Data>, CascaderEvents, CascaderBlocks<V>> {
33
+ static template: string | import("intact").Template<any>;
34
+ static typeDefs: Required<TypeDefs<CascaderProps<any, boolean, CascaderData<any>>>>;
35
+ static defaults: () => Partial<CascaderProps<any, boolean, CascaderData<any>>>;
36
+ private fields;
37
+ private value;
38
+ private label;
39
+ private load;
40
+ private filterable;
41
+ private positionObj;
42
+ protected getPlaceholder(): string | number | boolean | import("misstime/dist/utils/types").VNode<any> | import("intact").Children[];
43
+ protected getLabel(): import("intact").Children;
44
+ protected hasValue(): any;
45
+ }
@@ -0,0 +1,63 @@
1
+ import { TypeDefs } from 'intact';
2
+ import dayjs from './dayjs';
3
+ import { State } from '../../hooks/useState';
4
+ import { Shortcut } from './shortcuts';
5
+ import { BasePicker, BasePickerProps, BasePickerEvents, BasePickerBlocks, Value } from './basepicker';
6
+ export * as shortcuts from './shortcuts';
7
+ export interface DatepickerProps<V extends Value = Value, M extends boolean = boolean, R extends boolean = boolean> extends BasePickerProps<V extends string ? V : V | string, M, R> {
8
+ type?: 'date' | 'datetime' | 'year' | 'month';
9
+ shortcuts?: Shortcut[];
10
+ }
11
+ export interface DatepickerEvents extends BasePickerEvents {
12
+ }
13
+ export interface DatepickerBlocks<V extends Value = Value, R extends boolean = boolean> extends BasePickerBlocks<V, R> {
14
+ }
15
+ export declare class Datepicker<V extends Value = Value, M extends boolean = false, R extends boolean = false> extends BasePicker<DatepickerProps<V, M, R>, DatepickerEvents, DatepickerBlocks<V, R>> {
16
+ static template: string | import("intact").Template<any>;
17
+ static typeDefs: Required<TypeDefs<DatepickerProps<Value, boolean, boolean>>>;
18
+ static defaults: () => Partial<DatepickerProps<Value, boolean, boolean>>;
19
+ formats: {
20
+ getValueFormat: () => string;
21
+ getShowFormat: () => string;
22
+ createDateByValueFormat: (value: Value) => dayjs.Dayjs;
23
+ createDateByShowFormat: (value: string) => dayjs.Dayjs;
24
+ getShowString: (value: dayjs.Dayjs) => string;
25
+ getValueString: (value: dayjs.Dayjs) => string;
26
+ };
27
+ disabled: {
28
+ isDisabled: (value: dayjs.Dayjs, type?: dayjs.OpUnitType) => boolean;
29
+ isDisabledTime: (value: dayjs.Dayjs, flag: import("./usePanel").PanelFlags) => boolean;
30
+ isDisabledConfirm: () => boolean;
31
+ maxDate: State<dayjs.Dayjs | null>;
32
+ minDate: State<dayjs.Dayjs | null>;
33
+ };
34
+ panel: {
35
+ startPanel: State<import("./usePanel").PanelTypes>;
36
+ endPanel: State<import("./usePanel").PanelTypes>;
37
+ changePanel: (type: import("./usePanel").PanelTypes, flag?: import("./usePanel").PanelFlags) => void;
38
+ getPanel: (flag: import("./usePanel").PanelFlags) => State<import("./usePanel").PanelTypes>;
39
+ reset: () => void;
40
+ startRef: import("intact").RefObject<import("./calendar").DatepickerCalendar>;
41
+ endRef: import("intact").RefObject<import("./calendar").DatepickerCalendar>;
42
+ };
43
+ focusDate: {
44
+ focusDate: State<dayjs.Dayjs | null>;
45
+ reset: () => void;
46
+ };
47
+ value: {
48
+ format: () => string | string[];
49
+ onConfirm: () => void;
50
+ onChangeTime: (date: dayjs.Dayjs, flag: import("./usePanel").PanelFlags) => void;
51
+ getTimeValue: (flag: import("./usePanel").PanelFlags) => dayjs.Dayjs | null | undefined;
52
+ convertToDayjs: (v: Value | [Value, Value] | Value[] | [Value, Value][] | null | undefined) => import("./basepicker").DayjsValue;
53
+ getDayjsValue: () => import("./basepicker").DayjsValue;
54
+ value: State<import("./basepicker").StateValue>;
55
+ setValue: (v: import("./basepicker").StateValueItem, fromInput: boolean) => void;
56
+ onChangeDate: (v: dayjs.Dayjs, flag: import("./usePanel").PanelFlags) => void;
57
+ };
58
+ init(): void;
59
+ protected getPlaceholder(): string | number | boolean | import("misstime/dist/utils/types").VNode<any> | import("intact").Children[];
60
+ protected getLabel(): string | string[];
61
+ protected clear(e: MouseEvent): void;
62
+ private setByShortcut;
63
+ }
@@ -801,22 +801,27 @@ describe('Datepicker', function () {
801
801
  first = calendar1.querySelectorAll('.k-calendar-item')[17];
802
802
  second = calendar2.querySelectorAll('.k-calendar-item')[17];
803
803
  first.click();
804
+ // should stay at date panel
805
+ _context21.next = 12;
806
+ return wait();
807
+ case 12:
808
+ expect(calendar1.querySelector('.k-days')).be.exist;
804
809
  second.click();
805
- _context21.next = 13;
810
+ _context21.next = 16;
806
811
  return wait();
807
- case 13:
812
+ case 16:
808
813
  dispatchEvent(calendar1.querySelector('.k-scroll-select-wrapper .k-active').nextElementSibling, 'click');
809
814
  dispatchEvent(calendar2.querySelector('.k-scroll-select-wrapper .k-active').previousElementSibling, 'click');
810
815
  content.querySelector('.k-datepicker-footer .k-btn').click();
811
- _context21.next = 18;
816
+ _context21.next = 21;
812
817
  return wait();
813
- case 18:
818
+ case 21:
814
819
  value2 = instance.get('time');
815
820
  expect(value2).have.lengthOf(2);
816
821
  expect(_mapInstanceProperty(value2).call(value2, function (item) {
817
822
  return item.split(' ')[1];
818
823
  })).eql(['01:00:00', '22:59:59']);
819
- case 21:
824
+ case 24:
820
825
  case "end":
821
826
  return _context21.stop();
822
827
  }
@@ -61,7 +61,15 @@ export function useValue(formats, disabled, panel) {
61
61
  }
62
62
  setValue(_value, false);
63
63
  if (type === 'datetime') {
64
- panel.changePanel(PanelTypes.Time, flag);
64
+ if (range) {
65
+ // only change to time panel after selected start and end date
66
+ if (_value.length === 2) {
67
+ panel.changePanel(PanelTypes.Time, PanelFlags.Start);
68
+ panel.changePanel(PanelTypes.Time, PanelFlags.End);
69
+ }
70
+ } else {
71
+ panel.changePanel(PanelTypes.Time, flag);
72
+ }
65
73
  } else if (!multiple && (!range || _value.length === 2)) {
66
74
  instance.hide();
67
75
  }
@@ -10,7 +10,7 @@ export * from './shapes/rectangle';
10
10
  export * from './shapes/square';
11
11
  export * from './shapes/text';
12
12
  export * from './shapes/line';
13
- declare const DDiamond: import("vdt").ComponentConstructor<import("./shapes/shape").DShape<import("./shapes/shape").DShapeProps>>, DTriangle: import("vdt").ComponentConstructor<import("./shapes/shape").DShape<import("./shapes/shape").DShapeProps>>, DCylinder: import("vdt").ComponentConstructor<import("./shapes/shape").DShape<import("./shapes/shape").DShapeProps>>, DCloud: import("vdt").ComponentConstructor<import("./shapes/shape").DShape<import("./shapes/shape").DShapeProps>>;
13
+ declare const DDiamond: import("misstime").ComponentConstructor<import("./shapes/shape").DShape<import("./shapes/shape").DShapeProps>>, DTriangle: import("misstime").ComponentConstructor<import("./shapes/shape").DShape<import("./shapes/shape").DShapeProps>>, DCylinder: import("misstime").ComponentConstructor<import("./shapes/shape").DShape<import("./shapes/shape").DShapeProps>>, DCloud: import("misstime").ComponentConstructor<import("./shapes/shape").DShape<import("./shapes/shape").DShapeProps>>;
14
14
  export { DDiamond, DTriangle, DCylinder, DCloud };
15
15
  export * from './layouts/layout';
16
16
  export * from './layouts/circle';
@@ -0,0 +1,33 @@
1
+ import { Children, TypeDefs } from 'intact';
2
+ import { Option } from './option';
3
+ import { BaseSelect, BaseSelectProps, BaseSelectEvents, BaseSelectBlocks } from './base';
4
+ export interface SelectProps<T = string, Multipe extends boolean = boolean> extends BaseSelectProps<T, Multipe> {
5
+ filter?: (keywords: string, props: any) => boolean;
6
+ searchable?: boolean;
7
+ creatable?: boolean;
8
+ labelMap?: Map<any, Children>;
9
+ card?: boolean;
10
+ autoDisableArrow?: boolean;
11
+ }
12
+ export interface SelectEvents extends BaseSelectEvents {
13
+ }
14
+ export interface SelectBlocks<T> extends BaseSelectBlocks<T> {
15
+ menu: null;
16
+ }
17
+ export declare class Select<T = string, Multipe extends boolean = false> extends BaseSelect<SelectProps<T, Multipe>, SelectEvents, SelectBlocks<T>> {
18
+ static template: string | import("intact").Template<any>;
19
+ static typeDefs: Required<TypeDefs<SelectProps<string, boolean>>>;
20
+ static defaults: () => Partial<SelectProps<string, boolean>>;
21
+ filterable: {
22
+ getCreatedVNode: (children: (string | number | import("intact").VNode<import("intact").VNodeTag>)[]) => import("intact").VNode<typeof Option> | undefined;
23
+ filter: (children: Children) => Children;
24
+ };
25
+ label: {
26
+ getLabel: () => Children;
27
+ activeIndices: import("intact").NonNullableRefObject<number[]>;
28
+ };
29
+ init(): void;
30
+ protected getPlaceholder(): string | number | boolean | import("misstime/dist/utils/types").VNode<any> | Children[];
31
+ protected getLabel(): Children;
32
+ private getAllShowedValues;
33
+ }
@@ -1,5 +1,5 @@
1
1
  export declare const context: {
2
- Provider: import("vdt").ComponentConstructor<import("intact").Component<import("../context").ProviderProps<any>, {}, {}, {}>>;
3
- Consumer: import("vdt").ComponentConstructor<import("intact").Component<import("../context").ConsumerProps<any>, {}, {}, {}>>;
4
- useContext: () => import("vdt").RefObject<any>;
2
+ Provider: import("misstime").ComponentConstructor<import("intact").Component<import("../context").ProviderProps<any>, {}, {}, {}>>;
3
+ Consumer: import("misstime").ComponentConstructor<import("intact").Component<import("../context").ConsumerProps<any>, {}, {}, {}>>;
4
+ useContext: () => import("misstime").RefObject<any>;
5
5
  };
@@ -0,0 +1,54 @@
1
+ import { TypeDefs } from 'intact';
2
+ import { BasePicker } from '../datepicker/basepicker';
3
+ import dayjs from '../datepicker/dayjs';
4
+ import { State } from '../../hooks/useState';
5
+ import { PanelTypes } from '../datepicker/usePanel';
6
+ import { TimepickerProps, TimepickerEvents, TimepickerBlocks } from './constants';
7
+ export declare class PanelPicker<Multipe extends boolean = false, Range extends boolean = false> extends BasePicker<TimepickerProps<Multipe, Range>, TimepickerEvents, TimepickerBlocks> {
8
+ static template: string | import("intact").Template<any>;
9
+ static typeDefs: Required<TypeDefs<TimepickerProps<boolean, boolean>>>;
10
+ formats: {
11
+ getValueFormat: () => string;
12
+ getShowFormat: () => string;
13
+ createDateByValueFormat: (value: import("../datepicker/basepicker").Value) => dayjs.Dayjs;
14
+ createDateByShowFormat: (value: import("../datepicker/basepicker").Value) => dayjs.Dayjs;
15
+ getShowString: (value: dayjs.Dayjs) => string;
16
+ getValueString: (value: dayjs.Dayjs) => string;
17
+ };
18
+ disabled: {
19
+ isDisabled: (value: dayjs.Dayjs, type?: dayjs.OpUnitType) => boolean;
20
+ isDisabledConfirm: () => boolean;
21
+ maxDate: State<dayjs.Dayjs | null>;
22
+ minDate: State<dayjs.Dayjs | null>;
23
+ isDisabledTime: (value: dayjs.Dayjs, flag: import("../datepicker/usePanel").PanelFlags) => boolean;
24
+ isDisabledTimeByStep: (value: string, flag: import("../datepicker/usePanel").PanelFlags) => boolean;
25
+ };
26
+ panel: {
27
+ startPanel: State<PanelTypes>;
28
+ endPanel: State<PanelTypes>;
29
+ changePanel: (type: PanelTypes, flag?: import("../datepicker/usePanel").PanelFlags) => void;
30
+ getPanel: (flag: import("../datepicker/usePanel").PanelFlags) => State<PanelTypes>;
31
+ reset: () => void;
32
+ startRef: import("intact").RefObject<import("../datepicker/calendar").DatepickerCalendar>;
33
+ endRef: import("intact").RefObject<import("../datepicker/calendar").DatepickerCalendar>;
34
+ };
35
+ value: {
36
+ format: () => string | string[];
37
+ onConfirm: () => void;
38
+ getTimeValue: (flag: import("../datepicker/usePanel").PanelFlags) => dayjs.Dayjs | null | undefined;
39
+ convertToDayjs: (v: import("../datepicker/basepicker").Value | [import("../datepicker/basepicker").Value, import("../datepicker/basepicker").Value] | import("../datepicker/basepicker").Value[] | [import("../datepicker/basepicker").Value, import("../datepicker/basepicker").Value][] | null | undefined) => import("../datepicker/basepicker").DayjsValue;
40
+ value: State<import("../datepicker/basepicker").StateValue>;
41
+ setValue: (v: import("../datepicker/basepicker").StateValueItem, fromInput: boolean) => void;
42
+ getDayjsValue: () => import("../datepicker/basepicker").DayjsValue;
43
+ onChangeTime: (date: dayjs.Dayjs, flag: import("../datepicker/usePanel").PanelFlags) => void;
44
+ onChangeTimeByStep: (v: string, flag: import("../datepicker/usePanel").PanelFlags) => void;
45
+ };
46
+ step: {
47
+ options: State<{
48
+ value: string;
49
+ label: string;
50
+ }[] | null>;
51
+ };
52
+ protected getPlaceholder(): string | number | boolean | import("misstime/dist/utils/types").VNode<any> | import("intact").Children[];
53
+ protected getLabel(): string | string[];
54
+ }
@@ -0,0 +1,28 @@
1
+ import { TypeDefs, Children, Key } from 'intact';
2
+ import { BaseSelect, BaseSelectProps, BaseSelectEvents, BaseSelectBlocks } from '../select/base';
3
+ import { TreeProps } from '../tree';
4
+ import type { DataItem } from '../tree/useNodes';
5
+ export interface TreeSelectProps<K extends Key = Key, Multipe extends boolean = boolean, Checkbox extends boolean = boolean> extends BaseSelectProps<K, Multipe, Checkbox extends true ? K[] : K | null> {
6
+ data?: TreeProps<K>['data'];
7
+ uncorrelated?: boolean;
8
+ load?: TreeProps<K>['load'];
9
+ showLine?: boolean;
10
+ defaultExpandAll?: boolean;
11
+ checkbox?: Checkbox;
12
+ filter?: (keywords: string, data: DataItem<K>) => boolean;
13
+ }
14
+ export interface TreeSelectEvents extends BaseSelectEvents {
15
+ }
16
+ export interface TreeSelectBlocks<K> extends BaseSelectBlocks<K> {
17
+ }
18
+ export declare class TreeSelect<K extends Key = Key, Checkbox extends boolean = false, Multipe extends boolean = Checkbox extends true ? true : false> extends BaseSelect<TreeSelectProps<K, Multipe, Checkbox>, TreeSelectEvents, TreeSelectBlocks<K>> {
19
+ static template: string | import("intact").Template<any>;
20
+ static typeDefs: Required<TypeDefs<TreeSelectProps<Key, boolean, boolean>>>;
21
+ static defaults: () => Partial<TreeSelectProps<Key, boolean, boolean>>;
22
+ private value;
23
+ init(): void;
24
+ expandAll(): void;
25
+ protected getPlaceholder(): string | number | boolean | import("misstime/dist/utils/types").VNode<any> | Children[];
26
+ protected getLabel(): Children;
27
+ private filter;
28
+ }
package/es/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @king-design v3.1.5
2
+ * @king-design v3.1.6
3
3
  *
4
4
  * Copyright (c) Kingsoft Cloud
5
5
  * Released under the MIT License
@@ -60,4 +60,4 @@ export * from './components/tree';
60
60
  export * from './components/treeSelect';
61
61
  export * from './components/upload';
62
62
  export * from './components/wave';
63
- export declare const version = "3.1.5";
63
+ export declare const version = "3.1.6";
package/es/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @king-design v3.1.5
2
+ * @king-design v3.1.6
3
3
  *
4
4
  * Copyright (c) Kingsoft Cloud
5
5
  * Released under the MIT License
@@ -61,5 +61,5 @@ export * from './components/tree';
61
61
  export * from './components/treeSelect';
62
62
  export * from './components/upload';
63
63
  export * from './components/wave';
64
- export var version = '3.1.5';
64
+ export var version = '3.1.6';
65
65
  /* generate end */
@@ -12,10 +12,10 @@ describe('Drawer', function () {
12
12
  container = document.createElement('div');
13
13
  document.body.appendChild(container);
14
14
  });
15
- // afterEach(() => {
16
- // ReactDOM.unmountComponentAtNode(container);
17
- // document.body.removeChild(container);
18
- // });
15
+ afterEach(function () {
16
+ ReactDOM.unmountComponentAtNode(container);
17
+ document.body.removeChild(container);
18
+ });
19
19
  it('should render react element correctly', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
20
20
  var Test, App;
21
21
  return _regeneratorRuntime.wrap(function _callee$(_context) {
@@ -3,7 +3,7 @@ import { MenuProps } from '@king-design/react';
3
3
  interface Props extends MenuProps {
4
4
  }
5
5
  export default class Demo extends React.Component<{}, Props> {
6
- state: MenuProps<import("vdt").Key>;
6
+ state: MenuProps<import("misstime").Key>;
7
7
  private __test;
8
8
  setTheme(theme?: string): void;
9
9
  render(): React.JSX.Element;
@@ -2,6 +2,6 @@ import React from 'react';
2
2
  import './index.styl';
3
3
  import type { MenuProps } from '@king-design/react';
4
4
  export default class Demo extends React.Component {
5
- state: MenuProps<import("vdt").Key>;
5
+ state: MenuProps<import("misstime").Key>;
6
6
  render(): React.JSX.Element;
7
7
  }
package/index.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @king-design v3.1.5
2
+ * @king-design v3.1.6
3
3
  *
4
4
  * Copyright (c) Kingsoft Cloud
5
5
  * Released under the MIT License
@@ -65,6 +65,6 @@ export * from './components/treeSelect';
65
65
  export * from './components/upload';
66
66
  export * from './components/wave';
67
67
 
68
- export const version = '3.1.5';
68
+ export const version = '3.1.6';
69
69
 
70
70
  /* generate end */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@king-design/intact",
3
- "version": "3.1.5",
3
+ "version": "3.1.6",
4
4
  "description": "A component library written in Intact for Intact, Vue, React and Angular",
5
5
  "main": "es/index.js",
6
6
  "engines": {
@@ -178,10 +178,9 @@
178
178
  "dependencies": {
179
179
  "@babel/runtime-corejs3": "^7.16.0",
180
180
  "@emotion/css": "^11.5.0",
181
- "@king-design/react": "^3.1.5",
182
181
  "dayjs": "^1.10.7",
183
182
  "enquire.js": "^2.1.6",
184
- "intact": "^3.0.28",
183
+ "intact": "^3.0.29",
185
184
  "monaco-editor": "^0.26.1",
186
185
  "mxgraphx": "^4.0.7",
187
186
  "resize-observer-polyfill": "^1.5.1",