@cocoar/vue-ui 3.1.0-beta.1 → 3.2.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/checkbox/CoarCheckbox.vue.d.ts +1 -1
- package/dist/components/checkbox/CoarCheckbox.vue.d.ts.map +1 -1
- package/dist/components/code-block/CoarCodeBlock.vue.d.ts +1 -1
- package/dist/components/code-block/CoarCodeBlock.vue.d.ts.map +1 -1
- package/dist/components/data-list/CoarDataList.vue.d.ts +158 -0
- package/dist/components/data-list/CoarDataList.vue.d.ts.map +1 -0
- package/dist/components/data-list/CoarDataListToolbar.vue.d.ts +30 -0
- package/dist/components/data-list/CoarDataListToolbar.vue.d.ts.map +1 -0
- package/dist/components/data-list/data-list-builder.d.ts +288 -0
- package/dist/components/data-list/data-list-builder.d.ts.map +1 -0
- package/dist/components/data-list/index.d.ts +12 -0
- package/dist/components/data-list/index.d.ts.map +1 -0
- package/dist/components/data-list/internal/compare.d.ts +14 -0
- package/dist/components/data-list/internal/compare.d.ts.map +1 -0
- package/dist/components/data-list/internal/reorder-core.d.ts +46 -0
- package/dist/components/data-list/internal/reorder-core.d.ts.map +1 -0
- package/dist/components/data-list/internal/search.d.ts +16 -0
- package/dist/components/data-list/internal/search.d.ts.map +1 -0
- package/dist/components/data-list/internal/useDataListLines.d.ts +92 -0
- package/dist/components/data-list/internal/useDataListLines.d.ts.map +1 -0
- package/dist/components/data-list/internal/useDataListReorder.d.ts +68 -0
- package/dist/components/data-list/internal/useDataListReorder.d.ts.map +1 -0
- package/dist/components/data-list/internal/useSearchHighlight.d.ts +19 -0
- package/dist/components/data-list/internal/useSearchHighlight.d.ts.map +1 -0
- package/dist/components/data-list/types.d.ts +185 -0
- package/dist/components/data-list/types.d.ts.map +1 -0
- package/dist/components/data-list/useDataListModel.d.ts +79 -0
- package/dist/components/data-list/useDataListModel.d.ts.map +1 -0
- package/dist/components/date-time/_shared/maskito-config.d.ts +7 -2
- package/dist/components/date-time/_shared/maskito-config.d.ts.map +1 -1
- package/dist/components/date-time/_shared/time-helpers.d.ts +11 -4
- package/dist/components/date-time/_shared/time-helpers.d.ts.map +1 -1
- package/dist/components/date-time/_shared/use-date-picker-base.d.ts +1 -1
- package/dist/components/date-time/plain-date-picker/CoarPlainDatePicker.vue.d.ts +1 -1
- package/dist/components/date-time/plain-date-picker/CoarPlainDatePicker.vue.d.ts.map +1 -1
- package/dist/components/date-time/plain-date-time-picker/CoarPlainDateTimePicker.vue.d.ts +1 -1
- package/dist/components/date-time/plain-date-time-picker/CoarPlainDateTimePicker.vue.d.ts.map +1 -1
- package/dist/components/date-time/zoned-date-time-picker/CoarZonedDateTimePicker.vue.d.ts +1 -1
- package/dist/components/date-time/zoned-date-time-picker/CoarZonedDateTimePicker.vue.d.ts.map +1 -1
- package/dist/components/dual-listbox/CoarDualListbox.vue.d.ts +3 -0
- package/dist/components/dual-listbox/CoarDualListbox.vue.d.ts.map +1 -1
- package/dist/components/form-field/CoarFormField.vue.d.ts +1 -1
- package/dist/components/form-field/CoarFormField.vue.d.ts.map +1 -1
- package/dist/components/icon/CoarIcon.vue.d.ts +2 -2
- package/dist/components/icon/CoarIcon.vue.d.ts.map +1 -1
- package/dist/components/listbox/CoarListbox.vue.d.ts +7 -0
- package/dist/components/listbox/CoarListbox.vue.d.ts.map +1 -1
- package/dist/components/number-input/CoarNumberInput.vue.d.ts +1 -1
- package/dist/components/number-input/CoarNumberInput.vue.d.ts.map +1 -1
- package/dist/components/otp-input/CoarOtpInput.vue.d.ts +1 -1
- package/dist/components/otp-input/CoarOtpInput.vue.d.ts.map +1 -1
- package/dist/components/password-input/CoarPasswordInput.vue.d.ts +1 -1
- package/dist/components/password-input/CoarPasswordInput.vue.d.ts.map +1 -1
- package/dist/components/switch/CoarSwitch.vue.d.ts +1 -1
- package/dist/components/switch/CoarSwitch.vue.d.ts.map +1 -1
- package/dist/components/text-input/CoarTextInput.vue.d.ts +1 -1
- package/dist/components/text-input/CoarTextInput.vue.d.ts.map +1 -1
- package/dist/composables/dragRegistry.d.ts +12 -0
- package/dist/composables/dragRegistry.d.ts.map +1 -1
- package/dist/composables/index.d.ts +2 -2
- package/dist/composables/index.d.ts.map +1 -1
- package/dist/composables/useDragDrop.d.ts +62 -6
- package/dist/composables/useDragDrop.d.ts.map +1 -1
- package/dist/composables/useVirtualList.d.ts +21 -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 +4508 -2039
- package/package.json +2 -2
|
@@ -34,10 +34,10 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {},
|
|
|
34
34
|
}>, {
|
|
35
35
|
value: string;
|
|
36
36
|
error: boolean;
|
|
37
|
+
id: string;
|
|
37
38
|
label: string;
|
|
38
39
|
name: string;
|
|
39
40
|
size: CoarCheckboxSize;
|
|
40
|
-
id: string;
|
|
41
41
|
required: boolean;
|
|
42
42
|
disabled: boolean;
|
|
43
43
|
labelPosition: "before" | "after";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoarCheckbox.vue.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/CoarCheckbox.vue"],"names":[],"mappings":"AAsdA,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gDAAgD;IAChD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oBAAoB;IACpB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACnC,wBAAwB;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,WAAW,GAAG,iBAAiB,CAAC;AAiIrC,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,WAAW,CAAC;;;;;;WAtIN,MAAM;WAVN,OAAO;
|
|
1
|
+
{"version":3,"file":"CoarCheckbox.vue.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/CoarCheckbox.vue"],"names":[],"mappings":"AAsdA,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gDAAgD;IAChD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oBAAoB;IACpB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACnC,wBAAwB;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,WAAW,GAAG,iBAAiB,CAAC;AAiIrC,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,WAAW,CAAC;;;;;;WAtIN,MAAM;WAVN,OAAO;QAMV,MAAM;WAhBH,MAAM;UAkBP,MAAM;UANN,gBAAgB;cAJZ,OAAO;cAJP,OAAO;mBAUF,QAAQ,GAAG,OAAO;mBAZlB,OAAO;cAIZ,OAAO;;;;AA2SpB,wBAUG"}
|
|
@@ -30,8 +30,8 @@ declare const _default: import('vue').DefineComponent<CoarCodeBlockProps, {
|
|
|
30
30
|
isCollapsed: import('vue').Ref<boolean, boolean>;
|
|
31
31
|
lines: import('vue').ComputedRef<number[]>;
|
|
32
32
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<CoarCodeBlockProps> & Readonly<{}>, {
|
|
33
|
-
title: string;
|
|
34
33
|
maxHeight: number;
|
|
34
|
+
title: string;
|
|
35
35
|
variant: CodeBlockVariant;
|
|
36
36
|
elevated: boolean;
|
|
37
37
|
borderless: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoarCodeBlock.vue.d.ts","sourceRoot":"","sources":["../../../src/components/code-block/CoarCodeBlock.vue"],"names":[],"mappings":"AA+iBA,OAAO,qCAAqC,CAAC;AAC7C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,8BAA8B,CAAC;AACtC,OAAO,+BAA+B,CAAC;AACvC,OAAO,+BAA+B,CAAC;AACvC,OAAO,+BAA+B,CAAC;AACvC,OAAO,iCAAiC,CAAC;AAEzC,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE/F,MAAM,WAAW,kBAAkB;IACjC,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAiFD,iBAAe,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CASvC;;;;;;;
|
|
1
|
+
{"version":3,"file":"CoarCodeBlock.vue.d.ts","sourceRoot":"","sources":["../../../src/components/code-block/CoarCodeBlock.vue"],"names":[],"mappings":"AA+iBA,OAAO,qCAAqC,CAAC;AAC7C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,8BAA8B,CAAC;AACtC,OAAO,+BAA+B,CAAC;AACvC,OAAO,+BAA+B,CAAC;AACvC,OAAO,+BAA+B,CAAC;AACvC,OAAO,iCAAiC,CAAC;AAEzC,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE/F,MAAM,WAAW,kBAAkB;IACjC,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAiFD,iBAAe,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CASvC;;;;;;;eAjGa,MAAM;WAVV,MAAM;aAYJ,gBAAgB;cAIf,OAAO;gBAFL,OAAO;cAhBT,MAAM;iBAIH,OAAO;eAET,OAAO;cAER,OAAO;qBAEA,OAAO;;AA6U3B,wBASG"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { DropPayload } from '../../composables/useDragDrop';
|
|
2
|
+
import { DataListBuilder } from './data-list-builder';
|
|
3
|
+
import { CoarDataListDensity, CoarDataListDragEngine, CoarDataListDropEvent, CoarDataListFilesDropEvent, CoarDataListGroupSlotProps, CoarDataListItemEvent, CoarDataListItemSlotProps, CoarDataListItemsRemoveEvent, CoarDataListKey, CoarDataListLayout, CoarDataListLevelConfig, CoarDataListNestingStyle, CoarDataListSearchBy, CoarDataListSelectionMode, CoarDataListSort, CoarDataListSortGroups, CoarDataListSortOption } from './types';
|
|
4
|
+
export interface CoarDataListProps<T = unknown> {
|
|
5
|
+
/** Fluent builder from `useDataList()`. When set, the other config props are ignored. */
|
|
6
|
+
builder?: DataListBuilder<T>;
|
|
7
|
+
/** Records to display. */
|
|
8
|
+
items?: readonly T[];
|
|
9
|
+
/** Stable identity of a record. Required in props-mode. */
|
|
10
|
+
itemKey?: (item: T) => CoarDataListKey;
|
|
11
|
+
/** Text the search matches against. Default: all primitive properties. */
|
|
12
|
+
searchBy?: CoarDataListSearchBy<T>;
|
|
13
|
+
/** Additional predicate applied before the search. */
|
|
14
|
+
filter?: (item: T) => boolean;
|
|
15
|
+
/** Entries of the sort menu. Sorting is off while this is empty. */
|
|
16
|
+
sortOptions?: CoarDataListSortOption<T>[];
|
|
17
|
+
/** Groups visible items under headings. */
|
|
18
|
+
groupBy?: (item: T) => string;
|
|
19
|
+
/** Order of groups. Default `'asc'`. */
|
|
20
|
+
sortGroups?: CoarDataListSortGroups;
|
|
21
|
+
/** Selection behaviour. Default `'none'`. */
|
|
22
|
+
selection?: CoarDataListSelectionMode;
|
|
23
|
+
/** Renders the search input in the toolbar. */
|
|
24
|
+
showSearch?: boolean;
|
|
25
|
+
/** Renders the sort control in the toolbar (needs `sortOptions`). */
|
|
26
|
+
showSort?: boolean;
|
|
27
|
+
searchPlaceholder?: string;
|
|
28
|
+
/** Marks search matches inside the rendered rows (CSS Custom Highlight API). */
|
|
29
|
+
searchHighlight?: boolean;
|
|
30
|
+
/** `'list'` (default) or `'grid'`: tiles in exact data order, as many per row as fit `tileMinWidth`. */
|
|
31
|
+
layout?: CoarDataListLayout;
|
|
32
|
+
/** Minimum tile width in the grid layout, px number or CSS length. Default `'14rem'`. */
|
|
33
|
+
tileMinWidth?: number | string;
|
|
34
|
+
/** Row padding. Default `'m'`. */
|
|
35
|
+
density?: CoarDataListDensity;
|
|
36
|
+
/** Draws a divider between rows (list layout). */
|
|
37
|
+
dividers?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Space between rows — a pixel number or any CSS length (e.g. `'0.5rem'`).
|
|
40
|
+
* Set it here rather than as a margin in the item template: rows are measured
|
|
41
|
+
* by their border box, so a template margin would not be accounted for.
|
|
42
|
+
*/
|
|
43
|
+
gap?: number | string;
|
|
44
|
+
bordered?: boolean;
|
|
45
|
+
elevated?: boolean;
|
|
46
|
+
/** Fixed height of the scroll area (e.g. `'24rem'`). Default: fills the parent. */
|
|
47
|
+
height?: string;
|
|
48
|
+
/** Estimated row height in pixels; rows are measured after render. Default 56. */
|
|
49
|
+
itemSize?: number;
|
|
50
|
+
/** Rows rendered beyond the viewport as scroll buffer. Default 5. */
|
|
51
|
+
overscan?: number;
|
|
52
|
+
emptyText?: string;
|
|
53
|
+
ariaLabel?: string;
|
|
54
|
+
disabled?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Let users reorder items by dragging, and accept drops from lists sharing a
|
|
57
|
+
* `dragGroup`. Emits `reorder` / `items-add` / `items-remove`; the data is
|
|
58
|
+
* never mutated by the list. Disabled while a sort is active.
|
|
59
|
+
*/
|
|
60
|
+
reorderable?: boolean;
|
|
61
|
+
/** `'native'` (HTML5, default), `'pointer'` (touch-capable) or `'auto'`. */
|
|
62
|
+
dragEngine?: CoarDataListDragEngine;
|
|
63
|
+
/** Per-item veto for dragging. */
|
|
64
|
+
canDrag?: (item: T) => boolean;
|
|
65
|
+
/** Lists sharing a group accept each other's items. */
|
|
66
|
+
dragGroup?: string;
|
|
67
|
+
/** Public identifier of this list, reported to drop targets as `sourceId`. */
|
|
68
|
+
dragId?: string;
|
|
69
|
+
/** Whitelist of source `dragId`s accepted here. */
|
|
70
|
+
dragAccept?: string[];
|
|
71
|
+
/** Runtime veto for incoming drops. */
|
|
72
|
+
canDrop?: (payload: DropPayload<T>) => boolean;
|
|
73
|
+
/** Accept OS file drops (`files-drop`); works with either drag engine. */
|
|
74
|
+
acceptsFiles?: boolean;
|
|
75
|
+
/** Nested lists: returns an item's children. Shown in the list layout only. */
|
|
76
|
+
children?: (item: T) => readonly T[] | null | undefined;
|
|
77
|
+
/** Sorting of the child levels; without it they inherit the top level's sort. */
|
|
78
|
+
childLevel?: CoarDataListLevelConfig<T>;
|
|
79
|
+
/** Deepest level shown, 0 = top level only. Default: unlimited. */
|
|
80
|
+
maxDepth?: number;
|
|
81
|
+
/** Indent per level, px number or CSS length. Default `'1.5rem'`. */
|
|
82
|
+
nestingIndent?: number | string;
|
|
83
|
+
/** `'lines'` (guide line per level, default) or `'none'`. */
|
|
84
|
+
nestingStyle?: CoarDataListNestingStyle;
|
|
85
|
+
/** Hide the built-in expand chevrons; use `toggleExpanded()` from the item slot instead. */
|
|
86
|
+
hideExpandToggle?: boolean;
|
|
87
|
+
/** Veto for dropping `item` inside `parent` (drag & drop re-parenting). */
|
|
88
|
+
canNest?: (item: T, parent: T) => boolean;
|
|
89
|
+
/** Grid layout: draw tiles as cards (border + radius). An expanded tile's frame opens into the band of its children. */
|
|
90
|
+
tileCards?: boolean;
|
|
91
|
+
/** Lift an expanded card and its band with a shadow. */
|
|
92
|
+
bandElevated?: boolean;
|
|
93
|
+
/**
|
|
94
|
+
* The template owns the whole box: the list draws no padding, hover, selection,
|
|
95
|
+
* focus, dividers or card around items — only position, measurement and the
|
|
96
|
+
* drop indicators. Show state through the slot props instead.
|
|
97
|
+
*/
|
|
98
|
+
unstyledItems?: boolean;
|
|
99
|
+
}
|
|
100
|
+
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<{
|
|
101
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
102
|
+
readonly "onItem-click"?: ((event: CoarDataListItemEvent<T>) => any) | undefined;
|
|
103
|
+
readonly "onItem-dblclick"?: ((event: CoarDataListItemEvent<T>) => any) | undefined;
|
|
104
|
+
readonly "onItem-activate"?: ((event: CoarDataListItemEvent<T>) => any) | undefined;
|
|
105
|
+
readonly "onDrag-start"?: ((items: readonly T[]) => any) | undefined;
|
|
106
|
+
readonly "onDrag-end"?: ((payload: {
|
|
107
|
+
items: readonly T[];
|
|
108
|
+
dropped: boolean;
|
|
109
|
+
}) => any) | undefined;
|
|
110
|
+
readonly "onItems-add"?: ((event: CoarDataListDropEvent<T>) => any) | undefined;
|
|
111
|
+
readonly "onItems-remove"?: ((event: CoarDataListItemsRemoveEvent<T>) => any) | undefined;
|
|
112
|
+
readonly "onUpdate:expanded"?: ((value: CoarDataListKey[]) => any) | undefined;
|
|
113
|
+
readonly "onUpdate:selected"?: ((value: CoarDataListKey[]) => any) | undefined;
|
|
114
|
+
readonly "onFiles-drop"?: ((event: CoarDataListFilesDropEvent<T>) => any) | undefined;
|
|
115
|
+
readonly "onUpdate:search"?: ((value: string) => any) | undefined;
|
|
116
|
+
readonly "onUpdate:sort"?: ((value: CoarDataListSort | null) => any) | undefined;
|
|
117
|
+
readonly "onItem-contextmenu"?: ((event: CoarDataListItemEvent<T>) => any) | undefined;
|
|
118
|
+
readonly onReorder?: ((event: CoarDataListDropEvent<T>) => any) | undefined;
|
|
119
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onItem-click" | "onItem-dblclick" | "onItem-activate" | "onDrag-start" | "onDrag-end" | "onItems-add" | "onItems-remove" | "onUpdate:expanded" | "onUpdate:selected" | "onFiles-drop" | "onUpdate:search" | "onUpdate:sort" | "onItem-contextmenu" | "onReorder"> & ({
|
|
120
|
+
search?: string;
|
|
121
|
+
sort?: CoarDataListSort | null;
|
|
122
|
+
selected?: CoarDataListKey[];
|
|
123
|
+
expanded?: CoarDataListKey[];
|
|
124
|
+
} & CoarDataListProps<T>) & Partial<{}>> & import('vue').PublicProps;
|
|
125
|
+
expose(exposed: import('vue').ShallowUnwrapRef<{
|
|
126
|
+
/** Headless list API (visible items, selection, lookups). */
|
|
127
|
+
list: import('./useDataListModel').UseDataListModelReturn<T>;
|
|
128
|
+
scrollToKey: (key: CoarDataListKey, align?: "auto" | "start" | "center" | "end") => void;
|
|
129
|
+
scrollToIndex: (index: number, align?: "auto" | "start" | "center" | "end") => void;
|
|
130
|
+
focusKey: (key: CoarDataListKey) => void;
|
|
131
|
+
invalidateMeasurements: (key?: CoarDataListKey) => void;
|
|
132
|
+
}>): void;
|
|
133
|
+
attrs: any;
|
|
134
|
+
slots: Readonly<{
|
|
135
|
+
item(props: CoarDataListItemSlotProps<T>): unknown;
|
|
136
|
+
'group-header'(props: CoarDataListGroupSlotProps<T>): unknown;
|
|
137
|
+
empty(): unknown;
|
|
138
|
+
'toolbar-left'(): unknown;
|
|
139
|
+
'toolbar-right'(): unknown;
|
|
140
|
+
}> & {
|
|
141
|
+
item(props: CoarDataListItemSlotProps<T>): unknown;
|
|
142
|
+
'group-header'(props: CoarDataListGroupSlotProps<T>): unknown;
|
|
143
|
+
empty(): unknown;
|
|
144
|
+
'toolbar-left'(): unknown;
|
|
145
|
+
'toolbar-right'(): unknown;
|
|
146
|
+
};
|
|
147
|
+
emit: (((evt: "item-click", event: CoarDataListItemEvent<T>) => void) & ((evt: "item-dblclick", event: CoarDataListItemEvent<T>) => void) & ((evt: "item-activate", event: CoarDataListItemEvent<T>) => void) & ((evt: "drag-start", items: readonly T[]) => void) & ((evt: "drag-end", payload: {
|
|
148
|
+
items: readonly T[];
|
|
149
|
+
dropped: boolean;
|
|
150
|
+
}) => void) & ((evt: "items-add", event: CoarDataListDropEvent<T>) => void) & ((evt: "items-remove", event: CoarDataListItemsRemoveEvent<T>) => void) & ((evt: "files-drop", event: CoarDataListFilesDropEvent<T>) => void) & ((evt: "item-contextmenu", event: CoarDataListItemEvent<T>) => void) & ((evt: "reorder", event: CoarDataListDropEvent<T>) => void)) & (((evt: "update:expanded", value: CoarDataListKey[]) => void) & ((evt: "update:selected", value: CoarDataListKey[]) => void) & ((evt: "update:search", value: string) => void) & ((evt: "update:sort", value: CoarDataListSort | null) => void));
|
|
151
|
+
}>) => import('vue').VNode & {
|
|
152
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
153
|
+
};
|
|
154
|
+
export default _default;
|
|
155
|
+
type __VLS_PrettifyLocal<T> = {
|
|
156
|
+
[K in keyof T]: T[K];
|
|
157
|
+
} & {};
|
|
158
|
+
//# sourceMappingURL=CoarDataList.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoarDataList.vue.d.ts","sourceRoot":"","sources":["../../../src/components/data-list/CoarDataList.vue"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { CoarDataListSort, CoarDataListSortOption } from './types';
|
|
2
|
+
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
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
4
|
+
readonly "onUpdate:search"?: ((value: string) => any) | undefined;
|
|
5
|
+
readonly "onUpdate:sort"?: ((value: CoarDataListSort | null) => any) | undefined;
|
|
6
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:search" | "onUpdate:sort"> & ({
|
|
7
|
+
search?: string;
|
|
8
|
+
sort?: CoarDataListSort | null;
|
|
9
|
+
} & {
|
|
10
|
+
showSearch?: boolean;
|
|
11
|
+
showSort?: boolean;
|
|
12
|
+
searchPlaceholder?: string;
|
|
13
|
+
sortOptions?: readonly CoarDataListSortOption<T>[];
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
}) & Partial<{}>> & import('vue').PublicProps;
|
|
16
|
+
expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
|
|
17
|
+
attrs: any;
|
|
18
|
+
slots: {
|
|
19
|
+
left?(_: {}): any;
|
|
20
|
+
right?(_: {}): any;
|
|
21
|
+
};
|
|
22
|
+
emit: ((evt: "update:search", value: string) => void) & ((evt: "update:sort", value: CoarDataListSort | null) => void);
|
|
23
|
+
}>) => import('vue').VNode & {
|
|
24
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
25
|
+
};
|
|
26
|
+
export default _default;
|
|
27
|
+
type __VLS_PrettifyLocal<T> = {
|
|
28
|
+
[K in keyof T]: T[K];
|
|
29
|
+
} & {};
|
|
30
|
+
//# sourceMappingURL=CoarDataListToolbar.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoarDataListToolbar.vue.d.ts","sourceRoot":"","sources":["../../../src/components/data-list/CoarDataListToolbar.vue"],"names":[],"mappings":"AAiJA,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;yBAEvD,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;WA4PO,mBAAmB,CAAC;;;;iBAnLjB,MAAM;eACR,gBAAgB,GAAG,IAAI;;qBAxEf,OAAO;mBACT,OAAO;4BACE,MAAM;sBACZ,SAAS,sBAAsB,CAAC,CAAC,CAAC,EAAE;mBACvC,OAAO;oBAsPwE,CAAC,4BAA2B;oBACzG,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;sBA5Ce,GAAG;uBACD,GAAG;;;EA+C3B,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAE;AAvQzE,wBAuQ4E;AAC5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
import { ComputedRef, MaybeRef, MaybeRefOrGetter, Ref } from 'vue';
|
|
2
|
+
import { DropPayload } from '../../composables/useDragDrop';
|
|
3
|
+
import { CoarDataListDensity, CoarDataListDragEngine, CoarDataListDropEvent, CoarDataListFilesDropEvent, CoarDataListItemsRemoveEvent, CoarDataListLayout, CoarDataListLevelConfig, CoarDataListNestingStyle, CoarDataListItemEvent, CoarDataListKey, CoarDataListMenuEntry, CoarDataListSearchBy, CoarDataListSelectionMode, CoarDataListSort, CoarDataListSortDirection, CoarDataListSortGroups, CoarDataListSortOption } from './types';
|
|
4
|
+
import { UseDataListModelReturn } from './useDataListModel';
|
|
5
|
+
/** Mutable configuration owned by the builder. `shallowReactive` so late setter calls re-render. */
|
|
6
|
+
export interface DataListBuilderState<T> {
|
|
7
|
+
items: MaybeRefOrGetter<readonly T[]>;
|
|
8
|
+
itemKey: (item: T) => CoarDataListKey;
|
|
9
|
+
searchBy: MaybeRef<CoarDataListSearchBy<T> | undefined>;
|
|
10
|
+
filter: MaybeRef<((item: T) => boolean) | undefined>;
|
|
11
|
+
sortOptions: MaybeRefOrGetter<readonly CoarDataListSortOption<T>[]>;
|
|
12
|
+
groupBy: MaybeRef<((item: T) => string) | undefined>;
|
|
13
|
+
sortGroups: MaybeRef<CoarDataListSortGroups>;
|
|
14
|
+
selection: MaybeRefOrGetter<CoarDataListSelectionMode>;
|
|
15
|
+
showSearch: MaybeRefOrGetter<boolean>;
|
|
16
|
+
showSort: MaybeRefOrGetter<boolean>;
|
|
17
|
+
searchPlaceholder: MaybeRefOrGetter<string | undefined>;
|
|
18
|
+
searchHighlight: MaybeRefOrGetter<boolean>;
|
|
19
|
+
layout: MaybeRefOrGetter<CoarDataListLayout>;
|
|
20
|
+
tileMinWidth: MaybeRefOrGetter<number | string>;
|
|
21
|
+
density: MaybeRefOrGetter<CoarDataListDensity>;
|
|
22
|
+
dividers: MaybeRefOrGetter<boolean>;
|
|
23
|
+
gap: MaybeRefOrGetter<number | string | undefined>;
|
|
24
|
+
bordered: MaybeRefOrGetter<boolean>;
|
|
25
|
+
elevated: MaybeRefOrGetter<boolean>;
|
|
26
|
+
height: MaybeRefOrGetter<string | undefined>;
|
|
27
|
+
itemSize: MaybeRefOrGetter<number>;
|
|
28
|
+
overscan: MaybeRefOrGetter<number>;
|
|
29
|
+
emptyText: MaybeRefOrGetter<string | undefined>;
|
|
30
|
+
ariaLabel: MaybeRefOrGetter<string | undefined>;
|
|
31
|
+
disabled: MaybeRefOrGetter<boolean>;
|
|
32
|
+
/** Nested lists (see the `children` setter). */
|
|
33
|
+
children?: (item: T) => readonly T[] | null | undefined;
|
|
34
|
+
childLevel: MaybeRefOrGetter<CoarDataListLevelConfig<T> | undefined>;
|
|
35
|
+
maxDepth: MaybeRefOrGetter<number | undefined>;
|
|
36
|
+
nestingIndent: MaybeRefOrGetter<number | string>;
|
|
37
|
+
nestingStyle: MaybeRefOrGetter<CoarDataListNestingStyle>;
|
|
38
|
+
hideExpandToggle: MaybeRefOrGetter<boolean>;
|
|
39
|
+
canNest?: (item: T, parent: T) => boolean;
|
|
40
|
+
expanded: Ref<CoarDataListKey[]>;
|
|
41
|
+
/** Grid layout: draw each tile as a card (border + radius); an expanded tile opens into its band. */
|
|
42
|
+
tileCards: MaybeRefOrGetter<boolean>;
|
|
43
|
+
/** Lift an expanded card and its band with a shadow. */
|
|
44
|
+
bandElevated: MaybeRefOrGetter<boolean>;
|
|
45
|
+
/** The template owns the whole box: no list-drawn padding, hover, selection, focus, dividers or card. */
|
|
46
|
+
unstyledItems: MaybeRefOrGetter<boolean>;
|
|
47
|
+
/** Drag & drop reordering (see the `reorderable` setter). */
|
|
48
|
+
reorderable: MaybeRefOrGetter<boolean>;
|
|
49
|
+
dragEngine: MaybeRefOrGetter<CoarDataListDragEngine>;
|
|
50
|
+
canDrag?: (item: T) => boolean;
|
|
51
|
+
dragGroup: MaybeRefOrGetter<string | undefined>;
|
|
52
|
+
dragId: MaybeRefOrGetter<string | undefined>;
|
|
53
|
+
dragAccept: MaybeRefOrGetter<string[] | undefined>;
|
|
54
|
+
canDrop?: (payload: DropPayload<T>) => boolean;
|
|
55
|
+
acceptsFiles: MaybeRefOrGetter<boolean>;
|
|
56
|
+
onReorder?: (event: CoarDataListDropEvent<T>) => void;
|
|
57
|
+
onItemsAdd?: (event: CoarDataListDropEvent<T>) => void;
|
|
58
|
+
onItemsRemove?: (event: CoarDataListItemsRemoveEvent<T>) => void;
|
|
59
|
+
onFilesDrop?: (event: CoarDataListFilesDropEvent<T>) => void;
|
|
60
|
+
onDragStart?: (items: readonly T[]) => void;
|
|
61
|
+
onDragEnd?: (payload: {
|
|
62
|
+
items: readonly T[];
|
|
63
|
+
dropped: boolean;
|
|
64
|
+
}) => void;
|
|
65
|
+
/** Writable state the component binds to (the `v-model`s of props-mode). */
|
|
66
|
+
search: Ref<string>;
|
|
67
|
+
sort: Ref<CoarDataListSort | null>;
|
|
68
|
+
selected: Ref<CoarDataListKey[]>;
|
|
69
|
+
onItemClick?: (event: CoarDataListItemEvent<T>) => void;
|
|
70
|
+
onItemDoubleClick?: (event: CoarDataListItemEvent<T>) => void;
|
|
71
|
+
onItemContextMenu?: (event: CoarDataListItemEvent<T>) => void;
|
|
72
|
+
onItemActivate?: (event: CoarDataListItemEvent<T>) => void;
|
|
73
|
+
/** Declarative menus — `<CoarDataList>` renders the `<CoarContextMenu>` itself. */
|
|
74
|
+
itemMenu?: (item: T, selectedItems: readonly T[]) => readonly CoarDataListMenuEntry[];
|
|
75
|
+
viewportMenu?: () => readonly CoarDataListMenuEntry[];
|
|
76
|
+
}
|
|
77
|
+
/** What `<CoarDataList>` registers on mount. @internal */
|
|
78
|
+
export interface DataListApiImpls<T> {
|
|
79
|
+
model: UseDataListModelReturn<T>;
|
|
80
|
+
scrollToKey(key: CoarDataListKey, align?: 'auto' | 'start' | 'center' | 'end'): void;
|
|
81
|
+
scrollToIndex(index: number, align?: 'auto' | 'start' | 'center' | 'end'): void;
|
|
82
|
+
focusKey(key: CoarDataListKey): void;
|
|
83
|
+
invalidateMeasurements(key?: CoarDataListKey): void;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Imperative surface returned by `useDataList().api`. Actions are no-ops with a
|
|
87
|
+
* DEV warning until `<CoarDataList>` mounts; the readonly refs are live as soon
|
|
88
|
+
* as it does and fall back to empty values before.
|
|
89
|
+
*/
|
|
90
|
+
export interface DataListApi<T> {
|
|
91
|
+
select(key: CoarDataListKey, mode?: 'replace' | 'toggle' | 'range'): void;
|
|
92
|
+
selectAll(): void;
|
|
93
|
+
clearSelection(): void;
|
|
94
|
+
isSelected(key: CoarDataListKey): boolean;
|
|
95
|
+
scrollToKey(key: CoarDataListKey, align?: 'auto' | 'start' | 'center' | 'end'): void;
|
|
96
|
+
scrollToIndex(index: number, align?: 'auto' | 'start' | 'center' | 'end'): void;
|
|
97
|
+
focusKey(key: CoarDataListKey): void;
|
|
98
|
+
invalidateMeasurements(key?: CoarDataListKey): void;
|
|
99
|
+
expand(key: CoarDataListKey): void;
|
|
100
|
+
collapse(key: CoarDataListKey): void;
|
|
101
|
+
toggleExpanded(key: CoarDataListKey): void;
|
|
102
|
+
expandAll(): void;
|
|
103
|
+
collapseAll(): void;
|
|
104
|
+
/** Selected keys (the builder's writable ref). */
|
|
105
|
+
readonly selected: Ref<CoarDataListKey[]>;
|
|
106
|
+
readonly search: Ref<string>;
|
|
107
|
+
readonly sort: Ref<CoarDataListSort | null>;
|
|
108
|
+
/** Keys whose children are shown (the builder's writable ref). */
|
|
109
|
+
readonly expanded: Ref<CoarDataListKey[]>;
|
|
110
|
+
/** Selected records in selection order. */
|
|
111
|
+
readonly selectedItems: ComputedRef<readonly T[]>;
|
|
112
|
+
/** Visible records after filter, search, sort and grouping. */
|
|
113
|
+
readonly items: ComputedRef<readonly T[]>;
|
|
114
|
+
readonly count: ComputedRef<number>;
|
|
115
|
+
readonly total: ComputedRef<number>;
|
|
116
|
+
}
|
|
117
|
+
export declare class DataListBuilder<T> {
|
|
118
|
+
readonly state: DataListBuilderState<T>;
|
|
119
|
+
readonly api: DataListApi<T>;
|
|
120
|
+
private readonly _impls;
|
|
121
|
+
private _warnUnmounted;
|
|
122
|
+
private constructor();
|
|
123
|
+
static create<T>(): DataListBuilder<T>;
|
|
124
|
+
/** Records to display. Accepts a plain array, a `Ref`, or a getter. */
|
|
125
|
+
items(source: MaybeRefOrGetter<readonly T[]>): this;
|
|
126
|
+
/** Stable identity of a record. Required. */
|
|
127
|
+
itemKey(fn: (item: T) => CoarDataListKey): this;
|
|
128
|
+
/** Text the search matches against: property names or an extractor. Default: all primitive properties. */
|
|
129
|
+
searchBy(by: MaybeRef<CoarDataListSearchBy<T> | undefined>): this;
|
|
130
|
+
/** Predicate applied before the search. */
|
|
131
|
+
filter(fn: MaybeRef<((item: T) => boolean) | undefined>): this;
|
|
132
|
+
/** Replace the sort menu entries. */
|
|
133
|
+
sortOptions(options: MaybeRefOrGetter<readonly CoarDataListSortOption<T>[]>): this;
|
|
134
|
+
/**
|
|
135
|
+
* Append one sort menu entry. `by` extracts the compared value (default `item[key]`);
|
|
136
|
+
* pass `{ compare }` for a full comparator or `{ defaultDirection: 'desc' }` to start descending.
|
|
137
|
+
*/
|
|
138
|
+
sortOption(key: string, label: string, options?: {
|
|
139
|
+
by?: (item: T) => unknown;
|
|
140
|
+
compare?: (a: T, b: T) => number;
|
|
141
|
+
defaultDirection?: CoarDataListSortDirection;
|
|
142
|
+
}): this;
|
|
143
|
+
/** Group visible records under headings. */
|
|
144
|
+
groupBy(fn: MaybeRef<((item: T) => string) | undefined>): this;
|
|
145
|
+
sortGroups(order: MaybeRef<CoarDataListSortGroups>): this;
|
|
146
|
+
/** `'none'` (default), `'single'` or `'multiple'`. */
|
|
147
|
+
selection(mode: MaybeRefOrGetter<CoarDataListSelectionMode>): this;
|
|
148
|
+
showSearch(on?: MaybeRefOrGetter<boolean>): this;
|
|
149
|
+
showSort(on?: MaybeRefOrGetter<boolean>): this;
|
|
150
|
+
searchPlaceholder(text: MaybeRefOrGetter<string | undefined>): this;
|
|
151
|
+
/** Mark search hits inside rendered rows. */
|
|
152
|
+
searchHighlight(on?: MaybeRefOrGetter<boolean>): this;
|
|
153
|
+
disabled(on?: MaybeRefOrGetter<boolean>): this;
|
|
154
|
+
/** `'list'` (default) or `'grid'` — tiles in exact data order, wrapping by `tileMinWidth`. */
|
|
155
|
+
layout(value: MaybeRefOrGetter<CoarDataListLayout>): this;
|
|
156
|
+
/** Minimum tile width in the grid layout (px number or CSS length). Default `'14rem'`. */
|
|
157
|
+
tileMinWidth(value: MaybeRefOrGetter<number | string>): this;
|
|
158
|
+
/** Grid layout: draw tiles as cards. An expanded tile's frame opens into the band of its children. */
|
|
159
|
+
tileCards(on?: MaybeRefOrGetter<boolean>): this;
|
|
160
|
+
/** Lift an expanded card and its band with a shadow. */
|
|
161
|
+
bandElevated(on?: MaybeRefOrGetter<boolean>): this;
|
|
162
|
+
/**
|
|
163
|
+
* The template owns the whole box. The list draws no padding, hover, selection,
|
|
164
|
+
* focus, dividers or card around items — only position, measurement and the
|
|
165
|
+
* drop indicators. Show state through the slot props (`selected`, `focused`,
|
|
166
|
+
* `dragging`, `expanded`) and drive it through `select()`, `toggle()`,
|
|
167
|
+
* `toggleExpanded()` or the `api`.
|
|
168
|
+
*/
|
|
169
|
+
unstyledItems(on?: MaybeRefOrGetter<boolean>): this;
|
|
170
|
+
density(value: MaybeRefOrGetter<CoarDataListDensity>): this;
|
|
171
|
+
dividers(on?: MaybeRefOrGetter<boolean>): this;
|
|
172
|
+
/** Space between rows, px number or CSS length. */
|
|
173
|
+
gap(value: MaybeRefOrGetter<number | string | undefined>): this;
|
|
174
|
+
bordered(on?: MaybeRefOrGetter<boolean>): this;
|
|
175
|
+
elevated(on?: MaybeRefOrGetter<boolean>): this;
|
|
176
|
+
/** Fixed height of the scroll area; omit to fill the parent. */
|
|
177
|
+
height(value: MaybeRefOrGetter<string | undefined>): this;
|
|
178
|
+
/** Estimated row height in px (rows are measured after render). */
|
|
179
|
+
itemSize(px: MaybeRefOrGetter<number>): this;
|
|
180
|
+
overscan(rows: MaybeRefOrGetter<number>): this;
|
|
181
|
+
emptyText(text: MaybeRefOrGetter<string | undefined>): this;
|
|
182
|
+
ariaLabel(label: MaybeRefOrGetter<string | undefined>): this;
|
|
183
|
+
/**
|
|
184
|
+
* Nested lists: `accessor` returns an item's children. The optional `configure`
|
|
185
|
+
* callback sets up the child levels as a list of their own — today their
|
|
186
|
+
* sorting, later their layout:
|
|
187
|
+
* ```ts
|
|
188
|
+
* builder.children((t) => t.subTasks, (level) => level.sortOption('due', 'Due').sort({ key: 'due', direction: 'asc' }))
|
|
189
|
+
* ```
|
|
190
|
+
* Without `configure`, child levels inherit the top level's sorting.
|
|
191
|
+
*/
|
|
192
|
+
children(accessor: (item: T) => readonly T[] | null | undefined, configure?: (level: DataListLevelBuilder<T>) => void): this;
|
|
193
|
+
/** Bind the expanded keys to your own ref, or set an initial value. */
|
|
194
|
+
expanded(value: Ref<CoarDataListKey[]> | CoarDataListKey[]): this;
|
|
195
|
+
/** Deepest level shown; 0 = top level only. Default: unlimited. */
|
|
196
|
+
maxDepth(depth: MaybeRefOrGetter<number | undefined>): this;
|
|
197
|
+
/** Indent per level (px number or CSS length). Default `'1.5rem'`. */
|
|
198
|
+
nestingIndent(value: MaybeRefOrGetter<number | string>): this;
|
|
199
|
+
/** `'lines'` (guide lines per level, default) or `'none'`. */
|
|
200
|
+
nestingStyle(style: MaybeRefOrGetter<CoarDataListNestingStyle>): this;
|
|
201
|
+
/** Hide the built-in expand chevrons (use `toggleExpanded()` from the item slot instead). */
|
|
202
|
+
hideExpandToggle(on?: MaybeRefOrGetter<boolean>): this;
|
|
203
|
+
/** Veto for dropping `item` inside `parent` (drag & drop re-parenting). */
|
|
204
|
+
canNest(fn: (item: T, parent: T) => boolean): this;
|
|
205
|
+
/**
|
|
206
|
+
* Let users reorder items by dragging (and drop items into this list from other
|
|
207
|
+
* lists sharing a `dragGroup`). The list emits `reorder` / `items-add` /
|
|
208
|
+
* `items-remove` and never mutates the data. Disabled while a sort is active.
|
|
209
|
+
*/
|
|
210
|
+
reorderable(on?: MaybeRefOrGetter<boolean>): this;
|
|
211
|
+
/** `'native'` (default, HTML5), `'pointer'` (touch-capable) or `'auto'`. */
|
|
212
|
+
dragEngine(engine: MaybeRefOrGetter<CoarDataListDragEngine>): this;
|
|
213
|
+
/** Per-item veto: return `false` to keep an item where it is. */
|
|
214
|
+
canDrag(fn: (item: T) => boolean): this;
|
|
215
|
+
/** Lists sharing a `dragGroup` accept each other's items. */
|
|
216
|
+
dragGroup(group: MaybeRefOrGetter<string | undefined>): this;
|
|
217
|
+
/** Public identifier of this list, reported as `sourceId` to drop targets. */
|
|
218
|
+
dragId(id: MaybeRefOrGetter<string | undefined>): this;
|
|
219
|
+
/** Whitelist of source `dragId`s this list accepts drops from. */
|
|
220
|
+
dragAccept(ids: MaybeRefOrGetter<string[] | undefined>): this;
|
|
221
|
+
/** Runtime veto for incoming drops (items, source id / group, `fromSelf`). */
|
|
222
|
+
canDrop(fn: (payload: DropPayload<T>) => boolean): this;
|
|
223
|
+
/** Accept OS file drops (Explorer / Finder); works with either drag engine. */
|
|
224
|
+
acceptsFiles(on?: MaybeRefOrGetter<boolean>): this;
|
|
225
|
+
/** Items were dropped inside this list. Apply `toIndex` / `afterKey` to your data. */
|
|
226
|
+
onReorder(handler: (event: CoarDataListDropEvent<T>) => void): this;
|
|
227
|
+
/** Items from another list were dropped here. */
|
|
228
|
+
onItemsAdd(handler: (event: CoarDataListDropEvent<T>) => void): this;
|
|
229
|
+
/** Items of this list were accepted by another list — remove them from your data. */
|
|
230
|
+
onItemsRemove(handler: (event: CoarDataListItemsRemoveEvent<T>) => void): this;
|
|
231
|
+
onFilesDrop(handler: (event: CoarDataListFilesDropEvent<T>) => void): this;
|
|
232
|
+
onDragStart(handler: (items: readonly T[]) => void): this;
|
|
233
|
+
onDragEnd(handler: (payload: {
|
|
234
|
+
items: readonly T[];
|
|
235
|
+
dropped: boolean;
|
|
236
|
+
}) => void): this;
|
|
237
|
+
/** Bind the search query to your own ref, or set an initial value. */
|
|
238
|
+
search(value: Ref<string> | string): this;
|
|
239
|
+
/** Bind the active sort to your own ref, or set an initial value. */
|
|
240
|
+
sort(value: Ref<CoarDataListSort | null> | CoarDataListSort | null): this;
|
|
241
|
+
/** Bind the selected keys to your own ref, or set an initial value. */
|
|
242
|
+
selected(value: Ref<CoarDataListKey[]> | CoarDataListKey[]): this;
|
|
243
|
+
onItemClick(handler: (event: CoarDataListItemEvent<T>) => void): this;
|
|
244
|
+
onItemDoubleClick(handler: (event: CoarDataListItemEvent<T>) => void): this;
|
|
245
|
+
/** Raw right-click / long-press. When set, a declarative `itemMenu` for the same target is bypassed. */
|
|
246
|
+
onItemContextMenu(handler: (event: CoarDataListItemEvent<T>) => void): this;
|
|
247
|
+
/** Double-click or Enter. */
|
|
248
|
+
onItemActivate(handler: (event: CoarDataListItemEvent<T>) => void): this;
|
|
249
|
+
/**
|
|
250
|
+
* Context menu for an item. Receives the item under the pointer and the current
|
|
251
|
+
* selection (the item is selected first unless it already was), so bulk actions
|
|
252
|
+
* can act on `selectedItems`. Entries: `{ label, icon?, danger?, disabled?, onClick }` or `'divider'`.
|
|
253
|
+
*/
|
|
254
|
+
itemMenu(fn: (item: T, selectedItems: readonly T[]) => readonly CoarDataListMenuEntry[]): this;
|
|
255
|
+
/** Context menu for the empty area of the list. */
|
|
256
|
+
viewportMenu(fn: () => readonly CoarDataListMenuEntry[]): this;
|
|
257
|
+
/** @internal Called by `<CoarDataList>` on mount / unmount. */
|
|
258
|
+
_bindImpls(impls: DataListApiImpls<T> | null): void;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Configuration of the child levels of a nested list — the argument of
|
|
262
|
+
* `builder.children(accessor, (level) => …)`. Mirrors the list's own sort
|
|
263
|
+
* setters; layout per level will follow.
|
|
264
|
+
*/
|
|
265
|
+
export declare class DataListLevelBuilder<T> {
|
|
266
|
+
readonly config: CoarDataListLevelConfig<T>;
|
|
267
|
+
sortOptions(options: readonly CoarDataListSortOption<T>[]): this;
|
|
268
|
+
sortOption(key: string, label: string, options?: {
|
|
269
|
+
by?: (item: T) => unknown;
|
|
270
|
+
compare?: (a: T, b: T) => number;
|
|
271
|
+
defaultDirection?: CoarDataListSortDirection;
|
|
272
|
+
}): this;
|
|
273
|
+
/** Sort applied on every child level. `null` keeps the children's input order. */
|
|
274
|
+
sort(value: CoarDataListSort | null): this;
|
|
275
|
+
/** Layout of the child levels — a list may nest grid children and vice versa. Default: the list's layout. */
|
|
276
|
+
layout(value: CoarDataListLayout): this;
|
|
277
|
+
/** Minimum tile width for child levels in grid layout. Default: the list's `tileMinWidth`. */
|
|
278
|
+
tileMinWidth(value: number | string): this;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Fluent entry point: `const { builder, api } = useDataList<Row>()`, then
|
|
282
|
+
* `<CoarDataList :builder="builder">`.
|
|
283
|
+
*/
|
|
284
|
+
export declare function useDataList<T>(): {
|
|
285
|
+
builder: DataListBuilder<T>;
|
|
286
|
+
api: DataListApi<T>;
|
|
287
|
+
};
|
|
288
|
+
//# sourceMappingURL=data-list-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-list-builder.d.ts","sourceRoot":"","sources":["../../../src/components/data-list/data-list-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { default as CoarDataList } from './CoarDataList.vue';
|
|
2
|
+
export type { CoarDataListProps } from './CoarDataList.vue';
|
|
3
|
+
export { useDataList, DataListBuilder, DataListLevelBuilder } from './data-list-builder';
|
|
4
|
+
export type { DataListApi, DataListBuilderState } from './data-list-builder';
|
|
5
|
+
export { useDataListModel } from './useDataListModel';
|
|
6
|
+
export type { UseDataListModelOptions, UseDataListModelReturn } from './useDataListModel';
|
|
7
|
+
export { createValueComparator } from './internal/compare';
|
|
8
|
+
export type { ValueComparator } from './internal/compare';
|
|
9
|
+
export { normalizeSearchText, searchTerms, matchesSearchTerms } from './internal/search';
|
|
10
|
+
export { DATA_LIST_HIGHLIGHT_NAME } from './internal/useSearchHighlight';
|
|
11
|
+
export type { CoarDataListDensity, CoarDataListDragEngine, CoarDataListDropEvent, CoarDataListDropPosition, CoarDataListDropTarget, CoarDataListFilesDropEvent, CoarDataListItemsRemoveEvent, CoarDataListEntry, CoarDataListGroupSlotProps, CoarDataListItemEvent, CoarDataListItemSlotProps, CoarDataListKey, CoarDataListLayout, CoarDataListLevelConfig, CoarDataListNestingStyle, CoarDataListMenuEntry, CoarDataListMenuItem, CoarDataListSearchBy, CoarDataListSelection, CoarDataListSelectionMode, CoarDataListSort, CoarDataListSortDirection, CoarDataListSortGroups, CoarDataListSortOption, } from './types';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/data-list/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACzF,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EACV,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,EAC5B,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,EACrB,yBAAyB,EACzB,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Locale-aware comparator for mixed primitive values. */
|
|
2
|
+
export type ValueComparator = (a: unknown, b: unknown) => number;
|
|
3
|
+
/**
|
|
4
|
+
* Creates a comparator that sorts ascending and treats values the way people expect:
|
|
5
|
+
* numbers numerically, dates chronologically, booleans false-first, everything else
|
|
6
|
+
* as text through `Intl.Collator` (numeric strings and diacritics handled). `null` and
|
|
7
|
+
* `undefined` always sort last regardless of direction handling by the caller.
|
|
8
|
+
*/
|
|
9
|
+
export declare function createValueComparator(locale?: string): ValueComparator;
|
|
10
|
+
/** Sort `items` by a value extractor with a stable order for equal values. */
|
|
11
|
+
export declare function sortByValue<T>(items: readonly T[], by: (item: T) => unknown, compare: ValueComparator, descending?: boolean): T[];
|
|
12
|
+
/** Sort `items` with a full comparator, keeping the input order for ties. */
|
|
13
|
+
export declare function sortWithComparator<T>(items: readonly T[], compare: (a: T, b: T) => number, descending?: boolean): T[];
|
|
14
|
+
//# sourceMappingURL=compare.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../../../src/components/data-list/internal/compare.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;AAuBjE;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,eAAe,CAkBtE;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,CAAC,EAC3B,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,EACxB,OAAO,EAAE,eAAe,EACxB,UAAU,UAAQ,GACjB,CAAC,EAAE,CAQL;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,EAC/B,UAAU,UAAQ,GACjB,CAAC,EAAE,CAQL"}
|