@hi-ui/cascader 4.0.0-alpha.28 → 4.0.0-alpha.29

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 (52) hide show
  1. package/README.md +21 -20
  2. package/lib/cjs/Cascader.js +86 -135
  3. package/lib/cjs/Cascader.js.map +1 -1
  4. package/lib/cjs/context.js.map +1 -1
  5. package/lib/cjs/hooks/use-async-switch.js +6 -33
  6. package/lib/cjs/hooks/use-async-switch.js.map +1 -1
  7. package/lib/cjs/hooks/use-select.js +3 -1
  8. package/lib/cjs/hooks/use-select.js.map +1 -1
  9. package/lib/cjs/index.js +0 -4
  10. package/lib/cjs/index.js.map +1 -1
  11. package/lib/cjs/styles/index.scss.js +1 -1
  12. package/lib/cjs/use-cascader.js +28 -70
  13. package/lib/cjs/use-cascader.js.map +1 -1
  14. package/lib/cjs/utils/index.js +5 -12
  15. package/lib/cjs/utils/index.js.map +1 -1
  16. package/lib/esm/Cascader.js +91 -135
  17. package/lib/esm/Cascader.js.map +1 -1
  18. package/lib/esm/context.js.map +1 -1
  19. package/lib/esm/hooks/use-async-switch.js +6 -34
  20. package/lib/esm/hooks/use-async-switch.js.map +1 -1
  21. package/lib/esm/hooks/use-select.js +2 -1
  22. package/lib/esm/hooks/use-select.js.map +1 -1
  23. package/lib/esm/index.js +1 -2
  24. package/lib/esm/index.js.map +1 -1
  25. package/lib/esm/styles/index.scss.js +1 -1
  26. package/lib/esm/use-cascader.js +24 -65
  27. package/lib/esm/use-cascader.js.map +1 -1
  28. package/lib/esm/utils/index.js +5 -12
  29. package/lib/esm/utils/index.js.map +1 -1
  30. package/lib/types/Cascader.d.ts +8 -56
  31. package/lib/types/context.d.ts +25 -586
  32. package/lib/types/hooks/index.d.ts +0 -2
  33. package/lib/types/hooks/use-async-switch.d.ts +1 -1
  34. package/lib/types/index.d.ts +0 -1
  35. package/lib/types/use-cascader.d.ts +47 -294
  36. package/lib/types/utils/index.d.ts +0 -4
  37. package/package.json +13 -12
  38. package/lib/cjs/CascaderPanel.js +0 -81
  39. package/lib/cjs/CascaderPanel.js.map +0 -1
  40. package/lib/cjs/hooks/use-cache.js +0 -37
  41. package/lib/cjs/hooks/use-cache.js.map +0 -1
  42. package/lib/cjs/hooks/use-search.js +0 -116
  43. package/lib/cjs/hooks/use-search.js.map +0 -1
  44. package/lib/esm/CascaderPanel.js +0 -58
  45. package/lib/esm/CascaderPanel.js.map +0 -1
  46. package/lib/esm/hooks/use-cache.js +0 -30
  47. package/lib/esm/hooks/use-cache.js.map +0 -1
  48. package/lib/esm/hooks/use-search.js +0 -107
  49. package/lib/esm/hooks/use-search.js.map +0 -1
  50. package/lib/types/CascaderPanel.d.ts +0 -142
  51. package/lib/types/hooks/use-cache.d.ts +0 -8
  52. package/lib/types/hooks/use-search.d.ts +0 -9
@@ -1,4 +1,2 @@
1
- export * from './use-search';
2
1
  export * from './use-select';
3
- export * from './use-cache';
4
2
  export * from './use-async-switch';
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
2
  import { CascaderItem, CascaderItemEventData } from '../types';
3
- export declare const useAsyncSwitch: (setCascaderData: React.Dispatch<React.SetStateAction<CascaderItem[]>>, onExpand?: ((selectedOption: CascaderItemEventData, onlyExpand: boolean) => void) | undefined, onLoadChildren?: ((item: CascaderItemEventData) => Promise<CascaderItem[] | void> | void) | undefined) => readonly [(id: React.ReactText) => boolean, (node: CascaderItemEventData, onlyExpand?: any) => Promise<void>];
3
+ export declare const useAsyncSwitch: (setCascaderData: React.Dispatch<React.SetStateAction<CascaderItem[]>>, onExpand?: ((selectedOption: CascaderItemEventData, onlyExpand: boolean) => void) | undefined, onLoadChildren?: ((item: CascaderItemEventData) => Promise<CascaderItem[] | void> | void) | undefined) => readonly [(targetKey: unknown) => boolean, (node: CascaderItemEventData, onlyExpand?: any) => Promise<void>];
@@ -1,4 +1,3 @@
1
1
  import './styles/index.scss';
