@falcon-ui/falcon-ui 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +182 -0
- package/cjs/JsBarcode-BlUjuVmB.cjs +3519 -0
- package/cjs/JsBarcode-BlUjuVmB.cjs.map +1 -0
- package/cjs/chunk-D4y6LrGi.cjs +40 -0
- package/cjs/components/JsBarcode-BOXEZn4Q.cjs +3519 -0
- package/cjs/components/JsBarcode-BOXEZn4Q.cjs.map +1 -0
- package/cjs/components/barcode/JsBarcode-BOXEZn4Q.cjs +3519 -0
- package/cjs/components/barcode/JsBarcode-BOXEZn4Q.cjs.map +1 -0
- package/cjs/components/barcode/chunk-D4y6LrGi.cjs +40 -0
- package/cjs/components/barcode/index.cjs +211 -0
- package/cjs/components/barcode/index.cjs.map +1 -0
- package/cjs/components/barcode/src/JsBarcode-BOXEZn4Q.cjs +3519 -0
- package/cjs/components/barcode/src/JsBarcode-BOXEZn4Q.cjs.map +1 -0
- package/cjs/components/barcode/src/barcode.cjs +102 -0
- package/cjs/components/barcode/src/barcode.cjs.map +1 -0
- package/cjs/components/barcode/src/barcode.vue.cjs +200 -0
- package/cjs/components/barcode/src/barcode.vue.cjs.map +1 -0
- package/cjs/components/barcode/src/chunk-D4y6LrGi.cjs +40 -0
- package/cjs/components/button/index.cjs +135 -0
- package/cjs/components/button/index.cjs.map +1 -0
- package/cjs/components/button/src/button.cjs +16 -0
- package/cjs/components/button/src/button.cjs.map +1 -0
- package/cjs/components/button/src/button.vue.cjs +124 -0
- package/cjs/components/button/src/button.vue.cjs.map +1 -0
- package/cjs/components/chunk-D4y6LrGi.cjs +40 -0
- package/cjs/components/date-picker/index.cjs +164 -0
- package/cjs/components/date-picker/index.cjs.map +1 -0
- package/cjs/components/date-picker/src/date-picker.cjs +25 -0
- package/cjs/components/date-picker/src/date-picker.cjs.map +1 -0
- package/cjs/components/date-picker/src/date-picker.vue.cjs +153 -0
- package/cjs/components/date-picker/src/date-picker.vue.cjs.map +1 -0
- package/cjs/components/dialog/index.cjs +346 -0
- package/cjs/components/dialog/index.cjs.map +1 -0
- package/cjs/components/dialog/src/dialog.cjs +40 -0
- package/cjs/components/dialog/src/dialog.cjs.map +1 -0
- package/cjs/components/dialog/src/dialog.vue.cjs +343 -0
- package/cjs/components/dialog/src/dialog.vue.cjs.map +1 -0
- package/cjs/components/index.cjs +9450 -0
- package/cjs/components/index.cjs.map +1 -0
- package/cjs/components/input/index.cjs +175 -0
- package/cjs/components/input/index.cjs.map +1 -0
- package/cjs/components/input/src/input.cjs +27 -0
- package/cjs/components/input/src/input.cjs.map +1 -0
- package/cjs/components/input/src/input.vue.cjs +164 -0
- package/cjs/components/input/src/input.vue.cjs.map +1 -0
- package/cjs/components/input-number/index.cjs +374 -0
- package/cjs/components/input-number/index.cjs.map +1 -0
- package/cjs/components/input-number/src/input-number.cjs +48 -0
- package/cjs/components/input-number/src/input-number.cjs.map +1 -0
- package/cjs/components/input-number/src/input-number.vue.cjs +363 -0
- package/cjs/components/input-number/src/input-number.vue.cjs.map +1 -0
- package/cjs/components/input-search/index.cjs +286 -0
- package/cjs/components/input-search/index.cjs.map +1 -0
- package/cjs/components/input-search/src/input-search.cjs +55 -0
- package/cjs/components/input-search/src/input-search.cjs.map +1 -0
- package/cjs/components/input-search/src/input-search.vue.cjs +275 -0
- package/cjs/components/input-search/src/input-search.vue.cjs.map +1 -0
- package/cjs/components/qr-code/index.cjs +1975 -0
- package/cjs/components/qr-code/index.cjs.map +1 -0
- package/cjs/components/qr-code/src/qr-code.cjs +63 -0
- package/cjs/components/qr-code/src/qr-code.cjs.map +1 -0
- package/cjs/components/qr-code/src/qr-code.vue.cjs +1964 -0
- package/cjs/components/qr-code/src/qr-code.vue.cjs.map +1 -0
- package/cjs/components/radial-menu/index.cjs +983 -0
- package/cjs/components/radial-menu/index.cjs.map +1 -0
- package/cjs/components/radial-menu/src/radial-menu.cjs +96 -0
- package/cjs/components/radial-menu/src/radial-menu.cjs.map +1 -0
- package/cjs/components/radial-menu/src/radial-menu.vue.cjs +921 -0
- package/cjs/components/radial-menu/src/radial-menu.vue.cjs.map +1 -0
- package/cjs/components/select/index.cjs +163 -0
- package/cjs/components/select/index.cjs.map +1 -0
- package/cjs/components/select/src/select.cjs +16 -0
- package/cjs/components/select/src/select.cjs.map +1 -0
- package/cjs/components/select/src/select.vue.cjs +152 -0
- package/cjs/components/select/src/select.vue.cjs.map +1 -0
- package/cjs/components/table/index.cjs +3351 -0
- package/cjs/components/table/index.cjs.map +1 -0
- package/cjs/components/table/src/table.cjs +62 -0
- package/cjs/components/table/src/table.cjs.map +1 -0
- package/cjs/components/table/src/table.vue.cjs +3085 -0
- package/cjs/components/table/src/table.vue.cjs.map +1 -0
- package/cjs/dialog-CJU00aEV.cjs +614 -0
- package/cjs/dialog-CJU00aEV.cjs.map +1 -0
- package/cjs/dialog-DcH26KbE.cjs +2 -0
- package/cjs/hooks/dialog-DpYPBcKV.cjs +266 -0
- package/cjs/hooks/dialog-DpYPBcKV.cjs.map +1 -0
- package/cjs/hooks/hooks-D2Jaq5kO.cjs +328 -0
- package/cjs/hooks/hooks-D2Jaq5kO.cjs.map +1 -0
- package/cjs/hooks/index.cjs +8 -0
- package/cjs/icons/index.cjs +86 -0
- package/cjs/icons/index.cjs.map +1 -0
- package/cjs/index.cjs +9141 -0
- package/cjs/index.cjs.map +1 -0
- package/cjs/utils/index.cjs +69 -0
- package/cjs/utils/index.cjs.map +1 -0
- package/esm/JsBarcode-kVJER62m.js +3514 -0
- package/esm/JsBarcode-kVJER62m.js.map +1 -0
- package/esm/chunk-BuRq7rDw.js +23 -0
- package/esm/components/JsBarcode-CzzxrEd_.js +3514 -0
- package/esm/components/JsBarcode-CzzxrEd_.js.map +1 -0
- package/esm/components/barcode/JsBarcode-C5ux6wsb.js +3514 -0
- package/esm/components/barcode/JsBarcode-C5ux6wsb.js.map +1 -0
- package/esm/components/barcode/chunk--em_ddB3.js +23 -0
- package/esm/components/barcode/index.mjs +204 -0
- package/esm/components/barcode/index.mjs.map +1 -0
- package/esm/components/barcode/src/JsBarcode-C5ux6wsb.js +3514 -0
- package/esm/components/barcode/src/JsBarcode-C5ux6wsb.js.map +1 -0
- package/esm/components/barcode/src/barcode.mjs +98 -0
- package/esm/components/barcode/src/barcode.mjs.map +1 -0
- package/esm/components/barcode/src/barcode.vue.mjs +194 -0
- package/esm/components/barcode/src/barcode.vue.mjs.map +1 -0
- package/esm/components/barcode/src/chunk--em_ddB3.js +23 -0
- package/esm/components/button/index.mjs +126 -0
- package/esm/components/button/index.mjs.map +1 -0
- package/esm/components/button/src/button.mjs +14 -0
- package/esm/components/button/src/button.mjs.map +1 -0
- package/esm/components/button/src/button.vue.mjs +117 -0
- package/esm/components/button/src/button.vue.mjs.map +1 -0
- package/esm/components/chunk-BuRq7rDw.js +23 -0
- package/esm/components/date-picker/index.mjs +155 -0
- package/esm/components/date-picker/index.mjs.map +1 -0
- package/esm/components/date-picker/src/date-picker.mjs +23 -0
- package/esm/components/date-picker/src/date-picker.mjs.map +1 -0
- package/esm/components/date-picker/src/date-picker.vue.mjs +146 -0
- package/esm/components/date-picker/src/date-picker.vue.mjs.map +1 -0
- package/esm/components/dialog/index.mjs +335 -0
- package/esm/components/dialog/index.mjs.map +1 -0
- package/esm/components/dialog/src/dialog.mjs +38 -0
- package/esm/components/dialog/src/dialog.mjs.map +1 -0
- package/esm/components/dialog/src/dialog.vue.mjs +334 -0
- package/esm/components/dialog/src/dialog.vue.mjs.map +1 -0
- package/esm/components/index.mjs +9386 -0
- package/esm/components/index.mjs.map +1 -0
- package/esm/components/input/index.mjs +166 -0
- package/esm/components/input/index.mjs.map +1 -0
- package/esm/components/input/src/input.mjs +25 -0
- package/esm/components/input/src/input.mjs.map +1 -0
- package/esm/components/input/src/input.vue.mjs +157 -0
- package/esm/components/input/src/input.vue.mjs.map +1 -0
- package/esm/components/input-number/index.mjs +365 -0
- package/esm/components/input-number/index.mjs.map +1 -0
- package/esm/components/input-number/src/input-number.mjs +45 -0
- package/esm/components/input-number/src/input-number.mjs.map +1 -0
- package/esm/components/input-number/src/input-number.vue.mjs +356 -0
- package/esm/components/input-number/src/input-number.vue.mjs.map +1 -0
- package/esm/components/input-search/index.mjs +277 -0
- package/esm/components/input-search/index.mjs.map +1 -0
- package/esm/components/input-search/src/input-search.mjs +53 -0
- package/esm/components/input-search/src/input-search.mjs.map +1 -0
- package/esm/components/input-search/src/input-search.vue.mjs +268 -0
- package/esm/components/input-search/src/input-search.vue.mjs.map +1 -0
- package/esm/components/qr-code/index.mjs +1967 -0
- package/esm/components/qr-code/index.mjs.map +1 -0
- package/esm/components/qr-code/src/qr-code.mjs +59 -0
- package/esm/components/qr-code/src/qr-code.mjs.map +1 -0
- package/esm/components/qr-code/src/qr-code.vue.mjs +1958 -0
- package/esm/components/qr-code/src/qr-code.vue.mjs.map +1 -0
- package/esm/components/radial-menu/index.mjs +974 -0
- package/esm/components/radial-menu/index.mjs.map +1 -0
- package/esm/components/radial-menu/src/radial-menu.mjs +94 -0
- package/esm/components/radial-menu/src/radial-menu.mjs.map +1 -0
- package/esm/components/radial-menu/src/radial-menu.vue.mjs +916 -0
- package/esm/components/radial-menu/src/radial-menu.vue.mjs.map +1 -0
- package/esm/components/select/index.mjs +154 -0
- package/esm/components/select/index.mjs.map +1 -0
- package/esm/components/select/src/select.mjs +14 -0
- package/esm/components/select/src/select.mjs.map +1 -0
- package/esm/components/select/src/select.vue.mjs +145 -0
- package/esm/components/select/src/select.vue.mjs.map +1 -0
- package/esm/components/table/index.mjs +3342 -0
- package/esm/components/table/index.mjs.map +1 -0
- package/esm/components/table/src/table.mjs +60 -0
- package/esm/components/table/src/table.mjs.map +1 -0
- package/esm/components/table/src/table.vue.mjs +3080 -0
- package/esm/components/table/src/table.vue.mjs.map +1 -0
- package/esm/dialog-Cm3Px-Bu.js +537 -0
- package/esm/dialog-Cm3Px-Bu.js.map +1 -0
- package/esm/dialog-CzZm50XM.js +2 -0
- package/esm/hooks/dialog-d4SMZWbw.js +261 -0
- package/esm/hooks/dialog-d4SMZWbw.js.map +1 -0
- package/esm/hooks/hooks-DdjieG2I.js +281 -0
- package/esm/hooks/hooks-DdjieG2I.js.map +1 -0
- package/esm/hooks/index.mjs +2 -0
- package/esm/icons/index.mjs +79 -0
- package/esm/icons/index.mjs.map +1 -0
- package/esm/index.mjs +9065 -0
- package/esm/index.mjs.map +1 -0
- package/esm/utils/index.mjs +65 -0
- package/esm/utils/index.mjs.map +1 -0
- package/global.d.ts +39 -0
- package/package.json +131 -0
- package/theme/index.css +1 -0
- package/theme/index.scss +16 -0
- package/theme/src/barcode.scss +14 -0
- package/theme/src/button.scss +65 -0
- package/theme/src/date-picker.scss +87 -0
- package/theme/src/dialog.scss +146 -0
- package/theme/src/ep-vars.scss +11 -0
- package/theme/src/input-number.scss +66 -0
- package/theme/src/input-search.scss +78 -0
- package/theme/src/input.scss +66 -0
- package/theme/src/mixins/bem.scss +35 -0
- package/theme/src/mixins/color.scss +8 -0
- package/theme/src/qr-code.scss +23 -0
- package/theme/src/radial-menu.scss +346 -0
- package/theme/src/select.scss +44 -0
- package/theme/src/table.scss +143 -0
- package/theme/src/tokens.scss +26 -0
- package/theme/src/tree-select.scss +45 -0
- package/theme/src/tree.scss +369 -0
- package/types/components/barcode/index.d.ts +183 -0
- package/types/components/barcode/src/barcode.d.ts +147 -0
- package/types/components/barcode/src/barcode.vue.d.ts +184 -0
- package/types/components/button/index.d.ts +135 -0
- package/types/components/button/src/button.d.ts +33 -0
- package/types/components/button/src/button.vue.d.ts +138 -0
- package/types/components/date-picker/index.d.ts +508 -0
- package/types/components/date-picker/src/date-picker.d.ts +35 -0
- package/types/components/date-picker/src/date-picker.vue.d.ts +509 -0
- package/types/components/dialog/index.d.ts +630 -0
- package/types/components/dialog/src/dialog.d.ts +70 -0
- package/types/components/dialog/src/dialog.vue.d.ts +257 -0
- package/types/components/index.d.ts +27 -0
- package/types/components/input/index.d.ts +233 -0
- package/types/components/input/src/input.d.ts +65 -0
- package/types/components/input/src/input.vue.d.ts +239 -0
- package/types/components/input-number/index.d.ts +713 -0
- package/types/components/input-number/src/input-number.d.ts +101 -0
- package/types/components/input-number/src/input-number.vue.d.ts +283 -0
- package/types/components/input-search/index.d.ts +113 -0
- package/types/components/input-search/src/input-search.d.ts +128 -0
- package/types/components/input-search/src/input-search.vue.d.ts +114 -0
- package/types/components/qr-code/index.d.ts +109 -0
- package/types/components/qr-code/src/qr-code.d.ts +93 -0
- package/types/components/qr-code/src/qr-code.vue.d.ts +109 -0
- package/types/components/radial-menu/index.d.ts +499 -0
- package/types/components/radial-menu/src/radial-menu-item.d.ts +40 -0
- package/types/components/radial-menu/src/radial-menu-item.vue.d.ts +95 -0
- package/types/components/radial-menu/src/radial-menu.d.ts +92 -0
- package/types/components/radial-menu/src/radial-menu.vue.d.ts +200 -0
- package/types/components/radial-menu/src/types.d.ts +48 -0
- package/types/components/radial-menu/src/use-radial-menu-items.d.ts +19 -0
- package/types/components/radial-menu/src/use-radial-menu-keyboard.d.ts +17 -0
- package/types/components/radial-menu/src/use-radial-menu-position.d.ts +45 -0
- package/types/components/radial-menu/src/use-radial-menu-shortcut.d.ts +8 -0
- package/types/components/radial-menu/src/use-radial-menu-state.d.ts +15 -0
- package/types/components/select/index.d.ts +5 -0
- package/types/components/select/src/select.d.ts +30 -0
- package/types/components/select/src/select.vue.d.ts +25 -0
- package/types/components/table/index.d.ts +8 -0
- package/types/components/table/src/editor-registry.d.ts +24 -0
- package/types/components/table/src/proxy-data.d.ts +10 -0
- package/types/components/table/src/table-editor.d.ts +18 -0
- package/types/components/table/src/table-editor.vue.d.ts +43 -0
- package/types/components/table/src/table.d.ts +179 -0
- package/types/components/table/src/table.vue.d.ts +121 -0
- package/types/components/tree/index.d.ts +5 -0
- package/types/components/tree/src/tree-node.vue.d.ts +88 -0
- package/types/components/tree/src/tree-types.d.ts +90 -0
- package/types/components/tree/src/tree.d.ts +448 -0
- package/types/components/tree/src/tree.vue.d.ts +301 -0
- package/types/components/tree/src/use-tree-check-conduct.d.ts +43 -0
- package/types/components/tree/src/use-tree-checked-state.d.ts +34 -0
- package/types/components/tree/src/use-tree-drag.d.ts +45 -0
- package/types/components/tree/src/use-tree-expanded-state.d.ts +41 -0
- package/types/components/tree/src/use-tree-keyboard.d.ts +21 -0
- package/types/components/tree/src/use-tree-load.d.ts +25 -0
- package/types/components/tree/src/use-tree-scroll.d.ts +17 -0
- package/types/components/tree/src/use-tree-selected-state.d.ts +29 -0
- package/types/components/tree-select/index.d.ts +5 -0
- package/types/components/tree-select/src/tree-select.d.ts +26 -0
- package/types/components/tree-select/src/tree-select.vue.d.ts +25 -0
- package/types/falcon-ui/index.d.ts +8 -0
- package/types/hooks/index.d.ts +3 -0
- package/types/hooks/src/use-clearable-state.d.ts +10 -0
- package/types/hooks/src/use-component.d.ts +15 -0
- package/types/hooks/src/use-dialog.d.ts +49 -0
- package/types/icons/index.d.ts +1 -0
- package/types/icons/src/components/holder-outlined.vue.d.ts +3 -0
- package/types/icons/src/components/index.d.ts +3 -0
- package/types/icons/src/components/minus-square-outlined.vue.d.ts +3 -0
- package/types/icons/src/components/plus-square-outlined.vue.d.ts +3 -0
- package/types/utils/index.d.ts +3 -0
- package/types/utils/src/bem.d.ts +11 -0
- package/types/utils/src/component.d.ts +6 -0
- package/types/utils/src/install.d.ts +5 -0
- package/umd/falcon-ui.umd.js +13297 -0
- package/umd/falcon-ui.umd.js.map +1 -0
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import { type TreeData, type TreeExpose, type TreeInteractionEvent, type TreeNodeInstance, type TreeNode } from './tree';
|
|
2
|
+
type __VLS_Slots = {
|
|
3
|
+
default?: (props: {
|
|
4
|
+
node: TreeNode;
|
|
5
|
+
data: TreeData;
|
|
6
|
+
}) => unknown;
|
|
7
|
+
};
|
|
8
|
+
declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
9
|
+
readonly data: {
|
|
10
|
+
readonly type: import("vue").PropType<TreeData[]>;
|
|
11
|
+
readonly default: () => never[];
|
|
12
|
+
};
|
|
13
|
+
readonly showLine: {
|
|
14
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeShowLine>;
|
|
15
|
+
readonly default: false;
|
|
16
|
+
};
|
|
17
|
+
readonly switcherIcon: {
|
|
18
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeSwitcherIconMode>;
|
|
19
|
+
readonly default: "arrow";
|
|
20
|
+
};
|
|
21
|
+
readonly switcherLoadingIcon: {
|
|
22
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeSwitcherLoadingIcon>;
|
|
23
|
+
readonly default: import("vue").DefineComponent<{}, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
24
|
+
};
|
|
25
|
+
readonly selectable: {
|
|
26
|
+
readonly type: BooleanConstructor;
|
|
27
|
+
readonly default: true;
|
|
28
|
+
};
|
|
29
|
+
readonly multiple: {
|
|
30
|
+
readonly type: BooleanConstructor;
|
|
31
|
+
readonly default: false;
|
|
32
|
+
};
|
|
33
|
+
readonly checkable: {
|
|
34
|
+
readonly type: BooleanConstructor;
|
|
35
|
+
readonly default: false;
|
|
36
|
+
};
|
|
37
|
+
readonly checkStrictly: {
|
|
38
|
+
readonly type: BooleanConstructor;
|
|
39
|
+
readonly default: false;
|
|
40
|
+
};
|
|
41
|
+
readonly props: {
|
|
42
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeNodeProps>;
|
|
43
|
+
readonly default: () => {
|
|
44
|
+
label: string;
|
|
45
|
+
children: string;
|
|
46
|
+
isLeaf: string;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
readonly classNames: {
|
|
50
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeClassNames>;
|
|
51
|
+
};
|
|
52
|
+
readonly nodeClassName: {
|
|
53
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeNodeClassName>;
|
|
54
|
+
};
|
|
55
|
+
readonly styles: {
|
|
56
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeStyles>;
|
|
57
|
+
};
|
|
58
|
+
readonly defaultExpandAll: {
|
|
59
|
+
readonly type: BooleanConstructor;
|
|
60
|
+
readonly default: false;
|
|
61
|
+
};
|
|
62
|
+
readonly defaultExpandedKeys: {
|
|
63
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeKey[]>;
|
|
64
|
+
};
|
|
65
|
+
readonly expandedKeys: {
|
|
66
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeKey[]>;
|
|
67
|
+
};
|
|
68
|
+
readonly autoExpandParent: {
|
|
69
|
+
readonly type: BooleanConstructor;
|
|
70
|
+
readonly default: false;
|
|
71
|
+
};
|
|
72
|
+
readonly defaultExpandParent: {
|
|
73
|
+
readonly type: BooleanConstructor;
|
|
74
|
+
readonly default: true;
|
|
75
|
+
};
|
|
76
|
+
readonly accordion: {
|
|
77
|
+
readonly type: BooleanConstructor;
|
|
78
|
+
readonly default: false;
|
|
79
|
+
};
|
|
80
|
+
readonly defaultSelectedKeys: {
|
|
81
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeKey[]>;
|
|
82
|
+
};
|
|
83
|
+
readonly selectedKeys: {
|
|
84
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeKey[]>;
|
|
85
|
+
};
|
|
86
|
+
readonly disabledKeys: {
|
|
87
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeKey[]>;
|
|
88
|
+
};
|
|
89
|
+
readonly unselectableKeys: {
|
|
90
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeKey[]>;
|
|
91
|
+
};
|
|
92
|
+
readonly defaultCheckedKeys: {
|
|
93
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeKey[]>;
|
|
94
|
+
};
|
|
95
|
+
readonly checkedKeys: {
|
|
96
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeCheckedKeys>;
|
|
97
|
+
};
|
|
98
|
+
readonly disabledCheckboxKeys: {
|
|
99
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeKey[]>;
|
|
100
|
+
};
|
|
101
|
+
readonly hiddenCheckboxKeys: {
|
|
102
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeKey[]>;
|
|
103
|
+
};
|
|
104
|
+
readonly loadData: {
|
|
105
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeLoadData>;
|
|
106
|
+
};
|
|
107
|
+
readonly loadedKeys: {
|
|
108
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeKey[]>;
|
|
109
|
+
};
|
|
110
|
+
readonly draggable: {
|
|
111
|
+
readonly type: BooleanConstructor;
|
|
112
|
+
readonly default: false;
|
|
113
|
+
};
|
|
114
|
+
readonly allowDrag: {
|
|
115
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeAllowDrag>;
|
|
116
|
+
};
|
|
117
|
+
readonly allowDrop: {
|
|
118
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeAllowDrop>;
|
|
119
|
+
};
|
|
120
|
+
readonly filterTreeNode: {
|
|
121
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeFilterTreeNode>;
|
|
122
|
+
};
|
|
123
|
+
}>, TreeExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
124
|
+
select: (selectedKeys: import("@falcon-ui/falcon-ui").TreeKey[], event: import("@falcon-ui/falcon-ui").TreeSelectEvent) => void;
|
|
125
|
+
dblclick: (data: TreeData, node: TreeNode, component: TreeNodeInstance, event: MouseEvent) => void;
|
|
126
|
+
load: (loadedKeys: import("@falcon-ui/falcon-ui").TreeKey[], event: import("@falcon-ui/falcon-ui").TreeLoadEvent) => void;
|
|
127
|
+
"update:checkedKeys": (value: import("@falcon-ui/falcon-ui").TreeCheckedKeys) => void;
|
|
128
|
+
check: (checkedKeys: import("@falcon-ui/falcon-ui").TreeCheckedKeys, event: import("@falcon-ui/falcon-ui").TreeCheckEvent) => void;
|
|
129
|
+
"node-drag-start": (node: TreeNode, event: DragEvent) => void;
|
|
130
|
+
"node-drag-enter": (draggingNode: TreeNode, dropNode: TreeNode, event: DragEvent) => void;
|
|
131
|
+
"node-drag-over": (draggingNode: TreeNode, dropNode: TreeNode, event: DragEvent) => void;
|
|
132
|
+
"node-drag-leave": (draggingNode: TreeNode, dropNode: TreeNode, event: DragEvent) => void;
|
|
133
|
+
"node-drag-end": (draggingNode: TreeNode, dropNode: TreeNode | null, dropType: import("@falcon-ui/falcon-ui").TreeNodeDropType, event: DragEvent) => void;
|
|
134
|
+
"node-drop": (draggingNode: TreeNode, dropNode: TreeNode, dropType: "inner" | "before" | "after", event: DragEvent) => void;
|
|
135
|
+
"update:expandedKeys": (value: import("@falcon-ui/falcon-ui").TreeKey[]) => void;
|
|
136
|
+
expand: (event: import("@falcon-ui/falcon-ui").TreeExpandEvent) => void;
|
|
137
|
+
"node-expand": (data: TreeData, node: import("@falcon-ui/falcon-ui").TreeExpandedNode, instance: TreeNodeInstance) => void;
|
|
138
|
+
"node-collapse": (data: TreeData, node: import("@falcon-ui/falcon-ui").TreeExpandedNode, instance: TreeNodeInstance) => void;
|
|
139
|
+
"update:loadedKeys": (value: import("@falcon-ui/falcon-ui").TreeKey[]) => void;
|
|
140
|
+
"update:selectedKeys": (value: import("@falcon-ui/falcon-ui").TreeKey[]) => void;
|
|
141
|
+
"node-click": (data: TreeData, node: TreeNode, component: TreeNodeInstance, event: TreeInteractionEvent) => void;
|
|
142
|
+
"right-click": (data: TreeData, node: TreeNode, component: TreeNodeInstance, event: MouseEvent) => void;
|
|
143
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
144
|
+
readonly data: {
|
|
145
|
+
readonly type: import("vue").PropType<TreeData[]>;
|
|
146
|
+
readonly default: () => never[];
|
|
147
|
+
};
|
|
148
|
+
readonly showLine: {
|
|
149
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeShowLine>;
|
|
150
|
+
readonly default: false;
|
|
151
|
+
};
|
|
152
|
+
readonly switcherIcon: {
|
|
153
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeSwitcherIconMode>;
|
|
154
|
+
readonly default: "arrow";
|
|
155
|
+
};
|
|
156
|
+
readonly switcherLoadingIcon: {
|
|
157
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeSwitcherLoadingIcon>;
|
|
158
|
+
readonly default: import("vue").DefineComponent<{}, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
159
|
+
};
|
|
160
|
+
readonly selectable: {
|
|
161
|
+
readonly type: BooleanConstructor;
|
|
162
|
+
readonly default: true;
|
|
163
|
+
};
|
|
164
|
+
readonly multiple: {
|
|
165
|
+
readonly type: BooleanConstructor;
|
|
166
|
+
readonly default: false;
|
|
167
|
+
};
|
|
168
|
+
readonly checkable: {
|
|
169
|
+
readonly type: BooleanConstructor;
|
|
170
|
+
readonly default: false;
|
|
171
|
+
};
|
|
172
|
+
readonly checkStrictly: {
|
|
173
|
+
readonly type: BooleanConstructor;
|
|
174
|
+
readonly default: false;
|
|
175
|
+
};
|
|
176
|
+
readonly props: {
|
|
177
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeNodeProps>;
|
|
178
|
+
readonly default: () => {
|
|
179
|
+
label: string;
|
|
180
|
+
children: string;
|
|
181
|
+
isLeaf: string;
|
|
182
|
+
};
|
|
183
|
+
};
|
|
184
|
+
readonly classNames: {
|
|
185
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeClassNames>;
|
|
186
|
+
};
|
|
187
|
+
readonly nodeClassName: {
|
|
188
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeNodeClassName>;
|
|
189
|
+
};
|
|
190
|
+
readonly styles: {
|
|
191
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeStyles>;
|
|
192
|
+
};
|
|
193
|
+
readonly defaultExpandAll: {
|
|
194
|
+
readonly type: BooleanConstructor;
|
|
195
|
+
readonly default: false;
|
|
196
|
+
};
|
|
197
|
+
readonly defaultExpandedKeys: {
|
|
198
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeKey[]>;
|
|
199
|
+
};
|
|
200
|
+
readonly expandedKeys: {
|
|
201
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeKey[]>;
|
|
202
|
+
};
|
|
203
|
+
readonly autoExpandParent: {
|
|
204
|
+
readonly type: BooleanConstructor;
|
|
205
|
+
readonly default: false;
|
|
206
|
+
};
|
|
207
|
+
readonly defaultExpandParent: {
|
|
208
|
+
readonly type: BooleanConstructor;
|
|
209
|
+
readonly default: true;
|
|
210
|
+
};
|
|
211
|
+
readonly accordion: {
|
|
212
|
+
readonly type: BooleanConstructor;
|
|
213
|
+
readonly default: false;
|
|
214
|
+
};
|
|
215
|
+
readonly defaultSelectedKeys: {
|
|
216
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeKey[]>;
|
|
217
|
+
};
|
|
218
|
+
readonly selectedKeys: {
|
|
219
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeKey[]>;
|
|
220
|
+
};
|
|
221
|
+
readonly disabledKeys: {
|
|
222
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeKey[]>;
|
|
223
|
+
};
|
|
224
|
+
readonly unselectableKeys: {
|
|
225
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeKey[]>;
|
|
226
|
+
};
|
|
227
|
+
readonly defaultCheckedKeys: {
|
|
228
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeKey[]>;
|
|
229
|
+
};
|
|
230
|
+
readonly checkedKeys: {
|
|
231
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeCheckedKeys>;
|
|
232
|
+
};
|
|
233
|
+
readonly disabledCheckboxKeys: {
|
|
234
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeKey[]>;
|
|
235
|
+
};
|
|
236
|
+
readonly hiddenCheckboxKeys: {
|
|
237
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeKey[]>;
|
|
238
|
+
};
|
|
239
|
+
readonly loadData: {
|
|
240
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeLoadData>;
|
|
241
|
+
};
|
|
242
|
+
readonly loadedKeys: {
|
|
243
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeKey[]>;
|
|
244
|
+
};
|
|
245
|
+
readonly draggable: {
|
|
246
|
+
readonly type: BooleanConstructor;
|
|
247
|
+
readonly default: false;
|
|
248
|
+
};
|
|
249
|
+
readonly allowDrag: {
|
|
250
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeAllowDrag>;
|
|
251
|
+
};
|
|
252
|
+
readonly allowDrop: {
|
|
253
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeAllowDrop>;
|
|
254
|
+
};
|
|
255
|
+
readonly filterTreeNode: {
|
|
256
|
+
readonly type: import("vue").PropType<import("@falcon-ui/falcon-ui").TreeFilterTreeNode>;
|
|
257
|
+
};
|
|
258
|
+
}>> & Readonly<{
|
|
259
|
+
onSelect?: ((selectedKeys: import("@falcon-ui/falcon-ui").TreeKey[], event: import("@falcon-ui/falcon-ui").TreeSelectEvent) => any) | undefined;
|
|
260
|
+
onDblclick?: ((data: TreeData, node: TreeNode, component: TreeNodeInstance, event: MouseEvent) => any) | undefined;
|
|
261
|
+
onLoad?: ((loadedKeys: import("@falcon-ui/falcon-ui").TreeKey[], event: import("@falcon-ui/falcon-ui").TreeLoadEvent) => any) | undefined;
|
|
262
|
+
"onUpdate:checkedKeys"?: ((value: import("@falcon-ui/falcon-ui").TreeCheckedKeys) => any) | undefined;
|
|
263
|
+
onCheck?: ((checkedKeys: import("@falcon-ui/falcon-ui").TreeCheckedKeys, event: import("@falcon-ui/falcon-ui").TreeCheckEvent) => any) | undefined;
|
|
264
|
+
"onNode-drag-start"?: ((node: TreeNode, event: DragEvent) => any) | undefined;
|
|
265
|
+
"onNode-drag-enter"?: ((draggingNode: TreeNode, dropNode: TreeNode, event: DragEvent) => any) | undefined;
|
|
266
|
+
"onNode-drag-over"?: ((draggingNode: TreeNode, dropNode: TreeNode, event: DragEvent) => any) | undefined;
|
|
267
|
+
"onNode-drag-leave"?: ((draggingNode: TreeNode, dropNode: TreeNode, event: DragEvent) => any) | undefined;
|
|
268
|
+
"onNode-drag-end"?: ((draggingNode: TreeNode, dropNode: TreeNode | null, dropType: import("@falcon-ui/falcon-ui").TreeNodeDropType, event: DragEvent) => any) | undefined;
|
|
269
|
+
"onNode-drop"?: ((draggingNode: TreeNode, dropNode: TreeNode, dropType: "inner" | "before" | "after", event: DragEvent) => any) | undefined;
|
|
270
|
+
"onUpdate:expandedKeys"?: ((value: import("@falcon-ui/falcon-ui").TreeKey[]) => any) | undefined;
|
|
271
|
+
onExpand?: ((event: import("@falcon-ui/falcon-ui").TreeExpandEvent) => any) | undefined;
|
|
272
|
+
"onNode-expand"?: ((data: TreeData, node: import("@falcon-ui/falcon-ui").TreeExpandedNode, instance: TreeNodeInstance) => any) | undefined;
|
|
273
|
+
"onNode-collapse"?: ((data: TreeData, node: import("@falcon-ui/falcon-ui").TreeExpandedNode, instance: TreeNodeInstance) => any) | undefined;
|
|
274
|
+
"onUpdate:loadedKeys"?: ((value: import("@falcon-ui/falcon-ui").TreeKey[]) => any) | undefined;
|
|
275
|
+
"onUpdate:selectedKeys"?: ((value: import("@falcon-ui/falcon-ui").TreeKey[]) => any) | undefined;
|
|
276
|
+
"onNode-click"?: ((data: TreeData, node: TreeNode, component: TreeNodeInstance, event: TreeInteractionEvent) => any) | undefined;
|
|
277
|
+
"onRight-click"?: ((data: TreeData, node: TreeNode, component: TreeNodeInstance, event: MouseEvent) => any) | undefined;
|
|
278
|
+
}>, {
|
|
279
|
+
readonly draggable: boolean;
|
|
280
|
+
readonly data: TreeData[];
|
|
281
|
+
readonly props: import("@falcon-ui/falcon-ui").TreeNodeProps;
|
|
282
|
+
readonly multiple: boolean;
|
|
283
|
+
readonly checkStrictly: boolean;
|
|
284
|
+
readonly defaultExpandAll: boolean;
|
|
285
|
+
readonly autoExpandParent: boolean;
|
|
286
|
+
readonly accordion: boolean;
|
|
287
|
+
readonly showLine: import("@falcon-ui/falcon-ui").TreeShowLine;
|
|
288
|
+
readonly switcherIcon: import("@falcon-ui/falcon-ui").TreeSwitcherIconMode;
|
|
289
|
+
readonly switcherLoadingIcon: import("@falcon-ui/falcon-ui").TreeSwitcherLoadingIcon;
|
|
290
|
+
readonly selectable: boolean;
|
|
291
|
+
readonly checkable: boolean;
|
|
292
|
+
readonly defaultExpandParent: boolean;
|
|
293
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
294
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
295
|
+
declare const _default: typeof __VLS_export;
|
|
296
|
+
export default _default;
|
|
297
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
298
|
+
new (): {
|
|
299
|
+
$slots: S;
|
|
300
|
+
};
|
|
301
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type TreeCheckedKeys, type TreeIndex, type TreeKey, type TreeNodeModel } from './tree';
|
|
2
|
+
/**
|
|
3
|
+
* 勾选状态统一拆分为 checked / halfChecked 两套集合,便于默认联动与严格模式复用。
|
|
4
|
+
*/
|
|
5
|
+
export interface TreeCheckedState {
|
|
6
|
+
checkedKeys: TreeKey[];
|
|
7
|
+
halfCheckedKeys: TreeKey[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* 默认联动模式下,对输入数组执行父子传导与半选态计算。
|
|
11
|
+
*/
|
|
12
|
+
export declare const conductTreeCheckedState: (sourceCheckedKeys: TreeKey[] | undefined, treeIndex: TreeIndex) => TreeCheckedState;
|
|
13
|
+
/**
|
|
14
|
+
* 严格模式下,`checked` 与 `halfChecked` 仅做归一化,不自动联动。
|
|
15
|
+
*/
|
|
16
|
+
export declare const normalizeStrictTreeCheckedState: (checkedKeys: TreeCheckedKeys | undefined, treeIndex: TreeIndex) => TreeCheckedState;
|
|
17
|
+
/**
|
|
18
|
+
* 统一归一化当前模式下的勾选状态。
|
|
19
|
+
*/
|
|
20
|
+
export declare const normalizeTreeCheckedState: ({ checkedKeys, treeIndex, strict }: {
|
|
21
|
+
checkedKeys: TreeCheckedKeys | undefined;
|
|
22
|
+
treeIndex: TreeIndex;
|
|
23
|
+
strict: boolean;
|
|
24
|
+
}) => TreeCheckedState;
|
|
25
|
+
/**
|
|
26
|
+
* 默认联动模式下切换某个节点的勾选状态:
|
|
27
|
+
* 1. 勾选时选中当前节点及其可达子孙
|
|
28
|
+
* 2. 取消时移除当前节点、其可达子孙以及沿途可勾选祖先
|
|
29
|
+
* 3. 之后重新执行传导,生成新的 checked / halfChecked 结果
|
|
30
|
+
*/
|
|
31
|
+
export declare const toggleConductedTreeCheckedState: ({ node, checkedKeys, treeIndex }: {
|
|
32
|
+
node: TreeNodeModel;
|
|
33
|
+
checkedKeys: TreeKey[];
|
|
34
|
+
treeIndex: TreeIndex;
|
|
35
|
+
}) => TreeCheckedState;
|
|
36
|
+
/**
|
|
37
|
+
* 将当前模式下的勾选状态编码回对外值形态。
|
|
38
|
+
*/
|
|
39
|
+
export declare const createTreeCheckedKeysValue: ({ strict, checkedKeys, halfCheckedKeys }: {
|
|
40
|
+
strict: boolean;
|
|
41
|
+
checkedKeys: TreeKey[];
|
|
42
|
+
halfCheckedKeys: TreeKey[];
|
|
43
|
+
}) => TreeCheckedKeys;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type ComputedRef } from 'vue';
|
|
2
|
+
import { type TreeCheckEvent, type TreeCheckedKeys, type TreeIndex, type TreeInteractionEvent, type TreeKey, type TreeNodeModel, type TreeProps } from './tree';
|
|
3
|
+
interface UseTreeCheckedStateOptions {
|
|
4
|
+
props: TreeProps;
|
|
5
|
+
treeIndex: ComputedRef<TreeIndex>;
|
|
6
|
+
emit: TreeCheckedStateEmit;
|
|
7
|
+
}
|
|
8
|
+
export interface TreeCheckedStateEmit {
|
|
9
|
+
(event: 'update:checkedKeys', value: TreeCheckedKeys): void;
|
|
10
|
+
(event: 'check', checkedKeys: TreeCheckedKeys, checkEvent: TreeCheckEvent): void;
|
|
11
|
+
}
|
|
12
|
+
interface ToggleCheckedNodeOptions {
|
|
13
|
+
node: TreeNodeModel;
|
|
14
|
+
event: TreeInteractionEvent;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* FlTree 阶段 7-9 的勾选状态层统一负责:
|
|
18
|
+
* 1. 默认联动模式的父子传导与半选态
|
|
19
|
+
* 2. strict 模式的 `{ checked, halfChecked }` 对象态
|
|
20
|
+
* 3. key-based 禁用、禁用 checkbox 与隐藏 checkbox 的交互边界
|
|
21
|
+
*/
|
|
22
|
+
export declare const useTreeCheckedState: ({ props, treeIndex, emit }: UseTreeCheckedStateOptions) => {
|
|
23
|
+
checkedKeys: ComputedRef<TreeKey[]>;
|
|
24
|
+
halfCheckedKeys: ComputedRef<TreeKey[]>;
|
|
25
|
+
isCheckboxDisabled: (node: TreeNodeModel) => boolean;
|
|
26
|
+
isControlled: ComputedRef<boolean>;
|
|
27
|
+
isNodeChecked: (nodeKey: TreeKey) => boolean;
|
|
28
|
+
isNodeHalfChecked: (nodeKey: TreeKey) => boolean;
|
|
29
|
+
isStrictMode: ComputedRef<boolean>;
|
|
30
|
+
isTreeCheckable: ComputedRef<boolean>;
|
|
31
|
+
shouldRenderCheckbox: (node: TreeNodeModel) => boolean;
|
|
32
|
+
toggleCheckedNode: ({ node, event }: ToggleCheckedNodeOptions) => void;
|
|
33
|
+
};
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { type ComputedRef } from 'vue';
|
|
2
|
+
import { type TreeIndex, type TreeKey, type TreeNodeDragEndArgs, type TreeNodeDragStartArgs, type TreeNodeDragTargetArgs, type TreeNodeDropArgs, type TreeNodeDropType, type TreeNodeModel, type TreeProps } from './tree';
|
|
3
|
+
interface UseTreeDragStateOptions {
|
|
4
|
+
props: TreeProps;
|
|
5
|
+
treeIndex: ComputedRef<TreeIndex>;
|
|
6
|
+
emit: TreeDragStateEmit;
|
|
7
|
+
notifyDataChange: () => void;
|
|
8
|
+
}
|
|
9
|
+
export interface TreeDragStateEmit {
|
|
10
|
+
(event: 'node-drag-start', ...args: TreeNodeDragStartArgs): void;
|
|
11
|
+
(event: 'node-drag-enter', ...args: TreeNodeDragTargetArgs): void;
|
|
12
|
+
(event: 'node-drag-over', ...args: TreeNodeDragTargetArgs): void;
|
|
13
|
+
(event: 'node-drag-leave', ...args: TreeNodeDragTargetArgs): void;
|
|
14
|
+
(event: 'node-drag-end', ...args: TreeNodeDragEndArgs): void;
|
|
15
|
+
(event: 'node-drop', ...args: TreeNodeDropArgs): void;
|
|
16
|
+
}
|
|
17
|
+
interface TreeDragTargetOptions {
|
|
18
|
+
node: TreeNodeModel;
|
|
19
|
+
event: DragEvent;
|
|
20
|
+
element: HTMLElement;
|
|
21
|
+
}
|
|
22
|
+
interface TreeDragNodeOptions {
|
|
23
|
+
node: TreeNodeModel;
|
|
24
|
+
event: DragEvent;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* FlTree 拖拽状态层,对齐 Element Plus Tree:
|
|
28
|
+
* 1. dragend 阶段内部原地重排 data
|
|
29
|
+
* 2. 使用 node-drag-* / node-drop 多参数事件
|
|
30
|
+
* 3. allowDrop 按 prev / inner / next 三种类型分别判断
|
|
31
|
+
*/
|
|
32
|
+
export declare const useTreeDragState: ({ props, treeIndex, emit, notifyDataChange }: UseTreeDragStateOptions) => {
|
|
33
|
+
getNodeDropType: (nodeKey: TreeKey) => TreeNodeDropType | undefined;
|
|
34
|
+
handleNodeDragEnd: ({ node, event }: TreeDragNodeOptions) => void;
|
|
35
|
+
handleNodeDragEnter: (options: TreeDragTargetOptions) => void;
|
|
36
|
+
handleNodeDragLeave: ({ node, event }: TreeDragTargetOptions) => void;
|
|
37
|
+
handleNodeDragOver: (options: TreeDragTargetOptions) => void;
|
|
38
|
+
handleNodeDragStart: ({ node, event }: TreeDragNodeOptions) => void;
|
|
39
|
+
handleNodeDrop: ({ event }: TreeDragTargetOptions) => void;
|
|
40
|
+
isNodeDraggable: () => boolean;
|
|
41
|
+
isNodeDragging: (nodeKey: TreeKey) => boolean;
|
|
42
|
+
isNodeDropAllowed: (nodeKey: TreeKey) => boolean;
|
|
43
|
+
isNodeDropTarget: (nodeKey: TreeKey) => boolean;
|
|
44
|
+
};
|
|
45
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type ComputedRef } from 'vue';
|
|
2
|
+
import { type TreeExpandEvent, type TreeExpandedNode, type TreeIndex, type TreeKey, type TreeNodeInstance, type TreeNodeModel, type TreeProps } from './tree';
|
|
3
|
+
/**
|
|
4
|
+
* 统一约束组合式展开状态层的输入参数。
|
|
5
|
+
*/
|
|
6
|
+
interface UseTreeExpandedStateOptions {
|
|
7
|
+
props: TreeProps;
|
|
8
|
+
treeIndex: ComputedRef<TreeIndex>;
|
|
9
|
+
emit: TreeExpandedStateEmit;
|
|
10
|
+
isNodeExpandable?: (node: TreeNodeModel) => boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 灞曞紑鐘舵€佸眰鍙叧蹇冨睍寮€鐩稿叧鐨勪簨浠跺悎鍚屻€?
|
|
14
|
+
*/
|
|
15
|
+
export interface TreeExpandedStateEmit {
|
|
16
|
+
(event: 'update:expandedKeys', value: TreeKey[]): void;
|
|
17
|
+
(event: 'expand', eventPayload: TreeExpandEvent): void;
|
|
18
|
+
(event: 'node-expand', data: TreeNodeModel['data'], node: TreeExpandedNode, instance: TreeNodeInstance): void;
|
|
19
|
+
(event: 'node-collapse', data: TreeNodeModel['data'], node: TreeExpandedNode, instance: TreeNodeInstance): void;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 切换展开状态时需要的节点上下文。
|
|
23
|
+
*/
|
|
24
|
+
interface ToggleNodeExpansionOptions {
|
|
25
|
+
node: TreeNodeModel;
|
|
26
|
+
instance: TreeNodeInstance;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* FlTree 阶段 3 的展开状态层:
|
|
30
|
+
* 1. 管理非受控初始化与受控渲染优先级
|
|
31
|
+
* 2. 区分源展开键与最终渲染展开集合
|
|
32
|
+
* 3. 统一收口 switcher 展开/收起事件
|
|
33
|
+
*/
|
|
34
|
+
export declare const useTreeExpandedState: ({ props, treeIndex, emit, isNodeExpandable }: UseTreeExpandedStateOptions) => {
|
|
35
|
+
effectiveExpandedKeySet: ComputedRef<Set<TreeKey>>;
|
|
36
|
+
isControlled: ComputedRef<boolean>;
|
|
37
|
+
isNodeExpanded: (nodeKey: TreeKey) => boolean;
|
|
38
|
+
sourceExpandedKeys: ComputedRef<TreeKey[]>;
|
|
39
|
+
toggleNodeExpansion: ({ node, instance }: ToggleNodeExpansionOptions) => void;
|
|
40
|
+
};
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type ComputedRef } from 'vue';
|
|
2
|
+
import type { TreeIndex, TreeKey, TreeNodeModel } from './tree';
|
|
3
|
+
interface UseTreeKeyboardStateOptions {
|
|
4
|
+
treeIndex: ComputedRef<TreeIndex>;
|
|
5
|
+
selectedKeys: ComputedRef<TreeKey[]>;
|
|
6
|
+
isNodeExpanded: (nodeKey: TreeKey) => boolean;
|
|
7
|
+
isNodeExpandable: (node: TreeNodeModel) => boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const useTreeKeyboardState: ({ treeIndex, selectedKeys, isNodeExpanded, isNodeExpandable }: UseTreeKeyboardStateOptions) => {
|
|
10
|
+
activeDescendantId: ComputedRef<string | undefined>;
|
|
11
|
+
focusNode: (nodeKey: TreeKey) => void;
|
|
12
|
+
focusedKey: import("vue").Ref<TreeKey | undefined, TreeKey | undefined>;
|
|
13
|
+
getFocusedNode: () => TreeNodeModel | undefined;
|
|
14
|
+
getNodeId: (nodeKey: TreeKey) => string;
|
|
15
|
+
isNodeFocused: (nodeKey: TreeKey) => boolean;
|
|
16
|
+
moveFocusBy: (offset: number) => void;
|
|
17
|
+
moveFocusToFirstChild: (node: TreeNodeModel) => void;
|
|
18
|
+
moveFocusToParent: (node: TreeNodeModel) => void;
|
|
19
|
+
visibleNodeKeys: ComputedRef<TreeKey[]>;
|
|
20
|
+
};
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type ComputedRef } from 'vue';
|
|
2
|
+
import { type TreeIndex, type TreeKey, type TreeLoadEvent, type TreeNodeModel, type TreeProps } from './tree';
|
|
3
|
+
interface UseTreeLoadStateOptions {
|
|
4
|
+
props: TreeProps;
|
|
5
|
+
treeIndex: ComputedRef<TreeIndex>;
|
|
6
|
+
emit: TreeLoadStateEmit;
|
|
7
|
+
}
|
|
8
|
+
export interface TreeLoadStateEmit {
|
|
9
|
+
(event: 'update:loadedKeys', value: TreeKey[]): void;
|
|
10
|
+
(event: 'load', loadedKeys: TreeKey[], loadEvent: TreeLoadEvent): void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* FlTree 阶段 13 的异步加载状态层:
|
|
14
|
+
* 1. 管理受控 / 非受控 loadedKeys
|
|
15
|
+
* 2. 维护节点加载中状态与重复请求保护
|
|
16
|
+
* 3. 只消费 loadData 的完成 / 失败结果,不读取 resolve 值
|
|
17
|
+
*/
|
|
18
|
+
export declare const useTreeLoadState: ({ props, treeIndex, emit }: UseTreeLoadStateOptions) => {
|
|
19
|
+
isControlled: ComputedRef<boolean>;
|
|
20
|
+
isNodeLoaded: (nodeKey: TreeKey) => boolean;
|
|
21
|
+
isNodeLoading: (nodeKey: TreeKey) => boolean;
|
|
22
|
+
loadNode: (node: TreeNodeModel) => Promise<void>;
|
|
23
|
+
loadedKeys: ComputedRef<TreeKey[]>;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ComputedRef } from 'vue';
|
|
2
|
+
import type { TreeIndex, TreeKey, TreeScrollToOptions } from './tree';
|
|
3
|
+
interface UseTreeScrollStateOptions {
|
|
4
|
+
treeIndex: ComputedRef<TreeIndex>;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* FlTree 阶段 17 的滚动定位状态层:
|
|
8
|
+
* 1. 只注册当前已经渲染的节点内容区元素
|
|
9
|
+
* 2. 自动寻找最近可滚动祖先,找不到时回退页面滚动容器
|
|
10
|
+
* 3. 不改变展开状态,也不要求 Tree 根节点成为固定高度滚动容器
|
|
11
|
+
*/
|
|
12
|
+
export declare const useTreeScrollState: ({ treeIndex }: UseTreeScrollStateOptions) => {
|
|
13
|
+
registerNodeElement: (nodeKey: TreeKey, element: HTMLElement | null) => void;
|
|
14
|
+
scrollTo: ({ key, align, offset }: TreeScrollToOptions) => void;
|
|
15
|
+
unregisterNodeElement: (nodeKey: TreeKey, element: HTMLElement | null) => void;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type ComputedRef } from 'vue';
|
|
2
|
+
import { type TreeIndex, type TreeInteractionEvent, type TreeKey, type TreeNodeModel, type TreeProps, type TreeSelectEvent } from './tree';
|
|
3
|
+
interface UseTreeSelectedStateOptions {
|
|
4
|
+
props: TreeProps;
|
|
5
|
+
treeIndex: ComputedRef<TreeIndex>;
|
|
6
|
+
emit: TreeSelectedStateEmit;
|
|
7
|
+
}
|
|
8
|
+
export interface TreeSelectedStateEmit {
|
|
9
|
+
(event: 'update:selectedKeys', value: TreeKey[]): void;
|
|
10
|
+
(event: 'select', selectedKeys: TreeKey[], selectEvent: TreeSelectEvent): void;
|
|
11
|
+
}
|
|
12
|
+
interface SelectNodeOptions {
|
|
13
|
+
node: TreeNodeModel;
|
|
14
|
+
event: TreeInteractionEvent;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* FlTree 阶段 5 的选中状态层同时承接单选与多选语义:
|
|
18
|
+
* 1. 受控模式只读取外部 selectedKeys
|
|
19
|
+
* 2. 非受控模式只在初始化时消费 defaultSelectedKeys
|
|
20
|
+
* 3. 后续数据变化只做 key 裁剪,不重复初始化
|
|
21
|
+
*/
|
|
22
|
+
export declare const useTreeSelectedState: ({ props, treeIndex, emit }: UseTreeSelectedStateOptions) => {
|
|
23
|
+
isControlled: ComputedRef<boolean>;
|
|
24
|
+
isNodeSelected: (nodeKey: TreeKey) => boolean;
|
|
25
|
+
isTreeSelectable: ComputedRef<boolean>;
|
|
26
|
+
selectNode: ({ node, event }: SelectNodeOptions) => void;
|
|
27
|
+
selectedKeys: ComputedRef<TreeKey[]>;
|
|
28
|
+
};
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import TreeSelect from './src/tree-select.vue';
|
|
2
|
+
import type { SFCWithInstall } from '@falcon-ui/falcon-ui/utils';
|
|
3
|
+
export declare const FlTreeSelect: SFCWithInstall<typeof TreeSelect>;
|
|
4
|
+
export default FlTreeSelect;
|
|
5
|
+
export type { TreeSelectEmits, TreeSelectExpose, TreeSelectProps } from './src/tree-select';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ExtractPublicPropTypes } from 'vue';
|
|
2
|
+
import type { TreeSelectInstance } from 'element-plus';
|
|
3
|
+
export declare const treeSelectProps: {
|
|
4
|
+
/**
|
|
5
|
+
* 是否进入错误态。
|
|
6
|
+
*/
|
|
7
|
+
readonly isError: {
|
|
8
|
+
readonly type: BooleanConstructor;
|
|
9
|
+
readonly default: false;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* 是否用于表格单元格内树选择场景。
|
|
13
|
+
*/
|
|
14
|
+
readonly isTable: {
|
|
15
|
+
readonly type: BooleanConstructor;
|
|
16
|
+
readonly default: false;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
export declare const treeSelectEmits: {};
|
|
20
|
+
export type TreeSelectProps = ExtractPublicPropTypes<typeof treeSelectProps>;
|
|
21
|
+
export type TreeSelectEmits = typeof treeSelectEmits;
|
|
22
|
+
export interface TreeSelectExpose extends TreeSelectInstance {
|
|
23
|
+
focus: () => void;
|
|
24
|
+
blur: () => void;
|
|
25
|
+
selectedLabel?: string | string[];
|
|
26
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { TreeSelectExpose } from './tree-select';
|
|
2
|
+
declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
3
|
+
readonly isError: {
|
|
4
|
+
readonly type: BooleanConstructor;
|
|
5
|
+
readonly default: false;
|
|
6
|
+
};
|
|
7
|
+
readonly isTable: {
|
|
8
|
+
readonly type: BooleanConstructor;
|
|
9
|
+
readonly default: false;
|
|
10
|
+
};
|
|
11
|
+
}>, TreeSelectExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
12
|
+
readonly isError: {
|
|
13
|
+
readonly type: BooleanConstructor;
|
|
14
|
+
readonly default: false;
|
|
15
|
+
};
|
|
16
|
+
readonly isTable: {
|
|
17
|
+
readonly type: BooleanConstructor;
|
|
18
|
+
readonly default: false;
|
|
19
|
+
};
|
|
20
|
+
}>> & Readonly<{}>, {
|
|
21
|
+
readonly isError: boolean;
|
|
22
|
+
readonly isTable: boolean;
|
|
23
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
24
|
+
declare const _default: typeof __VLS_export;
|
|
25
|
+
export default _default;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { App, Plugin } from 'vue';
|
|
2
|
+
export * from '@falcon-ui/falcon-ui/components';
|
|
3
|
+
export * from '@falcon-ui/falcon-ui/hooks';
|
|
4
|
+
export * from '@falcon-ui/falcon-ui/icons';
|
|
5
|
+
export * from '@falcon-ui/falcon-ui/utils';
|
|
6
|
+
export declare const install: (app: App) => void;
|
|
7
|
+
declare const FalconUI: Plugin;
|
|
8
|
+
export default FalconUI;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type ClearValueResolver = () => unknown;
|
|
2
|
+
export interface UseClearableStateOptions {
|
|
3
|
+
attrs: Record<string, unknown>;
|
|
4
|
+
isError: () => boolean;
|
|
5
|
+
resolveClearValue?: ClearValueResolver;
|
|
6
|
+
}
|
|
7
|
+
export declare const useClearableState: ({ attrs, isError, resolveClearValue }: UseClearableStateOptions) => {
|
|
8
|
+
clearModelValue: () => void;
|
|
9
|
+
resolveClearable: () => boolean;
|
|
10
|
+
};
|