@aceshooting/lyra-ui 7.5.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 7.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - b91bd2c: Add `type: 'custom'` filters to `lr-filter-bar`, letting a filter definition supply its own renderer and value adapter so any existing Lyra control (`lr-checkbox`, `lr-time-range`, an async `lr-combobox`, ...) can participate in the same controlled `value`, active-chip, reset, disabled, and validation contract as the built-in filter types.
8
+
3
9
  ## 7.5.0
4
10
 
5
11
  ### Minor Changes
@@ -141987,7 +141987,7 @@
141987
141987
  "name": "controls"
141988
141988
  },
141989
141989
  {
141990
- "description": "One filter's composed `<lr-select>`/`<lr-combobox>`/`<lr-date-input>`/`<lr-input>`.",
141990
+ "description": "One filter's composed built-in control, or the wrapper around a custom renderer's control.",
141991
141991
  "name": "filter-control"
141992
141992
  },
141993
141993
  {
@@ -142185,6 +142185,11 @@
142185
142185
  "name": "onControlChange",
142186
142186
  "privacy": "private"
142187
142187
  },
142188
+ {
142189
+ "kind": "field",
142190
+ "name": "onCustomControlChange",
142191
+ "privacy": "private"
142192
+ },
142188
142193
  {
142189
142194
  "kind": "field",
142190
142195
  "name": "pendingLoadController",
@@ -142735,6 +142740,19 @@
142735
142740
  },
142736
142741
  "tagName": "lr-filter-bar",
142737
142742
  "customElement": true
142743
+ },
142744
+ {
142745
+ "kind": "function",
142746
+ "name": "onFocusout"
142747
+ },
142748
+ {
142749
+ "kind": "variable",
142750
+ "name": "errorText"
142751
+ },
142752
+ {
142753
+ "kind": "variable",
142754
+ "name": "value",
142755
+ "default": "this._value[def.id]"
142738
142756
  }
142739
142757
  ],
