@cocoar/vue-ui 2.5.2 → 2.7.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/dist/components/listbox/CoarListbox.vue.d.ts.map +1 -1
- package/dist/components/panel-layout/CoarPanelLayout.vue.d.ts +74 -0
- package/dist/components/panel-layout/CoarPanelLayout.vue.d.ts.map +1 -0
- package/dist/components/panel-layout/CoarSplitPane.vue.d.ts +48 -0
- package/dist/components/panel-layout/CoarSplitPane.vue.d.ts.map +1 -0
- package/dist/components/panel-layout/index.d.ts +4 -0
- package/dist/components/panel-layout/index.d.ts.map +1 -0
- package/dist/components/panel-layout/internal/CoarPaneDivider.vue.d.ts +32 -0
- package/dist/components/panel-layout/internal/CoarPaneDivider.vue.d.ts.map +1 -0
- package/dist/components/panel-layout/panel-layout-types.d.ts +14 -0
- package/dist/components/panel-layout/panel-layout-types.d.ts.map +1 -0
- package/dist/components/password-input/CoarPasswordInput.vue.d.ts.map +1 -1
- package/dist/components/text-input/CoarTextInput.vue.d.ts.map +1 -1
- package/dist/components/tree/CoarTree.vue.d.ts +98 -3
- package/dist/components/tree/CoarTree.vue.d.ts.map +1 -1
- package/dist/components/tree/CoarTreeNode.vue.d.ts +6 -11
- package/dist/components/tree/CoarTreeNode.vue.d.ts.map +1 -1
- package/dist/components/tree/index.d.ts +2 -2
- package/dist/components/tree/index.d.ts.map +1 -1
- package/dist/components/tree/internal/selection.d.ts +58 -0
- package/dist/components/tree/internal/selection.d.ts.map +1 -0
- package/dist/components/tree/tree-builder.d.ts +198 -12
- package/dist/components/tree/tree-builder.d.ts.map +1 -1
- package/dist/components/tree/tree-types.d.ts +161 -1
- package/dist/components/tree/tree-types.d.ts.map +1 -1
- package/dist/components/tree/useTree.d.ts +1 -1
- package/dist/components/tree/useTree.d.ts.map +1 -1
- package/dist/composables/useVirtualList.d.ts.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3750 -2750
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoarListbox.vue.d.ts","sourceRoot":"","sources":["../../../src/components/listbox/CoarListbox.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CoarListbox.vue.d.ts","sourceRoot":"","sources":["../../../src/components/listbox/CoarListbox.vue"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
leftWidth?: number;
|
|
3
|
+
rightWidth?: number;
|
|
4
|
+
bottomHeight?: number;
|
|
5
|
+
/** Collapse a sidebar / panel without unmounting its slot content's owner. */
|
|
6
|
+
leftOpen?: boolean;
|
|
7
|
+
rightOpen?: boolean;
|
|
8
|
+
bottomOpen?: boolean;
|
|
9
|
+
leftMin?: number;
|
|
10
|
+
leftMax?: number;
|
|
11
|
+
rightMin?: number;
|
|
12
|
+
rightMax?: number;
|
|
13
|
+
bottomMin?: number;
|
|
14
|
+
bottomMax?: number;
|
|
15
|
+
leftResizable?: boolean;
|
|
16
|
+
rightResizable?: boolean;
|
|
17
|
+
bottomResizable?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Minimum size the content region keeps. Sidebars / the bottom panel can
|
|
20
|
+
* never be dragged (or a shrinking window can never squeeze them) past the
|
|
21
|
+
* point where content would fall below this — content is never crushed to 0.
|
|
22
|
+
*/
|
|
23
|
+
contentMinWidth?: number;
|
|
24
|
+
contentMinHeight?: number;
|
|
25
|
+
};
|
|
26
|
+
declare function __VLS_template(): {
|
|
27
|
+
attrs: Partial<{}>;
|
|
28
|
+
slots: {
|
|
29
|
+
top?(_: {}): any;
|
|
30
|
+
left?(_: {}): any;
|
|
31
|
+
default?(_: {}): any;
|
|
32
|
+
bottom?(_: {}): any;
|
|
33
|
+
right?(_: {}): any;
|
|
34
|
+
status?(_: {}): any;
|
|
35
|
+
};
|
|
36
|
+
refs: {};
|
|
37
|
+
rootEl: HTMLDivElement;
|
|
38
|
+
};
|
|
39
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
40
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
41
|
+
"update:leftWidth": (value: number) => any;
|
|
42
|
+
"update:rightWidth": (value: number) => any;
|
|
43
|
+
"update:bottomHeight": (value: number) => any;
|
|
44
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
45
|
+
"onUpdate:leftWidth"?: ((value: number) => any) | undefined;
|
|
46
|
+
"onUpdate:rightWidth"?: ((value: number) => any) | undefined;
|
|
47
|
+
"onUpdate:bottomHeight"?: ((value: number) => any) | undefined;
|
|
48
|
+
}>, {
|
|
49
|
+
leftWidth: number;
|
|
50
|
+
rightWidth: number;
|
|
51
|
+
bottomHeight: number;
|
|
52
|
+
leftOpen: boolean;
|
|
53
|
+
rightOpen: boolean;
|
|
54
|
+
bottomOpen: boolean;
|
|
55
|
+
leftMin: number;
|
|
56
|
+
leftMax: number;
|
|
57
|
+
rightMin: number;
|
|
58
|
+
rightMax: number;
|
|
59
|
+
bottomMin: number;
|
|
60
|
+
bottomMax: number;
|
|
61
|
+
leftResizable: boolean;
|
|
62
|
+
rightResizable: boolean;
|
|
63
|
+
bottomResizable: boolean;
|
|
64
|
+
contentMinWidth: number;
|
|
65
|
+
contentMinHeight: number;
|
|
66
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
67
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
68
|
+
export default _default;
|
|
69
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
70
|
+
new (): {
|
|
71
|
+
$slots: S;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=CoarPanelLayout.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoarPanelLayout.vue.d.ts","sourceRoot":"","sources":["../../../src/components/panel-layout/CoarPanelLayout.vue"],"names":[],"mappings":"AA8RA,KAAK,WAAW,GAAG;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAsGJ,iBAAS,cAAc;WA4JT,OAAO,IAA6B;;qBAfzB,GAAG;sBACF,GAAG;yBACA,GAAG;wBACH,GAAG;uBACJ,GAAG;wBACF,GAAG;;;;EAe/B;AAoBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;eAnTL,MAAM;gBACL,MAAM;kBACJ,MAAM;cAEV,OAAO;eACN,OAAO;gBACN,OAAO;aACV,MAAM;aACN,MAAM;cACL,MAAM;cACN,MAAM;eACL,MAAM;eACN,MAAM;mBACF,OAAO;oBACN,OAAO;qBACN,OAAO;qBAMP,MAAM;sBACL,MAAM;wFAsS3B,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { SplitDirection, SplitSide } from './panel-layout-types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
/** `'row'` = side by side (vertical divider); `'column'` = stacked (horizontal divider). */
|
|
4
|
+
direction?: SplitDirection;
|
|
5
|
+
/** Which pane carries the controlled `size`; the other fills. */
|
|
6
|
+
side?: SplitSide;
|
|
7
|
+
/** Controlled size (px) of the `side` pane — use `v-model:size`. */
|
|
8
|
+
size?: number;
|
|
9
|
+
/** Initial size (px) when uncontrolled. */
|
|
10
|
+
defaultSize?: number;
|
|
11
|
+
min?: number;
|
|
12
|
+
max?: number;
|
|
13
|
+
/** When false, the divider is hidden and the split is fixed. */
|
|
14
|
+
resizable?: boolean;
|
|
15
|
+
ariaLabel?: string;
|
|
16
|
+
};
|
|
17
|
+
declare function __VLS_template(): {
|
|
18
|
+
attrs: Partial<{}>;
|
|
19
|
+
slots: {
|
|
20
|
+
first?(_: {}): any;
|
|
21
|
+
second?(_: {}): any;
|
|
22
|
+
};
|
|
23
|
+
refs: {};
|
|
24
|
+
rootEl: HTMLDivElement;
|
|
25
|
+
};
|
|
26
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
27
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
28
|
+
"update:size": (value: number) => any;
|
|
29
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
30
|
+
"onUpdate:size"?: ((value: number) => any) | undefined;
|
|
31
|
+
}>, {
|
|
32
|
+
direction: SplitDirection;
|
|
33
|
+
size: number;
|
|
34
|
+
ariaLabel: string;
|
|
35
|
+
max: number;
|
|
36
|
+
min: number;
|
|
37
|
+
side: SplitSide;
|
|
38
|
+
defaultSize: number;
|
|
39
|
+
resizable: boolean;
|
|
40
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
41
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
42
|
+
export default _default;
|
|
43
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
44
|
+
new (): {
|
|
45
|
+
$slots: S;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=CoarSplitPane.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoarSplitPane.vue.d.ts","sourceRoot":"","sources":["../../../src/components/panel-layout/CoarSplitPane.vue"],"names":[],"mappings":"AA4JA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtE,KAAK,WAAW,GAAG;IACf,4FAA4F;IAC5F,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,iEAAiE;IACjE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAyDJ,iBAAS,cAAc;WAkET,OAAO,IAA6B;;uBAXvB,GAAG;wBACF,GAAG;;;;EAe9B;AAeD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;eA5JL,cAAc;UAInB,MAAM;eAOD,MAAM;SAHZ,MAAM;SADN,MAAM;UALL,SAAS;iBAIF,MAAM;eAIR,OAAO;wFA2JrB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/panel-layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
orientation: 'vertical' | 'horizontal';
|
|
3
|
+
value: number;
|
|
4
|
+
min?: number;
|
|
5
|
+
max?: number;
|
|
6
|
+
invert?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Px to keep for the REST of the container — the pane can never grow past
|
|
9
|
+
* `containerExtent - reserve`. Lets a parent stop a drag before it crushes
|
|
10
|
+
* sibling regions (e.g. a layout's content area). Default `0`.
|
|
11
|
+
*/
|
|
12
|
+
reserve?: number;
|
|
13
|
+
/** Arrow-key nudge, in px. */
|
|
14
|
+
step?: number;
|
|
15
|
+
ariaLabel?: string;
|
|
16
|
+
};
|
|
17
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
18
|
+
"update:value": (value: number) => any;
|
|
19
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
20
|
+
"onUpdate:value"?: ((value: number) => any) | undefined;
|
|
21
|
+
}>, {
|
|
22
|
+
ariaLabel: string;
|
|
23
|
+
step: number;
|
|
24
|
+
max: number;
|
|
25
|
+
min: number;
|
|
26
|
+
invert: boolean;
|
|
27
|
+
reserve: number;
|
|
28
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
29
|
+
rootEl: HTMLDivElement;
|
|
30
|
+
}, HTMLDivElement>;
|
|
31
|
+
export default _default;
|
|
32
|
+
//# sourceMappingURL=CoarPaneDivider.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoarPaneDivider.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/panel-layout/internal/CoarPaneDivider.vue"],"names":[],"mappings":"AAiOA,KAAK,WAAW,GAAG;IACf,WAAW,EAAE,UAAU,GAAG,YAAY,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;;;;;;eADY,MAAM;UADX,MAAM;SATP,MAAM;SADN,MAAM;YAEH,OAAO;aAMN,MAAM;;;;AA+KpB,wBAUG"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Shared types for the panel-layout family (`CoarSplitPane` + `CoarPanelLayout`). */
|
|
2
|
+
/**
|
|
3
|
+
* Pane arrangement. `'row'` lays the two panes side by side with a vertical
|
|
4
|
+
* divider (left / right); `'column'` stacks them with a horizontal divider
|
|
5
|
+
* (top / bottom). Mirrors flexbox `flex-direction`.
|
|
6
|
+
*/
|
|
7
|
+
export type SplitDirection = 'row' | 'column';
|
|
8
|
+
/**
|
|
9
|
+
* Which pane carries the controlled `size`. The other pane flexes to fill the
|
|
10
|
+
* remaining space. For a left sidebar use `'first'`; for a right sidebar or a
|
|
11
|
+
* bottom panel use `'second'`.
|
|
12
|
+
*/
|
|
13
|
+
export type SplitSide = 'first' | 'second';
|
|
14
|
+
//# sourceMappingURL=panel-layout-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panel-layout-types.d.ts","sourceRoot":"","sources":["../../../src/components/panel-layout/panel-layout-types.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE9C;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoarPasswordInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/password-input/CoarPasswordInput.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CoarPasswordInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/password-input/CoarPasswordInput.vue"],"names":[],"mappings":"AA0YA,MAAM,MAAM,qBAAqB,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAE3D,MAAM,WAAW,sBAAsB;IACrC,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB;IACjB,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B,yBAAyB;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wBAAwB;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,WAAW,GAAG,sBAAsB,CAAC;AAmH1C,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,WAAW,CAAC;;;;;;;;;;;;WAlIN,OAAO;UAMR,MAAM;UAdN,qBAAqB;QAYvB,MAAM;cANA,OAAO;cAJP,OAAO;iBAJJ,MAAM;cAMT,OAAO;eAMN,OAAO;kBAMJ,MAAM;eAET,MAAM;;;;AA+QpB,wBAUG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoarTextInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/text-input/CoarTextInput.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CoarTextInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/text-input/CoarTextInput.vue"],"names":[],"mappings":"AAwdA,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB;IACjB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,WAAW,GAAG,kBAAkB,CAAC;AA6GtC,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,WAAW,CAAC;AAKhB,iBAAS,cAAc;WAyJT,OAAO,IAA6B;;wBAbtB,GAAG;wBACH,GAAG;8BACG,GAAG;;;;;;EAgBpC;AA0BD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;WA9TX,OAAO;UARR,MAAM;UAkBN,MAAM;UApBN,iBAAiB;QAkBnB,MAAM;cAVA,OAAO;cAJP,OAAO;iBANJ,MAAM;cAQT,OAAO;eAMN,OAAO;YAEV,MAAM;YAEN,MAAM;kBAMA,MAAM;eAET,MAAM;;;kBA0TlB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -1,18 +1,24 @@
|
|
|
1
|
-
import { CoarTreeDropPosition, CoarTreeFilesDropEvent, CoarTreeNodeMoveEvent, CoarTreeNodeSlotProps, CoarTreeRenameEvent, CoarTreeVirtualizeProp } from './tree-types';
|
|
1
|
+
import { CoarTreeDensity, CoarTreeDropPosition, CoarTreeFilesDropEvent, CoarTreeFilterMode, CoarTreeLabels, CoarTreeLoadChildrenContext, CoarTreeLoadErrorEvent, CoarTreeNodeMoveEvent, CoarTreeNodeSlotProps, CoarTreeRenameEvent, CoarTreeSelectEvent, CoarTreeSelectionMode, CoarTreeVirtualizeProp } from './tree-types';
|
|
2
2
|
import { TreeBuilder } from './tree-builder';
|
|
3
3
|
declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
4
4
|
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
5
|
+
readonly onSelect?: ((payload: CoarTreeSelectEvent<T>) => any) | undefined;
|
|
5
6
|
readonly "onUpdate:expanded"?: ((value: Set<string>) => any) | undefined;
|
|
6
7
|
readonly "onUpdate:selected"?: ((value: string | null) => any) | undefined;
|
|
8
|
+
readonly "onUpdate:selectedIds"?: ((value: Set<string>) => any) | undefined;
|
|
9
|
+
readonly "onUpdate:checkedIds"?: ((value: Set<string>) => any) | undefined;
|
|
7
10
|
readonly onActivate?: ((node: T) => any) | undefined;
|
|
8
11
|
readonly "onFiles-drop"?: ((payload: CoarTreeFilesDropEvent<T>) => any) | undefined;
|
|
9
12
|
readonly "onNode-move"?: ((payload: CoarTreeNodeMoveEvent<T>) => any) | undefined;
|
|
10
13
|
readonly onRename?: ((payload: CoarTreeRenameEvent<T>) => any) | undefined;
|
|
11
14
|
readonly "onRename-cancel"?: ((node: T) => any) | undefined;
|
|
15
|
+
readonly "onLoad-error"?: ((payload: CoarTreeLoadErrorEvent<T>) => any) | undefined;
|
|
12
16
|
readonly "onContext-menu"?: ((node: T | null, ev: MouseEvent) => any) | undefined;
|
|
13
|
-
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:expanded" | "onUpdate:selected" | "onActivate" | "onFiles-drop" | "onNode-move" | "onRename" | "onRename-cancel" | "onContext-menu"> & ({
|
|
17
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onSelect" | "onUpdate:expanded" | "onUpdate:selected" | "onUpdate:selectedIds" | "onUpdate:checkedIds" | "onActivate" | "onFiles-drop" | "onNode-move" | "onRename" | "onRename-cancel" | "onLoad-error" | "onContext-menu"> & ({
|
|
14
18
|
expanded?: Set<string>;
|
|
15
19
|
selected?: string | null;
|
|
20
|
+
selectedIds?: Set<string>;
|
|
21
|
+
checkedIds?: Set<string>;
|
|
16
22
|
} & {
|
|
17
23
|
/** Fluent builder from `useTree()`. When set, the other config props are ignored. */
|
|
18
24
|
builder?: TreeBuilder<T>;
|
|
@@ -21,11 +27,66 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
|
|
|
21
27
|
getChildren?: (node: T) => readonly T[] | null | undefined;
|
|
22
28
|
getLabel?: (node: T) => string;
|
|
23
29
|
isExpandable?: (node: T) => boolean;
|
|
30
|
+
/** Mark nodes non-interactive (no select/activate/check/keyboard-focus; `aria-disabled`). */
|
|
31
|
+
isDisabled?: (node: T) => boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Lazily fetch a node's children on first expand. The 2nd arg carries an
|
|
34
|
+
* `AbortSignal` that fires if the folder collapses / leaves the tree. See
|
|
35
|
+
* the builder's `loadChildren`.
|
|
36
|
+
*/
|
|
37
|
+
loadChildren?: (node: T, ctx: CoarTreeLoadChildrenContext) => void | Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Max simultaneous in-flight `loadChildren` calls; extra ones queue. `0`
|
|
40
|
+
* (default) = unlimited. Set a small number (e.g. 6) for rate-limited
|
|
41
|
+
* backends so an expand-all / state-restore can't fan out unbounded.
|
|
42
|
+
*/
|
|
43
|
+
maxConcurrentLoads?: number;
|
|
24
44
|
draggable?: boolean | ((node: T) => boolean);
|
|
25
45
|
canDrop?: (source: T, target: T | null, position: CoarTreeDropPosition) => boolean;
|
|
46
|
+
/** Custom drag ghost for a node: return an `HTMLElement` or an HTML string (else the default row image). */
|
|
47
|
+
getDragImage?: (node: T) => HTMLElement | string | null | undefined;
|
|
48
|
+
/** Fire `activate` on a single click too (not only double-click / Enter). Default false. */
|
|
49
|
+
activateOnClick?: boolean;
|
|
26
50
|
acceptsFiles?: boolean;
|
|
27
51
|
autoExpandDelay?: number;
|
|
28
52
|
virtualize?: CoarTreeVirtualizeProp;
|
|
53
|
+
/**
|
|
54
|
+
* Selection behavior: `'single'` (default, `v-model:selected`), `'multiple'`
|
|
55
|
+
* (`v-model:selectedIds`, Ctrl/Shift/Ctrl+A), or `'checkbox'` (per-row
|
|
56
|
+
* tri-state checkbox, `v-model:checkedIds`, independent of the highlight).
|
|
57
|
+
*/
|
|
58
|
+
selectionMode?: CoarTreeSelectionMode;
|
|
59
|
+
/**
|
|
60
|
+
* Checkbox mode only: when `true`, checks don't cascade to parent/children and
|
|
61
|
+
* nothing is ever indeterminate. Default `false` (cascade + tri-state).
|
|
62
|
+
*/
|
|
63
|
+
checkStrictly?: boolean;
|
|
64
|
+
/** Row density (`xs`/`s`/`m`/`l`, default `m`). Sets the spacing CSS variables. */
|
|
65
|
+
density?: CoarTreeDensity;
|
|
66
|
+
/** Accessible name for the tree (`aria-label` on the `role="tree"` element). */
|
|
67
|
+
ariaLabel?: string;
|
|
68
|
+
/** Id of an external label element (`aria-labelledby` on the `role="tree"` element). */
|
|
69
|
+
ariaLabelledby?: string;
|
|
70
|
+
/** Override built-in UI / screen-reader strings for i18n. Unset fields use English defaults. */
|
|
71
|
+
labels?: Partial<CoarTreeLabels>;
|
|
72
|
+
/**
|
|
73
|
+
* Search-hit ids. The tree exposes `isMatch` / `isMatchAncestor` to the slot
|
|
74
|
+
* (for highlighting) and auto-expands the ancestors of every match so hits
|
|
75
|
+
* are visible.
|
|
76
|
+
*/
|
|
77
|
+
matchedIds?: Set<string>;
|
|
78
|
+
/**
|
|
79
|
+
* With `matchedIds` set, hide non-matches (off by default = highlight-only).
|
|
80
|
+
* What's kept around a match is controlled by `filterMode`.
|
|
81
|
+
*/
|
|
82
|
+
filter?: boolean;
|
|
83
|
+
/**
|
|
84
|
+
* How `filter` prunes (mirrors PrimeVue). `'strict'` (default) = matches +
|
|
85
|
+
* their ancestor path only (a matched folder's non-matching children stay
|
|
86
|
+
* hidden — the VS Code / react-arborist convention). `'lenient'` = a matched
|
|
87
|
+
* folder reveals its whole subtree. See {@link CoarTreeFilterMode}.
|
|
88
|
+
*/
|
|
89
|
+
filterMode?: CoarTreeFilterMode;
|
|
29
90
|
/**
|
|
30
91
|
* Opt into the built-in inline rename UI. With this on, `api.startRename(id)`
|
|
31
92
|
* + `@rename` work and `<CoarTreeNodeLabel>` swaps to an `<input>` while the
|
|
@@ -33,9 +94,29 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
|
|
|
33
94
|
* label component stays a plain `<span>` (back-compat for existing consumers).
|
|
34
95
|
*/
|
|
35
96
|
renamable?: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Suppress the built-in spinner the tree shows in the chevron while a node's
|
|
99
|
+
* children lazily load (see `loadChildren`). Set this when you render your
|
|
100
|
+
* own loading indicator from the `isLoading` slot prop — e.g. replacing the
|
|
101
|
+
* row icon with a spinner.
|
|
102
|
+
*/
|
|
103
|
+
hideLoadingSpinner?: boolean;
|
|
36
104
|
}) & Partial<{}>> & import('vue').PublicProps;
|
|
37
105
|
expose(exposed: import('vue').ShallowUnwrapRef<{
|
|
106
|
+
/**
|
|
107
|
+
* Move keyboard focus to a node. The template-ref form has been focus-only
|
|
108
|
+
* since 2.4.0 (note: the builder `api.focusNode` selects + focuses). Prefer
|
|
109
|
+
* `selectNode` / `revealNode` for explicit intent.
|
|
110
|
+
*/
|
|
38
111
|
focusNode(id: string): void;
|
|
112
|
+
/** Highlight-select AND focus a node (the "reveal & select" action). */
|
|
113
|
+
selectNode(id: string): void;
|
|
114
|
+
/**
|
|
115
|
+
* Force `loadChildren` to (re)run for `id` — retry after an error or refresh
|
|
116
|
+
* an already-loaded folder. No-op if `loadChildren` isn't set or `id` isn't
|
|
117
|
+
* in the tree.
|
|
118
|
+
*/
|
|
119
|
+
reloadChildren: (id: string) => void;
|
|
39
120
|
/**
|
|
40
121
|
* Enter inline-rename mode on `id`. No-op if `:renamable` isn't set or
|
|
41
122
|
* the id isn't in the visible-row list. Use from context menu items,
|
|
@@ -43,6 +124,18 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
|
|
|
43
124
|
* the next frame.
|
|
44
125
|
*/
|
|
45
126
|
startRename: (id: string) => void;
|
|
127
|
+
/** Expand every expandable, currently-loaded node. */
|
|
128
|
+
expandAll: () => void;
|
|
129
|
+
/** Collapse everything. */
|
|
130
|
+
collapseAll: () => void;
|
|
131
|
+
/** Expand all loaded ancestors of `id` so its row becomes visible. */
|
|
132
|
+
expandTo: (id: string) => void;
|
|
133
|
+
/** Scroll a node into view without changing focus or selection. */
|
|
134
|
+
revealNode: (id: string) => void;
|
|
135
|
+
/** Resolve a node by id from the loaded tree, or `null`. */
|
|
136
|
+
getNode: (id: string) => T | null;
|
|
137
|
+
/** Move a node (keyboard / a11y equivalent of drag-drop); runs cycle + canDrop guards. */
|
|
138
|
+
moveNode: (sourceId: string, targetId: string | null, position: CoarTreeDropPosition) => boolean;
|
|
46
139
|
}>): void;
|
|
47
140
|
attrs: any;
|
|
48
141
|
slots: Readonly<{
|
|
@@ -54,12 +147,14 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
|
|
|
54
147
|
};
|
|
55
148
|
emit: {
|
|
56
149
|
(e: "activate", node: T): void;
|
|
150
|
+
(e: "select", payload: CoarTreeSelectEvent<T>): void;
|
|
57
151
|
(e: "context-menu", node: T | null, ev: MouseEvent): void;
|
|
58
152
|
(e: "files-drop", payload: CoarTreeFilesDropEvent<T>): void;
|
|
59
153
|
(e: "node-move", payload: CoarTreeNodeMoveEvent<T>): void;
|
|
60
154
|
(e: "rename", payload: CoarTreeRenameEvent<T>): void;
|
|
61
155
|
(e: "rename-cancel", node: T): void;
|
|
62
|
-
|
|
156
|
+
(e: "load-error", payload: CoarTreeLoadErrorEvent<T>): void;
|
|
157
|
+
} & (((evt: "update:expanded", value: Set<string>) => void) & ((evt: "update:selected", value: string | null) => void) & ((evt: "update:selectedIds", value: Set<string>) => void) & ((evt: "update:checkedIds", value: Set<string>) => void));
|
|
63
158
|
}>) => import('vue').VNode & {
|
|
64
159
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
65
160
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoarTree.vue.d.ts","sourceRoot":"","sources":["../../../src/components/tree/CoarTree.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CoarTree.vue.d.ts","sourceRoot":"","sources":["../../../src/components/tree/CoarTree.vue"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +1,24 @@
|
|
|
1
|
-
import { CoarTreeDropPosition } from './tree-types';
|
|
2
1
|
declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
3
2
|
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
4
3
|
readonly "onRow-click"?: ((node: T, ev: MouseEvent) => any) | undefined;
|
|
5
4
|
readonly "onRow-dblclick"?: ((node: T, ev: MouseEvent) => any) | undefined;
|
|
6
5
|
readonly "onRow-context-menu"?: ((node: T, ev: MouseEvent) => any) | undefined;
|
|
7
|
-
readonly "onRow-
|
|
6
|
+
readonly "onRow-check-toggle"?: ((node: T) => any) | undefined;
|
|
7
|
+
readonly "onRow-retry"?: ((node: T) => any) | undefined;
|
|
8
8
|
readonly "onChevron-click"?: ((node: T) => any) | undefined;
|
|
9
|
+
readonly "onRow-dragstart"?: ((node: T, ev: DragEvent) => any) | undefined;
|
|
9
10
|
readonly "onRow-dragend"?: ((node: T) => any) | undefined;
|
|
10
11
|
readonly "onRow-dragleave"?: ((node: T, ev: DragEvent) => any) | undefined;
|
|
11
12
|
readonly "onRow-dragover"?: ((node: T, el: HTMLElement, ev: DragEvent) => any) | undefined;
|
|
12
13
|
readonly "onRow-drop"?: ((node: T, el: HTMLElement, ev: DragEvent) => any) | undefined;
|
|
13
|
-
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onRow-click" | "onRow-dblclick" | "onRow-context-menu" | "onRow-
|
|
14
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onRow-click" | "onRow-dblclick" | "onRow-context-menu" | "onRow-check-toggle" | "onRow-retry" | "onChevron-click" | "onRow-dragstart" | "onRow-dragend" | "onRow-dragleave" | "onRow-dragover" | "onRow-drop"> & {
|
|
14
15
|
node: T;
|
|
15
16
|
nodeId: string;
|
|
16
17
|
depth: number;
|
|
17
18
|
isExpandable: boolean;
|
|
18
|
-
isExpanded: boolean;
|
|
19
|
-
isSelected: boolean;
|
|
20
|
-
isFocused: boolean;
|
|
21
|
-
isRenaming: boolean;
|
|
22
19
|
draggable: boolean;
|
|
23
20
|
posInSet: number;
|
|
24
21
|
setSize: number;
|
|
25
|
-
/** Drop-position indicator when an internal drag is over this row. */
|
|
26
|
-
dropIndicator: CoarTreeDropPosition | null;
|
|
27
|
-
/** Whole-row highlight when an OS file drag is over this folder. */
|
|
28
|
-
fileDropActive: boolean;
|
|
29
22
|
} & Partial<{}>> & import('vue').PublicProps;
|
|
30
23
|
expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
|
|
31
24
|
attrs: any;
|
|
@@ -34,6 +27,8 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
|
|
|
34
27
|
(e: "row-click", node: T, ev: MouseEvent): void;
|
|
35
28
|
(e: "row-dblclick", node: T, ev: MouseEvent): void;
|
|
36
29
|
(e: "row-context-menu", node: T, ev: MouseEvent): void;
|
|
30
|
+
(e: "row-check-toggle", node: T): void;
|
|
31
|
+
(e: "row-retry", node: T): void;
|
|
37
32
|
(e: "chevron-click", node: T): void;
|
|
38
33
|
(e: "row-dragstart", node: T, ev: DragEvent): void;
|
|
39
34
|
(e: "row-dragend", node: T): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoarTreeNode.vue.d.ts","sourceRoot":"","sources":["../../../src/components/tree/CoarTreeNode.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CoarTreeNode.vue.d.ts","sourceRoot":"","sources":["../../../src/components/tree/CoarTreeNode.vue"],"names":[],"mappings":"yBAwXiB,CAAC,EACjB,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,eAAe,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EACjE;WAoWO,mBAAmB,CAAC;;;;;;;;;;;;;cAlWpB,CAAC;gBACC,MAAM;eACP,MAAM;sBACC,OAAO;mBACV,OAAO;kBACR,MAAM;iBACP,MAAM;mBA4V6E,CAAC,4BAA2B;oBACzG,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;;YApTL,WAAW,QAAQ,CAAC,MAAM,UAAU,GAAG,IAAI;YAC3C,cAAc,QAAQ,CAAC,MAAM,UAAU,GAAG,IAAI;YAC9C,kBAAkB,QAAQ,CAAC,MAAM,UAAU,GAAG,IAAI;YAClD,kBAAkB,QAAQ,CAAC,GAAG,IAAI;YAClC,WAAW,QAAQ,CAAC,GAAG,IAAI;YAC3B,eAAe,QAAQ,CAAC,GAAG,IAAI;YAC/B,eAAe,QAAQ,CAAC,MAAM,SAAS,GAAG,IAAI;YAC9C,aAAa,QAAQ,CAAC,GAAG,IAAI;YAC7B,cAAc,QAAQ,CAAC,MAAM,WAAW,MAAM,SAAS,GAAG,IAAI;YAC9D,eAAe,QAAQ,CAAC,MAAM,SAAS,GAAG,IAAI;YAC9C,UAAU,QAAQ,CAAC,MAAM,WAAW,MAAM,SAAS,GAAG,IAAI;;EA8S5D,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAE;AA/WzE,wBA+W4E;AAC5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { default as CoarTree } from './CoarTree.vue';
|
|
2
2
|
export { default as CoarTreeNodeLabel } from './CoarTreeNodeLabel.vue';
|
|
3
|
-
export type { CoarTreeDropPosition, CoarTreeFilesDropEvent, CoarTreeNodeMoveEvent, CoarTreeNodeSlotProps, CoarTreeRenameContext, CoarTreeRenameEvent, CoarTreeMenuItem, CoarTreeMenuEntry, } from './tree-types';
|
|
4
|
-
export { COAR_TREE_DRAG_MIME, COAR_TREE_RENAME_KEY, COAR_TREE_ROW_ID_KEY } from './tree-types';
|
|
3
|
+
export type { CoarTreeDensity, CoarTreeDropPosition, CoarTreeFilesDropEvent, CoarTreeFilterMode, CoarTreeLabels, CoarTreeLoadChildrenContext, CoarTreeLoadErrorEvent, CoarTreeNodeMoveEvent, CoarTreeNodeSlotProps, CoarTreeRenameContext, CoarTreeRenameEvent, CoarTreeSelectEvent, CoarTreeSelectionMode, CoarTreeMenuItem, CoarTreeMenuEntry, CoarTreeVirtualizeProp, CoarTreeVirtualOptions, } from './tree-types';
|
|
4
|
+
export { COAR_TREE_DRAG_MIME, COAR_TREE_RENAME_KEY, COAR_TREE_ROW_ID_KEY, DEFAULT_TREE_LABELS, } from './tree-types';
|
|
5
5
|
export { useTree } from './useTree';
|
|
6
6
|
export { TreeBuilder } from './tree-builder';
|
|
7
7
|
export type { TreeApi, TreeBuilderState } from './tree-builder';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/tree/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACvE,YAAY,EACV,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/tree/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACvE,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure checkbox-cascade engine for `<CoarTree :selection-mode="'checkbox'">`.
|
|
3
|
+
*
|
|
4
|
+
* All functions are side-effect-free and operate on a {@link TreeIndex} (a flat
|
|
5
|
+
* id→relations view of the *loaded* tree), so they're trivially unit-testable
|
|
6
|
+
* and never touch Vue reactivity. The component builds the index from its
|
|
7
|
+
* config and feeds the result back into the `checkedIds` model.
|
|
8
|
+
*
|
|
9
|
+
* **Model.** `checkedIds` holds every node considered fully checked — leaves AND
|
|
10
|
+
* parents whose loaded children are all checked. The invariant maintained by
|
|
11
|
+
* {@link applyCheckToggle} is: *a parent is in the set iff all its loaded
|
|
12
|
+
* children are*. "Indeterminate" (some-but-not-all descendants checked) is never
|
|
13
|
+
* stored — it's derived on demand by {@link computeIndeterminate}.
|
|
14
|
+
*
|
|
15
|
+
* **Lazy inheritance.** A checked folder whose children aren't loaded yet keeps
|
|
16
|
+
* its id in the set; when the children arrive, {@link reconcileChecked}
|
|
17
|
+
* propagates the check down to them. See `loadChildren` on the tree.
|
|
18
|
+
*
|
|
19
|
+
* `checkStrictly` mode bypasses cascade entirely — callers just add/remove the
|
|
20
|
+
* single id and skip reconcile + indeterminate.
|
|
21
|
+
*/
|
|
22
|
+
/** Flat, O(1)-lookup view of the loaded tree. Unloaded/leaf nodes map to `[]`. */
|
|
23
|
+
export interface TreeIndex {
|
|
24
|
+
/** Loaded child ids for each node id, in order. */
|
|
25
|
+
children: Map<string, string[]>;
|
|
26
|
+
/** Parent id for each node id; root nodes map to `null`. */
|
|
27
|
+
parent: Map<string, string | null>;
|
|
28
|
+
/** All node ids in DFS pre-order (parent before its children). */
|
|
29
|
+
order: string[];
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Build a {@link TreeIndex} from the loaded node tree. Walks every node reachable
|
|
33
|
+
* via `getChildren` (regardless of expand state) so cascade works on collapsed
|
|
34
|
+
* subtrees too. Unloaded lazy folders (`getChildren` → null/undefined) contribute
|
|
35
|
+
* no children, so cascade never descends into data that doesn't exist yet.
|
|
36
|
+
*/
|
|
37
|
+
export declare function indexTree<T>(roots: readonly T[], getId: (n: T) => string, getChildren: (n: T) => readonly T[] | null | undefined): TreeIndex;
|
|
38
|
+
/**
|
|
39
|
+
* Toggle `id` (and its whole loaded subtree) to `value`, then re-normalize every
|
|
40
|
+
* ancestor so a parent ends up checked exactly when all its loaded children are.
|
|
41
|
+
* Returns a NEW set; the input is left untouched.
|
|
42
|
+
*/
|
|
43
|
+
export declare function applyCheckToggle(checked: ReadonlySet<string>, id: string, value: boolean, index: TreeIndex): Set<string>;
|
|
44
|
+
/**
|
|
45
|
+
* Propagate checks downward from every checked node. The only mutation is
|
|
46
|
+
* *adding* inherited descendants, so it's safe to run on any tree change: newly
|
|
47
|
+
* loaded children under a checked folder become checked, and a consumer that
|
|
48
|
+
* sets `checkedIds` to just a few ancestor ids gets the full closure for free.
|
|
49
|
+
* Returns the input set unchanged (same reference) when nothing was added.
|
|
50
|
+
*/
|
|
51
|
+
export declare function reconcileChecked(checked: ReadonlySet<string>, index: TreeIndex): Set<string>;
|
|
52
|
+
/**
|
|
53
|
+
* Derive the indeterminate set: nodes NOT in `checked` that have at least one
|
|
54
|
+
* checked descendant. Walks in reverse DFS order (children before parents) so
|
|
55
|
+
* each node aggregates its already-computed subtree in one pass.
|
|
56
|
+
*/
|
|
57
|
+
export declare function computeIndeterminate(checked: ReadonlySet<string>, index: TreeIndex): Set<string>;
|
|
58
|
+
//# sourceMappingURL=selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../../src/components/tree/internal/selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,kFAAkF;AAClF,MAAM,WAAW,SAAS;IACxB,mDAAmD;IACnD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChC,4DAA4D;IAC5D,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACnC,kEAAkE;IAClE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,EACvB,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,GACrD,SAAS,CAwBX;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAC5B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,SAAS,GACf,GAAG,CAAC,MAAM,CAAC,CAwBb;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAe5F;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAahG"}
|