@aceshooting/lyra-ui 7.4.0 → 7.6.0

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 (26) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/custom-elements.json +63 -3
  3. package/dist/components/conversation/thread-list/thread-list.class.d.ts +11 -2
  4. package/dist/components/conversation/thread-list/thread-list.class.d.ts.map +1 -1
  5. package/dist/components/conversation/thread-list/thread-list.class.js +43 -25
  6. package/dist/components/conversation/thread-list/thread-list.class.js.map +1 -1
  7. package/dist/components/forms/textarea/textarea.class.d.ts +6 -0
  8. package/dist/components/forms/textarea/textarea.class.d.ts.map +1 -1
  9. package/dist/components/forms/textarea/textarea.class.js +16 -1
  10. package/dist/components/forms/textarea/textarea.class.js.map +1 -1
  11. package/dist/components/layout/filter-bar/filter-bar.class.d.ts +56 -11
  12. package/dist/components/layout/filter-bar/filter-bar.class.d.ts.map +1 -1
  13. package/dist/components/layout/filter-bar/filter-bar.class.js +57 -3
  14. package/dist/components/layout/filter-bar/filter-bar.class.js.map +1 -1
  15. package/dist/components/layout/virtual-list/virtual-list.styles.d.ts.map +1 -1
  16. package/dist/components/layout/virtual-list/virtual-list.styles.js +27 -7
  17. package/dist/components/layout/virtual-list/virtual-list.styles.js.map +1 -1
  18. package/llms/components/lr-filter-bar.md +45 -0
  19. package/llms/components/lr-textarea.md +5 -0
  20. package/llms/components/lr-thread-list.md +16 -4
  21. package/llms/components/lr-virtual-list.md +8 -7
  22. package/llms-full.txt +73 -10
  23. package/package.json +1 -1
  24. package/vscode-css-data.json +28 -0
  25. package/vscode-html-data.json +10 -3
  26. package/web-types.json +29 -4
@@ -16,13 +16,59 @@ import "../../overlays/spinner/spinner.class.js";
16
16
  * `'text'` -- an open-ended free-text query rather than a closed choice set -- maps to
17
17
  * `<lr-input>`, composed exactly like the rest (its own label/hint/error chrome, its own
18
18
  * `required`), with this component adding only the optional `debounce` every free-text filter
19
- * otherwise hand-rolls at the call site. */
20
- export type FilterBarControlType = "select" | "combobox" | "date" | "date-range" | "text";
19
+ * otherwise hand-rolls at the call site. `'custom'` delegates rendering and event-to-value
20
+ * conversion to the definition's `custom` adapter, so an existing Lyra control can participate
21
+ * without this component growing a branch for every control family. */
22
+ export type FilterBarControlType = "select" | "combobox" | "date" | "date-range" | "text" | "custom";
21
23
  /** One closed-set choice for a `'select'`/`'combobox'` filter. */
22
24
  export interface FilterBarOption {
23
25
  value: string;
24
26
  label: string;
25
27
  }
