@aceshooting/lyra-ui 5.2.0 → 6.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 +3979 -0
- package/README.md +6 -5
- package/custom-elements.json +3580 -1047
- package/dist/components/agent-tools/artifact-panel/artifact-panel.class.d.ts +4 -2
- package/dist/components/agent-tools/artifact-panel/artifact-panel.class.d.ts.map +1 -1
- package/dist/components/agent-tools/artifact-panel/artifact-panel.class.js.map +1 -1
- package/dist/components/agent-tools/browser-frame/browser-frame.class.d.ts +7 -3
- package/dist/components/agent-tools/browser-frame/browser-frame.class.d.ts.map +1 -1
- package/dist/components/agent-tools/browser-frame/browser-frame.class.js.map +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts +36 -4
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts.map +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +68 -19
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js.map +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.d.ts +1 -0
- package/dist/components/agent-tools/confirm-bar/confirm-bar.d.ts.map +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.js +1 -0
- package/dist/components/agent-tools/confirm-bar/confirm-bar.js.map +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.styles.js +10 -29
- package/dist/components/agent-tools/confirm-bar/confirm-bar.styles.js.map +1 -1
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.d.ts +7 -7
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.d.ts.map +1 -1
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js +14 -13
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js.map +1 -1
- package/dist/components/agent-tools/eval-dataset/eval-dataset.d.ts +1 -1
- package/dist/components/agent-tools/eval-dataset/eval-dataset.d.ts.map +1 -1
- package/dist/components/agent-tools/eval-dataset/eval-dataset.js +1 -1
- package/dist/components/agent-tools/eval-dataset/eval-dataset.js.map +1 -1
- package/dist/components/agent-tools/eval-result/eval-result.class.d.ts +11 -9
- package/dist/components/agent-tools/eval-result/eval-result.class.d.ts.map +1 -1
- package/dist/components/agent-tools/eval-result/eval-result.class.js +9 -7
- package/dist/components/agent-tools/eval-result/eval-result.class.js.map +1 -1
- package/dist/components/agent-tools/eval-result/eval-result.d.ts +1 -1
- package/dist/components/agent-tools/eval-result/eval-result.d.ts.map +1 -1
- package/dist/components/agent-tools/eval-result/eval-result.js +1 -1
- package/dist/components/agent-tools/eval-result/eval-result.js.map +1 -1
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.d.ts +47 -5
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js +90 -15
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js.map +1 -1
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.d.ts +2 -1
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.js +2 -1
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.js.map +1 -1
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.styles.js +6 -26
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.styles.js.map +1 -1
- package/dist/components/charts/chart/chart.class.d.ts.map +1 -1
- package/dist/components/charts/chart/chart.class.js.map +1 -1
- package/dist/components/charts/chart/lite-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/lite-chart.class.d.ts.map +1 -1
- package/dist/components/charts/chart/lite-chart.class.js.map +1 -1
- package/dist/components/conversation/code-block/greycat-language.d.ts +5 -0
- package/dist/components/conversation/code-block/greycat-language.d.ts.map +1 -1
- package/dist/components/conversation/code-block/greycat-language.js +48 -6
- package/dist/components/conversation/code-block/greycat-language.js.map +1 -1
- package/dist/components/conversation/message-feedback/message-feedback.class.d.ts +5 -3
- package/dist/components/conversation/message-feedback/message-feedback.class.d.ts.map +1 -1
- package/dist/components/conversation/message-feedback/message-feedback.class.js.map +1 -1
- package/dist/components/conversation/thread-list/thread-list.class.d.ts +16 -3
- package/dist/components/conversation/thread-list/thread-list.class.d.ts.map +1 -1
- package/dist/components/conversation/thread-list/thread-list.class.js +13 -3
- package/dist/components/conversation/thread-list/thread-list.class.js.map +1 -1
- package/dist/components/data/calendar/calendar.class.d.ts +3 -1
- package/dist/components/data/calendar/calendar.class.d.ts.map +1 -1
- package/dist/components/data/calendar/calendar.class.js.map +1 -1
- package/dist/components/data/calendar/calendar.styles.js +3 -3
- package/dist/components/data/document-library/document-library.class.d.ts +6 -5
- package/dist/components/data/document-library/document-library.class.d.ts.map +1 -1
- package/dist/components/data/document-library/document-library.class.js +2 -3
- package/dist/components/data/document-library/document-library.class.js.map +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.d.ts +8 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.d.ts.map +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.js +5 -0
- package/dist/components/data/flow-canvas/flow-canvas.class.js.map +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.styles.d.ts.map +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.styles.js +2 -1
- package/dist/components/data/flow-canvas/flow-canvas.styles.js.map +1 -1
- package/dist/components/data/heatmap/heatmap.class.d.ts +6 -2
- package/dist/components/data/heatmap/heatmap.class.d.ts.map +1 -1
- package/dist/components/data/heatmap/heatmap.class.js.map +1 -1
- package/dist/components/data/table/table.class.d.ts +16 -4
- package/dist/components/data/table/table.class.d.ts.map +1 -1
- package/dist/components/data/table/table.class.js.map +1 -1
- package/dist/components/data/tree/tree.class.d.ts +3 -1
- package/dist/components/data/tree/tree.class.d.ts.map +1 -1
- package/dist/components/data/tree/tree.class.js.map +1 -1
- package/dist/components/data/word-cloud/word-cloud-layout.d.ts +7 -2
- package/dist/components/data/word-cloud/word-cloud-layout.d.ts.map +1 -1
- package/dist/components/data/word-cloud/word-cloud-layout.js.map +1 -1
- package/dist/components/data/word-cloud/word-cloud.class.d.ts +3 -3
- package/dist/components/data/word-cloud/word-cloud.class.d.ts.map +1 -1
- package/dist/components/data/word-cloud/word-cloud.class.js.map +1 -1
- package/dist/components/forms/button/button.class.d.ts +5 -0
- package/dist/components/forms/button/button.class.d.ts.map +1 -1
- package/dist/components/forms/button/button.class.js +5 -0
- package/dist/components/forms/button/button.class.js.map +1 -1
- package/dist/components/forms/button/button.styles.d.ts.map +1 -1
- package/dist/components/forms/button/button.styles.js +6 -2
- package/dist/components/forms/button/button.styles.js.map +1 -1
- package/dist/components/forms/color-picker/color-picker.class.d.ts +4 -0
- package/dist/components/forms/color-picker/color-picker.class.d.ts.map +1 -1
- package/dist/components/forms/color-picker/color-picker.class.js +6 -0
- package/dist/components/forms/color-picker/color-picker.class.js.map +1 -1
- package/dist/components/forms/color-picker/color-picker.styles.d.ts.map +1 -1
- package/dist/components/forms/color-picker/color-picker.styles.js +20 -2
- package/dist/components/forms/color-picker/color-picker.styles.js.map +1 -1
- package/dist/components/forms/combobox/combobox.class.d.ts +2 -2
- package/dist/components/forms/combobox/combobox.class.d.ts.map +1 -1
- package/dist/components/forms/combobox/combobox.class.js +1 -1
- package/dist/components/forms/combobox/combobox.class.js.map +1 -1
- package/dist/components/forms/combobox/combobox.styles.d.ts.map +1 -1
- package/dist/components/forms/combobox/combobox.styles.js +8 -0
- package/dist/components/forms/combobox/combobox.styles.js.map +1 -1
- package/dist/components/forms/date-picker/date-picker.class.d.ts +4 -0
- package/dist/components/forms/date-picker/date-picker.class.d.ts.map +1 -1
- package/dist/components/forms/date-picker/date-picker.class.js +6 -0
- package/dist/components/forms/date-picker/date-picker.class.js.map +1 -1
- package/dist/components/forms/date-picker/date-picker.styles.d.ts.map +1 -1
- package/dist/components/forms/date-picker/date-picker.styles.js +15 -0
- package/dist/components/forms/date-picker/date-picker.styles.js.map +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +9 -2
- package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts.map +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.js +11 -2
- package/dist/components/forms/emoji-picker/emoji-picker.class.js.map +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.styles.d.ts.map +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.styles.js +30 -7
- package/dist/components/forms/emoji-picker/emoji-picker.styles.js.map +1 -1
- package/dist/components/forms/icon-button/icon-button.class.d.ts +20 -3
- package/dist/components/forms/icon-button/icon-button.class.d.ts.map +1 -1
- package/dist/components/forms/icon-button/icon-button.class.js +84 -4
- package/dist/components/forms/icon-button/icon-button.class.js.map +1 -1
- package/dist/components/forms/icon-button/icon-button.styles.d.ts.map +1 -1
- package/dist/components/forms/icon-button/icon-button.styles.js +4 -0
- package/dist/components/forms/icon-button/icon-button.styles.js.map +1 -1
- package/dist/components/forms/locale-picker/locale-picker.class.d.ts +221 -0
- package/dist/components/forms/locale-picker/locale-picker.class.d.ts.map +1 -0
- package/dist/components/forms/locale-picker/locale-picker.class.js +630 -0
- package/dist/components/forms/locale-picker/locale-picker.class.js.map +1 -0
- package/dist/components/forms/locale-picker/locale-picker.d.ts +3 -0
- package/dist/components/forms/locale-picker/locale-picker.d.ts.map +1 -0
- package/dist/components/forms/locale-picker/locale-picker.js +6 -0
- package/dist/components/forms/locale-picker/locale-picker.js.map +1 -0
- package/dist/components/forms/locale-picker/locale-picker.styles.d.ts +2 -0
- package/dist/components/forms/locale-picker/locale-picker.styles.d.ts.map +1 -0
- package/dist/components/forms/locale-picker/locale-picker.styles.js +213 -0
- package/dist/components/forms/locale-picker/locale-picker.styles.js.map +1 -0
- package/dist/components/forms/phone-input/phone-input.class.d.ts +11 -0
- package/dist/components/forms/phone-input/phone-input.class.d.ts.map +1 -1
- package/dist/components/forms/phone-input/phone-input.class.js +13 -0
- package/dist/components/forms/phone-input/phone-input.class.js.map +1 -1
- package/dist/components/forms/phone-input/phone-input.styles.d.ts.map +1 -1
- package/dist/components/forms/phone-input/phone-input.styles.js +39 -3
- package/dist/components/forms/phone-input/phone-input.styles.js.map +1 -1
- package/dist/components/forms/select/select.class.d.ts +2 -2
- package/dist/components/forms/select/select.class.d.ts.map +1 -1
- package/dist/components/forms/select/select.class.js +1 -1
- package/dist/components/forms/select/select.class.js.map +1 -1
- package/dist/components/forms/select/select.styles.d.ts.map +1 -1
- package/dist/components/forms/select/select.styles.js +6 -0
- package/dist/components/forms/select/select.styles.js.map +1 -1
- package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts +12 -3
- package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts.map +1 -1
- package/dist/components/forms/swatch-picker/swatch-picker.class.js +14 -3
- package/dist/components/forms/swatch-picker/swatch-picker.class.js.map +1 -1
- package/dist/components/forms/swatch-picker/swatch-picker.styles.d.ts.map +1 -1
- package/dist/components/forms/swatch-picker/swatch-picker.styles.js +32 -9
- package/dist/components/forms/swatch-picker/swatch-picker.styles.js.map +1 -1
- package/dist/components/forms/time-range/time-range.class.d.ts +8 -0
- package/dist/components/forms/time-range/time-range.class.d.ts.map +1 -1
- package/dist/components/forms/time-range/time-range.class.js +10 -0
- package/dist/components/forms/time-range/time-range.class.js.map +1 -1
- package/dist/components/forms/time-range/time-range.styles.d.ts.map +1 -1
- package/dist/components/forms/time-range/time-range.styles.js +42 -13
- package/dist/components/forms/time-range/time-range.styles.js.map +1 -1
- package/dist/components/forms/token-input/token-input.class.d.ts +11 -0
- package/dist/components/forms/token-input/token-input.class.d.ts.map +1 -1
- package/dist/components/forms/token-input/token-input.class.js +13 -0
- package/dist/components/forms/token-input/token-input.class.js.map +1 -1
- package/dist/components/forms/token-input/token-input.styles.d.ts.map +1 -1
- package/dist/components/forms/token-input/token-input.styles.js +36 -2
- package/dist/components/forms/token-input/token-input.styles.js.map +1 -1
- package/dist/components/layout/app-rail/app-rail.class.d.ts +6 -2
- package/dist/components/layout/app-rail/app-rail.class.d.ts.map +1 -1
- package/dist/components/layout/app-rail/app-rail.class.js.map +1 -1
- package/dist/components/layout/control-group/control-group.class.d.ts +16 -0
- package/dist/components/layout/control-group/control-group.class.d.ts.map +1 -1
- package/dist/components/layout/control-group/control-group.class.js +19 -0
- package/dist/components/layout/control-group/control-group.class.js.map +1 -1
- package/dist/components/layout/control-group/control-group.styles.d.ts.map +1 -1
- package/dist/components/layout/control-group/control-group.styles.js +8 -3
- package/dist/components/layout/control-group/control-group.styles.js.map +1 -1
- package/dist/components/layout/dashboard-grid/dashboard-grid.class.d.ts +3 -0
- package/dist/components/layout/dashboard-grid/dashboard-grid.class.d.ts.map +1 -1
- package/dist/components/layout/dashboard-grid/dashboard-grid.class.js +3 -0
- package/dist/components/layout/dashboard-grid/dashboard-grid.class.js.map +1 -1
- package/dist/components/layout/dashboard-grid/dashboard-grid.styles.d.ts.map +1 -1
- package/dist/components/layout/dashboard-grid/dashboard-grid.styles.js +2 -1
- package/dist/components/layout/dashboard-grid/dashboard-grid.styles.js.map +1 -1
- package/dist/components/layout/reorder-list/reorder-item.class.d.ts +59 -0
- package/dist/components/layout/reorder-list/reorder-item.class.d.ts.map +1 -0
- package/dist/components/layout/reorder-list/reorder-item.class.js +110 -0
- package/dist/components/layout/reorder-list/reorder-item.class.js.map +1 -0
- package/dist/components/layout/reorder-list/reorder-item.d.ts +2 -0
- package/dist/components/layout/reorder-list/reorder-item.d.ts.map +1 -0
- package/dist/components/layout/reorder-list/reorder-item.js +5 -0
- package/dist/components/layout/reorder-list/reorder-item.js.map +1 -0
- package/dist/components/{data/data-grid/data-grid.styles.d.ts → layout/reorder-list/reorder-item.styles.d.ts} +1 -1
- package/dist/components/layout/reorder-list/reorder-item.styles.d.ts.map +1 -0
- package/dist/components/layout/reorder-list/reorder-item.styles.js +62 -0
- package/dist/components/layout/reorder-list/reorder-item.styles.js.map +1 -0
- package/dist/components/layout/reorder-list/reorder-list.class.d.ts +77 -0
- package/dist/components/layout/reorder-list/reorder-list.class.d.ts.map +1 -0
- package/dist/components/layout/reorder-list/reorder-list.class.js +197 -0
- package/dist/components/layout/reorder-list/reorder-list.class.js.map +1 -0
- package/dist/components/layout/reorder-list/reorder-list.d.ts +3 -0
- package/dist/components/layout/reorder-list/reorder-list.d.ts.map +1 -0
- package/dist/components/layout/reorder-list/reorder-list.js +6 -0
- package/dist/components/layout/reorder-list/reorder-list.js.map +1 -0
- package/dist/components/layout/reorder-list/reorder-list.styles.d.ts +2 -0
- package/dist/components/layout/reorder-list/reorder-list.styles.d.ts.map +1 -0
- package/dist/components/layout/reorder-list/reorder-list.styles.js +12 -0
- package/dist/components/layout/reorder-list/reorder-list.styles.js.map +1 -0
- package/dist/components/layout/virtual-list/virtual-list.class.d.ts +7 -1
- package/dist/components/layout/virtual-list/virtual-list.class.d.ts.map +1 -1
- package/dist/components/layout/virtual-list/virtual-list.class.js +3 -0
- package/dist/components/layout/virtual-list/virtual-list.class.js.map +1 -1
- package/dist/components/layout/virtual-list/virtual-list.styles.d.ts.map +1 -1
- package/dist/components/layout/virtual-list/virtual-list.styles.js +2 -1
- package/dist/components/layout/virtual-list/virtual-list.styles.js.map +1 -1
- package/dist/components/overlays/chip/chip.class.d.ts +2 -2
- package/dist/components/overlays/chip/chip.class.d.ts.map +1 -1
- package/dist/components/overlays/chip/chip.class.js +1 -1
- package/dist/components/overlays/chip/chip.styles.d.ts.map +1 -1
- package/dist/components/overlays/chip/chip.styles.js +10 -0
- package/dist/components/overlays/chip/chip.styles.js.map +1 -1
- package/dist/components/overlays/overlay/popover.class.d.ts +3 -1
- package/dist/components/overlays/overlay/popover.class.d.ts.map +1 -1
- package/dist/components/overlays/overlay/popover.class.js.map +1 -1
- package/dist/components/retrieval/graph/graph.class.d.ts +7 -3
- package/dist/components/retrieval/graph/graph.class.d.ts.map +1 -1
- package/dist/components/retrieval/graph/graph.class.js.map +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +6 -3
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts.map +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js.map +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts +4 -2
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts.map +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.js.map +1 -1
- package/dist/components/utility/diff-view/diff-view.class.d.ts +4 -1
- package/dist/components/utility/diff-view/diff-view.class.d.ts.map +1 -1
- package/dist/components/utility/diff-view/diff-view.class.js.map +1 -1
- package/dist/components/utility/format/relative-time.class.d.ts.map +1 -1
- package/dist/components/utility/format/relative-time.class.js +4 -1
- package/dist/components/utility/format/relative-time.class.js.map +1 -1
- package/dist/components/viewers/document-compare/document-compare.class.d.ts +9 -2
- package/dist/components/viewers/document-compare/document-compare.class.d.ts.map +1 -1
- package/dist/components/viewers/document-compare/document-compare.class.js.map +1 -1
- package/dist/components/viewers/geojson-view/geojson-view.class.d.ts +6 -0
- package/dist/components/viewers/geojson-view/geojson-view.class.d.ts.map +1 -1
- package/dist/components/viewers/geojson-view/geojson-view.class.js.map +1 -1
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js.map +1 -1
- package/dist/internal/localization.d.ts +11 -1
- package/dist/internal/localization.d.ts.map +1 -1
- package/dist/internal/localization.js +24 -1
- package/dist/internal/localization.js.map +1 -1
- package/dist/internal/root-registration-allowlist.d.ts +1 -1
- package/dist/internal/root-registration-allowlist.d.ts.map +1 -1
- package/dist/internal/root-registration-allowlist.js +3 -1
- package/dist/internal/root-registration-allowlist.js.map +1 -1
- package/dist/internal/tokens.styles.d.ts.map +1 -1
- package/dist/internal/tokens.styles.js +1 -0
- package/dist/internal/tokens.styles.js.map +1 -1
- package/dist/lyra.d.ts +11 -5
- package/dist/lyra.d.ts.map +1 -1
- package/dist/lyra.js +7 -3
- package/dist/lyra.js.map +1 -1
- package/dist/theme.css +1 -0
- package/llms/components/lr-button.md +4 -1
- package/llms/components/lr-chip-group.md +1 -1
- package/llms/components/lr-chip.md +1 -1
- package/llms/components/lr-color-picker.md +7 -1
- package/llms/components/lr-combobox.md +1 -1
- package/llms/components/lr-confirm-bar.md +31 -4
- package/llms/components/lr-control-group.md +12 -4
- package/llms/components/lr-dashboard-grid.md +4 -1
- package/llms/components/lr-date-input.md +5 -1
- package/llms/components/lr-date-picker.md +5 -1
- package/llms/components/lr-emoji-picker.md +11 -6
- package/llms/components/lr-eval-dataset.md +1 -1
- package/llms/components/lr-eval-result.md +4 -4
- package/llms/components/lr-flag.md +9 -5
- package/llms/components/lr-flow-canvas.md +7 -1
- package/llms/components/lr-icon-button.md +10 -5
- package/llms/components/lr-locale-picker.md +86 -0
- package/llms/components/lr-option.md +1 -1
- package/llms/components/lr-phone-input.md +10 -3
- package/llms/components/lr-reorder-item.md +81 -0
- package/llms/components/lr-reorder-list.md +81 -0
- package/llms/components/lr-select.md +2 -2
- package/llms/components/lr-swatch-picker.md +15 -9
- package/llms/components/lr-thread-list.md +11 -6
- package/llms/components/lr-time-range.md +8 -0
- package/llms/components/lr-token-input.md +14 -6
- package/llms/components/lr-tool-approval-dialog.md +30 -6
- package/llms/components/lr-virtual-list.md +5 -1
- package/llms/index.md +7 -5
- package/llms/shared.md +13 -4
- package/llms/tokens.md +4 -2
- package/llms-full.txt +362 -120
- package/llms.txt +4 -4
- package/package.json +8 -3
- package/vscode-css-data.json +183 -8
- package/vscode-html-data.json +521 -366
- package/web-types.json +810 -96
- package/dist/components/data/data-grid/data-grid.class.d.ts +0 -69
- package/dist/components/data/data-grid/data-grid.class.d.ts.map +0 -1
- package/dist/components/data/data-grid/data-grid.class.js +0 -123
- package/dist/components/data/data-grid/data-grid.class.js.map +0 -1
- package/dist/components/data/data-grid/data-grid.d.ts +0 -2
- package/dist/components/data/data-grid/data-grid.d.ts.map +0 -1
- package/dist/components/data/data-grid/data-grid.js +0 -5
- package/dist/components/data/data-grid/data-grid.js.map +0 -1
- package/dist/components/data/data-grid/data-grid.styles.d.ts.map +0 -1
- package/dist/components/data/data-grid/data-grid.styles.js +0 -15
- package/dist/components/data/data-grid/data-grid.styles.js.map +0 -1
- package/llms/components/lr-data-grid.md +0 -55
|
@@ -36,7 +36,8 @@ search/grid; unset renders no label chrome. When `label` (or the `label` slot) i
|
|
|
36
36
|
localized default to `aria-labelledby` pointing at the visible label. `hint: string = ''` —
|
|
37
37
|
supporting text rendered below the search/grid; unset renders no hint chrome. `errorText: string =
|
|
38
38
|
''` (attribute `error-text`) — validation-error text rendered below the hint (overridden by slotted
|
|
39
|
-
`error` content when provided); unset renders no error chrome.
|
|
39
|
+
`error` content when provided); unset renders no error chrome. `size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' = 'm'` —
|
|
40
|
+
visual size; scales the emoji grid item box and its glyph proportionally, floored at 24px (WCAG 2.5.8).
|
|
40
41
|
|
|
41
42
|
**Events:** `lr-change` with `detail: { emoji }` (an emoji was picked — click, or Enter/Space on
|
|
42
43
|
the active grid cell; also sets `value`), plus the shared form `input`, `change`, `focus`, and `blur`.
|
|
@@ -62,10 +63,13 @@ error message). While windowing is active the rows are wrapped in `virtual-space
|
|
|
62
63
|
emoji flex line).
|
|
63
64
|
|
|
64
65
|
**Themeable custom properties:** `--lr-emoji-picker-item-size` (default `--lr-icon-button-size`,
|
|
65
|
-
each emoji button's box), `--lr-emoji-picker-
|
|
66
|
+
each emoji button's box; scaled by the `size` property), `--lr-emoji-picker-glyph-size` (default
|
|
67
|
+
`--lr-font-size-lg`, the font size of the emoji glyph; scaled by the `size` property to keep the glyph
|
|
68
|
+
proportional to the item box), `--lr-emoji-picker-gap` (default `--lr-space-2xs`, the gap between
|
|
66
69
|
emoji within a windowed row), and `--lr-emoji-picker-row-height` (default
|
|
67
|
-
`calc(var(--lr-emoji-picker-item-size) + var(--lr-space-l))`, one windowed row's height).
|
|
68
|
-
|
|
70
|
+
`calc(var(--lr-emoji-picker-item-size) + var(--lr-space-l))`, one windowed row's height).
|
|
71
|
+
`--lr-emoji-picker-item-size`, `--lr-emoji-picker-gap`, and `--lr-emoji-picker-row-height` are also
|
|
72
|
+
read back in JS to derive columns-per-row and row offsets for the windowed layout,
|
|
69
73
|
resolved to real pixels by measuring hidden probe boxes the component's own stylesheet sizes from
|
|
70
74
|
those same tokens — so any CSS length unit works, `rem`/`em` and `calc()` included, and the windowed
|
|
71
75
|
geometry matches what is painted without expressing the tokens in `px`. The measurement is cached
|
|
@@ -82,8 +86,9 @@ repainting everything else that reads it — as the only way in. Like `lr-time-r
|
|
|
82
86
|
properties, it is written as an inline `var()` fallback at the point of use rather than declared on
|
|
83
87
|
`:host`, so a value set on **any ancestor** reaches it instead of being shadowed.
|
|
84
88
|
|
|
85
|
-
Two constraints remain. `--lr-emoji-picker-item-size` is
|
|
86
|
-
|
|
89
|
+
Two constraints remain. `--lr-emoji-picker-item-size` is held at a flat 24px minimum (WCAG 2.5.8
|
|
90
|
+
touch target floor): the smaller `size` tier values can shrink the box below the old 40px
|
|
91
|
+
unconditional floor, but the minimum holds at 24px regardless of tokens, and the windowed geometry
|
|
87
92
|
follows the clamped, painted size. And windowed rows are absolutely positioned at the row-height
|
|
88
93
|
pitch, so `--lr-emoji-picker-row-height` must stay at or above the item size plus the group-label
|
|
89
94
|
band (`--lr-space-l`) — the default's own formula — or consecutive rows overlap. Columns per
|
|
@@ -19,7 +19,7 @@ Filterable and taggable evaluation-example list with add, remove, import, and ex
|
|
|
19
19
|
expectedOutput?: string; tags?: string[]; metadata?: Record<string, unknown> }` (exported here).
|
|
20
20
|
Deliberately its own small shape rather than reusing anything from `src/ai/types.ts` — none of that
|
|
21
21
|
module's interfaces models "one row of a labeled eval dataset". `input`/`expectedOutput` are plain
|
|
22
|
-
strings (not structured payloads)
|
|
22
|
+
strings (not structured payloads), rendered as plain text by every column's `cell()`. Fully
|
|
23
23
|
controlled: add/remove/import/export are all *requests*; the host mutates and passes the array back
|
|
24
24
|
- `searchable: boolean = false` (reflected) — built-in free-text search over `input`,
|
|
25
25
|
`expectedOutput`, and `tags` (case-insensitive substring)
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
Rubric scoring and human-review surface for comparing the runs of one evaluation example.
|
|
16
16
|
|
|
17
|
-
Composes `lr-
|
|
17
|
+
Composes `lr-table` (the comparison table), `lr-rubric-form` (the review surface), and
|
|
18
18
|
`lr-diff-view` (baseline↔selected output diff) rather than re-deriving any of their behavior.
|
|
19
19
|
|
|
20
20
|
**Properties:**
|
|
@@ -22,10 +22,10 @@ Composes `lr-data-grid` (the comparison table), `lr-rubric-form` (the review sur
|
|
|
22
22
|
model?: string; promptVersion?: string; output: string; scores?: RubricValue; review?: RubricValue }`
|
|
23
23
|
(exported here). One entry per model or prompt version being compared for a single evaluation
|
|
24
24
|
example. `scores`/`review` use the same `RubricValue` shape `lr-rubric-form` itself reads and
|
|
25
|
-
writes, so a `
|
|
25
|
+
writes, so a `TableColumn`'s `cell()` accessor and the rubric form's own `value` binding read a
|
|
26
26
|
run's fields with no conversion
|
|
27
|
-
- `columns:
|
|
28
|
-
`lr-
|
|
27
|
+
- `columns: TableColumn<EvalRunResult>[] = []` (attribute: false) — plain pass-through to
|
|
28
|
+
`lr-table.columns`, not re-derived here
|
|
29
29
|
- `rubricKeys: RubricKey[] = []` (attribute: false) — plain pass-through to `lr-rubric-form.keys`
|
|
30
30
|
- `selectedRunId: string = ''` (attribute `selected-run-id`) — the run open for review and the diff's
|
|
31
31
|
**new** side; falls back to `runs[0]?.id` when empty
|
|
@@ -70,11 +70,15 @@ tag itself, and so does a structurally invalid one — `Intl.DisplayNames` throw
|
|
|
70
70
|
those rather than falling back, and a language picker should degrade to showing the raw tag rather
|
|
71
71
|
than tearing down the render. Pair it with `languageToCountry()` for the flag half of the same row.
|
|
72
72
|
|
|
73
|
-
**Locale picker recipe.**
|
|
74
|
-
|
|
75
|
-
`
|
|
76
|
-
|
|
77
|
-
|
|
73
|
+
**Locale picker recipe.** `<lr-locale-picker>` (`components/forms/locale-picker/`) is the built-in
|
|
74
|
+
locale switcher — a closed-list dropdown over the locale registry or an explicit catalog, with
|
|
75
|
+
`lr-flag`/`localeNativeName()` rows and full form association out of the box. The manual
|
|
76
|
+
composition below remains available for an app that wants different chrome (its own dismiss
|
|
77
|
+
surface, a different active-state marker, or a layout `<lr-locale-picker>` doesn't offer):
|
|
78
|
+
`<lr-popover>` supplies the light-dismiss surface, `<lr-flag>` the country mark,
|
|
79
|
+
`localeNativeName()` the endonym, and `aria-current="true"` marks the active choice. Which locales
|
|
80
|
+
exist is the app's decision, so the app owns the list. Set `lang` on each row so assistive tech
|
|
81
|
+
pronounces the endonym in its own language, and use `variant="compact"` at icon scale.
|
|
78
82
|
|
|
79
83
|
```html
|
|
80
84
|
<lr-popover placement="bottom-start">
|
|
@@ -87,7 +87,13 @@ that reads it. The same restriction motivates three more state-scoped outline co
|
|
|
87
87
|
a node that is an invalid connect-gesture drop target; `--lr-flow-canvas-node-connect-target-outline-color`
|
|
88
88
|
(default `var(--lr-color-brand)`) — outline of a node that is a valid connect-gesture drop target; and
|
|
89
89
|
`--lr-flow-canvas-drop-active-outline-color` (default `var(--lr-color-brand)`) — outline of the
|
|
90
|
-
viewport itself while a palette item is dragged over it (`droppable`).
|
|
90
|
+
viewport itself while a palette item is dragged over it (`droppable`). A fifth,
|
|
91
|
+
`--lr-flow-canvas-node-hover-outline-color` (default `var(--lr-color-border-strong)`) — the
|
|
92
|
+
mouse-hover preview of a node's own `:focus-visible` ring — exists for a different reason than the
|
|
93
|
+
four above: it is `:hover`-gated rather than attribute-gated, so `::part(node):hover` *is* valid
|
|
94
|
+
CSS here, but the internal `[part='node']:hover` rule still out-specifies it ((0,2,0) vs. (0,1,1)),
|
|
95
|
+
which this custom property sidesteps the same way. Set it to `transparent` to opt out of the hover
|
|
96
|
+
treatment entirely.
|
|
91
97
|
|
|
92
98
|
**Optional peer deps:** none.
|
|
93
99
|
|
|
@@ -40,11 +40,16 @@ complete element — an `<svg>`, an `<img>`, an `<lr-flag>` — render at its ow
|
|
|
40
40
|
instead of being forced into a 1:1 box. Setting both `icon` and slotted content renders both, side
|
|
41
41
|
by side; that is a valid composition, not a fallback.
|
|
42
42
|
|
|
43
|
-
**
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
**Bare SVG geometry fallback:** slotted bare SVG *geometry* (`path`, `circle`, `rect`, `line`,
|
|
44
|
+
`polygon`, `polyline`, `ellipse`, `g`, `use`) with no `icon` set and no enclosing `<svg>` of its
|
|
45
|
+
own has no real SVG parent as parsed, and is detected and cloned into an internal
|
|
46
|
+
`[part="fallback"]` SVG-namespaced element so it still paints — the same fallback `<lr-icon>`'s own
|
|
47
|
+
custom-content slot uses. This is narrowly scoped to that whitelist: a complete `<svg>`, `<img>`,
|
|
48
|
+
or custom element (e.g. `<lr-flag>`) is never touched by it and keeps rendering as an untouched
|
|
49
|
+
sibling at its own natural aspect ratio.
|
|
50
|
+
|
|
51
|
+
**CSS parts:** `button`, `fallback` (only present in the DOM while at least one top-level slotted
|
|
52
|
+
element needs the bare-geometry fallback above)
|
|
48
53
|
|
|
49
54
|
**Themeable custom properties:** `--lr-icon-button-size` (default `2.5rem`) is the **minimum**
|
|
50
55
|
tappable inline and block size of the native button — a floor, not a fixed size. Content larger
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/forms.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-locale-picker`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/forms/locale-picker/locale-picker.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraLocalePicker`, also available unregistered from `@aceshooting/lyra-ui/components/forms/locale-picker/locale-picker.class.js`
|
|
7
|
+
- **Family** `components/forms/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## `lr-locale-picker`
|
|
14
|
+
|
|
15
|
+
A closed-list locale switcher over the library's own locale registry. First-party invention (no
|
|
16
|
+
Web Awesome equivalent). With `locales` unset (the default), the offered rows are exactly
|
|
17
|
+
`getRegisteredLyraLocales()` — every locale with strings registered via `registerLyraLocale()`,
|
|
18
|
+
plus `en` — kept live via `subscribeLyraLocaleRegistry()`. Built directly on `lr-select`'s
|
|
19
|
+
trigger-button/`aria-activedescendant` listbox technique, not composed from it — a plain closed
|
|
20
|
+
list, no filter/free-text mode.
|
|
21
|
+
|
|
22
|
+
**Properties:**
|
|
23
|
+
- `locales: LyraLocaleCatalog = []` (attribute: false) — `LyraLocaleCatalog = string[] |
|
|
24
|
+
LyraLocaleEntry[]`, `LyraLocaleEntry { tag: string; label?: string }`. Empty (the default)
|
|
25
|
+
auto-discovers the registry; a non-empty array (either form) overrides it entirely — a curated
|
|
26
|
+
subset, custom order, custom labels, or a locale offered before its strings are registered.
|
|
27
|
+
- `showFlags: boolean = true` — each row's leading `<lr-flag language={tag} variant="compact">`;
|
|
28
|
+
`false` omits the flag element entirely (not just visually).
|
|
29
|
+
- `value: string = ''` — the **committed** selection (form value, drives `lr-change`). While `''`
|
|
30
|
+
and untouched, the trigger *displays* `effectiveLocale` as a preview label, but
|
|
31
|
+
`checkValidity()`/`required` are governed by the real `value`, which stays `''` until a real
|
|
32
|
+
commit — mirrors a native `<select>` showing its first option's text without that being a
|
|
33
|
+
committed selection.
|
|
34
|
+
- `required: boolean = false`, `disabled: boolean = false`, `name: string = ''` — standard
|
|
35
|
+
form-associated properties.
|
|
36
|
+
- `label: string = ''`, `hint: string = ''`, `errorText: string = ''` (attribute `error-text`) —
|
|
37
|
+
same opt-in form-control chrome as `lr-select` (props + matching named slots + parts); unset
|
|
38
|
+
renders none of it.
|
|
39
|
+
- `open: boolean = false` (reflected).
|
|
40
|
+
- `size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' = 'm'` (reflected — same scale as `lr-select`'s `size`).
|
|
41
|
+
|
|
42
|
+
**Events:** `lr-change` (`detail: { value, previousValue }`, **cancelable**) — fired on every
|
|
43
|
+
explicit pick; if not `defaultPrevented`, the component applies the pick itself via
|
|
44
|
+
`setLyraLocale(value)`. A listener calling `event.preventDefault()` leaves `value` updated but the
|
|
45
|
+
active locale untouched, so a host can persist the choice first and apply it later. `blur`/`focus`
|
|
46
|
+
re-dispatched from the internal trigger as bubbling, composed events.
|
|
47
|
+
|
|
48
|
+
**Methods:** `focus(options?)`, `blur()`, and `click()` — all forward to the internal trigger
|
|
49
|
+
button, same convention as `lr-select`'s identical trio.
|
|
50
|
+
|
|
51
|
+
**Slots:** `label`, `hint`, `error`.
|
|
52
|
+
|
|
53
|
+
**CSS parts:** `form-control`, `form-control-label`, `trigger`, `listbox`, `option`,
|
|
54
|
+
`option-flag` (present only while `showFlags` is on), `option-label`, `option-tag` (the row's
|
|
55
|
+
secondary line — the raw BCP-47 tag), `expand-icon`, `hint`, `error`.
|
|
56
|
+
|
|
57
|
+
**Themeable custom properties:** `--lr-locale-picker-trigger-padding`,
|
|
58
|
+
`--lr-locale-picker-trigger-min-height`, `--lr-locale-picker-trigger-height` (unset by default, a
|
|
59
|
+
floor-only escape hatch — set a length to both floor and cap the trigger),
|
|
60
|
+
`--lr-locale-picker-font-size`, `--lr-locale-picker-expand-size` (all scaled by `size`), and
|
|
61
|
+
`--lr-locale-picker-option-active-bg` (default `--lr-color-brand-quiet`, the hovered/keyboard-active
|
|
62
|
+
row background).
|
|
63
|
+
|
|
64
|
+
**Optional peer deps:** none directly — each row's `<lr-flag>` degrades to an empty render (no
|
|
65
|
+
peer warning duplication; `lr-flag` itself already logs one) when the optional
|
|
66
|
+
`@aceshooting/lyra-flags` package isn't installed and `showFlags` is left on.
|
|
67
|
+
|
|
68
|
+
```html
|
|
69
|
+
<lr-locale-picker label="Language"></lr-locale-picker>
|
|
70
|
+
<script type="module">
|
|
71
|
+
import { registerLyraLocale } from '@aceshooting/lyra-ui';
|
|
72
|
+
registerLyraLocale('fr', { close: 'Fermer' });
|
|
73
|
+
document
|
|
74
|
+
.querySelector('lr-locale-picker')
|
|
75
|
+
.addEventListener('lr-change', (e) => console.log(e.detail.value));
|
|
76
|
+
</script>
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Known gotchas:**
|
|
80
|
+
- selecting a row applies `setLyraLocale()` itself unless the listener calls
|
|
81
|
+
`event.preventDefault()` on `lr-change` — it does not touch
|
|
82
|
+
`document.documentElement.lang`/`dir`; apply writing-direction changes to the page yourself.
|
|
83
|
+
- no filter/free-text mode — for a catalog with hundreds+ of rows, roll your own with `lr-select`
|
|
84
|
+
or `lr-combobox` instead.
|
|
85
|
+
- arrow-key navigation is vertical-only (Home/End/ArrowUp/ArrowDown); there is no
|
|
86
|
+
ArrowLeft/ArrowRight remap under RTL, since there is no horizontal axis to remap.
|
|
@@ -21,7 +21,7 @@ shared `FormAssociated` mixin — see gotchas).
|
|
|
21
21
|
|
|
22
22
|
**Properties:**
|
|
23
23
|
- `multiple: boolean = false` (reflected)
|
|
24
|
-
- `size: 'xs' | 's' | 'm' | 'l' | 'xl' = 'm'` (reflected — same scale as `lr-select`'s `size`;
|
|
24
|
+
- `size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' = 'm'` (reflected — same scale as `lr-select`'s `size`;
|
|
25
25
|
also scales the "+N" overflow tag and decorative expand icon; `size="s"` shares its outer
|
|
26
26
|
control height with `lr-input`, `lr-select`, and `lr-segmented` without part overrides)
|
|
27
27
|
- `placeholder: string = ''`
|
|
@@ -71,6 +71,9 @@ interface PhoneNumberAdapter {
|
|
|
71
71
|
`@aceshooting/lyra-ui/components/media/flag/flag-peer.js` once; without that registration the
|
|
72
72
|
trigger simply omits the image. The open popup list stays text-only — a native `<option>` cannot
|
|
73
73
|
contain elements.
|
|
74
|
+
- `size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' = 'm'` (reflected — same scale as `lr-input`'s
|
|
75
|
+
`size`; scales input padding, font size, and wrapper min-height; `size="s"` shares its outer
|
|
76
|
+
control height with `lr-input`, `lr-select`, and `lr-combobox` without part overrides)
|
|
74
77
|
- `country: string` — current uppercase ISO alpha-2 selection; falls back to `defaultCountry`, then
|
|
75
78
|
the first explicit/adapter country. Changing the country reparses the editable number.
|
|
76
79
|
- `label: string = ''`, `hint: string = ''`, `errorText: string = ''` (attribute `error-text`) —
|
|
@@ -137,9 +140,13 @@ such as a consumer-owned `<lr-flag>`; no flag package is imported automatically)
|
|
|
137
140
|
`flags`), `country-code` (selected alpha-2 code, `data-placeholder` when no country exists),
|
|
138
141
|
`expand-icon`, `calling-code`, `input`, `hint`, `error`.
|
|
139
142
|
|
|
140
|
-
**Themeable custom properties:**
|
|
141
|
-
|
|
142
|
-
|
|
143
|
+
**Themeable custom properties:** `--lr-phone-input-padding-block`, `--lr-phone-input-font-size`,
|
|
144
|
+
and `--lr-phone-input-control-min-height` (each scaled by `size`), plus `--lr-phone-input-control-height`
|
|
145
|
+
to pin an exact input-wrapper height (both floors and caps it — use it for pixel-matching an
|
|
146
|
+
`<lr-input>` or `<lr-select>` in the same toolbar row; undeclared by default, leaving the min height
|
|
147
|
+
as a floor only). The phone-number input and calling code are deliberately `dir="ltr"`/isolated
|
|
148
|
+
because telephone numbers are algorithmic content; surrounding form chrome and the country selector
|
|
149
|
+
inherit LTR/RTL and use logical spacing/borders.
|
|
143
150
|
|
|
144
151
|
**Optional peer deps:** `libphonenumber-js` is declared optional but never imported by Lyra itself.
|
|
145
152
|
For full national parsing/formatting, install it in the consuming app and pass it through the
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/layout.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-reorder-item`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/layout/reorder-list/reorder-item.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraReorderItem`, also available unregistered from `@aceshooting/lyra-ui/components/layout/reorder-list/reorder-item.class.js`
|
|
7
|
+
- **Family** `components/layout/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Documented with** `lr-reorder-list` (same section below)
|
|
10
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## `lr-reorder-list` / `lr-reorder-item`
|
|
15
|
+
|
|
16
|
+
A generic flat-list reorder primitive: per-row move-up/move-down buttons (always available), plus
|
|
17
|
+
Ctrl/Cmd+ArrowUp/ArrowDown from focus anywhere inside a row — the same modifier convention
|
|
18
|
+
`<lr-tree>`'s `reorderable` and `<lr-dashboard-grid>`'s `cells-draggable` already establish. Unlike
|
|
19
|
+
`<lr-tree>`'s controlled `reorderable` mode, this list physically moves its own slotted
|
|
20
|
+
`<lr-reorder-item>` light-DOM nodes itself (there is no `data` array prop to reconcile against),
|
|
21
|
+
and emits `lr-reorder` with the full new order so the host can persist it without hand-rolling its
|
|
22
|
+
own splice/resort logic.
|
|
23
|
+
|
|
24
|
+
### `lr-reorder-list`
|
|
25
|
+
|
|
26
|
+
**Properties:**
|
|
27
|
+
- `label: string = ''` — accessible name for the internal `role="list"`; when empty, a host
|
|
28
|
+
`aria-label` is forwarded as a fallback.
|
|
29
|
+
- `disabled: boolean = false` (reflected) — disables every item's move buttons and the Ctrl/Cmd+
|
|
30
|
+
Arrow shortcut, without mutating any item's own `disabled` attribute.
|
|
31
|
+
|
|
32
|
+
**Events:** `lr-reorder` (`detail: { order: string[], fromIndex: number, toIndex: number }` — fired
|
|
33
|
+
after every successful move; `order` is every current item's `value` (or its DOM-position-index
|
|
34
|
+
fallback) in the new top-to-bottom order)
|
|
35
|
+
|
|
36
|
+
**Slots:** default — `<lr-reorder-item>` elements.
|
|
37
|
+
|
|
38
|
+
**CSS parts:** `base` — the internal `role="list"` wrapper.
|
|
39
|
+
|
|
40
|
+
**Themeable custom properties:** `--lr-reorder-list-gap` (default `var(--lr-space-2xs)`) — gap
|
|
41
|
+
between rows.
|
|
42
|
+
|
|
43
|
+
```html
|
|
44
|
+
<lr-reorder-list label="Form fields" @lr-reorder=${(e) => console.log(e.detail.order)}>
|
|
45
|
+
<lr-reorder-item value="name">Name</lr-reorder-item>
|
|
46
|
+
<lr-reorder-item value="email">Email</lr-reorder-item>
|
|
47
|
+
<lr-reorder-item value="phone">Phone</lr-reorder-item>
|
|
48
|
+
</lr-reorder-list>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**Known gotchas:**
|
|
52
|
+
- Boundary-disabled state (`atStart`/`atEnd`) and the `listDisabled` cascade are computed and
|
|
53
|
+
pushed onto each `<lr-reorder-item>` by this list, on every slot change and every move — an item
|
|
54
|
+
alone can't know its own position.
|
|
55
|
+
- No pointer drag-and-drop; move-up/move-down buttons and the keyboard shortcut only.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
### `lr-reorder-item`
|
|
60
|
+
|
|
61
|
+
**Properties:**
|
|
62
|
+
- `value?: string` — stable identifier included in the parent's `lr-reorder` order array; falls
|
|
63
|
+
back to this item's live DOM-position index when unset.
|
|
64
|
+
- `disabled: boolean = false` (reflected) — disables this row's own move buttons only; does not
|
|
65
|
+
hide its slotted content.
|
|
66
|
+
- `atStart: boolean = false`, `atEnd: boolean = false`, `listDisabled: boolean = false`
|
|
67
|
+
(attribute: false) — pushed down by the parent `<lr-reorder-list>`; normally set internally, not
|
|
68
|
+
by consumers.
|
|
69
|
+
|
|
70
|
+
**Events:** `lr-move-request` (`detail: { direction: 'up' | 'down' }` — a move button was activated
|
|
71
|
+
while not disabled; handled by the parent `<lr-reorder-list>`, which performs the actual move)
|
|
72
|
+
|
|
73
|
+
**Slots:** default — arbitrary row content.
|
|
74
|
+
|
|
75
|
+
**CSS parts:** `base` (row wrapper), `move-up-button`, `move-down-button`, `content` (default-slot
|
|
76
|
+
wrapper).
|
|
77
|
+
|
|
78
|
+
**Themeable custom properties:** `--lr-reorder-item-gap` (default `var(--lr-space-xs)`) — gap
|
|
79
|
+
between the move buttons and the row content.
|
|
80
|
+
|
|
81
|
+
---
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/layout.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-reorder-list`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/layout/reorder-list/reorder-list.js';` (registers the tag; side-effect import)
|
|
6
|
+
- **Class** `LyraReorderList`, also available unregistered from `@aceshooting/lyra-ui/components/layout/reorder-list/reorder-list.class.js`
|
|
7
|
+
- **Family** `components/layout/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Optional peers** none
|
|
9
|
+
- **Documented with** `lr-reorder-item` (same section below)
|
|
10
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## `lr-reorder-list` / `lr-reorder-item`
|
|
15
|
+
|
|
16
|
+
A generic flat-list reorder primitive: per-row move-up/move-down buttons (always available), plus
|
|
17
|
+
Ctrl/Cmd+ArrowUp/ArrowDown from focus anywhere inside a row — the same modifier convention
|
|
18
|
+
`<lr-tree>`'s `reorderable` and `<lr-dashboard-grid>`'s `cells-draggable` already establish. Unlike
|
|
19
|
+
`<lr-tree>`'s controlled `reorderable` mode, this list physically moves its own slotted
|
|
20
|
+
`<lr-reorder-item>` light-DOM nodes itself (there is no `data` array prop to reconcile against),
|
|
21
|
+
and emits `lr-reorder` with the full new order so the host can persist it without hand-rolling its
|
|
22
|
+
own splice/resort logic.
|
|
23
|
+
|
|
24
|
+
### `lr-reorder-list`
|
|
25
|
+
|
|
26
|
+
**Properties:**
|
|
27
|
+
- `label: string = ''` — accessible name for the internal `role="list"`; when empty, a host
|
|
28
|
+
`aria-label` is forwarded as a fallback.
|
|
29
|
+
- `disabled: boolean = false` (reflected) — disables every item's move buttons and the Ctrl/Cmd+
|
|
30
|
+
Arrow shortcut, without mutating any item's own `disabled` attribute.
|
|
31
|
+
|
|
32
|
+
**Events:** `lr-reorder` (`detail: { order: string[], fromIndex: number, toIndex: number }` — fired
|
|
33
|
+
after every successful move; `order` is every current item's `value` (or its DOM-position-index
|
|
34
|
+
fallback) in the new top-to-bottom order)
|
|
35
|
+
|
|
36
|
+
**Slots:** default — `<lr-reorder-item>` elements.
|
|
37
|
+
|
|
38
|
+
**CSS parts:** `base` — the internal `role="list"` wrapper.
|
|
39
|
+
|
|
40
|
+
**Themeable custom properties:** `--lr-reorder-list-gap` (default `var(--lr-space-2xs)`) — gap
|
|
41
|
+
between rows.
|
|
42
|
+
|
|
43
|
+
```html
|
|
44
|
+
<lr-reorder-list label="Form fields" @lr-reorder=${(e) => console.log(e.detail.order)}>
|
|
45
|
+
<lr-reorder-item value="name">Name</lr-reorder-item>
|
|
46
|
+
<lr-reorder-item value="email">Email</lr-reorder-item>
|
|
47
|
+
<lr-reorder-item value="phone">Phone</lr-reorder-item>
|
|
48
|
+
</lr-reorder-list>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**Known gotchas:**
|
|
52
|
+
- Boundary-disabled state (`atStart`/`atEnd`) and the `listDisabled` cascade are computed and
|
|
53
|
+
pushed onto each `<lr-reorder-item>` by this list, on every slot change and every move — an item
|
|
54
|
+
alone can't know its own position.
|
|
55
|
+
- No pointer drag-and-drop; move-up/move-down buttons and the keyboard shortcut only.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
### `lr-reorder-item`
|
|
60
|
+
|
|
61
|
+
**Properties:**
|
|
62
|
+
- `value?: string` — stable identifier included in the parent's `lr-reorder` order array; falls
|
|
63
|
+
back to this item's live DOM-position index when unset.
|
|
64
|
+
- `disabled: boolean = false` (reflected) — disables this row's own move buttons only; does not
|
|
65
|
+
hide its slotted content.
|
|
66
|
+
- `atStart: boolean = false`, `atEnd: boolean = false`, `listDisabled: boolean = false`
|
|
67
|
+
(attribute: false) — pushed down by the parent `<lr-reorder-list>`; normally set internally, not
|
|
68
|
+
by consumers.
|
|
69
|
+
|
|
70
|
+
**Events:** `lr-move-request` (`detail: { direction: 'up' | 'down' }` — a move button was activated
|
|
71
|
+
while not disabled; handled by the parent `<lr-reorder-list>`, which performs the actual move)
|
|
72
|
+
|
|
73
|
+
**Slots:** default — arbitrary row content.
|
|
74
|
+
|
|
75
|
+
**CSS parts:** `base` (row wrapper), `move-up-button`, `move-down-button`, `content` (default-slot
|
|
76
|
+
wrapper).
|
|
77
|
+
|
|
78
|
+
**Themeable custom properties:** `--lr-reorder-item-gap` (default `var(--lr-space-xs)`) — gap
|
|
79
|
+
between the move buttons and the row content.
|
|
80
|
+
|
|
81
|
+
---
|
|
@@ -45,8 +45,8 @@ exactly like the multi-option case, until the trigger is actually activated.
|
|
|
45
45
|
- `errorText: string = ''` (attribute `error-text` — static error copy shown below the hint;
|
|
46
46
|
overridden by slotted `error` content when provided)
|
|
47
47
|
- `open: boolean = false` (reflected)
|
|
48
|
-
- `size: 'xs'|'s'|'m'|'l'|'xl' = 'm'` (reflected — same scale as `lr-
|
|
49
|
-
compact toolbar placements that don't fit the default trigger height)
|
|
48
|
+
- `size: '2xs'|'xs'|'s'|'m'|'l'|'xl' = 'm'` (reflected — same scale as `lr-input`/`lr-combobox`'s
|
|
49
|
+
`size`, for compact toolbar placements that don't fit the default trigger height)
|
|
50
50
|
- `autoCommitSingleOption: boolean = false` (attribute `auto-commit-single-option`) — opts in to the
|
|
51
51
|
single-option auto-commit behavior described above
|
|
52
52
|
- `value: string` — a getter/setter; always a single string (no `multiple` mode)
|
|
@@ -28,6 +28,9 @@ named colors, the shape apps otherwise hand-roll as a row of round accent-color
|
|
|
28
28
|
`<lr-segmented>`'s `SegmentedItem.icon`.
|
|
29
29
|
- `value: string | null = null` — the currently selected option's `value` (controlled); `null`
|
|
30
30
|
leaves nothing selected while keeping the first swatch tabbable.
|
|
31
|
+
- `size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' = 'm'` (reflected — scales the swatch hit-area and
|
|
32
|
+
fill diameter proportionally, hit-area floored at 24px; not pixel-matched to `lr-input`'s
|
|
33
|
+
row-height scale)
|
|
31
34
|
- `label: string = ''` — accessible name copied to the internal `role="radiogroup"`; when empty, a
|
|
32
35
|
host-level `aria-label` is used as a fallback.
|
|
33
36
|
|
|
@@ -37,11 +40,13 @@ changes via click or keyboard (re-selecting the current swatch is a no-op).
|
|
|
37
40
|
**Slots:** none.
|
|
38
41
|
|
|
39
42
|
**CSS parts:** `base` (the `role="radiogroup"` root), `swatch` (a single `role="radio"` color
|
|
40
|
-
swatch's interactive hit target,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
`swatch-
|
|
43
|
+
swatch's interactive hit target, sized via `--lr-swatch-picker-hit-size` — defaults to
|
|
44
|
+
`--lr-size-2-5rem`, swapped per `size` tier and floored at 24px; the selected one is
|
|
45
|
+
`[part='swatch'][aria-checked='true']`), `swatch-fill` (the filled circle inside it, sized via
|
|
46
|
+
`--lr-swatch-picker-fill-size` — defaults to `--lr-size-1-5rem`, also swapped per `size` tier —
|
|
47
|
+
rendered when the option has no `icon`), `swatch-icon` (the option's `icon` shape, rendered in its
|
|
48
|
+
place when it has one). Exactly one of `swatch-fill`/`swatch-icon` is mounted per swatch, so the
|
|
49
|
+
two never coexist.
|
|
45
50
|
|
|
46
51
|
**Themeable custom properties:** `--lr-swatch-picker-selected-color` (ring color around the
|
|
47
52
|
selected swatch, defaults to `--lr-color-brand`, themeable independently of the focus ring),
|
|
@@ -52,10 +57,11 @@ shape), `--lr-swatch-picker-shine-duration` (default `0s`, a no-op; set a durati
|
|
|
52
57
|
for a looping brighten-and-settle pulse on the selected swatch. It drives a separate
|
|
53
58
|
`filter: brightness()` keyframe rather than `box-shadow`, so it composes with the blur token and
|
|
54
59
|
works identically for a fill and an icon; disabled outright under `prefers-reduced-motion: reduce`,
|
|
55
|
-
which also drops the hover/selection scale transition)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
`--lr-focus-ring
|
|
60
|
+
which also drops the hover/selection scale transition), `--lr-swatch-picker-hit-size` (hit-area
|
|
61
|
+
size, swapped per `size` tier), `--lr-swatch-picker-fill-size` (visible fill/icon diameter, swapped
|
|
62
|
+
per `size` tier); plus shared tokens — `--lr-color-border`/`-brand`, `--lr-space-xs`,
|
|
63
|
+
`--lr-border-width-thin`/`-thick`, `--lr-radius`, `--lr-transition-fast`, `--lr-focus-ring-*`,
|
|
64
|
+
and the per-tier `--lr-size-*` tokens.
|
|
59
65
|
|
|
60
66
|
**Optional peer deps:** none.
|
|
61
67
|
|
|
@@ -66,8 +66,11 @@ appends host-supplied content (re-invoked per row on every render, e.g. a `lr-me
|
|
|
66
66
|
actions) after the built-in `rowActions` output in each row's `actions` slot; events it fires reach
|
|
67
67
|
the host normally and never trigger `lr-select`. Unset renders only the built-in `rowActions`.
|
|
68
68
|
`renderLeading?: (thread: ChatThread) => TemplateResult` (attribute: false) — renders non-interactive
|
|
69
|
-
leading content in each virtualized row. `
|
|
70
|
-
(attribute: false) —
|
|
69
|
+
leading content in each virtualized row. `renderExcerpt?: (thread: ChatThread) => TemplateResult`
|
|
70
|
+
(attribute: false) — renders rich content into the row item's own `excerpt` slot, winning over the
|
|
71
|
+
plain-string `excerpt` property (e.g. a server-highlighted search-match snippet), while leaving the
|
|
72
|
+
built-in title layout and inline-rename affordance untouched. `renderMeta?: (thread: ChatThread) =>
|
|
73
|
+
TemplateResult` (attribute: false) — appends structured metadata in the row's meta region.
|
|
71
74
|
`renderRowContent?: (thread: ChatThread) => TemplateResult` (attribute: false) — replaces the
|
|
72
75
|
conversation item's title/excerpt/meta content area with custom non-interactive row content.
|
|
73
76
|
`formatGroupLabel?: (key: ThreadBucketKey, date?: Date) => string` (attribute: false) — overrides
|
|
@@ -100,9 +103,10 @@ header row and the pinned copy alike, and the band itself is where a shadow or b
|
|
|
100
103
|
belongs), `row` (all exported across the internal `lr-virtual-list` shadow
|
|
101
104
|
boundary), `row-wrapper` (the wrapper around `wrapRow` output, only present when `wrapRow` is set;
|
|
102
105
|
row-only — group headers are never passed through `wrapRow`, so they never carry it), and
|
|
103
|
-
`row-leading`/`row-content`/`row-meta`/`row-actions` (the library-owned wrappers around
|
|
106
|
+
`row-leading`/`row-excerpt`/`row-content`/`row-meta`/`row-actions` (the library-owned wrappers around
|
|
104
107
|
their corresponding render-hook output; inherited fonts, layout values, and theme custom properties
|
|
105
|
-
reach callback-rendered descendants through these parts).
|
|
108
|
+
reach callback-rendered descendants through these parts). `row-excerpt` wraps `renderExcerpt`
|
|
109
|
+
output, which is slotted into the row item's own `excerpt` slot.
|
|
106
110
|
|
|
107
111
|
Data mode additionally forwards each row `<lr-conversation-item>`'s own parts under a `row-item-`
|
|
108
112
|
prefix: `row-item-base`, `row-item-option`, `row-item-leading`, `row-item-content`,
|
|
@@ -110,8 +114,9 @@ prefix: `row-item-base`, `row-item-option`, `row-item-leading`, `row-item-conten
|
|
|
110
114
|
`row-item-meta`, `row-item-timestamp`, `row-item-actions`.
|
|
111
115
|
|
|
112
116
|
**Keep the two prefixes straight — they are different surfaces.** The `row-*` parts wrap *this*
|
|
113
|
-
component's own render-callback output (`wrapRow`, `renderLeading`, `
|
|
114
|
-
`renderMeta`, `renderActions`); the `row-item-*` parts are the row item's
|
|
117
|
+
component's own render-callback output (`wrapRow`, `renderLeading`, `renderExcerpt`,
|
|
118
|
+
`renderRowContent`, `renderMeta`, `renderActions`); the `row-item-*` parts are the row item's
|
|
119
|
+
*internals*. Row density
|
|
115
120
|
in particular lives in `row-item-base`'s padding and `row-item-title`'s font size, so
|
|
116
121
|
`::part(row-item-base)` is the supported way to build a dense sidebar.
|
|
117
122
|
|
|
@@ -24,6 +24,10 @@ consumer-facing `disabled` property/attribute itself.
|
|
|
24
24
|
- `start: number = 0`
|
|
25
25
|
- `end: number = 100`
|
|
26
26
|
- `step: number = 1`
|
|
27
|
+
- `size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' = 'm'` (reflected) — visual size; proportionally
|
|
28
|
+
scales the handle, track, and preset buttons via a single `--lr-time-range-size-scale` multiplier
|
|
29
|
+
(not pixel-matched to `lr-input`'s row-height scale — this component's own dimensions aren't on
|
|
30
|
+
that ladder); the drag hit-area never shrinks below 24px (WCAG 2.5.8)
|
|
27
31
|
- `disabled: boolean = false` (reflected)
|
|
28
32
|
- `startLabel: string = 'Range start'` (attribute `start-label`) — `aria-label` for the start handle
|
|
29
33
|
- `endLabel: string = 'Range end'` (attribute `end-label`) — `aria-label` for the end handle
|
|
@@ -53,6 +57,10 @@ palette: `--lr-time-range-preset-active-bg` (falls back to `--lr-color-brand`),
|
|
|
53
57
|
`--lr-time-range-preset-active-color` (falls back to `--lr-color-on-brand`). Unset, each resolves
|
|
54
58
|
to exactly the token the rule used before they existed, so the default rendering is unchanged.
|
|
55
59
|
|
|
60
|
+
One additional component-local property, `--lr-time-range-size-scale` (unitless multiplier,
|
|
61
|
+
default 1, automatically set based on the `size` property), scales the handle, track, and preset
|
|
62
|
+
button dimensions proportionally — unset, it defaults to 1 (size='m', no scaling).
|
|
63
|
+
|
|
56
64
|
They exist because the active preset is marked with an attribute on a part, and
|
|
57
65
|
`::part(preset-button)[data-active]` is **invalid CSS** — an attribute selector cannot follow
|
|
58
66
|
`::part()`. Without these, recoloring just the active preset meant hijacking the shared
|
|
@@ -17,8 +17,11 @@ the last token. `value` is a `string[]` and repeated values are submitted under
|
|
|
17
17
|
|
|
18
18
|
**Properties:** `value`, `label`, `hint`, `errorText` (`error-text`), `placeholder`, `name`,
|
|
19
19
|
`required`, `disabled`, `accessibleLabel` (attribute `aria-label` — forwarded to the internal text
|
|
20
|
-
input), `
|
|
21
|
-
`
|
|
20
|
+
input), `size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' = 'm'` (reflected — same scale as `lr-input`'s
|
|
21
|
+
`size`, scaling the input-wrapper's row height and text size across six tiers; the remove button's
|
|
22
|
+
hit area stays fixed at `40px` across all sizes), `allowDuplicates` (`allow-duplicates`, default
|
|
23
|
+
`false`), `editable` (reflected, default `false` — see below), and `delimiter: string | null` (default
|
|
24
|
+
`','` — see below).
|
|
22
25
|
**Slots:** `label`, `hint`, `error`.
|
|
23
26
|
**Events:** `input`, `change`, `lr-add` (`detail: { value }`), `lr-remove`
|
|
24
27
|
(`detail: { value, index }`), and `lr-token-edit`
|
|
@@ -51,8 +54,13 @@ does not work** — that is the four-character string `null`. Use `delimiter="no
|
|
|
51
54
|
(both of which the attribute converter maps to `null`), or a property binding
|
|
52
55
|
(`.delimiter=${null}`). Removing the attribute restores the `,` default.
|
|
53
56
|
|
|
54
|
-
**Themeable custom properties:** `--lr-token-input-
|
|
55
|
-
`
|
|
56
|
-
`--lr-
|
|
57
|
-
|
|
57
|
+
**Themeable custom properties:** `--lr-token-input-padding` (the input-wrapper padding, scaled by
|
|
58
|
+
`size`), `--lr-token-input-font-size` (the input-wrapper and token font size, scaled by `size`),
|
|
59
|
+
`--lr-token-input-control-min-height` (the input-wrapper's block-size floor, scaled by `size`),
|
|
60
|
+
`--lr-token-input-control-height` (exact input-wrapper height — undeclared by default, leaving the
|
|
61
|
+
`--lr-token-input-control-min-height` floor only; set it to a length to both floor and cap the row,
|
|
62
|
+
e.g. to pixel-match a sibling field in the same toolbar row), `--lr-token-input-input-inline-size`
|
|
63
|
+
(the editable input's `flex-basis` inside the wrapped token row; undeclared by default, falling back
|
|
64
|
+
inline to `--lr-size-8rem`), `--lr-token-input-min-input-inline-size` (default `--lr-size-4rem`, the
|
|
65
|
+
floor that input keeps once tokens have consumed the row), and `--lr-token-input-editor-inline-size`
|
|
58
66
|
(default `--lr-size-6rem`, the inline size of the inline token editor opened by `editable`).
|