@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.
Files changed (33) hide show
  1. package/dist/components/listbox/CoarListbox.vue.d.ts.map +1 -1
  2. package/dist/components/panel-layout/CoarPanelLayout.vue.d.ts +74 -0
  3. package/dist/components/panel-layout/CoarPanelLayout.vue.d.ts.map +1 -0
  4. package/dist/components/panel-layout/CoarSplitPane.vue.d.ts +48 -0
  5. package/dist/components/panel-layout/CoarSplitPane.vue.d.ts.map +1 -0
  6. package/dist/components/panel-layout/index.d.ts +4 -0
  7. package/dist/components/panel-layout/index.d.ts.map +1 -0
  8. package/dist/components/panel-layout/internal/CoarPaneDivider.vue.d.ts +32 -0
  9. package/dist/components/panel-layout/internal/CoarPaneDivider.vue.d.ts.map +1 -0
  10. package/dist/components/panel-layout/panel-layout-types.d.ts +14 -0
  11. package/dist/components/panel-layout/panel-layout-types.d.ts.map +1 -0
  12. package/dist/components/password-input/CoarPasswordInput.vue.d.ts.map +1 -1
  13. package/dist/components/text-input/CoarTextInput.vue.d.ts.map +1 -1
  14. package/dist/components/tree/CoarTree.vue.d.ts +98 -3
  15. package/dist/components/tree/CoarTree.vue.d.ts.map +1 -1
  16. package/dist/components/tree/CoarTreeNode.vue.d.ts +6 -11
  17. package/dist/components/tree/CoarTreeNode.vue.d.ts.map +1 -1
  18. package/dist/components/tree/index.d.ts +2 -2
  19. package/dist/components/tree/index.d.ts.map +1 -1
  20. package/dist/components/tree/internal/selection.d.ts +58 -0
  21. package/dist/components/tree/internal/selection.d.ts.map +1 -0
  22. package/dist/components/tree/tree-builder.d.ts +198 -12
  23. package/dist/components/tree/tree-builder.d.ts.map +1 -1
  24. package/dist/components/tree/tree-types.d.ts +161 -1
  25. package/dist/components/tree/tree-types.d.ts.map +1 -1
  26. package/dist/components/tree/useTree.d.ts +1 -1
  27. package/dist/components/tree/useTree.d.ts.map +1 -1
  28. package/dist/composables/useVirtualList.d.ts.map +1 -1
  29. package/dist/index.css +1 -1
  30. package/dist/index.d.ts +4 -2
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +3750 -2750
  33. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"CoarListbox.vue.d.ts","sourceRoot":"","sources":["../../../src/components/listbox/CoarListbox.vue"],"names":[],"mappings":"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"}
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,4 @@
1
+ export { default as CoarSplitPane } from './CoarSplitPane.vue';
2
+ export { default as CoarPanelLayout } from './CoarPanelLayout.vue';
3
+ export type { SplitDirection, SplitSide } from './panel-layout-types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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":"AA4XA,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;AA6G1C,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,WAAW,CAAC;;;;;;;;;;;;WA5HN,OAAO;UAMR,MAAM;UAdN,qBAAqB;QAYvB,MAAM;cANA,OAAO;cAJP,OAAO;iBAJJ,MAAM;cAMT,OAAO;eAMN,OAAO;kBAMJ,MAAM;eAET,MAAM;;;;AAqQpB,wBAUG"}
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":"AAucA,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;AAsGtC,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,WAAW,CAAC;AAKhB,iBAAS,cAAc;WAoJT,OAAO,IAA6B;;wBAbtB,GAAG;wBACH,GAAG;8BACG,GAAG;;;;;;EAgBpC;AAyBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;WAjTX,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;;;kBA6SlB,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
+ {"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
- } & (((evt: "update:expanded", value: Set<string>) => void) & ((evt: "update:selected", value: string | null) => void));
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":"AAqjCA,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAE3B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAE1B,KAAK,mBAAmB,EAExB,KAAK,sBAAsB,EAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;yBAEjC,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;WA8nCO,mBAAmB,CAAC;;;;;;;;;;mBAzRf,GAAG,CAAC,MAAM,CAAC;mBACX,MAAM,GAAG,IAAI;;QAp2BtB,qFAAqF;kBAC3E,WAAW,CAAC,CAAC,CAAC;gBAEhB,SAAS,CAAC,EAAE;gBACZ,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM;sBACb,CAAC,IAAI,EAAE,CAAC,KAAK,SAAS,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS;mBAC/C,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM;uBACf,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO;oBACvB,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;kBAClC,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,EAAE,oBAAoB,KAAK,OAAO;uBACnE,OAAO;0BACJ,MAAM;qBACX,sBAAsB;QACnC;;;;;WAKG;oBACS,OAAO;oBAymCuE,CAAC,4BAA2B;oBACzG,OAAO,KAAK,EAAE,gBAAgB;sBA3U/B,MAAM;QAGpB;;;;;WAKG;0BAxBoB,MAAM;MA2VsC,GAAG,IAAI;WACpE,GAAG;;uBAzkCM,qBAAqB,CAAC,CAAC,CAAC,GAAG,OAAO;iBACxC,OAAO;;uBADD,qBAAqB,CAAC,CAAC,CAAC,GAAG,OAAO;iBACxC,OAAO;;UA0kCX;YArlCD,UAAU,QAAQ,CAAC,GAAG,IAAI;YAC1B,cAAc,QAAQ,CAAC,GAAG,IAAI,MAAM,UAAU,GAAG,IAAI;YACrD,YAAY,WAAW,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI;YACvD,WAAW,WAAW,qBAAqB,CAAC,CAAC,CAAC,GAAG,IAAI;YACrD,QAAQ,WAAW,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI;YAChD,eAAe,QAAQ,CAAC,GAAG,IAAI;2HAglCM;EAEvC,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAE;AAzoCzE,wBAyoC4E;AAC5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
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-dragstart"?: ((node: T, ev: DragEvent) => any) | undefined;
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-dragstart" | "onChevron-click" | "onRow-dragend" | "onRow-dragleave" | "onRow-dragover" | "onRow-drop"> & {
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":"AAkOA,OAAO,EAGL,KAAK,oBAAoB,EAE1B,MAAM,cAAc,CAAC;yBAEL,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;WAuNO,mBAAmB,CAAC;;;;;;;;;;;cArNpB,CAAC;gBACC,MAAM;eACP,MAAM;sBACC,OAAO;oBACT,OAAO;oBACP,OAAO;mBACR,OAAO;oBACN,OAAO;mBACR,OAAO;kBACR,MAAM;iBACP,MAAM;QACf,sEAAsE;uBACvD,oBAAoB,GAAG,IAAI;QAC1C,oEAAoE;wBACpD,OAAO;mBAuMqE,CAAC,4BAA2B;oBACzG,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;;YA/LL,WAAW,QAAQ,CAAC,MAAM,UAAU,GAAG,IAAI;YAC3C,cAAc,QAAQ,CAAC,MAAM,UAAU,GAAG,IAAI;YAC9C,kBAAkB,QAAQ,CAAC,MAAM,UAAU,GAAG,IAAI;YAClD,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;;EA2L5D,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAE;AAlOzE,wBAkO4E;AAC5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
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,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC/F,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"}
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"}