142740
142758
  "exports": [
@@ -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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"}
@@ -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.
package/llms-full.txt CHANGED
@@ -7056,6 +7056,51 @@ value means no debounce at all: every keystroke commits immediately. A pending d
7056
7056
  keystroke can never overwrite a reset or fire after teardown. `debounce` is ignored for every other
7057
7057
  `type`, whose commits are discrete choices with nothing to debounce.
7058
7058
 
7059
+ ### Custom controls
7060
+
7061
+ Use `type: 'custom'` when an existing Lyra control does not fit the built-in filter types. Provide a
7062
+ `custom` object with a `render(context)` function and an `adapter`. The renderer owns the control's
7063
+ markup and should bind the context's `value`, `disabled`, `required`, and `errorText` as appropriate;
7064
+ `context.onValueChange` (or its `onInput`/`onChange` aliases) reads the event through
7065
+ `adapter.valueFromEvent` and commits it to the filter bar. `context.setValue(value)` is available for
7066
+ controls that expose a value without an event payload, and `context.onFocusout` marks the filter
7067
+ touched for required validation.
7068
+
7069
+ The adapter's optional `emptyValue` is used when the active chip is removed, and its optional
7070
+ `formatValue` controls the chip's display text. Custom values may be strings, string arrays,
7071
+ booleans, or `undefined`, so controls such as `lr-time-range`, `lr-checkbox`, and an async-backed
7072
+ `lr-combobox` can participate in the same controlled `value`, active-chip, reset, disabled, and
7073
+ validation contract:
7074
+
7075
+ ```ts
7076
+ const filters: FilterBarFilterDefinition[] = [
7077
+ {
7078
+ id: 'archived',
7079
+ label: 'Include archived',
7080
+ type: 'custom',
7081
+ custom: {
7082
+ adapter: {
7083
+ valueFromEvent: (event) =>
7084
+ (event as CustomEvent<{ checked: boolean }>).detail.checked,
7085
+ emptyValue: false,
7086
+ formatValue: (value) => value === true ? 'Enabled' : 'Disabled',
7087
+ },
7088
+ render: (context) => html`
7089
+ <lr-checkbox
7090
+ ?checked=${context.value === true}
7091
+ ?disabled=${context.disabled}
7092
+ @lr-change=${context.onValueChange}
7093
+ @focusout=${context.onFocusout}
7094
+ >${context.label}</lr-checkbox>
7095
+ `,
7096
+ },
7097
+ },
7098
+ ];
7099
+ ```
7100
+
7101
+ The custom renderer returns a Lit `TemplateResult`; the filter bar places it in its
7102
+ `filter-control` part and re-renders it whenever the controlled value or validation state changes.
7103
+
7059
7104
  # Overlays, status & feedback (`components/overlays/`)
7060
7105
 
7061
7106
  ## `lr-toast` / `lr-toast-item` / `toast()`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aceshooting/lyra-ui",
3
- "version": "7.5.0",
3
+ "version": "7.6.0",
4
4
  "description": "Free, independent Lit web components: an open-source alternative to Shoelace and Web Awesome with accessible forms, dashboards, charts, and agent UI.",
5
5
  "keywords": [
6
6
  "web-components",
@@ -6346,7 +6346,7 @@
6346
6346
  "name": "lr-filter-bar",
6347
6347
  "description": {
6348
6348
  "kind": "markdown",
6349
- "value": "`<lr-filter-bar>` — a row of dashboard filters, each declared by the host (`filters`) rather\nthan invented by this component: every filter composes an existing Lyra input --\n`<lr-select>`/`<lr-combobox>` for closed choice sets, `<lr-date-input>` (single or `mode=\"range\"`)\nfor dates, `<lr-input>` for a free-text query -- plus a `<lr-chip-group>` of removable\n`<lr-chip>`s summarizing the currently-active filters, an `<lr-button>` that resets every\nfilter, and (while `loading`) an `<lr-spinner>` status indicator.\n\nA `'text'` filter is the one control that is *not* a fully controlled `.value=` binding: a text\nfield re-rendered from `value` mid-typing would push a stale value back into the field and drop\nthe caret to the end, so the field owns its own value while the user types and an external\n`value` write is synced back in only once no edit is in flight (see `syncTextControls()`). Its\noptional per-filter `debounce` (ms) is the only behaviour this component adds on top of the\ncomposed control itself -- flushed by that field's own `change`/blur, cancelled by `reset()`, a\nchip removal, and `disconnectedCallback`, so a stale keystroke can never overwrite a reset or\nfire after teardown.\n\nControlled, like every other Lyra data component: `value` is a plain, JSON-serializable object\n(`FilterBarValue`) the host reads/writes directly -- this component never touches\n`location`/`history`/storage itself, so turning `value` into (and back out of) a URL\nquerystring or an app state store is entirely the host's own concern. Every edit -- picking an\noption, committing a date, removing an active-filter chip, or clicking reset -- goes through\nthe same `setFilterValue()` path and emits a single `lr-input` carrying the *full* resulting\n`value`, not just the changed filter's own value, mirroring `<lr-tool-param-form>`'s identical\n\"always the whole object\" event contract.\n\nValidation is scoped to each filter definition's own `required` flag: `invalidFilterIds`/\n`checkValidity()` are always live (plain getters over `filters`/`value`, not cached), and\n`reportValidity()` additionally reveals every currently-invalid filter's inline error (rendered\nby that filter's own composed control, via its `errorText`/`required` props -- this component\nnever renders a second, duplicate label/hint/error chrome of its own around an already-chromed\ncontrol) the same way a blur naturally would. `lr-validity-change` fires whenever the computed\n`{ valid, invalidFilterIds }` actually changes.\n\nDeliberately not form-associated: a dashboard filter bar's state is not a submitted form field,\nand every value it holds already round-trips through `value` directly -- see `disabled` below,\na plain property with no `<fieldset disabled>` cascade, for the same reason.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `active-filters` | The `role=\"group\"` wrapper around the active-filter chip row, only rendered while any filter is set. |\n| `base` | The root `role=\"group\"` wrapper. |\n| `chip` | One active-filter `<lr-chip>`. |\n| `chips` | The `<lr-chip-group>` inside `active-filters`. |\n| `controls` | The row holding every filter control, the reset button, and the loading status. |\n| `filter-control` | One filter's composed `<lr-select>`/`<lr-combobox>`/`<lr-date-input>`/`<lr-input>`. |\n| `reset-button` | The reset `<lr-button>`. |\n| `status` | The loading `<lr-spinner>`, only rendered while `loading`. |"
6349
+ "value": "`<lr-filter-bar>` — a row of dashboard filters, each declared by the host (`filters`) rather\nthan invented by this component: every filter composes an existing Lyra input --\n`<lr-select>`/`<lr-combobox>` for closed choice sets, `<lr-date-input>` (single or `mode=\"range\"`)\nfor dates, `<lr-input>` for a free-text query -- plus a `<lr-chip-group>` of removable\n`<lr-chip>`s summarizing the currently-active filters, an `<lr-button>` that resets every\nfilter, and (while `loading`) an `<lr-spinner>` status indicator.\n\nA `'text'` filter is the one control that is *not* a fully controlled `.value=` binding: a text\nfield re-rendered from `value` mid-typing would push a stale value back into the field and drop\nthe caret to the end, so the field owns its own value while the user types and an external\n`value` write is synced back in only once no edit is in flight (see `syncTextControls()`). Its\noptional per-filter `debounce` (ms) is the only behaviour this component adds on top of the\ncomposed control itself -- flushed by that field's own `change`/blur, cancelled by `reset()`, a\nchip removal, and `disconnectedCallback`, so a stale keystroke can never overwrite a reset or\nfire after teardown.\n\nControlled, like every other Lyra data component: `value` is a plain, JSON-serializable object\n(`FilterBarValue`) the host reads/writes directly -- this component never touches\n`location`/`history`/storage itself, so turning `value` into (and back out of) a URL\nquerystring or an app state store is entirely the host's own concern. Every edit -- picking an\noption, committing a date, removing an active-filter chip, or clicking reset -- goes through\nthe same `setFilterValue()` path and emits a single `lr-input` carrying the *full* resulting\n`value`, not just the changed filter's own value, mirroring `<lr-tool-param-form>`'s identical\n\"always the whole object\" event contract.\n\nValidation is scoped to each filter definition's own `required` flag: `invalidFilterIds`/\n`checkValidity()` are always live (plain getters over `filters`/`value`, not cached), and\n`reportValidity()` additionally reveals every currently-invalid filter's inline error (rendered\nby that filter's own composed control, via its `errorText`/`required` props -- this component\nnever renders a second, duplicate label/hint/error chrome of its own around an already-chromed\ncontrol) the same way a blur naturally would. `lr-validity-change` fires whenever the computed\n`{ valid, invalidFilterIds }` actually changes.\n\nDeliberately not form-associated: a dashboard filter bar's state is not a submitted form field,\nand every value it holds already round-trips through `value` directly -- see `disabled` below,\na plain property with no `<fieldset disabled>` cascade, for the same reason.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `active-filters` | The `role=\"group\"` wrapper around the active-filter chip row, only rendered while any filter is set. |\n| `base` | The root `role=\"group\"` wrapper. |\n| `chip` | One active-filter `<lr-chip>`. |\n| `chips` | The `<lr-chip-group>` inside `active-filters`. |\n| `controls` | The row holding every filter control, the reset button, and the loading status. |\n| `filter-control` | One filter's composed built-in control, or the wrapper around a custom renderer's control. |\n| `reset-button` | The reset `<lr-button>`. |\n| `status` | The loading `<lr-spinner>`, only rendered while `loading`. |"
6350
6350
  },
6351
6351
  "attributes": [
6352
6352
  {
package/web-types.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/web-types",
3
3
  "name": "@aceshooting/lyra-ui",
4
- "version": "7.5.0",
4
+ "version": "7.6.0",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -7190,7 +7190,7 @@
7190
7190
  },
7191
7191
  {
7192
7192
  "name": "lr-filter-bar",
7193
- "description": "`<lr-filter-bar>` — a row of dashboard filters, each declared by the host (`filters`) rather\nthan invented by this component: every filter composes an existing Lyra input --\n`<lr-select>`/`<lr-combobox>` for closed choice sets, `<lr-date-input>` (single or `mode=\"range\"`)\nfor dates, `<lr-input>` for a free-text query -- plus a `<lr-chip-group>` of removable\n`<lr-chip>`s summarizing the currently-active filters, an `<lr-button>` that resets every\nfilter, and (while `loading`) an `<lr-spinner>` status indicator.\n\nA `'text'` filter is the one control that is *not* a fully controlled `.value=` binding: a text\nfield re-rendered from `value` mid-typing would push a stale value back into the field and drop\nthe caret to the end, so the field owns its own value while the user types and an external\n`value` write is synced back in only once no edit is in flight (see `syncTextControls()`). Its\noptional per-filter `debounce` (ms) is the only behaviour this component adds on top of the\ncomposed control itself -- flushed by that field's own `change`/blur, cancelled by `reset()`, a\nchip removal, and `disconnectedCallback`, so a stale keystroke can never overwrite a reset or\nfire after teardown.\n\nControlled, like every other Lyra data component: `value` is a plain, JSON-serializable object\n(`FilterBarValue`) the host reads/writes directly -- this component never touches\n`location`/`history`/storage itself, so turning `value` into (and back out of) a URL\nquerystring or an app state store is entirely the host's own concern. Every edit -- picking an\noption, committing a date, removing an active-filter chip, or clicking reset -- goes through\nthe same `setFilterValue()` path and emits a single `lr-input` carrying the *full* resulting\n`value`, not just the changed filter's own value, mirroring `<lr-tool-param-form>`'s identical\n\"always the whole object\" event contract.\n\nValidation is scoped to each filter definition's own `required` flag: `invalidFilterIds`/\n`checkValidity()` are always live (plain getters over `filters`/`value`, not cached), and\n`reportValidity()` additionally reveals every currently-invalid filter's inline error (rendered\nby that filter's own composed control, via its `errorText`/`required` props -- this component\nnever renders a second, duplicate label/hint/error chrome of its own around an already-chromed\ncontrol) the same way a blur naturally would. `lr-validity-change` fires whenever the computed\n`{ valid, invalidFilterIds }` actually changes.\n\nDeliberately not form-associated: a dashboard filter bar's state is not a submitted form field,\nand every value it holds already round-trips through `value` directly -- see `disabled` below,\na plain property with no `<fieldset disabled>` cascade, for the same reason.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `active-filters` | The `role=\"group\"` wrapper around the active-filter chip row, only rendered while any filter is set. |\n| `base` | The root `role=\"group\"` wrapper. |\n| `chip` | One active-filter `<lr-chip>`. |\n| `chips` | The `<lr-chip-group>` inside `active-filters`. |\n| `controls` | The row holding every filter control, the reset button, and the loading status. |\n| `filter-control` | One filter's composed `<lr-select>`/`<lr-combobox>`/`<lr-date-input>`/`<lr-input>`. |\n| `reset-button` | The reset `<lr-button>`. |\n| `status` | The loading `<lr-spinner>`, only rendered while `loading`. |",
7193
+ "description": "`<lr-filter-bar>` — a row of dashboard filters, each declared by the host (`filters`) rather\nthan invented by this component: every filter composes an existing Lyra input --\n`<lr-select>`/`<lr-combobox>` for closed choice sets, `<lr-date-input>` (single or `mode=\"range\"`)\nfor dates, `<lr-input>` for a free-text query -- plus a `<lr-chip-group>` of removable\n`<lr-chip>`s summarizing the currently-active filters, an `<lr-button>` that resets every\nfilter, and (while `loading`) an `<lr-spinner>` status indicator.\n\nA `'text'` filter is the one control that is *not* a fully controlled `.value=` binding: a text\nfield re-rendered from `value` mid-typing would push a stale value back into the field and drop\nthe caret to the end, so the field owns its own value while the user types and an external\n`value` write is synced back in only once no edit is in flight (see `syncTextControls()`). Its\noptional per-filter `debounce` (ms) is the only behaviour this component adds on top of the\ncomposed control itself -- flushed by that field's own `change`/blur, cancelled by `reset()`, a\nchip removal, and `disconnectedCallback`, so a stale keystroke can never overwrite a reset or\nfire after teardown.\n\nControlled, like every other Lyra data component: `value` is a plain, JSON-serializable object\n(`FilterBarValue`) the host reads/writes directly -- this component never touches\n`location`/`history`/storage itself, so turning `value` into (and back out of) a URL\nquerystring or an app state store is entirely the host's own concern. Every edit -- picking an\noption, committing a date, removing an active-filter chip, or clicking reset -- goes through\nthe same `setFilterValue()` path and emits a single `lr-input` carrying the *full* resulting\n`value`, not just the changed filter's own value, mirroring `<lr-tool-param-form>`'s identical\n\"always the whole object\" event contract.\n\nValidation is scoped to each filter definition's own `required` flag: `invalidFilterIds`/\n`checkValidity()` are always live (plain getters over `filters`/`value`, not cached), and\n`reportValidity()` additionally reveals every currently-invalid filter's inline error (rendered\nby that filter's own composed control, via its `errorText`/`required` props -- this component\nnever renders a second, duplicate label/hint/error chrome of its own around an already-chromed\ncontrol) the same way a blur naturally would. `lr-validity-change` fires whenever the computed\n`{ valid, invalidFilterIds }` actually changes.\n\nDeliberately not form-associated: a dashboard filter bar's state is not a submitted form field,\nand every value it holds already round-trips through `value` directly -- see `disabled` below,\na plain property with no `<fieldset disabled>` cascade, for the same reason.\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `active-filters` | The `role=\"group\"` wrapper around the active-filter chip row, only rendered while any filter is set. |\n| `base` | The root `role=\"group\"` wrapper. |\n| `chip` | One active-filter `<lr-chip>`. |\n| `chips` | The `<lr-chip-group>` inside `active-filters`. |\n| `controls` | The row holding every filter control, the reset button, and the loading status. |\n| `filter-control` | One filter's composed built-in control, or the wrapper around a custom renderer's control. |\n| `reset-button` | The reset `<lr-button>`. |\n| `status` | The loading `<lr-spinner>`, only rendered while `loading`. |",
7194
7194
  "attributes": [
7195
7195
  {
7196
7196
  "name": "disabled",