@ixfx/components 0.7.5 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/bundle/index.d.ts +256 -17
  2. package/bundle/index.d.ts.map +1 -1
  3. package/bundle/index.js +1462 -166
  4. package/bundle/index.js.map +1 -1
  5. package/dist/ac-token.js +1 -1
  6. package/dist/{data-grid-CtJ35v8L.d.ts → data-grid-D-z7bx5-.d.ts} +2 -2
  7. package/dist/{data-grid-CtJ35v8L.d.ts.map → data-grid-D-z7bx5-.d.ts.map} +1 -1
  8. package/dist/data-grid.d.ts +1 -1
  9. package/dist/data-grid.js +1 -1
  10. package/dist/{detail-list-BS5dRDda.d.ts → detail-list-_ZJHYEBr.d.ts} +3 -3
  11. package/dist/{detail-list-BS5dRDda.d.ts.map → detail-list-_ZJHYEBr.d.ts.map} +1 -1
  12. package/dist/detail-list.d.ts +2 -2
  13. package/dist/detail-list.js +1 -1
  14. package/dist/grid-list-nRUQOcEL.js +1537 -0
  15. package/dist/grid-list-nRUQOcEL.js.map +1 -0
  16. package/dist/{grid-list-D-GbghSH.d.ts → grid-list-u33vmKzb.d.ts} +116 -15
  17. package/dist/grid-list-u33vmKzb.d.ts.map +1 -0
  18. package/dist/grid-list.d.ts +1 -1
  19. package/dist/grid-list.js +1 -993
  20. package/dist/{incr-search-DpbSJtgj.js → incr-search-C05WjbZh.js} +40 -3
  21. package/dist/incr-search-C05WjbZh.js.map +1 -0
  22. package/dist/incr-search.d.ts +2 -2
  23. package/dist/incr-search.js +2 -2
  24. package/dist/{index-CBS4z1v-.d.ts → index-h6gxtfHH.d.ts} +34 -2
  25. package/dist/index-h6gxtfHH.d.ts.map +1 -0
  26. package/dist/index.d.ts +60 -11
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +343 -16
  29. package/dist/index.js.map +1 -1
  30. package/dist/led.d.ts +33 -1
  31. package/dist/led.d.ts.map +1 -1
  32. package/dist/led.js +157 -13
  33. package/dist/led.js.map +1 -1
  34. package/dist/miller.d.ts +1 -1
  35. package/dist/miller.js +1 -1
  36. package/dist/narrowed-text.js +1 -1
  37. package/dist/panel.d.ts +3 -1
  38. package/dist/panel.d.ts.map +1 -1
  39. package/dist/panel.js +31 -1
  40. package/dist/panel.js.map +1 -1
  41. package/dist/plots.d.ts +2 -2
  42. package/dist/plots.js +1 -1
  43. package/dist/{titlebar-Bj5pfdw_.d.ts → titlebar-YQ-jVQoS.d.ts} +2 -2
  44. package/dist/{titlebar-Bj5pfdw_.d.ts.map → titlebar-YQ-jVQoS.d.ts.map} +1 -1
  45. package/dist/titlebar.d.ts +1 -1
  46. package/dist/titlebar.js +83 -1
  47. package/dist/titlebar.js.map +1 -1
  48. package/dist/{tree-DAii2A1g.js → tree-Chptss7I.js} +2 -2
  49. package/dist/{tree-DAii2A1g.js.map → tree-Chptss7I.js.map} +1 -1
  50. package/dist/tree.d.ts +1 -1
  51. package/dist/tree.js +1 -1
  52. package/dist/{vertical-list-DwtCPy1b.d.ts → vertical-list-CFuFDygi.d.ts} +2 -2
  53. package/dist/{vertical-list-DwtCPy1b.d.ts.map → vertical-list-CFuFDygi.d.ts.map} +1 -1
  54. package/dist/vertical-list.d.ts +1 -1
  55. package/dist/vertical-list.js +1 -1
  56. package/dist/{xy-axis-5KhVTNoX.d.ts → xy-axis-BfP9hKLj.d.ts} +25 -2
  57. package/dist/{xy-axis-5KhVTNoX.d.ts.map → xy-axis-BfP9hKLj.d.ts.map} +1 -1
  58. package/dist/{xy-axis-VrX8dmvS.js → xy-axis-DzM1brBZ.js} +141 -8
  59. package/dist/xy-axis-DzM1brBZ.js.map +1 -0
  60. package/docs-user/dock.md +1 -0
  61. package/docs-user/grid-list.md +99 -14
  62. package/docs-user/index.json +3 -3
  63. package/docs-user/led.md +37 -7
  64. package/docs-user/llms.txt +1 -1
  65. package/docs-user/panel.md +68 -13
  66. package/docs-user/titlebar.md +3 -4
  67. package/llms.txt +1 -1
  68. package/package.json +1 -1
  69. package/dist/grid-list-D-GbghSH.d.ts.map +0 -1
  70. package/dist/grid-list.js.map +0 -1
  71. package/dist/incr-search-DpbSJtgj.js.map +0 -1
  72. package/dist/index-CBS4z1v-.d.ts.map +0 -1
  73. package/dist/xy-axis-VrX8dmvS.js.map +0 -1
@@ -234,6 +234,43 @@ var IncrSearchTreeController = class {
234
234
  }
235
235
  };
236
236
  //#endregion
237
+ //#region src/incr-search/data-list-search-adapter.ts
238
+ /**
239
+ * A {@link ListSearchAdapter} over a data-backed list. Unlike the element
240
+ * adapter it never materialises an element per item — it reads keys and text
241
+ * straight from the source by index. Highlights are painted on whatever
242
+ * captions are currently rendered in the shadow window; offscreen matches paint
243
+ * when scrolled into view. See `docs/infra-incremental.md`.
244
+ */
245
+ function createDataListSearchAdapter(host, options) {
246
+ return {
247
+ getItems: () => Array.from({ length: options.rawCount() }, (_, i) => ({
248
+ key: options.rawKeyAt(i),
249
+ index: i
250
+ })),
251
+ getLabel: (item) => options.rawSearchTextAt(item.index),
252
+ getKey: (item) => item.key,
253
+ focusItem: (item) => {
254
+ if (item) host.focusKey(item.key);
255
+ },
256
+ activateItem: (item) => {
257
+ if (options.onActivate) options.onActivate(item.key);
258
+ else host.focusKey(item.key);
259
+ },
260
+ selectItems: (items) => {
261
+ host.selectKeys(items.map((i) => i.key));
262
+ },
263
+ applyFilter: (matched) => {
264
+ options.onFilterChange?.(matched);
265
+ },
266
+ highlightRoot: options.getHighlightRoot,
267
+ highlightSelector: `.cell .caption`,
268
+ highlightKeyOf: (el) => el.closest(`.cell`)?.getAttribute(`data-key`) ?? void 0,
269
+ highlightText: (el) => el.textContent ?? ``,
270
+ highlightKey: `grid-list-search`
271
+ };
272
+ }
273
+ //#endregion
237
274
  //#region src/interaction/keyed-list.ts
238
275
  /**
239
276
  * Helpers for key-based selection on the Element-flavoured list components
@@ -530,7 +567,6 @@ var ListSearchController = class {
530
567
  #filterActive = false;
531
568
  constructor(host, options) {
532
569
  this.#host = host;
533
- host.addController(this);
534
570
  this.#adapter = options.adapter;
535
571
  const requested = new Set(options.modes ?? LIST_SEARCH_MODES);
536
572
  this.#modes = LIST_SEARCH_MODES.filter((m) => requested.has(m));
@@ -541,6 +577,7 @@ var ListSearchController = class {
541
577
  fzf: options.fzf
542
578
  });
543
579
  this.#unsub = this.#search.onChange((state) => this.#onState(state));
580
+ host.addController(this);
544
581
  }
545
582
  /** `false` when no modes are available — the host should register no commands and render no field. */
546
583
  get enabled() {
@@ -957,6 +994,6 @@ function createTreeListSearchAdapter(host, options = {}) {
957
994
  };
958
995
  }
959
996
  //#endregion
960
- export { LIST_SEARCH_COMMAND_IDS as a, createElementListSearchAdapter as c, IncrSearchTreeController as d, createIncrSearch as f, ListSearchController as i, KeyedElementIndex as l, createFuzzySearch as m, listSearchStyles as n, registerListSearchCommands as o, createAcCompletionProvider as p, LIST_SEARCH_MODES as r, createElementIncrSearch as s, createTreeListSearchAdapter as t, keyForElement as u };
997
+ export { LIST_SEARCH_COMMAND_IDS as a, createElementListSearchAdapter as c, createDataListSearchAdapter as d, IncrSearchTreeController as f, createFuzzySearch as h, ListSearchController as i, KeyedElementIndex as l, createAcCompletionProvider as m, listSearchStyles as n, registerListSearchCommands as o, createIncrSearch as p, LIST_SEARCH_MODES as r, createElementIncrSearch as s, createTreeListSearchAdapter as t, keyForElement as u };
961
998
 
