@aceshooting/lyra-ui 11.0.0 → 11.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/CHANGELOG.md +151 -0
  2. package/README.md +8 -0
  3. package/custom-elements.json +1 -1
  4. package/dist/components/agent-tools/activity-feed/activity-feed.class.js +1 -1
  5. package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.js +1 -1
  6. package/dist/components/agent-tools/agent-run/agent-run.class.js +1 -1
  7. package/dist/components/agent-tools/agent-trace/agent-trace.class.js +1 -1
  8. package/dist/components/agent-tools/browser-frame/browser-frame.class.js +1 -1
  9. package/dist/components/agent-tools/commit-card/commit-card.class.js +1 -1
  10. package/dist/components/agent-tools/span-waterfall/span-waterfall.class.js +1 -1
  11. package/dist/components/agent-tools/task-list/task-list.class.js +2 -2
  12. package/dist/components/agent-tools/test-results/test-results.class.js +1 -1
  13. package/dist/components/agent-tools/thinking-panel/thinking-panel.class.js +1 -1
  14. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.js +2 -2
  15. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts +1 -0
  16. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +1 -1
  17. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.class.js +2 -2
  18. package/dist/components/agent-tools/trace-tree/trace-tree.class.js +2 -2
  19. package/dist/components/charts/chart/bar-chart.class.js +1 -1
  20. package/dist/components/charts/chart/bubble-chart.class.js +1 -1
  21. package/dist/components/charts/chart/chart.class.js +1 -1
  22. package/dist/components/charts/chart/doughnut-chart.class.js +1 -1
  23. package/dist/components/charts/chart/histogram.class.js +1 -1
  24. package/dist/components/charts/chart/line-chart.class.js +1 -1
  25. package/dist/components/charts/chart/lite-chart.class.d.ts +32 -0
  26. package/dist/components/charts/chart/lite-chart.class.js +17 -4
  27. package/dist/components/charts/chart/lite-chart.styles.js +29 -0
  28. package/dist/components/charts/chart/pie-chart.class.js +1 -1
  29. package/dist/components/charts/chart/polar-area-chart.class.js +1 -1
  30. package/dist/components/charts/chart/radar-chart.class.js +1 -1
  31. package/dist/components/charts/chart/scatter-chart.class.js +1 -1
  32. package/dist/components/conversation/chat-message/chat-message.class.js +2 -2
  33. package/dist/components/conversation/chat-viewport/chat-viewport.class.js +1 -1
  34. package/dist/components/conversation/model-select/model-select.class.d.ts +1 -0
  35. package/dist/components/conversation/model-select/model-select.class.js +1 -1
  36. package/dist/components/conversation/usage-badge/usage-badge.class.js +1 -1
  37. package/dist/components/conversation/voice-picker/voice-picker.class.d.ts +1 -0
  38. package/dist/components/conversation/voice-picker/voice-picker.class.js +1 -1
  39. package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +1 -0
  40. package/dist/components/data/graph-query-builder/graph-query-builder.class.js +1 -1
  41. package/dist/components/data/heatmap/heatmap.class.d.ts +36 -1
  42. package/dist/components/data/heatmap/heatmap.class.js +1 -1
  43. package/dist/components/data/table/table.class.d.ts +19 -0
  44. package/dist/components/data/table/table.class.js +3 -3
  45. package/dist/components/forms/checkbox/checkbox.class.d.ts +1 -0
  46. package/dist/components/forms/checkbox/checkbox.class.js +1 -1
  47. package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts +1 -0
  48. package/dist/components/forms/checkbox-group/checkbox-group.class.js +1 -1
  49. package/dist/components/forms/combobox/combobox.class.d.ts +1 -0
  50. package/dist/components/forms/combobox/combobox.class.js +1 -1
  51. package/dist/components/forms/date-picker/date-input.class.d.ts +12 -1
  52. package/dist/components/forms/date-picker/date-input.class.js +4 -2
  53. package/dist/components/forms/date-picker/date-picker.class.d.ts +30 -4
  54. package/dist/components/forms/date-picker/date-picker.class.js +4 -4
  55. package/dist/components/forms/locale-picker/locale-picker.class.d.ts +1 -0
  56. package/dist/components/forms/locale-picker/locale-picker.class.js +1 -1
  57. package/dist/components/forms/radio/radio-group.class.d.ts +1 -0
  58. package/dist/components/forms/radio/radio-group.class.js +1 -1
  59. package/dist/components/forms/radio/radio.class.d.ts +1 -0
  60. package/dist/components/forms/radio/radio.class.js +1 -1
  61. package/dist/components/forms/rubric-form/rubric-form.class.d.ts +1 -0
  62. package/dist/components/forms/rubric-form/rubric-form.class.js +1 -1
  63. package/dist/components/forms/select/select.class.d.ts +1 -0
  64. package/dist/components/forms/select/select.class.js +1 -1
  65. package/dist/components/forms/slider/slider.class.d.ts +1 -0
  66. package/dist/components/forms/slider/slider.class.js +1 -1
  67. package/dist/components/forms/switch/switch.class.d.ts +1 -0
  68. package/dist/components/forms/switch/switch.class.js +1 -1
  69. package/dist/components/forms/time-range/time-range.class.d.ts +1 -0
  70. package/dist/components/forms/time-range/time-range.class.js +1 -1
  71. package/dist/components/forms/token-input/token-input.class.d.ts +1 -0
  72. package/dist/components/forms/token-input/token-input.class.js +1 -1
  73. package/dist/components/media/attachment-chip/attachment-chip.class.js +2 -2
  74. package/dist/components/media/attachment-trigger/attachment-trigger.class.js +2 -2
  75. package/dist/components/media/file-icon/file-icon.class.js +1 -1
  76. package/dist/components/media/file-input/file-input.class.d.ts +1 -0
  77. package/dist/components/media/file-input/file-input.class.js +1 -1
  78. package/dist/components/media/flag/flag-peer-bulk.d.ts +12 -0
  79. package/dist/components/media/flag/flag-peer-bulk.js +1 -0
  80. package/dist/components/media/flag/flag.class.d.ts +28 -0
  81. package/dist/components/media/flag/flag.class.js +2 -2
  82. package/dist/components/retrieval/citation-badge/citation-badge.class.js +1 -1
  83. package/dist/components/retrieval/claim-evidence/claim-evidence.class.js +1 -1
  84. package/dist/components/retrieval/grounding-summary/grounding-summary.class.js +2 -2
  85. package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.js +1 -1
  86. package/dist/components/viewers/archive-viewer/archive-viewer.class.js +1 -1
  87. package/dist/components/viewers/contact-viewer/contact-viewer.class.js +1 -1
  88. package/dist/components/viewers/document-compare/document-compare.class.js +1 -1
  89. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +1 -1
  90. package/dist/components/viewers/email-viewer/email-viewer.class.js +2 -2
  91. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +1 -1
  92. package/dist/custom-elements-jsx.d.ts +5 -3
  93. package/dist/events.d.ts +7 -0
  94. package/dist/internal/canvas.js +1 -1
  95. package/dist/internal/form-associated.d.ts +1 -0
  96. package/dist/internal/form-associated.js +1 -1
  97. package/dist/internal/form-control-labels.js +1 -1
  98. package/dist/internal/lyra-element.js +1 -1
  99. package/dist/internal/package-metadata.d.ts +1 -1
  100. package/dist/internal/package-metadata.js +1 -1
  101. package/dist/lyra.d.ts +1 -1
  102. package/dist/svelte.d.ts +5 -3
  103. package/dist/theme.css +32 -0
  104. package/dist/vue.d.ts +5 -3
  105. package/llms/components/lr-agent-eval-dashboard.md +1 -1
  106. package/llms/components/lr-agent-workspace.md +1 -1
  107. package/llms/components/lr-box-plot.md +2 -2
  108. package/llms/components/lr-chart.md +1 -1
  109. package/llms/components/lr-chunk-inspector.md +1 -1
  110. package/llms/components/lr-combobox.md +3 -3
  111. package/llms/components/lr-date-input.md +22 -6
  112. package/llms/components/lr-date-picker.md +21 -5
  113. package/llms/components/lr-entity-dossier.md +1 -1
  114. package/llms/components/lr-eval-run.md +1 -1
  115. package/llms/components/lr-flag.md +24 -1
  116. package/llms/components/lr-grounding-summary.md +1 -1
  117. package/llms/components/lr-heatmap.md +18 -6
  118. package/llms/components/lr-lite-chart.md +19 -3
  119. package/llms/components/lr-map.md +2 -2
  120. package/llms/components/lr-memory-panel.md +1 -1
  121. package/llms/components/lr-option.md +3 -3
  122. package/llms/components/lr-popover.md +1 -1
  123. package/llms/components/lr-provenance-panel.md +1 -1
  124. package/llms/components/lr-rag-answer.md +1 -1
  125. package/llms/components/lr-rag-eval-dashboard.md +1 -1
  126. package/llms/components/lr-retrieval-results.md +1 -1
  127. package/llms/components/lr-retrieval-trace.md +1 -1
  128. package/llms/peers.md +10 -10
  129. package/llms/shared.md +19 -0
  130. package/llms/tokens.md +12 -0
  131. package/llms-full.txt +109 -21
  132. package/package.json +6 -6
  133. package/vscode-css-data.json +14 -0
  134. package/vscode-html-data.json +17 -3
  135. package/web-types.json +30 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,156 @@
