@ixfx/components 0.9.3 → 0.9.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/tree.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as TreeDataModel, i as TreeDropController, n as TreeListElement, r as TreeBaseElement, t as TreeController } from "./tree-CwifXCzR.js";
1
+ import { a as TreeDataModel, i as TreeDropController, n as TreeListElement, r as TreeBaseElement, t as TreeController } from "./tree-DAFBO_MF.js";
2
2
  export { TreeBaseElement, TreeController, TreeDataModel, TreeDropController, TreeListElement };
@@ -2,7 +2,7 @@ import { t as TickledController } from "./tickled-controller-Dh1Uh_vG.js";
2
2
  import { t as themeFallbacks } from "./fallbacks-BcKGq-2F.js";
3
3
  import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
4
4
  import { c as createElementListSearchAdapter, i as ListSearchController, n as listSearchStyles, o as registerListSearchCommands, r as LIST_SEARCH_MODES, u as keyForElement } from "./incr-search-C05WjbZh.js";
5
- import { t as ListNativeDragController } from "./list-native-drag-controller-DaBNcjgG.js";
5
+ import { t as ListNativeDragController } from "./list-native-drag-controller-B0hWdbtM.js";
6
6
  import { r as ListDragSelectController, t as ListSelectionController } from "./list-selection-controller-SA4piSBi.js";
7
7
  import { n as animateListItemIn, r as animateListItemOut } from "./list-item-animation-BUoEKi5s.js";
8
8
  import { LitElement, css, html, render } from "lit";
@@ -234,6 +234,19 @@ list.items = await fetchRows(); // Element refs are stale...
234
234
  list.selectKeys(keep); // ...keys still resolve
235
235
  ```
236
236
 
237
+ ### Viewport
238
+
239
+ ```typescript
240
+ list.visibleKeys(); // string[] — keys of items currently in the scroll viewport
241
+ ```
242
+
243
+ Items lay out as a fixed-height, horizontally-scrolling column grid, so this
244
+ is a horizontal intersection test against the scroll container — every row
245
+ of an intersecting column counts as visible. Hidden (filtered-out) and
246
+ keyless items are omitted. Use it to prioritise viewport-first work (e.g.
247
+ metadata or thumbnail fetches for what's on screen right now). Mirrors
248
+ `ixfx-grid-list.visibleKeys()` and `ixfx-data-grid.getVisibleRange()`.
249
+
237
250
  ---
238
251
 
239
252
  ## Interaction modes
@@ -446,6 +459,14 @@ The provider function can return:
446
459
 
447
460
  Streaming providers extend columns to the right as batches arrive.
448
461
 
462
+ **Performance.** When each batch is a pure append (identical items followed
463
+ only by new ones), the list appends DOM for just the new items rather than
464
+ rebuilding from scratch — streaming thousands of items over many small
465
+ batches stays cheap. If `sort` is set, re-sorting is coalesced: many batches
466
+ arriving within the same animation frame trigger a single re-sort, not one
467
+ per batch. A batch that isn't a pure append (items reordered, removed, or
468
+ replaced) falls back to a full rebuild.
469
+
449
470
  ---
450
471
 
451
472
  ## CSS variables
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ixfx/components",
3
- "version": "0.9.3",
4
- "generated": "2026-09-10T18:23:06.062Z",
3
+ "version": "0.9.5",
4
+ "generated": "2026-09-10T21:49:59.593Z",
5
5
  "components": [
6
6
  {
7
7
  "name": "ac-text",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ixfx/components",
3
3
  "type": "module",
4
- "version": "0.9.3",
4
+ "version": "0.9.5",
5
5
  "packageManager": "pnpm@10.0.0",
6
6
  "description": "Web components for ixfx — Lit-based UI toolkit",
7
7
  "author": "Clint Heyer",
@@ -1 +0,0 @@
1
- {"version":3,"file":"detail-list-DbYaz-YX.d.ts","names":[],"sources":["../src/detail-list/types.ts","../src/detail-list/detail-list.ts"],"mappings":";;;;;;;;;;KACY;;KAGA;WACD,SAAS;WACT;WACA;;;KAIC,wBAAwB,GAAG,gBAAgB,GAAG;;KAG9C,mBAAmB,eAAe,2BAA2B;;;;;;;;;;;;;;;;;;;;cC6E5D,0BAA0B;;EAErC,eAAe;EAGf,iBAAiB;EAGjB,MAAM;EAGN;EAGA,gBAAgB;EAGhB;EAGA,UAAU;EAGV;EAGA,WAAW;EAGX;EAGA;EAGA,mBAAmB,IAAI;;;;;;EAQvB;;EAIA,oBAAoB,gCAAgC;;;;;;EAQpD;;;;;;EAQA;;;;;EAOA,qBAAqB,wBAAwB;UAGrC;mBAeS;UAeT;UAkFA;;WAyEC,QAAM,qBAAA;;MAYX,YAAY;EAoBP;EA4DA;EAqBA;EASA,QAAQ,SAAS;;MA0CtB,gBAAgB;;MAKhB,iBAAiB,YAAY;;;;;;EASjC;EAIA,QAAQ,MAAM,kBAAkB,UAAU;;;;;EAuB1C,WAAW,MAAM,UAAU;;EAW3B,YAAY,OAAO,SAAS,WAAW;EAIvC;;;;;EAYA,SAAS,gBAAgB;;;;;EAgBzB,YAAY,MAAM;;;;;;EASlB,SAAS,WAAW,WAAW,OAAO;EAItC,OAAO,MAAM;EAIb,WAAW,OAAO,SAAS;EAI3B,SAAS,MAAM;EAIf;EAIA;;MAQI,gBAAgB;;MAKhB;;EAMJ,WAAW,MAAM;;EAKjB,gBAAgB,MAAM;;EAKtB,mBAAmB,MAAM;;EAKzB,SAAS;EAgBP,eAAe,0CAA0C,UAAU;UAoa7D;;;;;;;;;EAkBF,kBAAkB;UAwBhB;UAMA;UAgCA;UAiBA;;;;;;;UA2DA;;UAoBA;UAcA;UAYA;UAQA;UAWA;UAMA;UAIA;UA4EA;UAWA;UAMA;UAKA;SAUQ,sBAAM;EAiJb,wBAAM;;QAsBT;YACI;IACR,oBAAoB;;YAGZ,4BAA4B;;UAGvB,kCAAkC;EACjD,0BAA0B,yBAAyB"}