@ixfx/components 0.16.0 → 0.16.2
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 +290 -66
- package/bundle/index.js +412 -327
- package/dist/ac-text.d.ts +1 -1
- package/dist/{ac-token-qEs3FsQv.d.ts → ac-token-Cq7lsYf-.d.ts} +1 -1
- package/dist/ac-token.d.ts +1 -1
- package/dist/ac-token.js +1 -1
- package/dist/{button-N92DKoWb.d.ts → button-D1sPDUCM.d.ts} +1 -1
- package/dist/button.d.ts +1 -1
- package/dist/colour-picker.d.ts +1 -1
- package/dist/{crumb-navigation-YnFVFqrx.js → crumb-navigation-D3ndPgFg.js} +2 -2
- package/dist/{crumb-navigation-BbqfmkYs.d.ts → crumb-navigation-nnr881n-.d.ts} +1 -1
- package/dist/crumbs.d.ts +1 -1
- package/dist/crumbs.js +1 -1
- package/dist/{data-grid-CIG2DVip.d.ts → data-grid-BAEpfTkb.d.ts} +32 -5
- package/dist/{data-grid-rMkLX2qo.js → data-grid-CaPLWt5E.js} +159 -60
- package/dist/data-grid.d.ts +2 -2
- package/dist/data-grid.js +1 -1
- package/dist/{detail-list-C4pDSoI8.js → detail-list-C3XKTRmE.js} +86 -21
- package/dist/{detail-list-6iMTNP4N.d.ts → detail-list-DK49TsJd.d.ts} +26 -4
- package/dist/detail-list.d.ts +2 -2
- package/dist/detail-list.js +1 -1
- package/dist/{flat-list-JPgQSmLW.d.ts → flat-list-Bv4-qfjp.d.ts} +9 -4
- package/dist/flat-list.d.ts +1 -1
- package/dist/flat-list.js +6 -3
- package/dist/{grid-list-CdEkScn-.js → grid-list-51XsR2X2.js} +56 -18
- package/dist/{grid-list-D6n7WH8l.d.ts → grid-list-DaeSHv9P.d.ts} +58 -14
- package/dist/grid-list.d.ts +2 -2
- package/dist/grid-list.js +1 -1
- package/dist/{grouped-item-lister-DETte0Dh.d.ts → grouped-item-lister-DZIjo9nO.d.ts} +2 -2
- package/dist/grouped-item-lister.d.ts +1 -1
- package/dist/{icon-CDGprSdE.d.ts → icon-DR_3rSyZ.d.ts} +1 -1
- package/dist/icons.d.ts +2 -2
- package/dist/{incr-search-JIhwB49y.js → incr-search-2YaxUUA9.js} +150 -11
- package/dist/incr-search.d.ts +1 -1
- package/dist/incr-search.js +1 -1
- package/dist/{index-CoqtMSd9.d.ts → index-BUB5SICW.d.ts} +1 -1
- package/dist/{index-Dr80Zdl6.d.ts → index-BjRoPrwj.d.ts} +31 -4
- package/dist/{index-DN2BWctP.d.ts → index-Bz3loIAf.d.ts} +1 -1
- package/dist/{index-UvnoZUAo.d.ts → index-CJ5fshD3.d.ts} +1 -1
- package/dist/{index-DxyyVqzA.d.ts → index-DM9OLgTH.d.ts} +3 -2
- package/dist/{index-CYRc6Dah.d.ts → index-DXDz60XH.d.ts} +20 -1
- package/dist/{index-CYndvTWH.d.ts → index-garxxqgV.d.ts} +1 -1
- package/dist/{index-Bx0BXPxI.d.ts → index-vdbbGE7N.d.ts} +1 -1
- package/dist/index.d.ts +57 -28
- package/dist/index.js +58 -35
- package/dist/item-appearance-Bl6rMIID.js +60 -0
- package/dist/{labelled-input-base-DiTme1JO.d.ts → labelled-input-base-Dp_9KP0G.d.ts} +1 -1
- package/dist/labelled-radial-input.d.ts +2 -2
- package/dist/labelled-range-input.d.ts +1 -1
- package/dist/labelled-slider-input.d.ts +1 -1
- package/dist/list-group-header.d.ts +1 -1
- package/dist/{list-selection-controller-5L0Nj9tR.js → list-selection-controller-CJDdjH7E.js} +192 -54
- package/dist/list-selection-types-hj9Njei3.d.ts +83 -0
- package/dist/{menu-CU9KAm8s.js → menu-BX1FHxY8.js} +16 -1
- package/dist/{menu-item-bF6narIz.d.ts → menu-item-B0zqw2xp.d.ts} +1 -1
- package/dist/{menu-item-BUv8An2k.js → menu-item-oxU1VKiJ.js} +34 -9
- package/dist/menu.d.ts +2 -2
- package/dist/menu.js +2 -2
- package/dist/{miller-BFRfn0ve.js → miller-BfrTcujx.js} +142 -18
- package/dist/miller.d.ts +1 -1
- package/dist/miller.js +1 -1
- package/dist/narrowed-text.js +1 -1
- package/dist/panel.d.ts +1 -1
- package/dist/{split-layout-CophkNeU.d.ts → split-layout-ChZ0Glrs.d.ts} +1 -1
- package/dist/split-layout.d.ts +1 -1
- package/dist/sunburst-tree.d.ts +1 -1
- package/dist/sunburst-tree.js +1 -1
- package/dist/{sunbursttree-list-B_VxOHlo.js → sunbursttree-list-906G33ME.js} +1 -1
- package/dist/{sunbursttree-list-D6j5BxVQ.d.ts → sunbursttree-list-BAS0KrDG.d.ts} +1 -1
- package/dist/{tab-list-Df371rqw.d.ts → tab-list-wC0xNz1b.d.ts} +1 -1
- package/dist/tabs.d.ts +1 -1
- package/dist/{titlebar-Tqu-VvMU.d.ts → titlebar-B5zSTZnF.d.ts} +1 -1
- package/dist/titlebar.d.ts +1 -1
- package/dist/{tree-Crdpl4nc.js → tree-C_H1COTf.js} +1 -1
- package/dist/tree.d.ts +1 -1
- package/dist/tree.js +1 -1
- package/dist/{vertical-list-BPDmZx6T.d.ts → vertical-list-od4050Bo.d.ts} +11 -2
- package/dist/{vertical-list-1V1Vg2O5.js → vertical-list-qMRIxZIT.js} +54 -20
- package/dist/vertical-list.d.ts +2 -2
- package/dist/vertical-list.js +1 -1
- package/docs-user/data-grid.md +23 -7
- package/docs-user/detail-list.md +16 -1
- package/docs-user/dock.md +12 -3
- package/docs-user/grid-list.md +9 -3
- package/docs-user/index.json +2 -2
- package/docs-user/menu.md +11 -1
- package/docs-user/vertical-list.md +9 -1
- package/package.json +2 -2
- package/dist/item-appearance-BjcMyauw.js +0 -29
- package/dist/list-selection-types-PjKdhF-a.d.ts +0 -45
package/dist/ac-text.d.ts
CHANGED
package/dist/ac-token.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as AcTokenItem, c as AcTokenStyle, d as AcTokensChangeDetail, f as AcTokensChangeEvent, i as AcTokenElementEventMap, l as AcTokenStyleFn, n as AcTokenAddDetail, o as AcTokenRemoveDetail, r as AcTokenAddEvent, s as AcTokenRemoveEvent, t as AcTokenElement, u as AcTokenizerFn } from "./ac-token-
|
|
1
|
+
import { a as AcTokenItem, c as AcTokenStyle, d as AcTokensChangeDetail, f as AcTokensChangeEvent, i as AcTokenElementEventMap, l as AcTokenStyleFn, n as AcTokenAddDetail, o as AcTokenRemoveDetail, r as AcTokenAddEvent, s as AcTokenRemoveEvent, t as AcTokenElement, u as AcTokenizerFn } from "./ac-token-Cq7lsYf-.js";
|
|
2
2
|
export { type AcTokenAddDetail, type AcTokenAddEvent, AcTokenElement, type AcTokenElementEventMap, type AcTokenItem, type AcTokenRemoveDetail, type AcTokenRemoveEvent, type AcTokenStyle, type AcTokenStyleFn, type AcTokenizerFn, type AcTokensChangeDetail, type AcTokensChangeEvent };
|
package/dist/ac-token.js
CHANGED
|
@@ -4,7 +4,7 @@ import { t as themeFallbacks } from "./fallbacks-DQ_5OsmR.js";
|
|
|
4
4
|
import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
|
|
5
5
|
import "./icon-1gpwtPx8.js";
|
|
6
6
|
import { t as DataController } from "./data-controller-DOlmqNKb.js";
|
|
7
|
-
import {
|
|
7
|
+
import { h as createAcCompletionProvider } from "./incr-search-2YaxUUA9.js";
|
|
8
8
|
import { LitElement, css, html, nothing } from "lit";
|
|
9
9
|
import { property, state } from "lit/decorators.js";
|
|
10
10
|
import { styleMap } from "lit/directives/style-map.js";
|
|
@@ -50,7 +50,7 @@ declare class ButtonElement extends LitElement {
|
|
|
50
50
|
type: `button` | `submit` | `reset`;
|
|
51
51
|
static formAssociated: boolean;
|
|
52
52
|
formDisabledCallback(disabled: boolean): void;
|
|
53
|
-
protected _renderIcon():
|
|
53
|
+
protected _renderIcon(): import("lit").TemplateResult<1> | typeof nothing;
|
|
54
54
|
protected render(): import("lit").TemplateResult<1>;
|
|
55
55
|
static styles: import("lit").CSSResult[];
|
|
56
56
|
}
|
package/dist/button.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as ButtonElementEventMap, t as ButtonElement } from "./button-
|
|
1
|
+
import { n as ButtonElementEventMap, t as ButtonElement } from "./button-D1sPDUCM.js";
|
|
2
2
|
export { ButtonElement, ButtonElementEventMap };
|
package/dist/colour-picker.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as ColourPickerInputEvent, i as ColourPickerEventDetail, n as ColourPicker, o as OklchValue, r as ColourPickerChangeEvent, t as ColourPickerPopup } from "./index-
|
|
1
|
+
import { a as ColourPickerInputEvent, i as ColourPickerEventDetail, n as ColourPicker, o as OklchValue, r as ColourPickerChangeEvent, t as ColourPickerPopup } from "./index-Bz3loIAf.js";
|
|
2
2
|
export { ColourPicker, type ColourPickerChangeEvent, type ColourPickerEventDetail, type ColourPickerInputEvent, ColourPickerPopup, type OklchValue };
|
|
@@ -3,10 +3,10 @@ import { n as tickledStyles, t as tickledItemStyles } from "./tickled-styles-BrA
|
|
|
3
3
|
import { t as themeFallbacks } from "./fallbacks-DQ_5OsmR.js";
|
|
4
4
|
import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
|
|
5
5
|
import "./interaction-E-uMGHkJ.js";
|
|
6
|
-
import "./
|
|
6
|
+
import { t as scrollFadeStyles } from "./scroll-fade-Xx28D7mH.js";
|
|
7
|
+
import "./menu-item-oxU1VKiJ.js";
|
|
7
8
|
import { t as collectDataResult } from "./data-provider-35TyWclX.js";
|
|
8
9
|
import { t as ViewStateController } from "./view-state-controller-BdyXWUUM.js";
|
|
9
|
-
import { t as scrollFadeStyles } from "./scroll-fade-Xx28D7mH.js";
|
|
10
10
|
import "./narrowed-text.js";
|
|
11
11
|
import { LitElement, css, html, nothing } from "lit";
|
|
12
12
|
import { property, state } from "lit/decorators.js";
|
|
@@ -2,7 +2,7 @@ import { M as TreeDataModel, a as TreeComponent, j as TreeTickleEvent, k as Tree
|
|
|
2
2
|
import { n as TreeExclusivity, o as TreeNode, r as TreeFilterPredicate, s as TreeSelectionFilter, t as LoadChildrenCallback } from "./types-Jky6oNAp.js";
|
|
3
3
|
import { a as ViewStateBase, t as GetViewStateOptions } from "./types-LU1u0CB8.js";
|
|
4
4
|
import "./index-9ttcdwlL.js";
|
|
5
|
-
import "./menu-item-
|
|
5
|
+
import "./menu-item-B0zqw2xp.js";
|
|
6
6
|
import "./index-o-CWDt11.js";
|
|
7
7
|
import { LitElement, PropertyValues } from "lit";
|
|
8
8
|
//#region src/crumbs/crumb-view-state.d.ts
|
package/dist/crumbs.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as CrumbNavigationExpandDetail, c as CrumbNavigationItemClickEvent, i as CrumbNavigationElementEventMap, l as CrumbNavigationViewState, n as CrumbNavigationChangeEvent, o as CrumbNavigationExpandEvent, r as CrumbNavigationElement, s as CrumbNavigationItemClickDetail, t as CrumbNavigationChangeDetail } from "./crumb-navigation-
|
|
1
|
+
import { a as CrumbNavigationExpandDetail, c as CrumbNavigationItemClickEvent, i as CrumbNavigationElementEventMap, l as CrumbNavigationViewState, n as CrumbNavigationChangeEvent, o as CrumbNavigationExpandEvent, r as CrumbNavigationElement, s as CrumbNavigationItemClickDetail, t as CrumbNavigationChangeDetail } from "./crumb-navigation-nnr881n-.js";
|
|
2
2
|
export { CrumbNavigationChangeDetail, CrumbNavigationChangeEvent, CrumbNavigationElement, CrumbNavigationElementEventMap, CrumbNavigationExpandDetail, CrumbNavigationExpandEvent, CrumbNavigationItemClickDetail, CrumbNavigationItemClickEvent, type CrumbNavigationViewState };
|
package/dist/crumbs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as CrumbNavigationElement } from "./crumb-navigation-
|
|
1
|
+
import { t as CrumbNavigationElement } from "./crumb-navigation-D3ndPgFg.js";
|
|
2
2
|
export { CrumbNavigationElement };
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import "./icon-
|
|
1
|
+
import "./icon-DR_3rSyZ.js";
|
|
2
2
|
import { L as ListDragPreviewRenderer, R as ListDragPreviewSourceResolver, V as ListNativeDragStartEvent } from "./tree-component-DgfkxmVY.js";
|
|
3
3
|
import { a as ViewStateBase, t as GetViewStateOptions } from "./types-LU1u0CB8.js";
|
|
4
4
|
import "./index-9ttcdwlL.js";
|
|
5
5
|
import { n as ListViewportChangeEvent, t as ListViewportChangeDetail } from "./list-viewport-types-BRZsLcvp.js";
|
|
6
|
-
import {
|
|
7
|
-
import "./index-
|
|
6
|
+
import { l as ListSelectIntentDetail, p as ListSelectKeysDetail } from "./list-selection-types-hj9Njei3.js";
|
|
7
|
+
import { S as ListSearchController } from "./index-BjRoPrwj.js";
|
|
8
|
+
import "./index-DM9OLgTH.js";
|
|
8
9
|
import "./pan-text-CoYmt2qd.js";
|
|
9
10
|
import { LitElement } from "lit";
|
|
10
11
|
import { CommandId, CommandRegistry } from "@clinth/ui-commands";
|
|
@@ -137,6 +138,12 @@ type DataGridSelectDetail = {
|
|
|
137
138
|
readonly previous: ReadonlySet<string>;
|
|
138
139
|
};
|
|
139
140
|
type DataGridSelectEvent = CustomEvent<DataGridSelectDetail>;
|
|
141
|
+
/** `list-select`: the same event name and key-based detail as the other list-like components. */
|
|
142
|
+
type DataGridListSelectDetail = ListSelectKeysDetail & {
|
|
143
|
+
readonly previous: ReadonlySet<string>;
|
|
144
|
+
};
|
|
145
|
+
type DataGridListSelectEvent = CustomEvent<DataGridListSelectDetail>;
|
|
146
|
+
type DataGridSelectIntentEvent = CustomEvent<ListSelectIntentDetail>;
|
|
140
147
|
type DataGridColumnReorderDetail = {
|
|
141
148
|
readonly from: number;
|
|
142
149
|
readonly to: number;
|
|
@@ -183,6 +190,8 @@ type DataGridViewportChangeEvent = ListViewportChangeEvent;
|
|
|
183
190
|
interface DataGridElementEventMap {
|
|
184
191
|
'datagrid-sort': DataGridSortEvent;
|
|
185
192
|
'datagrid-select': DataGridSelectEvent;
|
|
193
|
+
'list-select': DataGridListSelectEvent;
|
|
194
|
+
'list-select-intent': DataGridSelectIntentEvent;
|
|
186
195
|
'datagrid-column-reorder': DataGridColumnReorderEvent;
|
|
187
196
|
'datagrid-column-resize': DataGridColumnResizeEvent;
|
|
188
197
|
'datagrid-column-visibility': DataGridColumnVisibilityEvent;
|
|
@@ -241,8 +250,17 @@ declare class DataGridElement extends LitElement {
|
|
|
241
250
|
* view and navigation.
|
|
242
251
|
*/
|
|
243
252
|
filterPredicate?: (row: unknown) => boolean;
|
|
244
|
-
/**
|
|
253
|
+
/**
|
|
254
|
+
* Text a row is matched against by incremental search. Overrides
|
|
255
|
+
* `searchColumn`; matches against it aren't highlighted, since they can't be
|
|
256
|
+
* mapped onto a cell.
|
|
257
|
+
*/
|
|
245
258
|
rowSearchText?: (row: unknown) => string;
|
|
259
|
+
/**
|
|
260
|
+
* Key of the column incremental search matches against, using the cell's
|
|
261
|
+
* displayed (formatted) text. Default: the first visible column.
|
|
262
|
+
*/
|
|
263
|
+
searchColumn: string;
|
|
246
264
|
/**
|
|
247
265
|
* Space-separated subset of `navigate select filter` — limits which
|
|
248
266
|
* incremental-search modes are offered. Unset ⇒ all three; empty ⇒ search
|
|
@@ -334,6 +352,15 @@ declare class DataGridElement extends LitElement {
|
|
|
334
352
|
private _getRowForKey;
|
|
335
353
|
/** The selected row keys (read-only). */
|
|
336
354
|
get selectedKeys(): ReadonlySet<string>;
|
|
355
|
+
private _partialKeys;
|
|
356
|
+
/**
|
|
357
|
+
* Rows shown as *partially* selected (a part of the resource is selected):
|
|
358
|
+
* `[data-partial]`, `.partial` and an accessible description. Independent of
|
|
359
|
+
* `selectedKeys` — a key in both counts as selected. Replace-on-set; keys
|
|
360
|
+
* without a row are kept for when the row appears.
|
|
361
|
+
*/
|
|
362
|
+
get partialKeys(): ReadonlySet<string>;
|
|
363
|
+
set partialKeys(keys: Iterable<string>);
|
|
337
364
|
/** Replace the selection with these row keys (clamped to known rows). */
|
|
338
365
|
set selectedKeys(keys: Iterable<string>);
|
|
339
366
|
/**
|
|
@@ -440,4 +467,4 @@ interface DataGridElement {
|
|
|
440
467
|
removeEventListener: (<K extends keyof DataGridElementEventMap>(type: K, listener: (this: DataGridElement, event: DataGridElementEventMap[K]) => void, options?: boolean | EventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions) => void);
|
|
441
468
|
}
|
|
442
469
|
//#endregion
|
|
443
|
-
export {
|
|
470
|
+
export { DataGridColumn as A, DataGridInteractionMode as B, DataGridSortEvent as C, DataGridViewState as D, DataGridColumnViewState as E, DataGridEditorFactory as F, GlobalFormatter as G, DataGridSelectionMode as H, DataGridEditorType as I, DataGridGetRowKey as L, DataGridDataType as M, DataGridEditability as N, BuiltInFormatterName as O, DataGridEditorContext as P, DataGridGroupBy as R, DataGridSortDetail as S, DataGridViewportChangeEvent as T, DataGridSortDirection as U, DataGridRowLook as V, DataGridSortState as W, DataGridRowActivateDetail as _, DataGridColumnReorderDetail as a, DataGridSelectEvent as b, DataGridColumnResizeEvent as c, DataGridElement as d, DataGridElementEventMap as f, DataGridListSelectEvent as g, DataGridListSelectDetail as h, DataGridCellEditEvent as i, DataGridColumnMenu as j, BuiltInFormatterOptions as k, 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, DataGridRowActivateEvent as v, DataGridViewportChangeDetail as w, DataGridSelectIntentEvent as x, DataGridSelectDetail as y, DataGridGroupLabel as z };
|
|
@@ -3,16 +3,16 @@ import { n as tickledStyles, t as tickledItemStyles } from "./tickled-styles-BrA
|
|
|
3
3
|
import { t as themeFallbacks } from "./fallbacks-DQ_5OsmR.js";
|
|
4
4
|
import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
|
|
5
5
|
import "./icon-1gpwtPx8.js";
|
|
6
|
-
import { i as ListSearchController, n as listSearchStyles, o as registerListSearchCommands, r as LIST_SEARCH_MODES } from "./incr-search-
|
|
6
|
+
import { i as ListSearchController, n as listSearchStyles, o as registerListSearchCommands, r as LIST_SEARCH_MODES } from "./incr-search-2YaxUUA9.js";
|
|
7
7
|
import { t as handleStyles } from "./handle-DAXs7kbJ.js";
|
|
8
8
|
import { a as listItemFadeKeyframes, t as ListNativeDragController } from "./list-native-drag-controller-CcXoS0YX.js";
|
|
9
9
|
import { a as capKeys, l as keysToArray, n as EMPTY_KEYS, o as flagsFromRecord, r as MAX_PENDING_KEYS } from "./pending-BGidHppL.js";
|
|
10
|
+
import { a as isPartialKey, n as appearanceColor, o as sameKeySet, r as PARTIAL_DESCRIPTION, t as appearanceAbsent } from "./item-appearance-Bl6rMIID.js";
|
|
10
11
|
import "./interaction-E-uMGHkJ.js";
|
|
11
|
-
import { n as anchorFromRow, o as scrollToOffset, t as ViewStateController } from "./view-state-controller-BdyXWUUM.js";
|
|
12
12
|
import { t as scrollFadeStyles } from "./scroll-fade-Xx28D7mH.js";
|
|
13
|
-
import { n as
|
|
13
|
+
import { n as anchorFromRow, o as scrollToOffset, t as ViewStateController } from "./view-state-controller-BdyXWUUM.js";
|
|
14
14
|
import { t as createDragGhost } from "./drag-ghost-DtSDvjri.js";
|
|
15
|
-
import "./menu-
|
|
15
|
+
import "./menu-BX1FHxY8.js";
|
|
16
16
|
import "./pan-text-CqtvjPyK.js";
|
|
17
17
|
import { LitElement, css, html, nothing } from "lit";
|
|
18
18
|
import { property, query, state } from "lit/decorators.js";
|
|
@@ -253,6 +253,8 @@ function attachShiftWheel(getScroller) {
|
|
|
253
253
|
}
|
|
254
254
|
//#endregion
|
|
255
255
|
//#region src/data-grid/data-grid.ts
|
|
256
|
+
/** `CSS.highlights` key for incremental-search matches, styled in `listSearchStyles`. */
|
|
257
|
+
const SEARCH_HIGHLIGHT_KEY = `data-grid-search`;
|
|
256
258
|
const EMPTY_CELL_LOOK = {
|
|
257
259
|
textColor: void 0,
|
|
258
260
|
icon: void 0,
|
|
@@ -298,6 +300,7 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
298
300
|
this.textColorColumn = ``;
|
|
299
301
|
this.iconColumn = ``;
|
|
300
302
|
this.badgeColumn = ``;
|
|
303
|
+
this.searchColumn = ``;
|
|
301
304
|
this.itemsDraggable = false;
|
|
302
305
|
this.columnButtonIcon = `ellipsis`;
|
|
303
306
|
this._columnFormatters = /* @__PURE__ */ new Map();
|
|
@@ -414,6 +417,7 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
414
417
|
this.#emitViewportChangeIfChanged();
|
|
415
418
|
});
|
|
416
419
|
};
|
|
420
|
+
this._partialKeys = /* @__PURE__ */ new Set();
|
|
417
421
|
this._onKeyDown = (e) => {
|
|
418
422
|
const before = this._tickled.tickledId;
|
|
419
423
|
this.#handleKeyDown(e);
|
|
@@ -578,6 +582,7 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
578
582
|
}
|
|
579
583
|
/* Hover: background only, no border change (avoids layout shift + colour flash). */
|
|
580
584
|
.row.item.tickled { background: var(--item-bg-tickled); color: var(--item-text-tickled); }
|
|
585
|
+
.row.item.partial:not(.selected) { background: var(--item-bg-partial, color-mix(in srgb, var(--item-bg-selected) 35%, transparent)); outline: 1px dashed var(--item-border-partial, var(--border)); outline-offset: -1px; }
|
|
581
586
|
.row.item.selected { background: var(--item-bg-selected); border: var(--item-border-selected); color: var(--item-text-selected); }
|
|
582
587
|
.row.item.selected.tickled { background: var(--item-bg-selected-tickled); }
|
|
583
588
|
.row.item.dragging-origin { opacity: 0.6; }
|
|
@@ -702,8 +707,13 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
702
707
|
}
|
|
703
708
|
#rowSearchText(row) {
|
|
704
709
|
if (this.rowSearchText) return this.rowSearchText(row);
|
|
705
|
-
const
|
|
706
|
-
|
|
710
|
+
const col = this.#searchColumn();
|
|
711
|
+
if (col === void 0) return ``;
|
|
712
|
+
const value = this._formatValue(row[col.key], col, row);
|
|
713
|
+
return typeof value === `string` || typeof value === `number` ? String(value) : ``;
|
|
714
|
+
}
|
|
715
|
+
#searchColumn() {
|
|
716
|
+
return (this.searchColumn === `` ? void 0 : this._visibleColumns.find((c) => c.key === this.searchColumn)) ?? this._visibleColumns[0];
|
|
707
717
|
}
|
|
708
718
|
#createSearchAdapter() {
|
|
709
719
|
return {
|
|
@@ -727,7 +737,12 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
727
737
|
const k = this.#searchKeyByRow.get(row);
|
|
728
738
|
return k === void 0 || matched.has(k);
|
|
729
739
|
};
|
|
730
|
-
}
|
|
740
|
+
},
|
|
741
|
+
highlightRoot: () => this.rowSearchText ? void 0 : this.renderRoot,
|
|
742
|
+
highlightSelector: `.row .cell`,
|
|
743
|
+
highlightKeyOf: (el) => el.getAttribute(`data-col`) === this.#searchColumn()?.key ? el.closest(`.row`)?.getAttribute(`data-key`) ?? void 0 : void 0,
|
|
744
|
+
highlightText: (el) => Array.from(el.childNodes, (n) => n.nodeType === Node.TEXT_NODE ? n.textContent : ``).join(``),
|
|
745
|
+
highlightKey: SEARCH_HIGHLIGHT_KEY
|
|
731
746
|
};
|
|
732
747
|
}
|
|
733
748
|
#effectiveSearchModes() {
|
|
@@ -847,6 +862,7 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
847
862
|
updated(changed) {
|
|
848
863
|
super.updated(changed);
|
|
849
864
|
this.#viewState.applyPendingScroll((s) => this.#applyScroll(s));
|
|
865
|
+
if (this.search.isOpen) this.search.repaintHighlights();
|
|
850
866
|
if (changed.has(`rows`) || changed.has(`sortState`) || changed.has(`columns`) || changed.has(`groupBy`) || changed.has(`groupLabel`) || changed.has(`filterPredicate`) || changed.has(`rowHeight`)) this.#scheduleViewportChangeEmit();
|
|
851
867
|
if (changed.has(`_editing`) || changed.has(`_editingRow`)) this.updateComplete.then(() => {
|
|
852
868
|
let sel = null;
|
|
@@ -1116,24 +1132,96 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
1116
1132
|
if (this.#nativeDrag.isDragging || this.#postDragSuppressTimer !== 0) return;
|
|
1117
1133
|
if (col && col.selectable === false) return;
|
|
1118
1134
|
if (this.selectionMode === `none` && this.interactionMode !== `checked` && this.interactionMode !== `sticky`) return;
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1135
|
+
const source = e.pointerType === `touch` ? `touch` : `pointer`;
|
|
1136
|
+
const mode = this.interactionMode;
|
|
1137
|
+
const multi = this.selectionMode === `multiple` || mode === `vscode`;
|
|
1138
|
+
const modified = e.ctrlKey || e.metaKey;
|
|
1139
|
+
switch (mode) {
|
|
1140
|
+
case `implicit`:
|
|
1141
|
+
this.#requestReplace(rowKey, source);
|
|
1142
|
+
break;
|
|
1143
|
+
case `checked`: break;
|
|
1144
|
+
case `sticky`:
|
|
1145
|
+
this.#requestToggle(rowKey, source);
|
|
1146
|
+
break;
|
|
1147
|
+
case `manual`:
|
|
1148
|
+
if (modified) this.#requestToggle(rowKey, source);
|
|
1149
|
+
else if (e.shiftKey) this.#requestExtend(rowKey, source);
|
|
1150
|
+
else this.#requestReplace(rowKey, source);
|
|
1151
|
+
break;
|
|
1152
|
+
default: if (modified) {
|
|
1153
|
+
if (multi) this.#requestToggle(rowKey, source);
|
|
1154
|
+
} else if (e.shiftKey && multi) this.#requestExtend(rowKey, source);
|
|
1155
|
+
else this.#requestReplace(rowKey, source);
|
|
1156
|
+
}
|
|
1157
|
+
}
|
|
1158
|
+
_onCheckboxClick(rowKey, e) {
|
|
1159
|
+
e.stopPropagation();
|
|
1160
|
+
if (this.interactionMode === `checked`) this.#requestToggle(rowKey, `pointer`);
|
|
1161
|
+
else this._onRowClick(rowKey, null, e);
|
|
1162
|
+
}
|
|
1163
|
+
/** Report an intent before changing the selection; `true` when the caller took over. */
|
|
1164
|
+
#intercepted(intent) {
|
|
1165
|
+
return !this.dispatchEvent(new CustomEvent(`list-select-intent`, {
|
|
1166
|
+
detail: intent,
|
|
1167
|
+
bubbles: true,
|
|
1168
|
+
composed: true,
|
|
1169
|
+
cancelable: true
|
|
1170
|
+
}));
|
|
1171
|
+
}
|
|
1172
|
+
/** Select only `key`. In `manual` mode (or when cancelled) only the anchor moves. */
|
|
1173
|
+
#requestReplace(key, source) {
|
|
1174
|
+
if (this.selectionMode === `none`) return;
|
|
1175
|
+
if (this.#intercepted({
|
|
1176
|
+
kind: `replace`,
|
|
1177
|
+
keys: [key],
|
|
1178
|
+
source
|
|
1179
|
+
}) || this.interactionMode === `manual`) {
|
|
1180
|
+
this._anchorKey = key;
|
|
1122
1181
|
return;
|
|
1123
1182
|
}
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1183
|
+
this._replaceSelection(key);
|
|
1184
|
+
}
|
|
1185
|
+
/** Flip `key`. `applyInManual`: Space has always toggled in `manual` mode. */
|
|
1186
|
+
#requestToggle(key, source, applyInManual = false) {
|
|
1187
|
+
if (this.#intercepted({
|
|
1188
|
+
kind: `toggle`,
|
|
1189
|
+
keys: [key],
|
|
1190
|
+
source
|
|
1191
|
+
})) return;
|
|
1192
|
+
if (this.interactionMode === `manual` && !applyInManual) return;
|
|
1193
|
+
this._toggleSelection(key);
|
|
1194
|
+
}
|
|
1195
|
+
/** Extend the range from the anchor to `key`. */
|
|
1196
|
+
#requestExtend(key, source) {
|
|
1197
|
+
if (this.selectionMode === `none`) return;
|
|
1198
|
+
const range = this._anchorKey === void 0 ? void 0 : this.#rangeKeys(key);
|
|
1199
|
+
if (this.#intercepted({
|
|
1200
|
+
kind: `extend`,
|
|
1201
|
+
keys: range ?? [key],
|
|
1202
|
+
...this._anchorKey === void 0 ? {} : { anchorKey: this._anchorKey },
|
|
1203
|
+
targetKey: key,
|
|
1204
|
+
source
|
|
1205
|
+
})) {
|
|
1206
|
+
this._anchorKey ??= key;
|
|
1127
1207
|
return;
|
|
1128
1208
|
}
|
|
1129
|
-
if (
|
|
1130
|
-
|
|
1131
|
-
} else if (e.shiftKey && (this.selectionMode === `multiple` || this.interactionMode === `vscode`)) this._rangeSelectTo(rowKey);
|
|
1132
|
-
else this._replaceSelection(rowKey);
|
|
1209
|
+
if (this.interactionMode === `manual`) return;
|
|
1210
|
+
this._rangeSelectTo(key);
|
|
1133
1211
|
}
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
this.
|
|
1212
|
+
/** Row keys between the anchor and `key` (inclusive), or `undefined` when the range degrades to a replace. */
|
|
1213
|
+
#rangeKeys(key) {
|
|
1214
|
+
if (!this._anchorKey) return void 0;
|
|
1215
|
+
let keys = this._flat.filter((f) => f.type === `row`).map((f) => f.key);
|
|
1216
|
+
if (this.groupBy && !this.crossGroupSelection) {
|
|
1217
|
+
const group = this._getGroupKey(this._getRowForKey(this._anchorKey) ?? { key: this._anchorKey });
|
|
1218
|
+
if (group !== this._getGroupKey(this._getRowForKey(key) ?? { key })) return void 0;
|
|
1219
|
+
keys = keys.filter((k) => this._getGroupKey(this._getRowForKey(k) ?? { key: k }) === group);
|
|
1220
|
+
}
|
|
1221
|
+
const a = keys.indexOf(this._anchorKey);
|
|
1222
|
+
const b = keys.indexOf(key);
|
|
1223
|
+
if (a < 0 || b < 0) return void 0;
|
|
1224
|
+
return keys.slice(Math.min(a, b), Math.max(a, b) + 1);
|
|
1137
1225
|
}
|
|
1138
1226
|
_onVisibilityToggle(col, checked) {
|
|
1139
1227
|
col.visible = checked;
|
|
@@ -1281,6 +1369,19 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
1281
1369
|
get selectedKeys() {
|
|
1282
1370
|
return this._selectedKeys;
|
|
1283
1371
|
}
|
|
1372
|
+
/**
|
|
1373
|
+
* Rows shown as *partially* selected (a part of the resource is selected):
|
|
1374
|
+
* `[data-partial]`, `.partial` and an accessible description. Independent of
|
|
1375
|
+
* `selectedKeys` — a key in both counts as selected. Replace-on-set; keys
|
|
1376
|
+
* without a row are kept for when the row appears.
|
|
1377
|
+
*/
|
|
1378
|
+
get partialKeys() {
|
|
1379
|
+
return this._partialKeys;
|
|
1380
|
+
}
|
|
1381
|
+
set partialKeys(keys) {
|
|
1382
|
+
const next = new Set(keys);
|
|
1383
|
+
if (!sameKeySet(next, this._partialKeys)) this._partialKeys = next;
|
|
1384
|
+
}
|
|
1284
1385
|
/** Replace the selection with these row keys (clamped to known rows). */
|
|
1285
1386
|
set selectedKeys(keys) {
|
|
1286
1387
|
this.selectKeys(keys);
|
|
@@ -1319,6 +1420,15 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
1319
1420
|
bubbles: true,
|
|
1320
1421
|
composed: true
|
|
1321
1422
|
}));
|
|
1423
|
+
this.dispatchEvent(new CustomEvent(`list-select`, {
|
|
1424
|
+
detail: {
|
|
1425
|
+
selectedKeys: new Set(this._selectedKeys),
|
|
1426
|
+
previousKeys: previous,
|
|
1427
|
+
previous
|
|
1428
|
+
},
|
|
1429
|
+
bubbles: true,
|
|
1430
|
+
composed: true
|
|
1431
|
+
}));
|
|
1322
1432
|
}
|
|
1323
1433
|
/** The row key under the cursor, or `undefined`. */
|
|
1324
1434
|
get tickledKey() {
|
|
@@ -1411,47 +1521,24 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
1411
1521
|
this.#dispatchSelect(prev);
|
|
1412
1522
|
}
|
|
1413
1523
|
_rangeSelectTo(key) {
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
return;
|
|
1417
|
-
}
|
|
1418
|
-
const keys = this._flat.filter((f) => f.type === `row`).map((f) => f.key);
|
|
1419
|
-
const a = keys.indexOf(this._anchorKey);
|
|
1420
|
-
const b = keys.indexOf(key);
|
|
1421
|
-
if (a < 0 || b < 0) {
|
|
1524
|
+
const range = this.#rangeKeys(key);
|
|
1525
|
+
if (range === void 0) {
|
|
1422
1526
|
this._replaceSelection(key);
|
|
1423
1527
|
return;
|
|
1424
1528
|
}
|
|
1425
|
-
if (this.groupBy && !this.crossGroupSelection) {
|
|
1426
|
-
const anchorGroup = this._getGroupKey(this._getRowForKey(this._anchorKey) ?? { key: this._anchorKey });
|
|
1427
|
-
if (anchorGroup !== this._getGroupKey(this._getRowForKey(key) ?? { key })) {
|
|
1428
|
-
this._replaceSelection(key);
|
|
1429
|
-
return;
|
|
1430
|
-
}
|
|
1431
|
-
const groupKeys = keys.filter((k) => this._getGroupKey(this._getRowForKey(k) ?? { key: k }) === anchorGroup);
|
|
1432
|
-
const ga = groupKeys.indexOf(this._anchorKey);
|
|
1433
|
-
const gb = groupKeys.indexOf(key);
|
|
1434
|
-
if (ga < 0 || gb < 0) {
|
|
1435
|
-
this._replaceSelection(key);
|
|
1436
|
-
return;
|
|
1437
|
-
}
|
|
1438
|
-
const lo = Math.min(ga, gb);
|
|
1439
|
-
const hi = Math.max(ga, gb);
|
|
1440
|
-
const prev = new Set(this._selectedKeys);
|
|
1441
|
-
this._selectedKeys = new Set(groupKeys.slice(lo, hi + 1));
|
|
1442
|
-
this.#dispatchSelect(prev);
|
|
1443
|
-
return;
|
|
1444
|
-
}
|
|
1445
|
-
const lo = Math.min(a, b);
|
|
1446
|
-
const hi = Math.max(a, b);
|
|
1447
1529
|
const prev = new Set(this._selectedKeys);
|
|
1448
|
-
this._selectedKeys = new Set(
|
|
1530
|
+
this._selectedKeys = new Set(range);
|
|
1449
1531
|
this.#dispatchSelect(prev);
|
|
1450
1532
|
}
|
|
1451
1533
|
#handleKeyDown(e) {
|
|
1452
1534
|
if ((e.ctrlKey || e.metaKey) && e.key.toLowerCase() === `a`) {
|
|
1453
1535
|
if (this.selectionMode === `multiple` || this.interactionMode === `checked` || this.interactionMode === `sticky` || this.interactionMode === `vscode` || this.interactionMode === `standard`) {
|
|
1454
1536
|
e.preventDefault();
|
|
1537
|
+
if (this.#intercepted({
|
|
1538
|
+
kind: `all`,
|
|
1539
|
+
keys: [],
|
|
1540
|
+
source: `keyboard`
|
|
1541
|
+
})) return;
|
|
1455
1542
|
const prev = new Set(this._selectedKeys);
|
|
1456
1543
|
if (this.groupBy && !this.crossGroupSelection && this._anchorKey) {
|
|
1457
1544
|
const g = this._getGroupKey(this._getRowForKey(this._anchorKey) ?? { key: this._anchorKey });
|
|
@@ -1501,14 +1588,14 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
1501
1588
|
case `ArrowDown`:
|
|
1502
1589
|
this._tickled.handleKeyboardNavigation(`next`);
|
|
1503
1590
|
if (this._tickled.tickledId) this._scrollRowIntoView(this._tickled.tickledId);
|
|
1504
|
-
if (this.interactionMode === `implicit` && this._tickled.tickledId) this
|
|
1505
|
-
if (e.shiftKey && (this.interactionMode === `standard` || this.interactionMode === `vscode`) && this._tickled.tickledId) this
|
|
1591
|
+
if (this.interactionMode === `implicit` && this._tickled.tickledId) this.#requestReplace(this._tickled.tickledId, `keyboard`);
|
|
1592
|
+
if (e.shiftKey && (this.interactionMode === `standard` || this.interactionMode === `vscode` || this.interactionMode === `manual`) && this._tickled.tickledId) this.#requestExtend(this._tickled.tickledId, `keyboard`);
|
|
1506
1593
|
break;
|
|
1507
1594
|
case `ArrowUp`:
|
|
1508
1595
|
this._tickled.handleKeyboardNavigation(`previous`);
|
|
1509
1596
|
if (this._tickled.tickledId) this._scrollRowIntoView(this._tickled.tickledId);
|
|
1510
|
-
if (this.interactionMode === `implicit` && this._tickled.tickledId) this
|
|
1511
|
-
if (e.shiftKey && (this.interactionMode === `standard` || this.interactionMode === `vscode`) && this._tickled.tickledId) this
|
|
1597
|
+
if (this.interactionMode === `implicit` && this._tickled.tickledId) this.#requestReplace(this._tickled.tickledId, `keyboard`);
|
|
1598
|
+
if (e.shiftKey && (this.interactionMode === `standard` || this.interactionMode === `vscode` || this.interactionMode === `manual`) && this._tickled.tickledId) this.#requestExtend(this._tickled.tickledId, `keyboard`);
|
|
1512
1599
|
break;
|
|
1513
1600
|
case `Home`:
|
|
1514
1601
|
this._tickled.handleKeyboardNavigation(`first`);
|
|
@@ -1547,7 +1634,7 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
1547
1634
|
this._activateRow(key, entry?.row, idx);
|
|
1548
1635
|
break;
|
|
1549
1636
|
}
|
|
1550
|
-
if (this.interactionMode !== `
|
|
1637
|
+
if (this.interactionMode !== `checked`) this.#requestReplace(key, `keyboard`);
|
|
1551
1638
|
this.dispatchEvent(new CustomEvent(`datagrid-cell-click`, {
|
|
1552
1639
|
detail: {
|
|
1553
1640
|
rowKey: key,
|
|
@@ -1588,8 +1675,8 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
1588
1675
|
const key = this._tickled.tickledId;
|
|
1589
1676
|
if (!key) break;
|
|
1590
1677
|
e.preventDefault();
|
|
1591
|
-
if (this.interactionMode === `checked` || this.interactionMode === `sticky` || this.interactionMode === `standard` || this.interactionMode === `vscode` || this.interactionMode === `manual`) this
|
|
1592
|
-
else this
|
|
1678
|
+
if (this.interactionMode === `checked` || this.interactionMode === `sticky` || this.interactionMode === `standard` || this.interactionMode === `vscode` || this.interactionMode === `manual`) this.#requestToggle(key, `keyboard`, true);
|
|
1679
|
+
else this.#requestReplace(key, `keyboard`);
|
|
1593
1680
|
break;
|
|
1594
1681
|
}
|
|
1595
1682
|
case `Escape`: if (this._editing || this._editingRow) {
|
|
@@ -1599,6 +1686,11 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
1599
1686
|
this.requestUpdate();
|
|
1600
1687
|
} else if (this._selectedKeys.size) {
|
|
1601
1688
|
e.preventDefault();
|
|
1689
|
+
if (this.#intercepted({
|
|
1690
|
+
kind: `clear`,
|
|
1691
|
+
keys: [],
|
|
1692
|
+
source: `keyboard`
|
|
1693
|
+
})) break;
|
|
1602
1694
|
const prev = new Set(this._selectedKeys);
|
|
1603
1695
|
this._selectedKeys = /* @__PURE__ */ new Set();
|
|
1604
1696
|
this.#dispatchSelect(prev);
|
|
@@ -2206,10 +2298,12 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
2206
2298
|
const absIdx2 = entry.idx;
|
|
2207
2299
|
const rowKey = entry.key;
|
|
2208
2300
|
const selected = this._selectedKeys.has(rowKey);
|
|
2301
|
+
const partial = isPartialKey(rowKey, this._partialKeys, selected);
|
|
2209
2302
|
const tickled = this._tickled.isTickled(rowKey);
|
|
2210
2303
|
return html`
|
|
2211
|
-
<div class="row item ${selected ? `selected` : ``} ${tickled ? `tickled` : ``} ${this.zebraStripes && absIdx2 % 2 === 1 ? `zebra-odd` : ``} ${this.#enteringRowKeys.has(rowKey) ? `entering` : ``} ${this.#nativeDragging && rowKey === this.#dragOriginKey ? `dragging-origin` : ``}" role="row" aria-rowindex=${absIdx + 2} aria-selected=${selected ? `true` : `false`} style="top:${absIdx * rh}px; height:${rh}px"
|
|
2304
|
+
<div class="row item ${selected ? `selected` : ``} ${partial ? `partial` : ``} ${tickled ? `tickled` : ``} ${this.zebraStripes && absIdx2 % 2 === 1 ? `zebra-odd` : ``} ${this.#enteringRowKeys.has(rowKey) ? `entering` : ``} ${this.#nativeDragging && rowKey === this.#dragOriginKey ? `dragging-origin` : ``}" role="row" aria-rowindex=${absIdx + 2} aria-selected=${selected ? `true` : `false`} aria-description=${partial ? PARTIAL_DESCRIPTION : nothing} style="top:${absIdx * rh}px; height:${rh}px"
|
|
2212
2305
|
data-key=${rowKey}
|
|
2306
|
+
?data-partial=${partial}
|
|
2213
2307
|
draggable=${this.#nativeDrag.draggableAttr}
|
|
2214
2308
|
@click=${(e) => {
|
|
2215
2309
|
this._onRowClick(rowKey, null, e);
|
|
@@ -2230,7 +2324,7 @@ let DataGridElement = class DataGridElement extends LitElement {
|
|
|
2230
2324
|
if (this._visibleColumns[0] && this._isEditable(row, this._visibleColumns[0])) this._startEdit(rowKey, this._visibleColumns[0].key);
|
|
2231
2325
|
else this._activateRow(rowKey, row, absIdx2);
|
|
2232
2326
|
}}>
|
|
2233
|
-
${showCheckbox ? html`<div class="checkbox-col"><input type="checkbox" .checked=${selected} @click=${(e) => this._onCheckboxClick(rowKey, e)} /></div>` : nothing}
|
|
2327
|
+
${showCheckbox ? html`<div class="checkbox-col"><input type="checkbox" .checked=${selected} .indeterminate=${partial} aria-checked=${partial ? `mixed` : String(selected)} @click=${(e) => this._onCheckboxClick(rowKey, e)} /></div>` : nothing}
|
|
2234
2328
|
${repeat(this._visibleColumns, (c) => c.key, (col) => {
|
|
2235
2329
|
const val = row[col.key];
|
|
2236
2330
|
if (this._isCellEditing(rowKey, col.key)) {
|
|
@@ -2488,6 +2582,10 @@ __decorate([property({
|
|
|
2488
2582
|
})], DataGridElement.prototype, "badgeColumn", void 0);
|
|
2489
2583
|
__decorate([property({ attribute: false })], DataGridElement.prototype, "filterPredicate", void 0);
|
|
2490
2584
|
__decorate([property({ attribute: false })], DataGridElement.prototype, "rowSearchText", void 0);
|
|
2585
|
+
__decorate([property({
|
|
2586
|
+
type: String,
|
|
2587
|
+
attribute: `search-column`
|
|
2588
|
+
})], DataGridElement.prototype, "searchColumn", void 0);
|
|
2491
2589
|
__decorate([property({
|
|
2492
2590
|
type: String,
|
|
2493
2591
|
attribute: `search-modes`,
|
|
@@ -2517,6 +2615,7 @@ __decorate([state()], DataGridElement.prototype, "_lastClickedCell", void 0);
|
|
|
2517
2615
|
__decorate([state()], DataGridElement.prototype, "_editValue", void 0);
|
|
2518
2616
|
__decorate([query(`.viewport`)], DataGridElement.prototype, "_viewportEl", void 0);
|
|
2519
2617
|
__decorate([query(`.header-row`)], DataGridElement.prototype, "_headerRowEl", void 0);
|
|
2618
|
+
__decorate([state()], DataGridElement.prototype, "_partialKeys", void 0);
|
|
2520
2619
|
DataGridElement = __decorate([safeCustomElement(`ixfx-data-grid`)], DataGridElement);
|
|
2521
2620
|
//#endregion
|
|
2522
2621
|
export { DataGridElement as t };
|
package/dist/data-grid.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { B as ListNativeDragStartDetail, F as ListDragPreview, I as ListDragPreviewContext, L as ListDragPreviewRenderer, P as ListDragEntry, V as ListNativeDragStartEvent, z as ListDragSource } from "./tree-component-DgfkxmVY.js";
|
|
2
|
-
import { A as
|
|
3
|
-
export { type BuiltInFormatterName, type BuiltInFormatterOptions, DataGridCellClickDetail, DataGridCellClickEvent, DataGridCellEditDetail, DataGridCellEditEvent, type DataGridColumn, type DataGridColumnMenu, DataGridColumnReorderDetail, DataGridColumnReorderEvent, DataGridColumnResizeDetail, DataGridColumnResizeEvent, type DataGridColumnViewState, DataGridColumnVisibilityDetail, DataGridColumnVisibilityEvent, type DataGridDataType, type DataGridEditability, type DataGridEditorContext, type DataGridEditorFactory, type DataGridEditorType, DataGridElement, DataGridElementEventMap, type DataGridGetRowKey, type DataGridGroupBy, DataGridGroupChangeDetail, DataGridGroupChangeEvent, type DataGridGroupLabel, type DataGridInteractionMode, DataGridRowActivateDetail, DataGridRowActivateEvent, type DataGridRowLook, DataGridSelectDetail, DataGridSelectEvent, type DataGridSelectionMode, DataGridSortDetail, type DataGridSortDirection, DataGridSortEvent, type DataGridSortState, type DataGridViewState, DataGridViewportChangeDetail, DataGridViewportChangeEvent, type GlobalFormatter, type ListDragEntry, type ListDragPreview, type ListDragPreviewContext, type ListDragPreviewRenderer, type ListDragSource, type ListNativeDragStartDetail, type ListNativeDragStartEvent };
|
|
2
|
+
import { A as DataGridColumn, B as DataGridInteractionMode, C as DataGridSortEvent, D as DataGridViewState, E as DataGridColumnViewState, F as DataGridEditorFactory, G as GlobalFormatter, H as DataGridSelectionMode, I as DataGridEditorType, L as DataGridGetRowKey, M as DataGridDataType, N as DataGridEditability, O as BuiltInFormatterName, P as DataGridEditorContext, R as DataGridGroupBy, S as DataGridSortDetail, T as DataGridViewportChangeEvent, U as DataGridSortDirection, V as DataGridRowLook, W as DataGridSortState, _ as DataGridRowActivateDetail, a as DataGridColumnReorderDetail, b as DataGridSelectEvent, c as DataGridColumnResizeEvent, d as DataGridElement, f as DataGridElementEventMap, g as DataGridListSelectEvent, h as DataGridListSelectDetail, i as DataGridCellEditEvent, j as DataGridColumnMenu, k as BuiltInFormatterOptions, 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 DataGridRowActivateEvent, w as DataGridViewportChangeDetail, x as DataGridSelectIntentEvent, y as DataGridSelectDetail, z as DataGridGroupLabel } from "./data-grid-BAEpfTkb.js";
|
|
3
|
+
export { type BuiltInFormatterName, type BuiltInFormatterOptions, DataGridCellClickDetail, DataGridCellClickEvent, DataGridCellEditDetail, DataGridCellEditEvent, type DataGridColumn, type DataGridColumnMenu, DataGridColumnReorderDetail, DataGridColumnReorderEvent, DataGridColumnResizeDetail, DataGridColumnResizeEvent, type DataGridColumnViewState, DataGridColumnVisibilityDetail, DataGridColumnVisibilityEvent, type DataGridDataType, type DataGridEditability, type DataGridEditorContext, type DataGridEditorFactory, type DataGridEditorType, DataGridElement, DataGridElementEventMap, type DataGridGetRowKey, type DataGridGroupBy, DataGridGroupChangeDetail, DataGridGroupChangeEvent, type DataGridGroupLabel, type DataGridInteractionMode, DataGridListSelectDetail, DataGridListSelectEvent, DataGridRowActivateDetail, DataGridRowActivateEvent, type DataGridRowLook, DataGridSelectDetail, DataGridSelectEvent, DataGridSelectIntentEvent, type DataGridSelectionMode, DataGridSortDetail, type DataGridSortDirection, DataGridSortEvent, type DataGridSortState, type DataGridViewState, DataGridViewportChangeDetail, DataGridViewportChangeEvent, type GlobalFormatter, type ListDragEntry, type ListDragPreview, type ListDragPreviewContext, type ListDragPreviewRenderer, type ListDragSource, type ListNativeDragStartDetail, type ListNativeDragStartEvent };
|
package/dist/data-grid.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as DataGridElement } from "./data-grid-
|
|
1
|
+
import { t as DataGridElement } from "./data-grid-CaPLWt5E.js";
|
|
2
2
|
export { DataGridElement };
|