1
1
  # Changelog
2
2
 
3
+ ## 11.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - a44e6e1: Added a first-class bulk-resolution path for `<lr-flag>`, for a page that renders most/all flags at
8
+ once (a country table, a full locale picker) instead of independently resolving each instance:
9
+
10
+ - `@aceshooting/lyra-flags` gained `createFlagUrlResolver()`, a `flagUrl`-shaped resolver factory
11
+ backed by one shared `flagUrls()` fetch instead of a fresh per-code lazy resolution per call.
12
+ - `@aceshooting/lyra-ui` gained `flag-peer-bulk.js` (`components/media/flag/flag-peer-bulk.js`), an
13
+ opt-in alternative peer-registration entry point to the default `flag-peer.js` — import one or the
14
+ other, never both. Only worthwhile when the page renders most/all flags; `flag-peer.js` remains
15
+ the right default for a handful of flags. `fidelity="compact"/"detailed"` on individual elements
16
+ still resolves correctly either way — only the standard tier is bulk-fetched.
17
+ - a44e6e1: Two consumer-filed `<lr-heatmap>` gaps:
18
+
19
+ - **`matrixGeometry` readback + `lr-matrix-geometry-change` event.** Matrix mode's resolved gutter/
20
+ cell geometry (`padLeft`, `padTop`, `cellSize`) was entirely private, so a consumer building a
21
+ sticky light-DOM header mirror for a tall matrix had to hardcode numbers that `row-label-width`/
22
+ `col-label-height`'s `"auto"` resolution could silently change out from under them. `matrixGeometry`
23
+ now exposes exactly what the last matrix-mode draw painted with (reusing the same internal getters
24
+ `drawMatrix()` itself calls, so it can never disagree), and `lr-matrix-geometry-change` fires
25
+ whenever a redraw actually changes it.
26
+ - **`HeatmapLegendStop.partOfRamp`.** The dev-mode ramp/legend-mismatch warning had no way to
27
+ express a legend swatch that is intentionally outside `colorSteps` — e.g. a calendar heatmap's
28
+ fixed neutral "no data" color shown alongside an N-step sequential ramp. Set `partOfRamp: false`
29
+ on that stop to exclude it from the comparison; every other stop (and every existing consumer
30
+ that never sets this) keeps today's exact behavior.
31
+
32
+ ### Patch Changes
33
+
34
+ - f5dde67: Bumped the optional `dompurify` peer dependency range floor from `^3.4.13` to `^3.4.14` (a
35
+ DOMPurify patch release). Every other dependency change in this release is dev-tooling only
36
+ (Storybook, Vite, publint, oxc-parser) and carries no published surface.
37
+ - a44e6e1: Four documentation gaps reported against 11.1.0 by a real-world consumer audit:
38
+
39
+ - **`<lr-flag>` sizing.** The host sizes from `font-size` (`block-size: 1em`, `inline-size` derived
40
+ via `aspect-ratio`), never documented anywhere. Setting `width`/`inline-size` directly makes both
41
+ axes definite, which defeats `aspect-ratio` and squashes the image instead of scaling it. Now
42
+ documented on the class JSDoc and in `llms/media.md`.
43
+ - **`<lr-flag>` bulk rendering.** Nothing pointed a consumer rendering many flags at once (a country
44
+ table, a locale picker) at `@aceshooting/lyra-flags`'s existing `flagUrls()` — one call resolving
45
+ every flag, instead of each `<lr-flag>` instance independently calling `flagUrl()`. Now
46
+ cross-linked from the class JSDoc and `llms/media.md`, alongside the new per-tier peer-resolver
47
+ entry points (see the paired `@aceshooting/lyra-flags` changeset).
48
+ - **`accessibleLabel`'s two conventions.** Most components alias it directly onto native
49
+ `aria-label`; a minority (e.g. `lr-callout`, `lr-table`) that separately compute an internal
50
+ accessible name expose it through a bespoke `accessible-label` attribute instead, so a host
51
+ `aria-label` can still override it. Both are individually correct, but nothing stated the split,
52
+ so `accessible-label="…"` on an `aria-label`-only component was a silent no-op. Now documented in
53
+ `llms/shared.md`'s accessibility contract section.
54
+ - **Shadow-scoped resolved tokens.** The quick-start theming snippet (README and `llms/shared.md`)
55
+ never warned that the resolved `--lr-color-*`/`--lr-space-*`/`--lr-radius`/`--lr-shadow-*`/
56
+ `--lr-font-*` layer is declared only on each `lr-*` element's own shadow `:host` — unreachable
57
+ from plain application CSS or a consumer's own custom elements. The deeper explanation already
58
+ existed in "Where an override actually reaches"; it's now also stated up front, at the first
59
+ theming snippet.
60
+ - a44e6e1: `LyraElement` no longer statically imports `internal/form-control-labels.js` (the external-label
61
+ bridge + form-internals capture that only a form-associated component ever uses). Every
62
+ presentational component — `lr-flag`, `lr-popover`, and everything else that doesn't opt into form
63
+ association — no longer ships that module in its reachable bundle graph (measured previously at
64
+ ~6KB gzip on `lr-flag`). Form-associated components register it themselves (the `FormAssociated`
65
+ mixin and 19 hand-rolled form controls each now import it explicitly), so every form control's
66
+ label/hint/error/reset/validity behavior is unchanged.
67
+ - Updated dependencies [a44e6e1]
68
+ - Updated dependencies [a44e6e1]
69
+ - @aceshooting/lyra-flags@2.1.0
70
+
71
+ ## 11.1.0
72
+
73
+ ### Minor Changes
74
+
75
+ - 555154e: Four follow-ups to 11.0.0, all reported against the shipped release:
76
+
77
+ - **`<lr-date-input>` forwards `presets`** to its nested picker, and exports the `presets` /
78
+ `preset-button` parts. 11.0.0 landed the feature on the inline calendar only, while the compact
79
+ text-field-plus-popover shape is the one a dashboard time filter actually uses — and there was no
80
+ consumer-side escape hatch, since a CSS part cannot set a JS property.
81
+ - **`<lr-date-picker>` gains a read-only `appliedPreset`**, reporting which preset produced the
82
+ current value (`undefined` for a hand-picked range). 11.0.0 presented commit-path
83
+ indistinguishability as a feature; it is, for serialization and clamping, but it destroyed the one
84
+ fact a dashboard filter needs, because "Last 7 days" must stay *relative* across a reload.
85
+ Re-deriving it by matching `value` is both the mapping table `presets` exists to delete and
86
+ ambiguous — Today and This month coincide on the 1st.
87
+ - **`LyraDateRangePreset.start`/`.end` are now optional**, meaning an open bound that resolves to
88
+ `min`/`max`. The changelog and doc comment advertised an "All time" preset that the type could not
89
+ express and `applyPreset` silently ignored, so that button rendered and did nothing. Where the
90
+ matching `min`/`max` is unset the button now renders **disabled** rather than looking live.
91
+ - **`<lr-lite-chart>` gains `showDataTable` and `dataTableToggle`** with the same semantics and the
92
+ same `data-table-toggle` part as `<lr-chart>`. It extends `LyraElement` directly and inherited
93
+ nothing from the 11.0.0 addition, which left the component that exists to avoid the Chart.js peers
94
+ as the only one still needing a hand-rolled `<details>` — or Chart.js, for a button.
95
+
96
+ ### Patch Changes
97
+
98
+ - 555154e: Corrected 14 documentation annotations that named **10.1.0**, a version that was never published.
99
+ Those members shipped in 11.0.0: the docs were written while the release was expected to be a
100
+ minor, the public-API semver gate then required a major, and nothing restamped the annotations.
101
+
102
+ This was worse than a typo. A consumer on 10.0.1 reading "new in 10.1.0" either installs a version
103
+ that does not exist, or assumes their 10.0.1 install already has the feature and debugs an
104
+ attribute that silently does nothing — Lit accepts an unknown attribute without error, so there is
105
+ no failure signal at all.
106
+
107
+ Also corrects the generated per-component "Optional peers" header, which attributed peers reached
108
+ only through an erased `import type`. `lr-lite-chart` was listed under all four Chart.js peers
109
+ despite existing precisely to avoid them, inverting the choice the component offers; the same fix
110
+ drops several other over-attributions (the d3 peers were credited to 12 tags and genuinely belong
111
+ to 2). Side-effect registration edges still count, so transitive peers are unaffected.
112
+ - 555154e: **Fixes a silent focus-ring regression introduced in 11.0.0.** `--lr-focus-ring` was added as a
113
+ composite outline shorthand explicitly to replace the Web Awesome `outline: var(--wa-focus-ring)`
114
+ idiom — but it was declared only inside each component's `:host`, and that idiom is written by a
115
+ consumer against their *own* element. At document scope the token resolved to the empty string,
116
+ which makes the whole `outline` declaration invalid at computed-value time; because `outline` does
117
+ not inherit, the ring did not fall back, it **disappeared**. No console warning, no test signal —
118
+ a WCAG 2.4.7 failure that looked correct in review. The library evidenced the gap itself:
119
+ `styles/native.css` hand-expanded the ring rather than using the composite.
120
+
121
+ `theme.css` now declares `--lr-focus-ring` and its three parts at document scope, on `:root` and on
122
+ both mode selectors — not `:root` alone, because `.lr-dark` / `[data-lr-theme='dark']` may sit on
123
+ any ancestor, and resolving the colour once at `:root` would freeze the light value for a subtree
124
+ that later switches. Components are unaffected: their own `:host` declarations still win, which is
125
+ now asserted.
126
+
127
+ `styles/native.css` deliberately keeps its fallback-chained expansion so it continues to work for
128
+ consumers who load it without `theme.css`.
129
+
130
+ Reported twice independently, with a live `getComputedStyle` repro showing `outlineStyle: "none"`.
131
+ - 2821af9: Three defects reported against 11.0.0:
132
+
133
+ - **`<lr-pdf-viewer>` text layer, reopened.** 10.0.0 fixed only half of it. The chunk bounding
134
+ guarded against copying an `undefined` style over a good one, but it also *rebuilt* the style map
135
+ from the fonts of the items retained in that chunk — so a style PDF.js announces ahead of the
136
+ items that use it was dropped and never re-sent. Both failures end the same way: a later lookup
137
+ reads `undefined.vertical` and aborts the rest of the page. Measured by the reporter on a 9-page
138
+ document as 4 affected pages and 101 of 271 spans orphaned. Now every own entry the chunk carries
139
+ is copied and only `undefined` is skipped, so falsy-but-defined styles (`null`, `0`, `''`) still
140
+ survive and an inherited `constructor`/`toString` stays unreachable.
141
+
142
+ - **`<lr-table>` no longer dies on a column missing its `cell` renderer.** `cell` is typed and
143
+ documented required, but columns arrive through a lit `.columns=${...}` binding, which `tsc` does
144
+ not type-check — so required-ness was unenforced where it is written *and* unguarded at runtime.
145
+ A single malformed column threw out of lit's `repeat`, taking the whole table down with a stack
146
+ naming neither the column nor the table. It now degrades to an empty cell and reports once per
147
+ column, naming the key, the tag and the missing member.
148
+
149
+ - **The shared scratch canvas is created with `willReadFrequently`.** `<lr-heatmap>`'s colour
150
+ resolution does a 1×1 `getImageData()` readback for any colour the canvas normalizes into a form
151
+ its string parsers reject (`color-mix()`, `oklch()`, `lab()`), which Chrome warns about on every
152
+ page carrying a heatmap. A `color-mix()` ramp takes that readback per cell.
153
+
3
154
  ## 11.0.0
4
155
 
5
156
  ### Major Changes
package/README.md CHANGED
@@ -650,6 +650,14 @@ previews and design-tool validation; it is not a replacement for the production
650
650
  </body>
651
651
  ```
652
652
 
653
+ **The resolved `--lr-color-*`/`--lr-space-*`/`--lr-radius`/`--lr-shadow-*`/`--lr-font-*` output
654
+ layer is declared only on each `lr-*` element's own shadow `:host`** — it is not readable from
655
+ plain application CSS or your own custom elements outside any `lr-*` shadow root (a rule like
656
+ `body { color: var(--lr-color-text) }` silently resolves to nothing, not an error). Set the
657
+ `--lr-theme-*` **input** layer shown below to retheme; see
658
+ [Where an override actually reaches](./llms/shared.md#where-an-override-actually-reaches) for
659
+ exactly how far each layer inherits.
660
+
653
661
  Applications can override any `--lr-theme-*` input directly:
654
662
 
655
663
  ```css