962
- //# sourceMappingURL=incr-search-DpbSJtgj.js.map
999
+ //# sourceMappingURL=incr-search-C05WjbZh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incr-search-C05WjbZh.js","names":["FzfAny","DEFAULT_HIGHLIGHT_KEY","#el","#opts","#search","#labelMap","#onInput","#onKeydown","#unsub","#onStateChange","#root","#selector","#map","#observer","#dirty","#rebuild","#host","#adapter","#modes","#mode","#placeholder","#search","#unsub","#onState","#open","#query","#matches","#matchIndex","#observer","#teardownEffects","#focusInput","#filterActive","#applyMode","#currentItems","#cycle","#itemFor","#itemByKey","#onInput","#onKeydown","#highlightKey","#applyHighlights"],"sources":["../src/incr-search/fuzzy.ts","../src/incr-search/ac-adapter.ts","../src/incr-search/incr-search.ts","../src/incr-search/controller-tree.ts","../src/incr-search/data-list-search-adapter.ts","../src/interaction/keyed-list.ts","../src/incr-search/element-list-search-adapter.ts","../src/incr-search/element-search.ts","../src/incr-search/list-search-commands.ts","../src/incr-search/list-search-controller.ts","../src/incr-search/list-search-styles.ts","../src/incr-search/tree-list-search-adapter.ts"],"sourcesContent":["import type { FuzzySearch, FuzzySearchOptions, IncrSearchResult } from './types.js';\nimport { Fzf } from 'fzf';\n\nfunction defaultSelector<T>(item: T): string {\n if (typeof item === `string`)\n return item;\n const r = item as Record<string, unknown>;\n if (typeof r.label === `string`)\n return r.label;\n if (typeof r.key === `string`)\n return r.key;\n if (typeof r.value === `string`)\n return r.value;\n return String(item);\n}\n\nexport function createFuzzySearch<T>(\n items: readonly T[],\n options: FuzzySearchOptions<T> = {},\n): FuzzySearch<T> {\n const selector = options.selector ?? defaultSelector<T>;\n // fzf uses a conditional SyncOptionsTuple<T> rest-parameter overload that TypeScript\n // cannot narrow through a spread when T is generic.\n const FzfAny = Fzf as new (list: readonly T[], opts: any) => { find: (q: string) => Array<{ item: T; positions: ReadonlySet<number>; score: number }> };\n const fzf = new FzfAny(items as readonly T[], { selector, ...(options.fzf ?? {}) });\n\n const find = (query: string): ReadonlyArray<IncrSearchResult<T>> => {\n if (!query.trim()) {\n return items.map(item => ({\n item,\n positions: new Set<number>(),\n score: 0,\n }));\n }\n return fzf.find(query).map(r => ({\n item: r.item,\n positions: r.positions,\n score: r.score,\n }));\n };\n\n return { find, items };\n}\n","import type { FuzzySearchOptions } from './types.js';\nimport { createFuzzySearch } from './fuzzy.js';\n\n/**\n * Creates an ixfx-ac-text-compatible `completionProvider` function from a\n * static item list. Uses synchronous fuzzy search wrapped in a Promise so it\n * fits the async provider signature.\n *\n * Each returned item has `positions` populated with matched character indices,\n * which `ixfx-ac-text` uses to render CSS Custom Highlights on the label.\n *\n * Empty query returns all items in original order (no positions).\n * A cancelled signal causes the returned promise to reject with an AbortError.\n */\nexport function createAcCompletionProvider<T extends { label: string }>(\n items: readonly T[],\n options: Pick<FuzzySearchOptions<T>, `selector`> = {},\n): (query: string, signal: AbortSignal) => Promise<Array<T & { positions: ReadonlySet<number> }>> {\n const selector = options.selector ?? ((item: T) => item.label);\n const fuzzy = createFuzzySearch(items, { selector });\n\n return (\n query: string,\n signal: AbortSignal,\n ): Promise<Array<T & { positions: ReadonlySet<number> }>> =>\n new Promise((resolve, reject) => {\n if (signal.aborted) {\n reject(new DOMException(`Aborted`, `AbortError`));\n return;\n }\n\n const results = fuzzy.find(query).map(r => ({ ...r.item, positions: r.positions }));\n\n if (signal.aborted) {\n reject(new DOMException(`Aborted`, `AbortError`));\n return;\n }\n\n resolve(results);\n });\n}\n","import type {\n IncrSearch,\n IncrSearchChangeCallback,\n IncrSearchOptions,\n IncrSearchState,\n} from './types.js';\nimport { createFuzzySearch } from './fuzzy.js';\n\nfunction buildState<T>(results: ReturnType<ReturnType<typeof createFuzzySearch<T>>[`find`]>, query: string): IncrSearchState<T> {\n const positionsByItem = new Map<T, ReadonlySet<number>>();\n for (const r of results) {\n positionsByItem.set(r.item, r.positions);\n }\n return Object.freeze({\n query,\n results: Object.freeze([...results]),\n positionsByItem,\n });\n}\n\nexport function createIncrSearch<T>(options: IncrSearchOptions<T> = {}): IncrSearch<T> {\n let items: readonly T[] = options.items ?? [];\n let query = ``;\n let fuzzy = createFuzzySearch(items, { selector: options.selector, fzf: options.fzf });\n let state: IncrSearchState<T> = buildState(fuzzy.find(query), query);\n let disposed = false;\n\n const observers = new Set<IncrSearchChangeCallback<T>>();\n\n if (options.onChange) {\n observers.add(options.onChange);\n }\n\n const notify = (s: IncrSearchState<T>): void => {\n for (const cb of observers) {\n cb(s);\n }\n };\n\n const run = async (q: string, signal?: AbortSignal): Promise<IncrSearchState<T>> => {\n // Yield to the microtask queue for a consistent async interface\n await Promise.resolve();\n if (signal?.aborted || disposed) {\n return state;\n }\n const results = fuzzy.find(q);\n if (signal?.aborted || disposed) {\n return state;\n }\n state = buildState(results, q);\n notify(state);\n return state;\n };\n\n return {\n get state() {\n return state;\n },\n\n async setItems(newItems: readonly T[], signal?: AbortSignal): Promise<void> {\n items = newItems;\n fuzzy = createFuzzySearch(items, { selector: options.selector, fzf: options.fzf });\n await run(query, signal);\n },\n\n async setQuery(q: string, signal?: AbortSignal): Promise<IncrSearchState<T>> {\n query = q;\n return run(q, signal);\n },\n\n async clearQuery(): Promise<void> {\n query = ``;\n await run(``, undefined);\n },\n\n onChange(cb: IncrSearchChangeCallback<T>): () => void {\n observers.add(cb);\n cb(state);\n return () => {\n observers.delete(cb);\n };\n },\n\n dispose(): void {\n disposed = true;\n observers.clear();\n items = [];\n },\n };\n}\n","import type { FzfOptions } from 'fzf';\nimport type { TreeSearchHost } from '../common/searchable.js';\nimport type { TreeNode } from '../common/types.js';\nimport type { IncrSearchState } from './types.js';\nimport { applyHighlights, buildHighlightTargets, clearHighlights } from './highlight.js';\nimport { createIncrSearch } from './incr-search.js';\n\nconst DEFAULT_HIGHLIGHT_KEY = `incr-search-highlight`;\n\nexport type IncrSearchTreeOptions = {\n selector: (item: { node: TreeNode; depth: number }) => string;\n /**\n * CSS selector for the label elements inside the shadow root.\n * Defaults to `.tree-label` (suitable for ixfx-tree-list).\n * Use `.label` for ixfx-miller-list.\n */\n labelSelector?: string;\n highlightKey?: string;\n input?: HTMLInputElement;\n fzf?: Partial<FzfOptions<{ node: TreeNode; depth: number }>>;\n};\n\ntype SearchItem = { node: TreeNode; depth: number };\n\n/**\n * External-input filter-search controller for `TreeSearchHost` components.\n *\n * @deprecated `ixfx-tree-list` / `ixfx-miller-list` now have a built-in\n * incremental-search popover with navigate / select / filter modes — invoke\n * `el.registry.invoke('list.search.filter')` (see `docs/infra-incremental.md`)\n * instead of wiring an external `<input>`. This class remains for existing\n * consumers and covers filter mode only.\n *\n * @example Using with ixfx-tree-list:\n * ```typescript\n * const ctrl = new IncrSearchTreeController(myTreeList, {\n * selector: item => item.node.item.label,\n * });\n * ctrl.connect();\n * ```\n *\n * @example Using with ixfx-miller-list (different label selector):\n * ```typescript\n * const ctrl = new IncrSearchTreeController(myMillerList, {\n * selector: item => item.node.item.label,\n * labelSelector: '.label',\n * });\n * ctrl.connect();\n * ```\n */\nexport class IncrSearchTreeController {\n #el: TreeSearchHost;\n #opts: IncrSearchTreeOptions;\n #search: ReturnType<typeof createIncrSearch<SearchItem>>;\n #unsub: (() => void) | undefined;\n #labelMap = new Map<string, SearchItem>();\n\n constructor(el: TreeSearchHost, opts: IncrSearchTreeOptions) {\n this.#el = el;\n this.#opts = opts;\n this.#search = createIncrSearch<SearchItem>({\n selector: opts.selector,\n fzf: opts.fzf,\n });\n }\n\n connect(): void {\n this.disconnect();\n\n const items = this.#el.getNodes();\n for (const item of items) {\n this.#labelMap.set(this.#opts.selector(item), item);\n }\n void this.#search.setItems(items);\n\n if (this.#opts.input) {\n this.#opts.input.addEventListener(`input`, this.#onInput);\n this.#opts.input.addEventListener(`keydown`, this.#onKeydown);\n }\n\n this.#unsub = this.#search.onChange(state => this.#onStateChange(state));\n }\n\n disconnect(): void {\n if (this.#unsub) {\n this.#unsub();\n this.#unsub = undefined;\n }\n if (this.#opts.input) {\n this.#opts.input.removeEventListener(`input`, this.#onInput);\n this.#opts.input.removeEventListener(`keydown`, this.#onKeydown);\n }\n this.#el.filterPredicate = undefined;\n clearHighlights({ key: this.#opts.highlightKey ?? DEFAULT_HIGHLIGHT_KEY });\n this.#labelMap.clear();\n }\n\n async setQuery(query: string): Promise<void> {\n await this.#search.setQuery(query);\n }\n\n async clearQuery(): Promise<void> {\n await this.#search.clearQuery();\n }\n\n #onInput = () => {\n const value = this.#opts.input?.value ?? ``;\n void this.setQuery(value);\n };\n\n #onKeydown = (e: KeyboardEvent) => {\n if (e.key === `Escape` && this.#opts.input) {\n this.#opts.input.value = ``;\n void this.clearQuery();\n }\n };\n\n #onStateChange(state: IncrSearchState<SearchItem>): void {\n const matched = new Set(state.results.map(r => r.item.node.item.key));\n const hasQuery = state.query.trim().length > 0;\n this.#el.filterPredicate = hasQuery && matched.size > 0\n ? (node: TreeNode, _depth: number) => matched.has(node.item.key)\n : undefined;\n\n const key = this.#opts.highlightKey ?? DEFAULT_HIGHLIGHT_KEY;\n if (!this.#el.shadowRoot)\n return;\n\n if (!state.query.trim()) {\n clearHighlights({ key });\n return;\n }\n\n const labelSelector = this.#opts.labelSelector ?? `.tree-label`;\n const targets = buildHighlightTargets(\n this.#el.shadowRoot,\n labelSelector,\n state.positionsByItem,\n (labelEl) => {\n const text = labelEl.textContent ?? ``;\n return this.#labelMap.get(text);\n },\n labelEl => labelEl.textContent ?? ``,\n );\n applyHighlights(targets, { key });\n }\n}\n","import type { ListSearchAdapter } from './list-search-controller.js';\n\n/** One searchable item in data-backed mode. */\nexport type DataListSearchItem = { key: string; index: number };\n\nexport interface DataListSearchAdapterOptions {\n /** Total number of items in the whole collection (search sees all of them). */\n rawCount: () => number;\n /** Raw (unfiltered) index → key. */\n rawKeyAt: (index: number) => string;\n /** Raw (unfiltered) index → text matched against the query. */\n rawSearchTextAt: (index: number) => string;\n /** `filter` mode: the host hides items whose key is not in `matchedKeys` (`undefined` clears). */\n onFilterChange?: (matchedKeys: ReadonlySet<string> | undefined) => void;\n /** `navigate` + Enter: activate the item with this key. Falls back to `focusKey`. */\n onActivate?: (key: string) => void;\n /** Where matched-character highlights are painted (usually the shadow root). */\n getHighlightRoot?: () => ShadowRoot | Element | null | undefined;\n}\n\n/**\n * A {@link ListSearchAdapter} over a data-backed list. Unlike the element\n * adapter it never materialises an element per item — it reads keys and text\n * straight from the source by index. Highlights are painted on whatever\n * captions are currently rendered in the shadow window; offscreen matches paint\n * when scrolled into view. See `docs/infra-incremental.md`.\n */\nexport function createDataListSearchAdapter(\n host: { focusKey: (key: string) => void; selectKeys: (keys: Iterable<string>) => void },\n options: DataListSearchAdapterOptions,\n): ListSearchAdapter<DataListSearchItem> {\n return {\n getItems: () =>\n Array.from({ length: options.rawCount() }, (_, i) => ({\n key: options.rawKeyAt(i),\n index: i,\n })),\n getLabel: item => options.rawSearchTextAt(item.index),\n getKey: item => item.key,\n focusItem: (item) => {\n if (item)\n host.focusKey(item.key);\n },\n activateItem: (item) => {\n if (options.onActivate)\n options.onActivate(item.key);\n else\n host.focusKey(item.key);\n },\n selectItems: (items) => {\n host.selectKeys(items.map(i => i.key));\n },\n applyFilter: (matched) => {\n options.onFilterChange?.(matched);\n },\n highlightRoot: options.getHighlightRoot,\n highlightSelector: `.cell .caption`,\n highlightKeyOf: el => el.closest(`.cell`)?.getAttribute(`data-key`) ?? undefined,\n highlightText: el => el.textContent ?? ``,\n highlightKey: `grid-list-search`,\n };\n}\n","/**\n * Helpers for key-based selection on the Element-flavoured list components\n * (`ixfx-vertical-list`, `ixfx-detail-list`, `ixfx-grid-list`).\n *\n * A \"key\" is a stable string the host puts on each item element — `data-key`\n * (preferred) or `data-value`. It survives the host rebuilding the item set\n * (re-fetch, re-sort, filter) where raw `Element` references do not.\n */\n\n/**\n * The stable key for an item element: `data-key`, then `data-value`, else\n * `undefined`.\n */\nexport function keyForElement(el: Element): string | undefined {\n return el.getAttribute(`data-key`) ?? el.getAttribute(`data-value`) ?? undefined;\n}\n\n/**\n * A lazily-built key → element index over a container. Rebuilt on first use\n * and after any child-list mutation under `root`; `invalidate()` forces a\n * rebuild on the next `get()`.\n *\n * ```ts\n * #keyIndex = new KeyedElementIndex(this);\n * // ...\n * const el = this.#keyIndex.get(`row-42`);\n * // on disconnect:\n * this.#keyIndex.dispose();\n * ```\n */\nexport class KeyedElementIndex {\n readonly #root: Element;\n readonly #selector: string;\n readonly #map = new Map<string, Element>();\n #dirty = true;\n readonly #observer: MutationObserver;\n\n /**\n * @param root Container whose descendants are indexed.\n * @param itemSelector Which descendants count as items (default: any `[data-key]`).\n */\n constructor(root: Element, itemSelector = `[data-key]`) {\n this.#root = root;\n this.#selector = itemSelector;\n this.#observer = new MutationObserver(() => {\n this.#dirty = true;\n });\n this.#observer.observe(root, { childList: true, subtree: true });\n }\n\n /** The element with this key, or `undefined`. First match wins on duplicates. */\n get(key: string): Element | undefined {\n if (this.#dirty) {\n this.#rebuild();\n }\n return this.#map.get(key);\n }\n\n /** Force a rebuild on the next `get()` — e.g. after a `data-key` attribute change. */\n invalidate(): void {\n this.#dirty = true;\n }\n\n /** Stop observing and drop the cache. */\n dispose(): void {\n this.#observer.disconnect();\n this.#map.clear();\n }\n\n #rebuild(): void {\n this.#map.clear();\n for (const el of this.#root.querySelectorAll(this.#selector)) {\n const key = keyForElement(el);\n if (key !== undefined && !this.#map.has(key)) {\n this.#map.set(key, el);\n }\n }\n this.#dirty = false;\n }\n}\n","import type { ListSearchAdapter } from './list-search-controller.js';\nimport { keyForElement } from '../interaction/keyed-list.js';\n\n/**\n * The slice of a list component the element adapter drives. `ixfx-grid-list`,\n * `ixfx-vertical-list` and `ixfx-detail-list` all satisfy it.\n */\nexport interface ElementListSearchHost extends HTMLElement {\n focusKey: (key: string) => void;\n selectKeys: (keys: Iterable<string>) => void;\n}\n\nexport interface ElementListSearchAdapterOptions {\n /** Selector for item elements, relative to the host. Default `:scope > *`. */\n itemSelector?: string;\n getLabel?: (el: Element) => string;\n getKey?: (el: Element) => string;\n /** `CSS.highlights` registry key for matched-character highlights. */\n highlightKey?: string;\n}\n\nfunction defaultLabel(el: Element): string {\n return el.getAttribute(`data-search-label`) ?? el.textContent?.trim() ?? ``;\n}\n\n/**\n * A {@link ListSearchAdapter} over the light-DOM item elements of a list\n * component. Filter mode toggles `hidden` (only on elements it hid itself, so a\n * consumer's own `hidden` items are left alone). Highlights are painted on the\n * item elements in the light DOM — the consuming page styles\n * `::highlight(<highlightKey>)`. See `docs/infra-incremental.md`.\n */\nexport function createElementListSearchAdapter(\n host: ElementListSearchHost,\n options: ElementListSearchAdapterOptions = {},\n): ListSearchAdapter<Element> {\n const itemSelector = options.itemSelector ?? `:scope > *`;\n const getLabel = options.getLabel ?? defaultLabel;\n const getKey = options.getKey ?? (el => keyForElement(el) ?? defaultLabel(el));\n const hidden = new Set<Element>();\n\n const items = (): Element[] => Array.from(host.querySelectorAll(itemSelector));\n\n return {\n getItems: items,\n getLabel,\n getKey,\n focusItem: (el) => {\n if (el)\n host.focusKey(getKey(el));\n },\n activateItem: (el) => {\n el.dispatchEvent(new MouseEvent(`click`, { bubbles: true, composed: true }));\n },\n selectItems: (els) => {\n host.selectKeys(els.map(getKey));\n },\n applyFilter: (matched) => {\n if (matched === undefined) {\n for (const el of hidden)\n (el as HTMLElement).hidden = false;\n hidden.clear();\n return;\n }\n for (const el of items()) {\n if (matched.has(getKey(el))) {\n if (hidden.delete(el))\n (el as HTMLElement).hidden = false;\n } else {\n (el as HTMLElement).hidden = true;\n hidden.add(el);\n }\n }\n },\n highlightRoot: () => host,\n highlightSelector: itemSelector,\n highlightKeyOf: el => getKey(el),\n highlightText: getLabel,\n highlightKey: options.highlightKey,\n container: () => host,\n };\n}\n","import type {\n ElementIncrSearchOptions,\n IncrSearchChangeCallback,\n IncrSearchState,\n} from './types.js';\nimport { applyHighlights, buildHighlightTargets, clearHighlights } from './highlight.js';\nimport { createIncrSearch } from './incr-search.js';\n\ntype ElementItem = { readonly key: string; readonly label: string };\n\nconst defaultGetLabel = (el: Element): string => el.textContent?.trim() ?? ``;\n\nfunction defaultGetKey(el: Element): string {\n return el.getAttribute(`data-key`)\n ?? el.getAttribute(`data-value`)\n ?? el.textContent?.trim()\n ?? ``;\n}\n\nexport type ElementIncrSearch = {\n readonly setQuery: (query: string, signal?: AbortSignal) => Promise<void>;\n readonly clearQuery: () => Promise<void>;\n readonly refresh: () => void;\n readonly onChange: (cb: IncrSearchChangeCallback<ElementItem>) => () => void;\n readonly dispose: () => void;\n};\n\n/**\n * DOM filter-search over a container's item elements (sets `hidden` on\n * non-matches, applies highlights).\n *\n * @deprecated The list components (`ixfx-grid-list`, `ixfx-vertical-list`,\n * `ixfx-detail-list`, …) now have a built-in navigate / select / filter search\n * popover — see `docs/infra-incremental.md` and `ListSearchController`. Kept for\n * standalone / non-component use.\n */\nexport function createElementIncrSearch(opts: ElementIncrSearchOptions): ElementIncrSearch {\n const {\n container,\n itemSelector,\n getLabel = defaultGetLabel,\n getKey = defaultGetKey,\n labelSelector,\n highlightKey,\n } = opts;\n\n // Map from key → element reference for highlight lookup\n let elementByKey = new Map<string, Element>();\n\n const search = createIncrSearch<ElementItem>({\n selector: item => item.label,\n fzf: opts.fzf,\n });\n\n const updateVisibility = (state: IncrSearchState<ElementItem>): void => {\n const matchedKeys = new Set(state.results.map(r => r.item.key));\n const hasQuery = state.query.trim().length > 0;\n\n for (const [key, el] of elementByKey) {\n (el as HTMLElement).hidden = hasQuery ? !matchedKeys.has(key) : false;\n }\n };\n\n const updateHighlights = (state: IncrSearchState<ElementItem>): void => {\n if (!state.query.trim()) {\n clearHighlights({ key: highlightKey });\n return;\n }\n\n const sel = labelSelector ?? itemSelector;\n const targets = buildHighlightTargets(\n container,\n sel,\n state.positionsByItem,\n (el) => {\n const key = getKey(el);\n // Find the ElementItem whose key matches this element's key\n const result = state.results.find(r => r.item.key === key);\n return result?.item;\n },\n el => getLabel(el),\n );\n applyHighlights(targets, { key: highlightKey });\n };\n\n const unsubscribeState = search.onChange((state) => {\n updateVisibility(state);\n updateHighlights(state);\n opts.onChange?.(state);\n });\n\n let refreshPending = false;\n\n const refresh = (): void => {\n if (refreshPending)\n return;\n refreshPending = true;\n void Promise.resolve().then(() => {\n refreshPending = false;\n elementByKey = new Map<string, Element>();\n const els = container.querySelectorAll(itemSelector);\n const items: ElementItem[] = [];\n for (const el of els) {\n const key = getKey(el);\n elementByKey.set(key, el);\n items.push({ key, label: getLabel(el) });\n }\n void search.setItems(items);\n });\n };\n\n const observer = new MutationObserver(() => refresh());\n observer.observe(container, { childList: true, subtree: false });\n\n refresh();\n\n return {\n async setQuery(query, signal) {\n await search.setQuery(query, signal);\n },\n\n async clearQuery() {\n await search.clearQuery();\n },\n\n refresh,\n\n onChange(cb) {\n return search.onChange(cb);\n },\n\n dispose() {\n observer.disconnect();\n unsubscribeState();\n search.dispose();\n clearHighlights({ key: highlightKey });\n },\n };\n}\n","import type { CommandRegistry } from '@clinth/ui-commands';\nimport type { ListSearchController, ListSearchMode } from './list-search-controller.js';\n\n/** Command ids registered by {@link registerListSearchCommands}, keyed by mode. */\nexport const LIST_SEARCH_COMMAND_IDS: Readonly<Record<ListSearchMode, string>> = {\n navigate: `list.search.navigate`,\n select: `list.search.select`,\n filter: `list.search.filter`,\n};\n\nconst LABELS: Readonly<Record<ListSearchMode, { label: string; description: string }>> = {\n navigate: { label: `Find`, description: `Type to move the cursor to the best match` },\n select: { label: `Find & Select`, description: `Type to select every matching item` },\n filter: { label: `Filter`, description: `Type to hide items that don't match` },\n};\n\nexport interface RegisterListSearchCommandsOptions {\n /**\n * Prefix for command ids, e.g. `grid-list` ⇒ `grid-list.search.filter`. When\n * omitted the shared ids from {@link LIST_SEARCH_COMMAND_IDS} are used so a\n * single dispatch (`ixfx-grouped-item-lister.dispatch('list.search.filter')`)\n * fans out to every list.\n */\n idPrefix?: string;\n}\n\n/**\n * Register one command per mode the controller offers (see\n * `controller.registeredModes`). Each command opens the search popover in its\n * mode. Returns a function that unregisters them again — call it from\n * `disconnectedCallback`. See `docs/infra-incremental.md`.\n */\nexport function registerListSearchCommands<T>(\n registry: CommandRegistry<unknown>,\n controller: ListSearchController<T>,\n options: RegisterListSearchCommandsOptions = {},\n): () => void {\n const id = (mode: ListSearchMode): string =>\n options.idPrefix ? `${options.idPrefix}.search.${mode}` : LIST_SEARCH_COMMAND_IDS[mode];\n\n const registered: string[] = [];\n for (const mode of controller.registeredModes) {\n const commandId = id(mode);\n if (registry.has(commandId))\n continue;\n registry.register({\n id: commandId,\n label: LABELS[mode].label,\n description: LABELS[mode].description,\n execute: () => controller.open(mode),\n });\n registered.push(commandId);\n }\n\n return () => {\n for (const commandId of registered)\n registry.unregister(commandId);\n };\n}\n","import type { FzfOptions } from 'fzf';\nimport type { ReactiveController, ReactiveControllerHost, TemplateResult } from 'lit';\nimport type { IncrSearchResult, IncrSearchState } from './types.js';\nimport { html, nothing } from 'lit';\nimport { applyHighlights, buildHighlightTargets, clearHighlights } from './highlight.js';\nimport { createIncrSearch } from './incr-search.js';\n\n/**\n * The three things incremental search can do to a list / tree component. See\n * `docs/infra-incremental.md`.\n *\n * - `navigate` — move the cursor to the best match; ↑/↓ cycle between matches;\n * Enter activates the current match and closes.\n * - `select` — (re)select every item whose label matches, live as you type.\n * - `filter` — hide items that don't match; restored when the popover closes.\n */\nexport type ListSearchMode = `navigate` | `select` | `filter`;\n\n/** Canonical order — used for the switch-row and to normalise a requested set. */\nexport const LIST_SEARCH_MODES: readonly ListSearchMode[] = [`navigate`, `select`, `filter`];\n\nconst DEFAULT_HIGHLIGHT_KEY = `incr-search-highlight`;\nconst INPUT_CLASS = `list-search-input`;\n\ntype SearchItem = { readonly key: string; readonly label: string };\n\n/**\n * Everything {@link ListSearchController} needs to drive a specific host. One is\n * supplied per component; `createElementListSearchAdapter` and\n * `createTreeListSearchAdapter` cover the common shapes.\n */\nexport interface ListSearchAdapter<TItem> {\n /** All searchable items, in display order. */\n getItems: () => readonly TItem[];\n /** Text matched against the query. */\n getLabel: (item: TItem) => string;\n /** Stable identity for an item. */\n getKey: (item: TItem) => string;\n /** `navigate`: move the cursor to `item` and reveal it. `undefined` = no-op. */\n focusItem: (item: TItem | undefined) => void;\n /** `navigate` + Enter: activate `item` (falls back to `focusItem`). */\n activateItem?: (item: TItem) => void;\n /** `select` / \"Select matches\": replace the selection with `items`. */\n selectItems: (items: readonly TItem[]) => void;\n /** `filter`: hide items whose key is not in `matchedKeys`; `undefined` clears the filter. */\n applyFilter: (matchedKeys: ReadonlySet<string> | undefined) => void;\n /** Where matched-character highlights are painted (usually the shadow root). */\n highlightRoot?: () => ShadowRoot | Element | null | undefined;\n /** CSS selector for the label elements inside {@link highlightRoot}. */\n highlightSelector?: string;\n /** Given a label element, the key of the item it belongs to. */\n highlightKeyOf?: (labelEl: Element) => string | undefined;\n /** Text of a label element as fzf saw it (defaults to `el.textContent`). */\n highlightText?: (labelEl: Element) => string;\n /** `CSS.highlights` registry key. Defaults to `incr-search-highlight`. */\n highlightKey?: string;\n /** Element whose child-list mutations should trigger a `refresh()`. */\n container?: () => Element | null | undefined;\n}\n\nexport interface ListSearchControllerOptions<TItem> {\n adapter: ListSearchAdapter<TItem>;\n /**\n * Modes this instance offers, as entry points and as in-popover switch\n * targets. The controller intersects this with {@link LIST_SEARCH_MODES}, so\n * pass the intersection of the component's own capability and any\n * consumer-set `search-modes`. Empty ⇒ search disabled. Default: all three.\n */\n modes?: readonly ListSearchMode[];\n fzf?: Partial<FzfOptions<SearchItem>>;\n placeholder?: string;\n}\n\nexport type ListSearchHost = ReactiveControllerHost & HTMLElement & {\n renderRoot?: DocumentFragment | HTMLElement;\n};\n\n/**\n * Shared brain for the three-mode incremental-search popover. A Lit\n * `ReactiveController`: the host adds `listSearchStyles` to `static styles`,\n * drops `${controller.renderField()}` into `render()`, and registers the\n * commands with {@link registerListSearchCommands}. See `docs/infra-incremental.md`.\n */\nexport class ListSearchController<TItem> implements ReactiveController {\n #host: ListSearchHost;\n #adapter: ListSearchAdapter<TItem>;\n #modes: readonly ListSearchMode[];\n #placeholder: string;\n #search: ReturnType<typeof createIncrSearch<SearchItem>>;\n #unsub: (() => void) | undefined;\n #observer: MutationObserver | undefined;\n\n #itemByKey = new Map<string, TItem>();\n\n #open = false;\n #mode: ListSearchMode = `filter`;\n #query = ``;\n #matchIndex = 0;\n #matches: ReadonlyArray<IncrSearchResult<SearchItem>> = [];\n /** Whether a filter has been pushed to the adapter and still needs undoing. */\n #filterActive = false;\n\n constructor(host: ListSearchHost, options: ListSearchControllerOptions<TItem>) {\n this.#host = host;\n this.#adapter = options.adapter;\n const requested = new Set(options.modes ?? LIST_SEARCH_MODES);\n this.#modes = LIST_SEARCH_MODES.filter(m => requested.has(m));\n this.#mode = this.#modes[0] ?? `filter`;\n this.#placeholder = options.placeholder ?? `Search…`;\n this.#search = createIncrSearch<SearchItem>({ selector: i => i.label, fzf: options.fzf });\n this.#unsub = this.#search.onChange(state => this.#onState(state));\n // Register last: on an already-connected host `addController` invokes\n // `hostConnected()` synchronously, which reads `#adapter` / `#search`.\n host.addController(this);\n }\n\n // --- Public surface ---\n\n /** `false` when no modes are available — the host should register no commands and render no field. */\n get enabled(): boolean {\n return this.#modes.length > 0;\n }\n\n /** The modes actually offered (component capability ∩ consumer request). */\n get registeredModes(): readonly ListSearchMode[] {\n return this.#modes;\n }\n\n /**\n * Replace the offered mode set (normalised to {@link LIST_SEARCH_MODES}\n * order). If the current mode is dropped the popover closes and falls back to\n * the first remaining mode. Callers should re-run\n * {@link registerListSearchCommands} afterwards.\n */\n setModes(modes: readonly ListSearchMode[]): void {\n const set = new Set(modes);\n this.#modes = LIST_SEARCH_MODES.filter(m => set.has(m));\n if (!this.#modes.includes(this.#mode)) {\n if (this.#open)\n this.close();\n this.#mode = this.#modes[0] ?? `filter`;\n }\n this.#host.requestUpdate();\n }\n\n get isOpen(): boolean {\n return this.#open;\n }\n\n get mode(): ListSearchMode {\n return this.#mode;\n }\n\n get query(): string {\n return this.#query;\n }\n\n get matchCount(): number {\n return this.#matches.length;\n }\n\n get matchIndex(): number {\n return this.#matchIndex;\n }\n\n // --- ReactiveController lifecycle ---\n\n hostConnected(): void {\n const container = this.#adapter.container?.();\n if (container) {\n this.#observer = new MutationObserver(() => this.refresh());\n this.#observer.observe(container, { childList: true, subtree: false });\n }\n this.refresh();\n }\n\n hostDisconnected(): void {\n this.#observer?.disconnect();\n this.#observer = undefined;\n if (this.#open)\n this.#teardownEffects();\n this.#open = false;\n this.#unsub?.();\n this.#unsub = undefined;\n this.#search.dispose();\n }\n\n // --- Commands / actions ---\n\n /** Open the popover in `mode` (clamped to the available set). */\n open(mode: ListSearchMode): void {\n if (!this.enabled)\n return;\n this.#mode = this.#modes.includes(mode) ? mode : this.#modes[0];\n this.#open = true;\n this.#query = ``;\n this.#matchIndex = 0;\n this.#matches = [];\n this.refresh();\n void this.#search.setQuery(``);\n this.#host.requestUpdate();\n void this.#host.updateComplete.then(() => this.#focusInput());\n }\n\n /** Close the popover, restoring any live filter. Selection / cursor stay put. */\n close(): void {\n if (!this.#open)\n return;\n this.#open = false;\n this.#teardownEffects();\n this.#query = ``;\n this.#matches = [];\n void this.#search.clearQuery();\n this.#host.requestUpdate();\n this.#host.focus();\n }\n\n setQuery(query: string): void {\n this.#query = query;\n this.#matchIndex = 0;\n void this.#search.setQuery(query);\n }\n\n /** Re-interpret the current query under a new mode (undoing the old mode's effect). */\n switchMode(next: ListSearchMode): void {\n if (!this.#modes.includes(next) || next === this.#mode)\n return;\n if (this.#mode === `filter` && this.#filterActive) {\n this.#adapter.applyFilter(undefined);\n this.#filterActive = false;\n }\n this.#mode = next;\n this.#applyMode();\n this.#host.requestUpdate();\n void this.#host.updateComplete.then(() => this.#focusInput());\n }\n\n /** One-shot: turn the current match set into the selection, staying in the current mode. */\n selectMatches(): void {\n if (!this.#modes.includes(`select`))\n return;\n this.#adapter.selectItems(this.#currentItems());\n this.#host.requestUpdate();\n }\n\n nextMatch(): void {\n this.#cycle(1);\n }\n\n prevMatch(): void {\n this.#cycle(-1);\n }\n\n /** Enter: in `navigate` activate the current match; then close. */\n commit(): void {\n if (this.#mode === `navigate`) {\n const item = this.#itemFor(this.#matches[this.#matchIndex]);\n if (item) {\n if (this.#adapter.activateItem)\n this.#adapter.activateItem(item);\n else\n this.#adapter.focusItem(item);\n }\n }\n this.close();\n }\n\n /** Rebuild the searchable item set from the adapter. Called on open and on container mutation. */\n refresh(): void {\n this.#itemByKey.clear();\n const items: SearchItem[] = [];\n for (const it of this.#adapter.getItems()) {\n const key = this.#adapter.getKey(it);\n this.#itemByKey.set(key, it);\n items.push({ key, label: this.#adapter.getLabel(it) });\n }\n void this.#search.setItems(items);\n }\n\n // --- Rendering ---\n\n /** Popover markup. Pair with `listSearchStyles` in the host's `static styles`. */\n renderField(): TemplateResult | typeof nothing {\n if (!this.enabled)\n return nothing;\n const hasQuery = this.#query.trim().length > 0;\n const others = this.#modes.filter(m => m !== this.#mode);\n const showSelectMatches = this.#modes.includes(`select`) && this.#mode !== `select`;\n return html`\n <div class=\"list-search\" part=\"search\" ?hidden=${!this.#open}>\n <div class=\"list-search-row\">\n <span class=\"list-search-mode\">${this.#mode}</span>\n <input\n class=${INPUT_CLASS}\n type=\"text\"\n part=\"search-input\"\n placeholder=${this.#placeholder}\n .value=${this.#query}\n @input=${this.#onInput}\n @keydown=${this.#onKeydown}\n />\n ${hasQuery\n ? html`<span class=\"list-search-count\">${this.#matches.length === 0 ? `0` : this.#matchIndex + 1} / ${this.#matches.length}</span>`\n : nothing}\n ${this.#mode === `navigate` && this.#matches.length > 1\n ? html`\n <button class=\"list-search-icon-btn\" title=\"Previous match (↑)\" @click=${() => this.prevMatch()}>‹</button>\n <button class=\"list-search-icon-btn\" title=\"Next match (↓)\" @click=${() => this.nextMatch()}>›</button>\n `\n : nothing}\n <button class=\"list-search-icon-btn\" title=\"Close (Esc)\" @click=${() => this.close()}>✕</button>\n </div>\n ${others.length > 0 || showSelectMatches\n ? html`\n <div class=\"list-search-switch\">\n ${others.map(m => html`<button class=\"list-search-btn\" @click=${() => this.switchMode(m)}>${m}</button>`)}\n ${showSelectMatches\n ? html`<button class=\"list-search-btn\" @click=${() => this.selectMatches()}>Select matches</button>`\n : nothing}\n </div>\n `\n : nothing}\n </div>\n `;\n }\n\n // --- Internals ---\n\n #focusInput(): void {\n this.#host.renderRoot?.querySelector<HTMLInputElement>(`.${INPUT_CLASS}`)?.focus();\n }\n\n #onInput = (e: Event): void => {\n this.setQuery((e.target as HTMLInputElement).value);\n };\n\n #onKeydown = (e: KeyboardEvent): void => {\n switch (e.key) {\n case `Escape`:\n e.preventDefault();\n e.stopPropagation();\n this.close();\n break;\n case `Enter`:\n e.preventDefault();\n e.stopPropagation();\n this.commit();\n break;\n case `ArrowDown`:\n if (this.#mode === `navigate`) {\n e.preventDefault();\n this.nextMatch();\n }\n break;\n case `ArrowUp`:\n if (this.#mode === `navigate`) {\n e.preventDefault();\n this.prevMatch();\n }\n break;\n default:\n break;\n }\n };\n\n #cycle(delta: number): void {\n if (this.#matches.length === 0)\n return;\n const n = this.#matches.length;\n this.#matchIndex = (this.#matchIndex + delta + n) % n;\n if (this.#mode === `navigate`)\n this.#adapter.focusItem(this.#itemFor(this.#matches[this.#matchIndex]));\n this.#host.requestUpdate();\n }\n\n #itemFor(match: IncrSearchResult<SearchItem> | undefined): TItem | undefined {\n return match ? this.#itemByKey.get(match.item.key) : undefined;\n }\n\n #currentItems(): TItem[] {\n return this.#matches\n .map(m => this.#itemFor(m))\n .filter((x): x is TItem => x !== undefined);\n }\n\n get #highlightKey(): string {\n return this.#adapter.highlightKey ?? DEFAULT_HIGHLIGHT_KEY;\n }\n\n #onState(state: IncrSearchState<SearchItem>): void {\n if (!this.#open)\n return;\n const hasQuery = state.query.trim().length > 0;\n this.#matches = hasQuery ? [...state.results] : [];\n if (this.#matchIndex >= this.#matches.length)\n this.#matchIndex = 0;\n this.#applyMode();\n this.#host.requestUpdate();\n }\n\n #applyMode(): void {\n const hasQuery = this.#query.trim().length > 0;\n\n if (!hasQuery) {\n if (this.#filterActive) {\n this.#adapter.applyFilter(undefined);\n this.#filterActive = false;\n }\n this.#applyHighlights();\n return;\n }\n\n switch (this.#mode) {\n case `navigate`:\n this.#adapter.focusItem(this.#itemFor(this.#matches[this.#matchIndex]));\n break;\n case `select`:\n this.#adapter.selectItems(this.#currentItems());\n break;\n case `filter`:\n this.#adapter.applyFilter(new Set(this.#matches.map(m => m.item.key)));\n this.#filterActive = true;\n break;\n }\n this.#applyHighlights();\n }\n\n #applyHighlights(): void {\n const root = this.#adapter.highlightRoot?.();\n const selector = this.#adapter.highlightSelector;\n const keyOf = this.#adapter.highlightKeyOf;\n if (!root || !selector || !keyOf)\n return;\n if (this.#query.trim().length === 0) {\n clearHighlights({ key: this.#highlightKey });\n return;\n }\n const state = this.#search.state;\n const targets = buildHighlightTargets(\n root,\n selector,\n state.positionsByItem,\n (el) => {\n const key = keyOf(el);\n return key === undefined ? undefined : state.results.find(r => r.item.key === key)?.item;\n },\n this.#adapter.highlightText ?? (el => el.textContent ?? ``),\n );\n // Highlights are cosmetic — never let a bad range (label / positions\n // mismatch) surface as an unhandled rejection through the async engine.\n try {\n applyHighlights(targets, { key: this.#highlightKey });\n } catch {\n clearHighlights({ key: this.#highlightKey });\n }\n }\n\n #teardownEffects(): void {\n if (this.#filterActive) {\n this.#adapter.applyFilter(undefined);\n this.#filterActive = false;\n }\n clearHighlights({ key: this.#highlightKey });\n }\n}\n","import { css } from 'lit';\n\n/**\n * Styles for the incremental-search popover rendered by\n * `ListSearchController.renderField()`. Add to a component's `static styles`;\n * the class names are the contract between this fragment and `renderField()`.\n *\n * The host must give the popover a positioned ancestor (a wrapper with\n * `position: relative`, or `:host { position: relative }`). Tunables:\n * `--list-search-inset` (default `8px`) offsets it from the top-right corner.\n *\n * See `docs/infra-incremental.md`.\n */\nexport const listSearchStyles = css`\n .list-search {\n position: absolute;\n top: var(--list-search-inset, 8px);\n right: var(--list-search-inset, 8px);\n z-index: 20;\n display: flex;\n flex-direction: column;\n gap: 4px;\n padding: 6px;\n box-sizing: border-box;\n background: var(--surface-4, #2a2a2a);\n color: var(--surface-3-text, inherit);\n border: 1px solid var(--border, #444);\n border-radius: var(--radius-m, 6px);\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);\n font-size: var(--text-s, 0.85em);\n }\n\n .list-search[hidden] {\n display: none;\n }\n\n .list-search-row {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .list-search-mode {\n flex: none;\n padding: 1px 7px;\n border-radius: 999px;\n font-weight: 600;\n text-transform: capitalize;\n background: var(--accent, #60a5fa);\n color: var(--accent-text, #000);\n }\n\n .list-search-input {\n flex: 1;\n min-width: 140px;\n background: transparent;\n border: none;\n outline: none;\n color: inherit;\n font: inherit;\n }\n\n .list-search-count {\n flex: none;\n opacity: 0.6;\n font-variant-numeric: tabular-nums;\n white-space: nowrap;\n }\n\n .list-search-switch {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n }\n\n .list-search-btn {\n padding: 1px 7px;\n background: var(--surface-3, #333);\n color: inherit;\n border: 1px solid var(--border, #444);\n border-radius: var(--radius-s, 4px);\n cursor: pointer;\n font: inherit;\n text-transform: capitalize;\n }\n\n .list-search-btn:hover {\n background: var(--item-bg-tickled, #444);\n }\n\n .list-search-icon-btn {\n flex: none;\n padding: 0 2px;\n background: transparent;\n border: none;\n color: var(--surface-muted-text, #888);\n cursor: pointer;\n font-size: 1.1em;\n line-height: 1;\n }\n\n .list-search-icon-btn:hover {\n color: inherit;\n }\n`;\n","import type { TreeSearchHost } from '../common/tree-component.js';\nimport type { TreeNode } from '../common/types.js';\nimport type { ListSearchAdapter } from './list-search-controller.js';\n\ntype TreeSearchItem = { node: TreeNode; depth: number };\n\nexport interface TreeListSearchAdapterOptions {\n /** Label-element selector inside the shadow root. Default `.tree-label`; `ixfx-miller-list` uses `.label`. */\n labelSelector?: string;\n /** `CSS.highlights` registry key for matched-character highlights. */\n highlightKey?: string;\n getLabel?: (item: TreeSearchItem) => string;\n}\n\n/**\n * A {@link ListSearchAdapter} over any `TreeSearchHost` (`ixfx-tree-list`,\n * `ixfx-miller-list`, `ixfx-crumb-navigation`). Navigate reveals the match\n * (expands its ancestors, moves the cursor); select drives `selectMany`; filter\n * sets `filterPredicate`. The item set is the whole tree — `getNodes()` returns\n * every node regardless of expansion or an active filter — so refining a query\n * can always re-surface a node. See `docs/infra-incremental.md`.\n */\nexport function createTreeListSearchAdapter(\n host: TreeSearchHost,\n options: TreeListSearchAdapterOptions = {},\n): ListSearchAdapter<TreeSearchItem> {\n const getLabel = options.getLabel ?? ((item: TreeSearchItem) => item.node.item.label);\n\n return {\n getItems: () => host.getNodes(),\n getLabel,\n getKey: item => item.node.item.key,\n focusItem: (item) => {\n if (item)\n host.revealKey(item.node.item.key);\n },\n activateItem: (item) => {\n host.revealKey(item.node.item.key);\n host.select(item.node);\n },\n selectItems: (items) => {\n host.selectMany(items.map(i => i.node));\n },\n applyFilter: (matched) => {\n host.filterPredicate = matched === undefined\n ? undefined\n : (node: TreeNode) => matched.has(node.item.key);\n },\n highlightRoot: () => host.shadowRoot,\n highlightSelector: options.labelSelector ?? `.tree-label`,\n highlightKeyOf: el => (el.closest(`[data-key]`) as HTMLElement | null)?.dataset.key,\n highlightKey: options.highlightKey,\n };\n}\n"],"mappings":";;;;AAGA,SAAS,gBAAmB,MAAiB;CAC3C,IAAI,OAAO,SAAS,UAClB,OAAO;CACT,MAAM,IAAI;CACV,IAAI,OAAO,EAAE,UAAU,UACrB,OAAO,EAAE;CACX,IAAI,OAAO,EAAE,QAAQ,UACnB,OAAO,EAAE;CACX,IAAI,OAAO,EAAE,UAAU,UACrB,OAAO,EAAE;CACX,OAAO,OAAO,IAAI;AACpB;AAEA,SAAgB,kBACd,OACA,UAAiC,CAAC,GAClB;CAChB,MAAM,WAAW,QAAQ,YAAY;CAIrC,MAAM,MAAM,IAAIA,IAAO,OAAuB;EAAE;EAAU,GAAI,QAAQ,OAAO,CAAC;CAAG,CAAC;CAElF,MAAM,QAAQ,UAAsD;EAClE,IAAI,CAAC,MAAM,KAAK,GACd,OAAO,MAAM,KAAI,UAAS;GACxB;GACA,2BAAW,IAAI,IAAY;GAC3B,OAAO;EACT,EAAE;EAEJ,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC,KAAI,OAAM;GAC/B,MAAM,EAAE;GACR,WAAW,EAAE;GACb,OAAO,EAAE;EACX,EAAE;CACJ;CAEA,OAAO;EAAE;EAAM;CAAM;AACvB;;;;;;;;;;;;;;AC5BA,SAAgB,2BACd,OACA,UAAmD,CAAC,GAC4C;CAEhG,MAAM,QAAQ,kBAAkB,OAAO,EAAE,UADxB,QAAQ,cAAc,SAAY,KAAK,OACN,CAAC;CAEnD,QACE,OACA,WAEA,IAAI,SAAS,SAAS,WAAW;EAC/B,IAAI,OAAO,SAAS;GAClB,OAAO,IAAI,aAAa,WAAW,YAAY,CAAC;GAChD;EACF;EAEA,MAAM,UAAU,MAAM,KAAK,KAAK,CAAC,CAAC,KAAI,OAAM;GAAE,GAAG,EAAE;GAAM,WAAW,EAAE;EAAU,EAAE;EAElF,IAAI,OAAO,SAAS;GAClB,OAAO,IAAI,aAAa,WAAW,YAAY,CAAC;GAChD;EACF;EAEA,QAAQ,OAAO;CACjB,CAAC;AACL;;;AChCA,SAAS,WAAc,SAAsE,OAAmC;CAC9H,MAAM,kCAAkB,IAAI,IAA4B;CACxD,KAAK,MAAM,KAAK,SACd,gBAAgB,IAAI,EAAE,MAAM,EAAE,SAAS;CAEzC,OAAO,OAAO,OAAO;EACnB;EACA,SAAS,OAAO,OAAO,CAAC,GAAG,OAAO,CAAC;EACnC;CACF,CAAC;AACH;AAEA,SAAgB,iBAAoB,UAAgC,CAAC,GAAkB;CACrF,IAAI,QAAsB,QAAQ,SAAS,CAAC;CAC5C,IAAI,QAAQ;CACZ,IAAI,QAAQ,kBAAkB,OAAO;EAAE,UAAU,QAAQ;EAAU,KAAK,QAAQ;CAAI,CAAC;CACrF,IAAI,QAA4B,WAAW,MAAM,KAAK,KAAK,GAAG,KAAK;CACnE,IAAI,WAAW;CAEf,MAAM,4BAAY,IAAI,IAAiC;CAEvD,IAAI,QAAQ,UACV,UAAU,IAAI,QAAQ,QAAQ;CAGhC,MAAM,UAAU,MAAgC;EAC9C,KAAK,MAAM,MAAM,WACf,GAAG,CAAC;CAER;CAEA,MAAM,MAAM,OAAO,GAAW,WAAsD;EAElF,MAAM,QAAQ,QAAQ;EACtB,IAAI,QAAQ,WAAW,UACrB,OAAO;EAET,MAAM,UAAU,MAAM,KAAK,CAAC;EAC5B,IAAI,QAAQ,WAAW,UACrB,OAAO;EAET,QAAQ,WAAW,SAAS,CAAC;EAC7B,OAAO,KAAK;EACZ,OAAO;CACT;CAEA,OAAO;EACL,IAAI,QAAQ;GACV,OAAO;EACT;EAEA,MAAM,SAAS,UAAwB,QAAqC;GAC1E,QAAQ;GACR,QAAQ,kBAAkB,OAAO;IAAE,UAAU,QAAQ;IAAU,KAAK,QAAQ;GAAI,CAAC;GACjF,MAAM,IAAI,OAAO,MAAM;EACzB;EAEA,MAAM,SAAS,GAAW,QAAmD;GAC3E,QAAQ;GACR,OAAO,IAAI,GAAG,MAAM;EACtB;EAEA,MAAM,aAA4B;GAChC,QAAQ;GACR,MAAM,IAAI,IAAI,KAAA,CAAS;EACzB;EAEA,SAAS,IAA6C;GACpD,UAAU,IAAI,EAAE;GAChB,GAAG,KAAK;GACR,aAAa;IACX,UAAU,OAAO,EAAE;GACrB;EACF;EAEA,UAAgB;GACd,WAAW;GACX,UAAU,MAAM;GAChB,QAAQ,CAAC;EACX;CACF;AACF;;;AClFA,MAAMC,0BAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2C9B,IAAa,2BAAb,MAAsC;CACpC;CACA;CACA;CACA;CACA,4BAAY,IAAI,IAAwB;CAExC,YAAY,IAAoB,MAA6B;EAC3D,KAAKC,MAAM;EACX,KAAKC,QAAQ;EACb,KAAKC,UAAU,iBAA6B;GAC1C,UAAU,KAAK;GACf,KAAK,KAAK;EACZ,CAAC;CACH;CAEA,UAAgB;EACd,KAAK,WAAW;EAEhB,MAAM,QAAQ,KAAKF,IAAI,SAAS;EAChC,KAAK,MAAM,QAAQ,OACjB,KAAKG,UAAU,IAAI,KAAKF,MAAM,SAAS,IAAI,GAAG,IAAI;EAEpD,KAAUC,QAAQ,SAAS,KAAK;EAEhC,IAAI,KAAKD,MAAM,OAAO;GACpB,KAAKA,MAAM,MAAM,iBAAiB,SAAS,KAAKG,QAAQ;GACxD,KAAKH,MAAM,MAAM,iBAAiB,WAAW,KAAKI,UAAU;EAC9D;EAEA,KAAKC,SAAS,KAAKJ,QAAQ,UAAS,UAAS,KAAKK,eAAe,KAAK,CAAC;CACzE;CAEA,aAAmB;EACjB,IAAI,KAAKD,QAAQ;GACf,KAAKA,OAAO;GACZ,KAAKA,SAAS,KAAA;EAChB;EACA,IAAI,KAAKL,MAAM,OAAO;GACpB,KAAKA,MAAM,MAAM,oBAAoB,SAAS,KAAKG,QAAQ;GAC3D,KAAKH,MAAM,MAAM,oBAAoB,WAAW,KAAKI,UAAU;EACjE;EACA,KAAKL,IAAI,kBAAkB,KAAA;EAC3B,gBAAgB,EAAE,KAAK,KAAKC,MAAM,gBAAgBF,wBAAsB,CAAC;EACzE,KAAKI,UAAU,MAAM;CACvB;CAEA,MAAM,SAAS,OAA8B;EAC3C,MAAM,KAAKD,QAAQ,SAAS,KAAK;CACnC;CAEA,MAAM,aAA4B;EAChC,MAAM,KAAKA,QAAQ,WAAW;CAChC;CAEA,iBAAiB;EACf,MAAM,QAAQ,KAAKD,MAAM,OAAO,SAAS;EACzC,KAAU,SAAS,KAAK;CAC1B;CAEA,cAAc,MAAqB;EACjC,IAAI,EAAE,QAAQ,YAAY,KAAKA,MAAM,OAAO;GAC1C,KAAKA,MAAM,MAAM,QAAQ;GACzB,KAAU,WAAW;EACvB;CACF;CAEA,eAAe,OAA0C;EACvD,MAAM,UAAU,IAAI,IAAI,MAAM,QAAQ,KAAI,MAAK,EAAE,KAAK,KAAK,KAAK,GAAG,CAAC;EACpE,MAAM,WAAW,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS;EAC7C,KAAKD,IAAI,kBAAkB,YAAY,QAAQ,OAAO,KACjD,MAAgB,WAAmB,QAAQ,IAAI,KAAK,KAAK,GAAG,IAC7D,KAAA;EAEJ,MAAM,MAAM,KAAKC,MAAM,gBAAgBF;EACvC,IAAI,CAAC,KAAKC,IAAI,YACZ;EAEF,IAAI,CAAC,MAAM,MAAM,KAAK,GAAG;GACvB,gBAAgB,EAAE,IAAI,CAAC;GACvB;EACF;EAEA,MAAM,gBAAgB,KAAKC,MAAM,iBAAiB;EAClD,MAAM,UAAU,sBACd,KAAKD,IAAI,YACT,eACA,MAAM,kBACL,YAAY;GACX,MAAM,OAAO,QAAQ,eAAe;GACpC,OAAO,KAAKG,UAAU,IAAI,IAAI;EAChC,IACA,YAAW,QAAQ,eAAe,EACpC;EACA,gBAAgB,SAAS,EAAE,IAAI,CAAC;CAClC;AACF;;;;;;;;;;ACvHA,SAAgB,4BACd,MACA,SACuC;CACvC,OAAO;EACL,gBACE,MAAM,KAAK,EAAE,QAAQ,QAAQ,SAAS,EAAE,IAAI,GAAG,OAAO;GACpD,KAAK,QAAQ,SAAS,CAAC;GACvB,OAAO;EACT,EAAE;EACJ,WAAU,SAAQ,QAAQ,gBAAgB,KAAK,KAAK;EACpD,SAAQ,SAAQ,KAAK;EACrB,YAAY,SAAS;GACnB,IAAI,MACF,KAAK,SAAS,KAAK,GAAG;EAC1B;EACA,eAAe,SAAS;GACtB,IAAI,QAAQ,YACV,QAAQ,WAAW,KAAK,GAAG;QAE3B,KAAK,SAAS,KAAK,GAAG;EAC1B;EACA,cAAc,UAAU;GACtB,KAAK,WAAW,MAAM,KAAI,MAAK,EAAE,GAAG,CAAC;EACvC;EACA,cAAc,YAAY;GACxB,QAAQ,iBAAiB,OAAO;EAClC;EACA,eAAe,QAAQ;EACvB,mBAAmB;EACnB,iBAAgB,OAAM,GAAG,QAAQ,OAAO,CAAC,EAAE,aAAa,UAAU,KAAK,KAAA;EACvE,gBAAe,OAAM,GAAG,eAAe;EACvC,cAAc;CAChB;AACF;;;;;;;;;;;;;;;AChDA,SAAgB,cAAc,IAAiC;CAC7D,OAAO,GAAG,aAAa,UAAU,KAAK,GAAG,aAAa,YAAY,KAAK,KAAA;AACzE;;;;;;;;;;;;;;AAeA,IAAa,oBAAb,MAA+B;CAC7B;CACA;CACA,uBAAgB,IAAI,IAAqB;CACzC,SAAS;CACT;;;;;CAMA,YAAY,MAAe,eAAe,cAAc;EACtD,KAAKK,QAAQ;EACb,KAAKC,YAAY;EACjB,KAAKE,YAAY,IAAI,uBAAuB;GAC1C,KAAKC,SAAS;EAChB,CAAC;EACD,KAAKD,UAAU,QAAQ,MAAM;GAAE,WAAW;GAAM,SAAS;EAAK,CAAC;CACjE;;CAGA,IAAI,KAAkC;EACpC,IAAI,KAAKC,QACP,KAAKC,SAAS;EAEhB,OAAO,KAAKH,KAAK,IAAI,GAAG;CAC1B;;CAGA,aAAmB;EACjB,KAAKE,SAAS;CAChB;;CAGA,UAAgB;EACd,KAAKD,UAAU,WAAW;EAC1B,KAAKD,KAAK,MAAM;CAClB;CAEA,WAAiB;EACf,KAAKA,KAAK,MAAM;EAChB,KAAK,MAAM,MAAM,KAAKF,MAAM,iBAAiB,KAAKC,SAAS,GAAG;GAC5D,MAAM,MAAM,cAAc,EAAE;GAC5B,IAAI,QAAQ,KAAA,KAAa,CAAC,KAAKC,KAAK,IAAI,GAAG,GACzC,KAAKA,KAAK,IAAI,KAAK,EAAE;EAEzB;EACA,KAAKE,SAAS;CAChB;AACF;;;AC1DA,SAAS,aAAa,IAAqB;CACzC,OAAO,GAAG,aAAa,mBAAmB,KAAK,GAAG,aAAa,KAAK,KAAK;AAC3E;;;;;;;;AASA,SAAgB,+BACd,MACA,UAA2C,CAAC,GAChB;CAC5B,MAAM,eAAe,QAAQ,gBAAgB;CAC7C,MAAM,WAAW,QAAQ,YAAY;CACrC,MAAM,SAAS,QAAQ,YAAW,OAAM,cAAc,EAAE,KAAK,aAAa,EAAE;CAC5E,MAAM,yBAAS,IAAI,IAAa;CAEhC,MAAM,cAAyB,MAAM,KAAK,KAAK,iBAAiB,YAAY,CAAC;CAE7E,OAAO;EACL,UAAU;EACV;EACA;EACA,YAAY,OAAO;GACjB,IAAI,IACF,KAAK,SAAS,OAAO,EAAE,CAAC;EAC5B;EACA,eAAe,OAAO;GACpB,GAAG,cAAc,IAAI,WAAW,SAAS;IAAE,SAAS;IAAM,UAAU;GAAK,CAAC,CAAC;EAC7E;EACA,cAAc,QAAQ;GACpB,KAAK,WAAW,IAAI,IAAI,MAAM,CAAC;EACjC;EACA,cAAc,YAAY;GACxB,IAAI,YAAY,KAAA,GAAW;IACzB,KAAK,MAAM,MAAM,QACf,GAAoB,SAAS;IAC/B,OAAO,MAAM;IACb;GACF;GACA,KAAK,MAAM,MAAM,MAAM,GACrB,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC,GACpB;QAAA,OAAO,OAAO,EAAE,GAClB,GAAoB,SAAS;GAAA,OAC1B;IACL,GAAoB,SAAS;IAC7B,OAAO,IAAI,EAAE;GACf;EAEJ;EACA,qBAAqB;EACrB,mBAAmB;EACnB,iBAAgB,OAAM,OAAO,EAAE;EAC/B,eAAe;EACf,cAAc,QAAQ;EACtB,iBAAiB;CACnB;AACF;;;ACvEA,MAAM,mBAAmB,OAAwB,GAAG,aAAa,KAAK,KAAK;AAE3E,SAAS,cAAc,IAAqB;CAC1C,OAAO,GAAG,aAAa,UAAU,KAC5B,GAAG,aAAa,YAAY,KAC5B,GAAG,aAAa,KAAK,KACrB;AACP;;;;;;;;;;AAmBA,SAAgB,wBAAwB,MAAmD;CACzF,MAAM,EACJ,WACA,cACA,WAAW,iBACX,SAAS,eACT,eACA,iBACE;CAGJ,IAAI,+BAAe,IAAI,IAAqB;CAE5C,MAAM,SAAS,iBAA8B;EAC3C,WAAU,SAAQ,KAAK;EACvB,KAAK,KAAK;CACZ,CAAC;CAED,MAAM,oBAAoB,UAA8C;EACtE,MAAM,cAAc,IAAI,IAAI,MAAM,QAAQ,KAAI,MAAK,EAAE,KAAK,GAAG,CAAC;EAC9D,MAAM,WAAW,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS;EAE7C,KAAK,MAAM,CAAC,KAAK,OAAO,cACtB,GAAoB,SAAS,WAAW,CAAC,YAAY,IAAI,GAAG,IAAI;CAEpE;CAEA,MAAM,oBAAoB,UAA8C;EACtE,IAAI,CAAC,MAAM,MAAM,KAAK,GAAG;GACvB,gBAAgB,EAAE,KAAK,aAAa,CAAC;GACrC;EACF;EAGA,MAAM,UAAU,sBACd,WAFU,iBAAiB,cAI3B,MAAM,kBACL,OAAO;GACN,MAAM,MAAM,OAAO,EAAE;GAGrB,OADe,MAAM,QAAQ,MAAK,MAAK,EAAE,KAAK,QAAQ,GAC1C,CAAC,EAAE;EACjB,IACA,OAAM,SAAS,EAAE,CACnB;EACA,gBAAgB,SAAS,EAAE,KAAK,aAAa,CAAC;CAChD;CAEA,MAAM,mBAAmB,OAAO,UAAU,UAAU;EAClD,iBAAiB,KAAK;EACtB,iBAAiB,KAAK;EACtB,KAAK,WAAW,KAAK;CACvB,CAAC;CAED,IAAI,iBAAiB;CAErB,MAAM,gBAAsB;EAC1B,IAAI,gBACF;EACF,iBAAiB;EACjB,QAAa,QAAQ,CAAC,CAAC,WAAW;GAChC,iBAAiB;GACjB,+BAAe,IAAI,IAAqB;GACxC,MAAM,MAAM,UAAU,iBAAiB,YAAY;GACnD,MAAM,QAAuB,CAAC;GAC9B,KAAK,MAAM,MAAM,KAAK;IACpB,MAAM,MAAM,OAAO,EAAE;IACrB,aAAa,IAAI,KAAK,EAAE;IACxB,MAAM,KAAK;KAAE;KAAK,OAAO,SAAS,EAAE;IAAE,CAAC;GACzC;GACA,OAAY,SAAS,KAAK;EAC5B,CAAC;CACH;CAEA,MAAM,WAAW,IAAI,uBAAuB,QAAQ,CAAC;CACrD,SAAS,QAAQ,WAAW;EAAE,WAAW;EAAM,SAAS;CAAM,CAAC;CAE/D,QAAQ;CAER,OAAO;EACL,MAAM,SAAS,OAAO,QAAQ;GAC5B,MAAM,OAAO,SAAS,OAAO,MAAM;EACrC;EAEA,MAAM,aAAa;GACjB,MAAM,OAAO,WAAW;EAC1B;EAEA;EAEA,SAAS,IAAI;GACX,OAAO,OAAO,SAAS,EAAE;EAC3B;EAEA,UAAU;GACR,SAAS,WAAW;GACpB,iBAAiB;GACjB,OAAO,QAAQ;GACf,gBAAgB,EAAE,KAAK,aAAa,CAAC;EACvC;CACF;AACF;;;;ACtIA,MAAa,0BAAoE;CAC/E,UAAU;CACV,QAAQ;CACR,QAAQ;AACV;AAEA,MAAM,SAAmF;CACvF,UAAU;EAAE,OAAO;EAAQ,aAAa;CAA4C;CACpF,QAAQ;EAAE,OAAO;EAAiB,aAAa;CAAqC;CACpF,QAAQ;EAAE,OAAO;EAAU,aAAa;CAAsC;AAChF;;;;;;;AAkBA,SAAgB,2BACd,UACA,YACA,UAA6C,CAAC,GAClC;CACZ,MAAM,MAAM,SACV,QAAQ,WAAW,GAAG,QAAQ,SAAS,UAAU,SAAS,wBAAwB;CAEpF,MAAM,aAAuB,CAAC;CAC9B,KAAK,MAAM,QAAQ,WAAW,iBAAiB;EAC7C,MAAM,YAAY,GAAG,IAAI;EACzB,IAAI,SAAS,IAAI,SAAS,GACxB;EACF,SAAS,SAAS;GAChB,IAAI;GACJ,OAAO,OAAO,KAAK,CAAC;GACpB,aAAa,OAAO,KAAK,CAAC;GAC1B,eAAe,WAAW,KAAK,IAAI;EACrC,CAAC;EACD,WAAW,KAAK,SAAS;CAC3B;CAEA,aAAa;EACX,KAAK,MAAM,aAAa,YACtB,SAAS,WAAW,SAAS;CACjC;AACF;;;;ACvCA,MAAa,oBAA+C;CAAC;CAAY;CAAU;AAAQ;AAE3F,MAAM,wBAAwB;AAC9B,MAAM,cAAc;;;;;;;AA6DpB,IAAa,uBAAb,MAAuE;CACrE;CACA;CACA;CACA;CACA;CACA;CACA;CAEA,6BAAa,IAAI,IAAmB;CAEpC,QAAQ;CACR,QAAwB;CACxB,SAAS;CACT,cAAc;CACd,WAAwD,CAAC;;CAEzD,gBAAgB;CAEhB,YAAY,MAAsB,SAA6C;EAC7E,KAAKE,QAAQ;EACb,KAAKC,WAAW,QAAQ;EACxB,MAAM,YAAY,IAAI,IAAI,QAAQ,SAAS,iBAAiB;EAC5D,KAAKC,SAAS,kBAAkB,QAAO,MAAK,UAAU,IAAI,CAAC,CAAC;EAC5D,KAAKC,QAAQ,KAAKD,OAAO,MAAM;EAC/B,KAAKE,eAAe,QAAQ,eAAe;EAC3C,KAAKC,UAAU,iBAA6B;GAAE,WAAU,MAAK,EAAE;GAAO,KAAK,QAAQ;EAAI,CAAC;EACxF,KAAKC,SAAS,KAAKD,QAAQ,UAAS,UAAS,KAAKE,SAAS,KAAK,CAAC;EAGjE,KAAK,cAAc,IAAI;CACzB;;CAKA,IAAI,UAAmB;EACrB,OAAO,KAAKL,OAAO,SAAS;CAC9B;;CAGA,IAAI,kBAA6C;EAC/C,OAAO,KAAKA;CACd;;;;;;;CAQA,SAAS,OAAwC;EAC/C,MAAM,MAAM,IAAI,IAAI,KAAK;EACzB,KAAKA,SAAS,kBAAkB,QAAO,MAAK,IAAI,IAAI,CAAC,CAAC;EACtD,IAAI,CAAC,KAAKA,OAAO,SAAS,KAAKC,KAAK,GAAG;GACrC,IAAI,KAAKK,OACP,KAAK,MAAM;GACb,KAAKL,QAAQ,KAAKD,OAAO,MAAM;EACjC;EACA,KAAKF,MAAM,cAAc;CAC3B;CAEA,IAAI,SAAkB;EACpB,OAAO,KAAKQ;CACd;CAEA,IAAI,OAAuB;EACzB,OAAO,KAAKL;CACd;CAEA,IAAI,QAAgB;EAClB,OAAO,KAAKM;CACd;CAEA,IAAI,aAAqB;EACvB,OAAO,KAAKC,SAAS;CACvB;CAEA,IAAI,aAAqB;EACvB,OAAO,KAAKC;CACd;CAIA,gBAAsB;EACpB,MAAM,YAAY,KAAKV,SAAS,YAAY;EAC5C,IAAI,WAAW;GACb,KAAKW,YAAY,IAAI,uBAAuB,KAAK,QAAQ,CAAC;GAC1D,KAAKA,UAAU,QAAQ,WAAW;IAAE,WAAW;IAAM,SAAS;GAAM,CAAC;EACvE;EACA,KAAK,QAAQ;CACf;CAEA,mBAAyB;EACvB,KAAKA,WAAW,WAAW;EAC3B,KAAKA,YAAY,KAAA;EACjB,IAAI,KAAKJ,OACP,KAAKK,iBAAiB;EACxB,KAAKL,QAAQ;EACb,KAAKF,SAAS;EACd,KAAKA,SAAS,KAAA;EACd,KAAKD,QAAQ,QAAQ;CACvB;;CAKA,KAAK,MAA4B;EAC/B,IAAI,CAAC,KAAK,SACR;EACF,KAAKF,QAAQ,KAAKD,OAAO,SAAS,IAAI,IAAI,OAAO,KAAKA,OAAO;EAC7D,KAAKM,QAAQ;EACb,KAAKC,SAAS;EACd,KAAKE,cAAc;EACnB,KAAKD,WAAW,CAAC;EACjB,KAAK,QAAQ;EACb,KAAUL,QAAQ,SAAS,EAAE;EAC7B,KAAKL,MAAM,cAAc;EACzB,KAAUA,MAAM,eAAe,WAAW,KAAKc,YAAY,CAAC;CAC9D;;CAGA,QAAc;EACZ,IAAI,CAAC,KAAKN,OACR;EACF,KAAKA,QAAQ;EACb,KAAKK,iBAAiB;EACtB,KAAKJ,SAAS;EACd,KAAKC,WAAW,CAAC;EACjB,KAAUL,QAAQ,WAAW;EAC7B,KAAKL,MAAM,cAAc;EACzB,KAAKA,MAAM,MAAM;CACnB;CAEA,SAAS,OAAqB;EAC5B,KAAKS,SAAS;EACd,KAAKE,cAAc;EACnB,KAAUN,QAAQ,SAAS,KAAK;CAClC;;CAGA,WAAW,MAA4B;EACrC,IAAI,CAAC,KAAKH,OAAO,SAAS,IAAI,KAAK,SAAS,KAAKC,OAC/C;EACF,IAAI,KAAKA,UAAU,YAAY,KAAKY,eAAe;GACjD,KAAKd,SAAS,YAAY,KAAA,CAAS;GACnC,KAAKc,gBAAgB;EACvB;EACA,KAAKZ,QAAQ;EACb,KAAKa,WAAW;EAChB,KAAKhB,MAAM,cAAc;EACzB,KAAUA,MAAM,eAAe,WAAW,KAAKc,YAAY,CAAC;CAC9D;;CAGA,gBAAsB;EACpB,IAAI,CAAC,KAAKZ,OAAO,SAAS,QAAQ,GAChC;EACF,KAAKD,SAAS,YAAY,KAAKgB,cAAc,CAAC;EAC9C,KAAKjB,MAAM,cAAc;CAC3B;CAEA,YAAkB;EAChB,KAAKkB,OAAO,CAAC;CACf;CAEA,YAAkB;EAChB,KAAKA,OAAO,EAAE;CAChB;;CAGA,SAAe;EACb,IAAI,KAAKf,UAAU,YAAY;GAC7B,MAAM,OAAO,KAAKgB,SAAS,KAAKT,SAAS,KAAKC,YAAY;GAC1D,IAAI,MAAM;IACR,IAAI,KAAKV,SAAS,cAChB,KAAKA,SAAS,aAAa,IAAI;SAE/B,KAAKA,SAAS,UAAU,IAAI;GAChC;EACF;EACA,KAAK,MAAM;CACb;;CAGA,UAAgB;EACd,KAAKmB,WAAW,MAAM;EACtB,MAAM,QAAsB,CAAC;EAC7B,KAAK,MAAM,MAAM,KAAKnB,SAAS,SAAS,GAAG;GACzC,MAAM,MAAM,KAAKA,SAAS,OAAO,EAAE;GACnC,KAAKmB,WAAW,IAAI,KAAK,EAAE;GAC3B,MAAM,KAAK;IAAE;IAAK,OAAO,KAAKnB,SAAS,SAAS,EAAE;GAAE,CAAC;EACvD;EACA,KAAUI,QAAQ,SAAS,KAAK;CAClC;;CAKA,cAA+C;EAC7C,IAAI,CAAC,KAAK,SACR,OAAO;EACT,MAAM,WAAW,KAAKI,OAAO,KAAK,CAAC,CAAC,SAAS;EAC7C,MAAM,SAAS,KAAKP,OAAO,QAAO,MAAK,MAAM,KAAKC,KAAK;EACvD,MAAM,oBAAoB,KAAKD,OAAO,SAAS,QAAQ,KAAK,KAAKC,UAAU;EAC3E,OAAO,IAAI;uDACwC,CAAC,KAAKK,MAAM;;2CAExB,KAAKL,MAAM;;oBAElC,YAAY;;;0BAGN,KAAKC,aAAa;qBACvB,KAAKK,OAAO;qBACZ,KAAKY,SAAS;uBACZ,KAAKC,WAAW;;YAE3B,WACE,IAAI,mCAAmC,KAAKZ,SAAS,WAAW,IAAI,MAAM,KAAKC,cAAc,EAAE,KAAK,KAAKD,SAAS,OAAO,WACzH,QAAQ;YACV,KAAKP,UAAU,cAAc,KAAKO,SAAS,SAAS,IAClD,IAAI;+FAC6E,KAAK,UAAU,EAAE;2FACrB,KAAK,UAAU,EAAE;kBAE9F,QAAQ;kFAC4D,KAAK,MAAM,EAAE;;UAErF,OAAO,SAAS,KAAK,oBACnB,IAAI;;kBAEE,OAAO,KAAI,MAAK,IAAI,gDAAgD,KAAK,WAAW,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE;kBACxG,oBACE,IAAI,gDAAgD,KAAK,cAAc,EAAE,4BACzE,QAAQ;;gBAGhB,QAAQ;;;CAGlB;CAIA,cAAoB;EAClB,KAAKV,MAAM,YAAY,cAAgC,IAAI,aAAa,CAAC,EAAE,MAAM;CACnF;CAEA,YAAY,MAAmB;EAC7B,KAAK,SAAU,EAAE,OAA4B,KAAK;CACpD;CAEA,cAAc,MAA2B;EACvC,QAAQ,EAAE,KAAV;GACE,KAAK;IACH,EAAE,eAAe;IACjB,EAAE,gBAAgB;IAClB,KAAK,MAAM;IACX;GACF,KAAK;IACH,EAAE,eAAe;IACjB,EAAE,gBAAgB;IAClB,KAAK,OAAO;IACZ;GACF,KAAK;IACH,IAAI,KAAKG,UAAU,YAAY;KAC7B,EAAE,eAAe;KACjB,KAAK,UAAU;IACjB;IACA;GACF,KAAK,WACH,IAAI,KAAKA,UAAU,YAAY;IAC7B,EAAE,eAAe;IACjB,KAAK,UAAU;GACjB;EAIJ;CACF;CAEA,OAAO,OAAqB;EAC1B,IAAI,KAAKO,SAAS,WAAW,GAC3B;EACF,MAAM,IAAI,KAAKA,SAAS;EACxB,KAAKC,eAAe,KAAKA,cAAc,QAAQ,KAAK;EACpD,IAAI,KAAKR,UAAU,YACjB,KAAKF,SAAS,UAAU,KAAKkB,SAAS,KAAKT,SAAS,KAAKC,YAAY,CAAC;EACxE,KAAKX,MAAM,cAAc;CAC3B;CAEA,SAAS,OAAoE;EAC3E,OAAO,QAAQ,KAAKoB,WAAW,IAAI,MAAM,KAAK,GAAG,IAAI,KAAA;CACvD;CAEA,gBAAyB;EACvB,OAAO,KAAKV,SACT,KAAI,MAAK,KAAKS,SAAS,CAAC,CAAC,CAAC,CAC1B,QAAQ,MAAkB,MAAM,KAAA,CAAS;CAC9C;CAEA,IAAII,gBAAwB;EAC1B,OAAO,KAAKtB,SAAS,gBAAgB;CACvC;CAEA,SAAS,OAA0C;EACjD,IAAI,CAAC,KAAKO,OACR;EACF,MAAM,WAAW,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS;EAC7C,KAAKE,WAAW,WAAW,CAAC,GAAG,MAAM,OAAO,IAAI,CAAC;EACjD,IAAI,KAAKC,eAAe,KAAKD,SAAS,QACpC,KAAKC,cAAc;EACrB,KAAKK,WAAW;EAChB,KAAKhB,MAAM,cAAc;CAC3B;CAEA,aAAmB;EAGjB,IAAI,EAFa,KAAKS,OAAO,KAAK,CAAC,CAAC,SAAS,IAE9B;GACb,IAAI,KAAKM,eAAe;IACtB,KAAKd,SAAS,YAAY,KAAA,CAAS;IACnC,KAAKc,gBAAgB;GACvB;GACA,KAAKS,iBAAiB;GACtB;EACF;EAEA,QAAQ,KAAKrB,OAAb;GACE,KAAK;IACH,KAAKF,SAAS,UAAU,KAAKkB,SAAS,KAAKT,SAAS,KAAKC,YAAY,CAAC;IACtE;GACF,KAAK;IACH,KAAKV,SAAS,YAAY,KAAKgB,cAAc,CAAC;IAC9C;GACF,KAAK;IACH,KAAKhB,SAAS,YAAY,IAAI,IAAI,KAAKS,SAAS,KAAI,MAAK,EAAE,KAAK,GAAG,CAAC,CAAC;IACrE,KAAKK,gBAAgB;EAEzB;EACA,KAAKS,iBAAiB;CACxB;CAEA,mBAAyB;EACvB,MAAM,OAAO,KAAKvB,SAAS,gBAAgB;EAC3C,MAAM,WAAW,KAAKA,SAAS;EAC/B,MAAM,QAAQ,KAAKA,SAAS;EAC5B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OACzB;EACF,IAAI,KAAKQ,OAAO,KAAK,CAAC,CAAC,WAAW,GAAG;GACnC,gBAAgB,EAAE,KAAK,KAAKc,cAAc,CAAC;GAC3C;EACF;EACA,MAAM,QAAQ,KAAKlB,QAAQ;EAC3B,MAAM,UAAU,sBACd,MACA,UACA,MAAM,kBACL,OAAO;GACN,MAAM,MAAM,MAAM,EAAE;GACpB,OAAO,QAAQ,KAAA,IAAY,KAAA,IAAY,MAAM,QAAQ,MAAK,MAAK,EAAE,KAAK,QAAQ,GAAG,CAAC,EAAE;EACtF,GACA,KAAKJ,SAAS,mBAAkB,OAAM,GAAG,eAAe,GAC1D;EAGA,IAAI;GACF,gBAAgB,SAAS,EAAE,KAAK,KAAKsB,cAAc,CAAC;EACtD,QAAQ;GACN,gBAAgB,EAAE,KAAK,KAAKA,cAAc,CAAC;EAC7C;CACF;CAEA,mBAAyB;EACvB,IAAI,KAAKR,eAAe;GACtB,KAAKd,SAAS,YAAY,KAAA,CAAS;GACnC,KAAKc,gBAAgB;EACvB;EACA,gBAAgB,EAAE,KAAK,KAAKQ,cAAc,CAAC;CAC7C;AACF;;;;;;;;;;;;;;ACncA,MAAa,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACSnC,SAAgB,4BACd,MACA,UAAwC,CAAC,GACN;CAGnC,OAAO;EACL,gBAAgB,KAAK,SAAS;EAC9B,UAJe,QAAQ,cAAc,SAAyB,KAAK,KAAK,KAAK;EAK7E,SAAQ,SAAQ,KAAK,KAAK,KAAK;EAC/B,YAAY,SAAS;GACnB,IAAI,MACF,KAAK,UAAU,KAAK,KAAK,KAAK,GAAG;EACrC;EACA,eAAe,SAAS;GACtB,KAAK,UAAU,KAAK,KAAK,KAAK,GAAG;GACjC,KAAK,OAAO,KAAK,IAAI;EACvB;EACA,cAAc,UAAU;GACtB,KAAK,WAAW,MAAM,KAAI,MAAK,EAAE,IAAI,CAAC;EACxC;EACA,cAAc,YAAY;GACxB,KAAK,kBAAkB,YAAY,KAAA,IAC/B,KAAA,KACC,SAAmB,QAAQ,IAAI,KAAK,KAAK,GAAG;EACnD;EACA,qBAAqB,KAAK;EAC1B,mBAAmB,QAAQ,iBAAiB;EAC5C,iBAAgB,OAAO,GAAG,QAAQ,YAAY,CAAC,EAAyB,QAAQ;EAChF,cAAc,QAAQ;CACxB;AACF"}
@@ -1,2 +1,2 @@
1
- import { A as HighlightTarget, C as IncrSearchTreeController, D as FuzzySearch, E as ElementIncrSearchOptions, F as IncrSearchState, M as IncrSearchChangeCallback, N as IncrSearchOptions, O as FuzzySearchOptions, P as IncrSearchResult, S as ListSearchMode, T as createAcCompletionProvider, _ as LIST_SEARCH_MODES, a as RegisterListSearchCommandsOptions, b as ListSearchControllerOptions, c as applyHighlights, d as createFuzzySearch, f as ElementIncrSearch, g as createElementListSearchAdapter, h as ElementListSearchHost, i as LIST_SEARCH_COMMAND_IDS, j as IncrSearch, k as HighlightOptions, l as buildHighlightTargets, m as ElementListSearchAdapterOptions, n as createTreeListSearchAdapter, o as registerListSearchCommands, p as createElementIncrSearch, r as listSearchStyles, s as createIncrSearch, t as TreeListSearchAdapterOptions, u as clearHighlights, v as ListSearchAdapter, w as IncrSearchTreeOptions, x as ListSearchHost, y as ListSearchController } from "./index-CBS4z1v-.js";
2
- export { type ElementIncrSearch, type ElementIncrSearchOptions, type ElementListSearchAdapterOptions, type ElementListSearchHost, type FuzzySearch, type FuzzySearchOptions, type HighlightOptions, type HighlightTarget, type IncrSearch, type IncrSearchChangeCallback, IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, type IncrSearchTreeOptions as IncrSearchMillerOptions, type IncrSearchTreeOptions, type IncrSearchOptions, type IncrSearchResult, type IncrSearchState, LIST_SEARCH_COMMAND_IDS, LIST_SEARCH_MODES, type ListSearchAdapter, ListSearchController, type ListSearchControllerOptions, type ListSearchHost, type ListSearchMode, type RegisterListSearchCommandsOptions, type TreeListSearchAdapterOptions, applyHighlights, buildHighlightTargets, clearHighlights, createAcCompletionProvider, createElementIncrSearch, createElementListSearchAdapter, createFuzzySearch, createIncrSearch, createTreeListSearchAdapter, listSearchStyles, registerListSearchCommands };
1
+ import { A as FuzzySearch, C as ListSearchControllerOptions, D as IncrSearchTreeOptions, E as IncrSearchTreeController, F as IncrSearchChangeCallback, I as IncrSearchOptions, L as IncrSearchResult, M as HighlightOptions, N as HighlightTarget, O as createAcCompletionProvider, P as IncrSearch, R as IncrSearchState, S as ListSearchController, T as ListSearchMode, _ as DataListSearchAdapterOptions, a as RegisterListSearchCommandsOptions, b as LIST_SEARCH_MODES, c as applyHighlights, d as createFuzzySearch, f as ElementIncrSearch, g as createElementListSearchAdapter, h as ElementListSearchHost, i as LIST_SEARCH_COMMAND_IDS, j as FuzzySearchOptions, k as ElementIncrSearchOptions, l as buildHighlightTargets, m as ElementListSearchAdapterOptions, n as createTreeListSearchAdapter, o as registerListSearchCommands, p as createElementIncrSearch, r as listSearchStyles, s as createIncrSearch, t as TreeListSearchAdapterOptions, u as clearHighlights, v as DataListSearchItem, w as ListSearchHost, x as ListSearchAdapter, y as createDataListSearchAdapter } from "./index-h6gxtfHH.js";
2
+ export { type DataListSearchAdapterOptions, type DataListSearchItem, type ElementIncrSearch, type ElementIncrSearchOptions, type ElementListSearchAdapterOptions, type ElementListSearchHost, type FuzzySearch, type FuzzySearchOptions, type HighlightOptions, type HighlightTarget, type IncrSearch, type IncrSearchChangeCallback, IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, type IncrSearchTreeOptions as IncrSearchMillerOptions, type IncrSearchTreeOptions, type IncrSearchOptions, type IncrSearchResult, type IncrSearchState, LIST_SEARCH_COMMAND_IDS, LIST_SEARCH_MODES, type ListSearchAdapter, ListSearchController, type ListSearchControllerOptions, type ListSearchHost, type ListSearchMode, type RegisterListSearchCommandsOptions, type TreeListSearchAdapterOptions, applyHighlights, buildHighlightTargets, clearHighlights, createAcCompletionProvider, createDataListSearchAdapter, createElementIncrSearch, createElementListSearchAdapter, createFuzzySearch, createIncrSearch, createTreeListSearchAdapter, listSearchStyles, registerListSearchCommands };
@@ -1,3 +1,3 @@
1
1
  import { n as buildHighlightTargets, r as clearHighlights, t as applyHighlights } from "./highlight-B-eQrhhb.js";
