@ixfx/components 0.8.6 → 0.8.8
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/bundle/index.d.ts +570 -389
- package/bundle/index.d.ts.map +1 -1
- package/bundle/index.js +1033 -200
- package/bundle/index.js.map +1 -1
- package/dist/crumbs.d.ts +1 -1
- package/dist/crumbs.js +2 -2
- package/dist/{data-grid-D-z7bx5-.d.ts → data-grid-BKa9i86q.d.ts} +15 -2
- package/dist/data-grid-BKa9i86q.d.ts.map +1 -0
- package/dist/data-grid.d.ts +3 -2
- package/dist/data-grid.js +95 -5
- package/dist/data-grid.js.map +1 -1
- package/dist/{detail-list-_ZJHYEBr.d.ts → detail-list-CHTomlbR.d.ts} +22 -5
- package/dist/detail-list-CHTomlbR.d.ts.map +1 -0
- package/dist/detail-list.d.ts +4 -3
- package/dist/detail-list.js +103 -3
- package/dist/detail-list.js.map +1 -1
- package/dist/{grid-list-j5C7qtlG.js → grid-list-C8oMxLl-.js} +77 -164
- package/dist/grid-list-C8oMxLl-.js.map +1 -0
- package/dist/{grid-list-x550wJ0X.d.ts → grid-list-CsZcXxMC.d.ts} +259 -109
- package/dist/grid-list-CsZcXxMC.d.ts.map +1 -0
- package/dist/grid-list.d.ts +3 -2
- package/dist/grid-list.js +1 -1
- package/dist/incr-search.d.ts +1 -1
- package/dist/{index-h6gxtfHH.d.ts → index-Dgrx-DIA.d.ts} +2 -2
- package/dist/{index-h6gxtfHH.d.ts.map → index-Dgrx-DIA.d.ts.map} +1 -1
- package/dist/index.d.ts +190 -252
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -7
- package/dist/index.js.map +1 -1
- package/dist/{interaction-B9AAlsFO.js → interaction-BskmlA9t.js} +1 -1
- package/dist/list-drag-types-kpaXz2pZ.d.ts +42 -0
- package/dist/list-drag-types-kpaXz2pZ.d.ts.map +1 -0
- package/dist/{list-item-animation-DuiwgN3l.js → list-item-animation-BUoEKi5s.js} +29 -10
- package/dist/list-item-animation-BUoEKi5s.js.map +1 -0
- package/dist/list-native-drag-controller-DrY3qeJM.js +555 -0
- package/dist/list-native-drag-controller-DrY3qeJM.js.map +1 -0
- package/dist/{menu-HMoxCPY2.js → menu-CMXhIaNZ.js} +3 -3
- package/dist/{menu-HMoxCPY2.js.map → menu-CMXhIaNZ.js.map} +1 -1
- package/dist/{menu-item-BQDYxk5A.js → menu-item-BYGQzyCe.js} +2 -2
- package/dist/{menu-item-BQDYxk5A.js.map → menu-item-BYGQzyCe.js.map} +1 -1
- package/dist/menu.js +2 -2
- package/dist/miller.d.ts +2 -2
- package/dist/miller.js +1 -1
- package/dist/narrowed-text.js +1 -1
- package/dist/select-horiz.js +1 -1
- package/dist/{tree-DTQon838.js → tree-DSMn566I.js} +90 -27
- package/dist/tree-DSMn566I.js.map +1 -0
- package/dist/{tree-component-F6qZ0Gdv.d.ts → tree-component-nPP5Y-WS.d.ts} +12 -2
- package/dist/tree-component-nPP5Y-WS.d.ts.map +1 -0
- package/dist/tree.d.ts +3 -2
- package/dist/tree.d.ts.map +1 -1
- package/dist/tree.js +1 -1
- package/dist/{vertical-list-CFuFDygi.d.ts → vertical-list-A6oWfivZ.d.ts} +21 -4
- package/dist/vertical-list-A6oWfivZ.d.ts.map +1 -0
- package/dist/vertical-list.d.ts +3 -2
- package/dist/vertical-list.js +103 -3
- package/dist/vertical-list.js.map +1 -1
- package/docs-user/README.md +1 -0
- package/docs-user/data-grid.md +30 -0
- package/docs-user/data-table.md +104 -0
- package/docs-user/detail-list.md +29 -0
- package/docs-user/grid-list.md +34 -4
- package/docs-user/index.json +7 -2
- package/docs-user/llms.txt +1 -0
- package/docs-user/tree.md +5 -4
- package/docs-user/vertical-list.md +30 -1
- package/llms.txt +1 -0
- package/package.json +1 -1
- package/dist/data-grid-D-z7bx5-.d.ts.map +0 -1
- package/dist/detail-list-_ZJHYEBr.d.ts.map +0 -1
- package/dist/grid-list-j5C7qtlG.js.map +0 -1
- package/dist/grid-list-x550wJ0X.d.ts.map +0 -1
- package/dist/list-item-animation-DuiwgN3l.js.map +0 -1
- package/dist/tree-DTQon838.js.map +0 -1
- package/dist/tree-component-F6qZ0Gdv.d.ts.map +0 -1
- package/dist/vertical-list-CFuFDygi.d.ts.map +0 -1
package/dist/crumbs.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as TreeExclusivity, o as TreeNode, r as TreeFilterPredicate, s as TreeSelectionFilter, t as LoadChildrenCallback } from "./types-Bc23SI94.js";
|
|
2
|
-
import {
|
|
2
|
+
import { _ as TreeTickleEvent, a as TreeComponent, c as TreeExpandEvent, h as TreeSelectEvent, n as TreeActivateEvent, o as TreeComponentEventMap, u as TreeItemClickEvent, v as TreeDataModel } from "./tree-component-nPP5Y-WS.js";
|
|
3
3
|
import "./menu-item-CZi9vy5O.js";
|
|
4
4
|
import "./narrowed-text.js";
|
|
5
5
|
import { LitElement, PropertyValues } from "lit";
|
package/dist/crumbs.js
CHANGED
|
@@ -2,8 +2,8 @@ import { t as TickledController } from "./tickled-controller-Dh1Uh_vG.js";
|
|
|
2
2
|
import { n as tickledStyles, t as tickledItemStyles } from "./tickled-styles-BrAHEj1q.js";
|
|
3
3
|
import { t as themeFallbacks } from "./fallbacks-BcKGq-2F.js";
|
|
4
4
|
import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
|
|
5
|
-
import "./interaction-
|
|
6
|
-
import "./menu-item-
|
|
5
|
+
import "./interaction-BskmlA9t.js";
|
|
6
|
+
import "./menu-item-BYGQzyCe.js";
|
|
7
7
|
import { t as collectDataResult } from "./data-provider-35TyWclX.js";
|
|
8
8
|
import { t as scrollFadeStyles } from "./scroll-fade-CAs1EabA.js";
|
|
9
9
|
import "./narrowed-text.js";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { i as ListDragPreviewRenderer, s as ListNativeDragStartEvent } from "./list-drag-types-kpaXz2pZ.js";
|
|
2
|
+
import { S as ListSearchController } from "./index-Dgrx-DIA.js";
|
|
2
3
|
import "./index-9AhaHIT2.js";
|
|
3
4
|
import { LitElement } from "lit";
|
|
4
5
|
import { CommandId, CommandRegistry } from "@clinth/ui-commands";
|
|
@@ -110,6 +111,7 @@ interface DataGridElementEventMap {
|
|
|
110
111
|
'datagrid-cell-click': DataGridCellClickEvent;
|
|
111
112
|
'datagrid-cell-edit': DataGridCellEditEvent;
|
|
112
113
|
'datagrid-group-change': DataGridGroupChangeEvent;
|
|
114
|
+
'list-native-drag-start': ListNativeDragStartEvent<unknown>;
|
|
113
115
|
}
|
|
114
116
|
declare class DataGridElement extends LitElement {
|
|
115
117
|
#private;
|
|
@@ -151,6 +153,17 @@ declare class DataGridElement extends LitElement {
|
|
|
151
153
|
* disabled. See `docs/infra-incremental.md`.
|
|
152
154
|
*/
|
|
153
155
|
searchModes: string | undefined;
|
|
156
|
+
/**
|
|
157
|
+
* Enable native browser drag-and-drop for selectable rows. When true,
|
|
158
|
+
* selectable rows become draggable and the grid emits
|
|
159
|
+
* `list-native-drag-start` when a drag begins.
|
|
160
|
+
*/
|
|
161
|
+
itemsDraggable: boolean;
|
|
162
|
+
/**
|
|
163
|
+
* Custom drag preview renderer (synchronous). Defaults to the shared
|
|
164
|
+
* built-in HTML+canvas preview.
|
|
165
|
+
*/
|
|
166
|
+
dragPreviewRenderer: ListDragPreviewRenderer<unknown> | undefined;
|
|
154
167
|
private _columnFormatters;
|
|
155
168
|
private _selectedKeys;
|
|
156
169
|
private _scrollTop;
|
|
@@ -269,4 +282,4 @@ interface DataGridElement {
|
|
|
269
282
|
}
|
|
270
283
|
//#endregion
|
|
271
284
|
export { DataGridSortDetail as _, DataGridColumnReorderDetail as a, DataGridColumnResizeEvent as c, DataGridElement as d, DataGridElementEventMap as f, DataGridSelectEvent as g, DataGridSelectDetail as h, DataGridCellEditEvent as i, DataGridColumnVisibilityDetail as l, DataGridGroupChangeEvent as m, DataGridCellClickEvent as n, DataGridColumnReorderEvent as o, DataGridGroupChangeDetail as p, DataGridCellEditDetail as r, DataGridColumnResizeDetail as s, DataGridCellClickDetail as t, DataGridColumnVisibilityEvent as u, DataGridSortEvent as v };
|
|
272
|
-
//# sourceMappingURL=data-grid-
|
|
285
|
+
//# sourceMappingURL=data-grid-BKa9i86q.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-grid-BKa9i86q.d.ts","names":[],"sources":["../src/data-grid/types.ts","../src/data-grid/data-grid.ts"],"mappings":"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"}
|
package/dist/data-grid.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { a as ListDragSource, i as ListDragPreviewRenderer, n as ListDragPreview, o as ListNativeDragStartDetail, r as ListDragPreviewContext, s as ListNativeDragStartEvent, t as ListDragEntry } from "./list-drag-types-kpaXz2pZ.js";
|
|
2
|
+
import { _ as DataGridSortDetail, a as DataGridColumnReorderDetail, c as DataGridColumnResizeEvent, d as DataGridElement, f as DataGridElementEventMap, g as DataGridSelectEvent, h as DataGridSelectDetail, i as DataGridCellEditEvent, l as DataGridColumnVisibilityDetail, m as DataGridGroupChangeEvent, n as DataGridCellClickEvent, o as DataGridColumnReorderEvent, p as DataGridGroupChangeDetail, r as DataGridCellEditDetail, s as DataGridColumnResizeDetail, t as DataGridCellClickDetail, u as DataGridColumnVisibilityEvent, v as DataGridSortEvent } from "./data-grid-BKa9i86q.js";
|
|
3
|
+
export { DataGridCellClickDetail, DataGridCellClickEvent, DataGridCellEditDetail, DataGridCellEditEvent, DataGridColumnReorderDetail, DataGridColumnReorderEvent, DataGridColumnResizeDetail, DataGridColumnResizeEvent, DataGridColumnVisibilityDetail, DataGridColumnVisibilityEvent, DataGridElement, DataGridElementEventMap, DataGridGroupChangeDetail, DataGridGroupChangeEvent, DataGridSelectDetail, DataGridSelectEvent, DataGridSortDetail, DataGridSortEvent, type ListDragEntry, type ListDragPreview, type ListDragPreviewContext, type ListDragPreviewRenderer, type ListDragSource, type ListNativeDragStartDetail, type ListNativeDragStartEvent };
|
package/dist/data-grid.js
CHANGED
|
@@ -4,10 +4,11 @@ import { t as themeFallbacks } from "./fallbacks-BcKGq-2F.js";
|
|
|
4
4
|
import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
|
|
5
5
|
import { i as ListSearchController, n as listSearchStyles, o as registerListSearchCommands, r as LIST_SEARCH_MODES } from "./incr-search-C05WjbZh.js";
|
|
6
6
|
import { t as handleStyles } from "./handle-BPOxBOKf.js";
|
|
7
|
-
import {
|
|
8
|
-
import "./
|
|
7
|
+
import { t as ListNativeDragController } from "./list-native-drag-controller-DrY3qeJM.js";
|
|
8
|
+
import { i as listItemFadeKeyframes } from "./list-item-animation-BUoEKi5s.js";
|
|
9
|
+
import "./interaction-BskmlA9t.js";
|
|
9
10
|
import { t as createDragGhost } from "./drag-ghost-DtSDvjri.js";
|
|
10
|
-
import "./menu-
|
|
11
|
+
import "./menu-CMXhIaNZ.js";
|
|
11
12
|
import { LitElement, css, html, nothing } from "lit";
|
|
12
13
|
import { property, query, state } from "lit/decorators.js";
|
|
13
14
|
import { createCommandRegistry } from "@clinth/ui-commands";
|
|
@@ -29,6 +30,7 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
29
30
|
this.allowGrouping = false;
|
|
30
31
|
this.crossGroupSelection = false;
|
|
31
32
|
this.columnMenu = `auto`;
|
|
33
|
+
this.itemsDraggable = false;
|
|
32
34
|
this._columnFormatters = /* @__PURE__ */ new Map();
|
|
33
35
|
this._selectedKeys = /* @__PURE__ */ new Set();
|
|
34
36
|
this._scrollTop = 0;
|
|
@@ -46,7 +48,45 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
46
48
|
id: k,
|
|
47
49
|
enabled: true
|
|
48
50
|
})),
|
|
49
|
-
onStateChange: () => this.requestUpdate()
|
|
51
|
+
onStateChange: () => this.requestUpdate(),
|
|
52
|
+
hoverDisabled: () => this.#nativeDrag.isDragging
|
|
53
|
+
});
|
|
54
|
+
this.#nativeDragging = false;
|
|
55
|
+
this.#postDragSuppressTimer = 0;
|
|
56
|
+
this.#nativeDrag = new ListNativeDragController(this, {
|
|
57
|
+
source: `data-grid`,
|
|
58
|
+
isEnabled: () => this.itemsDraggable && this.selectionMode !== `none` && this._flat.some((f) => f.type === `row`),
|
|
59
|
+
resolveEventToKey: (target) => {
|
|
60
|
+
if (!(target instanceof Element)) return void 0;
|
|
61
|
+
if (target.closest?.(`.header-cell`)) return void 0;
|
|
62
|
+
return (target.closest?.(`.row`))?.dataset.key;
|
|
63
|
+
},
|
|
64
|
+
prepareSelection: (originKey) => this.#prepareNativeDrag(originKey),
|
|
65
|
+
getMetrics: () => ({ rowHeight: this.rowHeight }),
|
|
66
|
+
getRenderer: () => this.dragPreviewRenderer,
|
|
67
|
+
dispatch: (detail) => this.dispatchEvent(new CustomEvent(`list-native-drag-start`, {
|
|
68
|
+
detail,
|
|
69
|
+
bubbles: true,
|
|
70
|
+
composed: true,
|
|
71
|
+
cancelable: true
|
|
72
|
+
})),
|
|
73
|
+
onActiveChange: (active, originKey) => {
|
|
74
|
+
this.#nativeDragging = active;
|
|
75
|
+
this.#dragOriginKey = active ? originKey : void 0;
|
|
76
|
+
this.toggleAttribute(`data-native-dragging`, active);
|
|
77
|
+
if (active) {
|
|
78
|
+
const count = this._selectedKeys.size;
|
|
79
|
+
this.setAttribute(`aria-label`, count <= 1 ? `Dragging 1 item` : `Dragging ${count} items`);
|
|
80
|
+
} else this.removeAttribute(`aria-label`);
|
|
81
|
+
this.requestUpdate();
|
|
82
|
+
},
|
|
83
|
+
onEnd: () => {
|
|
84
|
+
this.#nativeDragging = false;
|
|
85
|
+
this.#dragOriginKey = void 0;
|
|
86
|
+
this.toggleAttribute(`data-native-dragging`, false);
|
|
87
|
+
this.removeAttribute(`aria-label`);
|
|
88
|
+
this.#startPostDragSuppressTimer();
|
|
89
|
+
}
|
|
50
90
|
});
|
|
51
91
|
this._sortedRows = [];
|
|
52
92
|
this._flat = [];
|
|
@@ -318,6 +358,7 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
318
358
|
.row.item.tickled { background: var(--item-bg-tickled); border: var(--item-border-tickled); color: var(--item-text-tickled); }
|
|
319
359
|
.row.item.selected { background: var(--item-bg-selected); border: var(--item-border-selected); color: var(--item-text-selected); }
|
|
320
360
|
.row.item.selected.tickled { background: var(--item-bg-selected-tickled); }
|
|
361
|
+
.row.item.dragging-origin { opacity: 0.6; }
|
|
321
362
|
|
|
322
363
|
/* Insertion / removal animation. Only while [reflowing] — the ~0.3s after
|
|
323
364
|
the row set changes — do rows slide (their top transitions) to make or
|
|
@@ -363,6 +404,43 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
363
404
|
`
|
|
364
405
|
];
|
|
365
406
|
}
|
|
407
|
+
#nativeDragging;
|
|
408
|
+
#dragOriginKey;
|
|
409
|
+
#postDragSuppressTimer;
|
|
410
|
+
#nativeDrag;
|
|
411
|
+
#prepareNativeDrag(originKey) {
|
|
412
|
+
const rows = this._flat.filter((f) => f.type === `row`);
|
|
413
|
+
if (!rows.some((f) => f.key === originKey)) return void 0;
|
|
414
|
+
if (!this._selectedKeys.has(originKey)) this._replaceSelection(originKey);
|
|
415
|
+
const selected = [];
|
|
416
|
+
let displayIndex = 0;
|
|
417
|
+
for (const entry of rows) {
|
|
418
|
+
if (!this._selectedKeys.has(entry.key)) {
|
|
419
|
+
displayIndex++;
|
|
420
|
+
continue;
|
|
421
|
+
}
|
|
422
|
+
const rowEl = this.renderRoot.querySelector(`.row[data-key="${CSS.escape(entry.key)}"]`) ?? void 0;
|
|
423
|
+
selected.push({
|
|
424
|
+
key: entry.key,
|
|
425
|
+
index: displayIndex,
|
|
426
|
+
item: entry.row,
|
|
427
|
+
...rowEl ? { element: rowEl } : {}
|
|
428
|
+
});
|
|
429
|
+
displayIndex++;
|
|
430
|
+
}
|
|
431
|
+
const origin = selected.find((entry) => entry.key === originKey);
|
|
432
|
+
if (!origin) return void 0;
|
|
433
|
+
return {
|
|
434
|
+
origin,
|
|
435
|
+
selected
|
|
436
|
+
};
|
|
437
|
+
}
|
|
438
|
+
#startPostDragSuppressTimer() {
|
|
439
|
+
if (this.#postDragSuppressTimer) clearTimeout(this.#postDragSuppressTimer);
|
|
440
|
+
this.#postDragSuppressTimer = window.setTimeout(() => {
|
|
441
|
+
this.#postDragSuppressTimer = 0;
|
|
442
|
+
}, 0);
|
|
443
|
+
}
|
|
366
444
|
#searchRegistry;
|
|
367
445
|
#unregisterSearchCommands;
|
|
368
446
|
#searchKeyByRow;
|
|
@@ -439,6 +517,10 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
439
517
|
clearTimeout(this.#rowReflowTimer);
|
|
440
518
|
this.#rowReflowTimer = 0;
|
|
441
519
|
}
|
|
520
|
+
if (this.#postDragSuppressTimer) {
|
|
521
|
+
clearTimeout(this.#postDragSuppressTimer);
|
|
522
|
+
this.#postDragSuppressTimer = 0;
|
|
523
|
+
}
|
|
442
524
|
}
|
|
443
525
|
/**
|
|
444
526
|
* Dispatch a command to this grid — routes through the command registry so
|
|
@@ -621,6 +703,7 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
621
703
|
}));
|
|
622
704
|
}
|
|
623
705
|
_onRowClick(rowKey, col, e) {
|
|
706
|
+
if (this.#nativeDrag.isDragging || this.#postDragSuppressTimer !== 0) return;
|
|
624
707
|
if (col && col.selectable === false) return;
|
|
625
708
|
if (this.selectionMode === `none` && this.interactionMode !== `checked` && this.interactionMode !== `sticky`) return;
|
|
626
709
|
if (this.interactionMode === `manual`) return;
|
|
@@ -1280,8 +1363,9 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
1280
1363
|
const selected = this._selectedKeys.has(rowKey);
|
|
1281
1364
|
const tickled = this._tickled.isTickled(rowKey);
|
|
1282
1365
|
return html`
|
|
1283
|
-
<div class="row item ${selected ? `selected` : ``} ${tickled ? `tickled` : ``} ${this.#enteringRowKeys.has(rowKey) ? `entering` : ``}" style="top:${absIdx * rh}px; height:${rh}px"
|
|
1366
|
+
<div class="row item ${selected ? `selected` : ``} ${tickled ? `tickled` : ``} ${this.#enteringRowKeys.has(rowKey) ? `entering` : ``} ${this.#nativeDragging && rowKey === this.#dragOriginKey ? `dragging-origin` : ``}" style="top:${absIdx * rh}px; height:${rh}px"
|
|
1284
1367
|
data-key=${rowKey}
|
|
1368
|
+
draggable=${this.#nativeDrag.draggableAttr}
|
|
1285
1369
|
@click=${(e) => {
|
|
1286
1370
|
this._onRowClick(rowKey, null, e);
|
|
1287
1371
|
this.dispatchEvent(new CustomEvent(`datagrid-cell-click`, {
|
|
@@ -1464,6 +1548,12 @@ __decorate([property({
|
|
|
1464
1548
|
attribute: `search-modes`,
|
|
1465
1549
|
reflect: true
|
|
1466
1550
|
})], DataGridElement.prototype, "searchModes", void 0);
|
|
1551
|
+
__decorate([property({
|
|
1552
|
+
type: Boolean,
|
|
1553
|
+
attribute: `items-draggable`,
|
|
1554
|
+
reflect: true
|
|
1555
|
+
})], DataGridElement.prototype, "itemsDraggable", void 0);
|
|
1556
|
+
__decorate([property({ attribute: false })], DataGridElement.prototype, "dragPreviewRenderer", void 0);
|
|
1467
1557
|
__decorate([state()], DataGridElement.prototype, "_selectedKeys", void 0);
|
|
1468
1558
|
__decorate([state()], DataGridElement.prototype, "_scrollTop", void 0);
|
|
1469
1559
|
__decorate([state()], DataGridElement.prototype, "_scrollLeft", void 0);
|