28
+ /** One filter's current value. Built-in controls use strings/string arrays; custom controls may
29
+ * also use a boolean (for example, an `lr-checkbox` filter). */
30
+ export type FilterBarFieldValue = string | string[] | boolean | undefined;
31
+ /** Value/label bridge for a custom filter control. The renderer wires one of the context's event
32
+ * handlers to the control's committed-change event; the adapter turns that event into the plain
33
+ * value stored by `lr-filter-bar`. */
34
+ export interface FilterBarCustomControlAdapter {
35
+ /** Reads the new filter value from the custom control's event. `event.currentTarget` is the
36
+ * rendered control when the handler is attached directly to it. */
37
+ valueFromEvent: (event: Event) => FilterBarFieldValue;
38
+ /** Value used when a custom filter's chip is removed. Defaults to `''` when omitted. */
39
+ emptyValue?: FilterBarFieldValue;
40
+ /** Formats the stored value for the active-filter chip. When omitted, strings and arrays use
41
+ * the same list formatting as built-in choice filters and booleans render as `true`/`false`. */
42
+ formatValue?: (value: FilterBarFieldValue) => string;
43
+ }
44
+ /** Context supplied to a custom filter renderer. The renderer owns the custom control's markup
45
+ * and should bind `value`, `disabled`, `required`, and `errorText` as appropriate for that
46
+ * control, then attach `onValueChange` (or the more specific `onInput`/`onChange`) to its
47
+ * committed-value event and `onFocusout` to its blur/focusout event. */
48
+ export interface FilterBarCustomControlContext {
49
+ id: string;
50
+ label: string;
51
+ definition: FilterBarFilterDefinition;
52
+ value: FilterBarFieldValue;
53
+ disabled: boolean;
54
+ required: boolean;
55
+ errorText: string;
56
+ /** Directly commits a value, useful for a custom control whose event has no DOM event payload. */
57
+ setValue: (value: FilterBarFieldValue) => void;
58
+ /** Reads the adapter value and commits it; stopPropagation is handled by the filter bar. */
59
+ onValueChange: (event: Event) => void;
60
+ /** Aliases for consumers whose custom control uses native-style input/change naming. */
61
+ onInput: (event: Event) => void;
62
+ onChange: (event: Event) => void;
63
+ /** Marks the custom filter touched so required validation becomes visible. */
64
+ onFocusout: () => void;
65
+ }
66
+ /** Renderer and adapter for a `type: "custom"` filter definition. The returned control is placed
67
+ * inside the filter bar's `filter-control` part and is re-rendered with the current value. */
68
+ export interface FilterBarCustomControl {
69
+ render: (context: FilterBarCustomControlContext) => TemplateResult;
70
+ adapter: FilterBarCustomControlAdapter;
71
+ }
26
72
  /**
27
73
  * A host-declared filter: which composed control renders it, its choice set (for
28
74
  * `select`/`combobox`), and its validation/reset defaults. `id` doubles as this filter's key in
@@ -37,7 +83,7 @@ export interface FilterBarFilterDefinition {
37
83
  label: string;
38
84
  type: FilterBarControlType;
39
85
  /** Closed choice set. Required (and meaningful) only for `'select'`/`'combobox'`; ignored for
40
- * `'date'`/`'date-range'`/`'text'`. */
86
+ * `'date'`/`'date-range'`/`'text'`/`'custom'`. */
41
87
  options?: FilterBarOption[];
42
88
  placeholder?: string;
43
89
  /** `'text'` only -- how long (ms) to wait after the last keystroke before committing the typed
@@ -54,18 +100,15 @@ export interface FilterBarFilterDefinition {
54
100
  required?: boolean;
55
101
  /** What `reset()` restores this filter to. A filter with no `defaultValue` resets to unset
56
102
  * (absent from the post-reset `value`) rather than to some invented empty placeholder. */
57
- defaultValue?: string | string[];
103
+ defaultValue?: string | string[] | boolean;
58
104
  /** ISO `YYYY-MM-DD` lower bound, forwarded to `<lr-date-input>`'s own `min`. `'date'`/`'date-range'` only. */
59
105
  min?: string;
60
106
  /** ISO `YYYY-MM-DD` upper bound, forwarded to `<lr-date-input>`'s own `max`. `'date'`/`'date-range'` only. */
61
107
  max?: string;
108
+ /** Required for `type: 'custom'`: the renderer and adapter for the existing Lyra control the
109
+ * host wants to compose. Ignored for built-in filter types. */
110
+ custom?: FilterBarCustomControl;
62
111
  }