2
- import { a as LIST_SEARCH_COMMAND_IDS, c as createElementListSearchAdapter, d as IncrSearchTreeController, f as createIncrSearch, i as ListSearchController, m as createFuzzySearch, n as listSearchStyles, o as registerListSearchCommands, p as createAcCompletionProvider, r as LIST_SEARCH_MODES, s as createElementIncrSearch, t as createTreeListSearchAdapter } from "./incr-search-DpbSJtgj.js";
3
- export { IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, LIST_SEARCH_COMMAND_IDS, LIST_SEARCH_MODES, ListSearchController, applyHighlights, buildHighlightTargets, clearHighlights, createAcCompletionProvider, createElementIncrSearch, createElementListSearchAdapter, createFuzzySearch, createIncrSearch, createTreeListSearchAdapter, listSearchStyles, registerListSearchCommands };
2
+ import { a as LIST_SEARCH_COMMAND_IDS, c as createElementListSearchAdapter, d as createDataListSearchAdapter, f as IncrSearchTreeController, h as createFuzzySearch, i as ListSearchController, m as createAcCompletionProvider, n as listSearchStyles, o as registerListSearchCommands, p as createIncrSearch, r as LIST_SEARCH_MODES, s as createElementIncrSearch, t as createTreeListSearchAdapter } from "./incr-search-C05WjbZh.js";
3
+ export { IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, LIST_SEARCH_COMMAND_IDS, LIST_SEARCH_MODES, ListSearchController, applyHighlights, buildHighlightTargets, clearHighlights, createAcCompletionProvider, createDataListSearchAdapter, createElementIncrSearch, createElementListSearchAdapter, createFuzzySearch, createIncrSearch, createTreeListSearchAdapter, listSearchStyles, registerListSearchCommands };
@@ -245,6 +245,38 @@ declare class ListSearchController<TItem> implements ReactiveController {
245
245
  renderField(): TemplateResult | typeof nothing;
246
246
  }
