@aceshooting/lyra-ui 16.0.0 → 17.0.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 +504 -0
- package/custom-elements.json +1 -1
- package/dist/cli/migration-contract.json +1 -1
- package/dist/components/agent-tools/browser-frame/browser-frame.class.d.ts +3 -3
- package/dist/components/agent-tools/browser-frame/browser-frame.class.js +2 -2
- package/dist/components/agent-tools/compare-panel/compare-panel.class.d.ts +2 -2
- package/dist/components/agent-tools/compare-panel/compare-panel.class.js +3 -3
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts +37 -13
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +2 -2
- package/dist/components/agent-tools/task-list/task-list.class.js +2 -2
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.d.ts +4 -0
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.js +2 -2
- package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts +3 -3
- package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +1 -1
- package/dist/components/charts/chart/chart.class.d.ts +117 -17
- package/dist/components/charts/chart/chart.class.js +3 -3
- package/dist/components/charts/chart/histogram-bin.d.ts +5 -1
- package/dist/components/charts/chart/histogram-bin.js +1 -1
- package/dist/components/charts/chart/lite-chart.class.d.ts +9 -0
- package/dist/components/conversation/code-block/code-block.styles.js +1 -1
- package/dist/components/conversation/message-actions/message-actions.styles.js +1 -1
- package/dist/components/conversation/model-select/model-select.class.d.ts +13 -4
- package/dist/components/conversation/model-select/model-select.class.js +2 -1
- package/dist/components/conversation/model-select/model-select.styles.js +1 -1
- package/dist/components/conversation/streaming-text/streaming-text-base.class.d.ts +40 -2
- package/dist/components/conversation/streaming-text/streaming-text-base.class.js +2 -2
- package/dist/components/conversation/streaming-text/streaming-text-core.class.d.ts +5 -3
- package/dist/components/conversation/streaming-text/streaming-text-core.class.js +10 -0
- package/dist/components/conversation/streaming-text/streaming-text.class.d.ts +9 -3
- package/dist/components/conversation/streaming-text/streaming-text.class.js +10 -0
- package/dist/components/conversation/suggestion-chips/suggestion-chips.class.d.ts +30 -2
- package/dist/components/conversation/suggestion-chips/suggestion-chips.class.js +4 -3
- package/dist/components/conversation/suggestion-chips/suggestion-chips.styles.js +1 -1
- package/dist/components/conversation/transcript-feed/transcript-feed.class.js +1 -1
- package/dist/components/conversation/usage-badge/usage-badge-overlay-runtime.js +1 -1
- package/dist/components/conversation/usage-badge/usage-badge.class.d.ts +4 -0
- package/dist/components/conversation/voice-picker/voice-picker.class.d.ts +16 -4
- package/dist/components/conversation/voice-picker/voice-picker.class.js +2 -1
- package/dist/components/conversation/voice-picker/voice-picker.styles.js +1 -1
- package/dist/components/data/context-meter/context-meter.class.d.ts +23 -4
- package/dist/components/data/context-meter/context-meter.class.js +10 -7
- package/dist/components/data/context-meter/context-meter.styles.js +1 -1
- package/dist/components/data/data-grid/data-grid.class.d.ts +5 -2
- package/dist/components/data/data-grid/data-grid.class.js +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.d.ts +32 -5
- package/dist/components/data/flow-canvas/flow-canvas.class.js +3 -1
- package/dist/components/data/flow-canvas/flow-canvas.styles.js +1 -1
- package/dist/components/data/flow-canvas/flow-model.js +1 -1
- package/dist/components/data/flow-canvas/flow-types.d.ts +10 -1
- package/dist/components/data/gauge/gauge.class.d.ts +15 -2
- package/dist/components/data/gauge/gauge.class.js +20 -20
- package/dist/components/data/gauge/gauge.styles.js +1 -1
- package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +14 -5
- package/dist/components/data/graph-query-builder/graph-query-builder.class.js +2 -2
- package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +28 -2
- package/dist/components/data/sequence-strip/sequence-strip.class.js +3 -2
- package/dist/components/data/sequence-strip/sequence-strip.styles.js +1 -1
- package/dist/components/data/table/table.class.d.ts +155 -30
- package/dist/components/data/table/table.class.js +6 -4
- package/dist/components/data/table/table.styles.js +1 -1
- package/dist/components/data/timeline/timeline-item.class.d.ts +9 -1
- package/dist/components/data/timeline/timeline-item.class.js +2 -2
- package/dist/components/data/word-cloud/word-cloud.class.js +1 -1
- package/dist/components/data/word-cloud/word-cloud.styles.js +1 -1
- package/dist/components/forms/button/button.class.d.ts +30 -1
- package/dist/components/forms/button/button.class.js +2 -2
- package/dist/components/forms/checkbox/checkbox.class.d.ts +8 -6
- package/dist/components/forms/checkbox/checkbox.class.js +2 -2
- package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts +7 -5
- package/dist/components/forms/checkbox-group/checkbox-group.class.js +1 -1
- package/dist/components/forms/color-picker/color-picker.class.d.ts +16 -2
- package/dist/components/forms/color-picker/color-picker.class.js +2 -2
- package/dist/components/forms/color-picker/color-picker.styles.js +1 -1
- package/dist/components/forms/combobox/combobox.class.d.ts +43 -8
- package/dist/components/forms/combobox/combobox.class.js +2 -2
- package/dist/components/forms/date-picker/date-input.class.d.ts +4 -0
- package/dist/components/forms/date-picker/date-input.class.js +1 -1
- package/dist/components/forms/icon-button/icon-button.class.d.ts +20 -3
- package/dist/components/forms/icon-button/icon-button.class.js +1 -1
- package/dist/components/forms/icon-button/icon-button.styles.js +1 -1
- package/dist/components/forms/input/input.class.d.ts +5 -2
- package/dist/components/forms/input/input.class.js +1 -1
- package/dist/components/forms/input/time-input.class.d.ts +4 -0
- package/dist/components/forms/input/time-input.class.js +1 -1
- package/dist/components/forms/locale-picker/locale-picker.class.d.ts +11 -5
- package/dist/components/forms/locale-picker/locale-picker.class.js +1 -1
- package/dist/components/forms/otp-input/otp-input.class.d.ts +7 -2
- package/dist/components/forms/otp-input/otp-input.class.js +2 -2
- package/dist/components/forms/radio/radio-button.class.d.ts +2 -1
- package/dist/components/forms/radio/radio-group.class.d.ts +9 -4
- package/dist/components/forms/radio/radio-group.class.js +1 -1
- package/dist/components/forms/radio/radio.class.d.ts +13 -7
- package/dist/components/forms/radio/radio.class.js +1 -1
- package/dist/components/forms/rubric-form/rubric-form.class.d.ts +16 -6
- package/dist/components/forms/rubric-form/rubric-form.class.js +2 -2
- package/dist/components/forms/select/select.class.d.ts +19 -8
- package/dist/components/forms/select/select.class.js +2 -2
- package/dist/components/forms/slider/slider.class.d.ts +4 -2
- package/dist/components/forms/slider/slider.class.js +1 -1
- package/dist/components/forms/switch/switch.class.d.ts +8 -6
- package/dist/components/forms/switch/switch.class.js +1 -1
- package/dist/components/forms/textarea/textarea.class.d.ts +5 -3
- package/dist/components/forms/textarea/textarea.class.js +1 -1
- package/dist/components/forms/time-range/time-range.class.d.ts +12 -7
- package/dist/components/forms/time-range/time-range.class.js +1 -1
- package/dist/components/forms/time-range/time-range.styles.js +1 -1
- package/dist/components/forms/token-input/token-input.class.d.ts +6 -4
- package/dist/components/forms/token-input/token-input.class.js +1 -1
- package/dist/components/layout/app-rail/app-rail-item.class.d.ts +109 -4
- package/dist/components/layout/app-rail/app-rail-item.class.js +34 -29
- package/dist/components/layout/app-rail/app-rail-item.styles.js +1 -1
- package/dist/components/layout/app-rail/app-rail.class.d.ts +25 -3
- package/dist/components/layout/app-rail/app-rail.styles.js +1 -1
- package/dist/components/layout/app-rail-group/app-rail-group.class.d.ts +2 -2
- package/dist/components/layout/app-rail-group/app-rail-group.class.js +2 -2
- package/dist/components/layout/carousel/carousel.class.d.ts +1 -1
- package/dist/components/layout/carousel/carousel.class.js +1 -1
- package/dist/components/layout/details/accordion.class.d.ts +2 -2
- package/dist/components/layout/details/accordion.class.js +2 -2
- package/dist/components/layout/filter-bar/filter-bar-register.d.ts +1 -0
- package/dist/components/layout/filter-bar/filter-bar-register.js +1 -0
- package/dist/components/layout/filter-bar/filter-bar.class.d.ts +85 -10
- package/dist/components/layout/filter-bar/filter-bar.class.js +7 -4
- package/dist/components/layout/menu/menu-item.class.d.ts +3 -3
- package/dist/components/layout/menu/menu-item.class.js +3 -3
- package/dist/components/layout/menu/menu.class.d.ts +5 -1
- package/dist/components/layout/menu/menu.class.js +2 -2
- package/dist/components/layout/reorder-list/reorder-item.styles.js +1 -1
- package/dist/components/layout/virtual-list/virtual-list.class.js +1 -1
- package/dist/components/media/attachment-trigger/attachment-trigger.styles.js +1 -1
- package/dist/components/media/avatar-group/avatar-group.class.d.ts +12 -1
- package/dist/components/media/avatar-group/avatar-group.class.js +2 -2
- package/dist/components/media/drop-zone/drop-zone.class.d.ts +32 -11
- package/dist/components/media/drop-zone/drop-zone.class.js +2 -2
- package/dist/components/media/file-input/file-input.class.d.ts +40 -19
- package/dist/components/media/file-input/file-input.class.js +2 -2
- package/dist/components/overlays/callout/callout.styles.js +1 -1
- package/dist/components/overlays/dialog/dialog.styles.js +1 -1
- package/dist/components/overlays/overlay/dropdown.class.d.ts +13 -3
- package/dist/components/overlays/overlay/dropdown.class.js +2 -2
- package/dist/components/overlays/overlay/popover.class.d.ts +12 -3
- package/dist/components/overlays/overlay/popover.class.js +2 -2
- package/dist/components/overlays/rating/rating.class.d.ts +9 -7
- package/dist/components/overlays/rating/rating.class.js +1 -1
- package/dist/components/retrieval/citation-badge/citation-badge.class.d.ts +5 -1
- package/dist/components/retrieval/citation-badge/citation-badge.class.js +1 -1
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.js +1 -1
- package/dist/components/retrieval/entity-chip/entity-chip.class.d.ts +5 -1
- package/dist/components/retrieval/entity-chip/entity-chip.class.js +1 -1
- package/dist/components/retrieval/graph-legend/graph-legend.styles.js +1 -1
- package/dist/components/retrieval/retrieval-value-format.js +1 -1
- package/dist/components/retrieval/source-list/source-list.styles.js +1 -1
- package/dist/components/utility/copy-button/copy-button.class.d.ts +23 -11
- package/dist/components/utility/copy-button/copy-button.class.js +2 -2
- package/dist/components/utility/copy-button/copy-button.styles.js +1 -1
- package/dist/components/utility/diff-view/diff-view.styles.js +1 -1
- package/dist/components/utility/export-button/export-button.class.d.ts +4 -0
- package/dist/components/utility/export-button/export-button.class.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 +38 -3
- package/dist/components/utility/mention-popover/mention-popover.class.js +2 -1
- package/dist/components/utility/mention-popover/mention-popover.styles.js +1 -1
- package/dist/components/utility/poll-status/poll-status.styles.js +1 -1
- package/dist/components/utility/tour/tour.class.d.ts +4 -0
- package/dist/components/utility/tour/tour.class.js +1 -1
- package/dist/components/utility/tour/tour.styles.js +1 -1
- package/dist/components/viewers/document-preview/document-preview.class.js +2 -2
- package/dist/components/viewers/docx-viewer/docx-viewer.class.js +2 -2
- package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +2 -2
- package/dist/components/viewers/highlight-layer/highlight-layer.class.js +2 -2
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +2 -2
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +2 -2
- package/dist/components/viewers/pptx-viewer/pptx-viewer.class.js +2 -2
- package/dist/components/viewers/xml-viewer/xml-viewer.class.js +2 -2
- package/dist/custom-elements-jsx.d.ts +2 -2
- package/dist/events.d.ts +13 -12
- package/dist/internal/aggregate-file-limits.d.ts +33 -0
- package/dist/internal/aggregate-file-limits.js +1 -0
- package/dist/internal/catalog-picker.d.ts +15 -2
- package/dist/internal/catalog-picker.js +1 -1
- package/dist/internal/debounce-controller.d.ts +14 -0
- package/dist/internal/debounce-controller.js +1 -1
- package/dist/internal/default-strings.generated.d.ts +1 -1
- package/dist/internal/default-strings.generated.js +2 -2
- package/dist/internal/focus-navigation.d.ts +45 -0
- package/dist/internal/focus-navigation.js +1 -1
- package/dist/internal/form-associated.js +1 -1
- package/dist/internal/initial-slot-collection.d.ts +30 -0
- package/dist/internal/initial-slot-collection.js +1 -0
- package/dist/internal/intl-cache.js +1 -1
- package/dist/internal/invalid-event-alias.d.ts +46 -0
- package/dist/internal/invalid-event-alias.js +1 -1
- package/dist/internal/localization-runtime.d.ts +24 -0
- package/dist/internal/localization-runtime.js +1 -1
- package/dist/internal/localization-types.d.ts +1 -1
- package/dist/internal/localization.js +1 -1
- package/dist/internal/package-metadata.d.ts +1 -1
- package/dist/internal/package-metadata.js +1 -1
- package/dist/internal/positioning-strategy.d.ts +3 -1
- package/dist/internal/state-part.d.ts +49 -0
- package/dist/internal/state-part.js +1 -0
- package/dist/internal/variants.styles.js +1 -1
- package/dist/lyra.d.ts +1 -1
- package/dist/svelte.d.ts +2 -2
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.js +1 -1
- package/dist/testing/lyra-tag-event-map.d.ts +2 -2
- package/dist/testing/lyra-tag-event-map.js +1 -1
- package/dist/testing/wait-for-mount.d.ts +46 -0
- package/dist/testing/wait-for-mount.js +1 -0
- package/dist/theme/theme-bootstrap.js +1 -1
- package/dist/theme/theme.d.ts +11 -2
- package/dist/theme/theme.js +1 -1
- package/dist/translations/ar/layout.js +1 -1
- package/dist/translations/de/layout.js +1 -1
- package/dist/translations/es/layout.js +1 -1
- package/dist/translations/fa/layout.js +1 -1
- package/dist/translations/fr/layout.js +1 -1
- package/dist/translations/he/layout.js +1 -1
- package/dist/translations/it/layout.js +1 -1
- package/dist/translations/ja/layout.js +1 -1
- package/dist/translations/pt-BR/layout.js +1 -1
- package/dist/translations/ru/layout.js +1 -1
- package/dist/translations/zh-CN/layout.js +1 -1
- package/dist/utilities/format.d.ts +17 -0
- package/dist/utilities/format.js +1 -1
- package/dist/vue.d.ts +2 -2
- package/llms/components/lr-app-rail-group.md +87 -10
- package/llms/components/lr-app-rail-item.md +88 -11
- package/llms/components/lr-app-rail.md +88 -11
- package/llms/components/lr-attachment-trigger.md +21 -0
- package/llms/components/lr-bar-chart.md +3 -2
- package/llms/components/lr-bubble-chart.md +3 -2
- package/llms/components/lr-callout.md +10 -0
- package/llms/components/lr-chart.md +43 -12
- package/llms/components/lr-citation-badge.md +7 -1
- package/llms/components/lr-code-block.md +21 -0
- package/llms/components/lr-color-picker.md +12 -7
- package/llms/components/lr-combobox.md +13 -1
- package/llms/components/lr-confirm-bar.md +36 -7
- package/llms/components/lr-context-meter.md +17 -4
- package/llms/components/lr-date-input.md +7 -1
- package/llms/components/lr-date-picker.md +6 -0
- package/llms/components/lr-dialog.md +21 -0
- package/llms/components/lr-doughnut-chart.md +3 -2
- package/llms/components/lr-drawer.md +10 -0
- package/llms/components/lr-drop-zone.md +16 -7
- package/llms/components/lr-dropdown-item.md +7 -0
- package/llms/components/lr-entity-chip.md +7 -1
- package/llms/components/lr-export-button.md +7 -1
- package/llms/components/lr-file-input.md +21 -10
- package/llms/components/lr-filter-bar.md +91 -15
- package/llms/components/lr-flow-canvas.md +16 -9
- package/llms/components/lr-gauge.md +22 -2
- package/llms/components/lr-histogram.md +7 -2
- package/llms/components/lr-icon-button.md +15 -7
- package/llms/components/lr-input.md +3 -1
- package/llms/components/lr-line-chart.md +3 -2
- package/llms/components/lr-lite-chart.md +13 -0
- package/llms/components/lr-locale-picker.md +7 -1
- package/llms/components/lr-mention-popover.md +16 -3
- package/llms/components/lr-menu-item.md +7 -0
- package/llms/components/lr-menu.md +8 -1
- package/llms/components/lr-message-actions.md +10 -0
- package/llms/components/lr-model-select.md +8 -3
- package/llms/components/lr-native-time-input.md +8 -1
- package/llms/components/lr-number-input.md +8 -1
- package/llms/components/lr-option.md +12 -0
- package/llms/components/lr-otp-input.md +6 -0
- package/llms/components/lr-pie-chart.md +3 -2
- package/llms/components/lr-polar-area-chart.md +3 -2
- package/llms/components/lr-prompt-input.md +2 -2
- package/llms/components/lr-radar-chart.md +3 -2
- package/llms/components/lr-reorder-item.md +12 -0
- package/llms/components/lr-reorder-list.md +12 -0
- package/llms/components/lr-scatter-chart.md +3 -2
- package/llms/components/lr-sequence-strip.md +10 -4
- package/llms/components/lr-streaming-text-core.md +21 -8
- package/llms/components/lr-streaming-text.md +34 -4
- package/llms/components/lr-suggestion-chips.md +8 -4
- package/llms/components/lr-table.md +47 -10
- package/llms/components/lr-textarea.md +1 -1
- package/llms/components/lr-time-input.md +7 -1
- package/llms/components/lr-tool-call-chip.md +7 -1
- package/llms/components/lr-tour.md +7 -1
- package/llms/components/lr-usage-badge.md +7 -1
- package/llms/components/lr-voice-picker.md +7 -3
- package/llms/shared.md +169 -16
- package/llms/tokens.md +17 -1
- package/llms-full.txt +941 -147
- package/package.json +16 -2
- package/registrations.json +1 -1
- package/vscode-css-data.json +1 -1
- package/vscode-html-data.json +1 -1
- package/web-types.json +1 -1
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [llms-full.txt](../../llms-full.txt)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 29 parts, 2 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
13
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
14
14
|
|
|
15
15
|
---
|
|
@@ -23,6 +23,38 @@ omitted independently, while supplied empty strings remain valid. A custom defin
|
|
|
23
23
|
adapter and a callable `render`; a rejected definition does not reserve its filter ID. Valid
|
|
24
24
|
siblings remain available. Exceptions thrown by an admitted trusted renderer still propagate.
|
|
25
25
|
|
|
26
|
+
**Lean registration entry.** `components/layout/filter-bar/filter-bar.js` (the default entry)
|
|
27
|
+
eagerly imports every composed control this bar could possibly render — `<lr-select>`,
|
|
28
|
+
`<lr-combobox>`, `<lr-dropdown>` + `<lr-dropdown-item>` (the `'checkbox-menu'` branch),
|
|
29
|
+
`<lr-date-input>`, `<lr-input>`, `<lr-chip>`/`<lr-chip-group>` (the active-filter row), and
|
|
30
|
+
`<lr-button>`/`<lr-spinner>` (the reset action and the loading status) — because `filters` is a
|
|
31
|
+
runtime value it cannot inspect ahead of time. A bar that only ever declares `'select'`/`'text'`
|
|
32
|
+
filters still pays for `<lr-combobox>` and `<lr-date-input>` through that entry: a measured ~69.5 kB
|
|
33
|
+
gzip more than importing only what it uses. A consumer who knows their own filter `type`s ahead of
|
|
34
|
+
time can import `components/layout/filter-bar/filter-bar-register.js` instead, which registers
|
|
35
|
+
`<lr-filter-bar>` and nothing else, then import each composed control's own registration entry for
|
|
36
|
+
the filter `type`s actually declared:
|
|
37
|
+
|
|
38
|
+
| Filter `type` | Registration entry |
|
|
39
|
+
| --- | --- |
|
|
40
|
+
| `'select'` | `components/forms/select/select.js` |
|
|
41
|
+
| `'combobox'` | `components/forms/combobox/combobox.js` |
|
|
42
|
+
| `'checkbox-menu'` | `components/overlays/overlay/dropdown.js` **and** `components/layout/menu/dropdown-item.js` |
|
|
43
|
+
| `'date'` / `'date-range'` | `components/forms/date-picker/date-input.js` |
|
|
44
|
+
| `'text'` | `components/forms/input/input.js` |
|
|
45
|
+
|
|
46
|
+
Two more are unconditional regardless of which filter `type`s are declared: `<lr-button>` renders
|
|
47
|
+
the reset action on every bar, and `<lr-chip>`/`<lr-chip-group>` render the active-filter row
|
|
48
|
+
whenever any filter has a value (further gated by `activeFiltersDisplay`, but never provably absent
|
|
49
|
+
for a generic bar) — `components/forms/button/button.js` and `components/overlays/chip/chip.js` +
|
|
50
|
+
`components/overlays/chip/chip-group.js`. `<lr-spinner>`
|
|
51
|
+
(`components/overlays/spinner/spinner.js`) is the one built-in dependency the lean entry omits even
|
|
52
|
+
though every bar could use it: `loading` is a plain boolean any consumer can leave unset entirely,
|
|
53
|
+
unlike a filter `type`, which `filters` always names outright — import it too if the bar ever sets
|
|
54
|
+
`loading`. A filter definition whose `type` has no matching import above renders no usable control
|
|
55
|
+
until something else registers it, the same trade `icon-button-register.js` documents for
|
|
56
|
+
`<lr-icon-button>`'s own `icon`/`src` attribute.
|
|
57
|
+
|
|
26
58
|
**Properties:**
|
|
27
59
|
|
|
28
60
|
- `filters: readonly LyraFilterBarFilterDefinition[] = []` (attribute: false) — filter schema in
|
|
@@ -47,8 +79,20 @@ siblings remain available. Exceptions thrown by an admitted trusted renderer sti
|
|
|
47
79
|
- `loading: boolean = false` (reflected) — shows the status spinner and disables reset while leaving
|
|
48
80
|
filters editable.
|
|
49
81
|
- `hasActiveFilters: boolean` (read-only) — whether any configured filter currently has a value.
|
|
82
|
+
Drives the reset button's own disabled state; unaffected by `activeFiltersDisplay`.
|
|
50
83
|
- `invalidFilterIds: readonly string[]` (read-only) — immutable ids of required filters whose
|
|
51
84
|
values are unset.
|
|
85
|
+
- `activeFiltersDisplay: 'all' | 'changed' | 'hidden' = 'all'` (reflected, attribute
|
|
86
|
+
`active-filters-display`) — which currently-active filters render as removable chips in the row
|
|
87
|
+
below the fields. `'all'` (the default, and this component's only behavior before this property
|
|
88
|
+
existed) shows one chip per non-empty filter, including one sitting at its own `defaultValue`.
|
|
89
|
+
`'changed'` shows a chip only for a filter whose value differs from its own `defaultValue` — so a
|
|
90
|
+
bar whose defaults narrow the view on load does not claim the user narrowed it — and a filter with
|
|
91
|
+
no declared `defaultValue` counts as changed as soon as it has any value at all. `'hidden'` never
|
|
92
|
+
renders the row. Array values compare against `defaultValue` positionally (same length, same entry
|
|
93
|
+
at each index), matching this component's only other array-equality precedent (a custom adapter's
|
|
94
|
+
own `clearValue` comparison); a `'date-range'` value is a single composed string, so it compares
|
|
95
|
+
like any other string. Removing a chip always clears that filter, unaffected by this property.
|
|
52
96
|
|
|
53
97
|
The composed reset action uses `lr-button`'s default `m` size tier, matching the default rendered
|
|
54
98
|
height of adjacent select, combobox, input, and date fields instead of introducing a shorter action
|
|
@@ -77,12 +121,13 @@ action) rendered inside `controls`, next to the reset button. Hidden and claimin
|
|
|
77
121
|
space while nothing is slotted.
|
|
78
122
|
|
|
79
123
|
**CSS parts:** `base`, `controls`, `field`, `field-<filterId>`, `end`, `filter-control`,
|
|
80
|
-
`filter-control-label`, `filter-control-
|
|
81
|
-
`filter-control-
|
|
82
|
-
`filter-control-
|
|
83
|
-
`filter-control-
|
|
84
|
-
`filter-control-
|
|
85
|
-
`
|
|
124
|
+
`filter-control-label`, `filter-control-label-group`, `filter-control-field`,
|
|
125
|
+
`filter-control-input`, `filter-control-start`, `filter-control-end`, `filter-control-listbox`,
|
|
126
|
+
`filter-control-option`, `filter-control-tags`, `filter-control-tag`, `filter-control-tag-label`,
|
|
127
|
+
`filter-control-tag-remove-button`, `filter-control-tag-remove-button-base`,
|
|
128
|
+
`filter-control-clear-button`, `filter-control-expand-button`, `filter-control-expand-icon`,
|
|
129
|
+
`filter-control-popup`, `filter-control-error`, `filter-control-hint`, `active-filters`, `chips`,
|
|
130
|
+
`chip`, `reset-button`, `status`.
|
|
86
131
|
|
|
87
132
|
The `filter-control-*` parts are semantic aliases forwarded from each built-in control's shadow
|
|
88
133
|
surface. `filter-control-field` consistently reaches the select trigger, combobox container, or
|
|
@@ -90,9 +135,23 @@ text/date input wrapper; `filter-control-input` reaches the corresponding displa
|
|
|
90
135
|
Listbox/option aliases apply to select and combobox filters, `filter-control-tags`/
|
|
91
136
|
`filter-control-tag`/`filter-control-tag-label` apply to a `multiple` combobox filter's selected-tag
|
|
92
137
|
chips (`filter-control-tag-label` is capped by that control's own `--tag-max-size`), and
|
|
93
|
-
expand-button/popup apply to date filters.
|
|
138
|
+
expand-button/popup apply to date filters. `filter-control-tag-remove-button`/
|
|
139
|
+
`filter-control-tag-remove-button-base` reach a selected tag's own remove button and its inner icon
|
|
140
|
+
wrapper — the same reach a standalone `lr-combobox`/`lr-select` consumer already has, now available
|
|
141
|
+
from `lr-filter-bar` too, for a consumer re-skinning filter tags as pills who needs the remove
|
|
142
|
+
target inside one to be stylable. This lets a consumer theme the composed tier from
|
|
94
143
|
`lr-filter-bar::part(...)` without depending on the built-in control type selected by a filter
|
|
95
144
|
definition. Custom renderers retain ownership of their own part forwarding.
|
|
145
|
+
|
|
146
|
+
A `multiple` `'combobox'` filter collapses past its own `max-options-visible` (3 by default, an
|
|
147
|
+
`<lr-combobox>` property this component does not forward) into a localized "+N" overflow indicator,
|
|
148
|
+
the same substance as `lr-select`'s own `multiple`-mode overflow chip. The one remaining difference:
|
|
149
|
+
`lr-select`'s overflow chip carries a second, distinguishing `tag-overflow` part
|
|
150
|
+
(`part="tag tag-overflow tag__base"`) so a consumer can style just that chip; `lr-combobox`'s
|
|
151
|
+
overflow chip carries only the plain `tag` part, with no equivalent token to forward as
|
|
152
|
+
`filter-control-tag-overflow`. Adding one is `<lr-combobox>`'s own surface to grow, not something
|
|
153
|
+
`lr-filter-bar`'s `exportparts` can manufacture for a part its composed child never renders — noted
|
|
154
|
+
here as a known, deliberate gap rather than silently undocumented.
|
|
96
155
|
On a `'checkbox-menu'` filter, `filter-control-field` is the trigger button's own frame — the
|
|
97
156
|
element inside `<lr-button>` that draws the border, background and radius, not the chrome-less
|
|
98
157
|
button host, so a `::part(filter-control-field) { border-color: … }` rule works there exactly as it
|
|
@@ -101,7 +160,19 @@ a definition `icon` lands), `filter-control-input` is its selection summary, `fi
|
|
|
101
160
|
is the trigger's own label text (not a stacked label above the control), `filter-control-listbox` is
|
|
102
161
|
the dropdown's popup surface, `filter-control-option` is one `role="menuitemcheckbox"` row, and
|
|
103
162
|
`filter-control-error` is the revealed required message — rendered by the bar itself, because the
|
|
104
|
-
composed dropdown has no error chrome of its own.
|
|
163
|
+
composed dropdown has no error chrome of its own. The trigger also renders a `with-caret` disclosure
|
|
164
|
+
chevron, matching `lr-select`'s own — forwarded as `filter-control-expand-icon`, the same name a
|
|
165
|
+
select/combobox/date-input filter's own chevron already uses, so one consumer rule styles every
|
|
166
|
+
filter type's expand icon. `filter-control-label-group` reaches the trigger's own label wrapper —
|
|
167
|
+
the flex row this component lays `filter-control-label` and `filter-control-input` out in, which
|
|
168
|
+
also grows to fill the stretched trigger (via `with-caret`) so its content starts at the leading
|
|
169
|
+
edge instead of centring; no other filter type renders this part, since every other type's label and
|
|
170
|
+
input are two independent elements with no shared wrapper of their own. This component does not
|
|
171
|
+
render a stacked label above a `'checkbox-menu'` field the way every other built-in type does:
|
|
172
|
+
every other type's stacked label is rendered by the composed control itself, and there is no
|
|
173
|
+
equivalent shared "stacked label" template inside `<lr-filter-bar>` for this branch to reuse without
|
|
174
|
+
inventing a new one, so `labelVisibility` keeps its narrower meaning here (whether the trigger's own
|
|
175
|
+
baked-in label text is visible or screen-reader-only).
|
|
105
176
|
|
|
106
177
|
`field` wraps one filter's composed control and its validation spacer inside `controls`; its
|
|
107
178
|
flex-basis is themeable via `--lr-filter-bar-field-basis` (default `var(--lr-size-12rem)`).
|
|
@@ -119,12 +190,17 @@ alone, exactly as before this part existed, rather than risking a `part` attribu
|
|
|
119
190
|
space-separated token list fabricates an unrelated second token.
|
|
120
191
|
|
|
121
192
|
A `'select'`, `'combobox'` or `'checkbox-menu'` filter's required `options` entries are
|
|
122
|
-
`LyraFilterBarOption { value, label, icon?, searchText? }`. `searchText` is extra text
|
|
123
|
-
also matches on, forwarded verbatim to `<lr-option>`'s own `search-text`, so a row can
|
|
124
|
-
visible `label` ("Urgent") while still matching a long canonical key ("SEV-1
|
|
125
|
-
It affects a `'combobox'` filter only: the attribute is written on every
|
|
126
|
-
but `<lr-select>`'s listbox type-ahead matches the option's `label`
|
|
127
|
-
`'checkbox-menu'` has no text entry to match against.
|
|
193
|
+
`LyraFilterBarOption { value, label, icon?, searchText?, disabled? }`. `searchText` is extra text
|
|
194
|
+
the option also matches on, forwarded verbatim to `<lr-option>`'s own `search-text`, so a row can
|
|
195
|
+
keep a short visible `label` ("Urgent") while still matching a long canonical key ("SEV-1
|
|
196
|
+
production outage"). It affects a `'combobox'` filter only: the attribute is written on every
|
|
197
|
+
choice type's `<lr-option>`, but `<lr-select>`'s listbox type-ahead matches the option's `label`
|
|
198
|
+
alone and never reads it, and a `'checkbox-menu'` has no text entry to match against. `disabled`
|
|
199
|
+
marks the option non-actionable: forwarded to `<lr-option disabled>` for `'select'`/`'combobox'`
|
|
200
|
+
and to the composed `<lr-dropdown-item disabled>` for `'checkbox-menu'`, so the row renders
|
|
201
|
+
genuinely disabled (no tab/roving stop, no hover/press affordance) and arrow-key navigation already
|
|
202
|
+
steps past it, since that is the composed control's own existing `disabled` behavior. Omitted or
|
|
203
|
+
`false` renders the option exactly as before this field existed.
|
|
128
204
|
`icon` is optional Lit content — a status dot, a type glyph, a flag — rendered into the composed
|
|
129
205
|
`<lr-option>`'s own `start` slot as inert, `aria-hidden` chrome, so it never joins the option's
|
|
130
206
|
accessible name:
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [llms-full.txt](../../llms-full.txt)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via** 29 parts,
|
|
12
|
+
- **Themeable via** 29 parts, 15 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
13
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
14
14
|
|
|
15
15
|
---
|
|
@@ -47,14 +47,19 @@ import type {
|
|
|
47
47
|
**Properties:**
|
|
48
48
|
|
|
49
49
|
- `nodes: readonly FlowNode[] = []` (attribute: false) — each record has readonly `id`, optional
|
|
50
|
-
`type`, `position`, `data`, `accessibleLabel`, `inputs`, and `
|
|
51
|
-
into layered layout. String `data.label` and `data.description` feed the
|
|
52
|
-
card. Assignment takes a detached, deeply frozen snapshot of plain
|
|
53
|
-
ids and later duplicates first-wins before layout, focus,
|
|
54
|
-
snapshots, and events. At most the first 10,000 source nodes are
|
|
55
|
-
depth/entry budgets; reassign `nodes` after changes. Replacing the
|
|
56
|
-
connect gestures whose ids belonged to the old model and silently
|
|
57
|
-
longer exist.
|
|
50
|
+
`type`, `position`, `data`, `accessibleLabel`, `inputs`, `outputs`, and `disabled`. A missing
|
|
51
|
+
`position` opts into layered layout. String `data.label` and `data.description` feed the
|
|
52
|
+
declarative fallback card. Assignment takes a detached, deeply frozen snapshot of plain
|
|
53
|
+
arrays/records, omitting blank ids and later duplicates first-wins before layout, focus,
|
|
54
|
+
selection, gestures, companion snapshots, and events. At most the first 10,000 source nodes are
|
|
55
|
+
retained, with finite nested depth/entry budgets; reassign `nodes` after changes. Replacing the
|
|
56
|
+
model cancels node-drag and connect gestures whose ids belonged to the old model and silently
|
|
57
|
+
prunes selected ids that no longer exist. `disabled` marks a node non-actionable: it keeps its
|
|
58
|
+
position and card content but cannot be selected/activated by click or keyboard, roving-tabindex
|
|
59
|
+
navigation (arrow keys, Home/End) steps past it, it cannot be dragged even while
|
|
60
|
+
`nodes-draggable`, and it is excluded from starting or receiving a new connection while
|
|
61
|
+
`connectable` (an edge already touching it is left alone). Omitted or `false` renders the node
|
|
62
|
+
exactly as before this field existed.
|
|
58
63
|
- `edges: readonly FlowEdge[] = []` (attribute: false) — readonly `id`, `source`, `target`, optional
|
|
59
64
|
handle ids, optional drawn `label`, and optional `tone: LyraVariant`. The canonical brand value is
|
|
60
65
|
`brand`; the former `accent` value and `FlowEdgeTone` alias are not part of this contract. Blank
|
|
@@ -220,5 +225,7 @@ four above. Set it to `transparent` to opt out of the hover treatment.
|
|
|
220
225
|
- `part="edge-hit-area"` — The transparent wide pointer target behind an edge.
|
|
221
226
|
- `part="node-control"` — The visually hidden, roving selection button for a node.
|
|
222
227
|
- `--lr-flow-canvas-node-selected-outline-color` — Outline color of a selected node. Default: `var(--lr-color-brand)`.
|
|
228
|
+
- `--lr-flow-canvas-node-disabled-opacity` — Opacity of a node whose `FlowNode` entry sets
|
|
229
|
+
`disabled`. Default: `var(--lr-opacity-disabled)`.
|
|
223
230
|
|
|
224
231
|
---
|
|
@@ -42,6 +42,12 @@ explicitly empty labels remain empty and later labels render normally.
|
|
|
42
42
|
- `valueText?: string` (attribute `value-text` — overrides both the visible text and the host's
|
|
43
43
|
`aria-valuetext`; an empty string is treated the same as unset and falls back to the numeric
|
|
44
44
|
`value` while removing `aria-valuetext`)
|
|
45
|
+
- `showValue: boolean = true` (attribute `show-value`, not reflected) — whether the decorative
|
|
46
|
+
`part="value"` caption renders at all; `show-value="false"` omits it the same way an empty
|
|
47
|
+
`label` already omits `part="label"`. `aria-valuenow`/`aria-valuetext` and the host's accessible
|
|
48
|
+
name are unaffected either way, since the caption itself is always `aria-hidden`. Mirrors
|
|
49
|
+
`<lr-progress-bar>`'s/`<lr-progress-ring>`'s own `showValue` name and meaning; the default here
|
|
50
|
+
is `true` (a gauge's whole purpose is showing the reading it announces) where theirs is `false`.
|
|
45
51
|
- `variant: LyraProgressVariant = 'brand'` (reflected) — the same shared semantic-tone vocabulary
|
|
46
52
|
`<lr-progress-bar>` uses (`'neutral'|'brand'|'success'|'warning'|'danger'`). The fallback color
|
|
47
53
|
whenever `thresholds` is empty or matches nothing.
|
|
@@ -58,7 +64,8 @@ explicitly empty labels remain empty and later labels render normally.
|
|
|
58
64
|
|
|
59
65
|
**Slots:** none.
|
|
60
66
|
|
|
61
|
-
**CSS parts:** `base` (the `<svg>`), `track`, `fill`, `value
|
|
67
|
+
**CSS parts:** `base` (the `<svg>`), `track`, `fill`, `value` (rendered only while `showValue` is
|
|
68
|
+
true), `label` (rendered only while `label` is non-empty)
|
|
62
69
|
|
|
63
70
|
**Themeable custom properties:** `--lr-gauge-fill` (fill stroke; overrides `variant`/`thresholds`
|
|
64
71
|
entirely and falls back to the effective variant's shared semantic token —
|
|
@@ -75,6 +82,15 @@ entirely and falls back to the effective variant's shared semantic token —
|
|
|
75
82
|
style="--lr-gauge-fill: var(--lr-color-success)"
|
|
76
83
|
></lr-gauge>
|
|
77
84
|
<lr-gauge shape="linear" value="0.4" max="1" value-text="72°F"></lr-gauge>
|
|
85
|
+
<!-- compact dashboard meter: a slim, captionless, thresholded row -->
|
|
86
|
+
<lr-gauge
|
|
87
|
+
shape="linear"
|
|
88
|
+
size="xs"
|
|
89
|
+
show-value="false"
|
|
90
|
+
aria-label="Spend"
|
|
91
|
+
value="84"
|
|
92
|
+
max="100"
|
|
93
|
+
></lr-gauge>
|
|
78
94
|
<!-- automatic threshold coloring: same rule, opposite direction -->
|
|
79
95
|
<lr-gauge id="cpu" value="82" label="CPU"></lr-gauge>
|
|
80
96
|
<script>
|
|
@@ -118,7 +134,11 @@ entirely and falls back to the effective variant's shared semantic token —
|
|
|
118
134
|
- no documented component-specific sizing custom property. The host box is fixed em values
|
|
119
135
|
(`8em` radial/ring, `12em`/`1.5em` linear) against the host font size, so `size` is the supported
|
|
120
136
|
way to step it; for a dimension off the ladder, set plain CSS `width`/`height` (or `font-size`)
|
|
121
|
-
on the element instead.
|
|
137
|
+
on the element instead. The value/label captions are `em`-sized against that same host font-size,
|
|
138
|
+
so they shrink right along with the frame at a smaller tier or a smaller host `font-size` —
|
|
139
|
+
combine a small tier (or a small host `font-size`) with `show-value="false"` for a slim,
|
|
140
|
+
thresholded dashboard meter, matching `<lr-progress-bar size="xs">`'s footprint but with
|
|
141
|
+
`role="meter"` and one `thresholds` array instead of a hand-written ratio-to-variant mapping.
|
|
122
142
|
- Divide-by-zero guarded, and radial/linear share one component via the `shape`
|
|
123
143
|
attribute.
|
|
124
144
|
- non-finite `value` text remains blank unless `valueText` supplies a truthful fallback; that
|
|
@@ -37,9 +37,10 @@ Bins `values` into `bins` equal-width buckets and renders as a bar chart (extend
|
|
|
37
37
|
(`index-axis`), `hiddenDatasets`, `hiddenDatums`, `legendPosition` (`legend-position`),
|
|
38
38
|
`legendMode` (`legend-mode`), `legendDisplay` (`legend-display`), `max`, `min`, `plugins`,
|
|
39
39
|
`withoutAnimation` (`without-animation`), `withoutLegend` (`without-legend`), `withoutTooltip`
|
|
40
|
-
(`without-tooltip`), `valueFormatter`, `formatter`, `
|
|
40
|
+
(`without-tooltip`), `valueFormatter`, `formatter`, `tooltipTitleFormatter`,
|
|
41
|
+
`tooltipFooterFormatter`, `area`, `zoom`, `config`, `height`, `xLabel` (`x-label`),
|
|
41
42
|
`yLabel` (`y-label`), `y2Label` (`y2-label`), `beginAtZero` (`begin-at-zero`),
|
|
42
|
-
`stacked`, `dataLabels` (`data-labels`), `stackTotals` (`stack-totals`), `showDataTable`
|
|
43
|
+
`stacked`, `stackedAxes`, `dataLabels` (`data-labels`), `stackTotals` (`stack-totals`), `showDataTable`
|
|
43
44
|
(`show-data-table`), `dataTableToggle` (`data-table-toggle`), `chartArea` (readonly).
|
|
44
45
|
|
|
45
46
|
**Methods:** `resetZoom()`, `refreshTheme()`, and `renderChart()` are inherited; `appendSamples(values,
|
|
@@ -103,5 +104,9 @@ their semantics, defaults, and gotchas.
|
|
|
103
104
|
- `values`/`bins`/`seriesLabel` changes join the inherited connected-and-visible redraw path. There is no
|
|
104
105
|
second post-update refresh, so a same-tick disconnect cannot recreate Chart.js on a detached
|
|
105
106
|
canvas and off-screen sample updates do not repaint it.
|
|
107
|
+
- calling `binValues()` directly (not through `<lr-histogram>`, which always passes its own
|
|
108
|
+
resolved `effectiveLocale`) with an omitted `locale` (or `'auto'`) now resolves to the page's
|
|
109
|
+
active `setLyraLocale()` locale instead of a hardcoded `'en'`, matching `utilities/format.ts`'s
|
|
110
|
+
helpers; an app that never calls `setLyraLocale()` sees no change, and an explicit tag still wins.
|
|
106
111
|
|
|
107
112
|
---
|
|
@@ -123,16 +123,24 @@ DOM while at least one top-level slotted element needs the bare-geometry fallbac
|
|
|
123
123
|
**Themeable custom properties:** `--lr-icon-button-size` (default `2.5rem`) is the **minimum**
|
|
124
124
|
tappable inline and block size of the native button — a floor, not a fixed size. Content larger
|
|
125
125
|
than it grows the button and keeps its own aspect ratio; a small glyph pads out to it. It is a
|
|
126
|
-
library-wide token (declared on
|
|
126
|
+
library-wide token (declared on every `lr-*` host by the shared token layer, and the shared minimum tappable size
|
|
127
127
|
that several other components size their icon-only controls against), so overriding
|
|
128
128
|
`--lr-theme-icon-button-size` globally resizes all of them together. Keep the resolved value at or
|
|
129
|
-
above 24px — see `llms/shared.md`.
|
|
130
|
-
|
|
129
|
+
above 24px — see `llms/shared.md`. **`--lr-icon-button-size` is element-scoped, unlike every other
|
|
130
|
+
token in this section:** the shared token layer re-declares it on every `lr-*` host's own `:host`,
|
|
131
|
+
so a rule that sets `--lr-icon-button-size` on an ancestor wrapper is reset the moment it crosses
|
|
132
|
+
into any intervening `lr-*` component and never reaches a `<lr-icon-button>` composed inside it
|
|
133
|
+
(e.g. one slotted through `<lr-popover>`). The only two levers that actually reach it are: setting
|
|
134
|
+
`--lr-icon-button-size` directly on the icon button element itself, where no intervening component
|
|
135
|
+
sits between the rule and the property; or setting `--lr-theme-icon-button-size` on an ancestor,
|
|
136
|
+
which the shared layer reads through `var()` at every level and which therefore reaches a
|
|
131
137
|
`<lr-icon-button>` composed inside another component, e.g. `<lr-copy-button>`/
|
|
132
|
-
`<lr-message-actions
|
|
133
|
-
RENDERED hit area back at 2.75rem/44px
|
|
134
|
-
|
|
135
|
-
mouse. `--lr-icon-button-radius` (default
|
|
138
|
+
`<lr-message-actions>`. Lowering the floor for a dense action row through either lever is safe even
|
|
139
|
+
below 24px: a coarse-pointer/no-hover media rule floors the RENDERED hit area back at 2.75rem/44px
|
|
140
|
+
regardless of how far the override lowered it, so the control stays comfortably tappable the moment
|
|
141
|
+
the pointer reaching it is a finger rather than a mouse. `--lr-icon-button-radius` (default
|
|
142
|
+
`--lr-radius`) is not re-declared anywhere in the shared layer, so — like every other token below —
|
|
143
|
+
it inherits normally from an ancestor even through an intervening component; it is the
|
|
136
144
|
`[part='button']` corner radius, retunable without a `::part(button)` rule — the same
|
|
137
145
|
`--lr-button-radius` pattern; `lr-icon-button` has no `size` tiers, so there is no per-tier gap
|
|
138
146
|
counterpart to it. The internal control sets `font: inherit`, so an `em`-sized slotted glyph takes
|
|
@@ -153,7 +153,9 @@ writes remain valid and read back as booleans. Markup uses `autocorrect="on"` /
|
|
|
153
153
|
before. Omitted, `0`, or a non-finite value means no debounce at all: `lr-input-settled` never
|
|
154
154
|
fires. A pending debounce is flushed immediately by `change`/Enter/blur (so a blur never drops
|
|
155
155
|
the last keystroke) and cancelled with no stray settle by disconnection, the built-in clear
|
|
156
|
-
button, and a programmatic `value` write.
|
|
156
|
+
button, and a programmatic `value` write that changes the value. A write of the value already
|
|
157
|
+
held leaves it pending, so a framework binding that writes the just-typed value back on each
|
|
158
|
+
render (the controlled-input pattern) still settles. Shares its `DebounceController` primitive with
|
|
157
159
|
`lr-filter-bar`'s own per-filter `debounce` and with `lr-textarea`'s identical property
|
|
158
160
|
- `name`/`disabled`/`required` (from `FormAssociated`)
|
|
159
161
|
|
|
@@ -28,9 +28,10 @@ of every entry in these lists.**
|
|
|
28
28
|
**Properties:** `description`, `grid`, `axes`, `compact`, `indexAxis` (`index-axis`), `label`, `hiddenDatasets`, `legendPosition`
|
|
29
29
|
(`legend-position`), `hiddenDatums`, `legendMode` (`legend-mode`), `legendDisplay` (`legend-display`),
|
|
30
30
|
`max`, `min`, `plugins`, `scaleType` (`scale-type`), `annotations`,
|
|
31
|
-
`stacked`, `withoutAnimation` (`without-animation`),
|
|
31
|
+
`stacked`, `stackedAxes`, `withoutAnimation` (`without-animation`),
|
|
32
32
|
`withoutLegend` (`without-legend`), `withoutTooltip` (`without-tooltip`), `xLabel` (`x-label`),
|
|
33
|
-
`yLabel` (`y-label`), plus additive `labels`, `datasets`, `valueFormatter`, `formatter`,
|
|
33
|
+
`yLabel` (`y-label`), plus additive `labels`, `datasets`, `valueFormatter`, `formatter`,
|
|
34
|
+
`tooltipTitleFormatter`, `tooltipFooterFormatter`, `area`, `zoom`,
|
|
34
35
|
`height`, `y2Label` (`y2-label`), `beginAtZero` (`begin-at-zero`), `dataLabels`
|
|
35
36
|
(`data-labels`), `stackTotals` (`stack-totals`), `config`, `showDataTable`
|
|
36
37
|
(`show-data-table`), `dataTableToggle` (`data-table-toggle`), `chartArea` (readonly), and `chart`.
|
|
@@ -23,6 +23,19 @@ tooltips (native SVG `<title>`, no positioning JS) — not a full `lr-chart` rep
|
|
|
23
23
|
zoom/pan, no pie/doughnut/radar/scatter/bubble types, no horizontal/dual-y-axis, no raw-config
|
|
24
24
|
passthrough). Not a subclass of `LyraChart`.
|
|
25
25
|
|
|
26
|
+
Deliberate omissions, assessed and not implemented: `lr-chart`'s per-series `LyraChartSeries.stack`
|
|
27
|
+
group and per-axis `stackedAxes` have no `lr-lite-chart` counterpart. `stacked` here is already
|
|
28
|
+
chart-wide only (see below) and this component has exactly one value scale — no `y2` — so "an
|
|
29
|
+
unstacked overlay on a second axis," the motivating case for `stackedAxes`, has no equivalent
|
|
30
|
+
shape to express. A per-series stack-group id would also need the hand-rolled SVG bar-geometry
|
|
31
|
+
pass (linear/sqrt/log stack compression, `minBarHeight`) to track independent running offsets per
|
|
32
|
+
group instead of one per category, which is a materially larger, higher-risk change than this
|
|
33
|
+
component's existing single-stack model. `tooltipTitleFormatter`/`tooltipFooterFormatter` are
|
|
34
|
+
similarly absent: this component's hover tooltip is a native SVG `<title>` on each mark — one
|
|
35
|
+
self-contained string per mark, generated by `pointText` — not a Chart.js-style multi-item tooltip
|
|
36
|
+
with separate title/body/footer regions for several datasets sharing a hovered category, so there
|
|
37
|
+
is no "every item in the tooltip" surface to hook a title or footer formatter onto.
|
|
38
|
+
|
|
26
39
|
**Properties:**
|
|
27
40
|
- `type: LyraLiteChartType = 'bar'` — `'bar' | 'line'`
|
|
28
41
|
- `labels: readonly string[] = []` (attribute: false)
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [llms-full.txt](../../llms-full.txt)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via** 13 parts,
|
|
12
|
+
- **Themeable via** 13 parts, 25 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
13
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
14
14
|
|
|
15
15
|
---
|
|
@@ -159,6 +159,12 @@ this listbox together with every other floating surface. `--lr-overlay-radius` r
|
|
|
159
159
|
only as the middle arm of this component's own `--lr-locale-picker-radius`, which still wins when
|
|
160
160
|
set: a component-scoped override outranks the shared family, never the other way round.
|
|
161
161
|
|
|
162
|
+
`--lr-positioning-strategy` (16.0.0) — the listbox reads this same cascading `absolute`/`fixed`
|
|
163
|
+
override documented on `<lr-popover>` when it is (re)positioned, falling back to its own `fixed`
|
|
164
|
+
default when nothing is set. There is no per-instance `positioning-strategy` property on
|
|
165
|
+
`<lr-locale-picker>`; set the custom property on `:root`, a theme, or one clipping ancestor to
|
|
166
|
+
change every unset locale picker beneath it.
|
|
167
|
+
|
|
162
168
|
**Optional peer deps:** none directly — each row's `<lr-flag>` degrades to an empty render (no
|
|
163
169
|
peer warning duplication; `lr-flag` itself already logs one) when the optional
|
|
164
170
|
`@aceshooting/lyra-flags` package isn't installed and `showFlags` is left on.
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [llms-full.txt](../../llms-full.txt)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via** 6 parts,
|
|
12
|
+
- **Themeable via** 6 parts, 7 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
13
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
14
14
|
|
|
15
15
|
---
|
|
@@ -41,6 +41,11 @@ preserving null readback; an explicitly empty query remains empty.
|
|
|
41
41
|
pre-`query`-filtering. Assignment takes a shallow frozen snapshot. Runtime rows without a string
|
|
42
42
|
`label` remain in that diagnostic snapshot but are omitted from filtering/rendering before the
|
|
43
43
|
built-in or custom predicate runs, so one malformed provider row cannot take down valid siblings.
|
|
44
|
+
An entry's `disabled` marks that row non-actionable: `aria-disabled="true"` replaces its
|
|
45
|
+
selected/active affordances, activating it (click, or Enter/Tab while highlighted) commits
|
|
46
|
+
nothing and emits no `lr-mention-select`, and ArrowDown/ArrowUp highlighting -- including the
|
|
47
|
+
default pre-highlighted first row -- steps past it instead of landing on it. Omitted or `false`
|
|
48
|
+
renders the row exactly as before this field existed.
|
|
44
49
|
- `query: string = ''` — the text typed since the trigger character; drives the built-in filtering
|
|
45
50
|
(see `filter`).
|
|
46
51
|
- `open: boolean = false` (reflected)
|
|
@@ -85,7 +90,7 @@ preserving null readback; an explicitly empty query remains empty.
|
|
|
85
90
|
disconnect/adoption, a newer transfer, or failed ownership resolves `false` without moving focus.
|
|
86
91
|
|
|
87
92
|
**Exported types:** `LyraMentionItem { suggestionId: string; label: string; description?: string;
|
|
88
|
-
icon?: string }`; `LyraMentionFilter = (item: LyraMentionItem, query: string) => boolean`;
|
|
93
|
+
icon?: string; disabled?: boolean }`; `LyraMentionFilter = (item: LyraMentionItem, query: string) => boolean`;
|
|
89
94
|
`LyraMentionFocusOptions { ownsFocus?: () => boolean }`;
|
|
90
95
|
`LyraMentionSelectDetail { suggestionId: string; index: number; label: string }`.
|
|
91
96
|
|
|
@@ -106,7 +111,9 @@ renders `open="false"` on first paint)
|
|
|
106
111
|
`var(--lr-color-brand-quiet)`) — background of the hovered or `[data-active]`
|
|
107
112
|
(keyboard-highlighted) suggestion row. Component-scoped indirection over the shared
|
|
108
113
|
`--lr-color-brand-quiet` token, so a consumer can retheme just this highlighted/active row without
|
|
109
|
-
repainting every other component that reuses the same shared token.
|
|
114
|
+
repainting every other component that reuses the same shared token.
|
|
115
|
+
`--lr-mention-popover-option-disabled-opacity` (default `0.5`) — opacity of a row whose `items`
|
|
116
|
+
entry sets `disabled`. Plus shared tokens —
|
|
110
117
|
`--lr-space-xs`/`-s`/`-m` (popup padding,
|
|
111
118
|
row padding/gap), `--lr-radius`
|
|
112
119
|
(row corners — the popup's own corner is the overlay family's, below),
|
|
@@ -123,6 +130,12 @@ The popup is a floating surface and paints from the **shared overlay-surface fam
|
|
|
123
130
|
declared on `:host`, so one declaration on `:root` — or on any ancestor, to scope it — retints this
|
|
124
131
|
surface together with every other floating surface in the library. `--lr-overlay-radius` (default `var(--lr-radius)`) is the matching corner radius.
|
|
125
132
|
|
|
133
|
+
`--lr-positioning-strategy` (16.0.0) — the popup reads this same cascading `absolute`/`fixed`
|
|
134
|
+
override documented on `<lr-popover>` when it is (re)positioned, falling back to its own `fixed`
|
|
135
|
+
default when nothing is set. There is no per-instance `positioning-strategy` property on
|
|
136
|
+
`<lr-mention-popover>`; set the custom property on `:root`, a theme, or one clipping ancestor to
|
|
137
|
+
change every unset mention popover beneath it.
|
|
138
|
+
|
|
126
139
|
**Optional peer deps:** none.
|
|
127
140
|
|
|
128
141
|
```html
|
|
@@ -97,6 +97,13 @@ an out-of-syntax value falls back cleanly instead of invalidating the whole decl
|
|
|
97
97
|
without `CSS.registerProperty` degrades to "use `100%`, not `none`".) A menu contained by
|
|
98
98
|
`<lr-dropdown>` sizes from its dropdown and is unaffected by both names.
|
|
99
99
|
|
|
100
|
+
**`--lr-positioning-strategy`** (16.0.0) — the private submenu surface reads this same cascading
|
|
101
|
+
`absolute`/`fixed` override documented on `<lr-popover>` when it is (re)positioned, falling back to
|
|
102
|
+
its own `fixed` default when nothing is set. There is no per-instance `positioning-strategy`
|
|
103
|
+
property on `<lr-menu>`; set the custom property on `:root`, a theme, or one clipping ancestor to
|
|
104
|
+
change every unset submenu beneath it. A menu contained by `<lr-dropdown>` is positioned by the
|
|
105
|
+
dropdown instead and is unaffected.
|
|
106
|
+
|
|
100
107
|
**Methods:** no menu-specific public overlay methods. Use `<lr-dropdown>`'s `show()`/`hide()` and
|
|
101
108
|
`open` state for an overlay. Menu-item submenu methods remain public because they drive a row's
|
|
102
109
|
nested disclosure.
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [llms-full.txt](../../llms-full.txt)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via** 3 parts,
|
|
12
|
+
- **Themeable via** 3 parts, 7 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
13
|
- **Documented with** `lr-menu-item`, `lr-dropdown-item` (same section below)
|
|
14
14
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
15
15
|
|
|
@@ -97,6 +97,13 @@ an out-of-syntax value falls back cleanly instead of invalidating the whole decl
|
|
|
97
97
|
without `CSS.registerProperty` degrades to "use `100%`, not `none`".) A menu contained by
|
|
98
98
|
`<lr-dropdown>` sizes from its dropdown and is unaffected by both names.
|
|
99
99
|
|
|
100
|
+
**`--lr-positioning-strategy`** (16.0.0) — the private submenu surface reads this same cascading
|
|
101
|
+
`absolute`/`fixed` override documented on `<lr-popover>` when it is (re)positioned, falling back to
|
|
102
|
+
its own `fixed` default when nothing is set. There is no per-instance `positioning-strategy`
|
|
103
|
+
property on `<lr-menu>`; set the custom property on `:root`, a theme, or one clipping ancestor to
|
|
104
|
+
change every unset submenu beneath it. A menu contained by `<lr-dropdown>` is positioned by the
|
|
105
|
+
dropdown instead and is unaffected.
|
|
106
|
+
|
|
100
107
|
**Methods:** no menu-specific public overlay methods. Use `<lr-dropdown>`'s `show()`/`hide()` and
|
|
101
108
|
`open` state for an overlay. Menu-item submenu methods remain public because they drive a row's
|
|
102
109
|
nested disclosure.
|
|
@@ -89,3 +89,13 @@ or an ancestor, or reach a built-in's composed native control directly through
|
|
|
89
89
|
`::part(regenerate-button__control)` / `::part(edit-button__control)`. A coarse-pointer/no-hover
|
|
90
90
|
media rule then floors the rendered hit area at 2.75rem/44px regardless of how far a dense-row
|
|
91
91
|
override lowered it, so the shrink is safe on a touch device.
|
|
92
|
+
|
|
93
|
+
**Migrating a pre-16.0.0 `::part()` rule.** This component's icon-only actions are composed
|
|
94
|
+
`<lr-icon-button>`s, so a part naming one of them now names the composed child's HOST, which paints
|
|
95
|
+
nothing. A `border`, `background` or `border-radius` set on it is silently dead — only `color` still
|
|
96
|
+
appears to work, because it inherits, which makes such a rule look half-alive rather than broken.
|
|
97
|
+
Set `--lr-icon-button-background`/`-color`/`-border`/`-radius` (and their `-hover`/`-active`
|
|
98
|
+
variants) on this element or an ancestor instead: the composed control reads those public tokens
|
|
99
|
+
ahead of any default this component supplies. For SIZE use `--lr-theme-icon-button-size`, not
|
|
100
|
+
`--lr-icon-button-size` — every `LyraElement` re-declares the latter on its own `:host`, so it never
|
|
101
|
+
reaches a composed child (see `llms/tokens.md`).
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [llms-full.txt](../../llms-full.txt)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via** 15 parts,
|
|
12
|
+
- **Themeable via** 15 parts, 26 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
13
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
14
14
|
|
|
15
15
|
---
|
|
@@ -42,7 +42,11 @@ focus move.
|
|
|
42
42
|
|
|
43
43
|
**Exported types:**
|
|
44
44
|
|
|
45
|
-
- `LyraCatalogEntry { id: string; label: string }` — the shared minimum row
|
|
45
|
+
- `LyraCatalogEntry { id: string; label: string; disabled?: boolean }` — the shared minimum row
|
|
46
|
+
vocabulary. `disabled` marks a row non-actionable: `aria-disabled="true"` replaces its
|
|
47
|
+
selected/active affordances, activating it (click or keyboard) commits nothing and changes no
|
|
48
|
+
state, and arrow-key/Home/End active-descendant navigation steps past it instead of landing on
|
|
49
|
+
it. Omitted or `false` renders the row exactly as before this field existed.
|
|
46
50
|
- `LyraCatalog<T extends LyraCatalogEntry = LyraCatalogEntry> = readonly string[] | readonly T[]`
|
|
47
51
|
— a homogeneous catalog shared by model-select, voice-picker, and composed controls. String
|
|
48
52
|
shorthand uses the same string for both id and label; readonly tuples/arrays are accepted. Ids
|
|
@@ -236,7 +240,8 @@ use, not on `:host`, so it isn't tied to `size`. The selected row
|
|
|
236
240
|
`--lr-model-select-option-selected-border` and `--lr-model-select-option-selected-color` (both
|
|
237
241
|
`var(--lr-color-brand)`), and `--lr-model-select-option-selected-font-weight`
|
|
238
242
|
(`var(--lr-font-weight-semibold)`), all inline `var()` fallbacks so the selected row is rethemeable
|
|
239
|
-
without hijacking `--lr-color-brand`. `--lr-model-select-
|
|
243
|
+
without hijacking `--lr-color-brand`. `--lr-model-select-option-disabled-opacity` (default `0.5`)
|
|
244
|
+
— opacity of an option row whose catalog entry sets `disabled`. `--lr-model-select-max-inline-size` (default
|
|
240
245
|
`var(--lr-size-24rem)`) publishes the host's own width ceiling, which was previously a hard-wired
|
|
241
246
|
literal: set a length to retune it, or `none` to let the control fill its container the way
|
|
242
247
|
`lr-select` does. Like every other name here it is read as a `var()` fallback and never declared on
|
|
@@ -39,7 +39,14 @@ properties apply. `step` is native seconds; `showPicker()`, `stepUp()`, and `ste
|
|
|
39
39
|
native-wrapper behavior. The control row carries `base input-wrapper time-input` part tokens on one
|
|
40
40
|
node. Its native picker UI and AM/PM presentation are browser-owned and intentionally unstyled.
|
|
41
41
|
The inherited `--lr-input-*` theme inputs therefore remain configurable from an ancestor theme
|
|
42
|
-
wrapper without being shadowed by the subclass.
|
|
42
|
+
wrapper without being shadowed by the subclass. Among those inherited properties and methods:
|
|
43
|
+
`defaultValue: string = ''` (attribute `value`, reflected) is the reset value, and
|
|
44
|
+
`customError: string | null = null` (attribute `custom-error`, reflected) is a consumer-supplied
|
|
45
|
+
validation message. `getForm()` returns the browser-resolved form owner, including an external
|
|
46
|
+
owner selected by `form`; `setCustomValidity(message)` sets or clears `customError` without
|
|
47
|
+
discarding intrinsic validity; `resetValidity()` clears only that consumer layer and recomputes
|
|
48
|
+
the current intrinsic constraints, leaving `value`/`defaultValue` and prior interaction state
|
|
49
|
+
unchanged.
|
|
43
50
|
|
|
44
51
|
**Events:** native-style `input` and `change`; bubbling, composed `focus` and `blur` bridges; the
|
|
45
52
|
`lr-input` / `lr-change` aliases with `{ value }`;
|
|
@@ -46,7 +46,14 @@ action-height ladder as `lr-input` instead of remaining at the default tier for
|
|
|
46
46
|
identical meaning. This component changes the mapped defaults to `appearance='outlined'`,
|
|
47
47
|
`inputMode='numeric'`, and `step=1`. `clearable` (and its `with-clear` spelling),
|
|
48
48
|
`passwordVisible` (`password-visible`), and `minlength`/`maxlength`/`pattern` are inherited but
|
|
49
|
-
inert — see gotchas.
|
|
49
|
+
inert — see gotchas. Also inherited from `lr-input`, with identical meaning:
|
|
50
|
+
`defaultValue: string = ''` (attribute `value`, reflected) — the reset value; and
|
|
51
|
+
`customError: string | null = null` (attribute `custom-error`, reflected) — a consumer-supplied
|
|
52
|
+
validation message. `getForm()` returns the browser-resolved form owner, including an external
|
|
53
|
+
owner selected by `form`; `setCustomValidity(message)` sets or clears `customError` without
|
|
54
|
+
discarding intrinsic validity; `resetValidity()` clears only that consumer layer and recomputes
|
|
55
|
+
the current intrinsic constraints, leaving `value`/`defaultValue` and prior interaction state
|
|
56
|
+
unchanged.
|
|
50
57
|
|
|
51
58
|
Stepper switches:
|
|
52
59
|
|
|
@@ -155,6 +155,18 @@ An async `source` row can carry the same two fields (`start`, `end`) alongside i
|
|
|
155
155
|
that window instead, since the value is not yet known to be unmatched at all
|
|
156
156
|
- `appearance: 'filled' | 'outlined' | 'filled-outlined' = 'outlined'` (reflected)
|
|
157
157
|
- `placement: 'top' | 'bottom' = 'bottom'` (reflected; flip/shift can still keep the listbox in view)
|
|
158
|
+
- `positioningStrategy: PlaceStrategy = 'fixed'` (attribute `positioning-strategy`, reflected) —
|
|
159
|
+
the CSS positioning scheme the listbox is laid out with, spelled the same as on `lr-select`,
|
|
160
|
+
`lr-popover`, `lr-dropdown`, `lr-tooltip` and `lr-color-picker`. `fixed` is this control's
|
|
161
|
+
default and what it has always rendered: it positions against the viewport and escapes most
|
|
162
|
+
clipping ancestors, which suits a typeahead list that usually sits inside a scrollable region.
|
|
163
|
+
`absolute` positions against the nearest containing block and scrolls with it. An unsupported
|
|
164
|
+
value resolves to the default. Like `placement`, a change takes effect the next time the listbox
|
|
165
|
+
opens. When the instance sets nothing, the cascading `--lr-positioning-strategy` custom property
|
|
166
|
+
(`absolute`/`fixed`, set on `:root`, a theme, or one clipping ancestor) is honoured ahead of the
|
|
167
|
+
default; an explicit instance value always wins. There is deliberately no `hoist` alias here:
|
|
168
|
+
unlike on `lr-select`, where it is Shoelace's established spelling, it would be a boolean
|
|
169
|
+
defaulting to `true`, so its attribute could only ever express the value the control already has
|
|
158
170
|
- `clearable: boolean = false` (reflected) — displays the clear button while there is something to
|
|
159
171
|
clear on **either** axis this control owns: a committed selection, or _visible_ filter text. See
|
|
160
172
|
"the clear button covers two axes" below
|
|
@@ -154,6 +154,12 @@ The exact-320px RTL story covers an eight-cell row and an unbroken localized lab
|
|
|
154
154
|
horizontal reachability for every cell.
|
|
155
155
|
The internal role token `--lr-otp-input-segment-size` supplies that `2.5em` default and can be
|
|
156
156
|
retuned through `--lr-theme-otp-input-segment-size` when the `--segment-size` override is absent.
|
|
157
|
+
Like `--lr-icon-button-size`, `--lr-otp-input-segment-size` is element-scoped: the shared token
|
|
158
|
+
layer re-declares it on every `lr-*` host, so a rule that sets it on an ancestor wrapper is reset at
|
|
159
|
+
the first intervening `lr-*` component and never reaches a nested `<lr-otp-input>`. Set it directly
|
|
160
|
+
on the element, or set `--lr-theme-otp-input-segment-size` on an ancestor to resize every OTP input
|
|
161
|
+
in the subtree at once — the retained per-cell hooks below are not re-declared anywhere in the
|
|
162
|
+
shared layer and inherit normally.
|
|
157
163
|
|
|
158
164
|
The retained per-cell hooks are `--lr-otp-input-segment-fill` (default `transparent`),
|
|
159
165
|
`--lr-otp-input-segment-border-color` (default `var(--lr-color-border)`), and
|
|
@@ -28,9 +28,10 @@ of every entry in these lists.**
|
|
|
28
28
|
**Properties:** `description`, `grid`, `axes`, `compact`, `indexAxis` (`index-axis`), `label`, `hiddenDatasets`, `legendPosition`
|
|
29
29
|
(`legend-position`), `hiddenDatums`, `legendMode` (`legend-mode`), `legendDisplay` (`legend-display`),
|
|
30
30
|
`max`, `min`, `plugins`, `scaleType` (`scale-type`), `annotations`,
|
|
31
|
-
`stacked`, `withoutAnimation` (`without-animation`),
|
|
31
|
+
`stacked`, `stackedAxes`, `withoutAnimation` (`without-animation`),
|
|
32
32
|
`withoutLegend` (`without-legend`), `withoutTooltip` (`without-tooltip`), `xLabel` (`x-label`),
|
|
33
|
-
`yLabel` (`y-label`), plus additive `labels`, `datasets`, `valueFormatter`, `formatter`,
|
|
33
|
+
`yLabel` (`y-label`), plus additive `labels`, `datasets`, `valueFormatter`, `formatter`,
|
|
34
|
+
`tooltipTitleFormatter`, `tooltipFooterFormatter`, `area`, `zoom`,
|
|
34
35
|
`height`, `y2Label` (`y2-label`), `beginAtZero` (`begin-at-zero`), `dataLabels`
|
|
35
36
|
(`data-labels`), `stackTotals` (`stack-totals`), `config`, `showDataTable`
|
|
36
37
|
(`show-data-table`), `dataTableToggle` (`data-table-toggle`), `chartArea` (readonly), and `chart`.
|