@aceshooting/lyra-ui 14.3.2 → 15.0.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.
- package/CHANGELOG.md +116 -0
- package/custom-elements.json +1 -1
- package/design-tokens.json +1 -1
- package/dist/cli/migration-contract.json +1 -1
- package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts +4 -0
- package/dist/components/agent-tools/activity-feed/activity-feed.class.js +3 -3
- package/dist/components/agent-tools/approval-queue/approval-queue.class.js +3 -2
- package/dist/components/agent-tools/artifact-panel/artifact-panel.styles.js +1 -1
- package/dist/components/agent-tools/commit-card/commit-card.styles.js +1 -1
- package/dist/components/agent-tools/compare-panel/compare-panel.styles.js +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +8 -3
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.d.ts +3 -1
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js +10 -1
- package/dist/components/agent-tools/eval-dataset/eval-dataset.styles.js +1 -1
- package/dist/components/agent-tools/span-waterfall/span-waterfall.class.js +1 -1
- package/dist/components/agent-tools/subagent-panel/subagent-panel.class.d.ts +19 -1
- package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js +4 -4
- package/dist/components/agent-tools/subagent-panel/subagent-panel.styles.js +1 -1
- package/dist/components/agent-tools/task-list/task-list.class.d.ts +5 -0
- package/dist/components/agent-tools/task-list/task-list.class.js +3 -3
- package/dist/components/agent-tools/terminal/terminal.class.d.ts +1 -1
- package/dist/components/agent-tools/terminal/terminal.styles.js +1 -1
- package/dist/components/agent-tools/test-results/test-results.class.js +1 -1
- package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts +10 -7
- package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +15 -14
- package/dist/components/agent-tools/tool-param-form/tool-param-form.d.ts +1 -1
- package/dist/components/agent-tools/tool-param-form/tool-param-form.js +1 -1
- package/dist/components/agent-tools/tool-param-form/tool-param-form.styles.js +1 -1
- package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.class.d.ts +5 -2
- package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.class.js +1 -1
- package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.d.ts +3 -1
- package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.js +9 -1
- package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.styles.js +1 -1
- package/dist/components/charts/chart/box-plot.class.d.ts +64 -4
- package/dist/components/charts/chart/box-plot.class.js +5 -5
- package/dist/components/charts/chart/chart-colors.d.ts +10 -0
- package/dist/components/charts/chart/chart-colors.js +1 -1
- package/dist/components/charts/chart/chart.class.d.ts +35 -10
- package/dist/components/charts/chart/chart.class.js +4 -4
- package/dist/components/charts/chart/lite-chart.class.d.ts +10 -2
- package/dist/components/charts/chart/lite-chart.styles.js +1 -1
- package/dist/components/conversation/markdown/markdown.class.d.ts +9 -1
- package/dist/components/conversation/markdown/markdown.class.js +1 -1
- package/dist/components/conversation/message-parts/message-parts.class.d.ts +18 -1
- package/dist/components/conversation/message-parts/message-parts.class.js +4 -4
- package/dist/components/conversation/model-select/model-select.class.d.ts +6 -2
- package/dist/components/conversation/model-select/model-select.class.js +3 -3
- package/dist/components/conversation/prompt-input/prompt-input.styles.js +1 -1
- package/dist/components/conversation/selection-toolbar/selection-toolbar.class.d.ts +5 -1
- package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js +1 -1
- package/dist/components/data/calendar/calendar.class.js +2 -2
- package/dist/components/data/context-meter/context-meter.styles.js +1 -1
- package/dist/components/data/data-grid/data-grid-types.d.ts +8 -2
- package/dist/components/data/data-grid/data-grid.class.d.ts +16 -3
- package/dist/components/data/data-grid/data-grid.class.js +3 -2
- package/dist/components/data/env-list/env-list.styles.js +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.d.ts +22 -2
- package/dist/components/data/flow-canvas/flow-canvas.class.js +1 -1
- package/dist/components/data/flow-minimap/flow-minimap.class.d.ts +12 -4
- package/dist/components/data/flow-minimap/flow-minimap.class.js +2 -2
- package/dist/components/data/flow-minimap/flow-minimap.styles.js +1 -1
- package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +5 -1
- package/dist/components/data/graph-query-builder/graph-query-builder.class.js +1 -1
- package/dist/components/data/heatmap/heatmap.class.d.ts +12 -1
- package/dist/components/data/heatmap/heatmap.class.js +3 -3
- package/dist/components/data/heatmap/heatmap.styles.js +1 -1
- package/dist/components/forms/button/button.styles.js +1 -1
- package/dist/components/forms/code-editor/code-editor.class.js +1 -1
- package/dist/components/forms/combobox/combobox.class.js +1 -1
- package/dist/components/forms/combobox/combobox.styles.js +1 -1
- package/dist/components/forms/date-picker/date-input.class.js +1 -1
- package/dist/components/forms/date-picker/date-picker.class.d.ts +12 -1
- package/dist/components/forms/date-picker/date-picker.class.js +1 -1
- package/dist/components/forms/icon-button/icon-button.class.d.ts +27 -5
- package/dist/components/forms/icon-button/icon-button.class.js +7 -3
- package/dist/components/forms/input/input.styles.js +1 -1
- package/dist/components/forms/input/time-input.class.d.ts +13 -2
- package/dist/components/forms/input/time-input.class.js +1 -1
- package/dist/components/forms/otp-input/otp-input.class.d.ts +8 -1
- package/dist/components/forms/otp-input/otp-input.class.js +1 -1
- package/dist/components/forms/rubric-form/rubric-form.class.d.ts +1 -1
- package/dist/components/forms/rubric-form/rubric-form.class.js +1 -1
- package/dist/components/forms/select/select.class.d.ts +1 -1
- package/dist/components/forms/select/select.class.js +1 -1
- package/dist/components/forms/slider/slider.class.d.ts +4 -1
- package/dist/components/forms/slider/slider.class.js +1 -1
- package/dist/components/forms/textarea/textarea.class.d.ts +9 -4
- package/dist/components/forms/textarea/textarea.class.js +1 -1
- package/dist/components/forms/time-range/time-range.class.js +1 -1
- package/dist/components/layout/app-rail/app-rail.class.d.ts +7 -2
- package/dist/components/layout/app-rail/app-rail.class.js +1 -1
- package/dist/components/layout/card/card.class.js +2 -2
- package/dist/components/layout/card/card.styles.js +1 -1
- package/dist/components/layout/control-group/control-group.class.js +1 -1
- package/dist/components/layout/dashboard-grid/dashboard-grid.styles.js +1 -1
- package/dist/components/layout/details/details.styles.js +1 -1
- package/dist/components/layout/filter-bar/filter-bar.class.d.ts +13 -3
- package/dist/components/layout/filter-bar/filter-bar.class.js +1 -1
- package/dist/components/layout/menu/dropdown-item.class.d.ts +2 -0
- package/dist/components/layout/menu/menu-item.class.d.ts +28 -1
- package/dist/components/layout/menu/menu-item.class.js +45 -35
- package/dist/components/layout/menu/menu-item.styles.js +1 -1
- package/dist/components/layout/menu/menu.class.js +1 -1
- package/dist/components/layout/multi-split/multi-split.class.d.ts +12 -2
- package/dist/components/layout/multi-split/multi-split.class.js +1 -1
- package/dist/components/layout/page/page.class.js +2 -1
- package/dist/components/layout/page/page.styles.js +1 -1
- package/dist/components/layout/responsive-panel/responsive-panel.class.d.ts +6 -4
- package/dist/components/layout/responsive-panel/responsive-panel.class.js +2 -2
- package/dist/components/layout/responsive-panel/responsive-panel.styles.js +1 -1
- package/dist/components/layout/stepper/stepper.class.js +2 -2
- package/dist/components/layout/virtual-list/virtual-list.class.js +2 -2
- package/dist/components/layout/widget/widget.class.d.ts +12 -2
- package/dist/components/layout/widget/widget.class.js +2 -2
- package/dist/components/media/attachment-trigger/attachment-trigger.class.d.ts +1 -1
- package/dist/components/media/attachment-trigger/attachment-trigger.class.js +3 -3
- package/dist/components/media/file-icon/file-icon.class.d.ts +3 -1
- package/dist/components/media/file-icon/file-icon.class.js +1 -1
- package/dist/components/media/file-input/file-input.class.d.ts +1 -1
- package/dist/components/media/file-input/file-input.class.js +1 -1
- package/dist/components/media/flag/flag.styles.js +1 -1
- package/dist/components/media/image-comparer/image-comparer.class.d.ts +5 -5
- package/dist/components/media/image-comparer/image-comparer.class.js +1 -1
- package/dist/components/media/image-comparer/image-comparer.styles.js +1 -1
- package/dist/components/media/lightbox/lightbox.styles.js +1 -1
- package/dist/components/media/map/map.styles.js +1 -1
- package/dist/components/media/sequence-playback/sequence-playback.class.js +1 -1
- package/dist/components/media/video-playlist/video-playlist.class.js +1 -1
- package/dist/components/media/video-playlist/video-playlist.styles.js +1 -1
- package/dist/components/overlays/alert/alert.class.d.ts +6 -0
- package/dist/components/overlays/alert/alert.styles.js +1 -1
- package/dist/components/overlays/empty/empty.class.js +2 -2
- package/dist/components/overlays/kbd/kbd.styles.js +1 -1
- package/dist/components/overlays/progress/progress-ring.class.d.ts +4 -1
- package/dist/components/overlays/progress/progress.styles.js +1 -1
- package/dist/components/overlays/toast/toast.styles.js +1 -1
- package/dist/components/retrieval/graph/graph-canvas.js +1 -1
- package/dist/components/retrieval/graph/graph.class.d.ts +10 -3
- package/dist/components/retrieval/graph/graph.class.js +1 -1
- package/dist/components/retrieval/graph/graph.styles.js +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.d.ts +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js +6 -6
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js +2 -2
- package/dist/components/retrieval/mind-map/mind-map.styles.js +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.d.ts +3 -3
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.js +3 -3
- package/dist/components/retrieval/node-palette/node-palette.class.d.ts +7 -1
- package/dist/components/retrieval/node-palette/node-palette.class.js +23 -13
- package/dist/components/retrieval/node-palette/node-palette.styles.js +1 -1
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.d.ts +4 -1
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.js +1 -1
- package/dist/components/retrieval/retrieval-search/retrieval-search.class.js +4 -3
- package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.js +1 -1
- package/dist/components/retrieval/source-list/source-list.class.d.ts +7 -1
- package/dist/components/retrieval/source-list/source-list.class.js +1 -1
- package/dist/components/utility/export-button/export-button.class.d.ts +14 -2
- package/dist/components/utility/export-button/export-button.class.js +3 -3
- package/dist/components/utility/export-button/export-button.styles.js +1 -1
- package/dist/components/utility/json-viewer/json-viewer.styles.js +1 -1
- package/dist/components/utility/known-date/known-date.class.js +1 -1
- package/dist/components/utility/mention-popover/mention-popover.class.d.ts +4 -2
- package/dist/components/utility/mention-popover/mention-popover.class.js +1 -1
- package/dist/components/viewers/csv-viewer/csv-viewer.class.d.ts +9 -1
- package/dist/components/viewers/csv-viewer/csv-viewer.class.js +4 -4
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts +1 -1
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +4 -4
- package/dist/components/viewers/document-compare/document-compare.class.d.ts +5 -0
- package/dist/components/viewers/document-compare/document-compare.class.js +9 -4
- package/dist/components/viewers/document-compare/document-compare.styles.js +1 -1
- package/dist/components/viewers/document-preview/document-preview.class.d.ts +9 -1
- package/dist/components/viewers/document-preview/document-preview.class.js +2 -1
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.d.ts +5 -0
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +1 -1
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +5 -0
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.d.ts +1 -1
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +3 -3
- package/dist/components/viewers/xml-viewer/xml-viewer.styles.js +1 -1
- package/dist/custom-elements-jsx.d.ts +1 -1
- package/dist/events.d.ts +5 -4
- package/dist/internal/package-metadata.d.ts +1 -1
- package/dist/internal/package-metadata.js +1 -1
- package/dist/lyra.d.ts +1 -1
- package/dist/svelte.d.ts +1 -1
- package/dist/vue.d.ts +1 -1
- package/llms/components/lr-alert.md +11 -3
- package/llms/components/lr-box-plot.md +21 -4
- package/llms/components/lr-chart.md +13 -4
- package/llms/components/lr-code-block.md +5 -4
- package/llms/components/lr-data-grid.md +24 -10
- package/llms/components/lr-document-compare.md +5 -0
- package/llms/components/lr-dropdown-item.md +24 -0
- package/llms/components/lr-eval-dataset.md +5 -4
- package/llms/components/lr-export-button.md +10 -5
- package/llms/components/lr-filter-bar.md +4 -1
- package/llms/components/lr-flow-minimap.md +7 -1
- package/llms/components/lr-icon-button.md +6 -1
- package/llms/components/lr-lite-chart.md +2 -1
- package/llms/components/lr-markdown.md +2 -2
- package/llms/components/lr-menu-item.md +24 -0
- package/llms/components/lr-menu.md +24 -0
- package/llms/components/lr-message-parts.md +7 -0
- package/llms/components/lr-model-settings-panel.md +4 -1
- package/llms/components/lr-node-palette.md +5 -4
- package/llms/components/lr-pdf-viewer.md +7 -0
- package/llms/components/lr-responsive-panel.md +2 -2
- package/llms/components/lr-subagent-panel.md +17 -2
- package/llms/components/lr-thinking-panel.md +4 -0
- package/llms/components/lr-timeline-item.md +1 -1
- package/llms/components/lr-timeline.md +1 -1
- package/llms/components/lr-tool-select-dialog.md +4 -3
- package/llms/components/lr-virtual-list.md +11 -11
- package/llms/peers.md +1 -1
- package/llms-full.txt +205 -59
- package/package.json +7 -7
- package/vscode-css-data.json +1 -1
- package/vscode-html-data.json +1 -1
- package/web-types.json +1 -1
package/llms-full.txt
CHANGED
|
@@ -6112,7 +6112,12 @@ app-wide with `registerLyraLocale()` (see `llms/shared.md`); don't rely on the f
|
|
|
6112
6112
|
button whose purpose isn't generic.
|
|
6113
6113
|
|
|
6114
6114
|
Host `aria-haspopup` and `aria-expanded` values are forwarded reactively to the shadow-internal
|
|
6115
|
-
native button.
|
|
6115
|
+
native button. `aria-pressed` (`true`, `false`, `mixed`) supports icon-only toggle actions such as
|
|
6116
|
+
mute, favorite, or pin; `aria-current` (`page`, `step`, `location`, `date`, `time`, `true`, `false`)
|
|
6117
|
+
supports current-item icon buttons such as an active nav/pagination target. Both follow attribute
|
|
6118
|
+
changes, removal, and button/link replacement without changing the native role; an empty or
|
|
6119
|
+
unsupported token is omitted — mirroring `lr-button`'s own `aria-pressed`/`aria-current`
|
|
6120
|
+
forwarding. Host `aria-describedby` targets in the host's own root are resolved through
|
|
6116
6121
|
`ariaDescribedByElements`. Host `aria-controls` targets use the corresponding
|
|
6117
6122
|
`ariaControlsElements` API, so using `<lr-icon-button slot="trigger">` inside `<lr-menu>` exposes
|
|
6118
6123
|
the menu relationship and expanded state on the element that actually receives focus. Supporting
|
|
@@ -10338,6 +10343,12 @@ ARIA values as page-local positions rather than as the dataset-wide total.
|
|
|
10338
10343
|
The mirrored `selectedKeys` spelling remains a compatibility alias for this same state.
|
|
10339
10344
|
- `selectedRows: readonly Row[]` (writable, JS-only) — assigning rows that belong to the current source
|
|
10340
10345
|
maps them to `selectedRowKeys`; detached rows are ignored and single-selection mode keeps the first.
|
|
10346
|
+
- `selectionMode: 'none' | 'single' | 'multiple'` (`selection-mode`) — alias of `selectable` using
|
|
10347
|
+
`<lr-table>`'s `selectionMode`/`selection-mode` spelling for the same row-selection concept, so a
|
|
10348
|
+
consumer migrating between the two grid components doesn't need to remember two names.
|
|
10349
|
+
`selectable` remains canonical (mirrored from `wa-data-grid`); this alias reads and writes
|
|
10350
|
+
`selectable` directly, so there is no separate value to fall out of sync, and the bare `''`
|
|
10351
|
+
shorthand for `selectable`'s own `multiple` normalizes to `'multiple'` when read back through it.
|
|
10341
10352
|
- `server: boolean = false` (`server`, reflected).
|
|
10342
10353
|
- `size: 'xs' | 's' | 'm' | 'l' | 'xl' | 'small' | 'medium' | 'large' = 'm'` (`size`, reflected).
|
|
10343
10354
|
- `sort: readonly Array<{ readonly id: string; readonly desc: boolean }> = []` (JS-only).
|
|
@@ -10350,11 +10361,15 @@ ARIA values as page-local positions rather than as the dataset-wide total.
|
|
|
10350
10361
|
- `withSearch: boolean = false` (`with-search`, reflected).
|
|
10351
10362
|
|
|
10352
10363
|
`DataGridColumn<Row>` accepts `id`, dot-path `field`, `label`, `align`, numeric `width` /
|
|
10353
|
-
`minWidth` / `maxWidth`, `flex`, `formatter(value, row)`, computed `value(row)`,
|
|
10354
|
-
`sortFn`, `comparator`, `sortDescFirst`, `sortUndefined`, `searchable`, `filterable`,
|
|
10355
|
-
`filterFn`, `hidden`, `hideable`, `resizable`, `movable`, `pinnable`, `pinned`,
|
|
10356
|
-
`aggregation`, and `aggregatedFormatter`. A column with neither `field` nor `value` is an
|
|
10357
|
-
column: its formatter receives `undefined`, and it is not sorted or searched by default.
|
|
10364
|
+
`minWidth` / `maxWidth`, `flex`, `formatter(value, row)`, `cellTitle(row)`, computed `value(row)`,
|
|
10365
|
+
`sortable`, `sortFn`, `comparator`, `sortDescFirst`, `sortUndefined`, `searchable`, `filterable`,
|
|
10366
|
+
`filterType`, `filterFn`, `hidden`, `hideable`, `resizable`, `movable`, `pinnable`, `pinned`,
|
|
10367
|
+
`footer`, `aggregation`, and `aggregatedFormatter`. A column with neither `field` nor `value` is an
|
|
10368
|
+
action column: its formatter receives `undefined`, and it is not sorted or searched by default.
|
|
10369
|
+
`cellTitle(row) => string | undefined` renders as the generated cell's native `title`, symmetrical
|
|
10370
|
+
with `<lr-table>`'s `columns[].cellTitle` — e.g. the untruncated text behind an ellipsized cell, or
|
|
10371
|
+
a formatted timestamp behind a relative one. Returning `undefined` or `''` omits the `title`
|
|
10372
|
+
attribute entirely rather than rendering `title=""`, which would suppress an ancestor's own tooltip.
|
|
10358
10373
|
|
|
10359
10374
|
Built-in sort algorithms are `alphanumeric`, `alphanumericCaseSensitive`, `text`,
|
|
10360
10375
|
`textCaseSensitive`, `datetime`, and `basic`; `comparator` takes precedence. Built-in filter types
|
|
@@ -10431,12 +10446,16 @@ restores the exact pre-gesture width state; after a live move it emits the resto
|
|
|
10431
10446
|
`lr-filter-change`; `lr-page-change`; `lr-row-collapse`; `lr-row-expand`; `lr-group-collapse` and
|
|
10432
10447
|
`lr-group-expand` (frozen `{ key, columnId, value, rows }` snapshots); `lr-row-select` with
|
|
10433
10448
|
canonical `{ selectedRowKeys, selectedRows }` plus mirrored `selectedKeys`; row expand/collapse
|
|
10434
|
-
details use canonical `rowKey` plus mirrored `key`;
|
|
10435
|
-
`lr-sort-change`;
|
|
10449
|
+
details use canonical `rowKey` plus mirrored `key`; cancelable `lr-sort-request` (frozen readonly
|
|
10450
|
+
`detail: { sort }`) precedes `lr-sort-change`; vetoing it leaves `sort` unchanged and suppresses
|
|
10451
|
+
`lr-sort-change`, mirroring `<lr-table>`'s identical `lr-sort-request`/`lr-sort` veto-then-commit
|
|
10452
|
+
contract;
|
|
10453
|
+
`lr-copy` (frozen `{ ok: true, text }` after fulfillment); `lr-copy-error`
|
|
10436
10454
|
(frozen `{ ok: false, text, reason, error }` after failure); `lr-error` (compatibility failure
|
|
10437
|
-
notification with no raw platform error text). Every library event bubbles and is composed; only
|
|
10438
|
-
|
|
10439
|
-
|
|
10455
|
+
notification with no raw platform error text). Every library event bubbles and is composed; only
|
|
10456
|
+
`lr-cell-contextmenu` and `lr-sort-request` are cancelable. Structured details and their owned
|
|
10457
|
+
collections are frozen. The toolbar search and active column-filter inputs re-dispatch `focus` and
|
|
10458
|
+
`blur` once from the grid host as bubbling, composed native `FocusEvent`s, preserving `relatedTarget` so
|
|
10440
10459
|
delegated ancestors can observe editor entry and exit without crossing the shadow boundary.
|
|
10441
10460
|
|
|
10442
10461
|
**Slots:** `empty`, `loading`, `no-results`.
|
|
@@ -12929,12 +12948,18 @@ disagree.
|
|
|
12929
12948
|
is used (the slotted-into-a-corner-slot case, the primary wiring)
|
|
12930
12949
|
- `label: string = ''` — accessible name for the map region. A host `aria-label` takes precedence,
|
|
12931
12950
|
followed by `label`, then the localized default
|
|
12951
|
+
- `frame: 'card' | 'plain' = 'card'` (reflected) — container treatment, on the library-wide `frame`
|
|
12952
|
+
vocabulary. `'plain'` removes `[part="base"]`'s border, background and corner radius, for a
|
|
12953
|
+
minimap placed in a host panel or toolbar that already draws its own surface, so the frame isn't
|
|
12954
|
+
doubled. The map's own hover/click affordances and the viewport rect stay either way — only the
|
|
12955
|
+
outer `base` decoration goes. Mirrors `lr-flow-controls`'/`lr-flow-run-status`'s identical `frame`.
|
|
12932
12956
|
|
|
12933
12957
|
**Events:** none.
|
|
12934
12958
|
|
|
12935
12959
|
**Slots:** none.
|
|
12936
12960
|
|
|
12937
|
-
**CSS parts:** `base
|
|
12961
|
+
**CSS parts:** `base` (the root wrapper; drops its border, background and corner radius under
|
|
12962
|
+
`frame="plain"`), `map` (the scaled SVG), `node` (one rect per node), `viewport` (the
|
|
12938
12963
|
exact visible view rectangle), `viewport-hit-area` (the transparent draggable/focusable target),
|
|
12939
12964
|
`instructions` (visually hidden keyboard help), and `live-region` (the `aria-hidden` mirror of the
|
|
12940
12965
|
latest viewport-change text).
|
|
@@ -13368,7 +13393,7 @@ activated by pointer, Enter, or Space. Its non-cancelable, bubbling, composed
|
|
|
13368
13393
|
`detail: LyraTimelineClusterActivateDetail` is `{ items: readonly LyraTimelineItem[] }`: a fresh
|
|
13369
13394
|
frozen snapshot of the cluster members in document order, preserving each element's identity.
|
|
13370
13395
|
`LyraTimelineClusterActivateDetail {
|
|
13371
|
-
items:
|
|
13396
|
+
items: readonly LyraTimelineItem[];
|
|
13372
13397
|
}`
|
|
13373
13398
|
Use it to open a consumer-owned popover, dialog, or detail view. `lr-timeline-item` emits no events.
|
|
13374
13399
|
Read the reactive `itemCount` property after changing assigned items; the internal slot's
|
|
@@ -13794,6 +13819,7 @@ These named interfaces and helper signatures are available to typed integrations
|
|
|
13794
13819
|
readonly maxWidth?: number;
|
|
13795
13820
|
readonly flex?: number;
|
|
13796
13821
|
readonly formatter?: (value: unknown, row: Row) => string | TemplateResult | Node | unknown;
|
|
13822
|
+
readonly cellTitle?: (row: Row) => string | undefined;
|
|
13797
13823
|
readonly value?: (row: Row) => unknown;
|
|
13798
13824
|
readonly sortable?: boolean;
|
|
13799
13825
|
readonly sortFn?: DataGridSortAlgorithm;
|
|
@@ -16004,7 +16030,7 @@ contract.
|
|
|
16004
16030
|
a property/lit-html binding (`.items=`), not an HTML attribute. This remains the compatibility
|
|
16005
16031
|
source whenever `source` is unset. Its sequence is copied, bounded, and frozen while generic row
|
|
16006
16032
|
identities are retained; reassign a new array after sequence changes.
|
|
16007
|
-
- `source?:
|
|
16033
|
+
- `source?: LyraVirtualListSource` (attribute: false) — a readonly array or a count/index-backed
|
|
16008
16034
|
`{ readonly count: number; itemAt(index): unknown; keyAt?(index): string | number;
|
|
16009
16035
|
indexOfKey?(key): number }`. When set it takes precedence over `items`. The indexed form performs
|
|
16010
16036
|
bounded random access for only the rendered window instead of allocating `0…count`; invalid counts
|
|
@@ -16030,7 +16056,7 @@ list's `base` scroll container exposes horizontal scrolling for that explicit op
|
|
|
16030
16056
|
which is only a safe identity while a collection never reorders/inserts/removes — provide this
|
|
16031
16057
|
whenever possible, or scroll position and per-row DOM state (e.g. an `<audio>` element's playback
|
|
16032
16058
|
position) can attach to the wrong row across a mutation.
|
|
16033
|
-
- `groups?:
|
|
16059
|
+
- `groups?: LyraVirtualListGroup[]` (attribute: false) — renders a labeled marker at each group's
|
|
16034
16060
|
`startIndex` as a measured virtual entry immediately before that row. Its live block size
|
|
16035
16061
|
contributes to every following offset, so a variable-height or late-resizing marker never covers
|
|
16036
16062
|
the group's first row. Markers remain windowed with their rows. Groups are sorted by `startIndex`;
|
|
@@ -16040,7 +16066,7 @@ list's `base` scroll container exposes horizontal scrolling for that explicit op
|
|
|
16040
16066
|
that renders its own group header as an ordinary row (and would otherwise end up with two stacked
|
|
16041
16067
|
headers) but still needs this component to know where each group starts, e.g. to drive
|
|
16042
16068
|
`renderStickyGroup` below. Omitting `label` entirely still falls back to rendering `key`.
|
|
16043
|
-
- `renderStickyGroup?: (group:
|
|
16069
|
+
- `renderStickyGroup?: (group: LyraVirtualListGroup) => unknown` (attribute: false) — renders a pinned
|
|
16044
16070
|
copy of whichever `groups` entry the viewport is currently inside, into a `[part="sticky-group"]`
|
|
16045
16071
|
overlay that stays at the top of the scroll viewport and is pushed out by the overlap as the next
|
|
16046
16072
|
group's header arrives (rather than swapped abruptly at the boundary). Native `position: sticky` on
|
|
@@ -16093,12 +16119,12 @@ progress` style, and gates `lr-load-more` while a consumer's fetch is in flight.
|
|
|
16093
16119
|
- `hasMore: boolean = false` (attribute `has-more`, reflected) — when true, scrolling near the bottom
|
|
16094
16120
|
fires `lr-load-more` (gated by `loading`).
|
|
16095
16121
|
|
|
16096
|
-
**Exported types:** `
|
|
16097
|
-
`
|
|
16098
|
-
`
|
|
16099
|
-
number; indexOfKey?(key: string | number): number }`; `
|
|
16100
|
-
detail shape); `
|
|
16101
|
-
shape consumed by `groups` above; `
|
|
16122
|
+
**Exported types:** `LyraVirtualListRowHeight = number | 'auto'`;
|
|
16123
|
+
`LyraVirtualListSource<T> = readonly T[] | LyraVirtualListIndexedSource<T>` and
|
|
16124
|
+
`LyraVirtualListIndexedSource<T> { readonly count: number; itemAt(index): T; keyAt?(index): string |
|
|
16125
|
+
number; indexOfKey?(key: string | number): number }`; `LyraVirtualListRange { start: number; end: number }` (the `lr-visible-range-change`
|
|
16126
|
+
detail shape); `LyraVirtualListGroup { key: string | number; label?: string; startIndex: number }` — the
|
|
16127
|
+
shape consumed by `groups` above; `LyraVirtualListScroll { scrollTop: number; viewportHeight: number }` —
|
|
16102
16128
|
the `lr-virtual-scroll` detail shape.
|
|
16103
16129
|
`groupByRecency(items, options?)` is a DOM-free helper that returns non-empty
|
|
16104
16130
|
Today/Yesterday/Previous 7 Days/Older buckets, preserves input order within each bucket, and accepts
|
|
@@ -16143,12 +16169,12 @@ math, and any row element can be recycled or removed on the next update.
|
|
|
16143
16169
|
**Events:** `lr-load-more` (no detail — fired once per approach to the bottom of the list while
|
|
16144
16170
|
`has-more` is true and `loading` is false; does not refire on every scroll tick while still near the
|
|
16145
16171
|
bottom — scrolling back away from the bottom and returning, or `items` growing enough to move the
|
|
16146
|
-
window away from the end, re-arms it), `lr-visible-range-change` (`detail:
|
|
16172
|
+
window away from the end, re-arms it), `lr-visible-range-change` (`detail: LyraVirtualListRange`, the
|
|
16147
16173
|
current visible, non-overscanned item index range — fired only when it actually changes; it was
|
|
16148
16174
|
spelled `lr-visible-range-changed` before 10.0.0, the only past-tense `-changed` spelling among 58
|
|
16149
16175
|
`-change`-family events, so a convention-driven `lr-${x}-change` listener silently missed it),
|
|
16150
16176
|
`lr-virtual-scroll`
|
|
16151
|
-
(`detail:
|
|
16177
|
+
(`detail: LyraVirtualListScroll` — the scroll container moved; emitted from the same animation frame that
|
|
16152
16178
|
already coalesces native `scroll` events, so a fling produces at most one per frame and none at all
|
|
16153
16179
|
when the position did not change. Unlike `lr-visible-range-change`, which only fires on index-range
|
|
16154
16180
|
changes, this reports _sub-row_ movement, which is what scroll-linked layout needs)
|
|
@@ -16592,7 +16618,7 @@ invention (no `wa-*`/`sl-*` counterpart).
|
|
|
16592
16618
|
against the component's allocation; `'inline'`/`'overlay'` force that presentation.
|
|
16593
16619
|
- `effectiveMode: LyraResponsivePanelEffectiveMode` (readonly) — the currently resolved
|
|
16594
16620
|
`'inline'|'overlay'` presentation.
|
|
16595
|
-
- `
|
|
16621
|
+
- `shape: LyraResponsivePanelShape = 'fullscreen'` (reflected) — only affects the overlay
|
|
16596
16622
|
presentation's visual treatment: `'fullscreen'` covers the whole viewport; `'bottom-sheet'`
|
|
16597
16623
|
anchors to its block-end edge and does not cover the full height. Has no visual effect while the effective
|
|
16598
16624
|
presentation resolves to `'inline'`.
|
|
@@ -16679,7 +16705,7 @@ presentation participates in the shared modal stack rather than nesting a `<lr-d
|
|
|
16679
16705
|
The granular route exports the pure
|
|
16680
16706
|
`resolveResponsivePanelEffectiveMode(mode: LyraResponsivePanelMode,
|
|
16681
16707
|
belowBreakpoint: boolean): LyraResponsivePanelEffectiveMode` resolver alongside the
|
|
16682
|
-
`LyraResponsivePanelMode`/`LyraResponsivePanelEffectiveMode`/`
|
|
16708
|
+
`LyraResponsivePanelMode`/`LyraResponsivePanelEffectiveMode`/`LyraResponsivePanelShape`/
|
|
16683
16709
|
`LyraResponsivePanelCloseReason`/`LyraResponsivePanelModeChangeDetail` types. It's the same logic
|
|
16684
16710
|
the element's allocation observer calls: `'inline'`/`'overlay'` pass straight through
|
|
16685
16711
|
unchanged; `'auto'` resolves to `'overlay'` when `belowBreakpoint` is true, `'inline'` otherwise —
|
|
@@ -16821,6 +16847,23 @@ A focusable action row owned by `<lr-menu>`. The host itself carries `role="menu
|
|
|
16821
16847
|
- `type: 'normal' | 'checkbox' = 'normal'`
|
|
16822
16848
|
- `checked: boolean = false` — meaningful only for `type="checkbox"`
|
|
16823
16849
|
- `loading: boolean = false`
|
|
16850
|
+
- `href?: string` — when set to a safe link URL (`http:`/`https:`/`blob:`/`mailto:`/relative; see
|
|
16851
|
+
`safeLinkHref`, or `safeDownloadHref` when `download` is set, which drops `mailto:`),
|
|
16852
|
+
`[part="base"]` renders as a real `<a href=…>` instead of a `<span>`, and activation (click, or
|
|
16853
|
+
the owning menu's Enter/Space handling, which forwards through `click()` for a link item so the
|
|
16854
|
+
anchor's own native default action runs) navigates there in addition to firing the usual
|
|
16855
|
+
`select()`/`lr-select` contract. An unsafe/unparseable value falls back to the plain `<span>`,
|
|
16856
|
+
matching `lr-button`'s identical fallback
|
|
16857
|
+
- `target?: string` — native anchor `target`, used only while `href` resolves to a link. Setting it
|
|
16858
|
+
(e.g. `'_blank'`) always force-adds `noopener noreferrer` to the rendered anchor's `rel`,
|
|
16859
|
+
matching `lr-button`'s identical pattern
|
|
16860
|
+
- `rel?: string` — independently settable author relationship tokens, no default. Author tokens are
|
|
16861
|
+
merged rather than replaced: `opener` is always stripped, and whenever `target` is set the
|
|
16862
|
+
non-removable `noopener noreferrer` floor is added, so a same-tab link (no `target`) keeps
|
|
16863
|
+
exactly the author's tokens while a link opening a new context can never lose the guard
|
|
16864
|
+
- `download?: string` — native anchor `download` attribute, used only while `href` resolves to a
|
|
16865
|
+
link. Presence narrows the safe-URL allowlist to `safeDownloadHref`'s, which drops `mailto:` — a
|
|
16866
|
+
mail handoff names no retrievable bytes, so it cannot be a download target
|
|
16824
16867
|
- `hasSubmenu: boolean` (read-only)
|
|
16825
16868
|
- `submenuOpen: boolean = false` — transient live state; assigning it drives an existing submenu
|
|
16826
16869
|
without moving focus and disconnect resets it
|
|
@@ -16911,6 +16954,13 @@ properties, slots, parts, methods, checkbox/state events, roving focus, and cano
|
|
|
16911
16954
|
`lr-select` behavior. Its host also exposes native, non-bubbling, composed `focus` and `blur`
|
|
16912
16955
|
events.
|
|
16913
16956
|
|
|
16957
|
+
**Attributes:** `href`, `target`, `rel`, and `download` — the same link-rendering properties
|
|
16958
|
+
documented above for `<lr-menu-item>`, settable directly in markup
|
|
16959
|
+
(`<lr-dropdown-item href="/settings" target="_blank">`). The `rel` guard is identical: author
|
|
16960
|
+
tokens merge rather than get replaced, `opener` is always stripped, and setting `target` force-adds
|
|
16961
|
+
the non-removable `noopener noreferrer` floor, so a same-tab link keeps exactly the author's tokens
|
|
16962
|
+
while a link opening a new context can never lose the guard.
|
|
16963
|
+
|
|
16914
16964
|
**Events:** native, non-bubbling, composed, non-cancelable `focus` and `blur` (`FocusEvent`) when
|
|
16915
16965
|
the focusable host gains or loses focus, plus the shared menu-item events above.
|
|
16916
16966
|
|
|
@@ -17977,7 +18027,10 @@ abort stale contexts, whose callbacks become inert.
|
|
|
17977
18027
|
|
|
17978
18028
|
The adapter's required `clearValue` is used when the active chip is removed. Its optional
|
|
17979
18029
|
`isEmpty(value)` defines domain emptiness; without one, the bar compares against `clearValue`
|
|
17980
|
-
(including shallow string-array equality). Its optional `formatValue` controls chip
|
|
18030
|
+
(including shallow string-array equality). Its optional `formatValue(value, locale)` controls chip
|
|
18031
|
+
display; `locale` is the filter bar's `effectiveLocale`, the same value every built-in filter
|
|
18032
|
+
type's own chip formatting already receives, so an existing single-argument `formatValue`
|
|
18033
|
+
implementation keeps working unchanged — JS simply ignores a second parameter it never declared.
|
|
17981
18034
|
Consequently `false` remains a meaningful active value unless the adapter explicitly declares it
|
|
17982
18035
|
empty. Custom values may be strings, string arrays, booleans, or `undefined`, so controls such as
|
|
17983
18036
|
`lr-time-range`, `lr-checkbox`, and an async-backed `lr-combobox` can participate in the same
|
|
@@ -18396,7 +18449,7 @@ These named interfaces and helper signatures are available to typed integrations
|
|
|
18396
18449
|
readonly valueFromEvent: (event: Event) => LyraFilterBarFieldValue;
|
|
18397
18450
|
readonly clearValue: LyraFilterBarFieldValue;
|
|
18398
18451
|
readonly isEmpty?: (value: LyraFilterBarFieldValue) => boolean;
|
|
18399
|
-
readonly formatValue?: (value: LyraFilterBarFieldValue) => string;
|
|
18452
|
+
readonly formatValue?: (value: LyraFilterBarFieldValue, locale: string) => string;
|
|
18400
18453
|
}`
|
|
18401
18454
|
Import: `@aceshooting/lyra-ui/components/layout/filter-bar/filter-bar.class.js`.
|
|
18402
18455
|
`LyraFilterBarCustomControlContext {
|
|
@@ -20911,8 +20964,16 @@ once. Toast-owned work instead settles and is discarded when its region disconne
|
|
|
20911
20964
|
subtree remains visible but is inert and aria-hidden.
|
|
20912
20965
|
|
|
20913
20966
|
**CSS parts:** `base`, `icon`, `message`, and `close-button` / `close-button__base` on the same
|
|
20914
|
-
native close button. The pinned surface exposes no
|
|
20915
|
-
|
|
20967
|
+
native close button. The pinned surface exposes no custom states, form association, native-event
|
|
20968
|
+
relays, or delegated native methods.
|
|
20969
|
+
|
|
20970
|
+
**Themeable custom properties:** the close button's two state hooks are
|
|
20971
|
+
`--lr-alert-close-hover-bg` (its `:hover` surface; default `color-mix(in oklab, transparent,
|
|
20972
|
+
var(--lr-color-mix-partner) var(--lr-color-mix-hover))`) and `--lr-alert-close-active-bg` (its
|
|
20973
|
+
`:active` surface, scoped independently from the hover property; default `color-mix(in oklab,
|
|
20974
|
+
transparent, var(--lr-color-mix-partner) var(--lr-color-mix-active))`). Each is an inline fallback
|
|
20975
|
+
at the relevant state, so setting one on the alert or an ancestor rethemes only that close-button
|
|
20976
|
+
state.
|
|
20916
20977
|
|
|
20917
20978
|
By default the light-DOM `<lr-alert>` host owns `role="alert"`, so initially-open/static alerts and
|
|
20918
20979
|
alerts shown later expose one assertive, content-derived semantic surface without duplicating it in
|
|
@@ -21367,13 +21428,18 @@ extension?: string }`. Descriptor labels/descriptions are consumer-supplied, alr
|
|
|
21367
21428
|
substitute your own server-generated download instead of the built-in client-side one),
|
|
21368
21429
|
`lr-export-complete` (`detail: { format: 'csv' | 'json' }`, fires only after a non-cancelled
|
|
21369
21430
|
built-in download completes), `lr-export-error` (`detail: { format: 'csv' | 'json', error:
|
|
21370
|
-
unknown }`, fires when a built-in export cannot be serialized or downloaded;
|
|
21371
|
-
|
|
21372
|
-
|
|
21431
|
+
unknown }`, fires when a built-in export cannot be serialized or downloaded; the same failure is
|
|
21432
|
+
also shown via the trigger's `trigger-error` part and announced through the shared light-DOM live
|
|
21433
|
+
region, so a listener is needed only for additional handling; activation does not throw into
|
|
21434
|
+
consumer code), `lr-show`, `lr-hide` (cancelable format-menu visibility transitions; self-imposed
|
|
21435
|
+
closes caused by disablement, loading, or an unusable format list emit neither event)
|
|
21373
21436
|
|
|
21374
21437
|
**Slots:** none.
|
|
21375
21438
|
|
|
21376
|
-
**CSS parts:** `trigger`, `
|
|
21439
|
+
**CSS parts:** `trigger`, `trigger-error` (present alongside `trigger` on the same button —
|
|
21440
|
+
`part="trigger trigger-error"` — after a built-in CSV/JSON export fails; cleared on the next export
|
|
21441
|
+
attempt regardless of outcome — style with `::part(trigger-error)`), `menu`, `menu-item`,
|
|
21442
|
+
`format-label`, `format-description`
|
|
21377
21443
|
|
|
21378
21444
|
**Themeable custom properties:** shared tokens only, including `--lr-popover-viewport-clamp`
|
|
21379
21445
|
(default `92vw`) — the shared narrow-viewport ceiling the `menu`'s max-inline-size is `min()`ed
|
|
@@ -26688,7 +26754,7 @@ toggle, not a duplicate). The deprecated type aliases `ChartPoint`, `Series` (su
|
|
|
26688
26754
|
removed — update TypeScript imports to the canonical `Lyra*`-prefixed names. The internal
|
|
26689
26755
|
`lockChartType` helper is no longer exported from the public `chart.ts` entry point; it is now used
|
|
26690
26756
|
solely by `<lr-histogram>` to keep its `type` fixed to `'bar'` — every other `lr-*-chart` subclass
|
|
26691
|
-
keeps its `type` writable, matching its mirrored WA counterpart. `chart-loader.ts`'s v8 compatibility
|
|
26757
|
+
keeps its `type` writable, matching its mirrored WA counterpart. `chart-core-loader.ts`'s v8 compatibility
|
|
26692
26758
|
facade is removed; `./components/charts/chart/chart-core-loader.js` and
|
|
26693
26759
|
`./components/charts/chart/chart-feature-loader.js` are now the real public entry points.
|
|
26694
26760
|
|
|
@@ -26777,7 +26843,8 @@ structured points retain their y-value formatting.
|
|
|
26777
26843
|
- `datasets: readonly LyraChartSeries[] = []` (attribute: false) — `LyraChartSeries { readonly
|
|
26778
26844
|
label: string; readonly data?: readonly (number|null)[]; readonly points?: readonly
|
|
26779
26845
|
LyraChartPoint[]; readonly color?: string|readonly string[]; ... }`. The deprecated `Series` and
|
|
26780
|
-
`ChartPoint` names
|
|
26846
|
+
`ChartPoint` names were removed in 9.0.0 — import `LyraChartSeries`/`LyraChartPoint` instead.
|
|
26847
|
+
`LyraChartPoint { readonly x: number; readonly
|
|
26781
26848
|
y: number; readonly r?: number; readonly label?: string }`: `r` is the bubble
|
|
26782
26849
|
radius, and the optional per-point `label` is retained by events, CSV export, keyboard
|
|
26783
26850
|
announcements, generated summaries, and the accessible table. Point wording is localized as
|
|
@@ -26811,9 +26878,11 @@ structured points retain their y-value formatting.
|
|
|
26811
26878
|
would clip. Its pressed state follows `hiddenDatasets` whenever that controlled snapshot is
|
|
26812
26879
|
defined, otherwise the effective dataset's declarative `hidden` value before Chart.js is ready
|
|
26813
26880
|
and across chart type/plugin rebuilds.
|
|
26814
|
-
- `legendMode: LyraChartLegendMode = '
|
|
26815
|
-
|
|
26816
|
-
|
|
26881
|
+
- `legendMode: LyraChartLegendMode = 'auto'` (attribute `legend-mode`) — `auto` resolves to `datum`
|
|
26882
|
+
on pie, doughnut and polar-area charts and to `dataset` everywhere else, so a single-dataset slice
|
|
26883
|
+
chart labels every slice rather than emitting one aggregate row that identifies only the first
|
|
26884
|
+
colour. `dataset` forces dataset toggles even on a slice chart. `datum` shows one category toggle
|
|
26885
|
+
per slice in pie, doughnut and polar-area charts; other types retain dataset legends. Category names use source labels with localized
|
|
26817
26886
|
numbered fallbacks. Colors and values come from the first dataset. With multiple datasets/rings,
|
|
26818
26887
|
a category toggle hides that source index in every ring, matching Chart.js category visibility.
|
|
26819
26888
|
- `hiddenDatums: readonly number[] = []` (attribute: false) — clone-owned hidden source category
|
|
@@ -26988,6 +27057,12 @@ token layer yet, the helper reads the `--lr-theme-color-chart-N` inputs directly
|
|
|
26988
27057
|
a fresh eight-color array each call (safe to mutate) and let chart-adjacent UI, KPI tiles, or the
|
|
26989
27058
|
`Series` array itself come from one source of truth.
|
|
26990
27059
|
|
|
27060
|
+
The same module also exports `ChartThemeColors`, the resolved chrome colours a chart paints around
|
|
27061
|
+
its series. Every field is an already-resolved CSS colour string, because canvas silently ignores a
|
|
27062
|
+
raw `var(--lr-…)` string and would paint nothing; `<lr-box-plot>` consumes the same shape, so a
|
|
27063
|
+
consumer drawing its own canvas overlay beside a chart can match the grid, tick, legend and tooltip
|
|
27064
|
+
chrome exactly rather than re-deriving it.
|
|
27065
|
+
|
|
26991
27066
|
Import the standalone form from `.../chart/chart-colors.js`, not from `.../chart/chart.js`: the
|
|
26992
27067
|
latter is `<lr-chart>`'s registration entry, so it defines the element (and pulls in `<lr-skeleton>`)
|
|
26993
27068
|
as a side effect. `chart-colors.js` is side-effect-free and carries nothing but the palette helpers,
|
|
@@ -27219,7 +27294,8 @@ passthrough). Not a subclass of `LyraChart`.
|
|
|
27219
27294
|
- `labels: readonly string[] = []` (attribute: false)
|
|
27220
27295
|
- `datasets: readonly LyraLiteChartSeries[] = []` (attribute: false) —
|
|
27221
27296
|
`LyraLiteChartSeries { readonly label: string; readonly data: readonly (number|null)[];
|
|
27222
|
-
readonly color?: string }
|
|
27297
|
+
readonly color?: string }`. The legacy `LiteSeries` name was removed in 9.0.0 — import
|
|
27298
|
+
`LyraLiteChartSeries` instead.
|
|
27223
27299
|
`color` accepts a valid CSS `color`, while invalid values,
|
|
27224
27300
|
declaration-breaking input, and `url()` paint servers fall back to the built-in palette. A
|
|
27225
27301
|
runtime entry whose required `data` member is not an array is dropped while valid siblings
|
|
@@ -27771,7 +27847,23 @@ bounded-alternative sampling notice)
|
|
|
27771
27847
|
concrete semantic fallbacks rather than retaining a prior canvas paint), but declared in its own stylesheet, not a
|
|
27772
27848
|
re-export: `lr-box-plot` has no `zoom`, so no `reset-zoom-button` chrome exists here. A `BoxPlotSeries`
|
|
27773
27849
|
that sets no `color` is assigned an entry from the same `--lr-color-chart-1..8` ramp `lr-chart` uses,
|
|
27774
|
-
so `--lr-theme-color-chart-*` retheming reaches box plots too.
|
|
27850
|
+
so `--lr-theme-color-chart-*` retheming reaches box plots too. That resolved color then layers two
|
|
27851
|
+
further per-series override tokens for the canvas paint, each wrapping modulo 8 like the underlying
|
|
27852
|
+
ramp and mirroring `lr-chart`'s own `--border-color-N`/`--fill-color-N` palette-override mechanism
|
|
27853
|
+
under a box-plot-namespaced name, since box-plot has no raw `config` passthrough to piggyback on:
|
|
27854
|
+
`--lr-box-plot-border-color-1` through `--lr-box-plot-border-color-8` (defaulting respectively to
|
|
27855
|
+
`--lr-color-chart-1` through `--lr-color-chart-8`) set the box-outline stroke color, and
|
|
27856
|
+
`--lr-box-plot-fill-color-1` through `--lr-box-plot-fill-color-8` (the same eight defaults) set the
|
|
27857
|
+
box fill and its legend swatch. In full, the stroke tokens are `--lr-box-plot-border-color-1`,
|
|
27858
|
+
`--lr-box-plot-border-color-2`, `--lr-box-plot-border-color-3`, `--lr-box-plot-border-color-4`,
|
|
27859
|
+
`--lr-box-plot-border-color-5`, `--lr-box-plot-border-color-6`, `--lr-box-plot-border-color-7` and
|
|
27860
|
+
`--lr-box-plot-border-color-8`; the fill tokens are `--lr-box-plot-fill-color-1`,
|
|
27861
|
+
`--lr-box-plot-fill-color-2`, `--lr-box-plot-fill-color-3`, `--lr-box-plot-fill-color-4`,
|
|
27862
|
+
`--lr-box-plot-fill-color-5`, `--lr-box-plot-fill-color-6`, `--lr-box-plot-fill-color-7` and
|
|
27863
|
+
`--lr-box-plot-fill-color-8`. `--lr-box-plot-border-width` (default `var(--lr-border-width-thin)`)
|
|
27864
|
+
sets the canvas box-outline stroke width in pixels — the same override mechanism as `lr-chart`'s
|
|
27865
|
+
`--border-width`. `--lr-box-plot-item-radius` (default `0`) sets the radius, in pixels, of the
|
|
27866
|
+
individual raw-sample dots drawn alongside each box; `0` disables them. `--lr-chart-pattern-step`
|
|
27775
27867
|
(default `var(--lr-space-2xs)`) sizes the forced-colors legend texture and
|
|
27776
27868
|
`--lr-chart-canvas-hover-outline-width` (default `var(--lr-border-width-thin)`) sizes the `canvas`
|
|
27777
27869
|
hover outline; `--lr-chart-canvas-hover-outline-color` (default `var(--lr-chart-grid-color)`) sets
|
|
@@ -27802,8 +27894,9 @@ loads are memoized per page.
|
|
|
27802
27894
|
```
|
|
27803
27895
|
|
|
27804
27896
|
**Known gotchas:**
|
|
27805
|
-
- no raw `config` passthrough — limited to the properties above
|
|
27806
|
-
controller's
|
|
27897
|
+
- no raw `config` passthrough — limited to the properties above, plus the `--lr-box-plot-border-width`
|
|
27898
|
+
and `--lr-box-plot-item-radius` CSS hooks; the underlying controller's other options
|
|
27899
|
+
(`outlierRadius`, `coef`) remain unreachable.
|
|
27807
27900
|
- Chart.js receives `effectiveLocale`; generated numeric summaries use it, the y axis moves to
|
|
27808
27901
|
logical start in RTL, and live ancestor `lang`/`dir` changes redraw the already-mounted canvas
|
|
27809
27902
|
without requiring another box property write. Canvas tooltip/axis colors are token-driven, and
|
|
@@ -27866,6 +27959,14 @@ These named interfaces and helper signatures are available to typed integrations
|
|
|
27866
27959
|
}`
|
|
27867
27960
|
|
|
27868
27961
|
- **`components-charts-chart-chart-colors-contracts`** — Supporting data types and helpers for this component family.
|
|
27962
|
+
Import: `@aceshooting/lyra-ui/components/charts/chart/chart-colors.js`.
|
|
27963
|
+
`ChartThemeColors {
|
|
27964
|
+
grid: string;
|
|
27965
|
+
tick: string;
|
|
27966
|
+
legend: string;
|
|
27967
|
+
tooltipBg: string;
|
|
27968
|
+
tooltipText: string;
|
|
27969
|
+
}`
|
|
27869
27970
|
Import: `@aceshooting/lyra-ui/components/charts/chart/chart-colors.js`.
|
|
27870
27971
|
`seriesPalette(element?: Element | null): string[]`
|
|
27871
27972
|
Import: `@aceshooting/lyra-ui/components/charts/chart/chart-colors.js`.
|
|
@@ -29436,6 +29537,13 @@ span boundary that `Range.surroundContents()` can't wrap stays unpainted (still
|
|
|
29436
29537
|
localized label; later loading and error transitions use the shared document-level polite and
|
|
29437
29538
|
assertive sinks, respectively, without adding live semantics inside the viewer shadow.
|
|
29438
29539
|
|
|
29540
|
+
**Known capability boundaries** — deliberate, not defects, and stated here so they need not be
|
|
29541
|
+
rediscovered: text search and `LyraAnchor` text-quote resolution match **exact** text only, after
|
|
29542
|
+
whitespace and soft-hyphen normalization, with no fuzzy or approximate mode. Non-Latin
|
|
29543
|
+
cMap-encoded fonts get no special handling beyond whatever the `pdfjs-dist` peer resolves on its
|
|
29544
|
+
own — no `cMapUrl`/`cMapPacked` is configured. A scanned or image-only PDF has no text layer at
|
|
29545
|
+
all, so it has nothing to select, search or anchor into; it still renders and paginates normally.
|
|
29546
|
+
|
|
29439
29547
|
`page`, `page-canvas`, `text-layer`, `text-span`, `search-match` and `search-match-active` are
|
|
29440
29548
|
rendered inside the virtualizing `lr-virtual-list`'s own shadow root and forwarded out through
|
|
29441
29549
|
`exportparts`, so `lr-pdf-viewer::part(page)` (and each of the others) works from a consumer
|
|
@@ -30149,6 +30257,11 @@ is absent, it uses the localized comparison label. Dynamic host-label changes up
|
|
|
30149
30257
|
`sync-scroll="false"`.
|
|
30150
30258
|
- `anchor: LyraAnchor | string | null = null` (attribute: false) — sends the same target to both
|
|
30151
30259
|
preview panes; repeated assignment of the same value still re-runs.
|
|
30260
|
+
- `maxHeight: string = ''` (attribute `max-height`) — a CSS length (e.g. `"30rem"`) that overrides
|
|
30261
|
+
`--lr-document-compare-pane-max-height` declaratively, giving each `view="side-by-side"` pane its
|
|
30262
|
+
maximum block size before it scrolls internally. The value is sanitized as a CSS length, so an
|
|
30263
|
+
invalid one is ignored and the token default applies; the unset default `''` also defers to the
|
|
30264
|
+
token, so setting nothing preserves existing behaviour.
|
|
30152
30265
|
|
|
30153
30266
|
**Exported types:** `DocumentCompareVersion`; `LyraDocumentCompareView = 'diff' |
|
|
30154
30267
|
'side-by-side'`; `DocumentComparePaneSide = 'old' | 'new'`.
|
|
@@ -30812,7 +30925,7 @@ leaks through as the composite element's own focus/blur.
|
|
|
30812
30925
|
Sanitized Markdown-to-HTML rendering (GFM tables, fenced code blocks, links, blockquotes) built on
|
|
30813
30926
|
two optional peer dependencies — `marked` (parsing) and `dompurify` (sanitizing) — both lazy-loaded
|
|
30814
30927
|
independently via `markdown-loader.ts`'s `loadMarkdownDeps()` on first connect, cached per page the
|
|
30815
|
-
same way `chart-loader.ts`/`map-loader.ts` cache their load promise so every `<lr-markdown>`
|
|
30928
|
+
same way `chart-core-loader.ts`/`map-loader.ts` cache their load promise so every `<lr-markdown>`
|
|
30816
30929
|
instance on a page shares one load. `heading`/`code`/`blockquote`/`table`/`link`/`image` tokens are
|
|
30817
30930
|
rendered through a `marked` renderer override that injects `part="..."` attributes directly into the
|
|
30818
30931
|
produced HTML in a single pass (no second DOM walk after insertion).
|
|
@@ -30973,7 +31086,7 @@ rendered fenced or indented `code-block`), plus shared tokens `--lr-space-xs/-s/
|
|
|
30973
31086
|
`--lr-radius`.
|
|
30974
31087
|
|
|
30975
31088
|
**Optional peer deps:** `marked`, `dompurify` (both lazy-loaded via `markdown-loader.ts`'s
|
|
30976
|
-
`loadMarkdownDeps()`, mirroring `chart-loader.ts`'s two-independent-optional-peers shape). Each half
|
|
31089
|
+
`loadMarkdownDeps()`, mirroring `chart-core-loader.ts`'s two-independent-optional-peers shape). Each half
|
|
30977
31090
|
is loaded and caught independently — a consumer who installs only `marked` and explicitly sets
|
|
30978
31091
|
`html-mode="trusted"` (so `dompurify` is never needed) is a valid, supported combination. Also `shiki`,
|
|
30979
31092
|
the same optional peer `<lr-code-block>` uses, for `highlightCode`'s fenced-block syntax
|
|
@@ -32415,10 +32528,11 @@ highlighted markup.
|
|
|
32415
32528
|
to the default dynamic-import path unchanged. For a TypeScript annotation, use
|
|
32416
32529
|
`import type { ShikiLanguageInput } from '@aceshooting/lyra-ui/components/conversation/code-block/code-block.js'`;
|
|
32417
32530
|
the type-only granular import emits no registration side effect.
|
|
32418
|
-
|
|
32419
|
-
|
|
32420
|
-
|
|
32421
|
-
|
|
32531
|
+
|
|
32532
|
+
**Methods:** `scrollToAnchor(target)` — resolves a `line-range` anchor (or a `highlights` id string
|
|
32533
|
+
resolving to one) by scrolling its start line into view within `[part="body"]`; resolves `false`
|
|
32534
|
+
when the anchor isn't a `line-range`, the id isn't found, or the start line is out of bounds.
|
|
32535
|
+
`refreshTheme(): void` re-reads the resolved theme for syntax highlighting.
|
|
32422
32536
|
|
|
32423
32537
|
**Events:** `lr-copy` (frozen `detail: { ok: true, text }` — fires only after the raw `code` value
|
|
32424
32538
|
was written successfully), `lr-error` (`detail: null` — generic notification when clipboard writing
|
|
@@ -32730,7 +32844,10 @@ The internal `lr-slider` renders with its own value readout suppressed (`.showVa
|
|
|
32730
32844
|
the current temperature is instead shown via this component's own `[part="temperature-value"]` span,
|
|
32731
32845
|
which formats `temperature` through the cached `Intl.NumberFormat` for the effective locale with up
|
|
32732
32846
|
to 20 fractional digits, matching `lr-slider`'s own numeric readout. For example, `temperature="0.7"`
|
|
32733
|
-
under `locale="de-DE"` displays `0,7`.
|
|
32847
|
+
under `locale="de-DE"` displays `0,7`. When the full decimal expansion would exceed 24 characters —
|
|
32848
|
+
reachable only through an extreme `temperatureMin`/`temperatureMax`/`temperatureStep` combination —
|
|
32849
|
+
the readout switches to bounded scientific notation at up to 6 significant digits instead, so
|
|
32850
|
+
`1e308` renders as `7E+307` rather than a 300-digit string that would overflow the label.
|
|
32734
32851
|
|
|
32735
32852
|
The panel's own `temperature` property mirrors the nested slider's _live_ value on every one of its
|
|
32736
32853
|
`lr-input` events (drag/key-repeat), not just its committed `lr-change` — so `temperature` (and
|
|
@@ -34098,6 +34215,13 @@ allocating every preceding part for each citation in a citation-heavy or growing
|
|
|
34098
34215
|
**Properties:** `parts: MessagePart[] = []` (attribute: false); `contentMode: MessagePartsContentMode =
|
|
34099
34216
|
'markdown'` (attribute `content-mode`, reflected) and `showReasoning: boolean = true` (attribute
|
|
34100
34217
|
`show-reasoning`, reflected, with string-aware true-default conversion);
|
|
34218
|
+
`maxRenderedParts: number = 0` (attribute `max-rendered-parts`) — `0` (the default) renders every
|
|
34219
|
+
part, unbounded, matching every prior release; a positive value windows rendering to the newest N
|
|
34220
|
+
parts without touching the host's `parts` data. Citation ranks are unaffected by the window: they
|
|
34221
|
+
are still derived from the full sequence first, in the same linear prepass, so a badge's number
|
|
34222
|
+
stays stable even once an earlier citation rolls out of the rendered window. Opt in for a message
|
|
34223
|
+
that can grow an unusually large number of interleaved parts (e.g. a long agentic run with many
|
|
34224
|
+
tool-call/tool-result pairs), where unbounded live DOM can visibly stall the main thread.
|
|
34101
34225
|
`renderPart?: MessagePartRenderer` (attribute: false), where returning `undefined` delegates that
|
|
34102
34226
|
part to the built-in renderer; `accessibleLabel: string | null = null` (attribute `aria-label`).
|
|
34103
34227
|
|
|
@@ -35341,8 +35465,9 @@ already apply live via `lr-change`, so this slot is purely optional; only visual
|
|
|
35341
35465
|
assigned elements.
|
|
35342
35466
|
|
|
35343
35467
|
**CSS parts:** `backdrop`, `panel`, `header`, `title`, `subtitle`, `search-row`, `search-input`,
|
|
35344
|
-
`
|
|
35345
|
-
`
|
|
35468
|
+
`search-clear` (replaces the native search-cancel glyph the component resets; rendered only while
|
|
35469
|
+
the field has text), `defaults-row`, `defaults-toggle`, `defaults-hint`, `body` (the
|
|
35470
|
+
keyboard-focusable scroll region), `empty`, `category`, `category-heading`,
|
|
35346
35471
|
`category-count`, `category-list`, `tool-row`, `tool-checkbox`, `tool-name`, `tool-icon`,
|
|
35347
35472
|
`tool-description`, `tool-disabled-reason`, `limit`, `load-more`, `footer`
|
|
35348
35473
|
|
|
@@ -35437,6 +35562,10 @@ plain text) — this component has no dependency on either.
|
|
|
35437
35562
|
behavior differences, see prose below.
|
|
35438
35563
|
- `durationMs?: number` (attribute `duration-ms`) — how long the reasoning took. Omitted entirely
|
|
35439
35564
|
(nothing rendered in `'post-hoc'`, a pulsing placeholder in `'live'`) while unset.
|
|
35565
|
+
- `follow: boolean = true` (reflected) — whether live, expanded content follows the transcript tail.
|
|
35566
|
+
A user scroll updates this property and emits `lr-follow-change`; a direct assignment is
|
|
35567
|
+
controlled input and emits nothing. Being a `true`-defaulting boolean, `follow="false"` in plain
|
|
35568
|
+
HTML is honoured (it uses `trueDefaultBooleanConverter`), so the attribute form is load-bearing.
|
|
35440
35569
|
|
|
35441
35570
|
**Methods:** `scrollToBottom(): void` — scrolls `[part="body"]` to its current bottom immediately
|
|
35442
35571
|
(no smooth-scroll animation). Safe to call directly, e.g. from a host that wants to force a
|
|
@@ -37229,7 +37358,7 @@ expectedOutput?: string; tags?: readonly string[]; metadata?: Record<string, unk
|
|
|
37229
37358
|
`searchable`; empty string leaves the corresponding browser default in effect
|
|
37230
37359
|
- `accept: string = ''` — forwarded to the internal `lr-file-input`'s `accept` (e.g. `'.json,.csv'`);
|
|
37231
37360
|
empty accepts any type
|
|
37232
|
-
- `exportFormats:
|
|
37361
|
+
- `exportFormats: readonly LyraExportFormatOption[] = ['csv', 'json']` (attribute: false) — forwarded to the
|
|
37233
37362
|
internal `lr-export-button`
|
|
37234
37363
|
- `disabled: boolean = false` (reflected) — disables every add/remove/import/export affordance, e.g.
|
|
37235
37364
|
while a host-side mutation is still in flight
|
|
@@ -37248,8 +37377,9 @@ loses focus, since native focus neither bubbles nor crosses the shadow boundary.
|
|
|
37248
37377
|
All three built-in columns are sortable; activating one of their headers produces that commit for
|
|
37249
37378
|
the host to apply to its controlled `examples` array.
|
|
37250
37379
|
|
|
37251
|
-
**CSS parts:** `base`, `toolbar`, `search`, `search-input`, `
|
|
37252
|
-
|
|
37380
|
+
**CSS parts:** `base`, `toolbar`, `search`, `search-input`, `search-clear` (replaces the native
|
|
37381
|
+
search-cancel glyph the component resets; rendered only while the field has text), `tag-filter`,
|
|
37382
|
+
`grid`, `add-button`, `remove-button`, `import`, `export`.
|
|
37253
37383
|
|
|
37254
37384
|
**Known gotchas:**
|
|
37255
37385
|
|
|
@@ -37798,7 +37928,14 @@ parents remain renderable instead of recursing forever.
|
|
|
37798
37928
|
**Properties:** `runs: SubagentRun[] = []` (attribute: false);
|
|
37799
37929
|
`selectedRunId: string | null = null` (attribute `selected-run-id`); `label?: string` — an
|
|
37800
37930
|
accessible-name override for the `role="tree"` element, where omission reads back `undefined` and
|
|
37801
|
-
localizes the default while any supplied string, including `''`, renders verbatim
|
|
37931
|
+
localizes the default while any supplied string, including `''`, renders verbatim; `compact: boolean
|
|
37932
|
+
= false` (reflected) — tighter run-row padding/gaps and smaller task/model text, the same density
|
|
37933
|
+
convention `lr-task-list`/`lr-stack-trace`/`lr-thinking-panel`/`lr-terminal` already pair with
|
|
37934
|
+
`frame`; purely a density knob, since each run's own border stays, so reach for `frame="plain"` to
|
|
37935
|
+
drop the chrome entirely; `frame: LyraFrame = 'card'` (reflected) — container treatment for each run
|
|
37936
|
+
row, in the library-wide `frame` vocabulary (`'card' | 'plain'`). `'card'` keeps each run's own
|
|
37937
|
+
border/radius; `'plain'` drops it, for a transcript or message-bubble context that already draws its
|
|
37938
|
+
own border around a nested `<lr-subagent-panel>` and would otherwise double it.
|
|
37802
37939
|
`SubagentRun = { id: string; parentId?: string; label: string; status: AgentStatusKind; task?:
|
|
37803
37940
|
string; model?: string; readonly progressRatio?: number; startedAt?: number; endedAt?: number;
|
|
37804
37941
|
metadata?: Record<string, unknown> }`. `progressRatio` represents completion from `0` to `1`,
|
|
@@ -37831,6 +37968,14 @@ import "@aceshooting/lyra-ui/components/agent-tools/subagent-panel/subagent-pane
|
|
|
37831
37968
|
- `--lr-subagent-panel-selected-border` — Selected run border. Default: `var(--lr-color-brand)`.
|
|
37832
37969
|
- `--lr-subagent-panel-progress-track` — Progress track. Default: `var(--lr-color-border)`.
|
|
37833
37970
|
- `--lr-subagent-panel-progress-fill` — Progress fill. Default: `var(--lr-color-brand)`.
|
|
37971
|
+
- `--lr-subagent-panel-compact-trigger-padding` — `[part="run-trigger"]` padding while `compact`.
|
|
37972
|
+
Default: `var(--lr-space-2xs) var(--lr-space-s)`.
|
|
37973
|
+
- `--lr-subagent-panel-compact-trigger-gap` — Gap between `[part="run-trigger"]`'s
|
|
37974
|
+
label/status/task/model/progress while `compact`. Default: `var(--lr-space-2xs)`.
|
|
37975
|
+
- `--lr-subagent-panel-compact-font-size` — `[part="task"]`/`[part="model"]` font size while
|
|
37976
|
+
`compact`. Default: `var(--lr-font-size-2xs)`.
|
|
37977
|
+
- `--lr-subagent-panel-compact-action-padding` — `[part="cancel"]`/`[part="retry"]` padding while
|
|
37978
|
+
`compact`. Default: `var(--lr-space-2xs)`.
|
|
37834
37979
|
|
|
37835
37980
|
## Consumer integration notes
|
|
37836
37981
|
|
|
@@ -38795,9 +38940,10 @@ re-rendered group order confirms the host applied it.
|
|
|
38795
38940
|
**Slots:** `header` (content above the search field, e.g. a heading or tabs), `footer` (content
|
|
38796
38941
|
below the list).
|
|
38797
38942
|
|
|
38798
|
-
**CSS parts:** `base`, `search
|
|
38799
|
-
`
|
|
38800
|
-
|
|
38943
|
+
**CSS parts:** `base`, `search-field` (wrapper around the search input and its clear button),
|
|
38944
|
+
`search`, `search-clear` (clears the query; rendered only while the field has text), `list` (the
|
|
38945
|
+
listbox), `group-header`, `item`, `item-icon`, `item-label`, `item-description`, `empty`
|
|
38946
|
+
(no-results message), `live-region` (result-count announcement).
|
|
38801
38947
|
|
|
38802
38948
|
**Themeable custom properties:** shared tokens only.
|
|
38803
38949
|
|