247
247
  //#endregion
248
+ //#region src/incr-search/data-list-search-adapter.d.ts
249
+ /** One searchable item in data-backed mode. */
250
+ type DataListSearchItem = {
251
+ key: string;
252
+ index: number;
253
+ };
254
+ interface DataListSearchAdapterOptions {
255
+ /** Total number of items in the whole collection (search sees all of them). */
256
+ rawCount: () => number;
257
+ /** Raw (unfiltered) index → key. */
258
+ rawKeyAt: (index: number) => string;
259
+ /** Raw (unfiltered) index → text matched against the query. */
260
+ rawSearchTextAt: (index: number) => string;
261
+ /** `filter` mode: the host hides items whose key is not in `matchedKeys` (`undefined` clears). */
262
+ onFilterChange?: (matchedKeys: ReadonlySet<string> | undefined) => void;
263
+ /** `navigate` + Enter: activate the item with this key. Falls back to `focusKey`. */
264
+ onActivate?: (key: string) => void;
265
+ /** Where matched-character highlights are painted (usually the shadow root). */
266
+ getHighlightRoot?: () => ShadowRoot | Element | null | undefined;
267
+ }
268
+ /**
269
+ * A {@link ListSearchAdapter} over a data-backed list. Unlike the element
270
+ * adapter it never materialises an element per item — it reads keys and text
271
+ * straight from the source by index. Highlights are painted on whatever
272
+ * captions are currently rendered in the shadow window; offscreen matches paint
273
+ * when scrolled into view. See `docs/infra-incremental.md`.
274
+ */
275
+ declare function createDataListSearchAdapter(host: {
276
+ focusKey: (key: string) => void;
277
+ selectKeys: (keys: Iterable<string>) => void;
278
+ }, options: DataListSearchAdapterOptions): ListSearchAdapter<DataListSearchItem>;
279
+ //#endregion
248
280
  //#region src/incr-search/element-list-search-adapter.d.ts