63
- /** One filter's current value: a single string (`'select'`, `'date'`, `'text'`, a non-multiple
64
- * `'combobox'`), a string array (a `multiple` `'combobox'`), or `undefined`/`''`/`[]` for
65
- * "unset". `'date-range'` uses `<lr-date-input>`'s own single-string range shape
66
- * (`"YYYY-MM-DD/YYYY-MM-DD"`), not a two-element array. A `'text'` filter's value is the raw
67
- * query string, verbatim. */
68
- export type FilterBarFieldValue = string | string[] | undefined;
69
112
  /**
70
113
  * The whole filter bar's current state: a plain, JSON-serializable object keyed by
71
114
  * `FilterBarFilterDefinition.id`. This is the entire URL-querystring/app-state serialization
@@ -139,7 +182,8 @@ export interface LyraFilterBarEventMap {
139
182
  * @event lr-reset - `reset()` ran (via the reset button or a direct call). `detail: { value }`.
140
183
  * @csspart base - The root `role="group"` wrapper.
141
184
  * @csspart controls - The row holding every filter control, the reset button, and the loading status.
142
- * @csspart filter-control - One filter's composed `<lr-select>`/`<lr-combobox>`/`<lr-date-input>`/`<lr-input>`.
185
+ * @csspart filter-control - One filter's composed built-in control, or the wrapper around a
186
+ * custom renderer's control.
143
187
  * @csspart reset-button - The reset `<lr-button>`.
144
188
  * @csspart status - The loading `<lr-spinner>`, only rendered while `loading`.
145
189
  * @csspart active-filters - The `role="group"` wrapper around the active-filter chip row, only rendered while any filter is set.
@@ -210,6 +254,7 @@ export declare class LyraFilterBar extends LyraElement<LyraFilterBarEventMap> {
210
254
  private setFilterValue;
211
255
  private markTouched;
212
256
  private onControlChange;
257
+ private onCustomControlChange;
213
258
  /** A `'text'` filter's keystroke: commits immediately, or (with a positive `debounce`) parks the
214
259
  * value until the user pauses. Non-finite/zero/negative delays mean "no debounce" rather than
215
260
  * scheduling a timer that would never behave sensibly. */
