@aceshooting/lyra-ui 27.0.0 → 28.1.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 +67 -63
- package/README.md +7 -3
- package/dist/cli/css-declarations.mjs +1 -0
- package/dist/cli/lyra-rename-ledger.mjs +1 -1
- package/dist/cli/migrate-wa.mjs +9 -4
- package/dist/cli/migration-contract.json +1 -1
- package/dist/cli/migration-renames.mjs +2 -2
- package/dist/cli/migration-theme-scopes.mjs +3 -0
- package/dist/cli/theme-scope-vocabulary.generated.mjs +1 -0
- package/dist/components/agent-tools/activity-feed/activity-feed.class.js +1 -1
- package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.js +1 -1
- package/dist/components/agent-tools/agent-question/agent-question.class.js +1 -1
- package/dist/components/agent-tools/agent-run/agent-run.class.js +1 -1
- package/dist/components/agent-tools/agent-trace/agent-trace.class.js +1 -1
- package/dist/components/agent-tools/approval-queue/approval-queue.class.js +1 -1
- package/dist/components/agent-tools/artifact-panel/artifact-panel.class.js +1 -1
- package/dist/components/agent-tools/background-runs/background-runs.class.js +1 -1
- package/dist/components/agent-tools/browser-frame/browser-frame.class.js +1 -1
- package/dist/components/agent-tools/budget-meter/budget-meter.class.js +1 -1
- package/dist/components/agent-tools/change-review/change-review.class.js +1 -1
- package/dist/components/agent-tools/commit-card/commit-card.class.js +1 -1
- package/dist/components/agent-tools/compare-panel/compare-panel.class.js +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +1 -1
- package/dist/components/agent-tools/connector-manager/connector-manager.class.js +1 -1
- package/dist/components/agent-tools/context-inspector/context-inspector.class.js +1 -1
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js +1 -1
- package/dist/components/agent-tools/eval-result/eval-result.class.js +1 -1
- package/dist/components/agent-tools/evaluation-run/evaluation-run.class.js +1 -1
- package/dist/components/agent-tools/mcp-app/mcp-app.class.js +1 -1
- package/dist/components/agent-tools/permission-grant/permission-grant.class.js +1 -1
- package/dist/components/agent-tools/permission-rules/permission-rules.class.js +1 -1
- package/dist/components/agent-tools/policy-summary/policy-summary.class.js +1 -1
- package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js +1 -1
- package/dist/components/agent-tools/result-card/result-field.class.js +1 -1
- package/dist/components/agent-tools/schema-viewer/schema-viewer.class.js +1 -1
- package/dist/components/agent-tools/span-waterfall/span-waterfall.class.js +1 -1
- package/dist/components/agent-tools/stack-trace/stack-trace.class.js +1 -1
- package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js +2 -2
- package/dist/components/agent-tools/task-list/task-list.class.js +2 -2
- package/dist/components/agent-tools/terminal/terminal.class.js +1 -1
- package/dist/components/agent-tools/test-results/test-results.class.js +1 -1
- package/dist/components/agent-tools/thinking-panel/thinking-panel.class.js +1 -1
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js +1 -1
- package/dist/components/agent-tools/tool-call-block/tool-call-block.class.js +1 -1
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.js +1 -1
- package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +1 -1
- package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.class.js +1 -1
- package/dist/components/agent-tools/tool-result-view/tool-result-view.class.js +1 -1
- package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.js +1 -1
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.class.js +2 -2
- package/dist/components/charts/chart/box-plot.class.d.ts +4 -2
- package/dist/components/charts/chart/box-plot.class.js +6 -5
- package/dist/components/charts/chart/chart-token-cache.js +2 -2
- package/dist/components/charts/chart/chart.class.d.ts +6 -4
- package/dist/components/charts/chart/chart.class.js +8 -7
- package/dist/components/charts/chart/histogram.class.js +1 -1
- package/dist/components/charts/chart/lite-chart.class.js +1 -1
- package/dist/components/conversation/agent-workspace/agent-workspace.class.js +1 -1
- package/dist/components/conversation/audio-visualizer/audio-visualizer.class.js +1 -1
- package/dist/components/conversation/branch-picker/branch-picker.class.js +1 -1
- package/dist/components/conversation/chat-composer/chat-composer.class.js +1 -1
- package/dist/components/conversation/chat-message/chat-message.class.js +1 -1
- package/dist/components/conversation/chat-viewport/chat-viewport.class.js +1 -1
- package/dist/components/conversation/checkpoint/checkpoint.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-base.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-core.class.js +1 -1
- package/dist/components/conversation/code-block/code-block.class.js +1 -1
- package/dist/components/conversation/conversation-item/conversation-item.class.js +1 -1
- package/dist/components/conversation/generation-metrics/generation-metrics.class.js +1 -1
- package/dist/components/conversation/handoff-divider/handoff-divider.class.js +1 -1
- package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
- package/dist/components/conversation/markdown/markdown-core.class.js +1 -1
- package/dist/components/conversation/markdown/markdown.class.js +1 -1
- package/dist/components/conversation/message-actions/message-actions.class.js +1 -1
- package/dist/components/conversation/message-feedback/message-feedback.class.js +1 -1
- package/dist/components/conversation/message-parts/message-parts.class.js +1 -1
- package/dist/components/conversation/model-select/model-select.class.js +1 -1
- package/dist/components/conversation/model-settings-panel/model-settings-panel.class.js +1 -1
- package/dist/components/conversation/prompt-input/prompt-input.class.js +1 -1
- package/dist/components/conversation/prompt-queue/prompt-queue.class.js +1 -1
- package/dist/components/conversation/push-to-talk/push-to-talk.class.js +1 -1
- package/dist/components/conversation/realtime-session/realtime-session.class.js +1 -1
- package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js +1 -1
- package/dist/components/conversation/stream-status/stream-status.class.js +1 -1
- package/dist/components/conversation/suggestion-chips/suggestion-chips.class.js +1 -1
- package/dist/components/conversation/thread-list/thread-list.class.js +1 -1
- package/dist/components/conversation/transcript-feed/transcript-feed.class.js +1 -1
- package/dist/components/conversation/typing-indicator/typing-indicator.class.js +1 -1
- package/dist/components/conversation/usage-badge/usage-badge.class.js +1 -1
- package/dist/components/conversation/voice-picker/voice-picker.class.js +1 -1
- package/dist/components/data/calendar/calendar.class.js +1 -1
- package/dist/components/data/condition-builder/condition-builder.class.js +1 -1
- package/dist/components/data/context-meter/context-meter.class.js +1 -1
- package/dist/components/data/data-grid/data-grid.class.d.ts +2 -2
- package/dist/components/data/data-grid/data-grid.class.js +3 -3
- package/dist/components/data/document-library/document-library.class.js +1 -1
- package/dist/components/data/env-list/env-list.class.js +1 -1
- package/dist/components/data/file-tree/file-tree.class.d.ts +2 -2
- package/dist/components/data/file-tree/file-tree.class.js +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.js +1 -1
- package/dist/components/data/flow-controls/flow-controls.class.js +1 -1
- package/dist/components/data/flow-minimap/flow-minimap.class.js +1 -1
- package/dist/components/data/flow-node/flow-node.class.js +1 -1
- package/dist/components/data/flow-run-status/flow-run-status.class.js +1 -1
- package/dist/components/data/funnel/funnel.class.js +1 -1
- package/dist/components/data/gauge/gauge.class.js +1 -1
- package/dist/components/data/graph-query-builder/graph-query-builder.class.js +1 -1
- package/dist/components/data/heatmap/heatmap.class.d.ts +2 -1
- package/dist/components/data/heatmap/heatmap.class.js +2 -2
- package/dist/components/data/heatmap/heatmap.styles.js +1 -1
- package/dist/components/data/pagination/pagination.class.d.ts +2 -0
- package/dist/components/data/pagination/pagination.class.js +1 -1
- package/dist/components/data/pagination/pagination.styles.js +1 -1
- package/dist/components/data/sequence-strip/sequence-strip.class.js +1 -1
- package/dist/components/data/sparkline/sparkline.class.js +1 -1
- package/dist/components/data/stat/stat.class.js +1 -1
- package/dist/components/data/table/table.class.d.ts +23 -2
- package/dist/components/data/table/table.class.js +5 -3
- package/dist/components/data/table/table.styles.js +1 -1
- package/dist/components/data/timeline/timeline.class.js +1 -1
- package/dist/components/data/tree/tree.class.js +1 -1
- package/dist/components/data/word-cloud/word-cloud.class.js +1 -1
- package/dist/components/forms/button/button.class.js +1 -1
- package/dist/components/forms/checkbox/checkbox.class.js +1 -1
- package/dist/components/forms/checkbox-group/checkbox-group.class.js +1 -1
- package/dist/components/forms/code-editor/code-editor.class.js +1 -1
- package/dist/components/forms/color-picker/color-picker.class.d.ts +8 -4
- package/dist/components/forms/color-picker/color-picker.class.js +2 -2
- package/dist/components/forms/combobox/combobox.class.js +1 -1
- package/dist/components/forms/country-picker/country-picker.class.js +1 -1
- package/dist/components/forms/currency-picker/currency-picker.class.js +1 -1
- package/dist/components/forms/date-picker/date-input.class.js +1 -1
- package/dist/components/forms/date-picker/date-picker.class.js +1 -1
- package/dist/components/forms/emoji-picker/emoji-data-loader.js +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +7 -4
- package/dist/components/forms/emoji-picker/emoji-picker.class.js +5 -5
- package/dist/components/forms/icon-button/icon-button.class.d.ts +4 -0
- 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-shared.js +1 -1
- package/dist/components/forms/input/input.class.js +1 -1
- package/dist/components/forms/input/native-time-input.class.js +1 -1
- package/dist/components/forms/input/number-input.class.js +1 -1
- package/dist/components/forms/input/time-input.class.js +1 -1
- package/dist/components/forms/locale-picker/locale-picker.class.js +1 -1
- package/dist/components/forms/otp-input/otp-input.class.js +1 -1
- package/dist/components/forms/phone-input/phone-input.class.js +1 -1
- package/dist/components/forms/radio/radio-group.class.js +1 -1
- package/dist/components/forms/radio/radio.class.js +1 -1
- package/dist/components/forms/rubric-form/rubric-form.class.js +4 -4
- package/dist/components/forms/select/select.class.js +1 -1
- package/dist/components/forms/signature-pad/signature-pad.class.js +1 -1
- package/dist/components/forms/slider/slider.class.js +1 -1
- package/dist/components/forms/switch/switch.class.js +1 -1
- package/dist/components/forms/textarea/textarea.class.js +1 -1
- package/dist/components/forms/time-range/time-range.class.js +1 -1
- package/dist/components/forms/time-zone-picker/time-zone-picker.class.js +1 -1
- package/dist/components/forms/token-input/token-input.class.js +1 -1
- package/dist/components/forms/unit-picker/unit-picker.class.js +1 -1
- package/dist/components/layout/app-rail/app-rail-item.class.js +1 -1
- package/dist/components/layout/app-rail/app-rail.class.d.ts +70 -7
- package/dist/components/layout/app-rail/app-rail.class.js +16 -4
- package/dist/components/layout/app-rail/app-rail.styles.js +1 -1
- package/dist/components/layout/app-rail-group/app-rail-group.class.js +1 -1
- package/dist/components/layout/breadcrumb/breadcrumb.class.js +1 -1
- package/dist/components/layout/card/card.class.js +1 -1
- package/dist/components/layout/carousel/carousel.class.js +1 -1
- package/dist/components/layout/command-palette/command-palette.class.js +1 -1
- package/dist/components/layout/dashboard-grid/dashboard-grid.class.js +1 -1
- package/dist/components/layout/details/accordion-item.class.js +1 -1
- package/dist/components/layout/details/details.class.js +1 -1
- package/dist/components/layout/dock-panel/dock-panel.class.js +1 -1
- package/dist/components/layout/drilldown-panel/drilldown-panel.class.js +1 -1
- package/dist/components/layout/filter-bar/filter-bar.class.js +1 -1
- package/dist/components/layout/menu/menu.class.js +1 -1
- package/dist/components/layout/menubar/menubar.class.js +1 -1
- package/dist/components/layout/multi-split/multi-split.class.js +1 -1
- package/dist/components/layout/navigation-menu/navigation-menu.class.js +1 -1
- package/dist/components/layout/page/page.class.js +1 -1
- package/dist/components/layout/reorder-list/reorder-item.class.js +1 -1
- package/dist/components/layout/reorder-list/reorder-list.class.js +1 -1
- package/dist/components/layout/responsive-panel/responsive-panel.class.js +1 -1
- package/dist/components/layout/scroller/scroller.class.js +1 -1
- package/dist/components/layout/segmented/segmented.class.d.ts +7 -4
- package/dist/components/layout/segmented/segmented.styles.js +1 -1
- package/dist/components/layout/split-panel/split-panel.class.js +1 -1
- package/dist/components/layout/tab-group/tab-group.class.js +1 -1
- package/dist/components/layout/tab-group/tab.class.js +1 -1
- package/dist/components/layout/virtual-list/virtual-list.styles.js +1 -1
- package/dist/components/layout/widget/widget.class.js +1 -1
- package/dist/components/media/animated-image/animated-image.class.js +1 -1
- package/dist/components/media/attachment-chip/attachment-chip.class.js +1 -1
- package/dist/components/media/attachment-trigger/attachment-trigger.class.js +2 -2
- package/dist/components/media/av-player/av-player.class.js +1 -1
- package/dist/components/media/avatar-group/avatar-group.class.js +1 -1
- package/dist/components/media/drop-zone/drop-zone.class.js +1 -1
- package/dist/components/media/file-icon/file-icon.class.js +1 -1
- package/dist/components/media/file-input/file-input.class.js +1 -1
- package/dist/components/media/flag/flag.class.js +1 -1
- package/dist/components/media/image-comparer/image-comparer.class.js +1 -1
- package/dist/components/media/image-viewer/image-viewer.class.d.ts +2 -1
- package/dist/components/media/image-viewer/image-viewer.class.js +4 -2
- package/dist/components/media/image-viewer/image-viewer.styles.js +1 -1
- package/dist/components/media/lightbox/lightbox.class.js +1 -1
- package/dist/components/media/map/map.class.js +1 -1
- package/dist/components/media/media-card/media-card.class.js +1 -1
- package/dist/components/media/pan-zoom/pan-zoom.class.js +1 -1
- package/dist/components/media/qr-code/qr-code.class.d.ts +2 -2
- package/dist/components/media/qr-code/qr-code.class.js +1 -1
- package/dist/components/media/sequence-playback/sequence-playback.class.js +1 -1
- package/dist/components/media/video/video.class.js +1 -1
- package/dist/components/media/video-playlist/video-playlist.class.js +1 -1
- package/dist/components/media/zoomable-frame/zoomable-frame.class.js +1 -1
- package/dist/components/overlays/alert/alert.class.js +1 -1
- package/dist/components/overlays/badge/tag.class.js +1 -1
- package/dist/components/overlays/callout/callout.class.js +1 -1
- package/dist/components/overlays/chip/chip-group.class.js +1 -1
- package/dist/components/overlays/chip/chip.class.js +1 -1
- package/dist/components/overlays/context-menu/context-menu.class.js +1 -1
- package/dist/components/overlays/dialog/confirm.js +1 -1
- package/dist/components/overlays/dialog/dialog.class.js +1 -1
- package/dist/components/overlays/kbd/kbd.class.js +1 -1
- package/dist/components/overlays/overlay/popover.class.js +1 -1
- package/dist/components/overlays/overlay/tooltip.class.js +1 -1
- package/dist/components/overlays/progress/progress-bar.class.js +1 -1
- package/dist/components/overlays/progress/progress-ring.class.js +1 -1
- package/dist/components/overlays/rating/rating.class.js +1 -1
- package/dist/components/overlays/skeleton/skeleton.class.js +1 -1
- package/dist/components/overlays/spinner/spinner.class.js +1 -1
- package/dist/components/overlays/toast/toast-item.class.js +1 -1
- package/dist/components/overlays/toast/toast.class.js +1 -1
- package/dist/components/retrieval/chunk-inspector/chunk-inspector.class.js +1 -1
- package/dist/components/retrieval/citation-badge/citation-badge.class.js +1 -1
- package/dist/components/retrieval/claim-evidence/claim-evidence.class.js +1 -1
- package/dist/components/retrieval/community-card/community-card.class.js +1 -1
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +1 -1
- package/dist/components/retrieval/entity-card/entity-card.class.js +1 -1
- package/dist/components/retrieval/entity-chip/entity-chip.class.js +1 -1
- package/dist/components/retrieval/entity-dossier/entity-dossier.class.js +1 -1
- package/dist/components/retrieval/graph/graph.class.js +1 -1
- package/dist/components/retrieval/graph-legend/graph-legend.class.js +1 -1
- package/dist/components/retrieval/grounding-summary/grounding-summary.class.js +2 -2
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js +1 -1
- package/dist/components/retrieval/knowledge-base/knowledge-base.class.js +1 -1
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +1 -1
- package/dist/components/retrieval/memory-panel/memory-panel.class.js +1 -1
- package/dist/components/retrieval/mind-map/mind-map.class.js +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.js +1 -1
- package/dist/components/retrieval/node-palette/node-palette.class.js +1 -1
- package/dist/components/retrieval/path-strip/path-strip.class.js +1 -1
- package/dist/components/retrieval/provenance-panel/provenance-panel.class.js +1 -1
- package/dist/components/retrieval/rag-answer/rag-answer.class.js +1 -1
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js +1 -1
- package/dist/components/retrieval/research-progress/research-progress.class.js +1 -1
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.js +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.js +1 -1
- package/dist/components/retrieval/retrieval-search/retrieval-search.class.js +1 -1
- package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.js +1 -1
- package/dist/components/retrieval/source-card/source-card.class.js +1 -1
- package/dist/components/retrieval/source-list/source-list.class.js +1 -1
- package/dist/components/retrieval/source-picker/source-picker.class.js +1 -1
- package/dist/components/utility/copy-button/copy-button.class.js +1 -1
- package/dist/components/utility/diff-view/diff-view.class.js +1 -1
- package/dist/components/utility/export-button/export-button.class.js +1 -1
- package/dist/components/utility/icon/icon.class.js +1 -1
- package/dist/components/utility/json-viewer/json-viewer.class.js +1 -1
- package/dist/components/utility/known-date/known-date.class.js +1 -1
- package/dist/components/utility/mention-popover/mention-popover.class.js +1 -1
- package/dist/components/utility/poll-status/poll-status.class.js +1 -1
- package/dist/components/utility/random-content/random-content.class.js +1 -1
- package/dist/components/utility/tour/tour.class.js +1 -1
- package/dist/components/viewers/archive-viewer/archive-viewer.class.js +1 -1
- package/dist/components/viewers/calendar-viewer/calendar-viewer.class.js +1 -1
- package/dist/components/viewers/contact-viewer/contact-viewer.class.js +1 -1
- package/dist/components/viewers/csv-viewer/csv-viewer.class.js +1 -1
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +2 -2
- package/dist/components/viewers/document-compare/document-compare.class.js +1 -1
- package/dist/components/viewers/document-preview/document-preview.class.js +1 -1
- package/dist/components/viewers/document-viewer/document-viewer.class.js +1 -1
- package/dist/components/viewers/docx-viewer/docx-viewer.class.js +1 -1
- package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +1 -1
- package/dist/components/viewers/email-viewer/email-viewer.class.js +1 -1
- package/dist/components/viewers/geojson-view/geojson-view.class.js +1 -1
- package/dist/components/viewers/geojson-view/geojson-viewer.class.js +1 -1
- package/dist/components/viewers/highlight-layer/highlight-layer.class.js +1 -1
- package/dist/components/viewers/html-viewer/html-viewer.class.js +1 -1
- package/dist/components/viewers/include/include.class.js +1 -1
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +1 -1
- package/dist/components/viewers/page-rail/page-rail.class.d.ts +1 -1
- package/dist/components/viewers/page-rail/page-rail.class.js +3 -3
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +2 -2
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +2 -2
- package/dist/components/viewers/pptx-viewer/pptx-viewer.class.js +1 -1
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +1 -1
- package/dist/components/viewers/svg-viewer/svg-viewer.class.js +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.class.js +1 -1
- package/dist/events.d.ts +6 -1
- package/dist/framework-types.d.ts +1 -1
- package/dist/internal/accessibility-visibility.js +1 -1
- package/dist/internal/collection-snapshot.js +1 -1
- package/dist/internal/default-strings/agent-tools.generated.js +1 -0
- package/dist/internal/default-strings/charts.generated.js +1 -0
- package/dist/internal/default-strings/conversation.generated.js +1 -0
- package/dist/internal/default-strings/data.generated.js +1 -0
- package/dist/internal/default-strings/forms.generated.js +1 -0
- package/dist/internal/default-strings/layout.generated.js +1 -0
- package/dist/internal/default-strings/media.generated.js +1 -0
- package/dist/internal/default-strings/overlays.generated.js +1 -0
- package/dist/internal/default-strings/retrieval.generated.js +1 -0
- package/dist/internal/default-strings/shared.generated.js +1 -0
- package/dist/internal/default-strings/utility.generated.js +1 -0
- package/dist/internal/default-strings/viewers.generated.js +5 -0
- package/dist/internal/dev-mode-attribute-warning.development.js +1 -1
- package/dist/internal/dev-mode-attribute-warning.production.js +1 -1
- package/dist/internal/document-tokens.d.ts +11 -0
- package/dist/internal/document-tokens.generated.js +15 -0
- package/dist/internal/document-tokens.js +3 -0
- package/dist/internal/form-associated.d.ts +1 -1
- package/dist/internal/form-associated.js +1 -1
- package/dist/internal/glass-surface.styles.js +1 -1
- package/dist/internal/host-tokens.styles.js +1 -0
- package/dist/internal/image-zoom.js +1 -0
- package/dist/internal/intl-cache.js +1 -1
- package/dist/internal/localization-types.d.ts +1 -1
- package/dist/internal/localization.js +2 -2
- package/dist/internal/lyra-element.d.ts +4 -2
- package/dist/internal/lyra-element.js +2 -2
- package/dist/internal/nonmodal-overlay-manager.js +1 -1
- package/dist/internal/opaque-content-border.styles.js +1 -1
- package/dist/internal/open-overlay-ancestors.js +1 -0
- package/dist/internal/open-overlay-raise.styles.js +1 -0
- package/dist/internal/optional-peer-failure.js +1 -0
- package/dist/internal/package-metadata.js +1 -1
- package/dist/internal/prefix.js +1 -1
- package/dist/internal/specialist-host-tokens.styles.js +1 -0
- package/dist/internal/specialist-tokens.generated.js +2 -0
- package/dist/internal/step-value.js +1 -1
- package/dist/internal/theme-observation.js +1 -1
- package/dist/internal/theme-scopes.d.ts +11 -0
- package/dist/internal/theme-scopes.js +1 -0
- package/dist/looks/shadcn.css +1 -1
- package/dist/lyra.d.ts +1 -1
- package/dist/lyra.js +1 -1
- package/dist/styles/design-tokens.css +1 -1
- package/dist/styles/tokens-root.css +1 -1
- package/dist/surfaces/glass.css +1 -1
- package/dist/testing/happy-dom-shims.d.ts +22 -1
- package/dist/testing/happy-dom-shims.js +1 -1
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.js +1 -1
- package/dist/testing/interaction-drivers.d.ts +66 -7
- package/dist/testing/interaction-drivers.js +1 -1
- package/dist/testing/jsdom-shims.d.ts +70 -0
- package/dist/testing/jsdom-shims.js +1 -0
- package/dist/theme/look-inputs.d.ts +1 -1
- package/dist/theme/look-inputs.js +37 -41
- package/dist/theme/theme.d.ts +13 -0
- package/dist/theme/theme.js +1 -1
- package/dist/theme.css +1 -1
- package/dist/utilities/index.d.ts +1 -1
- package/dist/utilities/index.js +1 -1
- package/dist/utilities/scoped-registry.d.ts +3 -0
- package/dist/utilities/scoped-registry.js +1 -1
- package/dist/utilities/theme-scopes.d.ts +1 -0
- package/dist/utilities/theme-scopes.js +1 -0
- package/dist/utilities/tokens.d.ts +1 -0
- package/dist/utilities/tokens.js +1 -0
- package/llms/components/lr-app-rail.md +51 -4
- package/llms/components/lr-box-plot.md +5 -0
- package/llms/components/lr-chart.md +6 -0
- package/llms/components/lr-emoji-picker.md +13 -8
- package/llms/components/lr-heatmap.md +10 -2
- package/llms/components/lr-icon-button.md +13 -1
- package/llms/components/lr-image-viewer.md +8 -0
- package/llms/components/lr-pagination.md +4 -2
- package/llms/components/lr-segmented.md +7 -3
- package/llms/components/lr-table.md +14 -12
- package/llms/components/lr-thread-list.md +4 -3
- package/llms/migration.md +9 -0
- package/llms/peers.md +1 -1
- package/llms/shared/events-and-types.md +41 -0
- package/llms/shared/frameworks-and-ssr.md +16 -0
- package/llms/shared/imports-and-registration.md +4 -3
- package/llms/shared/native-styles-and-utilities.md +38 -3
- package/llms/shared/styles-and-tokens.md +242 -102
- package/llms/shared/testing-and-utilities.md +104 -7
- package/llms/shared.md +445 -115
- package/llms/tokens.md +31 -49
- package/locales.json +138 -138
- package/package.json +16 -8
- package/registrations.json +1 -1
- package/dist/internal/default-strings.generated.js +0 -5
- package/dist/internal/specialist-tokens.styles.js +0 -1
- package/dist/internal/tokens/palette.styles.js +0 -1
- package/dist/internal/tokens.styles.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer lr-base;@layer lr-theme{:where(.lr-token-light,[data-lr-design-token-mode=light]){--lr-theme-border-radius-m:.5rem;--lr-theme-border-radius-pill:999px;--lr-theme-border-radius-xs:.25rem;--lr-theme-border-width-medium:2px;--lr-theme-border-width-thick:3px;--lr-theme-border-width-thin:1px;--lr-theme-color-border-strong:#919191;--lr-theme-color-brand-border-loud:#15553e;--lr-theme-color-brand-border-normal:#41866d;--lr-theme-color-brand-border-quiet:#b2eed8;--lr-theme-color-brand-fill-loud:#1a6a4d;--lr-theme-color-brand-fill-normal:#8fe7c7;--lr-theme-color-brand-fill-quiet:#e3f9f1;--lr-theme-color-brand-on-loud:#fff;--lr-theme-color-brand-on-normal:#000;--lr-theme-color-brand-on-quiet:#000;--lr-theme-color-chart-1:#0e006e;--lr-theme-color-chart-2:#4d011a;--lr-theme-color-chart-3:#862002;--lr-theme-color-chart-4:#503983;--lr-theme-color-chart-5:#315fdd;--lr-theme-color-chart-6:#935e7c;--lr-theme-color-chart-7:#de6906;--lr-theme-color-chart-8:#8f81d3;--lr-theme-color-chart-diverging-1:#9a3412;--lr-theme-color-chart-diverging-2:#f5f5f5;--lr-theme-color-chart-diverging-3:#075985;--lr-theme-color-chart-sequential-1:#e5e5e5;--lr-theme-color-chart-sequential-2:#737373;--lr-theme-color-chart-sequential-3:#171717;--lr-theme-color-danger-border-loud:#890415;--lr-theme-color-danger-border-normal:#dc3e41;--lr-theme-color-danger-border-quiet:#ffa099;--lr-theme-color-danger-fill-loud:#d6000a;--lr-theme-color-danger-fill-normal:#ffa099;--lr-theme-color-danger-fill-quiet:#ffe9e6;--lr-theme-color-danger-on-loud:#fff;--lr-theme-color-danger-on-normal:#000001;--lr-theme-color-danger-on-quiet:#000001;--lr-theme-color-focus:#1f7f5c;--lr-theme-color-mix-active:22%;--lr-theme-color-mix-hover:12%;--lr-theme-color-mix-partner:#737373;--lr-theme-color-neutral-border-loud:#15553e;--lr-theme-color-neutral-border-normal:#737373;--lr-theme-color-neutral-border-quiet:#e5e5e5;--lr-theme-color-neutral-fill-loud:#1a6a4d;--lr-theme-color-neutral-fill-normal:#e5e5e5;--lr-theme-color-neutral-fill-quiet:#f5f5f5;--lr-theme-color-neutral-on-loud:#fff;--lr-theme-color-neutral-on-normal:#171717;--lr-theme-color-neutral-on-quiet:#171717;--lr-theme-color-no-data:#80808040;--lr-theme-color-on-strong-overlay:#fff;--lr-theme-color-overlay:#00000080;--lr-theme-color-overlay-strong:#000000eb;--lr-theme-color-shadow:#000;--lr-theme-color-success-border-loud:#00571f;--lr-theme-color-success-border-normal:#3e9550;--lr-theme-color-success-border-quiet:#91d09a;--lr-theme-color-success-fill-loud:#0c7830;--lr-theme-color-success-fill-normal:#91d09a;--lr-theme-color-success-fill-quiet:#d3fbd8;--lr-theme-color-success-on-loud:#edeef1;--lr-theme-color-success-on-normal:#000001;--lr-theme-color-success-on-quiet:#000001;--lr-theme-color-surface-border:#919191;--lr-theme-color-surface-border-subtle:#e5e5e5;--lr-theme-color-surface-default:#fff;--lr-theme-color-surface-overlay:#fff;--lr-theme-color-surface-raised:#fafafa;--lr-theme-color-text-normal:#0a0a0a;--lr-theme-color-text-quiet:#737373;--lr-theme-color-warning-border-loud:#624001;--lr-theme-color-warning-border-normal:#a77526;--lr-theme-color-warning-border-quiet:#ddb781;--lr-theme-color-warning-fill-loud:#855905;--lr-theme-color-warning-fill-normal:#ddb781;--lr-theme-color-warning-fill-quiet:#ffebd2;--lr-theme-color-warning-on-loud:#edeef1;--lr-theme-color-warning-on-normal:#000001;--lr-theme-color-warning-on-quiet:#000001;--lr-theme-duration-fast:.12s;--lr-theme-duration-icon:1s;--lr-theme-duration-normal:.18s;--lr-theme-duration-slow:1.8s;--lr-theme-easing-emphasized:ease-in-out;--lr-theme-easing-linear:linear;--lr-theme-easing-standard:ease-out;--lr-theme-focus-ring-offset:0px;--lr-theme-focus-ring-width:3px;--lr-theme-font-family-body:"Geist", "Inter", ui-sans-serif, system-ui, sans-serif;--lr-theme-font-family-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lr-theme-font-size-2xl:1.75rem;--lr-theme-font-size-2xs:.625rem;--lr-theme-font-size-3xl:2rem;--lr-theme-font-size-3xs:.5rem;--lr-theme-font-size-lg:1.125rem;--lr-theme-font-size-m:.875rem;--lr-theme-font-size-md-sm:.875rem;--lr-theme-font-size-sm:.8125rem;--lr-theme-font-size-xl:1.25rem;--lr-theme-font-size-xs:.75rem;--lr-theme-font-weight-bold:700;--lr-theme-font-weight-medium:500;--lr-theme-font-weight-normal:400;--lr-theme-font-weight-semibold:600;--lr-theme-form-control-height-2xs:1.25rem;--lr-theme-form-control-height-l:2.5rem;--lr-theme-form-control-height-m:2.25rem;--lr-theme-form-control-height-s:2rem;--lr-theme-form-control-height-xl:3.5rem;--lr-theme-form-control-height-xs:1.5rem;--lr-theme-graph-cat-1:#8250df;--lr-theme-graph-cat-2:#bf3989;--lr-theme-graph-cat-3:#0a7d91;--lr-theme-graph-cat-4:#57606a;--lr-theme-graph-cat-5:#b083f5;--lr-theme-graph-cat-6:#f470b8;--lr-theme-graph-cat-7:#52d6e8;--lr-theme-graph-cat-8:#c9d1d9;--lr-theme-heading-letter-spacing:-.025em;--lr-theme-hover-brightness:1.08;--lr-theme-icon-button-size:2.25rem;--lr-theme-line-break:initial;--lr-theme-line-height-1-4:1.4;--lr-theme-line-height-compact:1.25;--lr-theme-line-height-loose:1.6;--lr-theme-line-height-none:1;--lr-theme-line-height-normal:1.5;--lr-theme-line-height-snug:1.3;--lr-theme-opacity-disabled:.5;--lr-theme-opacity-muted:.85;--lr-theme-otp-input-segment-size:2.5em;--lr-theme-popover-viewport-clamp:92vw;--lr-theme-scroll-fade-size:2rem;--lr-theme-shadow-color:0 0 0;--lr-theme-shadow-l:0 10px 15px -3px rgb(var(--lr-theme-shadow-color,0 0 0) / .1), 0 4px 6px -4px rgb(var(--lr-theme-shadow-color,0 0 0) / .1);--lr-theme-shadow-m:0 4px 6px -1px rgb(var(--lr-theme-shadow-color,0 0 0) / .1), 0 2px 4px -2px rgb(var(--lr-theme-shadow-color,0 0 0) / .1);--lr-theme-shadow-s:0 1px 3px 0 rgb(var(--lr-theme-shadow-color,0 0 0) / .1), 0 1px 2px -1px rgb(var(--lr-theme-shadow-color,0 0 0) / .1);--lr-theme-shadow-xl:0 20px 25px -5px rgb(var(--lr-theme-shadow-color,0 0 0) / .1), 0 8px 10px -6px rgb(var(--lr-theme-shadow-color,0 0 0) / .1);--lr-theme-shadow-xs:0 1px 2px 0 rgb(var(--lr-theme-shadow-color,0 0 0) / .05);--lr-theme-size-0-02em:.02em;--lr-theme-size-0-03em:.03em;--lr-theme-size-0-04em:.04em;--lr-theme-size-0-05rem:.05rem;--lr-theme-size-0-0625rem:.0625rem;--lr-theme-size-0-09375rem:.09375rem;--lr-theme-size-0-125rem:.125rem;--lr-theme-size-0-15rem:.15rem;--lr-theme-size-0-1875rem:.1875rem;--lr-theme-size-0-1rem:.1rem;--lr-theme-size-0-25rem:.25rem;--lr-theme-size-0-3125rem:.3125rem;--lr-theme-size-0-35em:.35em;--lr-theme-size-0-375rem:.375rem;--lr-theme-size-0-3em:.3em;--lr-theme-size-0-4375rem:.4375rem;--lr-theme-size-0-4em:.4em;--lr-theme-size-0-4rem:.4rem;--lr-theme-size-0-5em:.5em;--lr-theme-size-0-5rem:.5rem;--lr-theme-size-0-625rem:.625rem;--lr-theme-size-0-6875rem:.6875rem;--lr-theme-size-0-6rem:.6rem;--lr-theme-size-0-75em:.75em;--lr-theme-size-0-75rem:.75rem;--lr-theme-size-0-7em:.7em;--lr-theme-size-0-875em:.875em;--lr-theme-size-0-8rem:.8rem;--lr-theme-size-0-9375rem:.9375rem;--lr-theme-size-1-0625rem:1.0625rem;--lr-theme-size-1-1rem:1.1rem;--lr-theme-size-1-25rem:1.25rem;--lr-theme-size-1-5em:1.5em;--lr-theme-size-1-5rem:1.5rem;--lr-theme-size-1-75rem:1.75rem;--lr-theme-size-10px:10px;--lr-theme-size-10rem:10rem;--lr-theme-size-12em:12em;--lr-theme-size-12rem:12rem;--lr-theme-size-14px:14px;--lr-theme-size-14rem:14rem;--lr-theme-size-15rem:15rem;--lr-theme-size-16px:16px;--lr-theme-size-16rem:16rem;--lr-theme-size-18rem:18rem;--lr-theme-size-1em:1em;--lr-theme-size-1px:1px;--lr-theme-size-1rem:1rem;--lr-theme-size-2-25rem:2.25rem;--lr-theme-size-2-5ch:2.5ch;--lr-theme-size-2-5rem:2.5rem;--lr-theme-size-20rem:20rem;--lr-theme-size-22rem:22rem;--lr-theme-size-24px:24px;--lr-theme-size-24rem:24rem;--lr-theme-size-280px:280px;--lr-theme-size-28px:28px;--lr-theme-size-28rem:28rem;--lr-theme-size-2px:2px;--lr-theme-size-2rem:2rem;--lr-theme-size-3-5em:3.5em;--lr-theme-size-3-5rem:3.5rem;--lr-theme-size-30rem:30rem;--lr-theme-size-32rem:32rem;--lr-theme-size-36rem:36rem;--lr-theme-size-38rem:38rem;--lr-theme-size-3ch:3ch;--lr-theme-size-3px:3px;--lr-theme-size-3rem:3rem;--lr-theme-size-48rem:48rem;--lr-theme-size-4ch:4ch;--lr-theme-size-4px:4px;--lr-theme-size-4rem:4rem;--lr-theme-size-5em:5em;--lr-theme-size-5rem:5rem;--lr-theme-size-6ch:6ch;--lr-theme-size-6em:6em;--lr-theme-size-6px:6px;--lr-theme-size-6rem:6rem;--lr-theme-size-7rem:7rem;--lr-theme-size-8em:8em;--lr-theme-size-8rem:8rem;--lr-theme-size-neg-0-15rem:-.15rem;--lr-theme-size-neg-0-25rem:-.25rem;--lr-theme-size-neg-1px:-1px;--lr-theme-size-neg-4px:-4px;--lr-theme-size-neg-6px:-6px;--lr-theme-size-neg-8px:-8px;--lr-theme-space-2xl:2rem;--lr-theme-space-2xs:.125rem;--lr-theme-space-l:1rem;--lr-theme-space-m:.75rem;--lr-theme-space-s:.5rem;--lr-theme-space-xs:.25rem;--lr-theme-terminal-bg-black:#868686;--lr-theme-terminal-bg-blue:#88a6d4;--lr-theme-terminal-bg-bright-black:#9e9e9e;--lr-theme-terminal-bg-bright-blue:#a2c6fb;--lr-theme-terminal-bg-bright-cyan:#8dd2da;--lr-theme-terminal-bg-bright-green:#a4d2a4;--lr-theme-terminal-bg-bright-magenta:#d6b4f0;--lr-theme-terminal-bg-bright-red:#f9aea5;--lr-theme-terminal-bg-bright-white:#d1d1d1;--lr-theme-terminal-bg-bright-yellow:#d8c288;--lr-theme-terminal-bg-cyan:#77b0b6;--lr-theme-terminal-bg-green:#89b18a;--lr-theme-terminal-bg-magenta:#b497cb;--lr-theme-terminal-bg-red:#d2918a;--lr-theme-terminal-bg-white:#b7b7b7;--lr-theme-terminal-bg-yellow:#b6a372;--lr-theme-terminal-color-black:#2b2b2b;--lr-theme-terminal-color-blue:#06489c;--lr-theme-terminal-color-bright-black:#404040;--lr-theme-terminal-color-bright-blue:#145ec1;--lr-theme-terminal-color-bright-cyan:#04717a;--lr-theme-terminal-color-bright-green:#01791e;--lr-theme-terminal-color-bright-magenta:#823bae;--lr-theme-terminal-color-bright-red:#b32322;--lr-theme-terminal-color-bright-white:#6c6c6c;--lr-theme-terminal-color-bright-yellow:#796005;--lr-theme-terminal-color-cyan:#02585f;--lr-theme-terminal-color-green:#015e15;--lr-theme-terminal-color-magenta:#67298c;--lr-theme-terminal-color-red:#901114;--lr-theme-terminal-color-white:#555;--lr-theme-terminal-color-yellow:#5f4a03;--lr-theme-transition-fast:.12s ease-out;--lr-theme-transition-normal:.18s ease-out;--lr-theme-transition-slow:1.8s ease-in-out;--lr-theme-word-break:initial;--lr-theme-z-index-base:0;--lr-theme-z-index-content:1;--lr-theme-z-index-dropdown:900;--lr-theme-z-index-modal:1000;--lr-theme-z-index-popover:1000;--lr-theme-z-index-toast:9999}:where(.lr-token-dark,[data-lr-design-token-mode=dark]){color-scheme:dark;--lr-theme-border-radius-m:.5rem;--lr-theme-border-radius-pill:999px;--lr-theme-border-radius-xs:.25rem;--lr-theme-border-width-medium:2px;--lr-theme-border-width-thick:3px;--lr-theme-border-width-thin:1px;--lr-theme-color-border-strong:#646464;--lr-theme-color-brand-border-loud:#5ddcad;--lr-theme-color-brand-border-normal:#2eaa7d;--lr-theme-color-brand-border-quiet:#266f54;--lr-theme-color-brand-fill-loud:#34d399;--lr-theme-color-brand-fill-normal:#2a8d69;--lr-theme-color-brand-fill-quiet:#204638;--lr-theme-color-brand-on-loud:#000;--lr-theme-color-brand-on-normal:#000;--lr-theme-color-brand-on-quiet:#fff;--lr-theme-color-chart-1:#bbff94;--lr-theme-color-chart-2:#ffbce8;--lr-theme-color-chart-3:#2bd66a;--lr-theme-color-chart-4:#bb99cb;--lr-theme-color-chart-5:#7888fe;--lr-theme-color-chart-6:#9b6b90;--lr-theme-color-chart-7:#db3a29;--lr-theme-color-chart-8:#555de3;--lr-theme-color-chart-diverging-1:#fdba74;--lr-theme-color-chart-diverging-2:#404040;--lr-theme-color-chart-diverging-3:#7dd3fc;--lr-theme-color-chart-sequential-1:#262626;--lr-theme-color-chart-sequential-2:#a3a3a3;--lr-theme-color-chart-sequential-3:#fafafa;--lr-theme-color-danger-border-loud:#f86b66;--lr-theme-color-danger-border-normal:#dc3e41;--lr-theme-color-danger-border-quiet:#5c010a;--lr-theme-color-danger-fill-loud:#ff6467;--lr-theme-color-danger-fill-normal:#bb0320;--lr-theme-color-danger-fill-quiet:#5c010a;--lr-theme-color-danger-on-loud:#0a0a0a;--lr-theme-color-danger-on-normal:#edeef1;--lr-theme-color-danger-on-quiet:#edeef1;--lr-theme-color-focus:#34d399;--lr-theme-color-mix-active:22%;--lr-theme-color-mix-hover:12%;--lr-theme-color-mix-partner:#737373;--lr-theme-color-neutral-border-loud:#5ddcad;--lr-theme-color-neutral-border-normal:#a1a1a1;--lr-theme-color-neutral-border-quiet:#262626;--lr-theme-color-neutral-fill-loud:#34d399;--lr-theme-color-neutral-fill-normal:#404040;--lr-theme-color-neutral-fill-quiet:#262626;--lr-theme-color-neutral-on-loud:#000;--lr-theme-color-neutral-on-normal:#fafafa;--lr-theme-color-neutral-on-quiet:#fafafa;--lr-theme-color-no-data:#b4b4b44d;--lr-theme-color-on-strong-overlay:#fff;--lr-theme-color-overlay:#000000b8;--lr-theme-color-overlay-strong:#000000f2;--lr-theme-color-shadow:#000;--lr-theme-color-success-border-loud:#67b374;--lr-theme-color-success-border-normal:#3e9550;--lr-theme-color-success-border-quiet:#013912;--lr-theme-color-success-fill-loud:#67b374;--lr-theme-color-success-fill-normal:#0c7830;--lr-theme-color-success-fill-quiet:#013912;--lr-theme-color-success-on-loud:#000001;--lr-theme-color-success-on-normal:#edeef1;--lr-theme-color-success-on-quiet:#edeef1;--lr-theme-color-surface-border:#646464;--lr-theme-color-surface-border-subtle:#ffffff1a;--lr-theme-color-surface-default:#0a0a0a;--lr-theme-color-surface-overlay:#171717;--lr-theme-color-surface-raised:#171717;--lr-theme-color-text-normal:#fafafa;--lr-theme-color-text-quiet:#a1a1a1;--lr-theme-color-warning-border-loud:#c39554;--lr-theme-color-warning-border-normal:#a77526;--lr-theme-color-warning-border-quiet:#402801;--lr-theme-color-warning-fill-loud:#c39554;--lr-theme-color-warning-fill-normal:#855905;--lr-theme-color-warning-fill-quiet:#402801;--lr-theme-color-warning-on-loud:#000001;--lr-theme-color-warning-on-normal:#edeef1;--lr-theme-color-warning-on-quiet:#edeef1;--lr-theme-duration-fast:.12s;--lr-theme-duration-icon:1s;--lr-theme-duration-normal:.18s;--lr-theme-duration-slow:1.8s;--lr-theme-easing-emphasized:ease-in-out;--lr-theme-easing-linear:linear;--lr-theme-easing-standard:ease-out;--lr-theme-focus-ring-offset:0px;--lr-theme-focus-ring-width:3px;--lr-theme-font-family-body:"Geist", "Inter", ui-sans-serif, system-ui, sans-serif;--lr-theme-font-family-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lr-theme-font-size-2xl:1.75rem;--lr-theme-font-size-2xs:.625rem;--lr-theme-font-size-3xl:2rem;--lr-theme-font-size-3xs:.5rem;--lr-theme-font-size-lg:1.125rem;--lr-theme-font-size-m:.875rem;--lr-theme-font-size-md-sm:.875rem;--lr-theme-font-size-sm:.8125rem;--lr-theme-font-size-xl:1.25rem;--lr-theme-font-size-xs:.75rem;--lr-theme-font-weight-bold:700;--lr-theme-font-weight-medium:500;--lr-theme-font-weight-normal:400;--lr-theme-font-weight-semibold:600;--lr-theme-form-control-height-2xs:1.25rem;--lr-theme-form-control-height-l:2.5rem;--lr-theme-form-control-height-m:2.25rem;--lr-theme-form-control-height-s:2rem;--lr-theme-form-control-height-xl:3.5rem;--lr-theme-form-control-height-xs:1.5rem;--lr-theme-graph-cat-1:#b58cff;--lr-theme-graph-cat-2:#ff7ab2;--lr-theme-graph-cat-3:#4fd1c5;--lr-theme-graph-cat-4:#aab4c4;--lr-theme-graph-cat-5:#d4a7ff;--lr-theme-graph-cat-6:#ff91c8;--lr-theme-graph-cat-7:#79e2ef;--lr-theme-graph-cat-8:#e4e7eb;--lr-theme-heading-letter-spacing:-.025em;--lr-theme-hover-brightness:1.08;--lr-theme-icon-button-size:2.25rem;--lr-theme-line-break:initial;--lr-theme-line-height-1-4:1.4;--lr-theme-line-height-compact:1.25;--lr-theme-line-height-loose:1.6;--lr-theme-line-height-none:1;--lr-theme-line-height-normal:1.5;--lr-theme-line-height-snug:1.3;--lr-theme-opacity-disabled:.5;--lr-theme-opacity-muted:.85;--lr-theme-otp-input-segment-size:2.5em;--lr-theme-popover-viewport-clamp:92vw;--lr-theme-scroll-fade-size:2rem;--lr-theme-shadow-color:0 0 0;--lr-theme-shadow-l:0 10px 15px -3px rgb(var(--lr-theme-shadow-color,0 0 0) / .3), 0 4px 6px -4px rgb(var(--lr-theme-shadow-color,0 0 0) / .3);--lr-theme-shadow-m:0 4px 6px -1px rgb(var(--lr-theme-shadow-color,0 0 0) / .3), 0 2px 4px -2px rgb(var(--lr-theme-shadow-color,0 0 0) / .3);--lr-theme-shadow-s:0 1px 3px 0 rgb(var(--lr-theme-shadow-color,0 0 0) / .3), 0 1px 2px -1px rgb(var(--lr-theme-shadow-color,0 0 0) / .3);--lr-theme-shadow-xl:0 20px 25px -5px rgb(var(--lr-theme-shadow-color,0 0 0) / .3), 0 8px 10px -6px rgb(var(--lr-theme-shadow-color,0 0 0) / .3);--lr-theme-shadow-xs:0 1px 2px 0 rgb(var(--lr-theme-shadow-color,0 0 0) / .15);--lr-theme-size-0-02em:.02em;--lr-theme-size-0-03em:.03em;--lr-theme-size-0-04em:.04em;--lr-theme-size-0-05rem:.05rem;--lr-theme-size-0-0625rem:.0625rem;--lr-theme-size-0-09375rem:.09375rem;--lr-theme-size-0-125rem:.125rem;--lr-theme-size-0-15rem:.15rem;--lr-theme-size-0-1875rem:.1875rem;--lr-theme-size-0-1rem:.1rem;--lr-theme-size-0-25rem:.25rem;--lr-theme-size-0-3125rem:.3125rem;--lr-theme-size-0-35em:.35em;--lr-theme-size-0-375rem:.375rem;--lr-theme-size-0-3em:.3em;--lr-theme-size-0-4375rem:.4375rem;--lr-theme-size-0-4em:.4em;--lr-theme-size-0-4rem:.4rem;--lr-theme-size-0-5em:.5em;--lr-theme-size-0-5rem:.5rem;--lr-theme-size-0-625rem:.625rem;--lr-theme-size-0-6875rem:.6875rem;--lr-theme-size-0-6rem:.6rem;--lr-theme-size-0-75em:.75em;--lr-theme-size-0-75rem:.75rem;--lr-theme-size-0-7em:.7em;--lr-theme-size-0-875em:.875em;--lr-theme-size-0-8rem:.8rem;--lr-theme-size-0-9375rem:.9375rem;--lr-theme-size-1-0625rem:1.0625rem;--lr-theme-size-1-1rem:1.1rem;--lr-theme-size-1-25rem:1.25rem;--lr-theme-size-1-5em:1.5em;--lr-theme-size-1-5rem:1.5rem;--lr-theme-size-1-75rem:1.75rem;--lr-theme-size-10px:10px;--lr-theme-size-10rem:10rem;--lr-theme-size-12em:12em;--lr-theme-size-12rem:12rem;--lr-theme-size-14px:14px;--lr-theme-size-14rem:14rem;--lr-theme-size-15rem:15rem;--lr-theme-size-16px:16px;--lr-theme-size-16rem:16rem;--lr-theme-size-18rem:18rem;--lr-theme-size-1em:1em;--lr-theme-size-1px:1px;--lr-theme-size-1rem:1rem;--lr-theme-size-2-25rem:2.25rem;--lr-theme-size-2-5ch:2.5ch;--lr-theme-size-2-5rem:2.5rem;--lr-theme-size-20rem:20rem;--lr-theme-size-22rem:22rem;--lr-theme-size-24px:24px;--lr-theme-size-24rem:24rem;--lr-theme-size-280px:280px;--lr-theme-size-28px:28px;--lr-theme-size-28rem:28rem;--lr-theme-size-2px:2px;--lr-theme-size-2rem:2rem;--lr-theme-size-3-5em:3.5em;--lr-theme-size-3-5rem:3.5rem;--lr-theme-size-30rem:30rem;--lr-theme-size-32rem:32rem;--lr-theme-size-36rem:36rem;--lr-theme-size-38rem:38rem;--lr-theme-size-3ch:3ch;--lr-theme-size-3px:3px;--lr-theme-size-3rem:3rem;--lr-theme-size-48rem:48rem;--lr-theme-size-4ch:4ch;--lr-theme-size-4px:4px;--lr-theme-size-4rem:4rem;--lr-theme-size-5em:5em;--lr-theme-size-5rem:5rem;--lr-theme-size-6ch:6ch;--lr-theme-size-6em:6em;--lr-theme-size-6px:6px;--lr-theme-size-6rem:6rem;--lr-theme-size-7rem:7rem;--lr-theme-size-8em:8em;--lr-theme-size-8rem:8rem;--lr-theme-size-neg-0-15rem:-.15rem;--lr-theme-size-neg-0-25rem:-.25rem;--lr-theme-size-neg-1px:-1px;--lr-theme-size-neg-4px:-4px;--lr-theme-size-neg-6px:-6px;--lr-theme-size-neg-8px:-8px;--lr-theme-space-2xl:2rem;--lr-theme-space-2xs:.125rem;--lr-theme-space-l:1rem;--lr-theme-space-m:.75rem;--lr-theme-space-s:.5rem;--lr-theme-space-xs:.25rem;--lr-theme-terminal-bg-black:#292929;--lr-theme-terminal-bg-blue:#324e76;--lr-theme-terminal-bg-bright-black:#3d3d3d;--lr-theme-terminal-bg-bright-blue:#446493;--lr-theme-terminal-bg-bright-cyan:#286f76;--lr-theme-terminal-bg-bright-green:#456f46;--lr-theme-terminal-bg-bright-magenta:#73548a;--lr-theme-terminal-bg-bright-red:#904e47;--lr-theme-terminal-bg-bright-white:#696969;--lr-theme-terminal-bg-bright-yellow:#756127;--lr-theme-terminal-bg-cyan:#1c565d;--lr-theme-terminal-bg-green:#335735;--lr-theme-terminal-bg-magenta:#5a406e;--lr-theme-terminal-bg-red:#733a35;--lr-theme-terminal-bg-white:#525252;--lr-theme-terminal-bg-yellow:#5c4b1a;--lr-theme-terminal-color-black:#929292;--lr-theme-terminal-color-blue:#69a5fe;--lr-theme-terminal-color-bright-black:#ababab;--lr-theme-terminal-color-bright-blue:#a0c6fe;--lr-theme-terminal-color-bright-cyan:#00ddef;--lr-theme-terminal-color-bright-green:#7cdf81;--lr-theme-terminal-color-bright-magenta:#dcaefe;--lr-theme-terminal-color-bright-red:#ffaba1;--lr-theme-terminal-color-bright-white:#dedede;--lr-theme-terminal-color-bright-yellow:#ecbe24;--lr-theme-terminal-color-cyan:#17bac8;--lr-theme-terminal-color-green:#67bb6b;--lr-theme-terminal-color-magenta:#c385ef;--lr-theme-terminal-color-red:#f9786c;--lr-theme-terminal-color-white:#c4c4c4;--lr-theme-terminal-color-yellow:#c7a01e;--lr-theme-transition-fast:.12s ease-out;--lr-theme-transition-normal:.18s ease-out;--lr-theme-transition-slow:1.8s ease-in-out;--lr-theme-word-break:initial;--lr-theme-z-index-base:0;--lr-theme-z-index-content:1;--lr-theme-z-index-dropdown:900;--lr-theme-z-index-modal:1000;--lr-theme-z-index-popover:1000;--lr-theme-z-index-toast:9999}}@layer lr-theme-preset,lr-utilities,lr-overrides;
|
|
1
|
+
@layer lr-base;@layer lr-theme{:where(.lr-token-light,[data-lr-design-token-mode=light]){--lr-theme-border-radius-m:.5rem;--lr-theme-border-radius-pill:999px;--lr-theme-border-radius-xs:.25rem;--lr-theme-border-width-medium:2px;--lr-theme-border-width-thick:3px;--lr-theme-border-width-thin:1px;--lr-theme-color-border-strong:#919191;--lr-theme-color-brand-border-loud:#15553e;--lr-theme-color-brand-border-normal:#41866d;--lr-theme-color-brand-border-quiet:#b2eed8;--lr-theme-color-brand-fill-loud:#1a6a4d;--lr-theme-color-brand-fill-normal:#8fe7c7;--lr-theme-color-brand-fill-quiet:#e3f9f1;--lr-theme-color-brand-on-loud:#fff;--lr-theme-color-brand-on-normal:#000;--lr-theme-color-brand-on-quiet:#000;--lr-theme-color-chart-1:#0e006e;--lr-theme-color-chart-2:#4d011a;--lr-theme-color-chart-3:#862002;--lr-theme-color-chart-4:#503983;--lr-theme-color-chart-5:#315fdd;--lr-theme-color-chart-6:#935e7c;--lr-theme-color-chart-7:#de6906;--lr-theme-color-chart-8:#8f81d3;--lr-theme-color-chart-diverging-1:#9a3412;--lr-theme-color-chart-diverging-2:#f5f5f5;--lr-theme-color-chart-diverging-3:#075985;--lr-theme-color-chart-sequential-1:#e5e5e5;--lr-theme-color-chart-sequential-2:#737373;--lr-theme-color-chart-sequential-3:#171717;--lr-theme-color-danger-border-loud:#890415;--lr-theme-color-danger-border-normal:#dc3e41;--lr-theme-color-danger-border-quiet:#ffa099;--lr-theme-color-danger-fill-loud:#d6000a;--lr-theme-color-danger-fill-normal:#ffa099;--lr-theme-color-danger-fill-quiet:#ffe9e6;--lr-theme-color-danger-on-loud:#fff;--lr-theme-color-danger-on-normal:#000001;--lr-theme-color-danger-on-quiet:#000001;--lr-theme-color-focus:#1f7f5c;--lr-theme-color-mix-active:22%;--lr-theme-color-mix-hover:12%;--lr-theme-color-mix-partner:#737373;--lr-theme-color-neutral-border-loud:#15553e;--lr-theme-color-neutral-border-normal:#737373;--lr-theme-color-neutral-border-quiet:#e5e5e5;--lr-theme-color-neutral-fill-loud:#1a6a4d;--lr-theme-color-neutral-fill-normal:#e5e5e5;--lr-theme-color-neutral-fill-quiet:#f5f5f5;--lr-theme-color-neutral-on-loud:#fff;--lr-theme-color-neutral-on-normal:#171717;--lr-theme-color-neutral-on-quiet:#171717;--lr-theme-color-no-data:#80808040;--lr-theme-color-on-strong-overlay:#fff;--lr-theme-color-overlay:#00000080;--lr-theme-color-overlay-strong:#000000eb;--lr-theme-color-shadow:#000;--lr-theme-color-success-border-loud:#00571f;--lr-theme-color-success-border-normal:#3e9550;--lr-theme-color-success-border-quiet:#91d09a;--lr-theme-color-success-fill-loud:#0c7830;--lr-theme-color-success-fill-normal:#91d09a;--lr-theme-color-success-fill-quiet:#d3fbd8;--lr-theme-color-success-on-loud:#edeef1;--lr-theme-color-success-on-normal:#000001;--lr-theme-color-success-on-quiet:#000001;--lr-theme-color-surface-border:#919191;--lr-theme-color-surface-border-subtle:#e5e5e5;--lr-theme-color-surface-default:#fff;--lr-theme-color-surface-overlay:#fff;--lr-theme-color-surface-raised:#fafafa;--lr-theme-color-text-normal:#0a0a0a;--lr-theme-color-text-quiet:#737373;--lr-theme-color-warning-border-loud:#624001;--lr-theme-color-warning-border-normal:#a77526;--lr-theme-color-warning-border-quiet:#ddb781;--lr-theme-color-warning-fill-loud:#855905;--lr-theme-color-warning-fill-normal:#ddb781;--lr-theme-color-warning-fill-quiet:#ffebd2;--lr-theme-color-warning-on-loud:#edeef1;--lr-theme-color-warning-on-normal:#000001;--lr-theme-color-warning-on-quiet:#000001;--lr-theme-duration-fast:.12s;--lr-theme-duration-icon:1s;--lr-theme-duration-normal:.18s;--lr-theme-duration-slow:1.8s;--lr-theme-easing-emphasized:ease-in-out;--lr-theme-easing-linear:linear;--lr-theme-easing-standard:ease-out;--lr-theme-focus-ring-offset:0px;--lr-theme-focus-ring-width:3px;--lr-theme-font-family-body:"Geist", "Inter", ui-sans-serif, system-ui, sans-serif;--lr-theme-font-family-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lr-theme-font-size-2xl:1.75rem;--lr-theme-font-size-2xs:.625rem;--lr-theme-font-size-3xl:2rem;--lr-theme-font-size-3xs:.5rem;--lr-theme-font-size-lg:1.125rem;--lr-theme-font-size-m:.875rem;--lr-theme-font-size-md-sm:.875rem;--lr-theme-font-size-sm:.8125rem;--lr-theme-font-size-xl:1.25rem;--lr-theme-font-size-xs:.75rem;--lr-theme-font-weight-bold:700;--lr-theme-font-weight-medium:500;--lr-theme-font-weight-normal:400;--lr-theme-font-weight-semibold:600;--lr-theme-form-control-height-2xs:1.25rem;--lr-theme-form-control-height-l:2.5rem;--lr-theme-form-control-height-m:2.25rem;--lr-theme-form-control-height-s:2rem;--lr-theme-form-control-height-xl:3.5rem;--lr-theme-form-control-height-xs:1.5rem;--lr-theme-graph-cat-1:#8250df;--lr-theme-graph-cat-2:#bf3989;--lr-theme-graph-cat-3:#0a7d91;--lr-theme-graph-cat-4:#57606a;--lr-theme-graph-cat-5:#b083f5;--lr-theme-graph-cat-6:#f470b8;--lr-theme-graph-cat-7:#52d6e8;--lr-theme-graph-cat-8:#c9d1d9;--lr-theme-heading-letter-spacing:-.025em;--lr-theme-hover-brightness:1.08;--lr-theme-icon-button-size:2.25rem;--lr-theme-line-break:initial;--lr-theme-line-height-1-4:1.4;--lr-theme-line-height-compact:1.25;--lr-theme-line-height-loose:1.6;--lr-theme-line-height-none:1;--lr-theme-line-height-normal:1.5;--lr-theme-line-height-snug:1.3;--lr-theme-opacity-disabled:.5;--lr-theme-opacity-muted:.85;--lr-theme-otp-input-segment-size:2.5em;--lr-theme-popover-viewport-clamp:92vw;--lr-theme-scroll-fade-size:2rem;--lr-theme-shadow-color:0 0 0;--lr-theme-shadow-l:0 10px 15px -3px rgb(var(--lr-theme-shadow-color,0 0 0) / .1), 0 4px 6px -4px rgb(var(--lr-theme-shadow-color,0 0 0) / .1);--lr-theme-shadow-m:0 4px 6px -1px rgb(var(--lr-theme-shadow-color,0 0 0) / .1), 0 2px 4px -2px rgb(var(--lr-theme-shadow-color,0 0 0) / .1);--lr-theme-shadow-s:0 1px 3px 0 rgb(var(--lr-theme-shadow-color,0 0 0) / .1), 0 1px 2px -1px rgb(var(--lr-theme-shadow-color,0 0 0) / .1);--lr-theme-shadow-xl:0 20px 25px -5px rgb(var(--lr-theme-shadow-color,0 0 0) / .1), 0 8px 10px -6px rgb(var(--lr-theme-shadow-color,0 0 0) / .1);--lr-theme-shadow-xs:0 1px 2px 0 rgb(var(--lr-theme-shadow-color,0 0 0) / .05);--lr-theme-size-0-02em:.02em;--lr-theme-size-0-03em:.03em;--lr-theme-size-0-04em:.04em;--lr-theme-size-0-05rem:.05rem;--lr-theme-size-0-0625rem:.0625rem;--lr-theme-size-0-09375rem:.09375rem;--lr-theme-size-0-125rem:.125rem;--lr-theme-size-0-15rem:.15rem;--lr-theme-size-0-1875rem:.1875rem;--lr-theme-size-0-1rem:.1rem;--lr-theme-size-0-25rem:.25rem;--lr-theme-size-0-3125rem:.3125rem;--lr-theme-size-0-35em:.35em;--lr-theme-size-0-375rem:.375rem;--lr-theme-size-0-3em:.3em;--lr-theme-size-0-4375rem:.4375rem;--lr-theme-size-0-4em:.4em;--lr-theme-size-0-4rem:.4rem;--lr-theme-size-0-5em:.5em;--lr-theme-size-0-5rem:.5rem;--lr-theme-size-0-625rem:.625rem;--lr-theme-size-0-6875rem:.6875rem;--lr-theme-size-0-6rem:.6rem;--lr-theme-size-0-75em:.75em;--lr-theme-size-0-75rem:.75rem;--lr-theme-size-0-7em:.7em;--lr-theme-size-0-875em:.875em;--lr-theme-size-0-8rem:.8rem;--lr-theme-size-0-9375rem:.9375rem;--lr-theme-size-1-0625rem:1.0625rem;--lr-theme-size-1-1rem:1.1rem;--lr-theme-size-1-25rem:1.25rem;--lr-theme-size-1-5em:1.5em;--lr-theme-size-1-5rem:1.5rem;--lr-theme-size-1-75rem:1.75rem;--lr-theme-size-10px:10px;--lr-theme-size-10rem:10rem;--lr-theme-size-12em:12em;--lr-theme-size-12rem:12rem;--lr-theme-size-14px:14px;--lr-theme-size-14rem:14rem;--lr-theme-size-15rem:15rem;--lr-theme-size-16px:16px;--lr-theme-size-16rem:16rem;--lr-theme-size-18rem:18rem;--lr-theme-size-1em:1em;--lr-theme-size-1px:1px;--lr-theme-size-1rem:1rem;--lr-theme-size-2-25rem:2.25rem;--lr-theme-size-2-5ch:2.5ch;--lr-theme-size-2-5rem:2.5rem;--lr-theme-size-20rem:20rem;--lr-theme-size-22rem:22rem;--lr-theme-size-24px:24px;--lr-theme-size-24rem:24rem;--lr-theme-size-280px:280px;--lr-theme-size-28px:28px;--lr-theme-size-28rem:28rem;--lr-theme-size-2px:2px;--lr-theme-size-2rem:2rem;--lr-theme-size-3-5em:3.5em;--lr-theme-size-3-5rem:3.5rem;--lr-theme-size-30rem:30rem;--lr-theme-size-32rem:32rem;--lr-theme-size-36rem:36rem;--lr-theme-size-38rem:38rem;--lr-theme-size-3ch:3ch;--lr-theme-size-3px:3px;--lr-theme-size-3rem:3rem;--lr-theme-size-48rem:48rem;--lr-theme-size-4ch:4ch;--lr-theme-size-4px:4px;--lr-theme-size-4rem:4rem;--lr-theme-size-5em:5em;--lr-theme-size-5rem:5rem;--lr-theme-size-6ch:6ch;--lr-theme-size-6em:6em;--lr-theme-size-6px:6px;--lr-theme-size-6rem:6rem;--lr-theme-size-7rem:7rem;--lr-theme-size-8em:8em;--lr-theme-size-8rem:8rem;--lr-theme-size-neg-0-15rem:-.15rem;--lr-theme-size-neg-0-25rem:-.25rem;--lr-theme-size-neg-1px:-1px;--lr-theme-size-neg-4px:-4px;--lr-theme-size-neg-6px:-6px;--lr-theme-size-neg-8px:-8px;--lr-theme-space-2xl:2rem;--lr-theme-space-2xs:.125rem;--lr-theme-space-l:1rem;--lr-theme-space-m:.75rem;--lr-theme-space-s:.5rem;--lr-theme-space-xs:.25rem;--lr-theme-terminal-bg-black:#868686;--lr-theme-terminal-bg-blue:#88a6d4;--lr-theme-terminal-bg-bright-black:#9e9e9e;--lr-theme-terminal-bg-bright-blue:#a2c6fb;--lr-theme-terminal-bg-bright-cyan:#8dd2da;--lr-theme-terminal-bg-bright-green:#a4d2a4;--lr-theme-terminal-bg-bright-magenta:#d6b4f0;--lr-theme-terminal-bg-bright-red:#f9aea5;--lr-theme-terminal-bg-bright-white:#d1d1d1;--lr-theme-terminal-bg-bright-yellow:#d8c288;--lr-theme-terminal-bg-cyan:#77b0b6;--lr-theme-terminal-bg-green:#89b18a;--lr-theme-terminal-bg-magenta:#b497cb;--lr-theme-terminal-bg-red:#d2918a;--lr-theme-terminal-bg-white:#b7b7b7;--lr-theme-terminal-bg-yellow:#b6a372;--lr-theme-terminal-color-black:#2b2b2b;--lr-theme-terminal-color-blue:#06489c;--lr-theme-terminal-color-bright-black:#404040;--lr-theme-terminal-color-bright-blue:#145ec1;--lr-theme-terminal-color-bright-cyan:#04717a;--lr-theme-terminal-color-bright-green:#01791e;--lr-theme-terminal-color-bright-magenta:#823bae;--lr-theme-terminal-color-bright-red:#b32322;--lr-theme-terminal-color-bright-white:#6c6c6c;--lr-theme-terminal-color-bright-yellow:#796005;--lr-theme-terminal-color-cyan:#02585f;--lr-theme-terminal-color-green:#015e15;--lr-theme-terminal-color-magenta:#67298c;--lr-theme-terminal-color-red:#901114;--lr-theme-terminal-color-white:#555;--lr-theme-terminal-color-yellow:#5f4a03;--lr-theme-transition-fast:.12s ease-out;--lr-theme-transition-normal:.18s ease-out;--lr-theme-transition-slow:1.8s ease-in-out;--lr-theme-word-break:initial;--lr-theme-z-index-base:0;--lr-theme-z-index-content:1;--lr-theme-z-index-dropdown:900;--lr-theme-z-index-modal:1000;--lr-theme-z-index-popover:1000;--lr-theme-z-index-toast:9999}:where(.lr-token-dark,[data-lr-design-token-mode=dark]){color-scheme:dark;--lr-theme-border-radius-m:.5rem;--lr-theme-border-radius-pill:999px;--lr-theme-border-radius-xs:.25rem;--lr-theme-border-width-medium:2px;--lr-theme-border-width-thick:3px;--lr-theme-border-width-thin:1px;--lr-theme-color-border-strong:#646464;--lr-theme-color-brand-border-loud:#5ddcad;--lr-theme-color-brand-border-normal:#2eaa7d;--lr-theme-color-brand-border-quiet:#266f54;--lr-theme-color-brand-fill-loud:#34d399;--lr-theme-color-brand-fill-normal:#2a8d69;--lr-theme-color-brand-fill-quiet:#204638;--lr-theme-color-brand-on-loud:#000;--lr-theme-color-brand-on-normal:#000;--lr-theme-color-brand-on-quiet:#fff;--lr-theme-color-chart-1:#bbff94;--lr-theme-color-chart-2:#ffbce8;--lr-theme-color-chart-3:#2bd66a;--lr-theme-color-chart-4:#bb99cb;--lr-theme-color-chart-5:#7888fe;--lr-theme-color-chart-6:#9b6b90;--lr-theme-color-chart-7:#db3a29;--lr-theme-color-chart-8:#555de3;--lr-theme-color-chart-diverging-1:#fdba74;--lr-theme-color-chart-diverging-2:#404040;--lr-theme-color-chart-diverging-3:#7dd3fc;--lr-theme-color-chart-sequential-1:#262626;--lr-theme-color-chart-sequential-2:#a3a3a3;--lr-theme-color-chart-sequential-3:#fafafa;--lr-theme-color-danger-border-loud:#f86b66;--lr-theme-color-danger-border-normal:#dc3e41;--lr-theme-color-danger-border-quiet:#5c010a;--lr-theme-color-danger-fill-loud:#ff6467;--lr-theme-color-danger-fill-normal:#bb0320;--lr-theme-color-danger-fill-quiet:#5c010a;--lr-theme-color-danger-on-loud:#0a0a0a;--lr-theme-color-danger-on-normal:#edeef1;--lr-theme-color-danger-on-quiet:#edeef1;--lr-theme-color-focus:#34d399;--lr-theme-color-mix-active:22%;--lr-theme-color-mix-hover:12%;--lr-theme-color-mix-partner:#737373;--lr-theme-color-neutral-border-loud:#5ddcad;--lr-theme-color-neutral-border-normal:#a1a1a1;--lr-theme-color-neutral-border-quiet:#262626;--lr-theme-color-neutral-fill-loud:#34d399;--lr-theme-color-neutral-fill-normal:#404040;--lr-theme-color-neutral-fill-quiet:#262626;--lr-theme-color-neutral-on-loud:#000;--lr-theme-color-neutral-on-normal:#fafafa;--lr-theme-color-neutral-on-quiet:#fafafa;--lr-theme-color-no-data:#b4b4b44d;--lr-theme-color-on-strong-overlay:#fff;--lr-theme-color-overlay:#000000b8;--lr-theme-color-overlay-strong:#000000f2;--lr-theme-color-shadow:#000;--lr-theme-color-success-border-loud:#67b374;--lr-theme-color-success-border-normal:#3e9550;--lr-theme-color-success-border-quiet:#013912;--lr-theme-color-success-fill-loud:#67b374;--lr-theme-color-success-fill-normal:#0c7830;--lr-theme-color-success-fill-quiet:#013912;--lr-theme-color-success-on-loud:#000001;--lr-theme-color-success-on-normal:#edeef1;--lr-theme-color-success-on-quiet:#edeef1;--lr-theme-color-surface-border:#646464;--lr-theme-color-surface-border-subtle:#ffffff1a;--lr-theme-color-surface-default:#0a0a0a;--lr-theme-color-surface-overlay:#171717;--lr-theme-color-surface-raised:#171717;--lr-theme-color-text-normal:#fafafa;--lr-theme-color-text-quiet:#a1a1a1;--lr-theme-color-warning-border-loud:#c39554;--lr-theme-color-warning-border-normal:#a77526;--lr-theme-color-warning-border-quiet:#402801;--lr-theme-color-warning-fill-loud:#c39554;--lr-theme-color-warning-fill-normal:#855905;--lr-theme-color-warning-fill-quiet:#402801;--lr-theme-color-warning-on-loud:#000001;--lr-theme-color-warning-on-normal:#edeef1;--lr-theme-color-warning-on-quiet:#edeef1;--lr-theme-duration-fast:.12s;--lr-theme-duration-icon:1s;--lr-theme-duration-normal:.18s;--lr-theme-duration-slow:1.8s;--lr-theme-easing-emphasized:ease-in-out;--lr-theme-easing-linear:linear;--lr-theme-easing-standard:ease-out;--lr-theme-focus-ring-offset:0px;--lr-theme-focus-ring-width:3px;--lr-theme-font-family-body:"Geist", "Inter", ui-sans-serif, system-ui, sans-serif;--lr-theme-font-family-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lr-theme-font-size-2xl:1.75rem;--lr-theme-font-size-2xs:.625rem;--lr-theme-font-size-3xl:2rem;--lr-theme-font-size-3xs:.5rem;--lr-theme-font-size-lg:1.125rem;--lr-theme-font-size-m:.875rem;--lr-theme-font-size-md-sm:.875rem;--lr-theme-font-size-sm:.8125rem;--lr-theme-font-size-xl:1.25rem;--lr-theme-font-size-xs:.75rem;--lr-theme-font-weight-bold:700;--lr-theme-font-weight-medium:500;--lr-theme-font-weight-normal:400;--lr-theme-font-weight-semibold:600;--lr-theme-form-control-height-2xs:1.25rem;--lr-theme-form-control-height-l:2.5rem;--lr-theme-form-control-height-m:2.25rem;--lr-theme-form-control-height-s:2rem;--lr-theme-form-control-height-xl:3.5rem;--lr-theme-form-control-height-xs:1.5rem;--lr-theme-graph-cat-1:#b58cff;--lr-theme-graph-cat-2:#ff7ab2;--lr-theme-graph-cat-3:#4fd1c5;--lr-theme-graph-cat-4:#aab4c4;--lr-theme-graph-cat-5:#d4a7ff;--lr-theme-graph-cat-6:#ff91c8;--lr-theme-graph-cat-7:#79e2ef;--lr-theme-graph-cat-8:#e4e7eb;--lr-theme-heading-letter-spacing:-.025em;--lr-theme-hover-brightness:1.08;--lr-theme-icon-button-size:2.25rem;--lr-theme-line-break:initial;--lr-theme-line-height-1-4:1.4;--lr-theme-line-height-compact:1.25;--lr-theme-line-height-loose:1.6;--lr-theme-line-height-none:1;--lr-theme-line-height-normal:1.5;--lr-theme-line-height-snug:1.3;--lr-theme-opacity-disabled:.5;--lr-theme-opacity-muted:.85;--lr-theme-otp-input-segment-size:2.5em;--lr-theme-popover-viewport-clamp:92vw;--lr-theme-scroll-fade-size:2rem;--lr-theme-shadow-color:0 0 0;--lr-theme-shadow-l:0 10px 15px -3px rgb(var(--lr-theme-shadow-color,0 0 0) / .3), 0 4px 6px -4px rgb(var(--lr-theme-shadow-color,0 0 0) / .3);--lr-theme-shadow-m:0 4px 6px -1px rgb(var(--lr-theme-shadow-color,0 0 0) / .3), 0 2px 4px -2px rgb(var(--lr-theme-shadow-color,0 0 0) / .3);--lr-theme-shadow-s:0 1px 3px 0 rgb(var(--lr-theme-shadow-color,0 0 0) / .3), 0 1px 2px -1px rgb(var(--lr-theme-shadow-color,0 0 0) / .3);--lr-theme-shadow-xl:0 20px 25px -5px rgb(var(--lr-theme-shadow-color,0 0 0) / .3), 0 8px 10px -6px rgb(var(--lr-theme-shadow-color,0 0 0) / .3);--lr-theme-shadow-xs:0 1px 2px 0 rgb(var(--lr-theme-shadow-color,0 0 0) / .15);--lr-theme-size-0-02em:.02em;--lr-theme-size-0-03em:.03em;--lr-theme-size-0-04em:.04em;--lr-theme-size-0-05rem:.05rem;--lr-theme-size-0-0625rem:.0625rem;--lr-theme-size-0-09375rem:.09375rem;--lr-theme-size-0-125rem:.125rem;--lr-theme-size-0-15rem:.15rem;--lr-theme-size-0-1875rem:.1875rem;--lr-theme-size-0-1rem:.1rem;--lr-theme-size-0-25rem:.25rem;--lr-theme-size-0-3125rem:.3125rem;--lr-theme-size-0-35em:.35em;--lr-theme-size-0-375rem:.375rem;--lr-theme-size-0-3em:.3em;--lr-theme-size-0-4375rem:.4375rem;--lr-theme-size-0-4em:.4em;--lr-theme-size-0-4rem:.4rem;--lr-theme-size-0-5em:.5em;--lr-theme-size-0-5rem:.5rem;--lr-theme-size-0-625rem:.625rem;--lr-theme-size-0-6875rem:.6875rem;--lr-theme-size-0-6rem:.6rem;--lr-theme-size-0-75em:.75em;--lr-theme-size-0-75rem:.75rem;--lr-theme-size-0-7em:.7em;--lr-theme-size-0-875em:.875em;--lr-theme-size-0-8rem:.8rem;--lr-theme-size-0-9375rem:.9375rem;--lr-theme-size-1-0625rem:1.0625rem;--lr-theme-size-1-1rem:1.1rem;--lr-theme-size-1-25rem:1.25rem;--lr-theme-size-1-5em:1.5em;--lr-theme-size-1-5rem:1.5rem;--lr-theme-size-1-75rem:1.75rem;--lr-theme-size-10px:10px;--lr-theme-size-10rem:10rem;--lr-theme-size-12em:12em;--lr-theme-size-12rem:12rem;--lr-theme-size-14px:14px;--lr-theme-size-14rem:14rem;--lr-theme-size-15rem:15rem;--lr-theme-size-16px:16px;--lr-theme-size-16rem:16rem;--lr-theme-size-18rem:18rem;--lr-theme-size-1em:1em;--lr-theme-size-1px:1px;--lr-theme-size-1rem:1rem;--lr-theme-size-2-25rem:2.25rem;--lr-theme-size-2-5ch:2.5ch;--lr-theme-size-2-5rem:2.5rem;--lr-theme-size-20rem:20rem;--lr-theme-size-22rem:22rem;--lr-theme-size-24px:24px;--lr-theme-size-24rem:24rem;--lr-theme-size-280px:280px;--lr-theme-size-28px:28px;--lr-theme-size-28rem:28rem;--lr-theme-size-2px:2px;--lr-theme-size-2rem:2rem;--lr-theme-size-3-5em:3.5em;--lr-theme-size-3-5rem:3.5rem;--lr-theme-size-30rem:30rem;--lr-theme-size-32rem:32rem;--lr-theme-size-36rem:36rem;--lr-theme-size-38rem:38rem;--lr-theme-size-3ch:3ch;--lr-theme-size-3px:3px;--lr-theme-size-3rem:3rem;--lr-theme-size-48rem:48rem;--lr-theme-size-4ch:4ch;--lr-theme-size-4px:4px;--lr-theme-size-4rem:4rem;--lr-theme-size-5em:5em;--lr-theme-size-5rem:5rem;--lr-theme-size-6ch:6ch;--lr-theme-size-6em:6em;--lr-theme-size-6px:6px;--lr-theme-size-6rem:6rem;--lr-theme-size-7rem:7rem;--lr-theme-size-8em:8em;--lr-theme-size-8rem:8rem;--lr-theme-size-neg-0-15rem:-.15rem;--lr-theme-size-neg-0-25rem:-.25rem;--lr-theme-size-neg-1px:-1px;--lr-theme-size-neg-4px:-4px;--lr-theme-size-neg-6px:-6px;--lr-theme-size-neg-8px:-8px;--lr-theme-space-2xl:2rem;--lr-theme-space-2xs:.125rem;--lr-theme-space-l:1rem;--lr-theme-space-m:.75rem;--lr-theme-space-s:.5rem;--lr-theme-space-xs:.25rem;--lr-theme-terminal-bg-black:#292929;--lr-theme-terminal-bg-blue:#324e76;--lr-theme-terminal-bg-bright-black:#3d3d3d;--lr-theme-terminal-bg-bright-blue:#446493;--lr-theme-terminal-bg-bright-cyan:#286f76;--lr-theme-terminal-bg-bright-green:#456f46;--lr-theme-terminal-bg-bright-magenta:#73548a;--lr-theme-terminal-bg-bright-red:#904e47;--lr-theme-terminal-bg-bright-white:#696969;--lr-theme-terminal-bg-bright-yellow:#756127;--lr-theme-terminal-bg-cyan:#1c565d;--lr-theme-terminal-bg-green:#335735;--lr-theme-terminal-bg-magenta:#5a406e;--lr-theme-terminal-bg-red:#733a35;--lr-theme-terminal-bg-white:#525252;--lr-theme-terminal-bg-yellow:#5c4b1a;--lr-theme-terminal-color-black:#929292;--lr-theme-terminal-color-blue:#69a5fe;--lr-theme-terminal-color-bright-black:#ababab;--lr-theme-terminal-color-bright-blue:#a0c6fe;--lr-theme-terminal-color-bright-cyan:#00ddef;--lr-theme-terminal-color-bright-green:#7cdf81;--lr-theme-terminal-color-bright-magenta:#dcaefe;--lr-theme-terminal-color-bright-red:#ffaba1;--lr-theme-terminal-color-bright-white:#dedede;--lr-theme-terminal-color-bright-yellow:#ecbe24;--lr-theme-terminal-color-cyan:#17bac8;--lr-theme-terminal-color-green:#67bb6b;--lr-theme-terminal-color-magenta:#c385ef;--lr-theme-terminal-color-red:#f9786c;--lr-theme-terminal-color-white:#c4c4c4;--lr-theme-terminal-color-yellow:#c7a01e;--lr-theme-transition-fast:.12s ease-out;--lr-theme-transition-normal:.18s ease-out;--lr-theme-transition-slow:1.8s ease-in-out;--lr-theme-word-break:initial;--lr-theme-z-index-base:0;--lr-theme-z-index-content:1;--lr-theme-z-index-dropdown:900;--lr-theme-z-index-modal:1000;--lr-theme-z-index-popover:1000;--lr-theme-z-index-toast:9999}}@layer lr-theme-preset,lr-utilities,lr-overrides,lr-theme-preset.look,lr-theme-preset.density,lr-theme-preset.surface,lr-theme-preset.accent;@layer lr-theme-preset.mode{.lr-token-light:not([data-lr-mode]):not([data-lr-theme=light]):not([data-lr-theme=dark]):not(.lr-light):not(.lr-dark),[data-lr-design-token-mode=light]:not([data-lr-mode]):not([data-lr-theme=light]):not([data-lr-theme=dark]):not(.lr-light):not(.lr-dark){--_lr-dark-on:initial;--_lr-light-on: }.lr-token-dark:not([data-lr-mode]):not([data-lr-theme=light]):not([data-lr-theme=dark]):not(.lr-light):not(.lr-dark),[data-lr-design-token-mode=dark]:not([data-lr-mode]):not([data-lr-theme=light]):not([data-lr-theme=dark]):not(.lr-light):not(.lr-dark){--_lr-dark-on: ;--_lr-light-on:initial}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer lr-base{:where(:root),[data-lr-mode=light],[data-lr-mode=system]{--_lr-dark-on:initial;--_lr-light-on: }@media (prefers-color-scheme:dark){:where(:root),[data-lr-mode=system]{--_lr-dark-on: ;--_lr-light-on:initial}}[data-lr-mode=dark]{--_lr-dark-on: ;--_lr-light-on:initial}.lr-light,[data-lr-theme=light]{--_lr-dark-on:initial;--_lr-light-on: }.lr-dark,[data-lr-theme=dark]{--_lr-dark-on: ;--_lr-light-on:initial}}@layer lr-theme{:root,.lr-light,.lr-dark,[data-lr-theme],[data-lr-mode],[data-lr-look],[data-lr-density],[data-lr-accent],[data-lr-theme-scope],[data-lr-contrast],[data-lr-motion]{--lr-color-surface:var(--_lr-dark-on,var(--lr-theme-color-surface-default,#fff))var(--_lr-light-on,var(--lr-theme-color-surface-default,#0a0a0a));--lr-color-surface-raised:var(--_lr-dark-on,var(--lr-theme-color-surface-raised,#fafafa))var(--_lr-light-on,var(--lr-theme-color-surface-raised,#171717));--lr-color-surface-overlay:var(--_lr-dark-on,var(--lr-theme-color-surface-overlay,#fff))var(--_lr-light-on,var(--lr-theme-color-surface-overlay,#171717));--lr-color-overlay:var(--_lr-dark-on,var(--lr-theme-color-overlay,#00000080))var(--_lr-light-on,var(--lr-theme-color-overlay,#000000b8));--lr-color-text:var(--_lr-dark-on,var(--lr-theme-color-text-normal,#0a0a0a))var(--_lr-light-on,var(--lr-theme-color-text-normal,#fafafa));--lr-color-text-quiet:var(--_lr-dark-on,var(--_lr-glass-qualified-text-quiet,var(--_lr-preference-quiet-color,var(--lr-theme-color-text-quiet,#737373))))var(--_lr-light-on,var(--_lr-glass-qualified-text-quiet,var(--_lr-preference-quiet-color,var(--lr-theme-color-text-quiet,#a1a1a1))));--lr-color-border:var(--_lr-dark-on,var(--_lr-glass-qualified-border,var(--_lr-preference-control-color,var(--lr-theme-color-surface-border,#919191))))var(--_lr-light-on,var(--_lr-glass-qualified-border,var(--_lr-preference-control-color,var(--lr-theme-color-surface-border,#646464))));--lr-color-border-strong:var(--_lr-dark-on,var(--_lr-glass-qualified-border-strong,var(--_lr-preference-control-color,var(--lr-theme-color-border-strong,#919191))))var(--_lr-light-on,var(--_lr-glass-qualified-border-strong,var(--_lr-preference-control-color,var(--lr-theme-color-border-strong,#646464))));--lr-color-border-subtle:var(--_lr-dark-on,var(--_lr-preference-control-color,var(--lr-theme-color-surface-border-subtle,color-mix(in srgb, #e5e5e5 var(--_lr-subtle-mix,100%), var(--lr-color-border)))))var(--_lr-light-on,var(--_lr-preference-control-color,var(--lr-theme-color-surface-border-subtle,color-mix(in srgb, #ffffff1a var(--_lr-subtle-mix,100%), var(--lr-color-border)))));--lr-color-brand-fill-quiet:var(--_lr-dark-on,var(--lr-theme-color-brand-fill-quiet,#e3f9f1))var(--_lr-light-on,var(--lr-theme-color-brand-fill-quiet,#204638));--lr-color-brand-fill-normal:var(--_lr-dark-on,var(--lr-theme-color-brand-fill-normal,#8fe7c7))var(--_lr-light-on,var(--lr-theme-color-brand-fill-normal,#2a8d69));--lr-color-brand-fill-loud:var(--_lr-dark-on,var(--lr-theme-color-brand-fill-loud,#1a6a4d))var(--_lr-light-on,var(--lr-theme-color-brand-fill-loud,#34d399));--lr-color-brand-border-quiet:var(--_lr-dark-on,var(--lr-theme-color-brand-border-quiet,#b2eed8))var(--_lr-light-on,var(--lr-theme-color-brand-border-quiet,#266f54));--lr-color-brand-border-normal:var(--_lr-dark-on,var(--lr-theme-color-brand-border-normal,#41866d))var(--_lr-light-on,var(--lr-theme-color-brand-border-normal,#2eaa7d));--lr-color-brand-border-loud:var(--_lr-dark-on,var(--lr-theme-color-brand-border-loud,#15553e))var(--_lr-light-on,var(--lr-theme-color-brand-border-loud,#5ddcad));--lr-color-brand-on-quiet:var(--_lr-dark-on,var(--lr-theme-color-brand-on-quiet,#000))var(--_lr-light-on,var(--lr-theme-color-brand-on-quiet,#fff));--lr-color-brand-on-normal:var(--lr-theme-color-brand-on-normal,#000);--lr-color-brand-on-loud:var(--_lr-dark-on,var(--lr-theme-color-brand-on-loud,#fff))var(--_lr-light-on,var(--lr-theme-color-brand-on-loud,#000));--lr-color-success-fill-quiet:var(--_lr-dark-on,var(--lr-theme-color-success-fill-quiet,#d3fbd8))var(--_lr-light-on,var(--lr-theme-color-success-fill-quiet,#013912));--lr-color-success-fill-normal:var(--_lr-dark-on,var(--lr-theme-color-success-fill-normal,#91d09a))var(--_lr-light-on,var(--lr-theme-color-success-fill-normal,#0c7830));--lr-color-success-fill-loud:var(--_lr-dark-on,var(--lr-theme-color-success-fill-loud,#0c7830))var(--_lr-light-on,var(--lr-theme-color-success-fill-loud,#67b374));--lr-color-success-border-quiet:var(--_lr-dark-on,var(--lr-theme-color-success-border-quiet,#91d09a))var(--_lr-light-on,var(--lr-theme-color-success-border-quiet,#013912));--lr-color-success-border-normal:var(--lr-theme-color-success-border-normal,#3e9550);--lr-color-success-border-loud:var(--_lr-dark-on,var(--lr-theme-color-success-border-loud,#00571f))var(--_lr-light-on,var(--lr-theme-color-success-border-loud,#67b374));--lr-color-success-on-quiet:var(--_lr-dark-on,var(--lr-theme-color-success-on-quiet,#000001))var(--_lr-light-on,var(--lr-theme-color-success-on-quiet,#edeef1));--lr-color-success-on-normal:var(--_lr-dark-on,var(--lr-theme-color-success-on-normal,#000001))var(--_lr-light-on,var(--lr-theme-color-success-on-normal,#edeef1));--lr-color-success-on-loud:var(--_lr-dark-on,var(--lr-theme-color-success-on-loud,#edeef1))var(--_lr-light-on,var(--lr-theme-color-success-on-loud,#000001));--lr-color-warning-fill-quiet:var(--_lr-dark-on,var(--lr-theme-color-warning-fill-quiet,#ffebd2))var(--_lr-light-on,var(--lr-theme-color-warning-fill-quiet,#402801));--lr-color-warning-fill-normal:var(--_lr-dark-on,var(--lr-theme-color-warning-fill-normal,#ddb781))var(--_lr-light-on,var(--lr-theme-color-warning-fill-normal,#855905));--lr-color-warning-fill-loud:var(--_lr-dark-on,var(--lr-theme-color-warning-fill-loud,#855905))var(--_lr-light-on,var(--lr-theme-color-warning-fill-loud,#c39554));--lr-color-warning-border-quiet:var(--_lr-dark-on,var(--lr-theme-color-warning-border-quiet,#ddb781))var(--_lr-light-on,var(--lr-theme-color-warning-border-quiet,#402801));--lr-color-warning-border-normal:var(--lr-theme-color-warning-border-normal,#a77526);--lr-color-warning-border-loud:var(--_lr-dark-on,var(--lr-theme-color-warning-border-loud,#624001))var(--_lr-light-on,var(--lr-theme-color-warning-border-loud,#c39554));--lr-color-warning-on-quiet:var(--_lr-dark-on,var(--lr-theme-color-warning-on-quiet,#000001))var(--_lr-light-on,var(--lr-theme-color-warning-on-quiet,#edeef1));--lr-color-warning-on-normal:var(--_lr-dark-on,var(--lr-theme-color-warning-on-normal,#000001))var(--_lr-light-on,var(--lr-theme-color-warning-on-normal,#edeef1));--lr-color-warning-on-loud:var(--_lr-dark-on,var(--lr-theme-color-warning-on-loud,#edeef1))var(--_lr-light-on,var(--lr-theme-color-warning-on-loud,#000001));--lr-color-danger-fill-quiet:var(--_lr-dark-on,var(--lr-theme-color-danger-fill-quiet,#ffe9e6))var(--_lr-light-on,var(--lr-theme-color-danger-fill-quiet,#5c010a));--lr-color-danger-fill-normal:var(--_lr-dark-on,var(--lr-theme-color-danger-fill-normal,#ffa099))var(--_lr-light-on,var(--lr-theme-color-danger-fill-normal,#bb0320));--lr-color-danger-fill-loud:var(--_lr-dark-on,var(--lr-theme-color-danger-fill-loud,#d6000a))var(--_lr-light-on,var(--lr-theme-color-danger-fill-loud,#ff6467));--lr-color-danger-border-quiet:var(--_lr-dark-on,var(--lr-theme-color-danger-border-quiet,#ffa099))var(--_lr-light-on,var(--lr-theme-color-danger-border-quiet,#5c010a));--lr-color-danger-border-normal:var(--lr-theme-color-danger-border-normal,#dc3e41);--lr-color-danger-border-loud:var(--_lr-dark-on,var(--lr-theme-color-danger-border-loud,#890415))var(--_lr-light-on,var(--lr-theme-color-danger-border-loud,#f86b66));--lr-color-danger-on-quiet:var(--_lr-dark-on,var(--lr-theme-color-danger-on-quiet,#000001))var(--_lr-light-on,var(--lr-theme-color-danger-on-quiet,#edeef1));--lr-color-danger-on-normal:var(--_lr-dark-on,var(--lr-theme-color-danger-on-normal,#000001))var(--_lr-light-on,var(--lr-theme-color-danger-on-normal,#edeef1));--lr-color-danger-on-loud:var(--_lr-dark-on,var(--lr-theme-color-danger-on-loud,#fff))var(--_lr-light-on,var(--lr-theme-color-danger-on-loud,#0a0a0a));--lr-color-neutral-fill-quiet:var(--_lr-dark-on,var(--lr-theme-color-neutral-fill-quiet,#f5f5f5))var(--_lr-light-on,var(--lr-theme-color-neutral-fill-quiet,#262626));--lr-color-neutral-fill-normal:var(--_lr-dark-on,var(--lr-theme-color-neutral-fill-normal,#e5e5e5))var(--_lr-light-on,var(--lr-theme-color-neutral-fill-normal,#404040));--lr-color-neutral-fill-loud:var(--_lr-dark-on,var(--lr-theme-color-neutral-fill-loud,#1a6a4d))var(--_lr-light-on,var(--lr-theme-color-neutral-fill-loud,#34d399));--lr-color-neutral-border-quiet:var(--_lr-dark-on,var(--lr-theme-color-neutral-border-quiet,#e5e5e5))var(--_lr-light-on,var(--lr-theme-color-neutral-border-quiet,#262626));--lr-color-neutral-border-normal:var(--_lr-dark-on,var(--lr-theme-color-neutral-border-normal,#737373))var(--_lr-light-on,var(--lr-theme-color-neutral-border-normal,#a1a1a1));--lr-color-neutral-border-loud:var(--_lr-dark-on,var(--lr-theme-color-neutral-border-loud,#15553e))var(--_lr-light-on,var(--lr-theme-color-neutral-border-loud,#5ddcad));--lr-color-neutral-on-quiet:var(--_lr-dark-on,var(--lr-theme-color-neutral-on-quiet,#171717))var(--_lr-light-on,var(--lr-theme-color-neutral-on-quiet,#fafafa));--lr-color-neutral-on-normal:var(--_lr-dark-on,var(--lr-theme-color-neutral-on-normal,#171717))var(--_lr-light-on,var(--lr-theme-color-neutral-on-normal,#fafafa));--lr-color-neutral-on-loud:var(--_lr-dark-on,var(--lr-theme-color-neutral-on-loud,#fff))var(--_lr-light-on,var(--lr-theme-color-neutral-on-loud,#000));--lr-color-brand:var(--lr-color-brand-fill-loud);--lr-color-brand-quiet:var(--lr-color-brand-fill-quiet);--lr-color-on-brand:var(--lr-color-brand-on-loud);--lr-color-success:var(--lr-color-success-fill-loud);--lr-color-success-quiet:var(--lr-color-success-fill-quiet);--lr-color-on-success:var(--lr-color-success-on-loud);--lr-color-warning:var(--lr-color-warning-fill-loud);--lr-color-warning-quiet:var(--lr-color-warning-fill-quiet);--lr-color-on-warning:var(--lr-color-warning-on-loud);--lr-color-danger:var(--lr-color-danger-fill-loud);--lr-color-danger-quiet:var(--lr-color-danger-fill-quiet);--lr-color-on-danger:var(--lr-color-danger-on-loud);--lr-color-neutral:var(--lr-color-neutral-fill-loud);--lr-color-on-neutral:var(--lr-color-neutral-on-loud);--lr-space-2xs:var(--lr-theme-space-2xs,.125rem);--lr-space-xs:var(--lr-theme-space-xs,.25rem);--lr-space-s:var(--lr-theme-space-s,.5rem);--lr-space-m:var(--lr-theme-space-m,.75rem);--lr-space-l:var(--lr-theme-space-l,1rem);--lr-space-2xl:var(--lr-theme-space-2xl,2rem);--lr-radius-xs:var(--lr-theme-border-radius-xs,.25rem);--lr-radius:var(--lr-theme-border-radius-m,.5rem);--lr-radius-pill:var(--lr-theme-border-radius-pill,999px);--lr-border-width-thin:var(--lr-theme-border-width-thin,1px);--lr-border-width-medium:var(--lr-theme-border-width-medium,2px);--lr-border-width-thick:var(--lr-theme-border-width-thick,3px);--lr-shadow-color:var(--lr-theme-shadow-color,0 0 0);--lr-shadow-xs:var(--_lr-dark-on,var(--lr-theme-shadow-xs,0 1px 2px 0 rgb(var(--lr-theme-shadow-color,0 0 0) / .05)))var(--_lr-light-on,var(--lr-theme-shadow-xs,0 1px 2px 0 rgb(var(--lr-theme-shadow-color,0 0 0) / .15)));--lr-shadow-s:var(--_lr-dark-on,var(--lr-theme-shadow-s,0 1px 3px 0 rgb(var(--lr-theme-shadow-color,0 0 0) / .1), 0 1px 2px -1px rgb(var(--lr-theme-shadow-color,0 0 0) / .1)))var(--_lr-light-on,var(--lr-theme-shadow-s,0 1px 3px 0 rgb(var(--lr-theme-shadow-color,0 0 0) / .3), 0 1px 2px -1px rgb(var(--lr-theme-shadow-color,0 0 0) / .3)));--lr-shadow-m:var(--_lr-dark-on,var(--lr-theme-shadow-m,0 4px 6px -1px rgb(var(--lr-theme-shadow-color,0 0 0) / .1), 0 2px 4px -2px rgb(var(--lr-theme-shadow-color,0 0 0) / .1)))var(--_lr-light-on,var(--lr-theme-shadow-m,0 4px 6px -1px rgb(var(--lr-theme-shadow-color,0 0 0) / .3), 0 2px 4px -2px rgb(var(--lr-theme-shadow-color,0 0 0) / .3)));--lr-shadow-l:var(--_lr-dark-on,var(--lr-theme-shadow-l,0 10px 15px -3px rgb(var(--lr-theme-shadow-color,0 0 0) / .1), 0 4px 6px -4px rgb(var(--lr-theme-shadow-color,0 0 0) / .1)))var(--_lr-light-on,var(--lr-theme-shadow-l,0 10px 15px -3px rgb(var(--lr-theme-shadow-color,0 0 0) / .3), 0 4px 6px -4px rgb(var(--lr-theme-shadow-color,0 0 0) / .3)));--lr-shadow-xl:var(--_lr-dark-on,var(--lr-theme-shadow-xl,0 20px 25px -5px rgb(var(--lr-theme-shadow-color,0 0 0) / .1), 0 8px 10px -6px rgb(var(--lr-theme-shadow-color,0 0 0) / .1)))var(--_lr-light-on,var(--lr-theme-shadow-xl,0 20px 25px -5px rgb(var(--lr-theme-shadow-color,0 0 0) / .3), 0 8px 10px -6px rgb(var(--lr-theme-shadow-color,0 0 0) / .3)));--lr-shadow:var(--lr-shadow-m);--lr-font:var(--lr-theme-font-family-body,"Geist", "Inter", ui-sans-serif, system-ui, sans-serif);--lr-font-mono:var(--lr-theme-font-family-mono,"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);--lr-font-size-3xs:var(--lr-theme-font-size-3xs,.5rem);--lr-font-size-2xs:var(--lr-theme-font-size-2xs,.625rem);--lr-font-size-xs:var(--lr-theme-font-size-xs,.75rem);--lr-font-size-sm:var(--lr-theme-font-size-sm,.8125rem);--lr-font-size-md-sm:var(--lr-theme-font-size-md-sm,.875rem);--lr-font-size-m:var(--lr-theme-font-size-m,.875rem);--lr-font-size-lg:var(--lr-theme-font-size-lg,1.125rem);--lr-font-size-xl:var(--lr-theme-font-size-xl,1.25rem);--lr-font-size-2xl:var(--lr-theme-font-size-2xl,1.75rem);--lr-font-size-3xl:var(--lr-theme-font-size-3xl,2rem);--lr-font-weight-normal:var(--lr-theme-font-weight-normal,400);--lr-font-weight-medium:var(--lr-theme-font-weight-medium,500);--lr-font-weight-semibold:var(--lr-theme-font-weight-semibold,600);--lr-font-weight-bold:var(--lr-theme-font-weight-bold,700);--lr-focus-ring:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);--lr-focus-ring-color:var(--_lr-glass-qualified-focus-ring-color,var(--lr-theme-color-focus,#1f7f5c));--lr-focus-ring-width:max(var(--lr-theme-focus-ring-width,3px), var(--_lr-preference-focus-min,0px));--lr-focus-ring-offset:var(--lr-theme-focus-ring-offset,0px);--lr-opacity-disabled:var(--lr-theme-opacity-disabled,.5);--lr-opacity-muted:var(--lr-theme-opacity-muted,.85);--lr-duration-fast:var(--_lr-motion-duration,var(--lr-theme-duration-fast,.12s));--lr-duration-base:var(--_lr-motion-duration,var(--lr-theme-duration-normal,.18s));--lr-easing-standard:var(--_lr-motion-easing,var(--lr-theme-easing-standard,ease-out));--lr-easing-emphasized:var(--_lr-motion-easing,var(--lr-theme-easing-emphasized,ease-in-out));--lr-transition-fast:var(--_lr-motion-transition,var(--lr-theme-transition-fast,.12s ease-out));--lr-transition-base:var(--_lr-motion-transition,var(--lr-theme-transition-normal,.18s ease-out))}@media (prefers-contrast:more){:root,.lr-light,.lr-dark,[data-lr-theme],[data-lr-mode],[data-lr-look],[data-lr-density],[data-lr-accent],[data-lr-theme-scope],[data-lr-contrast],[data-lr-motion]{--_lr-preference-quiet-color:currentColor;--_lr-preference-control-color:currentColor;--_lr-preference-focus-min:3px}}@media (forced-colors:active){:root,.lr-light,.lr-dark,[data-lr-theme],[data-lr-mode],[data-lr-look],[data-lr-density],[data-lr-accent],[data-lr-theme-scope],[data-lr-contrast],[data-lr-motion]{--lr-color-surface:Canvas;--lr-color-surface-raised:Canvas;--lr-color-text:CanvasText;--lr-color-text-quiet:CanvasText;--lr-color-border:ButtonText;--lr-color-border-subtle:ButtonText;--lr-color-brand:LinkText;--lr-color-brand-quiet:Canvas;--lr-color-on-brand:Canvas;--lr-color-success:LinkText;--lr-color-success-quiet:Canvas;--lr-color-on-success:Canvas;--lr-color-warning:CanvasText;--lr-color-warning-quiet:Canvas;--lr-color-on-warning:Canvas;--lr-color-danger:LinkText;--lr-color-danger-quiet:Canvas;--lr-color-on-danger:Canvas;--lr-color-neutral:ButtonText;--lr-color-on-neutral:Canvas;--lr-focus-ring-color:Highlight}}@media (prefers-reduced-motion:reduce){:root,.lr-light,.lr-dark,[data-lr-theme],[data-lr-mode],[data-lr-look],[data-lr-density],[data-lr-accent],[data-lr-theme-scope],[data-lr-contrast],[data-lr-motion]{--lr-duration-fast:.001ms;--lr-duration-base:.001ms;--lr-easing-standard:linear;--lr-easing-emphasized:linear;--lr-transition-fast:.001ms linear;--lr-transition-base:.001ms linear}}}@layer lr-theme-preset,lr-utilities,lr-overrides;
|
|
1
|
+
@layer lr-base{:where(:root),[data-lr-mode=light],[data-lr-mode=system],.lr-light,[data-lr-theme=light]{--_lr-dark-on:initial;--_lr-light-on: }@media (prefers-color-scheme:dark){:where(:root),[data-lr-mode=system]{--_lr-dark-on: ;--_lr-light-on:initial}}[data-lr-mode=dark],.lr-dark:not([data-lr-theme=light]),[data-lr-theme=dark]{--_lr-dark-on: ;--_lr-light-on:initial}}@layer lr-theme{:root{--_lr-document-tokens:lr27cfcdcfba7b}:root,.lr-light,.lr-dark,[data-lr-theme],[data-lr-theme-scope],[data-lr-mode],[data-lr-look],[data-lr-accent],[data-lr-density],[data-lr-contrast],[data-lr-motion],.lr-token-light,.lr-token-dark,[data-lr-design-token-mode],:where([data-lr-look]) .light,:where([data-lr-look]) .dark{--lr-border-width-medium:var(--lr-theme-border-width-medium,2px);--lr-border-width-thick:var(--lr-theme-border-width-thick,3px);--lr-border-width-thin:var(--lr-theme-border-width-thin,1px);--_lr-glass-original-border:var(--_lr-preference-control-color,var(--lr-theme-color-surface-border,var(--_lr-dark-on,#919191)var(--_lr-light-on,#646464)));--_lr-glass-qualified-border:color-mix(in srgb, var(--_lr-preference-control-color,var(--lr-theme-color-surface-border,var(--_lr-dark-on,#919191)var(--_lr-light-on,#646464))), var(--lr-color-text) var(--_lr-glass-border-weight));--lr-color-border:var(--_lr-glass-qualified-border,var(--_lr-preference-control-color,var(--lr-theme-color-surface-border,var(--_lr-dark-on,#919191)var(--_lr-light-on,#646464))));--_lr-glass-original-border-strong:var(--_lr-preference-control-color,var(--lr-theme-color-border-strong,var(--_lr-dark-on,#919191)var(--_lr-light-on,#646464)));--_lr-glass-qualified-border-strong:color-mix(in srgb, var(--_lr-preference-control-color,var(--lr-theme-color-border-strong,var(--_lr-dark-on,#919191)var(--_lr-light-on,#646464))), var(--lr-color-text) var(--_lr-glass-border-weight));--lr-color-border-strong:var(--_lr-glass-qualified-border-strong,var(--_lr-preference-control-color,var(--lr-theme-color-border-strong,var(--_lr-dark-on,#919191)var(--_lr-light-on,#646464))));--lr-color-border-subtle:var(--_lr-preference-control-color,var(--lr-theme-color-surface-border-subtle,color-mix(in srgb, var(--_lr-dark-on,#e5e5e5)var(--_lr-light-on,#ffffff1a) var(--_lr-subtle-mix,100%), var(--lr-color-border))));--lr-color-brand:var(--lr-color-brand-fill-loud);--lr-color-brand-border-loud:var(--lr-theme-color-brand-border-loud,rgb(var(--_lr-dark-on,21 85 62)var(--_lr-light-on,93 220 173)));--lr-color-brand-border-normal:var(--lr-theme-color-brand-border-normal,rgb(var(--_lr-dark-on,65 134 109)var(--_lr-light-on,46 170 125)));--lr-color-brand-border-quiet:var(--lr-theme-color-brand-border-quiet,rgb(var(--_lr-dark-on,178 238 216)var(--_lr-light-on,38 111 84)));--lr-color-brand-fill-loud:var(--lr-theme-color-brand-fill-loud,rgb(var(--_lr-dark-on,26 106 77)var(--_lr-light-on,52 211 153)));--lr-color-brand-fill-normal:var(--lr-theme-color-brand-fill-normal,rgb(var(--_lr-dark-on,143 231 199)var(--_lr-light-on,42 141 105)));--lr-color-brand-fill-quiet:var(--lr-theme-color-brand-fill-quiet,rgb(var(--_lr-dark-on,227 249 241)var(--_lr-light-on,32 70 56)));--lr-color-brand-on-loud:var(--lr-theme-color-brand-on-loud,rgb(var(--_lr-dark-on,255 255 255)var(--_lr-light-on,0 0 0)));--lr-color-brand-on-normal:var(--lr-theme-color-brand-on-normal,#000);--lr-color-brand-on-quiet:var(--lr-theme-color-brand-on-quiet,rgb(var(--_lr-dark-on,0 0 0)var(--_lr-light-on,255 255 255)));--lr-color-brand-quiet:var(--lr-color-brand-fill-quiet);--lr-color-danger:var(--lr-color-danger-fill-loud);--lr-color-danger-border-loud:var(--lr-theme-color-danger-border-loud,var(--_lr-dark-on,#890415)var(--_lr-light-on,#f86b66));--lr-color-danger-border-normal:var(--lr-theme-color-danger-border-normal,#dc3e41);--lr-color-danger-border-quiet:var(--lr-theme-color-danger-border-quiet,var(--_lr-dark-on,#ffa099)var(--_lr-light-on,#5c010a));--lr-color-danger-fill-loud:var(--lr-theme-color-danger-fill-loud,var(--_lr-dark-on,#d6000a)var(--_lr-light-on,#ff6467));--lr-color-danger-fill-normal:var(--lr-theme-color-danger-fill-normal,var(--_lr-dark-on,#ffa099)var(--_lr-light-on,#bb0320));--lr-color-danger-fill-quiet:var(--lr-theme-color-danger-fill-quiet,var(--_lr-dark-on,#ffe9e6)var(--_lr-light-on,#5c010a));--lr-color-danger-on-loud:var(--lr-theme-color-danger-on-loud,var(--_lr-dark-on,#fff)var(--_lr-light-on,#0a0a0a));--lr-color-danger-on-normal:var(--lr-theme-color-danger-on-normal,var(--_lr-dark-on,#000001)var(--_lr-light-on,#edeef1));--lr-color-danger-on-quiet:var(--lr-theme-color-danger-on-quiet,var(--_lr-dark-on,#000001)var(--_lr-light-on,#edeef1));--lr-color-danger-quiet:var(--lr-color-danger-fill-quiet);--lr-color-mix-active:var(--lr-theme-color-mix-active,22%);--lr-color-mix-hover:var(--lr-theme-color-mix-hover,12%);--lr-color-mix-partner:var(--lr-theme-color-mix-partner,#737373);--lr-color-neutral:var(--lr-color-neutral-fill-loud);--lr-color-neutral-border-loud:var(--lr-theme-color-neutral-border-loud,rgb(var(--_lr-dark-on,21 85 62)var(--_lr-light-on,93 220 173)));--lr-color-neutral-border-normal:var(--lr-theme-color-neutral-border-normal,var(--_lr-dark-on,#737373)var(--_lr-light-on,#a1a1a1));--lr-color-neutral-border-quiet:var(--lr-theme-color-neutral-border-quiet,var(--_lr-dark-on,#e5e5e5)var(--_lr-light-on,#262626));--lr-color-neutral-fill-loud:var(--lr-theme-color-neutral-fill-loud,rgb(var(--_lr-dark-on,26 106 77)var(--_lr-light-on,52 211 153)));--lr-color-neutral-fill-normal:var(--lr-theme-color-neutral-fill-normal,var(--_lr-dark-on,#e5e5e5)var(--_lr-light-on,#404040));--lr-color-neutral-fill-quiet:var(--lr-theme-color-neutral-fill-quiet,var(--_lr-dark-on,#f5f5f5)var(--_lr-light-on,#262626));--lr-color-neutral-on-loud:var(--lr-theme-color-neutral-on-loud,rgb(var(--_lr-dark-on,255 255 255)var(--_lr-light-on,0 0 0)));--lr-color-neutral-on-normal:var(--lr-theme-color-neutral-on-normal,var(--_lr-dark-on,#171717)var(--_lr-light-on,#fafafa));--lr-color-neutral-on-quiet:var(--lr-theme-color-neutral-on-quiet,var(--_lr-dark-on,#171717)var(--_lr-light-on,#fafafa));--lr-color-no-data:var(--lr-theme-color-no-data,#80808040);--lr-color-on-brand:var(--lr-color-brand-on-loud);--lr-color-on-danger:var(--lr-color-danger-on-loud);--lr-color-on-neutral:var(--lr-color-neutral-on-loud);--lr-color-on-strong-overlay:var(--lr-theme-color-on-strong-overlay,#fff);--lr-color-on-success:var(--lr-color-success-on-loud);--lr-color-on-warning:var(--lr-color-warning-on-loud);--lr-color-overlay:var(--lr-theme-color-overlay,rgb(0 0 0/var(--_lr-dark-on,.5)var(--_lr-light-on,.72)));--lr-color-overlay-strong:var(--lr-theme-color-overlay-strong,rgb(0 0 0/var(--_lr-dark-on,.92)var(--_lr-light-on,.95)));--lr-color-shadow:var(--lr-theme-color-shadow,#000);--lr-color-success:var(--lr-color-success-fill-loud);--lr-color-success-border-loud:var(--lr-theme-color-success-border-loud,var(--_lr-dark-on,#00571f)var(--_lr-light-on,#67b374));--lr-color-success-border-normal:var(--lr-theme-color-success-border-normal,#3e9550);--lr-color-success-border-quiet:var(--lr-theme-color-success-border-quiet,var(--_lr-dark-on,#91d09a)var(--_lr-light-on,#013912));--lr-color-success-fill-loud:var(--lr-theme-color-success-fill-loud,var(--_lr-dark-on,#0c7830)var(--_lr-light-on,#67b374));--lr-color-success-fill-normal:var(--lr-theme-color-success-fill-normal,var(--_lr-dark-on,#91d09a)var(--_lr-light-on,#0c7830));--lr-color-success-fill-quiet:var(--lr-theme-color-success-fill-quiet,var(--_lr-dark-on,#d3fbd8)var(--_lr-light-on,#013912));--lr-color-success-on-loud:var(--lr-theme-color-success-on-loud,var(--_lr-dark-on,#edeef1)var(--_lr-light-on,#000001));--lr-color-success-on-normal:var(--lr-theme-color-success-on-normal,var(--_lr-dark-on,#000001)var(--_lr-light-on,#edeef1));--lr-color-success-on-quiet:var(--lr-theme-color-success-on-quiet,var(--_lr-dark-on,#000001)var(--_lr-light-on,#edeef1));--lr-color-success-quiet:var(--lr-color-success-fill-quiet);--lr-color-surface:var(--lr-theme-color-surface-default,var(--_lr-dark-on,#fff)var(--_lr-light-on,#0a0a0a));--lr-color-surface-container:var(--lr-theme-color-surface-container,var(--lr-color-surface-raised));--lr-color-surface-container-high:var(--lr-theme-color-surface-container-high,var(--lr-color-surface-overlay));--lr-color-surface-container-highest:var(--lr-theme-color-surface-container-highest,var(--lr-color-surface-overlay));--lr-color-surface-container-low:var(--lr-theme-color-surface-container-low,var(--lr-color-surface));--lr-color-surface-container-lowest:var(--lr-theme-color-surface-container-lowest,var(--lr-color-surface));--lr-color-surface-overlay:var(--lr-theme-color-surface-overlay,var(--_lr-dark-on,#fff)var(--_lr-light-on,#171717));--lr-color-surface-raised:var(--lr-theme-color-surface-raised,var(--_lr-dark-on,#fafafa)var(--_lr-light-on,#171717));--lr-color-text:var(--lr-theme-color-text-normal,var(--_lr-dark-on,#0a0a0a)var(--_lr-light-on,#fafafa));--_lr-glass-original-text-quiet:var(--_lr-preference-quiet-color,var(--lr-theme-color-text-quiet,var(--_lr-dark-on,#737373)var(--_lr-light-on,#a1a1a1)));--_lr-glass-qualified-text-quiet:color-mix(in srgb, var(--_lr-preference-quiet-color,var(--lr-theme-color-text-quiet,var(--_lr-dark-on,#737373)var(--_lr-light-on,#a1a1a1))), var(--lr-color-text) var(--_lr-glass-foreground-weight));--lr-color-text-quiet:var(--_lr-glass-qualified-text-quiet,var(--_lr-preference-quiet-color,var(--lr-theme-color-text-quiet,var(--_lr-dark-on,#737373)var(--_lr-light-on,#a1a1a1))));--lr-color-warning:var(--lr-color-warning-fill-loud);--lr-color-warning-border-loud:var(--lr-theme-color-warning-border-loud,var(--_lr-dark-on,#624001)var(--_lr-light-on,#c39554));--lr-color-warning-border-normal:var(--lr-theme-color-warning-border-normal,#a77526);--lr-color-warning-border-quiet:var(--lr-theme-color-warning-border-quiet,var(--_lr-dark-on,#ddb781)var(--_lr-light-on,#402801));--lr-color-warning-fill-loud:var(--lr-theme-color-warning-fill-loud,var(--_lr-dark-on,#855905)var(--_lr-light-on,#c39554));--lr-color-warning-fill-normal:var(--lr-theme-color-warning-fill-normal,var(--_lr-dark-on,#ddb781)var(--_lr-light-on,#855905));--lr-color-warning-fill-quiet:var(--lr-theme-color-warning-fill-quiet,var(--_lr-dark-on,#ffebd2)var(--_lr-light-on,#402801));--lr-color-warning-on-loud:var(--lr-theme-color-warning-on-loud,var(--_lr-dark-on,#edeef1)var(--_lr-light-on,#000001));--lr-color-warning-on-normal:var(--lr-theme-color-warning-on-normal,var(--_lr-dark-on,#000001)var(--_lr-light-on,#edeef1));--lr-color-warning-on-quiet:var(--lr-theme-color-warning-on-quiet,var(--_lr-dark-on,#000001)var(--_lr-light-on,#edeef1));--lr-color-warning-quiet:var(--lr-color-warning-fill-quiet);--lr-duration-ambient:var(--_lr-motion-duration,var(--lr-theme-duration-slow,1.8s));--lr-duration-base:var(--_lr-motion-duration,var(--lr-theme-duration-normal,.18s));--lr-duration-fast:var(--_lr-motion-duration,var(--lr-theme-duration-fast,.12s));--lr-duration-icon:var(--_lr-motion-duration,var(--lr-theme-duration-icon,1s));--lr-easing-emphasized:var(--_lr-motion-easing,var(--lr-theme-easing-emphasized,ease-in-out));--lr-easing-linear:var(--lr-theme-easing-linear,linear);--lr-easing-standard:var(--_lr-motion-easing,var(--lr-theme-easing-standard,ease-out));--lr-focus-ring:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);--_lr-glass-original-focus-ring-color:var(--lr-theme-color-focus,#1f7f5c);--lr-focus-ring-color:var(--_lr-glass-qualified-focus-ring-color,var(--lr-theme-color-focus,#1f7f5c));--lr-focus-ring-offset:var(--lr-theme-focus-ring-offset,0px);--lr-focus-ring-width:max(var(--lr-theme-focus-ring-width,3px), var(--_lr-preference-focus-min,0px));--lr-font:var(--lr-theme-font-family-body,"Geist", "Inter", ui-sans-serif, system-ui, sans-serif);--lr-font-heading:var(--lr-theme-font-family-heading,inherit);--lr-font-mono:var(--lr-theme-font-family-mono,"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);--lr-font-size-2xl:var(--lr-theme-font-size-2xl,1.75rem);--lr-font-size-2xs:var(--lr-theme-font-size-2xs,.625rem);--lr-font-size-3xl:var(--lr-theme-font-size-3xl,2rem);--lr-font-size-3xs:var(--lr-theme-font-size-3xs,.5rem);--lr-font-size-lg:var(--lr-theme-font-size-lg,1.125rem);--lr-font-size-m:var(--lr-theme-font-size-m,.875rem);--lr-font-size-md-sm:var(--lr-theme-font-size-md-sm,.875rem);--lr-font-size-sm:var(--lr-theme-font-size-sm,.8125rem);--lr-font-size-xl:var(--lr-theme-font-size-xl,1.25rem);--lr-font-size-xs:var(--lr-theme-font-size-xs,.75rem);--lr-font-weight-bold:var(--lr-theme-font-weight-bold,700);--lr-font-weight-medium:var(--lr-theme-font-weight-medium,500);--lr-font-weight-normal:var(--lr-theme-font-weight-normal,400);--lr-font-weight-semibold:var(--lr-theme-font-weight-semibold,600);--lr-hover-brightness:var(--lr-theme-hover-brightness,1.08);--lr-layer-base:var(--lr-theme-z-index-base,0);--lr-layer-content:var(--lr-theme-z-index-content,1);--lr-layer-dropdown:var(--lr-theme-z-index-dropdown,900);--lr-layer-modal:var(--lr-theme-z-index-modal,1000);--lr-layer-popover:var(--lr-theme-z-index-popover,1000);--lr-layer-toast:var(--lr-theme-z-index-toast,9999);--lr-line-break:var(--lr-theme-line-break,inherit);--lr-line-height-1-4:var(--lr-theme-line-height-1-4,1.4);--lr-line-height-compact:var(--lr-theme-line-height-compact,1.25);--lr-line-height-loose:var(--lr-theme-line-height-loose,1.6);--lr-line-height-none:var(--lr-theme-line-height-none,1);--lr-line-height-normal:var(--lr-theme-line-height-normal,1.5);--lr-line-height-snug:var(--lr-theme-line-height-snug,1.3);--lr-mask-opaque:#000;--lr-opacity-disabled:var(--lr-theme-opacity-disabled,.5);--lr-opacity-muted:var(--lr-theme-opacity-muted,.85);--lr-otp-input-segment-size:var(--lr-theme-otp-input-segment-size,2.5em);--lr-popover-viewport-clamp:var(--lr-theme-popover-viewport-clamp,92vw);--lr-radius:var(--lr-theme-border-radius-m,.5rem);--lr-radius-container:var(--lr-theme-border-radius-container,var(--lr-radius));--lr-radius-pill:var(--lr-theme-border-radius-pill,999px);--lr-radius-xs:var(--lr-theme-border-radius-xs,.25rem);--lr-safe-area-bottom:env(safe-area-inset-bottom,0px);--lr-safe-area-top:env(safe-area-inset-top,0px);--lr-scroll-fade-size:var(--lr-theme-scroll-fade-size,2rem);--lr-shadow:var(--lr-shadow-m);--lr-shadow-color:var(--lr-theme-shadow-color,0 0 0);--lr-shadow-l:var(--lr-theme-shadow-l,0 10px 15px -3px var(--_lr-dark-on,rgb(var(--lr-theme-shadow-color,0 0 0) / .1), 0 4px 6px -4px rgb(var(--lr-theme-shadow-color,0 0 0) / .1))var(--_lr-light-on,rgb(var(--lr-theme-shadow-color,0 0 0) / .3), 0 4px 6px -4px rgb(var(--lr-theme-shadow-color,0 0 0) / .3)));--lr-shadow-m:var(--lr-theme-shadow-m,0 4px 6px -1px var(--_lr-dark-on,rgb(var(--lr-theme-shadow-color,0 0 0) / .1), 0 2px 4px -2px rgb(var(--lr-theme-shadow-color,0 0 0) / .1))var(--_lr-light-on,rgb(var(--lr-theme-shadow-color,0 0 0) / .3), 0 2px 4px -2px rgb(var(--lr-theme-shadow-color,0 0 0) / .3)));--lr-shadow-s:var(--lr-theme-shadow-s,0 1px 3px 0 var(--_lr-dark-on,rgb(var(--lr-theme-shadow-color,0 0 0) / .1), 0 1px 2px -1px rgb(var(--lr-theme-shadow-color,0 0 0) / .1))var(--_lr-light-on,rgb(var(--lr-theme-shadow-color,0 0 0) / .3), 0 1px 2px -1px rgb(var(--lr-theme-shadow-color,0 0 0) / .3)));--lr-shadow-xl:var(--lr-theme-shadow-xl,0 20px 25px -5px var(--_lr-dark-on,rgb(var(--lr-theme-shadow-color,0 0 0) / .1), 0 8px 10px -6px rgb(var(--lr-theme-shadow-color,0 0 0) / .1))var(--_lr-light-on,rgb(var(--lr-theme-shadow-color,0 0 0) / .3), 0 8px 10px -6px rgb(var(--lr-theme-shadow-color,0 0 0) / .3)));--lr-shadow-xs:var(--lr-theme-shadow-xs,0 1px 2px 0 rgb(var(--lr-theme-shadow-color,0 0 0) / var(--_lr-dark-on,.05)var(--_lr-light-on,.15)));--lr-size-0-02em:var(--lr-theme-size-0-02em,.02em);--lr-size-0-03em:var(--lr-theme-size-0-03em,.03em);--lr-size-0-04em:var(--lr-theme-size-0-04em,.04em);--lr-size-0-05rem:var(--lr-theme-size-0-05rem,.05rem);--lr-size-0-0625rem:var(--lr-theme-size-0-0625rem,.0625rem);--lr-size-0-09375rem:var(--lr-theme-size-0-09375rem,.09375rem);--lr-size-0-125rem:var(--lr-theme-size-0-125rem,.125rem);--lr-size-0-15rem:var(--lr-theme-size-0-15rem,.15rem);--lr-size-0-1875rem:var(--lr-theme-size-0-1875rem,.1875rem);--lr-size-0-1rem:var(--lr-theme-size-0-1rem,.1rem);--lr-size-0-25rem:var(--lr-theme-size-0-25rem,.25rem);--lr-size-0-3125rem:var(--lr-theme-size-0-3125rem,.3125rem);--lr-size-0-35em:var(--lr-theme-size-0-35em,.35em);--lr-size-0-375rem:var(--lr-theme-size-0-375rem,.375rem);--lr-size-0-3em:var(--lr-theme-size-0-3em,.3em);--lr-size-0-4375rem:var(--lr-theme-size-0-4375rem,.4375rem);--lr-size-0-4em:var(--lr-theme-size-0-4em,.4em);--lr-size-0-4rem:var(--lr-theme-size-0-4rem,.4rem);--lr-size-0-5em:var(--lr-theme-size-0-5em,.5em);--lr-size-0-5rem:var(--lr-theme-size-0-5rem,.5rem);--lr-size-0-625rem:var(--lr-theme-size-0-625rem,.625rem);--lr-size-0-6875rem:var(--lr-theme-size-0-6875rem,.6875rem);--lr-size-0-6rem:var(--lr-theme-size-0-6rem,.6rem);--lr-size-0-75em:var(--lr-theme-size-0-75em,.75em);--lr-size-0-75rem:var(--lr-theme-size-0-75rem,.75rem);--lr-size-0-7em:var(--lr-theme-size-0-7em,.7em);--lr-size-0-875em:var(--lr-theme-size-0-875em,.875em);--lr-size-0-8rem:var(--lr-theme-size-0-8rem,.8rem);--lr-size-0-9375rem:var(--lr-theme-size-0-9375rem,.9375rem);--lr-size-1-0625rem:var(--lr-theme-size-1-0625rem,1.0625rem);--lr-size-1-1rem:var(--lr-theme-size-1-1rem,1.1rem);--lr-size-1-25rem:var(--lr-theme-size-1-25rem,1.25rem);--lr-size-1-5em:var(--lr-theme-size-1-5em,1.5em);--lr-size-1-5rem:var(--lr-theme-size-1-5rem,1.5rem);--lr-size-1-75rem:var(--lr-theme-size-1-75rem,1.75rem);--lr-size-10px:var(--lr-theme-size-10px,10px);--lr-size-10rem:var(--lr-theme-size-10rem,10rem);--lr-size-12em:var(--lr-theme-size-12em,12em);--lr-size-12rem:var(--lr-theme-size-12rem,12rem);--lr-size-14px:var(--lr-theme-size-14px,14px);--lr-size-14rem:var(--lr-theme-size-14rem,14rem);--lr-size-15rem:var(--lr-theme-size-15rem,15rem);--lr-size-16px:var(--lr-theme-size-16px,16px);--lr-size-16rem:var(--lr-theme-size-16rem,16rem);--lr-size-18rem:var(--lr-theme-size-18rem,18rem);--lr-size-1em:var(--lr-theme-size-1em,1em);--lr-size-1px:var(--lr-theme-size-1px,1px);--lr-size-1rem:var(--lr-theme-size-1rem,1rem);--lr-size-2-25rem:var(--lr-theme-size-2-25rem,2.25rem);--lr-size-2-5ch:var(--lr-theme-size-2-5ch,2.5ch);--lr-size-2-5rem:var(--lr-theme-size-2-5rem,2.5rem);--lr-size-20rem:var(--lr-theme-size-20rem,20rem);--lr-size-22rem:var(--lr-theme-size-22rem,22rem);--lr-size-24px:var(--lr-theme-size-24px,24px);--lr-size-24rem:var(--lr-theme-size-24rem,24rem);--lr-size-280px:var(--lr-theme-size-280px,280px);--lr-size-28px:var(--lr-theme-size-28px,28px);--lr-size-28rem:var(--lr-theme-size-28rem,28rem);--lr-size-2px:var(--lr-theme-size-2px,2px);--lr-size-2rem:var(--lr-theme-size-2rem,2rem);--lr-size-3-5em:var(--lr-theme-size-3-5em,3.5em);--lr-size-3-5rem:var(--lr-theme-size-3-5rem,3.5rem);--lr-size-30rem:var(--lr-theme-size-30rem,30rem);--lr-size-32rem:var(--lr-theme-size-32rem,32rem);--lr-size-36rem:var(--lr-theme-size-36rem,36rem);--lr-size-38rem:var(--lr-theme-size-38rem,38rem);--lr-size-3ch:var(--lr-theme-size-3ch,3ch);--lr-size-3px:var(--lr-theme-size-3px,3px);--lr-size-3rem:var(--lr-theme-size-3rem,3rem);--lr-size-48rem:var(--lr-theme-size-48rem,48rem);--lr-size-4ch:var(--lr-theme-size-4ch,4ch);--lr-size-4px:var(--lr-theme-size-4px,4px);--lr-size-4rem:var(--lr-theme-size-4rem,4rem);--lr-size-5em:var(--lr-theme-size-5em,5em);--lr-size-5rem:var(--lr-theme-size-5rem,5rem);--lr-size-6ch:var(--lr-theme-size-6ch,6ch);--lr-size-6em:var(--lr-theme-size-6em,6em);--lr-size-6px:var(--lr-theme-size-6px,6px);--lr-size-6rem:var(--lr-theme-size-6rem,6rem);--lr-size-7rem:var(--lr-theme-size-7rem,7rem);--lr-size-8em:var(--lr-theme-size-8em,8em);--lr-size-8rem:var(--lr-theme-size-8rem,8rem);--lr-size-neg-0-15rem:var(--lr-theme-size-neg-0-15rem,-.15rem);--lr-size-neg-0-25rem:var(--lr-theme-size-neg-0-25rem,-.25rem);--lr-size-neg-1px:var(--lr-theme-size-neg-1px,-1px);--lr-size-neg-4px:var(--lr-theme-size-neg-4px,-4px);--lr-size-neg-6px:var(--lr-theme-size-neg-6px,-6px);--lr-size-neg-8px:var(--lr-theme-size-neg-8px,-8px);--lr-space-2xl:var(--lr-theme-space-2xl,2rem);--lr-space-2xs:var(--lr-theme-space-2xs,.125rem);--lr-space-l:var(--lr-theme-space-l,1rem);--lr-space-m:var(--lr-theme-space-m,.75rem);--lr-space-s:var(--lr-theme-space-s,.5rem);--lr-space-xs:var(--lr-theme-space-xs,.25rem);--lr-table-row-min-height:var(--lr-theme-table-row-height,0px);--lr-transition-ambient:var(--_lr-motion-transition,var(--lr-theme-transition-slow,1.8s ease-in-out));--lr-transition-base:var(--_lr-motion-transition,var(--lr-theme-transition-normal,.18s ease-out));--lr-transition-fast:var(--_lr-motion-transition,var(--lr-theme-transition-fast,.12s ease-out));--lr-transition-interactive:background-color var(--lr-transition-fast), color var(--lr-transition-fast), border-color var(--lr-transition-fast);--lr-word-break:var(--lr-theme-word-break,inherit);--_lr-glass-brand-text:color-mix(in srgb, var(--lr-color-brand), var(--lr-color-text) var(--_lr-glass-foreground-weight));--_lr-glass-danger-text:color-mix(in srgb, var(--lr-color-danger), var(--lr-color-text) var(--_lr-glass-foreground-weight))}@media (prefers-contrast:more){:root,.lr-light,.lr-dark,[data-lr-theme],[data-lr-theme-scope],[data-lr-mode],[data-lr-look],[data-lr-accent],[data-lr-density],[data-lr-contrast],[data-lr-motion],.lr-token-light,.lr-token-dark,[data-lr-design-token-mode],:where([data-lr-look]) .light,:where([data-lr-look]) .dark{--_lr-preference-quiet-color:currentColor;--_lr-preference-control-color:currentColor;--_lr-preference-focus-min:3px}}@media (forced-colors:active){:root,.lr-light,.lr-dark,[data-lr-theme],[data-lr-theme-scope],[data-lr-mode],[data-lr-look],[data-lr-accent],[data-lr-density],[data-lr-contrast],[data-lr-motion],.lr-token-light,.lr-token-dark,[data-lr-design-token-mode],:where([data-lr-look]) .light,:where([data-lr-look]) .dark{--lr-color-border:ButtonText;--lr-color-border-subtle:ButtonText;--lr-color-brand:LinkText;--lr-color-brand-quiet:Canvas;--lr-color-danger:LinkText;--lr-color-danger-quiet:Canvas;--lr-color-neutral:ButtonText;--lr-color-on-brand:Canvas;--lr-color-on-danger:Canvas;--lr-color-on-neutral:Canvas;--lr-color-on-strong-overlay:CanvasText;--lr-color-on-success:Canvas;--lr-color-on-warning:Canvas;--lr-color-success:LinkText;--lr-color-success-quiet:Canvas;--lr-color-surface:Canvas;--lr-color-surface-container:Canvas;--lr-color-surface-container-high:Canvas;--lr-color-surface-container-highest:Canvas;--lr-color-surface-container-low:Canvas;--lr-color-surface-container-lowest:Canvas;--lr-color-surface-raised:Canvas;--lr-color-text:CanvasText;--lr-color-text-quiet:CanvasText;--lr-color-warning:CanvasText;--lr-color-warning-quiet:Canvas;--lr-focus-ring-color:Highlight}}@media (prefers-reduced-motion:reduce){:root,.lr-light,.lr-dark,[data-lr-theme],[data-lr-theme-scope],[data-lr-mode],[data-lr-look],[data-lr-accent],[data-lr-density],[data-lr-contrast],[data-lr-motion],.lr-token-light,.lr-token-dark,[data-lr-design-token-mode],:where([data-lr-look]) .light,:where([data-lr-look]) .dark{--lr-duration-ambient:.001ms;--lr-duration-base:.001ms;--lr-duration-fast:.001ms;--lr-duration-icon:.001ms;--lr-easing-emphasized:linear;--lr-easing-standard:linear;--lr-transition-ambient:.001ms linear;--lr-transition-base:.001ms linear;--lr-transition-fast:.001ms linear}}}@layer lr-theme-preset,lr-utilities,lr-overrides;
|
package/dist/surfaces/glass.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer lr-base,lr-theme,lr-theme-preset,lr-utilities,lr-overrides,lr-theme-preset.look,lr-theme-preset.density;@layer lr-theme-preset.surface{:root{--lr-theme-surface-opacity:.6}:root,:host{--_lr-media-clear-scrim-start:.78;--_lr-media-clear-scrim-end:.92;--_lr-media-clear-fill:#ffffff14;--_lr-media-clear-text:#fff;--_lr-glass-dark-anchor:#000}[data-lr-surface=glass]{--_lr-surface-installed:1;--_lr-surface-enabled:1;--_lr-surface-root-filter:initial;--_lr-glass-blocker:initial;--_lr-surface-content:"";--_lr-surface-isolation:isolate;--_lr-surface-min-opacity:0;--_lr-surface-maximum-blur:16px;--_lr-surface-foreground-weight:99%;--_lr-surface-border-weight:285%;--_lr-surface-child-filter:none;--_lr-surface-child-opacity:1;--lr-theme-surface-blur:12px;--lr-theme-surface-saturation:1.1;--lr-theme-surface-highlight:#ffffff1f}[data-lr-surface=solid]{--_lr-surface-installed:1;--_lr-surface-enabled:0;--_lr-surface-root-filter:none;--_lr-glass-blocker:none;--_lr-surface-maximum-blur:initial;--_lr-surface-content:none;--_lr-surface-isolation:auto;--_lr-surface-child-filter:initial;--_lr-surface-child-opacity:0;--_lr-glass-parent-opacity:0;--_lr-next-glass-opacity:0}:where(.lr-surface-chrome){color:var(--lr-color-text);--_lr-surface-default-blur:12px;--_lr-surface-default-maximum-blur:16px;--_lr-surface-default-highlight:#ffffff1f;--lr-color-text:var(--lr-theme-color-text-normal,CanvasText);--_lr-glass-original-text-quiet:var(--_lr-preference-quiet-color,var(--lr-theme-color-text-quiet,CanvasText));--_lr-glass-original-border:var(--_lr-preference-control-color,var(--lr-theme-color-surface-border,CanvasText));--_lr-glass-original-border-strong:var(--_lr-preference-control-color,var(--lr-theme-color-border-strong,CanvasText));--_lr-glass-original-focus-ring-color:var(--lr-theme-color-focus,Highlight);--lr-focus-ring-width:max(var(--lr-theme-focus-ring-width,2px), var(--_lr-preference-focus-min,0px));--lr-focus-ring-color:var(--_lr-glass-qualified-focus-ring-color,var(--_lr-glass-original-focus-ring-color));--lr-focus-ring-offset:var(--lr-theme-focus-ring-offset,2px);--lr-focus-ring:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);position:relative}:where(.lr-surface-chrome)[data-lr-surface=solid]{--_lr-surface-enabled:0;--_lr-surface-root-filter:none;--_lr-surface-content:none;--_lr-surface-isolation:auto;--_lr-surface-child-filter:initial;--_lr-surface-child-opacity:0}:where(.lr-surface-chrome){background:var(--lr-surface-background,var(--lr-theme-color-surface-container-high,var(--lr-theme-color-surface-overlay,Canvas)));--_lr-glass-filter-value:blur(calc(clamp(0px, var(--lr-theme-surface-blur,var(--_lr-surface-default-blur)), var(--_lr-surface-maximum-blur,var(--_lr-surface-default-maximum-blur))) * (1 - var(--_lr-glass-parent-opacity,0)))) saturate(calc(1 + (clamp(0, var(--lr-theme-surface-saturation,1.1), 2) - 1) * (1 - var(--_lr-glass-parent-opacity,0))));--_lr-glass-current-filter:var(--_lr-preference-glass-filter,var(--_lr-glass-blocker,var(--_lr-glass-filter-value,none)));--_lr-glass-foreground-weight:initial;--_lr-glass-border-weight:initial;--_lr-next-glass-blocker:var(--_lr-surface-child-filter,none);--_lr-next-glass-opacity:var(--_lr-surface-child-opacity,1)}:where(.lr-surface-chrome[data-lr-surface=glass]){--_lr-next-glass-opacity:inherit}:where(.lr-surface-chrome[data-lr-surface=glass]>*){--_lr-next-glass-opacity:1}:where(.lr-surface-chrome>*){--_lr-glass-blocker:var(--_lr-next-glass-blocker,initial);--_lr-glass-parent-opacity:var(--_lr-next-glass-opacity,initial)}:where(.lr-surface-chrome)[data-lr-surface=solid],[data-lr-surface=solid]{--_lr-glass-parent-opacity:0;--_lr-next-glass-opacity:0;--_lr-glass-blocker:none}:where(.lr-surface-chrome)[data-lr-surface=glass],[data-lr-surface=glass]{--_lr-glass-blocker:initial}@supports (backdrop-filter:blur(0)){:where(.lr-surface-chrome){--_lr-glass-qualified-focus-ring-color:color-mix(in srgb, var(--_lr-glass-original-focus-ring-color,var(--lr-color-text)), var(--lr-color-text) calc(var(--_lr-surface-foreground-weight,99%) * var(--_lr-surface-enabled,1) * (1 - var(--_lr-glass-parent-opacity,0)) * (1 - var(--_lr-preference-glass-opacity,0))))
|
|
1
|
+
@layer lr-base,lr-theme,lr-theme-preset,lr-utilities,lr-overrides,lr-theme-preset.look,lr-theme-preset.density;@layer lr-theme-preset.surface{:root{--lr-theme-surface-opacity:.6}:root,:host{--_lr-media-clear-scrim-start:.78;--_lr-media-clear-scrim-end:.92;--_lr-media-clear-fill:#ffffff14;--_lr-media-clear-text:#fff;--_lr-glass-dark-anchor:#000}[data-lr-surface=glass]{--_lr-surface-installed:1;--_lr-surface-enabled:1;--_lr-surface-root-filter:initial;--_lr-glass-blocker:initial;--_lr-surface-content:"";--_lr-surface-isolation:isolate;--_lr-surface-min-opacity:0;--_lr-surface-maximum-blur:16px;--_lr-surface-foreground-weight:99%;--_lr-surface-border-weight:285%;--_lr-surface-child-filter:none;--_lr-surface-child-opacity:1;--lr-theme-surface-blur:12px;--lr-theme-surface-saturation:1.1;--lr-theme-surface-highlight:#ffffff1f}[data-lr-surface=solid]{--_lr-surface-installed:1;--_lr-surface-enabled:0;--_lr-surface-root-filter:none;--_lr-glass-blocker:none;--_lr-surface-maximum-blur:initial;--_lr-surface-content:none;--_lr-surface-isolation:auto;--_lr-surface-child-filter:initial;--_lr-surface-child-opacity:0;--_lr-glass-parent-opacity:0;--_lr-next-glass-opacity:0}:where(.lr-surface-chrome){color:var(--lr-color-text);--_lr-surface-default-blur:12px;--_lr-surface-default-maximum-blur:16px;--_lr-surface-default-highlight:#ffffff1f;--lr-color-text:var(--lr-theme-color-text-normal,CanvasText);--_lr-glass-original-text-quiet:var(--_lr-preference-quiet-color,var(--lr-theme-color-text-quiet,CanvasText));--_lr-glass-original-border:var(--_lr-preference-control-color,var(--lr-theme-color-surface-border,CanvasText));--_lr-glass-original-border-strong:var(--_lr-preference-control-color,var(--lr-theme-color-border-strong,CanvasText));--_lr-glass-original-focus-ring-color:var(--lr-theme-color-focus,Highlight);--lr-focus-ring-width:max(var(--lr-theme-focus-ring-width,2px), var(--_lr-preference-focus-min,0px));--lr-focus-ring-color:var(--_lr-glass-qualified-focus-ring-color,var(--_lr-glass-original-focus-ring-color));--lr-focus-ring-offset:var(--lr-theme-focus-ring-offset,2px);--lr-focus-ring:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);position:relative}:where(.lr-surface-chrome)[data-lr-surface=solid]{--_lr-surface-enabled:0;--_lr-surface-root-filter:none;--_lr-surface-content:none;--_lr-surface-isolation:auto;--_lr-surface-child-filter:initial;--_lr-surface-child-opacity:0}:where(.lr-surface-chrome){background:var(--lr-surface-background,var(--lr-theme-color-surface-container-high,var(--lr-theme-color-surface-overlay,Canvas)));--_lr-glass-filter-value:blur(calc(clamp(0px, var(--lr-theme-surface-blur,var(--_lr-surface-default-blur)), var(--_lr-surface-maximum-blur,var(--_lr-surface-default-maximum-blur))) * (1 - var(--_lr-glass-parent-opacity,0)))) saturate(calc(1 + (clamp(0, var(--lr-theme-surface-saturation,1.1), 2) - 1) * (1 - var(--_lr-glass-parent-opacity,0))));--_lr-glass-current-filter:var(--_lr-preference-glass-filter,var(--_lr-glass-blocker,var(--_lr-glass-filter-value,none)));--_lr-glass-foreground-weight:initial;--_lr-glass-border-weight:initial;--_lr-next-glass-blocker:var(--_lr-surface-child-filter,none);--_lr-next-glass-opacity:var(--_lr-surface-child-opacity,1)}:where(.lr-surface-chrome[data-lr-surface=glass]){--_lr-next-glass-opacity:inherit}:where(.lr-surface-chrome[data-lr-surface=glass]>*){--_lr-next-glass-opacity:1}:where(.lr-surface-chrome>*){--_lr-glass-blocker:var(--_lr-next-glass-blocker,initial);--_lr-glass-parent-opacity:var(--_lr-next-glass-opacity,initial)}:where(.lr-surface-chrome)[data-lr-surface=solid],[data-lr-surface=solid]{--_lr-glass-parent-opacity:0;--_lr-next-glass-opacity:0;--_lr-glass-blocker:none}:where(.lr-surface-chrome)[data-lr-surface=glass],[data-lr-surface=glass]{--_lr-glass-blocker:initial}@supports (backdrop-filter:blur(0)){:where(.lr-surface-chrome){--_lr-glass-qualified-focus-ring-color:color-mix(in srgb, var(--_lr-glass-original-focus-ring-color,var(--lr-color-text)), var(--lr-color-text) calc(var(--_lr-surface-foreground-weight,99%) * var(--_lr-surface-enabled,1) * (1 - var(--_lr-glass-parent-opacity,0)) * (1 - var(--_lr-preference-glass-opacity,0))))}@media (forced-colors:none){:where(.lr-surface-chrome){--lr-focus-ring-color:var(--_lr-glass-qualified-focus-ring-color,var(--_lr-glass-original-focus-ring-color));--lr-focus-ring:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color)}}:where(.lr-surface-chrome){isolation:var(--_lr-surface-isolation,isolate);--_lr-glass-effective-opacity:var(--_lr-preference-glass-opacity,max(var(--_lr-glass-parent-opacity,0), clamp(var(--_lr-surface-min-opacity,0), var(--lr-theme-surface-opacity,.6), 1)));--_lr-glass-border-weight:clamp(0%, calc(var(--_lr-surface-border-weight,285%) * var(--_lr-surface-enabled,1) * (1 - var(--_lr-glass-effective-opacity))), var(--_lr-surface-foreground-weight,99%));--_lr-glass-foreground-weight:calc(var(--_lr-surface-foreground-weight,99%) * var(--_lr-surface-enabled,1) * (1 - var(--_lr-glass-parent-opacity,0)) * (1 - var(--_lr-preference-glass-opacity,0)));--_lr-glass-qualified-text-quiet:color-mix(in srgb, var(--_lr-glass-original-text-quiet,var(--lr-color-text)), var(--lr-color-text) var(--_lr-glass-foreground-weight));--lr-color-text-quiet:var(--_lr-glass-qualified-text-quiet,var(--_lr-glass-original-text-quiet));--_lr-glass-qualified-border:color-mix(in srgb, var(--_lr-glass-original-border,var(--lr-color-text)), var(--lr-color-text) var(--_lr-glass-border-weight));--lr-color-border:var(--_lr-glass-qualified-border,var(--_lr-glass-original-border));--_lr-glass-qualified-border-strong:color-mix(in srgb, var(--_lr-glass-original-border-strong,var(--_lr-glass-original-border,var(--lr-color-text))), var(--lr-color-text) var(--_lr-glass-border-weight));--lr-color-border-strong:var(--_lr-glass-qualified-border-strong,var(--_lr-glass-original-border-strong));--_lr-glass-brand-text:color-mix(in srgb, var(--lr-color-brand), var(--lr-color-text) var(--_lr-glass-foreground-weight));--_lr-glass-danger-text:color-mix(in srgb, var(--lr-color-danger), var(--lr-color-text) var(--_lr-glass-foreground-weight))}@supports (color:light-dark(Canvas, CanvasText)){:where(.lr-surface-chrome){--_lr-glass-dark-fill-weight:clamp(20%, calc(var(--_lr-glass-effective-opacity) * 800% - 460%), 100%);--_lr-glass-fill:light-dark(var(--lr-surface-background,var(--lr-theme-color-surface-container-high,var(--lr-theme-color-surface-overlay,Canvas))),color-mix(in srgb, var(--lr-surface-background,var(--lr-theme-color-surface-container-high,var(--lr-theme-color-surface-overlay,Canvas))) var(--_lr-glass-dark-fill-weight), color-mix(in srgb, var(--lr-color-surface,var(--_lr-glass-dark-anchor)) clamp(0%, var(--lr-theme-surface-glass-dark-share,10%), 100%), var(--_lr-glass-dark-anchor))));--_lr-glass-background:color-mix(in srgb, var(--lr-surface-background,var(--lr-theme-color-surface-container-high,var(--lr-theme-color-surface-overlay,Canvas))) calc((1 - var(--_lr-surface-enabled,1) * (1 - var(--_lr-preference-glass-opacity,0))) * 100%), color-mix(in srgb, var(--_lr-glass-fill) calc(var(--_lr-glass-effective-opacity) * 100%), transparent));background:var(--_lr-glass-background,var(--lr-surface-background,var(--lr-theme-color-surface-container-high,var(--lr-theme-color-surface-overlay,Canvas))))}}:where(.lr-surface-chrome):before{content:var(--_lr-surface-content,"");z-index:-1;pointer-events:none;border-radius:inherit;block-size:auto;inline-size:auto;backdrop-filter:var(--_lr-glass-current-filter);box-shadow:inset 0 var(--lr-border-width-thin,1px) 0 var(--lr-theme-surface-highlight,var(--_lr-surface-default-highlight));position:absolute;inset:0}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more),(forced-colors:active){:where(.lr-surface-chrome){background:var(--lr-surface-background,var(--lr-theme-color-surface-container-high,var(--lr-theme-color-surface-overlay,Canvas)));--_lr-glass-foreground-weight:initial;--_lr-glass-border-weight:initial}:where(.lr-surface-chrome):before{content:none;backdrop-filter:none}}@media (forced-colors:active){:where(.lr-surface-chrome){background:canvas}}:where(.lr-surface-chrome):popover-open,:where(.lr-surface-chrome):modal{--_lr-glass-parent-opacity:initial!important;--_lr-glass-blocker:var(--_lr-surface-root-filter,initial)!important}}@layer lr-theme-preset.accent,lr-theme-preset.mode;
|
|
@@ -43,7 +43,28 @@ export declare function installHappyDomShadowFocusShim():()=>void;
|
|
|
43
43
|
export declare function createAriaControlsElementsDescriptor():PropertyDescriptor;
|
|
44
44
|
/** Adds `Element.prototype.ariaControlsElements` only when the engine lacks it. */
|
|
45
45
|
export declare function installHappyDomAriaControlsShim(proto?:object|undefined):void;
|
|
46
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* Removes CSS cascade layers from `css` while keeping every rule in place: `@layer a, b;`
|
|
48
|
+
* statements are dropped and each `@layer name { ... }` block (named, anonymous or nested, also
|
|
49
|
+
* inside `@media`/`@supports`) is replaced by its own content. Comments, strings and `url(...)`
|
|
50
|
+
* are copied verbatim, and `@import ... layer(x)` is left alone. Layer precedence is NOT
|
|
51
|
+
* modelled: the unwrapped rules cascade in source order like unlayered rules.
|
|
52
|
+
*/
|
|
53
|
+
export declare function flattenCascadeLayers(css:string):string;interface SheetTextMethods{replaceSync(text:string):void;replace(text:string):Promise<unknown>;}
|
|
54
|
+
/**
|
|
55
|
+
* Makes an engine whose CSSOM drops `@layer` rules (Happy DOM 20 discards every layered rule, so
|
|
56
|
+
* `getComputedStyle()` never sees a custom property `theme.css` declares inside a layer) parse the
|
|
57
|
+
* layer contents as ordinary rules. `replaceSync()` and `replace()` -- the path `<style>`,
|
|
58
|
+
* `<link rel="stylesheet">` and constructed sheets all take -- receive the text through
|
|
59
|
+
* {@link flattenCascadeLayers}, so Lyra's stylesheet probes (`--_lr-style-resolver`, the
|
|
60
|
+
* `--_lr-*-installed` markers, the token-layer sentinel) resolve as in a browser. Layer order is
|
|
61
|
+
* not modelled; assert behaviour, not values that depend on layer precedence. `insertRule()` is
|
|
62
|
+
* unchanged. No-op wherever the engine keeps layer rules (every browser) or has no
|
|
63
|
+
* `CSSStyleSheet`; installs once and returns a function that restores the original methods.
|
|
64
|
+
* `proto` and `misbehaves` default to the global `CSSStyleSheet.prototype` and the engine probe.
|
|
65
|
+
*/
|
|
66
|
+
export declare function installHappyDomCascadeLayerShim(proto?:SheetTextMethods|undefined,misbehaves?:()=>boolean):()=>void;
|
|
67
|
+
/** Installs the feature-detected Happy DOM form, focus, ARIA, CSS layer, stylesheet and direction fixes. */
|
|
47
68
|
export declare function installHappyDomShims():void;
|
|
48
69
|
/** Test-only: returns a fresh stub `ElementInternals`-shaped object, independent of whether
|
|
49
70
|
* `attachInternals` already exists natively -- exists purely so this module's own test can
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function createStubInternals(host){return{get form(){return host.closest("form")},labels:document.createDocumentFragment().querySelectorAll("label"),states:new Set,validity:{valid:!0},validationMessage:"",willValidate:!0,setFormValue(){},checkValidity(){return!0},reportValidity(){return!0},setValidity(){}}}function installHappyDomFormAssociatedShims(){typeof HTMLElement>"u"||typeof HTMLElement.prototype.attachInternals!="function"&&(HTMLElement.prototype.attachInternals=function(){return createStubInternals(this)})}function siblingActiveElementThrows(){const body=document.body;if(!body)return!1;const previous=document.activeElement,hosts=[document.createElement("div"),document.createElement("div")],roots=hosts.map(host=>host.attachShadow({mode:"open"})),button=document.createElement("button");roots[0]?.appendChild(button),hosts.forEach(host=>body.appendChild(host));try{return button.focus(),roots[1].activeElement,!1}catch{return!0}finally{button.blur(),hosts.forEach(host=>host.remove()),previous instanceof HTMLElement&&previous.focus()}}function detachedActiveElementThrows(){const root=document.createElement("div").attachShadow({mode:"open"});try{return root.activeElement,!1}catch{return!0}}function guardShadowActiveElement(proto,misbehaves){const descriptor=Object.getOwnPropertyDescriptor(proto,"activeElement"),native=descriptor?.get;if(!(!descriptor||!native||!misbehaves()))return Object.defineProperty(proto,"activeElement",{...descriptor,get(){try{return native.call(this)}catch(error){if(error instanceof TypeError)return null;throw error}}}),()=>Object.defineProperty(proto,"activeElement",descriptor)}function installHappyDomShadowFocusShim(){return typeof ShadowRoot>"u"||typeof document>"u"?()=>{}:guardShadowActiveElement(ShadowRoot.prototype,()=>siblingActiveElementThrows()||detachedActiveElementThrows())??(()=>{})}function isInScope(source,target){const targetRoot=target.getRootNode();let root=source.getRootNode();for(;root;){if(root===targetRoot)return!0;root="host"in root?root.host.getRootNode():null}return!1}function createAriaControlsElementsDescriptor(){const explicit=new WeakMap;return{configurable:!0,enumerable:!0,get(){const attr=this.getAttribute("aria-controls");if(attr===null)return null;const stored=explicit.get(this);if(stored&&stored.attr===attr)return stored.elements.filter(element=>isInScope(this,element));const root=this.getRootNode();return attr.split(/\s+/).filter(Boolean).map(id=>root.getElementById?.(id)??null).filter(element=>element!==null)},set(value){if(value==null){explicit.delete(this),this.removeAttribute("aria-controls");return}this.setAttribute("aria-controls",""),explicit.set(this,{elements:Array.from(value),attr:""})}}}function installHappyDomAriaControlsShim(proto=globalThis.Element?.prototype){!proto||"ariaControlsElements"in proto||Object.defineProperty(proto,"ariaControlsElements",createAriaControlsElementsDescriptor())}function installHappyDomShims(){installHappyDomFormAssociatedShims(),installHappyDomShadowFocusShim(),installHappyDomAriaControlsShim()}function installStubInternalsForTest(host){return createStubInternals(host)}export{createAriaControlsElementsDescriptor,guardShadowActiveElement,installHappyDomAriaControlsShim,installHappyDomFormAssociatedShims,installHappyDomShadowFocusShim,installHappyDomShims,installStubInternalsForTest};
|
|
1
|
+
function createStubInternals(host){return{get form(){return host.closest("form")},labels:document.createDocumentFragment().querySelectorAll("label"),states:new Set,validity:{valid:!0},validationMessage:"",willValidate:!0,setFormValue(){},checkValidity(){return!0},reportValidity(){return!0},setValidity(){}}}function installHappyDomFormAssociatedShims(){typeof HTMLElement>"u"||typeof HTMLElement.prototype.attachInternals!="function"&&(HTMLElement.prototype.attachInternals=function(){return createStubInternals(this)})}function siblingActiveElementThrows(){const body=document.body;if(!body)return!1;const previous=document.activeElement,hosts=[document.createElement("div"),document.createElement("div")],roots=hosts.map(host=>host.attachShadow({mode:"open"})),button=document.createElement("button");roots[0]?.appendChild(button),hosts.forEach(host=>body.appendChild(host));try{return button.focus(),roots[1].activeElement,!1}catch{return!0}finally{button.blur(),hosts.forEach(host=>host.remove()),previous instanceof HTMLElement&&previous.focus()}}function detachedActiveElementThrows(){const root=document.createElement("div").attachShadow({mode:"open"});try{return root.activeElement,!1}catch{return!0}}function guardShadowActiveElement(proto,misbehaves){const descriptor=Object.getOwnPropertyDescriptor(proto,"activeElement"),native=descriptor?.get;if(!(!descriptor||!native||!misbehaves()))return Object.defineProperty(proto,"activeElement",{...descriptor,get(){try{return native.call(this)}catch(error){if(error instanceof TypeError)return null;throw error}}}),()=>Object.defineProperty(proto,"activeElement",descriptor)}function installHappyDomShadowFocusShim(){return typeof ShadowRoot>"u"||typeof document>"u"?()=>{}:guardShadowActiveElement(ShadowRoot.prototype,()=>siblingActiveElementThrows()||detachedActiveElementThrows())??(()=>{})}function isInScope(source,target){const targetRoot=target.getRootNode();let root=source.getRootNode();for(;root;){if(root===targetRoot)return!0;root="host"in root?root.host.getRootNode():null}return!1}function createAriaControlsElementsDescriptor(){const explicit=new WeakMap;return{configurable:!0,enumerable:!0,get(){const attr=this.getAttribute("aria-controls");if(attr===null)return null;const stored=explicit.get(this);if(stored&&stored.attr===attr)return stored.elements.filter(element=>isInScope(this,element));const root=this.getRootNode();return attr.split(/\s+/).filter(Boolean).map(id=>root.getElementById?.(id)??null).filter(element=>element!==null)},set(value){if(value==null){explicit.delete(this),this.removeAttribute("aria-controls");return}this.setAttribute("aria-controls",""),explicit.set(this,{elements:Array.from(value),attr:""})}}}function installHappyDomAriaControlsShim(proto=globalThis.Element?.prototype){!proto||"ariaControlsElements"in proto||Object.defineProperty(proto,"ariaControlsElements",createAriaControlsElementsDescriptor())}function skipOpaqueToken(css,index){const char=css[index];if(char==="/"&&css[index+1]==="*"){const end=css.indexOf("*/",index+2);return end===-1?css.length:end+2}if(char==='"'||char==="'"){let cursor=index+1;for(;cursor<css.length&&css[cursor]!==char;)cursor+=css[cursor]==="\\"?2:1;return Math.min(cursor+1,css.length)}if((char==="u"||char==="U")&&/^url\(/i.test(css.slice(index,index+4))&&!/[\w-]/.test(css[index-1]??"")){let cursor=index+4;for(;cursor<css.length&&/\s/.test(css[cursor]);)cursor++;if(css[cursor]==='"'||css[cursor]==="'")return index;const end=css.indexOf(")",cursor);return end===-1?css.length:end+1}return index}function matchingBrace(css,open){let depth=0;for(let index=open;index<css.length;index++){const skipped=skipOpaqueToken(css,index);if(skipped!==index){index=skipped-1;continue}if(css[index]==="{")depth++;else if(css[index]==="}"&&--depth===0)return index}return css.length}function flattenCascadeLayers(css){let output="",index=0;for(;index<css.length;){const skipped=skipOpaqueToken(css,index);if(skipped!==index){output+=css.slice(index,skipped),index=skipped;continue}if(css.startsWith("@layer",index)&&!/[\w-]/.test(css[index+6]??"")){let cursor=index+6;for(;cursor<css.length&&css[cursor]!==";"&&css[cursor]!=="{";)cursor++;if(css[cursor]==="{"){const close=matchingBrace(css,cursor);output+=flattenCascadeLayers(css.slice(cursor+1,close)),index=close+1}else index=cursor+1;continue}output+=css[index],index++}return output}function cascadeLayerRulesDropped(){try{const sheet=new CSSStyleSheet;return sheet.replaceSync("@layer lr-probe{:root{--lr-probe:1}}"),sheet.cssRules.length===0}catch{return!1}}const FLATTENING=Symbol.for("lyra-ui.testing.cascade-layer-shim");function installHappyDomCascadeLayerShim(proto=globalThis.CSSStyleSheet?.prototype,misbehaves=cascadeLayerRulesDropped){if(!proto||typeof proto.replaceSync!="function")return()=>{};const installed=proto;if(installed[FLATTENING]||!misbehaves())return()=>{};const{replaceSync,replace}=proto;return installed.replaceSync=function(text){replaceSync.call(this,typeof text=="string"?flattenCascadeLayers(text):text)},typeof replace=="function"&&(installed.replace=function(text){return replace.call(this,typeof text=="string"?flattenCascadeLayers(text):text)}),installed[FLATTENING]=!0,()=>{installed.replaceSync=replaceSync,typeof replace=="function"&&(installed.replace=replace),delete installed[FLATTENING]}}function installHappyDomShadowStyleSheetsShim(){if(typeof ShadowRoot>"u"||"styleSheets"in ShadowRoot.prototype)return;const lists=new WeakMap;Object.defineProperty(ShadowRoot.prototype,"styleSheets",{configurable:!0,enumerable:!0,get(){let list=lists.get(this);if(list)return list;const root=this,read=()=>Array.from(root.querySelectorAll('style, link[rel~="stylesheet" i]'),element=>element.sheet).filter(sheet=>sheet!==null),collection={get length(){return read().length},item(index){return read()[index>>>0]??null},*[Symbol.iterator](){for(let index=0;index<this.length;index++)yield this.item(index)}};return list=new Proxy(collection,{get(target,key,receiver){return typeof key=="string"&&/^(0|[1-9]\d*)$/.test(key)?read()[Number(key)]:Reflect.get(target,key,receiver)}}),lists.set(root,list),list}})}const happyDomDirectionStyles=new WeakMap;function installHappyDomDirectionShim(){if(typeof document>"u"||typeof navigator>"u"||!/happy.?dom/i.test(navigator.userAgent)||!document.head||!document.body||happyDomDirectionStyles.get(document)?.isConnected)return;const probe=document.createElement("div");probe.dir="rtl",document.body.append(probe);let supported;try{supported=document.defaultView?.getComputedStyle(probe).direction==="rtl"}finally{probe.remove()}if(supported)return;const style=document.createElement("style"),selector=value=>{let cases=[""];for(const character of value)cases=cases.flatMap(prefix=>[prefix+character,prefix+character.toUpperCase()]);return`:where(${cases.map(variant=>`[dir="${variant}"]`).join(",")})`};style.textContent=`${selector("ltr")}{direction:ltr}${selector("rtl")}{direction:rtl}`,document.head.append(style),happyDomDirectionStyles.set(document,style)}function installHappyDomShims(){installHappyDomFormAssociatedShims(),installHappyDomShadowFocusShim(),installHappyDomAriaControlsShim(),installHappyDomCascadeLayerShim(),installHappyDomShadowStyleSheetsShim(),installHappyDomDirectionShim()}function installStubInternalsForTest(host){return createStubInternals(host)}export{createAriaControlsElementsDescriptor,flattenCascadeLayers,guardShadowActiveElement,installHappyDomAriaControlsShim,installHappyDomCascadeLayerShim,installHappyDomFormAssociatedShims,installHappyDomShadowFocusShim,installHappyDomShims,installStubInternalsForTest};
|
package/dist/testing/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{installHappyDomAriaControlsShim,installHappyDomFormAssociatedShims,installHappyDomShadowFocusShim,installHappyDomShims,installStubInternalsForTest,}from'./happy-dom-shims.js';export*from'./event-factory.js';export*from'./interaction-drivers.js';export*from'./wait-for-mount.js';
|
|
1
|
+
export{flattenCascadeLayers,installHappyDomAriaControlsShim,installHappyDomCascadeLayerShim,installHappyDomFormAssociatedShims,installHappyDomShadowFocusShim,installHappyDomShims,installStubInternalsForTest,}from'./happy-dom-shims.js';export{installJsdomAdoptedStyleSheetsShim,installJsdomFormAssociatedShim,installJsdomShims,type JsdomAdoptedStyleSheetsTargets,type JsdomFormAssociatedTargets,}from'./jsdom-shims.js';export*from'./event-factory.js';export*from'./interaction-drivers.js';export*from'./wait-for-mount.js';
|
package/dist/testing/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{installHappyDomAriaControlsShim,installHappyDomFormAssociatedShims,installHappyDomShadowFocusShim,installHappyDomShims,installStubInternalsForTest}from"./happy-dom-shims.js";export*from"./event-factory.js";export*from"./interaction-drivers.js";export*from"./wait-for-mount.js";export{installHappyDomAriaControlsShim,installHappyDomFormAssociatedShims,installHappyDomShadowFocusShim,installHappyDomShims,installStubInternalsForTest};
|
|
1
|
+
import{flattenCascadeLayers,installHappyDomAriaControlsShim,installHappyDomCascadeLayerShim,installHappyDomFormAssociatedShims,installHappyDomShadowFocusShim,installHappyDomShims,installStubInternalsForTest}from"./happy-dom-shims.js";import{installJsdomAdoptedStyleSheetsShim,installJsdomFormAssociatedShim,installJsdomShims}from"./jsdom-shims.js";export*from"./event-factory.js";export*from"./interaction-drivers.js";export*from"./wait-for-mount.js";export{flattenCascadeLayers,installHappyDomAriaControlsShim,installHappyDomCascadeLayerShim,installHappyDomFormAssociatedShims,installHappyDomShadowFocusShim,installHappyDomShims,installJsdomAdoptedStyleSheetsShim,installJsdomFormAssociatedShim,installJsdomShims,installStubInternalsForTest};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type{ApprovalDecision}from'../components/agent-tools/approval-state.js';import type{LyraConfirmBar}from'../components/agent-tools/confirm-bar/confirm-bar.class.js';import type{LyraToolApprovalDialog}from'../components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js';import type{LyraCombobox}from'../components/forms/combobox/combobox.class.js';import type{LyraLocalePicker}from'../components/forms/locale-picker/locale-picker.class.js';import type{LyraSelect}from'../components/forms/select/select.class.js';import type{LyraSwitch}from'../components/forms/switch/switch.class.js';import type{LyraModelSelect}from'../components/conversation/model-select/model-select.class.js';import type{LyraVoicePicker}from'../components/conversation/voice-picker/voice-picker.class.js';import type{LyraStepper}from'../components/layout/stepper/stepper.class.js';
|
|
1
|
+
import type{ApprovalDecision}from'../components/agent-tools/approval-state.js';import type{LyraConfirmBar}from'../components/agent-tools/confirm-bar/confirm-bar.class.js';import type{LyraToolApprovalDialog}from'../components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js';import type{LyraCombobox}from'../components/forms/combobox/combobox.class.js';import type{LyraLocalePicker}from'../components/forms/locale-picker/locale-picker.class.js';import type{LyraSelect}from'../components/forms/select/select.class.js';import type{LyraSwitch}from'../components/forms/switch/switch.class.js';import type{LyraModelSelect}from'../components/conversation/model-select/model-select.class.js';import type{LyraVoicePicker}from'../components/conversation/voice-picker/voice-picker.class.js';import type{LyraStepper}from'../components/layout/stepper/stepper.class.js';import type{LyraSwatchPicker}from'../components/forms/swatch-picker/swatch-picker.class.js';import type{LyraCurrencyPicker}from'../components/forms/currency-picker/currency-picker.class.js';import type{LyraPopover}from'../components/overlays/overlay/popover.class.js';
|
|
2
2
|
/**
|
|
3
3
|
* A small, typed set of interaction drivers that go through one `lr-*` component's own real
|
|
4
4
|
* activation path -- the same shadow-part lookup and `.click()` the component's own tests use --
|
|
@@ -10,14 +10,15 @@ import type{ApprovalDecision}from'../components/agent-tools/approval-state.js';i
|
|
|
10
10
|
* nothing, which is the exact class of mistake {@link chooseOption}, {@link toggleSwitch},
|
|
11
11
|
* {@link submitConfirmDecision} and {@link activateStep} exist to prevent.
|
|
12
12
|
*
|
|
13
|
-
* Pure DOM operations only (`Element.click()`, shadow-part queries,
|
|
13
|
+
* Pure DOM operations only (`Element.click()`, an Escape `KeyboardEvent`, shadow-part queries,
|
|
14
|
+
* public properties) -- no
|
|
14
15
|
* `@web/test-runner`/CDP-only helper such as `sendMouse`, so these also run under a downstream
|
|
15
16
|
* suite's own happy-dom/jsdom environment, not only a real browser.
|
|
16
17
|
*
|
|
17
|
-
* Scope: one driver per
|
|
18
|
-
* submitting a confirm-bar decision, toggling a switch, activating a stepper step
|
|
19
|
-
* "drive any component" toolkit -- render the real component and
|
|
20
|
-
* anything else.
|
|
18
|
+
* Scope: one driver per commonly driven interaction (choosing an option, a swatch or a currency,
|
|
19
|
+
* submitting a confirm-bar decision, toggling a switch, activating a stepper step, opening and
|
|
20
|
+
* closing a popover). Not a general "drive any component" toolkit -- render the real component and
|
|
21
|
+
* interact with it directly for anything else.
|
|
21
22
|
*/
|
|
22
23
|
/**
|
|
23
24
|
* A `LyraElement` that opens an option listbox in its own shadow root and renders each option as
|
|
@@ -85,4 +86,62 @@ export declare function toggleSwitch(switchEl:LyraSwitch):Promise<void>;
|
|
|
85
86
|
* @throws {Error} if `stepper` is read-only, `target` does not resolve to a step, or that step is
|
|
86
87
|
* `disabled`.
|
|
87
88
|
*/
|
|
88
|
-
export declare function activateStep(stepper:LyraStepper,target:number|string):Promise<void>;
|
|
89
|
+
export declare function activateStep(stepper:LyraStepper,target:number|string):Promise<void>;
|
|
90
|
+
/**
|
|
91
|
+
* Clicks the rendered `[part~="swatch"]` radio whose `data-value` matches `value` -- the same
|
|
92
|
+
* native button a pointer press activates -- so `<lr-swatch-picker>` runs its own selection path:
|
|
93
|
+
* `lr-change` (only when the selection moves) and then `lr-activate`, both dispatched before this
|
|
94
|
+
* resolves. Re-choosing the current value emits only `lr-activate`, exactly as a real click does.
|
|
95
|
+
* With duplicate values the first enabled occurrence is chosen.
|
|
96
|
+
*
|
|
97
|
+
* @throws {Error} if `picker` is disabled, no rendered swatch carries `value`, or every swatch
|
|
98
|
+
* with that value is disabled.
|
|
99
|
+
*/
|
|
100
|
+
export declare function chooseSwatch(picker:LyraSwatchPicker,value:string):Promise<void>;
|
|
101
|
+
/**
|
|
102
|
+
* Chooses `code` in `<lr-currency-picker>` through the select (or, with `searchable`, the
|
|
103
|
+
* combobox) it composes: the inner control's listbox opens and the real option row is clicked, as
|
|
104
|
+
* {@link chooseOption} does. The picker then commits through its own path, so `input`,
|
|
105
|
+
* `lr-input`, `change` and `lr-change` have all been dispatched on the picker host (once, and only
|
|
106
|
+
* when the value changes) before this resolves. Awaits the picker's `updateComplete` first, which
|
|
107
|
+
* also waits for a `searchable` picker's lazily loaded combobox. Matching is exact against the
|
|
108
|
+
* catalog code (`"EUR"`, not `"eur"`).
|
|
109
|
+
*
|
|
110
|
+
* @throws {Error} if `picker` is disabled, `code` is not in its current catalog, or that entry is
|
|
111
|
+
* disabled.
|
|
112
|
+
*/
|
|
113
|
+
export declare function chooseCurrency(picker:LyraCurrencyPicker,code:string):Promise<void>;
|
|
114
|
+
/** Options for {@link openPopover} and {@link closePopover}. */
|
|
115
|
+
export interface PopoverDriverOptions{
|
|
116
|
+
/** Bounded wait, in milliseconds, for `lr-after-show`/`lr-after-hide` before rejecting. Default 2000. */
|
|
117
|
+
timeoutMs?:number;}
|
|
118
|
+
/** Options for {@link closePopover}. */
|
|
119
|
+
export interface ClosePopoverOptions extends PopoverDriverOptions{
|
|
120
|
+
/**
|
|
121
|
+
* How to close it. `'escape'` (the default) presses Escape on the focused element, which closes
|
|
122
|
+
* the topmost open overlay; `'trigger'` clicks the interaction trigger again, the click-mode
|
|
123
|
+
* toggle (and the release of a pinned `hover`/`focus` surface).
|
|
124
|
+
*/
|
|
125
|
+
via?:'escape'|'trigger';}
|
|
126
|
+
/**
|
|
127
|
+
* Opens `<lr-popover>` by clicking its interaction trigger (the slotted `trigger` element, else its
|
|
128
|
+
* `for` target) -- the pointer path a user takes -- and resolves after the component's own
|
|
129
|
+
* `lr-show` and `lr-after-show`, once the popup has rendered. Resolves immediately when it is
|
|
130
|
+
* already open. A `hover`/`focus` popover opens and pins on that click, as it does for a user.
|
|
131
|
+
*
|
|
132
|
+
* @throws {Error} if the popover is disabled, uses `trigger="manual"` or a `showAt()` virtual
|
|
133
|
+
* anchor (use `show()`), has no trigger, or did not open (an `lr-show` veto, a disabled trigger,
|
|
134
|
+
* or a peer that refused to close); rejects if `lr-after-show` does not follow in time.
|
|
135
|
+
*/
|
|
136
|
+
export declare function openPopover(popover:LyraPopover,options?:PopoverDriverOptions):Promise<void>;
|
|
137
|
+
/**
|
|
138
|
+
* Closes `<lr-popover>` the way a user does -- Escape on the focused element by default, or a
|
|
139
|
+
* second click on its trigger with `{ via: 'trigger' }` -- and resolves after the component's own
|
|
140
|
+
* `lr-hide` and `lr-after-hide`. Focus returns to the trigger as for a real dismissal. Resolves
|
|
141
|
+
* immediately when it is already closed.
|
|
142
|
+
*
|
|
143
|
+
* @throws {Error} if the popover did not close: an `lr-hide` veto, Escape reaching a newer
|
|
144
|
+
* overlay above it, or a trigger click that pinned a transient surface instead of closing it;
|
|
145
|
+
* rejects if `lr-after-hide` does not follow in time.
|
|
146
|
+
*/
|
|
147
|
+
export declare function closePopover(popover:LyraPopover,options?:ClosePopoverOptions):Promise<void>;export{};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
async function chooseOption(owner,value){if(owner.effectiveDisabled)throw new Error("chooseOption(): the control is disabled and will not open.");owner.open=!0,await owner.updateComplete;const rows=owner.renderRoot?.querySelectorAll('[part="option"]'),row=rows?Array.from(rows).find(candidate=>candidate.dataset.value===value):void 0;if(!row)throw new Error(`chooseOption(): no rendered option has value ${JSON.stringify(value)}.`);row.click(),await owner.updateComplete}async function submitConfirmDecision(owner,decision){const part=decision==="approved"?"approve-button":"deny-button",button=owner.renderRoot?.querySelector(`[part="${part}"]`);if(!button)throw new Error(`submitConfirmDecision(): [part="${part}"] is not currently rendered (already decided, or not currently open).`);if(button.effectiveDisabled||button.loading)throw new Error(`submitConfirmDecision(): [part="${part}"] is disabled or loading and will not respond to click().`);button.click(),await owner.updateComplete}async function toggleSwitch(switchEl){if(switchEl.effectiveDisabled)throw new Error("toggleSwitch(): the switch is disabled and will not respond to click().");switchEl.click(),await switchEl.updateComplete}async function activateStep(stepper,target){if(stepper.readonly)throw new Error("activateStep(): the stepper is read-only; its steps are not interactive.");const index=typeof target=="number"?target:stepper.steps.findIndex(step2=>step2.stepId===target),step=index>=0?stepper.steps[index]:void 0;if(!step)throw new Error(`activateStep(): no step matches ${JSON.stringify(target)}.`);if(step.disabled)throw new Error(`activateStep(): step ${JSON.stringify(target)} is disabled.`);const button=stepper.renderRoot?.querySelector(`[part="step"][data-index="${index}"]`);if(!button)throw new Error(`activateStep(): step ${JSON.stringify(target)} is not currently rendered.`);button.click(),await stepper.updateComplete}export{activateStep,chooseOption,submitConfirmDecision,toggleSwitch};
|
|
1
|
+
import{tag}from"../internal/prefix.js";import{deepActiveElementIn}from"../internal/active-element.js";async function chooseOption(owner,value){if(owner.effectiveDisabled)throw new Error("chooseOption(): the control is disabled and will not open.");owner.open=!0,await owner.updateComplete;const rows=owner.renderRoot?.querySelectorAll('[part="option"]'),row=rows?Array.from(rows).find(candidate=>candidate.dataset.value===value):void 0;if(!row)throw new Error(`chooseOption(): no rendered option has value ${JSON.stringify(value)}.`);row.click(),await owner.updateComplete}async function submitConfirmDecision(owner,decision){const part=decision==="approved"?"approve-button":"deny-button",button=owner.renderRoot?.querySelector(`[part="${part}"]`);if(!button)throw new Error(`submitConfirmDecision(): [part="${part}"] is not currently rendered (already decided, or not currently open).`);if(button.effectiveDisabled||button.loading)throw new Error(`submitConfirmDecision(): [part="${part}"] is disabled or loading and will not respond to click().`);button.click(),await owner.updateComplete}async function toggleSwitch(switchEl){if(switchEl.effectiveDisabled)throw new Error("toggleSwitch(): the switch is disabled and will not respond to click().");switchEl.click(),await switchEl.updateComplete}async function activateStep(stepper,target){if(stepper.readonly)throw new Error("activateStep(): the stepper is read-only; its steps are not interactive.");const index=typeof target=="number"?target:stepper.steps.findIndex(step2=>step2.stepId===target),step=index>=0?stepper.steps[index]:void 0;if(!step)throw new Error(`activateStep(): no step matches ${JSON.stringify(target)}.`);if(step.disabled)throw new Error(`activateStep(): step ${JSON.stringify(target)} is disabled.`);const button=stepper.renderRoot?.querySelector(`[part="step"][data-index="${index}"]`);if(!button)throw new Error(`activateStep(): step ${JSON.stringify(target)} is not currently rendered.`);button.click(),await stepper.updateComplete}async function chooseSwatch(picker,value){if(picker.disabled)throw new Error("chooseSwatch(): the swatch picker is disabled and will not respond to click().");await picker.updateComplete;const swatches=Array.from(picker.renderRoot?.querySelectorAll('[part~="swatch"]')??[]).filter(swatch2=>swatch2.dataset.value===value);if(swatches.length===0)throw new Error(`chooseSwatch(): no rendered swatch has value ${JSON.stringify(value)}.`);const swatch=swatches.find(candidate=>!candidate.disabled);if(!swatch)throw new Error(`chooseSwatch(): the swatch with value ${JSON.stringify(value)} is disabled.`);swatch.click(),await picker.updateComplete}async function chooseCurrency(picker,code){if(picker.effectiveDisabled||picker.matches(":disabled"))throw new Error("chooseCurrency(): the currency picker is disabled and will not open.");await picker.updateComplete;const control=picker.renderRoot?.querySelector(`${tag("select")},${tag("combobox")}`);if(!control)throw new Error("chooseCurrency(): the currency picker has not rendered its control yet.");await control.updateComplete;const option=Array.from(control.querySelectorAll(tag("option"))).find(candidate=>candidate.value===code);if(!option)throw new Error(`chooseCurrency(): ${JSON.stringify(code)} is not in the picker's catalog.`);if(option.disabled)throw new Error(`chooseCurrency(): ${JSON.stringify(code)} is disabled in the picker's catalog.`);await chooseOption(control,code),await picker.updateComplete}const POPOVER_SETTLE_TIMEOUT_MS=2e3;function popoverTrigger(popover){const slotted=popover.renderRoot?.querySelector('slot[name="trigger"]')?.assignedElements({flatten:!0})[0];return slotted||(popover.for?popover.getRootNode().getElementById?.(popover.for)??void 0:void 0)}function settled(popover,type,timeoutMs,caller){let cancel=()=>{};return{promise:new Promise((resolve,reject)=>{const timer=setTimeout(()=>{popover.removeEventListener(type,onSettled),reject(new Error(`${caller}: ${type} did not fire within ${timeoutMs}ms.`))},timeoutMs),onSettled=()=>{clearTimeout(timer),resolve()};popover.addEventListener(type,onSettled,{once:!0}),cancel=()=>{clearTimeout(timer),popover.removeEventListener(type,onSettled)}}),cancel}}async function openPopover(popover,options={}){if(await popover.updateComplete,popover.open)return;if(popover.disabled)throw new Error("openPopover(): the popover is disabled and will not open.");if(/(?:^|\s)manual(?:\s|$)/i.test(popover.trigger))throw new Error('openPopover(): trigger="manual" ignores interaction; call show() instead.');const trigger=popoverTrigger(popover);if(!trigger)throw new Error("openPopover(): the popover has no slotted trigger or for target to activate; call show() instead.");const after=settled(popover,"lr-after-show",options.timeoutMs??POPOVER_SETTLE_TIMEOUT_MS,"openPopover()");if(trigger.click(),!popover.open)throw after.cancel(),new Error("openPopover(): the popover did not open (lr-show was vetoed, the trigger is disabled, or a peer stayed open).");await after.promise,await popover.updateComplete}async function closePopover(popover,options={}){if(await popover.updateComplete,!popover.open)return;const after=settled(popover,"lr-after-hide",options.timeoutMs??POPOVER_SETTLE_TIMEOUT_MS,"closePopover()");if(options.via==="trigger"){const trigger=popoverTrigger(popover);if(!trigger)throw after.cancel(),new Error("closePopover(): the popover has no slotted trigger or for target to activate.");trigger.click()}else{const document=popover.ownerDocument;(deepActiveElementIn(document)??document.body??document.documentElement).dispatchEvent(new KeyboardEvent("keydown",{key:"Escape",code:"Escape",bubbles:!0,composed:!0,cancelable:!0}))}if(popover.open)throw after.cancel(),new Error("closePopover(): the popover did not close (lr-hide was vetoed, another overlay owns Escape, or the click pinned it).");await after.promise,await popover.updateComplete}export{activateStep,chooseCurrency,chooseOption,chooseSwatch,closePopover,openPopover,submitConfirmDecision,toggleSwitch};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Opt-in shims for a downstream consumer's own jsdom test suite (Vitest or Jest with the jsdom
|
|
3
|
+
* environment). Not used by this package's own tests, which run in real browsers.
|
|
4
|
+
*
|
|
5
|
+
* jsdom implements no `adoptedStyleSheets`, so Lit falls back to rendering one `<style>` element
|
|
6
|
+
* per component shadow root. jsdom then registers every one of those sheets on the owner document
|
|
7
|
+
* (it does not scope them to the shadow root), and each `getComputedStyle()` call matches the
|
|
8
|
+
* element against every rule of every sheet. A page with a few hundred Lyra elements therefore
|
|
9
|
+
* makes each computed-style read cost tens to hundreds of milliseconds, and a test that renders
|
|
10
|
+
* many components spends most of its time there. Those sheets also never applied correctly: jsdom
|
|
11
|
+
* cascades them globally instead of per shadow root.
|
|
12
|
+
*
|
|
13
|
+
* Install the shims once, in a `setupFiles` entry, before anything imports Lit or a Lyra
|
|
14
|
+
* component: Lit decides at module evaluation whether it can adopt stylesheets. Importing
|
|
15
|
+
* `@aceshooting/lyra-ui/testing` itself does not load Lit.
|
|
16
|
+
*/
|
|
17
|
+
/** Overridable environment for {@link installJsdomAdoptedStyleSheetsShim}; each entry defaults to the global. */
|
|
18
|
+
export interface JsdomAdoptedStyleSheetsTargets{
|
|
19
|
+
/** Defaults to `Document.prototype`. */
|
|
20
|
+
documentPrototype?:object;
|
|
21
|
+
/** Defaults to `ShadowRoot.prototype`. */
|
|
22
|
+
shadowRootPrototype?:object;
|
|
23
|
+
/** Defaults to `CSSStyleSheet.prototype`. */
|
|
24
|
+
styleSheetPrototype?:object;
|
|
25
|
+
/** Defaults to a check for jsdom's `navigator.userAgent` signature (`jsdom/<version>`). */
|
|
26
|
+
isJsdom?:()=>boolean;}
|
|
27
|
+
/**
|
|
28
|
+
* Gives jsdom an inert `adoptedStyleSheets` on `Document` and `ShadowRoot`, so Lit adopts each
|
|
29
|
+
* component's constructed stylesheet instead of appending a `<style>` element per shadow root.
|
|
30
|
+
* Adopted sheets are stored and returned (the same array instance until it is reassigned, so
|
|
31
|
+
* `push()` persists) but never applied: `getComputedStyle()` sees only the document's own sheets
|
|
32
|
+
* and inline styles, which is all jsdom could cascade correctly in the first place. Assert
|
|
33
|
+
* behaviour and DOM, not component styling, under jsdom.
|
|
34
|
+
*
|
|
35
|
+
* jsdom releases without `CSSStyleSheet.prototype.replace()`/`replaceSync()` (which Lit also
|
|
36
|
+
* requires) get inert versions that record the text and leave the sheet's rules untouched.
|
|
37
|
+
*
|
|
38
|
+
* Installs only under jsdom (detected from its `navigator.userAgent` signature) and only while
|
|
39
|
+
* `adoptedStyleSheets` is missing, so it is a no-op in every browser, under Happy DOM and in a
|
|
40
|
+
* plain Node project that shares the setup file. Installs once and returns a function that
|
|
41
|
+
* removes everything it added.
|
|
42
|
+
*/
|
|
43
|
+
export declare function installJsdomAdoptedStyleSheetsShim(targets?:JsdomAdoptedStyleSheetsTargets):()=>void;
|
|
44
|
+
/** Overridable environment for {@link installJsdomFormAssociatedShim}; each entry defaults to the global. */
|
|
45
|
+
export interface JsdomFormAssociatedTargets{
|
|
46
|
+
/** Defaults to `ElementInternals.prototype`. */
|
|
47
|
+
internalsPrototype?:object;
|
|
48
|
+
/** Defaults to `HTMLElement.prototype` (its `attachInternals()` records each internals' host). */
|
|
49
|
+
elementPrototype?:object;
|
|
50
|
+
/** Defaults to a check for jsdom's `navigator.userAgent` signature (`jsdom/<version>`). */
|
|
51
|
+
isJsdom?:()=>boolean;}
|
|
52
|
+
/**
|
|
53
|
+
* Completes jsdom's `ElementInternals` for form-associated custom elements. jsdom implements
|
|
54
|
+
* `attachInternals()` with ARIA reflection, `shadowRoot` and `labels` only, so every Lyra form
|
|
55
|
+
* control (`lr-button`, `lr-input`, `lr-checkbox`, …) throws in its constructor on `setFormValue()`
|
|
56
|
+
* or `setValidity()`. The shim adds, only where missing, inert versions of the form-association
|
|
57
|
+
* members: `setFormValue()` records nothing, `setValidity()` keeps the flags and message so
|
|
58
|
+
* `validity`, `validationMessage`, `checkValidity()` and `reportValidity()` answer consistently,
|
|
59
|
+
* `willValidate` is `true`, `form` is the host's closest `<form>`, and `states` is a `Set`. Nothing is
|
|
60
|
+
* submitted and no `invalid` event fires: assert behaviour and DOM, not native form submission.
|
|
61
|
+
*
|
|
62
|
+
* Installs only under jsdom, once, and returns a function that removes everything it added.
|
|
63
|
+
*/
|
|
64
|
+
export declare function installJsdomFormAssociatedShim(targets?:JsdomFormAssociatedTargets):()=>void;
|
|
65
|
+
/**
|
|
66
|
+
* Installs every jsdom shim this package ships ({@link installJsdomAdoptedStyleSheetsShim} and
|
|
67
|
+
* {@link installJsdomFormAssociatedShim}). A no-op outside jsdom. Call it from a `setupFiles` entry
|
|
68
|
+
* before anything imports Lit. Returns a function that removes them all.
|
|
69
|
+
*/
|
|
70
|
+
export declare function installJsdomShims():()=>void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const INSTALLED=Symbol.for("lyra-ui.testing.jsdom-adopted-style-sheets"),SHEET_TEXT=Symbol.for("lyra-ui.testing.jsdom-adopted-style-sheets.text");function runningUnderJsdom(){try{return/\bjsdom\//.test(globalThis.navigator?.userAgent??"")}catch{return!1}}function installJsdomAdoptedStyleSheetsShim(targets={}){const documentPrototype=targets.documentPrototype??globalThis.Document?.prototype,shadowRootPrototype=targets.shadowRootPrototype??globalThis.ShadowRoot?.prototype,sheetPrototype=targets.styleSheetPrototype??globalThis.CSSStyleSheet?.prototype,isJsdom=targets.isJsdom??runningUnderJsdom;if(!documentPrototype||!shadowRootPrototype||!sheetPrototype)return()=>{};if(sheetPrototype[INSTALLED]||"adoptedStyleSheets"in documentPrototype||!isJsdom())return()=>{};const adopted=new WeakMap,descriptor={configurable:!0,enumerable:!0,get(){let sheets=adopted.get(this);return sheets||adopted.set(this,sheets=[]),sheets},set(value){if(value==null||typeof value!="object")throw new TypeError("adoptedStyleSheets must be set to an array of CSSStyleSheet objects.");adopted.set(this,Array.from(value))}},patched=[];for(const proto of[documentPrototype,shadowRootPrototype])Object.hasOwn(proto,"adoptedStyleSheets")||(Object.defineProperty(proto,"adoptedStyleSheets",descriptor),patched.push(proto));const added=[];return typeof sheetPrototype.replaceSync!="function"&&(sheetPrototype.replaceSync=function(text){this[SHEET_TEXT]=String(text)},added.push("replaceSync")),typeof sheetPrototype.replace!="function"&&(sheetPrototype.replace=function(text){try{this.replaceSync(text)}catch(error){return Promise.reject(error)}return Promise.resolve(this)},added.push("replace")),sheetPrototype[INSTALLED]=!0,()=>{for(const proto of patched)delete proto.adoptedStyleSheets;for(const name of added)delete sheetPrototype[name];delete sheetPrototype[INSTALLED]}}const FORM_INSTALLED=Symbol.for("lyra-ui.testing.jsdom-form-associated"),VALIDITY_FLAGS=["valueMissing","typeMismatch","patternMismatch","tooLong","tooShort","rangeUnderflow","rangeOverflow","stepMismatch","badInput","customError"];function installJsdomFormAssociatedShim(targets={}){const internalsPrototype=targets.internalsPrototype??globalThis.ElementInternals?.prototype,elementPrototype=targets.elementPrototype??globalThis.HTMLElement?.prototype,isJsdom=targets.isJsdom??runningUnderJsdom;if(!internalsPrototype||!elementPrototype||typeof elementPrototype.attachInternals!="function")return()=>{};if(internalsPrototype[FORM_INSTALLED]||!isJsdom())return()=>{};const records=new WeakMap,record=internals=>{let known=records.get(internals);return known||records.set(internals,known={flags:{},message:""}),known},isValid=internals=>!VALIDITY_FLAGS.some(flag=>record(internals).flags[flag]),members={setFormValue:{value(){}},setValidity:{value(flags={},message=""){const known=record(this);known.flags={...flags},known.message=isValid(this)?"":String(message)}},validity:{get(){const{flags}=record(this);return Object.freeze(Object.fromEntries([...VALIDITY_FLAGS.map(flag=>[flag,!!flags[flag]]),["valid",isValid(this)]]))}},validationMessage:{get(){return record(this).message}},willValidate:{get(){return!0}},checkValidity:{value(){return isValid(this)}},reportValidity:{value(){return isValid(this)}},form:{get(){return record(this).host?.closest("form")??null}},states:{get(){const known=record(this);return known.states??=new Set}}},added=[];for(const[name,descriptor]of Object.entries(members))name in internalsPrototype||(Object.defineProperty(internalsPrototype,name,{configurable:!0,...descriptor}),added.push(name));const attachInternals=elementPrototype.attachInternals;return elementPrototype.attachInternals=function(){const internals=attachInternals.call(this);return record(internals).host=this,internals},internalsPrototype[FORM_INSTALLED]=!0,()=>{for(const name of added)delete internalsPrototype[name];elementPrototype.attachInternals=attachInternals,delete internalsPrototype[FORM_INSTALLED]}}function installJsdomShims(){const restoreSheets=installJsdomAdoptedStyleSheetsShim(),restoreForms=installJsdomFormAssociatedShim();return()=>{restoreForms(),restoreSheets()}}export{installJsdomAdoptedStyleSheetsShim,installJsdomFormAssociatedShim,installJsdomShims};
|