249
281
  /**
250
282
  * The slice of a list component the element adapter drives. `ixfx-grid-list`,
@@ -361,5 +393,5 @@ interface TreeListSearchAdapterOptions {
361
393
  */
362
394
  declare function createTreeListSearchAdapter(host: TreeSearchHost, options?: TreeListSearchAdapterOptions): ListSearchAdapter<TreeSearchItem>;
363
395
  //#endregion
364
- export { HighlightTarget as A, IncrSearchTreeController as C, FuzzySearch as D, ElementIncrSearchOptions as E, IncrSearchState as F, IncrSearchChangeCallback as M, IncrSearchOptions as N, FuzzySearchOptions as O, IncrSearchResult as P, ListSearchMode as S, createAcCompletionProvider as T, LIST_SEARCH_MODES as _, RegisterListSearchCommandsOptions as a, ListSearchControllerOptions as b, applyHighlights as c, createFuzzySearch as d, ElementIncrSearch as f, createElementListSearchAdapter as g, ElementListSearchHost as h, LIST_SEARCH_COMMAND_IDS as i, IncrSearch as j, HighlightOptions as k, buildHighlightTargets as l, ElementListSearchAdapterOptions as m, createTreeListSearchAdapter as n, registerListSearchCommands as o, createElementIncrSearch as p, listSearchStyles as r, createIncrSearch as s, TreeListSearchAdapterOptions as t, clearHighlights as u, ListSearchAdapter as v, IncrSearchTreeOptions as w, ListSearchHost as x, ListSearchController as y };
365
- //# sourceMappingURL=index-CBS4z1v-.d.ts.map
396
+ export { FuzzySearch as A, ListSearchControllerOptions as C, IncrSearchTreeOptions as D, IncrSearchTreeController as E, IncrSearchChangeCallback as F, IncrSearchOptions as I, IncrSearchResult as L, HighlightOptions as M, HighlightTarget as N, createAcCompletionProvider as O, IncrSearch as P, IncrSearchState as R, ListSearchController as S, ListSearchMode as T, DataListSearchAdapterOptions as _, RegisterListSearchCommandsOptions as a, LIST_SEARCH_MODES as b, applyHighlights as c, createFuzzySearch as d, ElementIncrSearch as f, createElementListSearchAdapter as g, ElementListSearchHost as h, LIST_SEARCH_COMMAND_IDS as i, FuzzySearchOptions as j, ElementIncrSearchOptions as k, buildHighlightTargets as l, ElementListSearchAdapterOptions as m, createTreeListSearchAdapter as n, registerListSearchCommands as o, createElementIncrSearch as p, listSearchStyles as r, createIncrSearch as s, TreeListSearchAdapterOptions as t, clearHighlights as u, DataListSearchItem as v, ListSearchHost as w, ListSearchAdapter as x, createDataListSearchAdapter as y };
397
+ //# sourceMappingURL=index-h6gxtfHH.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-h6gxtfHH.d.ts","names":[],"sources":["../src/incr-search/types.ts","../src/incr-search/ac-adapter.ts","../src/incr-search/controller-tree.ts","../src/incr-search/list-search-controller.ts","../src/incr-search/data-list-search-adapter.ts","../src/incr-search/element-list-search-adapter.ts","../src/incr-search/element-search.ts","../src/incr-search/fuzzy.ts","../src/incr-search/highlight.ts","../src/incr-search/incr-search.ts","../src/incr-search/list-search-commands.ts","../src/incr-search/list-search-styles.ts","../src/incr-search/tree-list-search-adapter.ts"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -12,18 +12,18 @@ import "./menu-item-CZi9vy5O.js";
12
12
  import { FuzzySearchResult, NarrowedTextChangeDetail, NarrowedTextChangeEvent, NarrowedTextElement, NarrowedTextItem, Orientation, SelectionMode } from "./narrowed-text.js";