2
2
  export * from './Cascader';
3
3
  export { Cascader as default } from './Cascader';
4
- export * from './CascaderPanel';
@@ -1,305 +1,58 @@
1
1
  import React from 'react';
2
- import { FlattedCascaderItem, CascaderItemRequiredProps, CascaderItemEventData } from './types';
3
- import { CascaderProps } from './Cascader';
4
- export declare const useCascader: ({ defaultValue, value: valueProp, onChange: onChangeProp, data, disabled, changeOnSelect, flatted: flattedProp, upMatch, expandTrigger, emptyContent, placeholder, searchPlaceholder, onSelect, titleRender, displayRender, onLoadChildren, cascaderData: cascaderDataProp, setCascaderData: setCascaderDataProp, flattedData: flattedDataProp, matchedItems: matchedItemsProp, inSearch: inSearchProp, ...rest }: UseCascaderProps) => {
5
- rootProps: {
6
- searchable?: boolean | undefined;
7
- clearable?: boolean | undefined;
8
- popper?: import("packages/ui/popper/lib/types").PopperProps | undefined;
9
- appearance?: "unset" | "outline" | "filled" | undefined;
10
- filterOption?: ((keyword: string, item: CascaderItemEventData) => boolean) | undefined;
11
- dataSource?: import("packages/hooks/use-data-source/lib/types").UseDataSource<CascaderItemEventData> | undefined;
12
- children?: React.ReactNode;
13
- id?: string | undefined;
14
- footer?: React.ReactNode;
15
- slot?: string | undefined;
16
- style?: React.CSSProperties | undefined;
17
- key?: React.Key | null | undefined;
18
- defaultChecked?: boolean | undefined;
19
- suppressContentEditableWarning?: boolean | undefined;
20
- suppressHydrationWarning?: boolean | undefined;
21
- accessKey?: string | undefined;
22
- className?: string | undefined;
23
- contentEditable?: "inherit" | (boolean | "true" | "false") | undefined;
24
- contextMenu?: string | undefined;
25
- dir?: string | undefined;
26
- draggable?: (boolean | "true" | "false") | undefined;
27
- hidden?: boolean | undefined;
28
- lang?: string | undefined;
29
- spellCheck?: (boolean | "true" | "false") | undefined;
30
- tabIndex?: number | undefined;
31
- translate?: "yes" | "no" | undefined;
32
- radioGroup?: string | undefined;
33
- role?: (React.AriaRole & string) | undefined;
34
- about?: string | undefined;
35
- datatype?: string | undefined;
36
- inlist?: any;
37
- property?: string | undefined;
38
- resource?: string | undefined;
39
- typeof?: string | undefined;
40
- vocab?: string | undefined;
41
- autoCapitalize?: string | undefined;
42
- autoCorrect?: string | undefined;
43
- autoSave?: string | undefined;
44
- color?: string | undefined;
45
- itemProp?: string | undefined;
46
- itemScope?: boolean | undefined;
47
- itemType?: string | undefined;
48
- itemID?: string | undefined;
49
- itemRef?: string | undefined;
50
- results?: number | undefined;
51
- security?: string | undefined;
52
- unselectable?: "on" | "off" | undefined;
53
- inputMode?: "text" | "none" | "search" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
54
- is?: string | undefined;
55
- 'aria-activedescendant'?: string | undefined;
56
- 'aria-atomic'?: boolean | "true" | "false" | undefined;
57
- 'aria-autocomplete'?: "list" | "none" | "inline" | "both" | undefined;
58
- 'aria-busy'?: boolean | "true" | "false" | undefined;
59
- 'aria-checked'?: boolean | "true" | "false" | "mixed" | undefined;
60
- 'aria-colcount'?: number | undefined;
61
- 'aria-colindex'?: number | undefined;
62
- 'aria-colspan'?: number | undefined;
63
- 'aria-controls'?: string | undefined;
64
- 'aria-current'?: boolean | "time" | "true" | "false" | "page" | "step" | "location" | "date" | undefined;
65
- 'aria-describedby'?: string | undefined;
66
- 'aria-details'?: string | undefined;
67
- 'aria-disabled'?: boolean | "true" | "false" | undefined;
68
- 'aria-dropeffect'?: "link" | "none" | "copy" | "execute" | "move" | "popup" | undefined;
69
- 'aria-errormessage'?: string | undefined;
70
- 'aria-expanded'?: boolean | "true" | "false" | undefined;
71
- 'aria-flowto'?: string | undefined;
72
- 'aria-grabbed'?: boolean | "true" | "false" | undefined;
73
- 'aria-haspopup'?: boolean | "dialog" | "menu" | "grid" | "listbox" | "tree" | "true" | "false" | undefined;
74
- 'aria-hidden'?: boolean | "true" | "false" | undefined;
75
- 'aria-invalid'?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
76
- 'aria-keyshortcuts'?: string | undefined;
77
- 'aria-label'?: string | undefined;
78
- 'aria-labelledby'?: string | undefined;
79
- 'aria-level'?: number | undefined;
80
- 'aria-live'?: "off" | "assertive" | "polite" | undefined;
81
- 'aria-modal'?: boolean | "true" | "false" | undefined;
82
- 'aria-multiline'?: boolean | "true" | "false" | undefined;
83
- 'aria-multiselectable'?: boolean | "true" | "false" | undefined;
84
- 'aria-orientation'?: "horizontal" | "vertical" | undefined;
85
- 'aria-owns'?: string | undefined;
86
- 'aria-placeholder'?: string | undefined;
87
- 'aria-posinset'?: number | undefined;
88
- 'aria-pressed'?: boolean | "true" | "false" | "mixed" | undefined;
89
- 'aria-readonly'?: boolean | "true" | "false" | undefined;
90
- 'aria-relevant'?: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
91
- 'aria-required'?: boolean | "true" | "false" | undefined;
92
- 'aria-roledescription'?: string | undefined;
93
- 'aria-rowcount'?: number | undefined;
94
- 'aria-rowindex'?: number | undefined;
95
- 'aria-rowspan'?: number | undefined;
96
- 'aria-selected'?: boolean | "true" | "false" | undefined;
97
- 'aria-setsize'?: number | undefined;
98
- 'aria-sort'?: "none" | "ascending" | "descending" | "other" | undefined;
99
- 'aria-valuemax'?: number | undefined;
100
- 'aria-valuemin'?: number | undefined;
101
- 'aria-valuenow'?: number | undefined;
102
- 'aria-valuetext'?: string | undefined;
103
- dangerouslySetInnerHTML?: {
104
- __html: string;
105
- } | undefined;
106
- onCopy?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
107
- onCopyCapture?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
108
- onCut?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
109
- onCutCapture?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
110
- onPaste?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
111
- onPasteCapture?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
112
- onCompositionEnd?: React.CompositionEventHandler<HTMLDivElement> | undefined;
113
- onCompositionEndCapture?: React.CompositionEventHandler<HTMLDivElement> | undefined;
114
- onCompositionStart?: React.CompositionEventHandler<HTMLDivElement> | undefined;
115
- onCompositionStartCapture?: React.CompositionEventHandler<HTMLDivElement> | undefined;
116
- onCompositionUpdate?: React.CompositionEventHandler<HTMLDivElement> | undefined;
117
- onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLDivElement> | undefined;
118
- onFocus?: React.FocusEventHandler<HTMLDivElement> | undefined;
119
- onFocusCapture?: React.FocusEventHandler<HTMLDivElement> | undefined;
120
- onBlur?: React.FocusEventHandler<HTMLDivElement> | undefined;
121
- onBlurCapture?: React.FocusEventHandler<HTMLDivElement> | undefined;
122
- onChangeCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
123
- onBeforeInput?: React.FormEventHandler<HTMLDivElement> | undefined;
124
- onBeforeInputCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
125
- onInput?: React.FormEventHandler<HTMLDivElement> | undefined;
126
- onInputCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
127
- onReset?: React.FormEventHandler<HTMLDivElement> | undefined;
128
- onResetCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
129
- onSubmit?: React.FormEventHandler<HTMLDivElement> | undefined;
130
- onSubmitCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
131
- onInvalid?: React.FormEventHandler<HTMLDivElement> | undefined;
132
- onInvalidCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
133
- onLoad?: React.ReactEventHandler<HTMLDivElement> | undefined;
134
- onLoadCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
135
- onError?: React.ReactEventHandler<HTMLDivElement> | undefined;
136
- onErrorCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
137
- onKeyDown?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
138
- onKeyDownCapture?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
139
- onKeyPress?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
140
- onKeyPressCapture?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
141
- onKeyUp?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
142
- onKeyUpCapture?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
143
- onAbort?: React.ReactEventHandler<HTMLDivElement> | undefined;
144
- onAbortCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
145
- onCanPlay?: React.ReactEventHandler<HTMLDivElement> | undefined;
146
- onCanPlayCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
147
- onCanPlayThrough?: React.ReactEventHandler<HTMLDivElement> | undefined;
148
- onCanPlayThroughCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
149
- onDurationChange?: React.ReactEventHandler<HTMLDivElement> | undefined;
150
- onDurationChangeCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
151
- onEmptied?: React.ReactEventHandler<HTMLDivElement> | undefined;
152
- onEmptiedCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
153
- onEncrypted?: React.ReactEventHandler<HTMLDivElement> | undefined;
154
- onEncryptedCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
155
- onEnded?: React.ReactEventHandler<HTMLDivElement> | undefined;
156
- onEndedCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
157
- onLoadedData?: React.ReactEventHandler<HTMLDivElement> | undefined;
158
- onLoadedDataCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
159
- onLoadedMetadata?: React.ReactEventHandler<HTMLDivElement> | undefined;
160
- onLoadedMetadataCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
161
- onLoadStart?: React.ReactEventHandler<HTMLDivElement> | undefined;
162
- onLoadStartCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
163
- onPause?: React.ReactEventHandler<HTMLDivElement> | undefined;
164
- onPauseCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
165
- onPlay?: React.ReactEventHandler<HTMLDivElement> | undefined;
166
- onPlayCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
167
- onPlaying?: React.ReactEventHandler<HTMLDivElement> | undefined;
168
- onPlayingCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
169
- onProgress?: React.ReactEventHandler<HTMLDivElement> | undefined;
170
- onProgressCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
171
- onRateChange?: React.ReactEventHandler<HTMLDivElement> | undefined;
172
- onRateChangeCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
173
- onSeeked?: React.ReactEventHandler<HTMLDivElement> | undefined;
174
- onSeekedCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
175
- onSeeking?: React.ReactEventHandler<HTMLDivElement> | undefined;
176
- onSeekingCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
177
- onStalled?: React.ReactEventHandler<HTMLDivElement> | undefined;
178
- onStalledCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
179
- onSuspend?: React.ReactEventHandler<HTMLDivElement> | undefined;
180
- onSuspendCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
181
- onTimeUpdate?: React.ReactEventHandler<HTMLDivElement> | undefined;
182
- onTimeUpdateCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
183
- onVolumeChange?: React.ReactEventHandler<HTMLDivElement> | undefined;
184
- onVolumeChangeCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
185
- onWaiting?: React.ReactEventHandler<HTMLDivElement> | undefined;
186
- onWaitingCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
187
- onAuxClick?: React.MouseEventHandler<HTMLDivElement> | undefined;
188
- onAuxClickCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
189
- onClick?: React.MouseEventHandler<HTMLDivElement> | undefined;
190
- onClickCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
191
- onContextMenu?: React.MouseEventHandler<HTMLDivElement> | undefined;
192
- onContextMenuCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
193
- onDoubleClick?: React.MouseEventHandler<HTMLDivElement> | undefined;
194
- onDoubleClickCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
195
- onDrag?: React.DragEventHandler<HTMLDivElement> | undefined;
196
- onDragCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
197
- onDragEnd?: React.DragEventHandler<HTMLDivElement> | undefined;
198
- onDragEndCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
199
- onDragEnter?: React.DragEventHandler<HTMLDivElement> | undefined;
200
- onDragEnterCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
201
- onDragExit?: React.DragEventHandler<HTMLDivElement> | undefined;
202
- onDragExitCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
203
- onDragLeave?: React.DragEventHandler<HTMLDivElement> | undefined;
204
- onDragLeaveCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
205
- onDragOver?: React.DragEventHandler<HTMLDivElement> | undefined;
206
- onDragOverCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
207
- onDragStart?: React.DragEventHandler<HTMLDivElement> | undefined;
208
- onDragStartCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
209
- onDrop?: React.DragEventHandler<HTMLDivElement> | undefined;
210
- onDropCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
211
- onMouseDown?: React.MouseEventHandler<HTMLDivElement> | undefined;
212
- onMouseDownCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
213
- onMouseEnter?: React.MouseEventHandler<HTMLDivElement> | undefined;
214
- onMouseLeave?: React.MouseEventHandler<HTMLDivElement> | undefined;
215
- onMouseMove?: React.MouseEventHandler<HTMLDivElement> | undefined;
216
- onMouseMoveCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
217
- onMouseOut?: React.MouseEventHandler<HTMLDivElement> | undefined;
218
- onMouseOutCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
219
- onMouseOver?: React.MouseEventHandler<HTMLDivElement> | undefined;
220
- onMouseOverCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
221
- onMouseUp?: React.MouseEventHandler<HTMLDivElement> | undefined;
222
- onMouseUpCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
223
- onSelectCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
224
- onTouchCancel?: React.TouchEventHandler<HTMLDivElement> | undefined;
225
- onTouchCancelCapture?: React.TouchEventHandler<HTMLDivElement> | undefined;
226
- onTouchEnd?: React.TouchEventHandler<HTMLDivElement> | undefined;
227
- onTouchEndCapture?: React.TouchEventHandler<HTMLDivElement> | undefined;
228
- onTouchMove?: React.TouchEventHandler<HTMLDivElement> | undefined;
229
- onTouchMoveCapture?: React.TouchEventHandler<HTMLDivElement> | undefined;
230
- onTouchStart?: React.TouchEventHandler<HTMLDivElement> | undefined;
231
- onTouchStartCapture?: React.TouchEventHandler<HTMLDivElement> | undefined;
232
- onPointerDown?: React.PointerEventHandler<HTMLDivElement> | undefined;
233
- onPointerDownCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
234
- onPointerMove?: React.PointerEventHandler<HTMLDivElement> | undefined;
235
- onPointerMoveCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
236
- onPointerUp?: React.PointerEventHandler<HTMLDivElement> | undefined;
237
- onPointerUpCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
238
- onPointerCancel?: React.PointerEventHandler<HTMLDivElement> | undefined;
239
- onPointerCancelCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
240
- onPointerEnter?: React.PointerEventHandler<HTMLDivElement> | undefined;
241
- onPointerEnterCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
242
- onPointerLeave?: React.PointerEventHandler<HTMLDivElement> | undefined;
243
- onPointerLeaveCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
244
- onPointerOver?: React.PointerEventHandler<HTMLDivElement> | undefined;
245
- onPointerOverCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
246
- onPointerOut?: React.PointerEventHandler<HTMLDivElement> | undefined;
247
- onPointerOutCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
248
- onGotPointerCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
249
- onGotPointerCaptureCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
250
- onLostPointerCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
251
- onLostPointerCaptureCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
252
- onScroll?: React.UIEventHandler<HTMLDivElement> | undefined;
253
- onScrollCapture?: React.UIEventHandler<HTMLDivElement> | undefined;
254
- onWheel?: React.WheelEventHandler<HTMLDivElement> | undefined;
255
- onWheelCapture?: React.WheelEventHandler<HTMLDivElement> | undefined;
256
- onAnimationStart?: React.AnimationEventHandler<HTMLDivElement> | undefined;
257
- onAnimationStartCapture?: React.AnimationEventHandler<HTMLDivElement> | undefined;
258
- onAnimationEnd?: React.AnimationEventHandler<HTMLDivElement> | undefined;
259
- onAnimationEndCapture?: React.AnimationEventHandler<HTMLDivElement> | undefined;
260
- onAnimationIteration?: React.AnimationEventHandler<HTMLDivElement> | undefined;
261
- onAnimationIterationCapture?: React.AnimationEventHandler<HTMLDivElement> | undefined;
262
- onTransitionEnd?: React.TransitionEventHandler<HTMLDivElement> | undefined;
263
- onTransitionEndCapture?: React.TransitionEventHandler<HTMLDivElement> | undefined;
264
- loadingContent?: React.ReactNode;
265
- showEmpty?: boolean | undefined;
266
- optionWidth?: number | undefined;
267
- overlayClassName?: string | undefined;
268
- onSearch?: ((keyword: string) => void) | undefined;
269
- closeOnEsc?: boolean | undefined;
270
- visible?: boolean | undefined;
271
- onOpen?: (() => void) | undefined;
272
- onClose?: (() => void) | undefined;
273
- loading?: boolean | undefined;
274
- onOverlayScroll?: (() => void) | undefined;
275
- prefixCls?: string | undefined;
276
- invalid?: boolean | undefined;
277
- };
2
+ import { FlattedCascaderItem, CascaderItemRequiredProps, CascaderItemEventData, CascaderItem } from './types';
3
+ export declare const useCascader: ({ defaultValue, value: valueProp, onChange: onChangeProp, data, disabled, changeOnSelect, flatted, onSelect: onSelectProp, onLoadChildren, cascaderData: cascaderDataProp, setCascaderData: setCascaderDataProp, flattedData: flattedDataProp, ...rest }: UseCascaderProps) => {
4
+ rootProps: {};
278
5
  reset: () => void;
279
6
  flattedData: any;
280
- value: string | number;
281
- tryChangeValue: (stateOrFunction: React.SetStateAction<string | number>, ...args: any[]) => void;
7
+ value: React.ReactText[];
8
+ tryChangeValue: (stateOrFunction: React.SetStateAction<React.ReactText[]>, ...args: any[]) => void;
282
9
  getCascaderItemRequiredProps: ({ id, depth }: FlattedCascaderItem) => CascaderItemRequiredProps;
283
- expandTrigger: import("./types").ExpandTrigger;
284
- flatted: any;
10
+ flatted: boolean;
285
11
  onItemClick: (node: CascaderItemEventData, onlyExpand?: any) => Promise<void>;
286
12
  onItemHover: (option: any) => void;
287
13
  changeOnSelect: boolean;
288
- onLoadChildren: ((item: CascaderItemEventData) => void | Promise<void | import("./types").CascaderItem[]>) | undefined;
289
- keyword: string;
14
+ onLoadChildren: ((item: CascaderItemEventData) => Promise<CascaderItem[] | void> | void) | undefined;
290
15
  disabled: boolean;
291
- menuList: any[];
292
- isEmpty: boolean;
293
- placeholder: string | undefined;
294
- displayRender: ((checkedOption: FlattedCascaderItem, checkedOptionPaths: FlattedCascaderItem[]) => React.ReactNode) | undefined;
295
- titleRender: ((item: CascaderItemEventData, flatted: boolean) => React.ReactNode) | undefined;
296
- emptyContent: boolean | React.ReactChild | React.ReactFragment | React.ReactPortal | null;
297
- getSearchInputProps: () => {
298
- placeholder: string | undefined;
299
- value: string;
300
- onChange: (evt: React.ChangeEvent<HTMLInputElement>) => void;
301
- };
16
+ menuList: FlattedCascaderItem[][];
302
17
  };
303
- export interface UseCascaderProps extends CascaderProps {
18
+ export interface UseCascaderProps {
19
+ /**
20
+ * 设置选择项数据源
21
+ */
22
+ data: CascaderItem[];
23
+ /**
24
+ * 设置当前选中值
25
+ */
26
+ value?: React.ReactText[];
27
+ /**
28
+ * 设置当前选中值默认值
29
+ */
30
+ defaultValue?: React.ReactText[];
31
+ /**
32
+ * 选中值改变时的回调
33
+ */
34
+ onChange?: (value: React.ReactText[]) => void;
35
+ /**
36
+ * 选中选项时触发,仅供内部使用
37
+ * @private
38
+ */
39
+ onSelect?: (value: React.ReactText, targetOption: CascaderItemEventData, optionPaths: FlattedCascaderItem[]) => void;
40
+ /**
41
+ * 是否禁止使用
42
+ */
43
+ disabled?: boolean;
44
+ /**
45
+ * 是否启用选择即改变功能
46
+ */
47
+ changeOnSelect?: boolean;
48
+ /**
49
+ * 将选项拍平展示,不支持 `onLoadChildren` 异步加载交互
50
+ * @private
51
+ */
52
+ flatted?: boolean;
53
+ /**
54
+ * 异步请求更新数据
55
+ */
56
+ onLoadChildren?: (item: CascaderItemEventData) => Promise<CascaderItem[] | void> | void;
304
57
  }
305
58
  export declare type UseCascaderReturn = ReturnType<typeof useCascader>;
@@ -4,10 +4,6 @@ import { CascaderItemRequiredProps, CascaderItemEventData, CascaderItem, Flatted
4
4
  * 扁平化树数据结构,基于前序遍历
5
5
  */
6
6
  export declare const flattenTreeData: (treeData: CascaderItem[]) => FlattedCascaderItem[];
7
- /**
8
- * 获取自顶向下的祖先节点,包括自己
9
- */
10
- export declare const getTopDownAncestors: (node: FlattedCascaderItem) => FlattedCascaderItem[];
11
7
  /**
12
8
  * 获取选中节点的节点路径,包含选中节点
13
9
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hi-ui/cascader",
3
- "version": "4.0.0-alpha.28",
3
+ "version": "4.0.0-alpha.29",
4
4
  "description": "A sub-package for @hi-ui/hiui.",
5
5
  "keywords": [],
6
6
  "author": "HIUI <mi-hiui@xiaomi.com>",
@@ -46,17 +46,18 @@
46
46
  "@hi-ui/classname": "^4.0.0-alpha.3",
47
47
  "@hi-ui/core": "^4.0.0-alpha.17",
48
48
  "@hi-ui/env": "^4.0.0-alpha.5",
49
- "@hi-ui/icons": "^4.0.0-alpha.24",
50
- "@hi-ui/input": "^4.0.0-alpha.28",
51
- "@hi-ui/picker": "^4.0.0-alpha.12",
52
- "@hi-ui/popper": "^4.0.0-alpha.20",
53
- "@hi-ui/tree-utils": "^4.0.0-alpha.10",
49
+ "@hi-ui/icons": "^4.0.0-alpha.25",
50
+ "@hi-ui/input": "^4.0.0-alpha.29",
51
+ "@hi-ui/picker": "^4.0.0-alpha.13",
52
+ "@hi-ui/popper": "^4.0.0-alpha.21",
53
+ "@hi-ui/tree-utils": "^4.0.0-alpha.11",
54
54
  "@hi-ui/type-assertion": "^4.0.0-alpha.13",
55
- "@hi-ui/use-data-source": "^4.0.0-alpha.6",
56
- "@hi-ui/use-latest": "^4.0.0-alpha.4",
57
- "@hi-ui/use-search-mode": "^4.0.0-alpha.10",
58
- "@hi-ui/use-toggle": "^4.0.0-alpha.10",
59
- "@hi-ui/use-uncontrolled-state": "^4.0.0-alpha.12",
55
+ "@hi-ui/use-check-state": "^4.0.0-alpha.1",
56
+ "@hi-ui/use-data-source": "^4.0.0-alpha.7",
57
+ "@hi-ui/use-latest": "^4.0.0-alpha.5",
58
+ "@hi-ui/use-search-mode": "^4.0.0-alpha.11",
59
+ "@hi-ui/use-toggle": "^4.0.0-alpha.11",
60
+ "@hi-ui/use-uncontrolled-state": "^4.0.0-alpha.13",
60
61
  "lodash": "^4.17.21"
61
62
  },
62
63
  "peerDependencies": {
@@ -68,5 +69,5 @@
68
69
  "react": "^17.0.1",
69
70
  "react-dom": "^17.0.1"
70
71
  },
71
- "gitHead": "88a8b8aa1b659b247bfca62f2f8ba594c25b90f6"
72
+ "gitHead": "5a8f028a385e4a547748df37875653cfb416beb9"
72
73
  }
@@ -1,81 +0,0 @@
1
- /** @LICENSE
2
- * @hi-ui/cascader
3
- * https://github.com/XiaoMi/hiui/tree/master/packages/ui/cascader#readme
4
- *
5
- * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
- *
7
- * This source code is licensed under the MIT license found in the
8
- * LICENSE file in the root directory of this source tree.
9
- */
10
- 'use strict';
11
-
12
- var _typeof = require("@babel/runtime/helpers/typeof");
13
-
14
- Object.defineProperty(exports, '__esModule', {
15
- value: true
16
- });
17
-
18
- var tslib = require('tslib');
19
-
20
- var React = require('react');
21
-
22
- var classname = require('@hi-ui/classname');
23
-
24
- var env = require('@hi-ui/env');
25
-
26
- var context = require('./context.js');
27
-
28
- var useCascader = require('./use-cascader.js');
29
-
30
- var Cascader = require('./Cascader.js');
31
-
32
- function _interopDefaultLegacy(e) {
33
- return e && _typeof(e) === 'object' && 'default' in e ? e : {
34
- 'default': e
35
- };
36
- }
37
-
38
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
39
-
40
- var _role = 'cascader-panel';
41
-
42
- var _prefix = classname.getPrefixCls(_role);
43
- /**
44
- * TODO: What is CascaderPanel
45
- * MenuList + Search
46
- */
47
-
48
-
49
- var CascaderPanel = /*#__PURE__*/React.forwardRef(function (_a, ref) {
50
- var _a$prefixCls = _a.prefixCls,
51
- prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
52
- _a$role = _a.role,
53
- role = _a$role === void 0 ? _role : _a$role,
54
- className = _a.className,
55
- _a$searchable = _a.searchable,
56
- searchable = _a$searchable === void 0 ? true : _a$searchable,
57
- rest = tslib.__rest(_a, ["prefixCls", "role", "className", "searchable"]);
58
-
59
- var _b = useCascader.useCascader(rest),
60
- rootProps = _b.rootProps,
61
- context$1 = tslib.__rest(_b, ["rootProps"]);
62
-
63
- var providedValue = React.useMemo(function () {
64
- return context$1;
65
- }, [context$1]);
66
- var cls = classname.cx(prefixCls, className, context$1.flatted && prefixCls + "--flatted", context$1.changeOnSelect && prefixCls + "--selectchange");
67
- return /*#__PURE__*/React__default['default'].createElement(context.CascaderProvider, {
68
- value: providedValue
69
- }, /*#__PURE__*/React__default['default'].createElement("div", Object.assign({
70
- ref: ref,
71
- role: role,
72
- className: cls
73
- }, rootProps), searchable ? /*#__PURE__*/React__default['default'].createElement(Cascader.CascaderSearch, null) : null, /*#__PURE__*/React__default['default'].createElement(Cascader.CascaderMenuList, null)));
74
- });
75
-
76
- if (env.__DEV__) {
77
- CascaderPanel.displayName = 'CascaderPanel';
78
- }
79
-
80
- exports.CascaderPanel = CascaderPanel;
81
- //# sourceMappingURL=CascaderPanel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CascaderPanel.js","sources":["../../src/CascaderPanel.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","CascaderPanel","forwardRef","_a","ref","prefixCls","role","className","searchable","rest","_b","useCascader","rootProps","context","providedValue","useMemo","cls","cx","flatted","changeOnSelect","React","CascaderProvider","value","CascaderSearch","CascaderMenuList","__DEV__","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAMA,KAAK,GAAG,gBAAd;;AACA,IAAMC,OAAO,GAAGC,sBAAAA,CAAaF,KAAbE,CAAhB;AAEA;;;;;;IAIaC,aAAa,gBAAGC,gBAAAA,CAC3B,UAACC,EAAD,EAA+EC,GAA/E;wBAAGC;MAAAA,sCAAYN;mBAASO;MAAAA,4BAAOR;MAAOS,eAAAA;yBAAWC;MAAAA,wCAAa;MAASC,wBAAtE,YAAA,QAAA,aAAA,cAAA;;MACOC,KAA4BC,uBAAAA,CAAYF,IAAZE;MAA1BC,SAAF,KAAA,CAAEA;MAAcC,SAAhB,oBAAA,YAAA;;MAEAC,aAAa,GAAGC,aAAAA,CAAQ;WAAMF;AAAP,GAAPE,EAAuB,CAACF,SAAD,CAAvBE;MAEhBC,GAAG,GAAGC,YAAAA,CACVZ,SADUY,EAEVV,SAFUU,EAGVJ,SAAO,CAACK,OAARL,IAAsBR,SAAtB,cAHUY,EAIVJ,SAAO,CAACM,cAARN,IAA6BR,SAA7B,mBAJUY;sBAQVG,yBAAAA,cAAAA,CAACC,wBAADD;AAAkBE,IAAAA,KAAK,EAAER;GAAzBM,eACEA,yBAAAA,cAAAA,MAAAA;AAAKhB,IAAAA,GAAG,EAAEA;AAAKE,IAAAA,IAAI,EAAEA;AAAMC,IAAAA,SAAS,EAAES;KAASJ,UAA/CQ,EACGZ,UAAU,gBAAGY,yBAAAA,cAAAA,CAACG,uBAADH,MAAAA,CAAH,GAAwB,IADrCA,eAEEA,yBAAAA,cAAAA,CAACI,yBAADJ,MAAAA,CAFFA,CADFA;AAdiC,CAAVlB;;AAyG7B,IAAIuB,WAAJ,EAAa;AACXxB,EAAAA,aAAa,CAACyB,WAAdzB,GAA4B,eAA5BA;;;"}
@@ -1,37 +0,0 @@
1
- /** @LICENSE
2
- * @hi-ui/cascader
3
- * https://github.com/XiaoMi/hiui/tree/master/packages/ui/cascader#readme
4
- *
5
- * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
- *
7
- * This source code is licensed under the MIT license found in the
8
- * LICENSE file in the root directory of this source tree.
9
- */
10
- 'use strict';
11
-
12
- Object.defineProperty(exports, '__esModule', {
13
- value: true
14
- });
15
-
16
- var React = require('react');
17
- /**
18
- * 一个缓存数据的 hook
19
- *
20
- * @param data
21
- * @returns
22
- */
23
-
24
-
25
- var useCache = function useCache(data) {
26
- var _useState = React.useState(data),
27
- internalData = _useState[0],
28
- setInternalData = _useState[1];
29
-
30
- React.useEffect(function () {
31
- setInternalData(data);
32
- }, [data]);
33
- return [internalData, setInternalData];
34
- };
35
-
36
- exports.useCache = useCache;
37
- //# sourceMappingURL=use-cache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-cache.js","sources":["../../../src/hooks/use-cache.ts"],"sourcesContent":[null],"names":["useCache","data","useState","internalData","setInternalData","useEffect"],"mappings":";;;;;;;;;;;;;;;;AAEA;;;;;;;;IAMaA,QAAQ,GAAG,SAAXA,QAAW,CAAIC,IAAJ;kBACkBC,cAAAA,CAASD,IAATC;MAAjCC,YAAP;MAAqBC,eAArB;;AAEAC,EAAAA,eAAAA,CAAU;AACRD,IAAAA,eAAe,CAACH,IAAD,CAAfG;AADO,GAATC,EAEG,CAACJ,IAAD,CAFHI;SAIO,CAACF,YAAD,EAAeC,eAAf;;;"}