@sheinx/hooks 3.0.0-alpha.2 → 3.0.0-alpha.5
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.
- package/cjs/common/type.d.ts +2 -0
- package/cjs/common/type.d.ts.map +1 -1
- package/cjs/common/use-drag-mock/index.d.ts +3 -11
- package/cjs/common/use-drag-mock/index.d.ts.map +1 -1
- package/cjs/common/use-drag-mock/index.js +27 -56
- package/cjs/common/use-drag-mock/use-drag-mock.d.ts +11 -0
- package/cjs/common/use-drag-mock/use-drag-mock.d.ts.map +1 -0
- package/cjs/common/use-drag-mock/use-drag-mock.js +61 -0
- package/cjs/common/use-drag-mock/use-drag-move.d.ts +11 -0
- package/cjs/common/use-drag-mock/use-drag-move.d.ts.map +1 -0
- package/cjs/common/use-drag-mock/use-drag-move.js +73 -0
- package/cjs/common/use-drag-mock/use-drag-resize.d.ts +15 -0
- package/cjs/common/use-drag-mock/use-drag-resize.d.ts.map +1 -0
- package/cjs/common/use-drag-mock/use-drag-resize.js +89 -0
- package/cjs/common/use-filter/index.d.ts +2 -0
- package/cjs/common/use-filter/index.d.ts.map +1 -0
- package/cjs/common/use-filter/index.js +19 -0
- package/cjs/common/use-filter/use-filter.d.ts +19 -0
- package/cjs/common/use-filter/use-filter.d.ts.map +1 -0
- package/cjs/common/use-filter/use-filter.js +153 -0
- package/cjs/common/use-filter/use-filter.type.d.ts +17 -0
- package/cjs/common/use-filter/use-filter.type.d.ts.map +1 -0
- package/cjs/common/use-filter/use-filter.type.js +5 -0
- package/cjs/common/use-position-style/index.d.ts.map +1 -1
- package/cjs/common/use-position-style/index.js +5 -0
- package/cjs/components/use-button/use-button.d.ts +1 -1
- package/cjs/components/use-button/use-button.d.ts.map +1 -1
- package/cjs/components/use-button/use-button.js +2 -2
- package/cjs/components/use-cascader/index.d.ts +3 -0
- package/cjs/components/use-cascader/index.d.ts.map +1 -0
- package/cjs/components/use-cascader/index.js +19 -0
- package/cjs/components/use-cascader/use-cascader.d.ts +36 -0
- package/cjs/components/use-cascader/use-cascader.d.ts.map +1 -0
- package/cjs/components/use-cascader/use-cascader.js +46 -0
- package/cjs/components/use-cascader/use-cascader.type.d.ts +14 -0
- package/cjs/components/use-cascader/use-cascader.type.d.ts.map +1 -0
- package/cjs/components/use-cascader/use-cascader.type.js +5 -0
- package/cjs/components/use-collapse/index.d.ts +5 -0
- package/cjs/components/use-collapse/index.d.ts.map +1 -0
- package/cjs/components/use-collapse/index.js +26 -0
- package/cjs/components/use-collapse/use-collapse-item.d.ts +22 -0
- package/cjs/components/use-collapse/use-collapse-item.d.ts.map +1 -0
- package/cjs/components/use-collapse/use-collapse-item.js +72 -0
- package/cjs/components/use-collapse/use-collapse-item.type.d.ts +12 -0
- package/cjs/components/use-collapse/use-collapse-item.type.d.ts.map +1 -0
- package/cjs/components/use-collapse/use-collapse-item.type.js +5 -0
- package/cjs/components/use-collapse/use-collapse.d.ts +8 -0
- package/cjs/components/use-collapse/use-collapse.d.ts.map +1 -0
- package/cjs/components/use-collapse/use-collapse.js +51 -0
- package/cjs/components/use-collapse/use-collapse.type.d.ts +8 -0
- package/cjs/components/use-collapse/use-collapse.type.d.ts.map +1 -0
- package/cjs/components/use-collapse/use-collapse.type.js +5 -0
- package/cjs/components/use-descriptions/index.d.ts +3 -0
- package/cjs/components/use-descriptions/index.d.ts.map +1 -0
- package/cjs/components/use-descriptions/index.js +19 -0
- package/cjs/components/use-descriptions/use-descriptions.d.ts +6 -0
- package/cjs/components/use-descriptions/use-descriptions.d.ts.map +1 -0
- package/cjs/components/use-descriptions/use-descriptions.js +77 -0
- package/cjs/components/use-descriptions/use-descriptions.type.d.ts +24 -0
- package/cjs/components/use-descriptions/use-descriptions.type.d.ts.map +1 -0
- package/cjs/components/use-descriptions/use-descriptions.type.js +5 -0
- package/cjs/components/use-select/index.d.ts +1 -0
- package/cjs/components/use-select/index.d.ts.map +1 -1
- package/cjs/components/use-select/index.js +8 -1
- package/cjs/components/use-select/use-select-group.d.ts +7 -0
- package/cjs/components/use-select/use-select-group.d.ts.map +1 -0
- package/cjs/components/use-select/use-select-group.js +51 -0
- package/cjs/components/use-select/use-select-group.type.d.ts +5 -0
- package/cjs/components/use-select/use-select-group.type.d.ts.map +1 -0
- package/cjs/components/use-select/use-select-group.type.js +5 -0
- package/cjs/components/use-select/use-select.d.ts.map +1 -1
- package/cjs/components/use-select/use-select.js +4 -4
- package/cjs/components/use-select/use-select.type.d.ts +5 -1
- package/cjs/components/use-select/use-select.type.d.ts.map +1 -1
- package/cjs/components/use-slider/use-slider.d.ts +2 -2
- package/cjs/components/use-slider/use-slider.js +4 -4
- package/cjs/components/use-tree/use-tree-node.d.ts +2 -1
- package/cjs/components/use-tree/use-tree-node.d.ts.map +1 -1
- package/cjs/components/use-tree/use-tree-node.js +7 -7
- package/cjs/components/use-tree/use-tree-node.type.d.ts +2 -2
- package/cjs/components/use-tree/use-tree-node.type.d.ts.map +1 -1
- package/cjs/components/use-tree/use-tree.d.ts +33 -10
- package/cjs/components/use-tree/use-tree.d.ts.map +1 -1
- package/cjs/components/use-tree/use-tree.js +86 -42
- package/cjs/components/use-tree/use-tree.type.d.ts +16 -13
- package/cjs/components/use-tree/use-tree.type.d.ts.map +1 -1
- package/cjs/components/use-treeselect/index.d.ts +4 -0
- package/cjs/components/use-treeselect/index.d.ts.map +1 -0
- package/cjs/components/use-treeselect/index.js +26 -0
- package/cjs/components/use-treeselect/use-tiled.d.ts +13 -0
- package/cjs/components/use-treeselect/use-tiled.d.ts.map +1 -0
- package/cjs/components/use-treeselect/use-tiled.js +99 -0
- package/cjs/components/use-treeselect/use-tiled.type.d.ts +15 -0
- package/cjs/components/use-treeselect/use-tiled.type.d.ts.map +1 -0
- package/cjs/components/use-treeselect/use-tiled.type.js +5 -0
- package/cjs/components/use-treeselect/use-treeselect.d.ts +7 -0
- package/cjs/components/use-treeselect/use-treeselect.d.ts.map +1 -0
- package/cjs/components/use-treeselect/use-treeselect.js +29 -0
- package/cjs/components/use-treeselect/use-treeselect.type.d.ts +9 -0
- package/cjs/components/use-treeselect/use-treeselect.type.d.ts.map +1 -0
- package/cjs/components/use-treeselect/use-treeselect.type.js +5 -0
- package/cjs/index.d.ts +5 -0
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +60 -0
- package/cjs/utils/dom/element.d.ts +2 -1
- package/cjs/utils/dom/element.d.ts.map +1 -1
- package/cjs/utils/dom/element.js +9 -1
- package/cjs/utils/dom/index.d.ts +3 -0
- package/cjs/utils/dom/index.d.ts.map +1 -1
- package/cjs/utils/dom/index.js +32 -10
- package/cjs/utils/dom/responsiveObserve.d.ts +13 -0
- package/cjs/utils/dom/responsiveObserve.d.ts.map +1 -0
- package/cjs/utils/dom/responsiveObserve.js +89 -0
- package/cjs/utils/dom/responsiveObserve.type.d.ts +5 -0
- package/cjs/utils/dom/responsiveObserve.type.d.ts.map +1 -0
- package/cjs/utils/dom/responsiveObserve.type.js +5 -0
- package/cjs/utils/index.d.ts +1 -0
- package/cjs/utils/index.d.ts.map +1 -1
- package/cjs/utils/index.js +12 -0
- package/cjs/utils/is.d.ts +1 -0
- package/cjs/utils/is.d.ts.map +1 -1
- package/cjs/utils/is.js +5 -1
- package/cjs/utils/render.d.ts.map +1 -1
- package/cjs/utils/tree.d.ts +14 -0
- package/cjs/utils/tree.d.ts.map +1 -0
- package/cjs/utils/tree.js +93 -0
- package/esm/common/type.d.ts +2 -0
- package/esm/common/type.d.ts.map +1 -1
- package/esm/common/use-drag-mock/index.d.ts +3 -11
- package/esm/common/use-drag-mock/index.d.ts.map +1 -1
- package/esm/common/use-drag-mock/index.js +27 -56
- package/esm/common/use-drag-mock/use-drag-mock.d.ts +11 -0
- package/esm/common/use-drag-mock/use-drag-mock.d.ts.map +1 -0
- package/esm/common/use-drag-mock/use-drag-mock.js +61 -0
- package/esm/common/use-drag-mock/use-drag-move.d.ts +11 -0
- package/esm/common/use-drag-mock/use-drag-move.d.ts.map +1 -0
- package/esm/common/use-drag-mock/use-drag-move.js +73 -0
- package/esm/common/use-drag-mock/use-drag-resize.d.ts +15 -0
- package/esm/common/use-drag-mock/use-drag-resize.d.ts.map +1 -0
- package/esm/common/use-drag-mock/use-drag-resize.js +89 -0
- package/esm/common/use-filter/index.d.ts +2 -0
- package/esm/common/use-filter/index.d.ts.map +1 -0
- package/esm/common/use-filter/index.js +19 -0
- package/esm/common/use-filter/use-filter.d.ts +19 -0
- package/esm/common/use-filter/use-filter.d.ts.map +1 -0
- package/esm/common/use-filter/use-filter.js +153 -0
- package/esm/common/use-filter/use-filter.type.d.ts +17 -0
- package/esm/common/use-filter/use-filter.type.d.ts.map +1 -0
- package/esm/common/use-filter/use-filter.type.js +5 -0
- package/esm/common/use-position-style/index.d.ts.map +1 -1
- package/esm/common/use-position-style/index.js +5 -0
- package/esm/components/use-button/use-button.d.ts +1 -1
- package/esm/components/use-button/use-button.d.ts.map +1 -1
- package/esm/components/use-button/use-button.js +2 -2
- package/esm/components/use-cascader/index.d.ts +3 -0
- package/esm/components/use-cascader/index.d.ts.map +1 -0
- package/esm/components/use-cascader/index.js +19 -0
- package/esm/components/use-cascader/use-cascader.d.ts +36 -0
- package/esm/components/use-cascader/use-cascader.d.ts.map +1 -0
- package/esm/components/use-cascader/use-cascader.js +46 -0
- package/esm/components/use-cascader/use-cascader.type.d.ts +14 -0
- package/esm/components/use-cascader/use-cascader.type.d.ts.map +1 -0
- package/esm/components/use-cascader/use-cascader.type.js +5 -0
- package/esm/components/use-collapse/index.d.ts +5 -0
- package/esm/components/use-collapse/index.d.ts.map +1 -0
- package/esm/components/use-collapse/index.js +26 -0
- package/esm/components/use-collapse/use-collapse-item.d.ts +22 -0
- package/esm/components/use-collapse/use-collapse-item.d.ts.map +1 -0
- package/esm/components/use-collapse/use-collapse-item.js +72 -0
- package/esm/components/use-collapse/use-collapse-item.type.d.ts +12 -0
- package/esm/components/use-collapse/use-collapse-item.type.d.ts.map +1 -0
- package/esm/components/use-collapse/use-collapse-item.type.js +5 -0
- package/esm/components/use-collapse/use-collapse.d.ts +8 -0
- package/esm/components/use-collapse/use-collapse.d.ts.map +1 -0
- package/esm/components/use-collapse/use-collapse.js +51 -0
- package/esm/components/use-collapse/use-collapse.type.d.ts +8 -0
- package/esm/components/use-collapse/use-collapse.type.d.ts.map +1 -0
- package/esm/components/use-collapse/use-collapse.type.js +5 -0
- package/esm/components/use-descriptions/index.d.ts +3 -0
- package/esm/components/use-descriptions/index.d.ts.map +1 -0
- package/esm/components/use-descriptions/index.js +19 -0
- package/esm/components/use-descriptions/use-descriptions.d.ts +6 -0
- package/esm/components/use-descriptions/use-descriptions.d.ts.map +1 -0
- package/esm/components/use-descriptions/use-descriptions.js +77 -0
- package/esm/components/use-descriptions/use-descriptions.type.d.ts +24 -0
- package/esm/components/use-descriptions/use-descriptions.type.d.ts.map +1 -0
- package/esm/components/use-descriptions/use-descriptions.type.js +5 -0
- package/esm/components/use-select/index.d.ts +1 -0
- package/esm/components/use-select/index.d.ts.map +1 -1
- package/esm/components/use-select/index.js +8 -1
- package/esm/components/use-select/use-select-group.d.ts +7 -0
- package/esm/components/use-select/use-select-group.d.ts.map +1 -0
- package/esm/components/use-select/use-select-group.js +51 -0
- package/esm/components/use-select/use-select-group.type.d.ts +5 -0
- package/esm/components/use-select/use-select-group.type.d.ts.map +1 -0
- package/esm/components/use-select/use-select-group.type.js +5 -0
- package/esm/components/use-select/use-select.d.ts.map +1 -1
- package/esm/components/use-select/use-select.js +4 -4
- package/esm/components/use-select/use-select.type.d.ts +5 -1
- package/esm/components/use-select/use-select.type.d.ts.map +1 -1
- package/esm/components/use-slider/use-slider.d.ts +2 -2
- package/esm/components/use-slider/use-slider.js +4 -4
- package/esm/components/use-tree/use-tree-node.d.ts +2 -1
- package/esm/components/use-tree/use-tree-node.d.ts.map +1 -1
- package/esm/components/use-tree/use-tree-node.js +7 -7
- package/esm/components/use-tree/use-tree-node.type.d.ts +2 -2
- package/esm/components/use-tree/use-tree-node.type.d.ts.map +1 -1
- package/esm/components/use-tree/use-tree.d.ts +33 -10
- package/esm/components/use-tree/use-tree.d.ts.map +1 -1
- package/esm/components/use-tree/use-tree.js +86 -42
- package/esm/components/use-tree/use-tree.type.d.ts +16 -13
- package/esm/components/use-tree/use-tree.type.d.ts.map +1 -1
- package/esm/components/use-treeselect/index.d.ts +4 -0
- package/esm/components/use-treeselect/index.d.ts.map +1 -0
- package/esm/components/use-treeselect/index.js +26 -0
- package/esm/components/use-treeselect/use-tiled.d.ts +13 -0
- package/esm/components/use-treeselect/use-tiled.d.ts.map +1 -0
- package/esm/components/use-treeselect/use-tiled.js +99 -0
- package/esm/components/use-treeselect/use-tiled.type.d.ts +15 -0
- package/esm/components/use-treeselect/use-tiled.type.d.ts.map +1 -0
- package/esm/components/use-treeselect/use-tiled.type.js +5 -0
- package/esm/components/use-treeselect/use-treeselect.d.ts +7 -0
- package/esm/components/use-treeselect/use-treeselect.d.ts.map +1 -0
- package/esm/components/use-treeselect/use-treeselect.js +29 -0
- package/esm/components/use-treeselect/use-treeselect.type.d.ts +9 -0
- package/esm/components/use-treeselect/use-treeselect.type.d.ts.map +1 -0
- package/esm/components/use-treeselect/use-treeselect.type.js +5 -0
- package/esm/index.d.ts +5 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +60 -0
- package/esm/utils/dom/element.d.ts +2 -1
- package/esm/utils/dom/element.d.ts.map +1 -1
- package/esm/utils/dom/element.js +9 -1
- package/esm/utils/dom/index.d.ts +3 -0
- package/esm/utils/dom/index.d.ts.map +1 -1
- package/esm/utils/dom/index.js +32 -10
- package/esm/utils/dom/responsiveObserve.d.ts +13 -0
- package/esm/utils/dom/responsiveObserve.d.ts.map +1 -0
- package/esm/utils/dom/responsiveObserve.js +89 -0
- package/esm/utils/dom/responsiveObserve.type.d.ts +5 -0
- package/esm/utils/dom/responsiveObserve.type.d.ts.map +1 -0
- package/esm/utils/dom/responsiveObserve.type.js +5 -0
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/index.d.ts.map +1 -1
- package/esm/utils/index.js +12 -0
- package/esm/utils/is.d.ts +1 -0
- package/esm/utils/is.d.ts.map +1 -1
- package/esm/utils/is.js +5 -1
- package/esm/utils/render.d.ts.map +1 -1
- package/esm/utils/tree.d.ts +14 -0
- package/esm/utils/tree.d.ts.map +1 -0
- package/esm/utils/tree.js +93 -0
- package/package.json +3 -2
package/cjs/common/type.d.ts
CHANGED
@@ -4,10 +4,12 @@ export declare type ObjectType<V = any> = Record<string, V>;
|
|
4
4
|
export declare type HandlerType = Record<string, React.EventHandler<any> | undefined>;
|
5
5
|
export declare type AddNoProps<A, B> = Omit<B, keyof A> & A;
|
6
6
|
export declare type ValueOf<T> = T[keyof T];
|
7
|
+
export declare type ValueItem<Value> = Value extends (infer U)[] ? U : Value;
|
7
8
|
export declare type ObjectKey<T = any> = T extends ObjectType ? keyof T & string : never;
|
8
9
|
export declare type KeygenResult = string | number;
|
9
10
|
export declare type KeygenType<DataItem> = ObjectKey<DataItem> | ((data: DataItem, index?: number) => KeygenResult) | true;
|
10
11
|
export declare type StructKeygenType<DataItem> = ObjectKey<DataItem> | ((data: DataItem, index?: number) => KeygenResult);
|
12
|
+
export declare type TreeKeygenType<DataItem> = ObjectKey<DataItem> | ((data: DataItem, parentKey: KeygenResult) => KeygenResult);
|
11
13
|
declare type OptionalKeys<T> = {
|
12
14
|
[K in keyof T]: T extends Record<K, T[K]> ? never : K;
|
13
15
|
}[keyof T];
|
package/cjs/common/type.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,oBAAY,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AAEpE,oBAAY,UAAU,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACpD,oBAAY,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;AAE9E,oBAAY,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;AAEpD,oBAAY,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEpC,oBAAY,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,UAAU,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;AAEjF,oBAAY,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3C,oBAAY,UAAU,CAAC,QAAQ,IAC3B,SAAS,CAAC,QAAQ,CAAC,GACnB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC,GAClD,IAAI,CAAC;AAET,oBAAY,gBAAgB,CAAC,QAAQ,IACjC,SAAS,CAAC,QAAQ,CAAC,GACnB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC,CAAC;AAEvD,aAAK,YAAY,CAAC,CAAC,IAAI;KACpB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;CACtD,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,aAAK,YAAY,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzD,oBAAY,kBAAkB,CAAC,CAAC,IAAI;KACjC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;CAC3C,GAAG;KACD,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC7B,CAAC;AACF,oBAAY,sBAAsB,CAAC,QAAQ,IACvC,SAAS,CAAC,QAAQ,CAAC,GACnB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,YAAY,CAAC,CAAC"}
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,oBAAY,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AAEpE,oBAAY,UAAU,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACpD,oBAAY,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;AAE9E,oBAAY,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;AAEpD,oBAAY,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEpC,oBAAY,SAAS,CAAC,KAAK,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAErE,oBAAY,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,UAAU,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;AAEjF,oBAAY,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3C,oBAAY,UAAU,CAAC,QAAQ,IAC3B,SAAS,CAAC,QAAQ,CAAC,GACnB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC,GAClD,IAAI,CAAC;AAET,oBAAY,gBAAgB,CAAC,QAAQ,IACjC,SAAS,CAAC,QAAQ,CAAC,GACnB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC,CAAC;AAEvD,oBAAY,cAAc,CAAC,QAAQ,IAC/B,SAAS,CAAC,QAAQ,CAAC,GACnB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,KAAK,YAAY,CAAC,CAAC;AAEhE,aAAK,YAAY,CAAC,CAAC,IAAI;KACpB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;CACtD,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,aAAK,YAAY,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzD,oBAAY,kBAAkB,CAAC,CAAC,IAAI;KACjC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;CAC3C,GAAG;KACD,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC7B,CAAC;AACF,oBAAY,sBAAsB,CAAC,QAAQ,IACvC,SAAS,CAAC,QAAQ,CAAC,GACnB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,YAAY,CAAC,CAAC"}
|
@@ -1,12 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
onDragMove?: ((deltaX: number, deltaY: number) => void) | undefined;
|
5
|
-
onDragEnd?: ((deltaX: number, deltaY: number) => void) | undefined;
|
6
|
-
}) => {
|
7
|
-
handleMouseDown: (event: React.MouseEvent) => void;
|
8
|
-
isDragging: boolean;
|
9
|
-
};
|
10
|
-
export default useDragMock;
|
11
|
-
export { useDragMock };
|
1
|
+
export { default, default as useDragMock } from './use-drag-mock';
|
2
|
+
export { default as useDragMove } from './use-drag-move';
|
3
|
+
export { default as useDragResize } from './use-drag-resize';
|
12
4
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
|
@@ -4,59 +4,30 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
5
5
|
value: true
|
6
6
|
});
|
7
|
-
exports
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
setIsDragging(false);
|
35
|
-
document.body.style.userSelect = dragInfo.cachedSelected;
|
36
|
-
var deltaX = event.clientX - dragInfo.startX;
|
37
|
-
var deltaY = event.clientY - dragInfo.startY;
|
38
|
-
(_props$onDragEnd = props.onDragEnd) === null || _props$onDragEnd === void 0 ? void 0 : _props$onDragEnd.call(props, deltaX, deltaY);
|
39
|
-
document.removeEventListener('mousemove', handleMouseMove);
|
40
|
-
document.removeEventListener('mouseup', handleMouseUp);
|
41
|
-
});
|
42
|
-
var handleMouseDown = function handleMouseDown(event) {
|
43
|
-
var _props$onDragStart;
|
44
|
-
setIsDragging(true);
|
45
|
-
dragInfo.cachedSelected = document.body.style.userSelect;
|
46
|
-
document.body.style.userSelect = 'none';
|
47
|
-
dragInfo.lastX = event.clientX;
|
48
|
-
dragInfo.lastY = event.clientY;
|
49
|
-
dragInfo.startX = event.clientX;
|
50
|
-
dragInfo.startY = event.clientY;
|
51
|
-
(_props$onDragStart = props.onDragStart) === null || _props$onDragStart === void 0 ? void 0 : _props$onDragStart.call(props, event);
|
52
|
-
document.addEventListener('mousemove', handleMouseMove);
|
53
|
-
document.addEventListener('mouseup', handleMouseUp);
|
54
|
-
};
|
55
|
-
return {
|
56
|
-
handleMouseDown: handleMouseDown,
|
57
|
-
isDragging: isDragging
|
58
|
-
};
|
59
|
-
};
|
60
|
-
exports.useDragMock = useDragMock;
|
61
|
-
var _default = useDragMock;
|
62
|
-
exports.default = _default;
|
7
|
+
Object.defineProperty(exports, "default", {
|
8
|
+
enumerable: true,
|
9
|
+
get: function get() {
|
10
|
+
return _useDragMock.default;
|
11
|
+
}
|
12
|
+
});
|
13
|
+
Object.defineProperty(exports, "useDragMock", {
|
14
|
+
enumerable: true,
|
15
|
+
get: function get() {
|
16
|
+
return _useDragMock.default;
|
17
|
+
}
|
18
|
+
});
|
19
|
+
Object.defineProperty(exports, "useDragMove", {
|
20
|
+
enumerable: true,
|
21
|
+
get: function get() {
|
22
|
+
return _useDragMove.default;
|
23
|
+
}
|
24
|
+
});
|
25
|
+
Object.defineProperty(exports, "useDragResize", {
|
26
|
+
enumerable: true,
|
27
|
+
get: function get() {
|
28
|
+
return _useDragResize.default;
|
29
|
+
}
|
30
|
+
});
|
31
|
+
var _useDragMock = _interopRequireDefault(require("./use-drag-mock"));
|
32
|
+
var _useDragMove = _interopRequireDefault(require("./use-drag-move"));
|
33
|
+
var _useDragResize = _interopRequireDefault(require("./use-drag-resize"));
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
declare const useDragMock: (props: {
|
3
|
+
onDragStart?: ((e: React.MouseEvent) => void) | undefined;
|
4
|
+
onDragMove?: ((deltaX: number, deltaY: number) => void) | undefined;
|
5
|
+
onDragEnd?: ((deltaX: number, deltaY: number) => void) | undefined;
|
6
|
+
}) => {
|
7
|
+
handleMouseDown: (event: React.MouseEvent) => void;
|
8
|
+
isDragging: boolean;
|
9
|
+
};
|
10
|
+
export default useDragMock;
|
11
|
+
//# sourceMappingURL=use-drag-mock.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"use-drag-mock.d.ts","sourceRoot":"","sources":["use-drag-mock.ts"],"names":[],"mappings":"AACA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,QAAA,MAAM,WAAW;uBACG,gBAAgB,KAAK,IAAI;2BACrB,MAAM,UAAU,MAAM,KAAK,IAAI;0BAChC,MAAM,UAAU,MAAM,KAAK,IAAI;;6BA6BpB,gBAAgB;;CAiBjD,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
@@ -0,0 +1,61 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports.default = void 0;
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
9
|
+
var _usePersistFn = require("../use-persist-fn");
|
10
|
+
var _react = require("react");
|
11
|
+
var useDragMock = function useDragMock(props) {
|
12
|
+
var _useState = (0, _react.useState)(false),
|
13
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
14
|
+
isDragging = _useState2[0],
|
15
|
+
setIsDragging = _useState2[1];
|
16
|
+
var _useRef = (0, _react.useRef)({
|
17
|
+
startX: 0,
|
18
|
+
startY: 0,
|
19
|
+
lastX: 0,
|
20
|
+
lastY: 0,
|
21
|
+
cachedSelected: ''
|
22
|
+
}),
|
23
|
+
dragInfo = _useRef.current;
|
24
|
+
var handleMouseMove = (0, _usePersistFn.usePersistFn)(function (event) {
|
25
|
+
var _props$onDragMove;
|
26
|
+
var deltaX = event.clientX - dragInfo.lastX;
|
27
|
+
var deltaY = event.clientY - dragInfo.lastY;
|
28
|
+
dragInfo.lastX = event.clientX;
|
29
|
+
dragInfo.lastY = event.clientY;
|
30
|
+
(_props$onDragMove = props.onDragMove) === null || _props$onDragMove === void 0 ? void 0 : _props$onDragMove.call(props, deltaX, deltaY);
|
31
|
+
});
|
32
|
+
var handleMouseUp = (0, _usePersistFn.usePersistFn)(function (event) {
|
33
|
+
var _props$onDragEnd;
|
34
|
+
setIsDragging(false);
|
35
|
+
document.body.style.userSelect = dragInfo.cachedSelected;
|
36
|
+
var deltaX = event.clientX - dragInfo.startX;
|
37
|
+
var deltaY = event.clientY - dragInfo.startY;
|
38
|
+
(_props$onDragEnd = props.onDragEnd) === null || _props$onDragEnd === void 0 ? void 0 : _props$onDragEnd.call(props, deltaX, deltaY);
|
39
|
+
document.removeEventListener('mousemove', handleMouseMove);
|
40
|
+
document.removeEventListener('mouseup', handleMouseUp);
|
41
|
+
});
|
42
|
+
var handleMouseDown = function handleMouseDown(event) {
|
43
|
+
var _props$onDragStart;
|
44
|
+
setIsDragging(true);
|
45
|
+
dragInfo.cachedSelected = document.body.style.userSelect;
|
46
|
+
document.body.style.userSelect = 'none';
|
47
|
+
dragInfo.lastX = event.clientX;
|
48
|
+
dragInfo.lastY = event.clientY;
|
49
|
+
dragInfo.startX = event.clientX;
|
50
|
+
dragInfo.startY = event.clientY;
|
51
|
+
(_props$onDragStart = props.onDragStart) === null || _props$onDragStart === void 0 ? void 0 : _props$onDragStart.call(props, event);
|
52
|
+
document.addEventListener('mousemove', handleMouseMove);
|
53
|
+
document.addEventListener('mouseup', handleMouseUp);
|
54
|
+
};
|
55
|
+
return {
|
56
|
+
handleMouseDown: handleMouseDown,
|
57
|
+
isDragging: isDragging
|
58
|
+
};
|
59
|
+
};
|
60
|
+
var _default = useDragMock;
|
61
|
+
exports.default = _default;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
declare const useDragMove: () => {
|
3
|
+
handleMouseDown: (event: React.MouseEvent<Element, MouseEvent>) => void;
|
4
|
+
isDragging: boolean;
|
5
|
+
pos: {
|
6
|
+
x: number;
|
7
|
+
y: number;
|
8
|
+
};
|
9
|
+
};
|
10
|
+
export default useDragMove;
|
11
|
+
//# sourceMappingURL=use-drag-move.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"use-drag-move.d.ts","sourceRoot":"","sources":["use-drag-move.ts"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAMhD,QAAA,MAAM,WAAW;;;;;;;CA6ChB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
@@ -0,0 +1,73 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
require("core-js/modules/es.array.filter.js");
|
4
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
5
|
+
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
6
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
8
|
+
value: true
|
9
|
+
});
|
10
|
+
exports.default = void 0;
|
11
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
13
|
+
var _react = require("react");
|
14
|
+
var _useDragMock2 = _interopRequireDefault(require("./use-drag-mock"));
|
15
|
+
var _usePersistFn = _interopRequireDefault(require("../use-persist-fn"));
|
16
|
+
var _document = require("../../utils/document");
|
17
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
18
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
19
|
+
var DIS_LIMIT = 50;
|
20
|
+
var useDragMove = function useDragMove() {
|
21
|
+
var _useState = (0, _react.useState)({
|
22
|
+
x: 0,
|
23
|
+
y: 0
|
24
|
+
}),
|
25
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
26
|
+
pos = _useState2[0],
|
27
|
+
setPos = _useState2[1];
|
28
|
+
var _useRef = (0, _react.useRef)({
|
29
|
+
rect: {},
|
30
|
+
startPostion: {
|
31
|
+
x: 0,
|
32
|
+
y: 0
|
33
|
+
}
|
34
|
+
}),
|
35
|
+
context = _useRef.current;
|
36
|
+
var handleDragStart = (0, _usePersistFn.default)(function (e) {
|
37
|
+
var target = e.currentTarget;
|
38
|
+
var rect = target.getBoundingClientRect();
|
39
|
+
context.rect = rect;
|
40
|
+
context.startPostion = _objectSpread({}, pos);
|
41
|
+
});
|
42
|
+
var handleDragMove = (0, _usePersistFn.default)(function (deltaX, deltaY) {
|
43
|
+
setPos(function (pre) {
|
44
|
+
var x = pre.x + deltaX;
|
45
|
+
var y = pre.y + deltaY;
|
46
|
+
var moveX = x - context.startPostion.x;
|
47
|
+
var moveY = y - context.startPostion.y;
|
48
|
+
if (context.rect.left + moveX > _document.docSize.width - DIS_LIMIT || context.rect.right + moveX < DIS_LIMIT) {
|
49
|
+
x = pre.x;
|
50
|
+
}
|
51
|
+
if (context.rect.top + moveY > _document.docSize.height - DIS_LIMIT || context.rect.bottom + moveY < DIS_LIMIT) {
|
52
|
+
y = pre.y;
|
53
|
+
}
|
54
|
+
return {
|
55
|
+
x: x,
|
56
|
+
y: y
|
57
|
+
};
|
58
|
+
});
|
59
|
+
});
|
60
|
+
var _useDragMock = (0, _useDragMock2.default)({
|
61
|
+
onDragStart: handleDragStart,
|
62
|
+
onDragMove: handleDragMove
|
63
|
+
}),
|
64
|
+
handleMouseDown = _useDragMock.handleMouseDown,
|
65
|
+
isDragging = _useDragMock.isDragging;
|
66
|
+
return {
|
67
|
+
handleMouseDown: handleMouseDown,
|
68
|
+
isDragging: isDragging,
|
69
|
+
pos: pos
|
70
|
+
};
|
71
|
+
};
|
72
|
+
var _default = useDragMove;
|
73
|
+
exports.default = _default;
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
declare const useDragResize: (props: {
|
3
|
+
defaultWidth?: number | string;
|
4
|
+
defaultHeight?: number | string;
|
5
|
+
panelRef: React.RefObject<HTMLElement>;
|
6
|
+
}) => {
|
7
|
+
handleXMouseDown: (e: React.MouseEvent) => void;
|
8
|
+
handleYMouseDown: (e: React.MouseEvent) => void;
|
9
|
+
handleXYMouseDown: (e: React.MouseEvent) => void;
|
10
|
+
isDragging: boolean;
|
11
|
+
width: string | number | undefined;
|
12
|
+
height: string | number | undefined;
|
13
|
+
};
|
14
|
+
export default useDragResize;
|
15
|
+
//# sourceMappingURL=use-drag-resize.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"use-drag-resize.d.ts","sourceRoot":"","sources":["use-drag-resize.ts"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAIhD,QAAA,MAAM,aAAa,UAAW;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,QAAQ,EAAE,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;CACxC;0BAyC2C,gBAAgB;0BAKhB,gBAAgB;2BAMf,gBAAgB;;;;CAa5D,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
@@ -0,0 +1,89 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports.default = void 0;
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
9
|
+
var _react = require("react");
|
10
|
+
var _useDragMock2 = _interopRequireDefault(require("./use-drag-mock"));
|
11
|
+
var _usePersistFn = _interopRequireDefault(require("../use-persist-fn"));
|
12
|
+
var useDragResize = function useDragResize(props) {
|
13
|
+
var _useState = (0, _react.useState)({
|
14
|
+
width: props.defaultWidth,
|
15
|
+
height: props.defaultHeight
|
16
|
+
}),
|
17
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
18
|
+
pos = _useState2[0],
|
19
|
+
setPos = _useState2[1];
|
20
|
+
var _useRef = (0, _react.useRef)({
|
21
|
+
direction: 'xy',
|
22
|
+
position: 'none'
|
23
|
+
}),
|
24
|
+
context = _useRef.current;
|
25
|
+
var handleDragStart = (0, _usePersistFn.default)(function () {
|
26
|
+
var target = props.panelRef.current;
|
27
|
+
if (!target) return;
|
28
|
+
var rect = target.getBoundingClientRect();
|
29
|
+
var width = rect.width;
|
30
|
+
var height = rect.height;
|
31
|
+
setPos({
|
32
|
+
width: width,
|
33
|
+
height: height
|
34
|
+
});
|
35
|
+
});
|
36
|
+
var handleDragMove = (0, _usePersistFn.default)(function (deltaX, deltaY) {
|
37
|
+
setPos(function (pre) {
|
38
|
+
var _ref = pre,
|
39
|
+
width = _ref.width,
|
40
|
+
height = _ref.height;
|
41
|
+
if (context.direction === 'x' || context.direction === 'xy') {
|
42
|
+
width = width + deltaX;
|
43
|
+
}
|
44
|
+
if (context.direction === 'x-r') {
|
45
|
+
width = width - deltaX;
|
46
|
+
}
|
47
|
+
if (context.direction === 'y' || context.direction === 'xy') {
|
48
|
+
height = pre.height + deltaY;
|
49
|
+
}
|
50
|
+
if (context.direction === 'y-r') {
|
51
|
+
height = height - deltaY;
|
52
|
+
}
|
53
|
+
return {
|
54
|
+
width: width,
|
55
|
+
height: height
|
56
|
+
};
|
57
|
+
});
|
58
|
+
});
|
59
|
+
var _useDragMock = (0, _useDragMock2.default)({
|
60
|
+
onDragStart: handleDragStart,
|
61
|
+
onDragMove: handleDragMove
|
62
|
+
}),
|
63
|
+
handleMouseDown = _useDragMock.handleMouseDown,
|
64
|
+
isDragging = _useDragMock.isDragging;
|
65
|
+
var handleXMouseDown = (0, _usePersistFn.default)(function (e) {
|
66
|
+
var position = e.currentTarget.getAttribute('data-position');
|
67
|
+
context.direction = position === 'right' ? 'x-r' : 'x';
|
68
|
+
handleMouseDown(e);
|
69
|
+
});
|
70
|
+
var handleYMouseDown = (0, _usePersistFn.default)(function (e) {
|
71
|
+
var position = e.currentTarget.getAttribute('data-position');
|
72
|
+
context.direction = position === 'bottom' ? 'y-r' : 'y';
|
73
|
+
handleMouseDown(e);
|
74
|
+
});
|
75
|
+
var handleXYMouseDown = (0, _usePersistFn.default)(function (e) {
|
76
|
+
context.direction = 'xy';
|
77
|
+
handleMouseDown(e);
|
78
|
+
});
|
79
|
+
return {
|
80
|
+
handleXMouseDown: handleXMouseDown,
|
81
|
+
handleYMouseDown: handleYMouseDown,
|
82
|
+
handleXYMouseDown: handleXYMouseDown,
|
83
|
+
isDragging: isDragging,
|
84
|
+
width: pos.width,
|
85
|
+
height: pos.height
|
86
|
+
};
|
87
|
+
};
|
88
|
+
var _default = useDragResize;
|
89
|
+
exports.default = _default;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,cAAc,CAAC"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
Object.defineProperty(exports, "default", {
|
8
|
+
enumerable: true,
|
9
|
+
get: function get() {
|
10
|
+
return _useFilter.default;
|
11
|
+
}
|
12
|
+
});
|
13
|
+
Object.defineProperty(exports, "useFilter", {
|
14
|
+
enumerable: true,
|
15
|
+
get: function get() {
|
16
|
+
return _useFilter.default;
|
17
|
+
}
|
18
|
+
});
|
19
|
+
var _useFilter = _interopRequireDefault(require("./use-filter"));
|
@@ -0,0 +1,19 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import { UseFilterProps } from './use-filter.type';
|
3
|
+
import { KeygenResult } from '../type';
|
4
|
+
declare const useFilter: <DataItem>(props: UseFilterProps<DataItem>) => {
|
5
|
+
inputText: string;
|
6
|
+
filterText: string | undefined;
|
7
|
+
expanded: KeygenResult[] | undefined;
|
8
|
+
rawData: DataItem[] | undefined;
|
9
|
+
filterData: DataItem[] | undefined;
|
10
|
+
createdData: string | undefined;
|
11
|
+
setInputText: import("react").Dispatch<import("react").SetStateAction<string>>;
|
12
|
+
setFilterText: import("react").Dispatch<import("react").SetStateAction<string | undefined>>;
|
13
|
+
onCreate: ((text: string) => string | DataItem | undefined) | undefined;
|
14
|
+
onFilter: ((text: string) => void) | undefined;
|
15
|
+
onResetFilter: () => void;
|
16
|
+
onClearCreatedData: () => void;
|
17
|
+
};
|
18
|
+
export default useFilter;
|
19
|
+
//# sourceMappingURL=use-filter.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"use-filter.d.ts","sourceRoot":"","sources":["use-filter.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,QAAA,MAAM,SAAS;;;;;;;;;sBAiEe,MAAM;sBAKN,MAAM;;;CA6EnC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
@@ -0,0 +1,153 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports.default = void 0;
|
8
|
+
require("core-js/modules/es.array.concat.js");
|
9
|
+
require("core-js/modules/es.array.filter.js");
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
11
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
12
|
+
var _react = require("react");
|
13
|
+
var _utils = require("../../utils");
|
14
|
+
var useFilter = function useFilter(props) {
|
15
|
+
var data = props.data,
|
16
|
+
groupKey = props.groupKey,
|
17
|
+
keygen = props.keygen,
|
18
|
+
hideCreateOption = props.hideCreateOption,
|
19
|
+
expandedProp = props.expanded,
|
20
|
+
treeData = props.treeData,
|
21
|
+
childrenKey = props.childrenKey,
|
22
|
+
showHitDescendants = props.showHitDescendants,
|
23
|
+
onFilter = props.onFilter,
|
24
|
+
onCreate = props.onCreate,
|
25
|
+
onFilterWidthCreate = props.onFilterWidthCreate,
|
26
|
+
onAdvancedFilter = props.onAdvancedFilter;
|
27
|
+
var _useState = (0, _react.useState)(data),
|
28
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
29
|
+
filterData = _useState2[0],
|
30
|
+
setFilterData = _useState2[1];
|
31
|
+
var _useState3 = (0, _react.useState)(''),
|
32
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
33
|
+
filterText = _useState4[0],
|
34
|
+
setFilterText = _useState4[1];
|
35
|
+
var _useState5 = (0, _react.useState)(undefined),
|
36
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
37
|
+
filterFunc = _useState6[0],
|
38
|
+
setFilterFunc = _useState6[1];
|
39
|
+
var _useState7 = (0, _react.useState)(''),
|
40
|
+
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
41
|
+
inputText = _useState8[0],
|
42
|
+
setInputText = _useState8[1];
|
43
|
+
var _useState9 = (0, _react.useState)(),
|
44
|
+
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
45
|
+
createdData = _useState10[0],
|
46
|
+
setCreatedData = _useState10[1];
|
47
|
+
var filterFn = onFilterWidthCreate || function (item, createdData, key) {
|
48
|
+
return (0, _utils.getKey)(keygen, item) === key;
|
49
|
+
};
|
50
|
+
var getData = function getData() {
|
51
|
+
var newData = filterData || [];
|
52
|
+
if (createdData && !hideCreateOption) {
|
53
|
+
var newKey = (0, _utils.getKey)(keygen, createdData);
|
54
|
+
var sameItem = newData.find(function (item) {
|
55
|
+
return filterFn(item, createdData, newKey);
|
56
|
+
});
|
57
|
+
if (!sameItem) return [createdData].concat((0, _toConsumableArray2.default)(newData));
|
58
|
+
}
|
59
|
+
return newData;
|
60
|
+
};
|
61
|
+
var getTreeData = function getTreeData() {
|
62
|
+
var filterExpandedKeys = expandedProp || [];
|
63
|
+
var newData = treeData;
|
64
|
+
var nextFilter = onFilter === null || onFilter === void 0 ? void 0 : onFilter(filterText);
|
65
|
+
if (filterText) {
|
66
|
+
newData = (0, _utils.getFilterTree)(treeData, nextFilter, filterExpandedKeys, function (node) {
|
67
|
+
return (0, _utils.getKey)(keygen, node);
|
68
|
+
}, childrenKey, showHitDescendants, undefined, {
|
69
|
+
advanced: !!onAdvancedFilter
|
70
|
+
});
|
71
|
+
}
|
72
|
+
return {
|
73
|
+
newData: newData,
|
74
|
+
filterExpandedKeys: filterExpandedKeys
|
75
|
+
};
|
76
|
+
};
|
77
|
+
var handleClearCreatedData = function handleClearCreatedData() {
|
78
|
+
setCreatedData(undefined);
|
79
|
+
};
|
80
|
+
var handleCreate = function handleCreate(text) {
|
81
|
+
var createFn = typeof onCreate === 'boolean' ? function (t) {
|
82
|
+
return t;
|
83
|
+
} : onCreate;
|
84
|
+
return createFn === null || createFn === void 0 ? void 0 : createFn(text);
|
85
|
+
};
|
86
|
+
var handleFilter = function handleFilter(text) {
|
87
|
+
setInputText(text);
|
88
|
+
if (!text) {
|
89
|
+
if (data) {
|
90
|
+
setFilterData(data);
|
91
|
+
}
|
92
|
+
if (treeData) {
|
93
|
+
setFilterData(treeData);
|
94
|
+
}
|
95
|
+
setFilterText('');
|
96
|
+
setFilterFunc(undefined);
|
97
|
+
handleClearCreatedData();
|
98
|
+
// 没有 text 时触发一次 onFilter 以便外部重置数据
|
99
|
+
if (onFilter) onFilter(text);
|
100
|
+
return;
|
101
|
+
}
|
102
|
+
if (onCreate) {
|
103
|
+
var innerData = handleCreate(text);
|
104
|
+
setCreatedData(innerData);
|
105
|
+
}
|
106
|
+
if (!onFilter || !(0, _utils.isFunc)(onFilter)) return;
|
107
|
+
setFilterText(text);
|
108
|
+
var next = onFilter(text);
|
109
|
+
if (!(0, _utils.isFunc)(next)) return;
|
110
|
+
setFilterFunc(next);
|
111
|
+
var nextData = data === null || data === void 0 ? void 0 : data.filter(function (item) {
|
112
|
+
if (!groupKey) return next(item);
|
113
|
+
// 剔除分组项
|
114
|
+
if (item[groupKey]) return item;
|
115
|
+
return next(item);
|
116
|
+
});
|
117
|
+
setFilterData(nextData);
|
118
|
+
};
|
119
|
+
var handleResetData = function handleResetData() {
|
120
|
+
setFilterData(data);
|
121
|
+
};
|
122
|
+
(0, _react.useEffect)(function () {
|
123
|
+
if (data) setFilterData(data);
|
124
|
+
}, [data]);
|
125
|
+
var nextData;
|
126
|
+
var nextExpanded;
|
127
|
+
if (treeData) {
|
128
|
+
var _getTreeData = getTreeData(),
|
129
|
+
newData = _getTreeData.newData,
|
130
|
+
filterExpandedKeys = _getTreeData.filterExpandedKeys;
|
131
|
+
nextData = newData;
|
132
|
+
nextExpanded = filterExpandedKeys;
|
133
|
+
}
|
134
|
+
if (data) {
|
135
|
+
nextData = getData();
|
136
|
+
}
|
137
|
+
return {
|
138
|
+
inputText: inputText,
|
139
|
+
filterText: filterText,
|
140
|
+
expanded: nextExpanded,
|
141
|
+
rawData: data || treeData,
|
142
|
+
filterData: nextData,
|
143
|
+
createdData: createdData,
|
144
|
+
setInputText: setInputText,
|
145
|
+
setFilterText: setFilterText,
|
146
|
+
onCreate: onCreate ? handleCreate : undefined,
|
147
|
+
onFilter: onFilter || onCreate ? handleFilter : undefined,
|
148
|
+
onResetFilter: handleResetData,
|
149
|
+
onClearCreatedData: handleClearCreatedData
|
150
|
+
};
|
151
|
+
};
|
152
|
+
var _default = useFilter;
|
153
|
+
exports.default = _default;
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { KeygenType, KeygenResult } from '../type';
|
2
|
+
export interface UseFilterProps<DataItem> {
|
3
|
+
data?: DataItem[];
|
4
|
+
treeData?: DataItem[];
|
5
|
+
delay?: number;
|
6
|
+
childrenKey?: keyof DataItem & string;
|
7
|
+
keygen: KeygenType<DataItem>;
|
8
|
+
showHitDescendants?: boolean;
|
9
|
+
expanded?: KeygenResult[];
|
10
|
+
groupKey?: string;
|
11
|
+
hideCreateOption?: boolean;
|
12
|
+
onAdvancedFilter: boolean;
|
13
|
+
onFilter?: (text: string) => void | ((data: DataItem) => boolean);
|
14
|
+
onFilterWidthCreate?: (data: DataItem, createdData: DataItem, key: string | number) => boolean;
|
15
|
+
onCreate?: ((input: string | DataItem) => DataItem | string) | boolean;
|
16
|
+
}
|
17
|
+
//# sourceMappingURL=use-filter.type.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"use-filter.type.d.ts","sourceRoot":"","sources":["use-filter.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,WAAW,cAAc,CAAC,QAAQ;IACtC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,QAAQ,GAAG,MAAM,CAAC;IACtC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IAClE,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC;IAC/F,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,KAAK,QAAQ,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC;CACxE"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAMnD,oBAAY,kBAAkB,GAC1B,aAAa,GACb,UAAU,GACV,cAAc,GACd,WAAW,GACX,MAAM,GACN,OAAO,CAAC;AACZ,oBAAY,gBAAgB,GACxB,aAAa,GACb,cAAc,GACd,UAAU,GACV,WAAW,GACX,KAAK,GACL,QAAQ,CAAC;AAYb,aAAK,YAAY,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,OAAO,CAAC;AACpE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AACD,eAAO,MAAM,gBAAgB,WAAY,mBAAmB,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAMnD,oBAAY,kBAAkB,GAC1B,aAAa,GACb,UAAU,GACV,cAAc,GACd,WAAW,GACX,MAAM,GACN,OAAO,CAAC;AACZ,oBAAY,gBAAgB,GACxB,aAAa,GACb,cAAc,GACd,UAAU,GACV,WAAW,GACX,KAAK,GACL,QAAQ,CAAC;AAYb,aAAK,YAAY,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,OAAO,CAAC;AACpE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AACD,eAAO,MAAM,gBAAgB,WAAY,mBAAmB,wBAwN3D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|