13
13
  import { CrumbNavigationChangeDetail, CrumbNavigationChangeEvent, CrumbNavigationElement, CrumbNavigationElementEventMap, CrumbNavigationExpandDetail, CrumbNavigationExpandEvent, CrumbNavigationItemClickDetail, CrumbNavigationItemClickEvent } from "./crumbs.js";
14
14
  import { ConfigEntry, DataDisplayComponent, FormattingOptions, RendererStyle } from "./data-display.js";
15
- 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-CtJ35v8L.js";
16
- import { A as HighlightTarget, C as IncrSearchTreeController, D as FuzzySearch, E as ElementIncrSearchOptions, F as IncrSearchState, M as IncrSearchChangeCallback, N as IncrSearchOptions, O as FuzzySearchOptions, P as IncrSearchResult, S as ListSearchMode, T as createAcCompletionProvider, _ as LIST_SEARCH_MODES, a as RegisterListSearchCommandsOptions, b as ListSearchControllerOptions, c as applyHighlights, d as createFuzzySearch, f as ElementIncrSearch, g as createElementListSearchAdapter, h as ElementListSearchHost, i as LIST_SEARCH_COMMAND_IDS, j as IncrSearch, k as HighlightOptions, l as buildHighlightTargets, m as ElementListSearchAdapterOptions, n as createTreeListSearchAdapter, o as registerListSearchCommands, p as createElementIncrSearch, r as listSearchStyles, s as createIncrSearch, t as TreeListSearchAdapterOptions, u as clearHighlights, v as ListSearchAdapter, w as IncrSearchTreeOptions, x as ListSearchHost, y as ListSearchController } from "./index-CBS4z1v-.js";
15
+ 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-D-z7bx5-.js";
16
+ import { A as FuzzySearch, C as ListSearchControllerOptions, D as IncrSearchTreeOptions, E as IncrSearchTreeController, F as IncrSearchChangeCallback, I as IncrSearchOptions, L as IncrSearchResult, M as HighlightOptions, N as HighlightTarget, O as createAcCompletionProvider, P as IncrSearch, R as IncrSearchState, S as ListSearchController, T as ListSearchMode, _ as DataListSearchAdapterOptions, a as RegisterListSearchCommandsOptions, b as LIST_SEARCH_MODES, c as applyHighlights, d as createFuzzySearch, f as ElementIncrSearch, g as createElementListSearchAdapter, h as ElementListSearchHost, i as LIST_SEARCH_COMMAND_IDS, j as FuzzySearchOptions, k as ElementIncrSearchOptions, l as buildHighlightTargets, m as ElementListSearchAdapterOptions, n as createTreeListSearchAdapter, o as registerListSearchCommands, p as createElementIncrSearch, r as listSearchStyles, s as createIncrSearch, t as TreeListSearchAdapterOptions, u as clearHighlights, v as DataListSearchItem, w as ListSearchHost, x as ListSearchAdapter, y as createDataListSearchAdapter } from "./index-h6gxtfHH.js";
17
17
  import { t as index_d_exports } from "./index-9AhaHIT2.js";
18
18
  import { a as ListItemClickDetail, c as ListSelectEvent, d as ListTickleEvent, i as ListInteractionMode, l as ListSelectionMode, n as ListActivateEvent, o as ListItemClickEvent, r as ListElementEventMap, s as ListSelectDetail, t as ListActivateDetail, u as ListTickleDetail } from "./list-selection-types-B5ioL-dG.js";
19
- import { n as CustomCheckboxOptions, r as VerticalListElement, t as AddItemOptions } from "./vertical-list-DwtCPy1b.js";
20
- import { a as DetailSortMode, i as DetailSortItem, n as DetailFormatter, r as DetailSortComparator, t as DetailListElement } from "./detail-list-BS5dRDda.js";
19
+ import { n as CustomCheckboxOptions, r as VerticalListElement, t as AddItemOptions } from "./vertical-list-CFuFDygi.js";
20
+ import { a as DetailSortMode, i as DetailSortItem, n as DetailFormatter, r as DetailSortComparator, t as DetailListElement } from "./detail-list-_ZJHYEBr.js";
21
21
  import { a as EditableMode, i as EditableLabelChangeEvent, n as EditableLabel, o as EntryMode, r as EditableLabelChangeDetail, t as DisplayTextLogic } from "./editable-label-rzXkjf1H.js";
22
22
  import { FormElement } from "./form.js";
23
- import { C as GridListViewportChangeEvent, S as GridListViewportChangeDetail, _ as GridListOrientation, a as ListSelectionModes, b as GridListTickleDetail, c as GridListActivateEvent, d as GridListCaptionPosition, f as GridListCaptionStyle, g as GridListItemClickEvent, h as GridListItemClickDetail, i as ListSelectionGesture, l as GridListCaptionAlign, m as GridListFullElementEventMap, n as ListSelectionController, o as isMultiMode, p as GridListElementEventMap, r as ListSelectionControllerConfig, s as GridListActivateDetail, t as GridListElement, u as GridListCaptionBackdrop, v as GridListSelectDetail, x as GridListTickleEvent, y as GridListSelectEvent } from "./grid-list-D-GbghSH.js";
23
+ import { C as GridListViewportChangeEvent, S as GridListViewportChangeDetail, _ as GridListOrientation, a as ListSelectionModes, b as GridListTickleDetail, c as GridListActivateEvent, d as GridListCaptionPosition, f as GridListCaptionStyle, g as GridListItemClickEvent, h as GridListItemClickDetail, i as ListSelectionGesture, l as GridListCaptionAlign, m as GridListFullElementEventMap, n as ListSelectionController, o as isMultiMode, p as GridListElementEventMap, r as ListSelectionControllerConfig, s as GridListActivateDetail, t as GridListElement, u as GridListCaptionBackdrop, v as GridListSelectDetail, x as GridListTickleEvent, y as GridListSelectEvent } from "./grid-list-u33vmKzb.js";
24
24
  import { i as TickledItem, n as TickledController, r as TickledControllerConfig, t as InputMode } from "./tickled-controller-Bn3YdQsM.js";
25
25
  import { a as IGroupedSubComponent, c as SubComponentActivateEvent, d as SubComponentItemClickEvent, f as SubComponentSelectDetail, h as SubComponentTickleEvent, i as GroupedSelectEvent, l as SubComponentFactory, m as SubComponentTickleDetail, n as GroupedItemListerElementEventMap, o as IGroupedSubComponentEventMap, p as SubComponentSelectEvent, r as GroupedSelectDetail, s as SubComponentActivateDetail, t as GroupedItemListerElement, u as SubComponentItemClickDetail } from "./grouped-item-lister-fdZHVxFM.js";
26
- import { a as TitlebarToggleDetail, c as TitlebarVariant, i as TitlebarOrientation, n as TitlebarElement, o as TitlebarToggleEvent, r as TitlebarElementEventMap, s as TitlebarToggleInteraction, t as TitlebarCloseEvent } from "./titlebar-Bj5pfdw_.js";
26
+ import { a as TitlebarToggleDetail, c as TitlebarVariant, i as TitlebarOrientation, n as TitlebarElement, o as TitlebarToggleEvent, r as TitlebarElementEventMap, s as TitlebarToggleInteraction, t as TitlebarCloseEvent } from "./titlebar-YQ-jVQoS.js";
27
27
  import { PanelCloseEvent, PanelElement, PanelElementEventMap, PanelOrientation, PanelToggleDetail, PanelToggleEvent, PanelToggleInteraction, PanelVariant } from "./panel.js";
28
28
  import { a as NoneSelectEventDetail, c as SingleSelectEventDetail, i as IxfxHexEditorElement, n as HexChangeDetail, o as RectangularSelectEventDetail, r as HexChangeEvent, s as SelectEventDetail, t as ContiguousSelectEventDetail } from "./hex-editor-Caq8vNQk.js";
29
29
  import { a as getIconEntry, c as iconBus, d as setIconFont, f as svgToDataUri, g as ICON_CLOSE, h as ICON_CHEVRON_DOWN, i as getIcon, l as registerFontIcon, m as ICON_CHECK, n as IconChangedEvent, o as getIconFont, p as ICON_CARET_RIGHT, r as IconEntry, s as hasIcon, t as IconChangedDetail, u as registerIcon } from "./index-CS9yM8L-.js";
@@ -33,10 +33,10 @@ import { n as EditableNumber, t as LabelledSliderInput } from "./index-UvnoZUAo.
33
33
  import { a as RadialInputChangeDetail, c as RadialInputInputEvent, i as MarkerStyle, l as ValueMode, n as LaneData, o as RadialInputChangeEvent, r as LaneType, s as RadialInputInputDetail, t as RadialInputElement } from "./radial-input-DU6t2hYO.js";
34
34
  import { LabelledRadialInput } from "./labelled-radial-input.js";
35
35
  import { _ as SliderValueMode, a as SliderInputChangeDetail, c as SliderInputInputDetail, d as SliderLaneType, f as SliderMarkerStyle, g as SliderValueDrag, h as SliderValueCFollow, i as SliderHandleKey, l as SliderInputInputEvent, m as SliderSingleStyle, n as SliderChangedField, o as SliderInputChangeEvent, p as SliderOrientation, r as SliderCrossover, s as SliderInputElementEventMap, t as SliderInputElement, u as SliderLaneData } from "./slider-input-BxURAAmD.js";
36
- import { LedElement } from "./led.js";
36
+ import { LedElement, LedMode } from "./led.js";
37
37
  import { MillerBaseElement, MillerBaseElementEventMap, MillerConfig, MillerHeaderClickDetail, MillerHeaderClickEvent, MillerHeaderRightClickDetail, MillerHeaderRightClickEvent, MillerItemDblClickDetail, MillerItemDblClickEvent, MillerItemRightClickDetail, MillerItemRightClickEvent, MillerItemState, MillerListElement, MillerRebaseDetail, MillerRebaseEvent, MillerSelectionMode, MillerTreeController, MillerTreeControllerOptions } from "./miller.js";
38
38
  import { a as Notification, c as NotificationRendererHooks, i as PillTapEvent, l as NotificationType, n as NotificationPillElementEventMap, o as NotificationContent, r as PillTapDetail, s as NotificationRenderer, t as NotificationPillElement, u as NotifierOptions } from "./notification-pill-DyZydXoZ.js";
39
- import { C as ColourMapConfig, D as computeColour, E as applyAgeModification, O as parseColourScaleAttr, S as PlotDataSeriesOptions, T as ColourResult, _ as PlotSingleAxisPointerMoveDetail, a as PlotHistogramBucketClickDetail, b as SingleAxisDrawStyle, c as PlotHistogramOrientation, d as PlotMultiAxisDataPointClickDetail, f as PlotMultiAxisDataPointClickEvent, g as PlotSingleAxisElementEventMap, h as PlotSingleAxis, i as PlotHistogram, k as readBaseColour, l as PlotHistogramValueTooltips, m as PlotMultiAxisLayout, n as XyAgeStyle, o as PlotHistogramBucketClickEvent, p as PlotMultiAxisElementEventMap, r as XyDrawStyle, s as PlotHistogramElementEventMap, t as PlotXyAxis, u as PlotMultiAxis, v as PlotSingleAxisPointerMoveEvent, w as ColourMode, x as PlotDataSeries, y as SingleAxisAgeStyle } from "./xy-axis-5KhVTNoX.js";
39
+ import { A as readBaseColour, C as PlotDataSeriesOptions, D as applyAgeModification, E as ColourResult, O as computeColour, S as PlotDataSeries, T as ColourMode, _ as PlotSingleAxisElementEventMap, a as PlotHistogramBucketClickDetail, b as SingleAxisAgeStyle, c as PlotHistogramInteractionMode, d as PlotMultiAxis, f as PlotMultiAxisDataPointClickDetail, g as PlotSingleAxis, h as PlotMultiAxisLayout, i as PlotHistogram, k as parseColourScaleAttr, l as PlotHistogramOrientation, m as PlotMultiAxisElementEventMap, n as XyAgeStyle, o as PlotHistogramBucketClickEvent, p as PlotMultiAxisDataPointClickEvent, r as XyDrawStyle, s as PlotHistogramElementEventMap, t as PlotXyAxis, u as PlotHistogramValueTooltips, v as PlotSingleAxisPointerMoveDetail, w as ColourMapConfig, x as SingleAxisDrawStyle, y as PlotSingleAxisPointerMoveEvent } from "./xy-axis-BfP9hKLj.js";
40
40
  import { PolarPad, PolarPadInputDetail, PolarPadInputEvent } from "./polar-pad.js";