@@ -1 +1 @@
1
- {"version":3,"file":"filter-bar.class.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/filter-bar/filter-bar.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter-bar.class.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/filter-bar/filter-bar.class.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,8 @@ const EMPTY_VALUE = {};
25
25
  function isSet(value) {
26
26
  if (value == null)
27
27
  return false;
28
+ if (typeof value === "boolean")
29
+ return value;
28
30
  return Array.isArray(value) ? value.length > 0 : value !== "";
29
31
  }
30
32
  /**
@@ -73,7 +75,8 @@ function isSet(value) {
73
75
  * @event lr-reset - `reset()` ran (via the reset button or a direct call). `detail: { value }`.
74
76
  * @csspart base - The root `role="group"` wrapper.
75
77
  * @csspart controls - The row holding every filter control, the reset button, and the loading status.
76
- * @csspart filter-control - One filter's composed `<lr-select>`/`<lr-combobox>`/`<lr-date-input>`/`<lr-input>`.
78
+ * @csspart filter-control - One filter's composed built-in control, or the wrapper around a
79
+ * custom renderer's control.
77
80
  * @csspart reset-button - The reset `<lr-button>`.
78
81
  * @csspart status - The loading `<lr-spinner>`, only rendered while `loading`.
79
82
  * @csspart active-filters - The `role="group"` wrapper around the active-filter chip row, only rendered while any filter is set.
@@ -109,6 +112,13 @@ export class LyraFilterBar extends LyraElement {
109
112
  this.onControlChange = (id, e) => {
110
113
  this.setFilterValue(id, e.target.value);
111
114
  };
115
+ this.onCustomControlChange = (def, e) => {
116
+ e.stopPropagation();
117
+ const adapter = def.custom?.adapter;
118
+ if (!adapter)
119
+ return;
120
+ this.setFilterValue(def.id, adapter.valueFromEvent(e));
121
+ };
112
122
  }
113
123
  static { this.styles = [LyraElement.styles, styles]; }
114
124
  static { this.properties = {
@@ -268,12 +278,32 @@ export class LyraFilterBar extends LyraElement {
268
278
  // Same race as reset(): a pending keystroke would land after the chip removal and undo it.
269
279
  this.cancelDebounce(id);
270
280
  const def = this._filters.find((f) => f.id === id);
271
- const empty = def?.type === "combobox" && def.multiple ? [] : "";
281
+ const empty = def?.type === "custom"
282
+ ? def.custom?.adapter.emptyValue ?? ""
283
+ : def?.type === "combobox" && def.multiple
284
+ ? []
285
+ : "";
272
286
  this.setFilterValue(id, empty);
273
287
  }
274
288
  displayValueFor(def, value) {
289
+ if (def.type === "custom") {
290
+ const formatted = def.custom?.adapter.formatValue?.(value);
291
+ if (formatted !== undefined)
292
+ return formatted;
293
+ if (Array.isArray(value)) {
294
+ return getListFormat(this.effectiveLocale, {
295
+ style: "long",
296
+ type: "conjunction",
297
+ }).format(value);
298
+ }
299
+ return value === undefined ? "" : String(value);
300
+ }
275
301
  if (def.type === "select" || def.type === "combobox") {
276
- const values = Array.isArray(value) ? value : value ? [value] : [];
302
+ const values = Array.isArray(value)
303
+ ? value.filter((entry) => typeof entry === "string")
304
+ : typeof value === "string"
305
+ ? [value]
306
+ : [];
277
307
  // Show each option's own label, not its raw value, when it's a known choice -- falls back
278
308
  // to the raw value verbatim for a value that no longer matches any declared option.
279
309
  const labels = values.map((v) => def.options?.find((o) => o.value === v)?.label ?? v);
@@ -385,6 +415,30 @@ export class LyraFilterBar extends LyraElement {
385
415
  : "";
386
416
  const onChange = (e) => this.onControlChange(def.id, e);
387
417
  const onFocusout = () => this.markTouched(def.id);
418
+ if (def.type === "custom" && def.custom) {
419
+ const custom = def.custom;
420
+ const onCustomValueChange = (e) => this.onCustomControlChange(def, e);
421
+ const context = {
422
+ id: def.id,
423
+ label: def.label,
424
+ definition: def,
425
+ value,
426
+ disabled: this.disabled,
427
+ required: Boolean(def.required),
428
+ errorText,
429
+ setValue: (next) => this.setFilterValue(def.id, next),
430
+ onValueChange: onCustomValueChange,
431
+ onInput: onCustomValueChange,
432
+ onChange: onCustomValueChange,
433
+ onFocusout,
434
+ };
435
+ return html `<div
436
+ part="filter-control"
437
+ data-filter-id=${def.id}
438
+ @lr-input=${(event) => event.stopPropagation()}
439
+ @lr-change=${(event) => event.stopPropagation()}
440
+ >${custom.render(context)}</div>`;
441
+ }
388
442
  if (def.type === "combobox") {
389
443
  const multiple = Boolean(def.multiple);
390
444
  const comboValue = multiple
@@ -1 +1 @@
1
- {"version":3,"file":"filter-bar.class.js","sourceRoot":"","sources":["../../../../src/components/layout/filter-bar/filter-bar.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter-bar.class.js","sourceRoot":"","sources":["../../../../src/components/layout/filter-bar/filter-bar.class.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"virtual-list.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/virtual-list/virtual-list.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAgHlB,CAAC"}
1
+ {"version":3,"file":"virtual-list.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/virtual-list/virtual-list.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAoIlB,CAAC"}
@@ -56,15 +56,35 @@ export const styles = css `
56
56
  how high its own z-index is: that z-index only orders siblings inside the row's own context.
57
57
  The last row always looks correct, which is why a small fixture never catches it.
58
58
 
59
- :focus-within lifts the row for exactly as long as something inside it holds focus -- the
60
- lifetime of an open popup -- and costs nothing the rest of the time. The value deliberately
61
- matches [part='group'] below rather than exceeding it, so the two land on the same layer and
62
- DOM order decides: groups render before the rows, so a row wins while (and only while) it holds
63
- focus -- which is the right outcome, since a group header is a non-interactive
64
- (pointer-events: none) label and the focused row is where the user is working. */
65
- [part='row']:focus-within {
59
+ :focus-within lifts the row while something inside it holds focus. An open lr-menu is included
60
+ explicitly as well: opening a menu can trigger a virtual measurement/render pass after the
61
+ menu moves focus, and that pass can transiently drop focus to <body> while the fixed popup
62
+ remains open. Keying the layer to the popup's own durable open state prevents that valid
63
+ imperative-open path from falling back under later rows.
64
+
65
+ The value deliberately matches [part='group'] below rather than exceeding it, so the two land
66
+ on the same layer and DOM order decides: groups render before the rows, so an active row wins
67
+ while the group header remains non-interactive decoration. */
68
+ [part='row']:where(:focus-within, :has(lr-menu[open])) {
66
69
  z-index: var(--lr-layer-content);
67
70
  }
71
+ /* lr-thread-list's renderItem callback is rendered inside this shadow root, so descendant
72
+ content such as a rich excerpt's <mark> cannot be reached by the thread-list stylesheet or
73
+ by a consumer rule following ::part(row-excerpt). Keep the selector pinned to the callback's
74
+ dedicated part so marks in other virtualized row hooks retain their own semantics. The public
75
+ properties inherit from lr-thread-list through this host and remain component-scoped. */
76
+ [part='row'] [part~='row-excerpt'] mark {
77
+ background: var(
78
+ --lr-thread-list-excerpt-highlight-background,
79
+ var(--lr-color-warning-quiet)
80
+ );
81
+ color: var(--lr-thread-list-excerpt-highlight-foreground, inherit);
82
+ border-radius: var(
83
+ --lr-thread-list-excerpt-highlight-radius,
84
+ var(--lr-radius-xs)
85
+ );
86
+ padding: var(--lr-thread-list-excerpt-highlight-padding, 0);
87
+ }
68
88
  [part='group'] {
69
89
  position: absolute;
70
90
  inset-inline: 0;
@@ -1 +1 @@
1
- {"version":3,"file":"virtual-list.styles.js","sourceRoot":"","sources":["../../../../src/components/layout/virtual-list/virtual-list.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgHxB,CAAC"}
1
+ {"version":3,"file":"virtual-list.styles.js","sourceRoot":"","sources":["../../../../src/components/layout/virtual-list/virtual-list.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoIxB,CAAC"}
@@ -57,3 +57,48 @@ value means no debounce at all: every keystroke commits immediately. A pending d
57
57
  **cancelled outright** by `reset()`, by removing that filter's chip, and on disconnect — a stale
58
58
  keystroke can never overwrite a reset or fire after teardown. `debounce` is ignored for every other
59
59
  `type`, whose commits are discrete choices with nothing to debounce.
60
+
61
+ ### Custom controls
62
+
63
+ Use `type: 'custom'` when an existing Lyra control does not fit the built-in filter types. Provide a
64
+ `custom` object with a `render(context)` function and an `adapter`. The renderer owns the control's
65
+ markup and should bind the context's `value`, `disabled`, `required`, and `errorText` as appropriate;
66
+ `context.onValueChange` (or its `onInput`/`onChange` aliases) reads the event through
67
+ `adapter.valueFromEvent` and commits it to the filter bar. `context.setValue(value)` is available for
68
+ controls that expose a value without an event payload, and `context.onFocusout` marks the filter
69
+ touched for required validation.
70
+
71
+ The adapter's optional `emptyValue` is used when the active chip is removed, and its optional
72
+ `formatValue` controls the chip's display text. Custom values may be strings, string arrays,
73
+ booleans, or `undefined`, so controls such as `lr-time-range`, `lr-checkbox`, and an async-backed
74
+ `lr-combobox` can participate in the same controlled `value`, active-chip, reset, disabled, and
75
+ validation contract:
76
+
77
+ ```ts
78
+ const filters: FilterBarFilterDefinition[] = [
79
+ {
80
+ id: 'archived',
81
+ label: 'Include archived',
82
+ type: 'custom',
83
+ custom: {
84
+ adapter: {
85
+ valueFromEvent: (event) =>
86
+ (event as CustomEvent<{ checked: boolean }>).detail.checked,
87
+ emptyValue: false,
88
+ formatValue: (value) => value === true ? 'Enabled' : 'Disabled',
89
+ },
90
+ render: (context) => html`
91
+ <lr-checkbox
92
+ ?checked=${context.value === true}
93
+ ?disabled=${context.disabled}
94
+ @lr-change=${context.onValueChange}
95
+ @focusout=${context.onFocusout}
96
+ >${context.label}</lr-checkbox>
97
+ `,
98
+ },
99
+ },
100
+ ];
101
+ ```
102
+
103
+ The custom renderer returns a Lit `TemplateResult`; the filter bar places it in its
104
+ `filter-control` part and re-renders it whenever the controlled value or validation state changes.
@@ -30,6 +30,7 @@ submission/validation/reset via `name`/`value`/`disabled`/`required`/`checkValid
30
30
  | `rows` | `rows` | `number` | `3` | Visible text rows. |
31
31
  | `resize` | `resize` | `'none' \| 'vertical' \| 'both' \| 'auto'` | `'vertical'` | Native CSS `resize` behavior, plus `'auto'` (`ResizeObserver`-driven grow-to-content, no manual handle). |
32
32
  | `placeholder` | `placeholder` | `string` | `''` | Placeholder text. |
33
+ | `readonly` | `readonly` | `boolean` | `false` | Native read-only behavior: prevents user edits while preserving focus, selection/copy, form submission, and silent programmatic editing methods. Reflected. |
33
34
  | `label` | `label` | `string` | `''` | Visible label text. Unset: no label chrome renders. |
34
35
  | `hint` | `hint` | `string` | `''` | Hint text below the field. |
35
36
  | `errorText` | `error-text` | `string` | `''` | Error text below the field (overridden by slotted `error` content). |
@@ -53,6 +54,10 @@ submission/validation/reset via `name`/`value`/`disabled`/`required`/`checkValid
53
54
  (from `maxlength`) — the complete set a native `<textarea>` can produce. Leaving `minlength` and
54
55
  `maxlength` unset constrains nothing, exactly as before they existed.
55
56
 
57
+ While `readonly`, all three constraint flags are suspended and `checkValidity()` succeeds, matching
58
+ native textarea behavior. The value remains a successful form value and is restored by form reset;
59
+ unsetting `readonly` restores the applicable required and length constraints.
60
+
56
61
  Two behaviors are worth knowing, both inherited from the platform and both shared with `lr-input`:
57
62
 
58
63
  - **An empty value is never `tooShort`.** Native `minlength` only applies to a non-empty value, so
@@ -6,7 +6,7 @@
6
6
  - **Class** `LyraThreadList`, also available unregistered from `@aceshooting/lyra-ui/components/conversation/thread-list/thread-list.class.js`
7
7
  - **Family** `components/conversation/` — see `llms/index.md` for its siblings
8
8
  - **Optional peers** none
9
- - **Themeable via** 32 parts, 0 custom properties — see this component's own `@csspart`/`@cssprop` list below
9
+ - **Themeable via** 32 parts, 4 custom properties — see this component's own `@csspart`/`@cssprop` list below
10
10
  - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
11
11
 
12
12
  ---
@@ -65,13 +65,17 @@ icon — the item has no default slot to receive one); unset renders the built-i
65
65
  `renderActions?: (thread: ChatThread) => TemplateResult` (attribute: false) — data mode only:
66
66
  appends host-supplied content (re-invoked per row on every render, e.g. a `lr-menu` with custom
67
67
  actions) after the built-in `rowActions` output in each row's `actions` slot; events it fires reach
68
- the host normally and never trigger `lr-select`. Unset renders only the built-in `rowActions`.
68
+ the host normally and never trigger `lr-select`. An open nested `lr-menu` keeps its virtual row
69
+ above later rows even if focus temporarily leaves the menu. Unset renders only the built-in
70
+ `rowActions`.
69
71
  `renderLeading?: (thread: ChatThread) => TemplateResult` (attribute: false) — renders non-interactive
70
72
  leading content in each virtualized row. `renderExcerpt?: (thread: ChatThread) => TemplateResult`
71
73
  (attribute: false) — renders rich content into the row item's own `excerpt` slot, winning over the
72
74
  plain-string `excerpt` property (e.g. a server-highlighted search-match snippet), while leaving the
73
- built-in title layout and inline-rename affordance untouched. `renderMeta?: (thread: ChatThread) =>
74
- TemplateResult` (attribute: false) appends structured metadata in the row's meta region.
75
+ built-in title layout and inline-rename affordance untouched. `<mark>` descendants returned by this
76
+ hook receive the default, component-themeable highlight treatment documented below.
77
+ `renderMeta?: (thread: ChatThread) => TemplateResult` (attribute: false) — appends structured
78
+ metadata in the row's meta region.
75
79
  `renderRowContent?: (thread: ChatThread) => TemplateResult` (attribute: false) — replaces the
76
80
  conversation item's title/excerpt/meta content area with custom non-interactive row content.
77
81
  `formatGroupLabel?: (key: ThreadBucketKey, date?: Date) => string` (attribute: false) — overrides
@@ -114,6 +118,14 @@ prefix: `row-item-base`, `row-item-active-indicator`, `row-item-option`, `row-it
114
118
  `row-item-title`, `row-item-title-input`, `row-item-rename-button`, `row-item-excerpt`,
115
119
  `row-item-meta`, `row-item-timestamp`, `row-item-actions`.
116
120
 
121
+ **Themeable excerpt highlights:** `<mark>` descendants returned by `renderExcerpt` use
122
+ `--lr-thread-list-excerpt-highlight-background` (default `var(--lr-color-warning-quiet)`),
123
+ `--lr-thread-list-excerpt-highlight-foreground` (default `inherit`),
124
+ `--lr-thread-list-excerpt-highlight-radius` (default `var(--lr-radius-xs)`), and
125
+ `--lr-thread-list-excerpt-highlight-padding` (default `0`). These properties inherit through the
126
+ internal virtual-list shadow tree, so set them on `lr-thread-list` or any ancestor. They do not style
127
+ marks returned by `renderRowContent` or any other hook.
128
+
117
129
  **Keep the two prefixes straight — they are different surfaces.** The `row-*` parts wrap *this*
118
130
  component's own render-callback output (`wrapRow`, `renderLeading`, `renderExcerpt`,
119
131
  `renderRowContent`, `renderMeta`, `renderActions`); the `row-item-*` parts are the row item's
@@ -222,18 +222,19 @@ history sidebar); it is not the right approach for a hundred-thousand-row list w
222
222
  - A sticky band only appears when `renderStickyGroup` *and* at least one valid `groups` entry are
223
223
  both present; `groups` alone renders positioned markers with nothing pinned, and
224
224
  `renderStickyGroup` alone renders no overlay element at all.
225
- - **A row that renders a popup needs the focused-row lift, and this is why `[part='row']` has one.**
225
+ - **A row that renders a popup needs the active-row lift, and this is why `[part='row']` has one.**
226
226
  Each row carries `will-change: transform` (a compositor hint for the per-frame translate), which
227
227
  makes every row its own stacking context. Rows otherwise carry no `z-index`, so they paint in DOM
228
228
  order and each one paints over the previous. Anything a row renders that overflows its own box —
229
229
  an `<lr-menu>` popup in a row-action menu, a tooltip, an outward focus ring — is therefore painted
230
230
  *underneath* every following row, no matter how high its own `z-index` is: that `z-index` only
231
231
  orders siblings inside the row's own context. The last row always looks correct, which is exactly
232
- why a short fixture never catches it. `[part='row']:focus-within` lifts the row to
233
- `--lr-layer-content` for precisely as long as something inside it holds focus the lifetime of an
234
- open popup and costs nothing otherwise. The value deliberately *matches* `[part='group']`'s
235
- rather than exceeding it, so the two land on the same layer and DOM order decides: groups render
236
- before the rows, so a focused row wins while (and only while) it holds focus, which is right — a
237
- group header is a non-interactive `pointer-events: none` label.
232
+ why a short fixture never catches it. A row lifts to `--lr-layer-content` while something inside
233
+ it holds focus or while it contains an open `lr-menu`. The explicit menu-open branch covers
234
+ imperative opening and virtual measurement/render cycles, where focus can temporarily return to
235
+ the document while the popup remains visible. The value deliberately *matches*
236
+ `[part='group']`'s rather than exceeding it, so the two land on the same layer and DOM order
237
+ decides: groups render before the rows, so an active row wins while (and only while) it needs to,
238
+ which is right — a group header is a non-interactive `pointer-events: none` label.
238
239
 
239
240
  ---