41
41
  import { n as TooltipElement, r as TooltipOrientations, t as FormatValueForHuman } from "./tooltip-BlvBUQxx.js";
42
42
  import { RangeInput } from "./range-input.js";
@@ -1416,18 +1416,64 @@ declare global {
1416
1416
  //#endregion
1417
1417
  //#region src/panel/panel-group.d.ts
1418
1418
  type PanelGroupOrientation = `horizontal` | `vertical`;
1419
+ interface PanelGroupReorderDetail {
1420
+ readonly fromIndex: number;
1421
+ readonly toIndex: number;
1422
+ readonly panel: PanelElement;
1423
+ }
1424
+ type PanelGroupReorderEvent = CustomEvent<PanelGroupReorderDetail>;
1425
+ interface PanelGroupElementEventMap {
1426
+ reorder: PanelGroupReorderEvent;
1427
+ }
1428
+ /**
1429
+ * Pure helper: nearest gap index for a pointer position along one axis.
1430
+ * `edges` are the [start, end] of each sibling (excluding the drag source),
1431
+ * in DOM order. Returns 0..edges.length.
1432
+ */
1433
+ declare function panelGapIndex(edges: ReadonlyArray<readonly [number, number]>, pos: number): number;
1419
1434
  declare class PanelGroupElement extends LitElement {
1420
1435
  orientation: PanelGroupOrientation;
1421
1436
  variant: PanelVariant;
1422
1437
  toggleInteraction: PanelToggleInteraction;
1423
1438
  collapsible: boolean;
1424
- allowMultiple: boolean;
1425
- gap: string;
1439
+ accordion: boolean;
1440
+ allowReorder: boolean;
1441
+ /** Explicit gap between panels. When unset, `--group-gap` (falling back to `--space-l`) controls the gap. */
1442
+ gap?: string;
1426
1443
  private _panels;
1444
+ private _dragState;
1445
+ private _suppressNextClick;
1427
1446
  private _onPanelToggle;
1447
+ connectedCallback(): void;
1448
+ disconnectedCallback(): void;
1428
1449
  protected firstUpdated(): void;
1429
1450
  protected updated(changed: Map<string, unknown>): void;
1430
1451
  private _propagateAll;
1452
+ private _onSlotChange;
1453
+ private _onClickCapture;
1454
+ private _onKeyDown;
1455
+ /**
1456
+ * Walk composedPath for the nearest ixfx-panel, requiring the press to have
1457
+ * gone through an ixfx-titlebar (titlebar-anywhere drag). Bails when the
1458
+ * path crosses interactive chrome (buttons/links/inputs/toolbar/caret/close)
1459
+ * so those controls always win over dragging.
1460
+ */
1461
+ private _findDragTarget;
1462
+ private _onPointerDown;
1463
+ private _onPointerMove;
1464
+ private _onPointerUp;
1465
+ private _onPointerCancel;
1466
+ private _beginDrag;
1467
+ private _abortDrag;
1468
+ private _endDrag;
1469
+ private _commitDrag;
1470
+ private _createGhost;
1471
+ /**
1472
+ * Nearest panel gap to the pointer, ignoring the drag source.
1473
+ * The perpendicular axis is ignored — the pointer always resolves to a gap.
1474
+ */
1475
+ private _computeGapIndex;
1476
+ private _computeCaretStyle;
1431
1477
  protected render(): import("lit").TemplateResult<1>;
1432
1478
  static styles: import("lit").CSSResult;
1433
1479
  }
@@ -1436,6 +1482,9 @@ declare global {
1436
1482
  'ixfx-panel-group': PanelGroupElement;
1437
1483
  }
1438
1484
  }
1485
+ interface PanelGroupElement {
1486
+ addEventListener: (<K extends keyof PanelGroupElementEventMap>(type: K, listener: (this: PanelGroupElement, event: PanelGroupElementEventMap[K]) => void, options?: boolean | AddEventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void);
1487
+ }
1439
1488
  //#endregion
1440
1489
  //#region src/range/range-multi.d.ts
1441
1490
  type Endpoints = `a` | `b`;
@@ -1936,5 +1985,5 @@ declare function monitorIndeterminate(targetElOrQuery: string | HTMLElement, wat
1936
1985
  //#region src/index.d.ts
1937
1986
  declare function init(): void;
1938
1987
  //#endregion
1939
- export { AcTextChangeDetail, AcTextChangeEvent, AcTextCompletionProvider, AcTextElement, AcTextItem, AcTextSelectDetail, AcTextSelectEvent, type AcTokenAddDetail, type AcTokenAddEvent, AcTokenElement, type AcTokenElementEventMap, type AcTokenItem, type AcTokenRemoveDetail, type AcTokenRemoveEvent, type AcTokenizerFn, type AcTokensChangeDetail, type AcTokensChangeEvent, AddItemOptions, Axis, ButtonElement, Checkbox, CheckboxChangeDetail, CheckboxChangeEvent, CheckboxEventMap, ClickSnapMode, ColourMapConfig, ColourMode, ColourPicker, type ColourPickerChangeEvent, type ColourPickerEventDetail, type ColourPickerInputEvent, ColourPickerPopup, ColourResult, ConfigEntry, ContiguousSelectEventDetail, CrossoverBehaviour, CrumbNavChangeDetail, CrumbNavChangeEvent, CrumbNavExpandDetail, CrumbNavExpandEvent, CrumbNavNavigateDetail, CrumbNavNavigateEvent, CrumbNavigationChangeDetail, CrumbNavigationChangeEvent, CrumbNavigationElement, CrumbNavigationElementEventMap, CrumbNavigationExpandDetail, CrumbNavigationExpandEvent, CrumbNavigationItemClickDetail, CrumbNavigationItemClickEvent, CrumbPathController, CrumbPathControllerOptions, CrumbPathElement, CrumbPathElementEventMap, CrumbSegment, CrumbSiblingLookupFn, type CssVars, CustomCheckboxOptions, DataBatch, DataController, DataControllerOptions, DataDisplayComponent, DataGridCellClickDetail, DataGridCellClickEvent, DataGridCellEditDetail, DataGridCellEditEvent, DataGridColumnReorderDetail, DataGridColumnReorderEvent, DataGridColumnResizeDetail, DataGridColumnResizeEvent, DataGridColumnVisibilityDetail, DataGridColumnVisibilityEvent, DataGridElement, DataGridElementEventMap, DataGridGroupChangeDetail, DataGridGroupChangeEvent, DataGridSelectDetail, DataGridSelectEvent, DataGridSortDetail, DataGridSortEvent, DataProviderResult, DataTableElement, DataTableElementEventMap, DataTableRow, DataTableRowClickDetail, DataTableRowClickEvent, type DetailFormatter, DetailListElement, type DetailSortComparator, type DetailSortItem, type DetailSortMode, DisplayTextLogic, DistributeResult, DockAddPanelTarget, DockAxis, DockChangeDetail, DockChangeEvent, DockDirection, DockDragBoundaryDetail, DockDragBoundaryEvent, DockDropTarget, type DockDropZone, DockEdge, DockHostElement, DockHostElementEventMap, DockLayout, DockLeafContentRules, DockLeafInfo, DockLeafRef, DockNeighbours, DockNode, DockOperation, DockPanelActivatedDetail, DockPanelActivatedEvent, DockPanelAddedDetail, DockPanelAddedEvent, DockPanelDragStartDetail, DockPanelDragStartEvent, DockPanelElement, DockPanelElementEventMap, DockPanelInit, DockPanelRemovedDetail, DockPanelRemovedEvent, DockPanelSnapshot, DockPanelTearOutDetail, DockPanelTearOutEvent, DockRect, DockSplitNode, DockStackNode, DragSnappingFn, DragTarget, EditableLabel, EditableLabelChangeDetail, EditableLabelChangeEvent, EditableMode, EditableNumber, Effect, type ElementIncrSearch, type ElementIncrSearchOptions, type ElementListSearchAdapterOptions, type ElementListSearchHost, Endpoints, EntryMode, FormElement, FormGroupElement, FormPartElement, FormatValueForHuman, FormattingOptions, type FuzzySearch, type FuzzySearchOptions, FuzzySearchResult, type GridListActivateDetail, type GridListActivateEvent, type GridListCaptionAlign, type GridListCaptionBackdrop, type GridListCaptionPosition, type GridListCaptionStyle, GridListElement, type GridListElementEventMap, type GridListFullElementEventMap, type GridListItemClickDetail, type GridListItemClickEvent, type GridListOrientation, type GridListSelectDetail, type GridListSelectEvent, type GridListTickleDetail, type GridListTickleEvent, type GridListViewportChangeDetail, type GridListViewportChangeEvent, GridMode, GridResolution, GroupNode, GroupedItemListerElement, type GroupedItemListerElementEventMap, type GroupedSelectDetail, type GroupedSelectEvent, HexChangeDetail, HexChangeEvent, type HighlightOptions, type HighlightTarget, ICON_CARET_RIGHT, ICON_CHECK, ICON_CHEVRON_DOWN, ICON_CLOSE, IDataProvider, type IGroupedSubComponent, type IGroupedSubComponentEventMap, type IconChangedDetail, type IconChangedEvent, type IconEntry, type IncrSearch, type IncrSearchChangeCallback, IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, type IncrSearchTreeOptions as IncrSearchMillerOptions, type IncrSearchTreeOptions, type IncrSearchOptions, type IncrSearchResult, type IncrSearchState, type InputMode, ItemsProvider, IxfxHexEditorElement, IxfxIconElement, IxfxRatingElement, IxfxTimelineElement, KeyedElementIndex, LIST_ITEM_MOTION_MS, LIST_SEARCH_COMMAND_IDS, LIST_SEARCH_MODES, LabelledRadialInput, LabelledRangeInput, LabelledSliderInput, LaneData, LaneType, LayoutNode, LayoutSnapshot, LeafGeom, LedElement, type ListActivateDetail, type ListActivateEvent, type ListElementEventMap, type ListInteractionMode, type ListItemClickDetail, type ListItemClickEvent, type ListItemMotionOptions, type ListSearchAdapter, ListSearchController, type ListSearchControllerOptions, type ListSearchHost, type ListSearchMode, type ListSelectDetail, type ListSelectEvent, ListSelectionController, type ListSelectionControllerConfig, type ListSelectionGesture, type ListSelectionMode, type ListSelectionModes, type ListTickleDetail, type ListTickleEvent, LoadChildrenCallback, MarkerStyle, index_d_exports as Menu, type TreeActivateDetail as MillerActivateDetail, TreeActivateDetail, type TreeActivateEvent as MillerActivateEvent, TreeActivateEvent, MillerBaseElement, MillerBaseElementEventMap, type TreeCollapseDetail as MillerCollapseDetail, TreeCollapseDetail, type TreeCollapseEvent as MillerCollapseEvent, TreeCollapseEvent, MillerConfig, type TreeExpandDetail as MillerExpandDetail, TreeExpandDetail, type TreeExpandEvent as MillerExpandEvent, TreeExpandEvent, MillerHeaderClickDetail, MillerHeaderClickEvent, MillerHeaderRightClickDetail, MillerHeaderRightClickEvent, type TreeItem as MillerItem, TreeItem, type TreeItemClickDetail as MillerItemClickDetail, TreeItemClickDetail, type TreeItemClickEvent as MillerItemClickEvent, TreeItemClickEvent, MillerItemDblClickDetail, MillerItemDblClickEvent, MillerItemRightClickDetail, MillerItemRightClickEvent, MillerItemState, MillerListElement, type TreeNode as MillerNode, TreeNode, MillerRebaseDetail, MillerRebaseEvent, type TreeSelectDetail as MillerSelectDetail, TreeSelectDetail, type TreeSelectEvent as MillerSelectEvent, TreeSelectEvent, MillerSelectionMode, type TreeTickleDetail as MillerTickleDetail, TreeTickleDetail, type TreeTickleEvent as MillerTickleEvent, TreeTickleEvent, MillerTreeController, MillerTreeControllerOptions, NarrowedTextChangeDetail, NarrowedTextChangeEvent, NarrowedTextElement, NarrowedTextItem, NoneSelectEventDetail, Notification, NotificationContent, NotificationManager, NotificationPillElement, NotificationPillElementEventMap, NotificationRenderer, NotificationRendererHooks, NotificationType, NotifierOptions, type OklchValue, Orientation, PanTextElement, PanelCloseEvent, PanelElement, PanelElementEventMap, PanelGroupElement, PanelGroupOrientation, PanelInfo, PanelNode, PanelOrientation, PanelToggleDetail, PanelToggleEvent, PanelToggleInteraction, PanelVariant, PillPosition, PillQueueDisplay, PillRendererOptions, PillSafeArea, PillTapDetail, PillTapEvent, PlotDataSeries, PlotDataSeriesOptions, PlotHistogram, PlotHistogramBucketClickDetail, PlotHistogramBucketClickEvent, PlotHistogramElementEventMap, PlotHistogramOrientation, PlotHistogramValueTooltips, PlotMultiAxis, PlotMultiAxisDataPointClickDetail, PlotMultiAxisDataPointClickEvent, PlotMultiAxisElementEventMap, PlotMultiAxisLayout, PlotSingleAxis, PlotSingleAxisElementEventMap, PlotSingleAxisPointerMoveDetail, PlotSingleAxisPointerMoveEvent, PlotXyAxis, PolarPad, PolarPadInputDetail, PolarPadInputEvent, PopupItem, RadialInputChangeDetail, RadialInputChangeEvent, RadialInputElement, RadialInputInputDetail, RadialInputInputEvent, RadioGroup, RadioGroupChangeDetail, RadioGroupChangeEvent, RadioGroupMode, RadioItem, RangeElement, RangeInput, RangeMultiElement, RangeMultiInputDetail, RangeMultiInputEvent, RatingChangeDetail, RatingChangeEvent, RatingElement, RatingElementEventMap, RatingInputEvent, RatingVariant, type Rect, RectangularSelectEventDetail, type RegisterListSearchCommandsOptions, RendererStyle, ResizeMode, SelectEventDetail, SelectHorizChangeDetail, SelectHorizChangeEvent, SelectHorizElement, SelectHorizEventMap, SelectionMode, SingleAxisAgeStyle, SingleAxisDrawStyle, SingleSelectEventDetail, SliderChangedField, SliderCrossover, SliderHandleKey, SliderInputChangeDetail, SliderInputChangeEvent, SliderInputElement, SliderInputElementEventMap, SliderInputInputDetail, SliderInputInputEvent, SliderLaneData, SliderLaneType, SliderMarkerStyle, SliderOrientation, SliderSingleStyle, SliderValueCFollow, SliderValueDrag, SliderValueMode, SlidingNumberElement, SlidingNumberTrend, SnackbarDismiss, SnackbarElement, SnackbarMode, SnackbarPlacement, SnapChangeDetail, SnapChangeEvent, SnapContainer, SnapInputDetail, SnapInputEvent, SnapLogic, SnapshotNode, SortCompareFn, SplitButton, SplitButtonMode, SplitButtonSelectDetail, SplitButtonSelectEvent, SplitChangeDetail, SplitChangeEvent, SplitCloseDetail, SplitCloseEvent, SplitCollapseDetail, SplitCollapseEvent, SplitExpandDetail, SplitExpandEvent, SplitLayoutElement, SplitLayoutElementEventMap, SplitPanelElement, SplitResizeDetail, SplitResizeEvent, type SubComponentActivateDetail, type SubComponentActivateEvent, type SubComponentFactory, type SubComponentItemClickDetail, type SubComponentItemClickEvent, type SubComponentSelectDetail, type SubComponentSelectEvent, type SubComponentTickleDetail, type SubComponentTickleEvent, SwipeElement, SwipeElementEventMap, SwipeInputDetail, SwipeInputEvent, SwitcherItem, Tab, TabAddOptions, TabController, TabControllerOptions, TabListChangeDetail, TabListChangeEvent, TabListDragMode, TabListElement, TabListItemElement, TabListReorderDetail, TabListReorderEvent, TabPanelElement, TabPanelsElement, TextShimmerElement, TickledController, type TickledControllerConfig, type TickledItem, TimelineController, TimelineControllerConfig, TimelineDraggingCallbackDetail, TimelineDraggingDetail, TimelineDraggingEvent, TimelineElementEventMap, TimelineEvent, TimelineEventMoveDetail, TimelineEventMoveEvent, TimelineEventResizeDetail, TimelineEventResizeEvent, TimelineSelectionChangeDetail, TimelineSelectionChangeEvent, TimelineTickleChangeDetail, TimelineTickleChangeEvent, TimelineTrack, TimelineTrackReorderDetail, TimelineTrackReorderEvent, TimelineTrackResizeDetail, TimelineTrackResizeEvent, TimelineTrackSelectDetail, TimelineTrackSelectEvent, TimelineTrackTabElement, TitlebarCloseEvent, TitlebarElement, TitlebarElementEventMap, TitlebarOrientation, TitlebarToggleDetail, TitlebarToggleEvent, TitlebarToggleInteraction, TitlebarVariant, ToolbarAlign, ToolbarElement, ToolbarGroupElement, ToolbarLayout, ToolbarOrientation, ToolbarVerticalWriting, TooltipElement, TooltipOrientations, TrackHeightMode, TrackLayout, TransitoryLabelElement, TreeBaseElement, TreeBaseElementEventMap, TreeCheckboxState, TreeComponent, TreeComponentEventMap, TreeConfig, TreeController, TreeControllerOptions, TreeDataModel, TreeDataModelOptions, TreeExclusivity, TreeFilterPredicate, TreeInteractionMode, type TreeKeyboardNavCallbacks, TreeKeyboardNavController, type TreeKeyboardNavControllerConfig, type TreeKeyboardNavItemId, TreeListAdapterOptions, TreeListElement, type TreeListSearchAdapterOptions, TreeSearchHost, TreeSelectionFilter, TwoSplitLayoutElement, UserScale, ValueMode, VerticalListAdapterOptions, VerticalListElement, ViewRange, WhenSmall, XyAgeStyle, XyDrawStyle, XyPad, XyPadEventMap, XyPadInputDetail, XyPadInputEvent, addPanelToStack, animateListItemIn, animateListItemOut, applyAgeModification, applyHighlights, applySnapshot, attachTimelineInteractions, buildHighlightTargets, buildModel, clearHighlights, collectContainerNames, collectDataResult, collectPanelIds, collectStackPaths, computeColour, computeLeafGeoms, createAcCompletionProvider, createElementIncrSearch, createElementListSearchAdapter, createEmptyLayout, createEmptyStack, createFuzzySearch, createIncrSearch, createPillRenderer, createSplit, createStack, createTreeListAdapter, createTreeListSearchAdapter, createVerticalListAdapter, distribute, extractStack, findNode, findParentOf, findStackOf, findStackPathByName, getActiveDragPanelId, getIcon, getIconEntry, getIconFont, getLeafNeighbours, hasIcon, iconBus, init, insertBeside, isDragging, isMultiMode, isSplit, isStack, keyForElement, listItemFadeKeyframes, listSearchStyles, monitorIndeterminate, moveLeafNodeToEdge, moveLeafStep, normalise, normalize, parseColourScaleAttr, parseLayout, pointerOverAnyHost, prefersReducedMotion, readBaseColour, registerFontIcon, registerIcon, registerListSearchCommands, removePanelFromStack, resolveCssVars, resolveGrid, resolveLeafPath, resolveTracks, serializeLayout, setActive, setIconFont, svgToDataUri, swapLeaves, tickledItemStyles, tickledStyles, timelineStyles, toSnapshot, walk, wrapRoot };
1988
+ export { AcTextChangeDetail, AcTextChangeEvent, AcTextCompletionProvider, AcTextElement, AcTextItem, AcTextSelectDetail, AcTextSelectEvent, type AcTokenAddDetail, type AcTokenAddEvent, AcTokenElement, type AcTokenElementEventMap, type AcTokenItem, type AcTokenRemoveDetail, type AcTokenRemoveEvent, type AcTokenizerFn, type AcTokensChangeDetail, type AcTokensChangeEvent, AddItemOptions, Axis, ButtonElement, Checkbox, CheckboxChangeDetail, CheckboxChangeEvent, CheckboxEventMap, ClickSnapMode, ColourMapConfig, ColourMode, ColourPicker, type ColourPickerChangeEvent, type ColourPickerEventDetail, type ColourPickerInputEvent, ColourPickerPopup, ColourResult, ConfigEntry, ContiguousSelectEventDetail, CrossoverBehaviour, CrumbNavChangeDetail, CrumbNavChangeEvent, CrumbNavExpandDetail, CrumbNavExpandEvent, CrumbNavNavigateDetail, CrumbNavNavigateEvent, CrumbNavigationChangeDetail, CrumbNavigationChangeEvent, CrumbNavigationElement, CrumbNavigationElementEventMap, CrumbNavigationExpandDetail, CrumbNavigationExpandEvent, CrumbNavigationItemClickDetail, CrumbNavigationItemClickEvent, CrumbPathController, CrumbPathControllerOptions, CrumbPathElement, CrumbPathElementEventMap, CrumbSegment, CrumbSiblingLookupFn, type CssVars, CustomCheckboxOptions, DataBatch, DataController, DataControllerOptions, DataDisplayComponent, DataGridCellClickDetail, DataGridCellClickEvent, DataGridCellEditDetail, DataGridCellEditEvent, DataGridColumnReorderDetail, DataGridColumnReorderEvent, DataGridColumnResizeDetail, DataGridColumnResizeEvent, DataGridColumnVisibilityDetail, DataGridColumnVisibilityEvent, DataGridElement, DataGridElementEventMap, DataGridGroupChangeDetail, DataGridGroupChangeEvent, DataGridSelectDetail, DataGridSelectEvent, DataGridSortDetail, DataGridSortEvent, type DataListSearchAdapterOptions, type DataListSearchItem, DataProviderResult, DataTableElement, DataTableElementEventMap, DataTableRow, DataTableRowClickDetail, DataTableRowClickEvent, type DetailFormatter, DetailListElement, type DetailSortComparator, type DetailSortItem, type DetailSortMode, DisplayTextLogic, DistributeResult, DockAddPanelTarget, DockAxis, DockChangeDetail, DockChangeEvent, DockDirection, DockDragBoundaryDetail, DockDragBoundaryEvent, DockDropTarget, type DockDropZone, DockEdge, DockHostElement, DockHostElementEventMap, DockLayout, DockLeafContentRules, DockLeafInfo, DockLeafRef, DockNeighbours, DockNode, DockOperation, DockPanelActivatedDetail, DockPanelActivatedEvent, DockPanelAddedDetail, DockPanelAddedEvent, DockPanelDragStartDetail, DockPanelDragStartEvent, DockPanelElement, DockPanelElementEventMap, DockPanelInit, DockPanelRemovedDetail, DockPanelRemovedEvent, DockPanelSnapshot, DockPanelTearOutDetail, DockPanelTearOutEvent, DockRect, DockSplitNode, DockStackNode, DragSnappingFn, DragTarget, EditableLabel, EditableLabelChangeDetail, EditableLabelChangeEvent, EditableMode, EditableNumber, Effect, type ElementIncrSearch, type ElementIncrSearchOptions, type ElementListSearchAdapterOptions, type ElementListSearchHost, Endpoints, EntryMode, FormElement, FormGroupElement, FormPartElement, FormatValueForHuman, FormattingOptions, type FuzzySearch, type FuzzySearchOptions, FuzzySearchResult, type GridListActivateDetail, type GridListActivateEvent, type GridListCaptionAlign, type GridListCaptionBackdrop, type GridListCaptionPosition, type GridListCaptionStyle, GridListElement, type GridListElementEventMap, type GridListFullElementEventMap, type GridListItemClickDetail, type GridListItemClickEvent, type GridListOrientation, type GridListSelectDetail, type GridListSelectEvent, type GridListTickleDetail, type GridListTickleEvent, type GridListViewportChangeDetail, type GridListViewportChangeEvent, GridMode, GridResolution, GroupNode, GroupedItemListerElement, type GroupedItemListerElementEventMap, type GroupedSelectDetail, type GroupedSelectEvent, HexChangeDetail, HexChangeEvent, type HighlightOptions, type HighlightTarget, ICON_CARET_RIGHT, ICON_CHECK, ICON_CHEVRON_DOWN, ICON_CLOSE, IDataProvider, type IGroupedSubComponent, type IGroupedSubComponentEventMap, type IconChangedDetail, type IconChangedEvent, type IconEntry, type IncrSearch, type IncrSearchChangeCallback, IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, type IncrSearchTreeOptions as IncrSearchMillerOptions, type IncrSearchTreeOptions, type IncrSearchOptions, type IncrSearchResult, type IncrSearchState, type InputMode, ItemsProvider, IxfxHexEditorElement, IxfxIconElement, IxfxRatingElement, IxfxTimelineElement, KeyedElementIndex, LIST_ITEM_MOTION_MS, LIST_SEARCH_COMMAND_IDS, LIST_SEARCH_MODES, LabelledRadialInput, LabelledRangeInput, LabelledSliderInput, LaneData, LaneType, LayoutNode, LayoutSnapshot, LeafGeom, LedElement, LedMode, type ListActivateDetail, type ListActivateEvent, type ListElementEventMap, type ListInteractionMode, type ListItemClickDetail, type ListItemClickEvent, type ListItemMotionOptions, type ListSearchAdapter, ListSearchController, type ListSearchControllerOptions, type ListSearchHost, type ListSearchMode, type ListSelectDetail, type ListSelectEvent, ListSelectionController, type ListSelectionControllerConfig, type ListSelectionGesture, type ListSelectionMode, type ListSelectionModes, type ListTickleDetail, type ListTickleEvent, LoadChildrenCallback, MarkerStyle, index_d_exports as Menu, type TreeActivateDetail as MillerActivateDetail, TreeActivateDetail, type TreeActivateEvent as MillerActivateEvent, TreeActivateEvent, MillerBaseElement, MillerBaseElementEventMap, type TreeCollapseDetail as MillerCollapseDetail, TreeCollapseDetail, type TreeCollapseEvent as MillerCollapseEvent, TreeCollapseEvent, MillerConfig, type TreeExpandDetail as MillerExpandDetail, TreeExpandDetail, type TreeExpandEvent as MillerExpandEvent, TreeExpandEvent, MillerHeaderClickDetail, MillerHeaderClickEvent, MillerHeaderRightClickDetail, MillerHeaderRightClickEvent, type TreeItem as MillerItem, TreeItem, type TreeItemClickDetail as MillerItemClickDetail, TreeItemClickDetail, type TreeItemClickEvent as MillerItemClickEvent, TreeItemClickEvent, MillerItemDblClickDetail, MillerItemDblClickEvent, MillerItemRightClickDetail, MillerItemRightClickEvent, MillerItemState, MillerListElement, type TreeNode as MillerNode, TreeNode, MillerRebaseDetail, MillerRebaseEvent, type TreeSelectDetail as MillerSelectDetail, TreeSelectDetail, type TreeSelectEvent as MillerSelectEvent, TreeSelectEvent, MillerSelectionMode, type TreeTickleDetail as MillerTickleDetail, TreeTickleDetail, type TreeTickleEvent as MillerTickleEvent, TreeTickleEvent, MillerTreeController, MillerTreeControllerOptions, NarrowedTextChangeDetail, NarrowedTextChangeEvent, NarrowedTextElement, NarrowedTextItem, NoneSelectEventDetail, Notification, NotificationContent, NotificationManager, NotificationPillElement, NotificationPillElementEventMap, NotificationRenderer, NotificationRendererHooks, NotificationType, NotifierOptions, type OklchValue, Orientation, PanTextElement, PanelCloseEvent, PanelElement, PanelElementEventMap, PanelGroupElement, PanelGroupElementEventMap, PanelGroupOrientation, PanelGroupReorderDetail, PanelGroupReorderEvent, PanelInfo, PanelNode, PanelOrientation, PanelToggleDetail, PanelToggleEvent, PanelToggleInteraction, PanelVariant, PillPosition, PillQueueDisplay, PillRendererOptions, PillSafeArea, PillTapDetail, PillTapEvent, PlotDataSeries, PlotDataSeriesOptions, PlotHistogram, PlotHistogramBucketClickDetail, PlotHistogramBucketClickEvent, PlotHistogramElementEventMap, PlotHistogramInteractionMode, PlotHistogramOrientation, PlotHistogramValueTooltips, PlotMultiAxis, PlotMultiAxisDataPointClickDetail, PlotMultiAxisDataPointClickEvent, PlotMultiAxisElementEventMap, PlotMultiAxisLayout, PlotSingleAxis, PlotSingleAxisElementEventMap, PlotSingleAxisPointerMoveDetail, PlotSingleAxisPointerMoveEvent, PlotXyAxis, PolarPad, PolarPadInputDetail, PolarPadInputEvent, PopupItem, RadialInputChangeDetail, RadialInputChangeEvent, RadialInputElement, RadialInputInputDetail, RadialInputInputEvent, RadioGroup, RadioGroupChangeDetail, RadioGroupChangeEvent, RadioGroupMode, RadioItem, RangeElement, RangeInput, RangeMultiElement, RangeMultiInputDetail, RangeMultiInputEvent, RatingChangeDetail, RatingChangeEvent, RatingElement, RatingElementEventMap, RatingInputEvent, RatingVariant, type Rect, RectangularSelectEventDetail, type RegisterListSearchCommandsOptions, RendererStyle, ResizeMode, SelectEventDetail, SelectHorizChangeDetail, SelectHorizChangeEvent, SelectHorizElement, SelectHorizEventMap, SelectionMode, SingleAxisAgeStyle, SingleAxisDrawStyle, SingleSelectEventDetail, SliderChangedField, SliderCrossover, SliderHandleKey, SliderInputChangeDetail, SliderInputChangeEvent, SliderInputElement, SliderInputElementEventMap, SliderInputInputDetail, SliderInputInputEvent, SliderLaneData, SliderLaneType, SliderMarkerStyle, SliderOrientation, SliderSingleStyle, SliderValueCFollow, SliderValueDrag, SliderValueMode, SlidingNumberElement, SlidingNumberTrend, SnackbarDismiss, SnackbarElement, SnackbarMode, SnackbarPlacement, SnapChangeDetail, SnapChangeEvent, SnapContainer, SnapInputDetail, SnapInputEvent, SnapLogic, SnapshotNode, SortCompareFn, SplitButton, SplitButtonMode, SplitButtonSelectDetail, SplitButtonSelectEvent, SplitChangeDetail, SplitChangeEvent, SplitCloseDetail, SplitCloseEvent, SplitCollapseDetail, SplitCollapseEvent, SplitExpandDetail, SplitExpandEvent, SplitLayoutElement, SplitLayoutElementEventMap, SplitPanelElement, SplitResizeDetail, SplitResizeEvent, type SubComponentActivateDetail, type SubComponentActivateEvent, type SubComponentFactory, type SubComponentItemClickDetail, type SubComponentItemClickEvent, type SubComponentSelectDetail, type SubComponentSelectEvent, type SubComponentTickleDetail, type SubComponentTickleEvent, SwipeElement, SwipeElementEventMap, SwipeInputDetail, SwipeInputEvent, SwitcherItem, Tab, TabAddOptions, TabController, TabControllerOptions, TabListChangeDetail, TabListChangeEvent, TabListDragMode, TabListElement, TabListItemElement, TabListReorderDetail, TabListReorderEvent, TabPanelElement, TabPanelsElement, TextShimmerElement, TickledController, type TickledControllerConfig, type TickledItem, TimelineController, TimelineControllerConfig, TimelineDraggingCallbackDetail, TimelineDraggingDetail, TimelineDraggingEvent, TimelineElementEventMap, TimelineEvent, TimelineEventMoveDetail, TimelineEventMoveEvent, TimelineEventResizeDetail, TimelineEventResizeEvent, TimelineSelectionChangeDetail, TimelineSelectionChangeEvent, TimelineTickleChangeDetail, TimelineTickleChangeEvent, TimelineTrack, TimelineTrackReorderDetail, TimelineTrackReorderEvent, TimelineTrackResizeDetail, TimelineTrackResizeEvent, TimelineTrackSelectDetail, TimelineTrackSelectEvent, TimelineTrackTabElement, TitlebarCloseEvent, TitlebarElement, TitlebarElementEventMap, TitlebarOrientation, TitlebarToggleDetail, TitlebarToggleEvent, TitlebarToggleInteraction, TitlebarVariant, ToolbarAlign, ToolbarElement, ToolbarGroupElement, ToolbarLayout, ToolbarOrientation, ToolbarVerticalWriting, TooltipElement, TooltipOrientations, TrackHeightMode, TrackLayout, TransitoryLabelElement, TreeBaseElement, TreeBaseElementEventMap, TreeCheckboxState, TreeComponent, TreeComponentEventMap, TreeConfig, TreeController, TreeControllerOptions, TreeDataModel, TreeDataModelOptions, TreeExclusivity, TreeFilterPredicate, TreeInteractionMode, type TreeKeyboardNavCallbacks, TreeKeyboardNavController, type TreeKeyboardNavControllerConfig, type TreeKeyboardNavItemId, TreeListAdapterOptions, TreeListElement, type TreeListSearchAdapterOptions, TreeSearchHost, TreeSelectionFilter, TwoSplitLayoutElement, UserScale, ValueMode, VerticalListAdapterOptions, VerticalListElement, ViewRange, WhenSmall, XyAgeStyle, XyDrawStyle, XyPad, XyPadEventMap, XyPadInputDetail, XyPadInputEvent, addPanelToStack, animateListItemIn, animateListItemOut, applyAgeModification, applyHighlights, applySnapshot, attachTimelineInteractions, buildHighlightTargets, buildModel, clearHighlights, collectContainerNames, collectDataResult, collectPanelIds, collectStackPaths, computeColour, computeLeafGeoms, createAcCompletionProvider, createDataListSearchAdapter, createElementIncrSearch, createElementListSearchAdapter, createEmptyLayout, createEmptyStack, createFuzzySearch, createIncrSearch, createPillRenderer, createSplit, createStack, createTreeListAdapter, createTreeListSearchAdapter, createVerticalListAdapter, distribute, extractStack, findNode, findParentOf, findStackOf, findStackPathByName, getActiveDragPanelId, getIcon, getIconEntry, getIconFont, getLeafNeighbours, hasIcon, iconBus, init, insertBeside, isDragging, isMultiMode, isSplit, isStack, keyForElement, listItemFadeKeyframes, listSearchStyles, monitorIndeterminate, moveLeafNodeToEdge, moveLeafStep, normalise, normalize, panelGapIndex, parseColourScaleAttr, parseLayout, pointerOverAnyHost, prefersReducedMotion, readBaseColour, registerFontIcon, registerIcon, registerListSearchCommands, removePanelFromStack, resolveCssVars, resolveGrid, resolveLeafPath, resolveTracks, serializeLayout, setActive, setIconFont, svgToDataUri, swapLeaves, tickledItemStyles, tickledStyles, timelineStyles, toSnapshot, walk, wrapRoot };
1940
1989
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/button/radio-group.ts","../src/button/types.ts","../src/button/split-button.ts","../src/common/data-controller.ts","../src/crumbs/crumb-path.ts","../src/crumbs/crumb-path-controller.ts","../src/data-table/data-table.ts","../src/dock/types.ts","../src/dock/dock-panel.ts","../src/dock/dock-host.ts","../src/dock/dock-drag.ts","../src/dock/dock-model.ts","../src/form/form-group.ts","../src/form/form-part.ts","../src/grouped-item-lister/tree-list-adapter.ts","../src/grouped-item-lister/vertical-list-adapter.ts","../src/interaction/keyed-list.ts","../src/interaction/list-item-animation.ts","../src/interaction/tickled-styles.ts","../src/interaction/tree-keyboard-controller.ts","../src/notifier/manager.ts","../src/notifier/pill-renderer.ts","../src/pan-text/pan-text.ts","../src/panel/panel-group.ts","../src/range/range-multi.ts","../src/rating/rating.ts","../src/sliding-number/sliding-number.ts","../src/split-layout/split-model.ts","../src/tabs/tab-panel.ts","../src/tabs/tab-panels.ts","../src/tabs/tab-controller.ts","../src/text-shimmer/text-shimmer.ts","../src/toolbar/toolbar-group.ts","../src/toolbar/types.ts","../src/toolbar/toolbar.ts","../src/twosplit-layout/split-layout.ts","../src/util/checkbox.ts","../src/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/button/radio-group.ts","../src/button/types.ts","../src/button/split-button.ts","../src/common/data-controller.ts","../src/crumbs/crumb-path.ts","../src/crumbs/crumb-path-controller.ts","../src/data-table/data-table.ts","../src/dock/types.ts","../src/dock/dock-panel.ts","../src/dock/dock-host.ts","../src/dock/dock-drag.ts","../src/dock/dock-model.ts","../src/form/form-group.ts","../src/form/form-part.ts","../src/grouped-item-lister/tree-list-adapter.ts","../src/grouped-item-lister/vertical-list-adapter.ts","../src/interaction/keyed-list.ts","../src/interaction/list-item-animation.ts","../src/interaction/tickled-styles.ts","../src/interaction/tree-keyboard-controller.ts","../src/notifier/manager.ts","../src/notifier/pill-renderer.ts","../src/pan-text/pan-text.ts","../src/panel/panel-group.ts","../src/range/range-multi.ts","../src/rating/rating.ts","../src/sliding-number/sliding-number.ts","../src/split-layout/split-model.ts","../src/tabs/tab-panel.ts","../src/tabs/tab-panels.ts","../src/tabs/tab-controller.ts","../src/text-shimmer/text-shimmer.ts","../src/toolbar/toolbar-group.ts","../src/toolbar/types.ts","../src/toolbar/toolbar.ts","../src/twosplit-layout/split-layout.ts","../src/util/checkbox.ts","../src/index.ts"],"mappings":"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"}