@aceshooting/lyra-ui 26.0.0 → 27.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +63 -675
- package/README.md +281 -1130
- package/design-tokens.json +1 -1
- package/dist/ai/types.d.ts +5 -5
- package/dist/autoloader.js +1 -1
- package/dist/cli/agent-registry.mjs +1 -0
- package/dist/cli/component-inventory.mjs +1 -1
- package/dist/cli/init-agents.mjs +40 -0
- package/dist/cli/is-main-module.mjs +1 -0
- package/dist/cli/lyra-rename-ledger.mjs +1 -1
- package/dist/cli/lyra-ui.mjs +11 -0
- package/dist/cli/migrate-wa.mjs +4 -2
- package/dist/cli/migration-contract.json +1 -1
- package/dist/cli/migration-renames.mjs +1 -1
- package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.d.ts +1 -1
- package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.js +2 -2
- package/dist/components/agent-tools/approval-queue/approval-queue.class.js +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts +2 -2
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +2 -2
- package/dist/components/agent-tools/connector-manager/connector-manager.class.d.ts +4 -2
- package/dist/components/agent-tools/connector-manager/connector-manager.class.js +6 -3
- package/dist/components/agent-tools/connector-manager/connector-manager.d.ts +1 -1
- package/dist/components/agent-tools/connector-manager/connector-manager.js +1 -1
- package/dist/components/agent-tools/connector-manager/connector-manager.styles.js +1 -1
- package/dist/components/agent-tools/context-inspector/context-inspector.class.d.ts +2 -2
- package/dist/components/agent-tools/context-inspector/context-inspector.class.js +6 -6
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.d.ts +8 -33
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js +27 -4
- package/dist/components/agent-tools/eval-dataset/eval-dataset.d.ts +1 -1
- package/dist/components/agent-tools/eval-dataset/eval-dataset.js +1 -1
- package/dist/components/agent-tools/eval-dataset/eval-dataset.styles.js +1 -1
- package/dist/components/agent-tools/evaluation-run/evaluation-run.class.js +1 -1
- package/dist/components/agent-tools/permission-grant/permission-grant.class.d.ts +4 -2
- package/dist/components/agent-tools/permission-grant/permission-grant.class.js +6 -3
- package/dist/components/agent-tools/permission-grant/permission-grant.d.ts +1 -1
- package/dist/components/agent-tools/permission-grant/permission-grant.js +1 -1
- package/dist/components/agent-tools/permission-grant/permission-grant.styles.js +1 -1
- package/dist/components/agent-tools/prompt-studio/prompt-studio.class.d.ts +1 -1
- package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js +2 -2
- package/dist/components/agent-tools/schema-viewer/schema-viewer.class.d.ts +3 -1
- package/dist/components/agent-tools/schema-viewer/schema-viewer.class.js +1 -1
- package/dist/components/agent-tools/stack-trace/stack-trace.class.js +1 -1
- package/dist/components/agent-tools/task-list/task-list.class.d.ts +2 -2
- package/dist/components/agent-tools/task-list/task-list.class.js +2 -2
- package/dist/components/agent-tools/terminal/terminal.class.d.ts +1 -1
- package/dist/components/agent-tools/terminal/terminal.class.js +4 -4
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.d.ts +15 -9
- 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.d.ts +2 -2
- package/dist/components/agent-tools/tool-call-block/tool-call-block.class.js +1 -1
- package/dist/components/agent-tools/tool-call-block/tool-call-block.styles.js +1 -1
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.d.ts +2 -7
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.styles.js +1 -1
- package/dist/components/agent-tools/tool-param-form/tool-param-constraints.js +1 -1
- package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts +3 -5
- 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.d.ts +2 -5
- package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.styles.js +1 -1
- package/dist/components/agent-tools/tool-result-view/registry.d.ts +4 -12
- package/dist/components/agent-tools/tool-result-view/tool-result-view.class.d.ts +2 -2
- package/dist/components/agent-tools/tool-result-view/tool-result-view.class.js +1 -1
- package/dist/components/agent-tools/tool-status.d.ts +7 -0
- package/dist/components/agent-tools/tool-status.styles.js +1 -0
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js +1 -1
- package/dist/components/agent-tools/tool-timeline/tool-timeline.d.ts +1 -1
- package/dist/components/agent-tools/tool-timeline/tool-timeline.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 +1 -1
- package/dist/components/charts/chart/box-plot.class.js +1 -1
- package/dist/components/charts/chart/box-plot.styles.js +1 -1
- package/dist/components/charts/chart/chart-surface-shared.js +1 -0
- package/dist/components/charts/chart/chart-surface.styles.js +1 -1
- package/dist/components/charts/chart/chart-table-sampling.js +1 -1
- package/dist/components/charts/chart/chart.class.d.ts +2 -2
- package/dist/components/charts/chart/chart.class.js +2 -2
- package/dist/components/charts/chart/chart.styles.js +1 -1
- package/dist/components/charts/chart/histogram.class.js +1 -1
- package/dist/components/charts/chart/lite-chart.class.d.ts +1 -1
- package/dist/components/charts/chart/lite-chart.class.js +4 -4
- package/dist/components/conversation/catalog-picker-element.d.ts +28 -13
- package/dist/components/conversation/catalog-picker-element.js +1 -1
- package/dist/components/conversation/catalog-picker-trigger.styles.js +1 -0
- package/dist/components/conversation/chat-message/chat-message.class.js +1 -1
- package/dist/components/conversation/chat-message/chat-message.styles.js +1 -1
- package/dist/components/conversation/chat-viewport/chat-viewport.class.d.ts +1 -1
- package/dist/components/conversation/chat-viewport/chat-viewport.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-shared.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 +2 -2
- package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
- package/dist/components/conversation/markdown/markdown-code-header.js +1 -1
- package/dist/components/conversation/message-actions/message-actions.class.js +1 -1
- package/dist/components/conversation/model-select/model-select.class.d.ts +7 -34
- package/dist/components/conversation/model-select/model-select.class.js +3 -3
- package/dist/components/conversation/model-select/model-select.styles.js +1 -1
- package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +7 -2
- package/dist/components/conversation/prompt-input/prompt-input.class.js +5 -2
- package/dist/components/conversation/prompt-queue/prompt-queue.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/voice-picker/voice-picker.class.d.ts +10 -27
- package/dist/components/conversation/voice-picker/voice-picker.class.js +3 -3
- package/dist/components/conversation/voice-picker/voice-picker.styles.js +1 -1
- package/dist/components/data/condition-builder/condition-builder.class.js +1 -1
- package/dist/components/data/data-grid/data-grid.class.js +1 -1
- package/dist/components/data/document-library/document-library.class.d.ts +2 -2
- package/dist/components/data/document-library/document-library.class.js +2 -2
- package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +3 -3
- package/dist/components/data/graph-query-builder/graph-query-builder.class.js +1 -1
- package/dist/components/data/heatmap/heatmap.class.js +2 -2
- package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +1 -1
- package/dist/components/data/sequence-strip/sequence-strip.class.js +1 -1
- package/dist/components/data/table/table.class.d.ts +10 -195
- package/dist/components/data/table/table.class.js +2 -2
- 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/forms/button/button.class.d.ts +3 -3
- package/dist/components/forms/button/button.class.js +1 -1
- package/dist/components/forms/catalog-picker-base.js +1 -1
- package/dist/components/forms/checkbox/checkbox.class.d.ts +13 -34
- package/dist/components/forms/checkbox/checkbox.class.js +3 -3
- package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts +3 -3
- 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.js +1 -1
- package/dist/components/forms/combobox/combobox.class.d.ts +6 -6
- package/dist/components/forms/combobox/combobox.class.js +3 -2
- package/dist/components/forms/combobox/option.class.d.ts +3 -0
- package/dist/components/forms/combobox/option.class.js +2 -2
- package/dist/components/forms/date-picker/date-input.class.d.ts +10 -11
- package/dist/components/forms/date-picker/date-input.class.js +4 -3
- package/dist/components/forms/date-picker/date-input.styles.js +1 -1
- package/dist/components/forms/date-picker/date-picker.class.d.ts +6 -0
- package/dist/components/forms/date-picker/date-picker.class.js +1 -1
- package/dist/components/forms/date-picker/date-picker.styles.js +1 -1
- package/dist/components/forms/emoji-picker/emoji-data-loader.js +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.js +1 -1
- package/dist/components/forms/input/input.styles.js +1 -1
- package/dist/components/forms/input/time-input.class.d.ts +1 -1
- package/dist/components/forms/input/time-input.class.js +1 -1
- package/dist/components/forms/input/time-input.styles.js +1 -1
- package/dist/components/forms/locale-picker/locale-picker.class.d.ts +5 -5
- package/dist/components/forms/locale-picker/locale-picker.class.js +1 -1
- package/dist/components/forms/otp-input/otp-input.class.js +1 -0
- package/dist/components/forms/phone-input/phone-input.class.d.ts +7 -9
- package/dist/components/forms/phone-input/phone-input.class.js +6 -5
- package/dist/components/forms/phone-input/phone-input.styles.js +1 -1
- package/dist/components/forms/radio/radio-group.class.d.ts +4 -4
- package/dist/components/forms/radio/radio-group.class.js +1 -1
- package/dist/components/forms/radio/radio.class.d.ts +11 -19
- package/dist/components/forms/radio/radio.class.js +2 -2
- package/dist/components/forms/rubric-form/rubric-form.class.d.ts +3 -5
- package/dist/components/forms/rubric-form/rubric-form.class.js +1 -1
- package/dist/components/forms/select/select.class.d.ts +5 -7
- package/dist/components/forms/select/select.class.js +3 -2
- package/dist/components/forms/slider/slider.class.d.ts +3 -3
- package/dist/components/forms/slider/slider.class.js +1 -1
- package/dist/components/forms/slider/slider.styles.js +1 -1
- package/dist/components/forms/swatch-picker/swatch-picker.class.js +1 -1
- package/dist/components/forms/switch/switch.class.d.ts +11 -36
- package/dist/components/forms/switch/switch.class.js +2 -2
- package/dist/components/forms/textarea/textarea.class.js +1 -0
- package/dist/components/forms/textarea/textarea.styles.js +1 -1
- package/dist/components/forms/time-range/time-range.class.d.ts +5 -3
- package/dist/components/forms/time-range/time-range.class.js +1 -1
- package/dist/components/forms/time-range/time-range.styles.js +1 -1
- package/dist/components/forms/toggle-group/toggle-group.class.d.ts +2 -2
- package/dist/components/forms/toggle-group/toggle-group.class.js +1 -1
- package/dist/components/forms/token-input/token-input.class.d.ts +3 -3
- package/dist/components/forms/token-input/token-input.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 +2 -2
- package/dist/components/layout/app-rail/app-rail.class.js +1 -1
- package/dist/components/layout/breadcrumb/breadcrumb-item.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.d.ts +6 -2
- 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.class.js +1 -1
- package/dist/components/layout/dock-panel/dock-panel.class.d.ts +1 -1
- package/dist/components/layout/dock-panel/dock-panel.class.js +1 -1
- package/dist/components/layout/drilldown-panel/drilldown-panel.class.js +2 -2
- package/dist/components/layout/filter-bar/filter-bar.class.d.ts +3 -2
- package/dist/components/layout/filter-bar/filter-bar.class.js +18 -15
- package/dist/components/layout/filter-bar/filter-bar.styles.js +1 -1
- package/dist/components/layout/menu/menu.class.d.ts +1 -1
- package/dist/components/layout/menu/menu.class.js +1 -1
- package/dist/components/layout/multi-split/multi-split.class.d.ts +1 -1
- package/dist/components/layout/multi-split/multi-split.class.js +1 -1
- package/dist/components/layout/navigation-menu-item/navigation-menu-item.class.js +1 -1
- package/dist/components/layout/page/page.class.d.ts +1 -1
- package/dist/components/layout/page/page.class.js +1 -1
- package/dist/components/layout/responsive-panel/responsive-panel.class.d.ts +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.js +1 -1
- package/dist/components/layout/stepper/stepper.class.js +2 -2
- package/dist/components/layout/tab-group/tab-group.class.js +1 -1
- package/dist/components/layout/virtual-list/virtual-list.class.d.ts +1 -1
- package/dist/components/layout/virtual-list/virtual-list.class.js +1 -1
- package/dist/components/layout/widget/widget.class.d.ts +1 -1
- package/dist/components/layout/widget/widget.class.js +3 -3
- package/dist/components/media/drop-zone/drop-zone.class.d.ts +10 -0
- package/dist/components/media/drop-zone/drop-zone.class.js +2 -2
- package/dist/components/media/file-input/file-input.class.d.ts +3 -3
- package/dist/components/media/file-input/file-input.class.js +2 -2
- package/dist/components/media/file-input/file-intake.d.ts +5 -1
- package/dist/components/media/file-input/file-intake.js +1 -1
- package/dist/components/media/flag/flag.class.js +1 -1
- 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 +2 -2
- package/dist/components/media/qr-code/qr-code-loader.js +1 -1
- package/dist/components/media/qr-code/qr-code.class.js +1 -1
- package/dist/components/media/video/video.class.js +3 -3
- package/dist/components/media/video-playlist/video-playlist.class.js +1 -1
- package/dist/components/media/zoomable-frame/zoomable-frame.class.d.ts +2 -2
- package/dist/components/media/zoomable-frame/zoomable-frame.class.js +1 -1
- package/dist/components/overlays/alert/alert.class.d.ts +3 -3
- package/dist/components/overlays/alert/alert.class.js +1 -1
- package/dist/components/overlays/badge/badge.class.d.ts +2 -2
- package/dist/components/overlays/badge/badge.class.js +1 -1
- package/dist/components/overlays/badge/tag.class.d.ts +3 -1
- package/dist/components/overlays/badge/tag.class.js +3 -2
- package/dist/components/overlays/badge/tag.styles.js +1 -1
- package/dist/components/overlays/callout/callout.class.d.ts +2 -2
- package/dist/components/overlays/callout/callout.class.js +1 -1
- package/dist/components/overlays/chip/chip.class.d.ts +4 -2
- package/dist/components/overlays/chip/chip.class.js +2 -2
- package/dist/components/overlays/dialog/dialog.class.d.ts +1 -1
- package/dist/components/overlays/dialog/dialog.class.js +1 -1
- package/dist/components/overlays/overlay/overlay-shared.d.ts +9 -0
- package/dist/components/overlays/overlay/overlay-shared.js +1 -1
- package/dist/components/overlays/overlay/popover.class.d.ts +2 -2
- package/dist/components/overlays/overlay/popover.class.js +1 -1
- package/dist/components/overlays/overlay/tooltip.class.d.ts +1 -1
- package/dist/components/overlays/overlay/tooltip.class.js +1 -1
- package/dist/components/overlays/progress/progress-bar.class.d.ts +5 -22
- package/dist/components/overlays/progress/progress-bar.class.js +4 -4
- package/dist/components/overlays/progress/progress-base.d.ts +25 -0
- package/dist/components/overlays/progress/progress-base.js +1 -0
- package/dist/components/overlays/progress/progress-ring.class.d.ts +3 -24
- package/dist/components/overlays/progress/progress-ring.class.js +4 -4
- package/dist/components/overlays/rating/rating.class.d.ts +3 -3
- package/dist/components/overlays/rating/rating.class.js +1 -1
- package/dist/components/retrieval/chunk-inspector/chunk-inspector.class.d.ts +4 -2
- package/dist/components/retrieval/chunk-inspector/chunk-inspector.class.js +4 -4
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +1 -1
- package/dist/components/retrieval/entity-dossier/entity-dossier.class.d.ts +1 -1
- package/dist/components/retrieval/graph/graph-canvas.js +1 -1
- package/dist/components/retrieval/graph/graph-model.js +1 -1
- package/dist/components/retrieval/graph/graph.class.d.ts +1 -3
- package/dist/components/retrieval/graph/graph.class.js +1 -1
- package/dist/components/retrieval/grounding-summary/grounding-summary.class.d.ts +1 -1
- package/dist/components/retrieval/grounding-summary/grounding-summary.class.js +2 -2
- package/dist/components/retrieval/knowledge-base/knowledge-base.class.d.ts +1 -1
- package/dist/components/retrieval/knowledge-base/knowledge-base.class.js +2 -2
- 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.d.ts +1 -0
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +2 -1
- package/dist/components/retrieval/memory-panel/memory-panel.class.d.ts +6 -2
- package/dist/components/retrieval/memory-panel/memory-panel.class.js +2 -2
- package/dist/components/retrieval/memory-panel/memory-panel.styles.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.d.ts +1 -1
- package/dist/components/retrieval/research-progress/research-progress.class.d.ts +5 -1
- package/dist/components/retrieval/research-progress/research-progress.class.js +3 -3
- package/dist/components/retrieval/research-progress/research-progress.d.ts +1 -1
- package/dist/components/retrieval/research-progress/research-progress.js +1 -1
- package/dist/components/retrieval/research-progress/research-progress.styles.js +1 -1
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.d.ts +6 -2
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.js +2 -2
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.styles.js +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts +2 -2
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.js +3 -2
- package/dist/components/retrieval/retrieval-search/retrieval-search.class.js +3 -3
- package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.d.ts +6 -2
- package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.js +2 -2
- package/dist/components/retrieval/retrieval-trace/retrieval-trace.styles.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.d.ts +1 -1
- package/dist/components/utility/export-button/export-button.class.js +1 -1
- package/dist/components/utility/icon/dompurify-loader.js +1 -1
- package/dist/components/utility/json-viewer/json-viewer.class.js +2 -2
- 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/mutation-observer/mutation-observer.class.js +1 -1
- package/dist/components/utility/random-content/random-content.class.d.ts +1 -1
- package/dist/components/utility/random-content/random-content.class.js +1 -1
- package/dist/components/utility/tour/tour.class.d.ts +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/archive-viewer/archive-viewer.styles.js +1 -1
- package/dist/components/viewers/calendar-viewer/calendar-viewer.class.d.ts +3 -1
- package/dist/components/viewers/calendar-viewer/calendar-viewer.class.js +1 -1
- package/dist/components/viewers/contact-viewer/contact-viewer.class.d.ts +3 -1
- package/dist/components/viewers/contact-viewer/contact-viewer.class.js +1 -1
- package/dist/components/viewers/csv-viewer/csv-viewer.class.d.ts +2 -2
- package/dist/components/viewers/csv-viewer/csv-viewer.class.js +4 -18
- package/dist/components/viewers/csv-viewer/csv-viewer.styles.js +1 -1
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts +2 -2
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +4 -18
- package/dist/components/viewers/dataset-viewer/dataset-viewer.styles.js +1 -1
- package/dist/components/viewers/document-preview/document-preview.class.d.ts +1 -1
- package/dist/components/viewers/document-preview/document-preview.class.js +3 -16
- package/dist/components/viewers/document-viewer/ooxml-part-guard.js +1 -0
- package/dist/components/viewers/docx-viewer/docx-loader.js +1 -1
- package/dist/components/viewers/docx-viewer/docx-resource-guard.js +1 -1
- package/dist/components/viewers/docx-viewer/docx-viewer.class.d.ts +3 -3
- package/dist/components/viewers/docx-viewer/docx-viewer.class.js +3 -3
- package/dist/components/viewers/ebook-viewer/ebook-loader.js +1 -1
- package/dist/components/viewers/ebook-viewer/ebook-viewer.class.d.ts +1 -1
- package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +2 -1
- package/dist/components/viewers/ebook-viewer/epub-resource-guard.js +1 -1
- package/dist/components/viewers/email-viewer/email-viewer.class.d.ts +1 -1
- package/dist/components/viewers/email-viewer/email-viewer.class.js +2 -2
- package/dist/components/viewers/geojson-view/geojson-viewer.class.d.ts +1 -4
- 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.d.ts +3 -1
- package/dist/components/viewers/html-viewer/html-viewer.class.js +1 -1
- package/dist/components/viewers/html-viewer/html-viewer.styles.js +1 -1
- package/dist/components/viewers/notebook-viewer/dompurify-loader.js +1 -1
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +1 -1
- package/dist/components/viewers/page-rail/page-rail.class.js +2 -2
- package/dist/components/viewers/passive-markup.js +1 -1
- package/dist/components/viewers/pdf-viewer/pdf-loader.js +1 -1
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +2 -2
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +4 -4
- package/dist/components/viewers/pptx-viewer/pptx-loader.js +1 -1
- package/dist/components/viewers/pptx-viewer/pptx-resource-guard.js +1 -1
- package/dist/components/viewers/pptx-viewer/pptx-viewer.class.js +1 -1
- package/dist/components/viewers/region-highlight-layer.js +15 -2
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.d.ts +2 -2
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +4 -18
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.styles.js +1 -1
- package/dist/components/viewers/svg-viewer/svg-viewer.class.d.ts +1 -1
- package/dist/components/viewers/svg-viewer/svg-viewer.class.js +2 -15
- package/dist/components/viewers/svg-viewer/svg-viewer.styles.js +1 -1
- package/dist/components/viewers/table-viewer-shared.js +15 -1
- package/dist/components/viewers/table-viewer-shared.styles.js +1 -0
- package/dist/events.d.ts +19 -18
- package/dist/framework-types.d.ts +1 -1
- package/dist/internal/accessibility-visibility.d.ts +3 -1
- package/dist/internal/accessibility-visibility.js +1 -1
- package/dist/internal/accessible-text-controller.js +1 -1
- package/dist/internal/active-element.d.ts +11 -0
- package/dist/internal/active-element.js +1 -1
- package/dist/internal/adjacent-runs.js +1 -1
- package/dist/internal/approval-wait-until.d.ts +7 -0
- package/dist/internal/approval-wait-until.js +1 -0
- package/dist/internal/aria-controls.js +1 -1
- package/dist/internal/catalog-picker.d.ts +2 -2
- package/dist/internal/catalog-picker.js +1 -1
- package/dist/internal/composed-tree.d.ts +18 -0
- package/dist/internal/composed-tree.js +1 -1
- package/dist/internal/copy-feedback.js +1 -0
- package/dist/internal/css-length.js +1 -1
- package/dist/internal/css-motion-time.js +1 -1
- package/dist/internal/css-number.js +1 -0
- package/dist/internal/default-strings.generated.js +1 -1
- package/dist/internal/deferred-focus-return.d.ts +33 -0
- package/dist/internal/deferred-focus-return.js +1 -1
- package/dist/internal/fixed-containing-block.js +1 -1
- package/dist/internal/form-associated.d.ts +38 -2
- package/dist/internal/form-associated.js +1 -1
- package/dist/internal/form-control-element.d.ts +13 -0
- package/dist/internal/form-control-element.js +1 -0
- package/dist/internal/form-control.styles.js +1 -1
- package/dist/internal/inherited-attribute-hub.js +1 -1
- package/dist/internal/locale-loaders.generated.js +1 -1
- package/dist/internal/localization-types.d.ts +1 -1
- package/dist/internal/localization.js +1 -1
- package/dist/internal/modal-surface-controller.js +1 -1
- package/dist/internal/object-guards.js +1 -1
- package/dist/internal/optional-peer-capabilities.d.ts +3 -1
- package/dist/internal/optional-peer-capabilities.js +1 -1
- package/dist/internal/orientation-breakpoint.js +1 -1
- package/dist/internal/overlay-manager.d.ts +6 -1
- package/dist/internal/overlay-manager.js +1 -1
- package/dist/internal/overlay-stack.d.ts +7 -3
- package/dist/internal/overlay-stack.js +1 -1
- package/dist/internal/package-metadata.js +1 -1
- package/dist/internal/persisted-restore.js +1 -1
- package/dist/internal/popup-controller.js +1 -0
- package/dist/internal/rendered-tree-traversal.d.ts +3 -1
- package/dist/internal/rendered-tree-traversal.js +1 -1
- package/dist/internal/retry-forwarder.js +1 -0
- package/dist/internal/roving-toolbar.js +1 -1
- package/dist/internal/scoped-definitions.generated.js +1 -1
- package/dist/internal/score-tiers.d.ts +4 -0
- package/dist/internal/score-tiers.js +1 -0
- package/dist/internal/semantic-variant.d.ts +7 -0
- package/dist/internal/semantic-variant.js +1 -0
- package/dist/internal/shared-unions.d.ts +1 -1
- package/dist/internal/viewer-search.js +1 -1
- package/dist/lyra.d.ts +1 -1
- package/dist/testing/happy-dom-shims.d.ts +18 -0
- 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/llms/components/lr-accordion-item.md +1 -1
- package/llms/components/lr-accordion.md +1 -1
- package/llms/components/lr-alert.md +2 -2
- package/llms/components/lr-app-rail-group.md +1 -1
- package/llms/components/lr-app-rail-item.md +1 -1
- package/llms/components/lr-app-rail.md +1 -1
- package/llms/components/lr-attachment-chip.md +1 -10
- package/llms/components/lr-attachment-trigger.md +0 -10
- package/llms/components/lr-avatar.md +4 -8
- package/llms/components/lr-badge.md +16 -20
- package/llms/components/lr-box-plot.md +1 -1
- package/llms/components/lr-breadcrumb-item.md +1 -1
- package/llms/components/lr-breadcrumb.md +1 -1
- package/llms/components/lr-button-group.md +1 -1
- package/llms/components/lr-button.md +1 -1
- package/llms/components/lr-calendar.md +1 -1
- package/llms/components/lr-callout.md +3 -13
- package/llms/components/lr-card.md +1 -1
- package/llms/components/lr-carousel-item.md +1 -1
- package/llms/components/lr-carousel.md +1 -1
- package/llms/components/lr-chart.md +5 -7
- package/llms/components/lr-checkbox-group.md +1 -1
- package/llms/components/lr-checkbox.md +2 -1
- package/llms/components/lr-chip.md +3 -17
- package/llms/components/lr-chunk-inspector.md +2 -1
- package/llms/components/lr-citation-badge.md +2 -2
- package/llms/components/lr-code-block.md +0 -10
- package/llms/components/lr-code-editor.md +1 -1
- package/llms/components/lr-color-picker.md +1 -1
- package/llms/components/lr-combobox.md +6 -3
- package/llms/components/lr-command-palette.md +5 -2
- package/llms/components/lr-commit-card.md +1 -3
- package/llms/components/lr-condition-builder.md +1 -1
- package/llms/components/lr-confirm-bar.md +7 -13
- package/llms/components/lr-connector-manager.md +3 -1
- package/llms/components/lr-context-inspector.md +1 -1
- package/llms/components/lr-context-meter.md +1 -1
- package/llms/components/lr-control-group.md +1 -1
- package/llms/components/lr-copy-button.md +8 -10
- package/llms/components/lr-country-picker.md +1 -1
- package/llms/components/lr-currency-picker.md +1 -1
- package/llms/components/lr-dashboard-grid.md +1 -1
- package/llms/components/lr-data-grid.md +1 -1
- package/llms/components/lr-date-input.md +1 -1
- package/llms/components/lr-date-picker.md +11 -4
- package/llms/components/lr-details.md +1 -1
- package/llms/components/lr-dialog.md +8 -31
- package/llms/components/lr-diff-view.md +1 -1
- package/llms/components/lr-divider.md +1 -1
- package/llms/components/lr-dock-panel.md +1 -1
- package/llms/components/lr-document-library.md +1 -1
- package/llms/components/lr-drawer.md +1 -13
- package/llms/components/lr-drilldown-panel.md +1 -1
- package/llms/components/lr-drop-zone.md +4 -0
- package/llms/components/lr-dropdown-item.md +1 -1
- package/llms/components/lr-ebook-viewer.md +4 -3
- package/llms/components/lr-emoji-picker.md +1 -1
- package/llms/components/lr-entity-chip.md +2 -2
- package/llms/components/lr-env-list.md +1 -1
- package/llms/components/lr-eval-dataset.md +4 -19
- package/llms/components/lr-export-button.md +3 -3
- package/llms/components/lr-file-icon.md +0 -5
- package/llms/components/lr-file-input.md +3 -5
- package/llms/components/lr-file-tree.md +1 -1
- package/llms/components/lr-filter-bar.md +5 -1
- package/llms/components/lr-flag.md +1 -2
- package/llms/components/lr-flow-canvas.md +1 -1
- package/llms/components/lr-flow-controls.md +1 -1
- package/llms/components/lr-flow-minimap.md +2 -2
- package/llms/components/lr-flow-node.md +1 -1
- package/llms/components/lr-flow-run-status.md +1 -1
- package/llms/components/lr-format-bytes.md +2 -3
- package/llms/components/lr-format-date.md +2 -3
- package/llms/components/lr-format-number.md +1 -1
- package/llms/components/lr-funnel.md +1 -1
- package/llms/components/lr-gauge.md +1 -1
- package/llms/components/lr-generation-metrics.md +1 -1
- package/llms/components/lr-graph-query-builder.md +1 -1
- package/llms/components/lr-heatmap.md +1 -1
- package/llms/components/lr-icon-button.md +1 -1
- package/llms/components/lr-icon.md +1 -1
- package/llms/components/lr-input.md +1 -1
- package/llms/components/lr-intersection-observer.md +1 -1
- package/llms/components/lr-json-viewer.md +1 -1
- package/llms/components/lr-knowledge-graph-explorer.md +2 -2
- package/llms/components/lr-known-date.md +1 -1
- package/llms/components/lr-lite-chart.md +3 -4
- package/llms/components/lr-live-region.md +1 -1
- package/llms/components/lr-locale-picker.md +1 -1
- package/llms/components/lr-map.md +1 -3
- package/llms/components/lr-media-card.md +1 -10
- package/llms/components/lr-memory-panel.md +2 -0
- package/llms/components/lr-mention-popover.md +3 -3
- package/llms/components/lr-menu-item.md +1 -1
- package/llms/components/lr-menu-label.md +1 -1
- package/llms/components/lr-menu.md +1 -1
- package/llms/components/lr-menubar-item.md +1 -1
- package/llms/components/lr-menubar.md +1 -1
- package/llms/components/lr-message-actions.md +1 -11
- package/llms/components/lr-message-parts.md +3 -5
- package/llms/components/lr-model-select.md +2 -4
- package/llms/components/lr-multi-split.md +1 -1
- package/llms/components/lr-mutation-observer.md +2 -2
- package/llms/components/lr-native-time-input.md +1 -1
- package/llms/components/lr-navigation-menu-item.md +1 -1
- package/llms/components/lr-navigation-menu.md +1 -1
- package/llms/components/lr-number-input.md +1 -1
- package/llms/components/lr-option.md +1 -1
- package/llms/components/lr-otp-input.md +1 -1
- package/llms/components/lr-page.md +1 -1
- package/llms/components/lr-pagination.md +1 -1
- package/llms/components/lr-pan-zoom.md +1 -3
- package/llms/components/lr-permission-grant.md +3 -1
- package/llms/components/lr-phone-input.md +7 -5
- package/llms/components/lr-poll-status.md +1 -1
- package/llms/components/lr-popover.md +5 -9
- package/llms/components/lr-popup.md +1 -3
- package/llms/components/lr-progress-bar.md +2 -1
- package/llms/components/lr-progress-ring.md +4 -8
- package/llms/components/lr-prompt-input.md +3 -1
- package/llms/components/lr-prompt-studio.md +4 -4
- package/llms/components/lr-radio-button.md +2 -2
- package/llms/components/lr-radio-group.md +1 -1
- package/llms/components/lr-radio.md +3 -2
- package/llms/components/lr-random-content.md +1 -1
- package/llms/components/lr-rating.md +2 -3
- package/llms/components/lr-relative-time.md +2 -3
- package/llms/components/lr-reorder-item.md +1 -1
- package/llms/components/lr-reorder-list.md +1 -1
- package/llms/components/lr-research-progress.md +2 -0
- package/llms/components/lr-resize-observer.md +1 -1
- package/llms/components/lr-responsive-panel.md +1 -1
- package/llms/components/lr-retrieval-compare.md +2 -0
- package/llms/components/lr-retrieval-trace.md +2 -0
- package/llms/components/lr-rubric-form.md +1 -1
- package/llms/components/lr-scroller.md +1 -1
- package/llms/components/lr-segmented.md +1 -1
- package/llms/components/lr-select.md +1 -1
- package/llms/components/lr-sequence-playback.md +1 -2
- package/llms/components/lr-sequence-strip.md +1 -1
- package/llms/components/lr-signature-pad.md +1 -1
- package/llms/components/lr-skeleton.md +2 -4
- package/llms/components/lr-slider.md +1 -1
- package/llms/components/lr-sparkline.md +1 -1
- package/llms/components/lr-split-panel.md +1 -1
- package/llms/components/lr-stat.md +1 -1
- package/llms/components/lr-stepper.md +1 -1
- package/llms/components/lr-swatch-picker.md +1 -1
- package/llms/components/lr-switch.md +2 -1
- package/llms/components/lr-tab-group.md +1 -1
- package/llms/components/lr-tab-panel.md +1 -1
- package/llms/components/lr-tab.md +1 -1
- package/llms/components/lr-table.md +3 -3
- package/llms/components/lr-task-list.md +3 -3
- package/llms/components/lr-test-results.md +2 -4
- package/llms/components/lr-textarea.md +1 -1
- package/llms/components/lr-time-input.md +1 -1
- package/llms/components/lr-time-range.md +5 -4
- package/llms/components/lr-time-zone-picker.md +1 -1
- package/llms/components/lr-timeline-item.md +1 -1
- package/llms/components/lr-timeline.md +1 -1
- package/llms/components/lr-toggle-group.md +1 -1
- package/llms/components/lr-toggle.md +1 -1
- package/llms/components/lr-token-input.md +1 -1
- package/llms/components/lr-tool-approval-dialog.md +12 -10
- package/llms/components/lr-tool-call-block.md +1 -1
- package/llms/components/lr-tool-call-chip.md +1 -3
- package/llms/components/lr-tool-result-view.md +3 -3
- package/llms/components/lr-tool-timeline.md +2 -2
- package/llms/components/lr-tooltip.md +8 -11
- package/llms/components/lr-tour.md +2 -2
- package/llms/components/lr-tree-item.md +1 -1
- package/llms/components/lr-tree.md +1 -1
- package/llms/components/lr-unit-picker.md +1 -1
- package/llms/components/lr-usage-badge.md +1 -3
- package/llms/components/lr-video.md +1 -2
- package/llms/components/lr-virtual-list.md +1 -1
- package/llms/components/lr-visually-hidden.md +1 -1
- package/llms/components/lr-voice-picker.md +1 -1
- package/llms/components/lr-widget.md +1 -1
- package/llms/components/lr-word-cloud.md +1 -1
- package/llms/components/lr-zoomable-frame.md +1 -6
- package/llms/migration.md +96 -2
- package/llms/peers.md +3 -2
- package/llms/shared/ai-and-peers.md +2 -2
- package/llms/shared/events-and-types.md +4 -1
- package/llms/shared/imports-and-registration.md +2 -2
- package/llms/shared/localization-and-rtl.md +18 -18
- package/llms/shared/styles-and-tokens.md +1 -1
- package/llms/shared/testing-and-utilities.md +44 -43
- package/llms/shared.md +71 -67
- package/llms.txt +14 -12
- package/locales.json +1002 -1002
- package/package.json +16 -6879
- package/registrations.json +1 -1
- package/skills/compose-lyra-interfaces/SKILL.md +60 -0
- package/skills/compose-lyra-interfaces/agents/openai.yaml +4 -0
- package/skills/compose-lyra-interfaces/references/composition-patterns.md +77 -0
- package/skills/lyra-ui/SKILL.md +145 -0
- package/skills/lyra-ui/commands/frontend.md +37 -0
- package/skills/lyra-ui/commands/migrate.md +44 -0
- package/skills/lyra-ui/commands/new-component.md +19 -0
- package/skills/lyra-ui/commands/review.md +247 -0
- package/skills/lyra-ui/commands/update.md +30 -0
- package/skills/lyra-ui/reporting.md +137 -0
- package/custom-elements.json +0 -1
- package/dist/internal/side-effect-only.d.ts +0 -1
- package/dist/translations/am/agent-tools.js +0 -1
- package/dist/translations/am/charts.js +0 -1
- package/dist/translations/am/conversation.js +0 -1
- package/dist/translations/am/data.js +0 -1
- package/dist/translations/am/forms.js +0 -1
- package/dist/translations/am/layout.js +0 -1
- package/dist/translations/am/media.js +0 -1
- package/dist/translations/am/overlays.js +0 -1
- package/dist/translations/am/retrieval.js +0 -1
- package/dist/translations/am/shared.js +0 -1
- package/dist/translations/am/utility.js +0 -1
- package/dist/translations/am/viewers.js +0 -5
- package/dist/translations/am.js +0 -1
- package/dist/translations/ar/agent-tools.js +0 -1
- package/dist/translations/ar/charts.js +0 -1
- package/dist/translations/ar/conversation.js +0 -1
- package/dist/translations/ar/data.js +0 -1
- package/dist/translations/ar/forms.js +0 -1
- package/dist/translations/ar/layout.js +0 -1
- package/dist/translations/ar/media.js +0 -1
- package/dist/translations/ar/overlays.js +0 -1
- package/dist/translations/ar/retrieval.js +0 -1
- package/dist/translations/ar/shared.js +0 -1
- package/dist/translations/ar/utility.js +0 -1
- package/dist/translations/ar/viewers.js +0 -5
- package/dist/translations/ar.js +0 -1
- package/dist/translations/bho/agent-tools.js +0 -1
- package/dist/translations/bho/charts.js +0 -1
- package/dist/translations/bho/conversation.js +0 -1
- package/dist/translations/bho/data.js +0 -1
- package/dist/translations/bho/forms.js +0 -1
- package/dist/translations/bho/layout.js +0 -1
- package/dist/translations/bho/media.js +0 -1
- package/dist/translations/bho/overlays.js +0 -1
- package/dist/translations/bho/retrieval.js +0 -1
- package/dist/translations/bho/shared.js +0 -1
- package/dist/translations/bho/utility.js +0 -1
- package/dist/translations/bho/viewers.js +0 -5
- package/dist/translations/bho.js +0 -1
- package/dist/translations/bn/agent-tools.js +0 -1
- package/dist/translations/bn/charts.js +0 -1
- package/dist/translations/bn/conversation.js +0 -1
- package/dist/translations/bn/data.js +0 -1
- package/dist/translations/bn/forms.js +0 -1
- package/dist/translations/bn/layout.js +0 -1
- package/dist/translations/bn/media.js +0 -1
- package/dist/translations/bn/overlays.js +0 -1
- package/dist/translations/bn/retrieval.js +0 -1
- package/dist/translations/bn/shared.js +0 -1
- package/dist/translations/bn/utility.js +0 -1
- package/dist/translations/bn/viewers.js +0 -5
- package/dist/translations/bn.js +0 -1
- package/dist/translations/cs/agent-tools.js +0 -1
- package/dist/translations/cs/charts.js +0 -1
- package/dist/translations/cs/conversation.js +0 -1
- package/dist/translations/cs/data.js +0 -1
- package/dist/translations/cs/forms.js +0 -1
- package/dist/translations/cs/layout.js +0 -1
- package/dist/translations/cs/media.js +0 -1
- package/dist/translations/cs/overlays.js +0 -1
- package/dist/translations/cs/retrieval.js +0 -1
- package/dist/translations/cs/shared.js +0 -1
- package/dist/translations/cs/utility.js +0 -1
- package/dist/translations/cs/viewers.js +0 -5
- package/dist/translations/cs.js +0 -1
- package/dist/translations/da/agent-tools.js +0 -1
- package/dist/translations/da/charts.js +0 -1
- package/dist/translations/da/conversation.js +0 -1
- package/dist/translations/da/data.js +0 -1
- package/dist/translations/da/forms.js +0 -1
- package/dist/translations/da/layout.js +0 -1
- package/dist/translations/da/media.js +0 -1
- package/dist/translations/da/overlays.js +0 -1
- package/dist/translations/da/retrieval.js +0 -1
- package/dist/translations/da/shared.js +0 -1
- package/dist/translations/da/utility.js +0 -1
- package/dist/translations/da/viewers.js +0 -5
- package/dist/translations/da.js +0 -1
- package/dist/translations/de/agent-tools.js +0 -1
- package/dist/translations/de/charts.js +0 -1
- package/dist/translations/de/conversation.js +0 -1
- package/dist/translations/de/data.js +0 -1
- package/dist/translations/de/forms.js +0 -1
- package/dist/translations/de/layout.js +0 -1
- package/dist/translations/de/media.js +0 -1
- package/dist/translations/de/overlays.js +0 -1
- package/dist/translations/de/retrieval.js +0 -1
- package/dist/translations/de/shared.js +0 -1
- package/dist/translations/de/utility.js +0 -1
- package/dist/translations/de/viewers.js +0 -5
- package/dist/translations/de-CH/agent-tools.js +0 -1
- package/dist/translations/de-CH/charts.js +0 -1
- package/dist/translations/de-CH/conversation.js +0 -1
- package/dist/translations/de-CH/data.js +0 -1
- package/dist/translations/de-CH/forms.js +0 -1
- package/dist/translations/de-CH/layout.js +0 -1
- package/dist/translations/de-CH/media.js +0 -1
- package/dist/translations/de-CH/overlays.js +0 -1
- package/dist/translations/de-CH/retrieval.js +0 -1
- package/dist/translations/de-CH/shared.js +0 -1
- package/dist/translations/de-CH/utility.js +0 -1
- package/dist/translations/de-CH/viewers.js +0 -1
- package/dist/translations/de-CH.js +0 -1
- package/dist/translations/de.js +0 -1
- package/dist/translations/el/agent-tools.js +0 -1
- package/dist/translations/el/charts.js +0 -1
- package/dist/translations/el/conversation.js +0 -1
- package/dist/translations/el/data.js +0 -1
- package/dist/translations/el/forms.js +0 -1
- package/dist/translations/el/layout.js +0 -1
- package/dist/translations/el/media.js +0 -1
- package/dist/translations/el/overlays.js +0 -1
- package/dist/translations/el/retrieval.js +0 -1
- package/dist/translations/el/shared.js +0 -1
- package/dist/translations/el/utility.js +0 -1
- package/dist/translations/el/viewers.js +0 -5
- package/dist/translations/el.js +0 -1
- package/dist/translations/es/agent-tools.js +0 -1
- package/dist/translations/es/charts.js +0 -1
- package/dist/translations/es/conversation.js +0 -1
- package/dist/translations/es/data.js +0 -1
- package/dist/translations/es/forms.js +0 -1
- package/dist/translations/es/layout.js +0 -1
- package/dist/translations/es/media.js +0 -1
- package/dist/translations/es/overlays.js +0 -1
- package/dist/translations/es/retrieval.js +0 -1
- package/dist/translations/es/shared.js +0 -1
- package/dist/translations/es/utility.js +0 -1
- package/dist/translations/es/viewers.js +0 -5
- package/dist/translations/es.js +0 -1
- package/dist/translations/fa/agent-tools.js +0 -1
- package/dist/translations/fa/charts.js +0 -1
- package/dist/translations/fa/conversation.js +0 -1
- package/dist/translations/fa/data.js +0 -1
- package/dist/translations/fa/forms.js +0 -1
- package/dist/translations/fa/layout.js +0 -1
- package/dist/translations/fa/media.js +0 -1
- package/dist/translations/fa/overlays.js +0 -1
- package/dist/translations/fa/retrieval.js +0 -1
- package/dist/translations/fa/shared.js +0 -1
- package/dist/translations/fa/utility.js +0 -1
- package/dist/translations/fa/viewers.js +0 -5
- package/dist/translations/fa-AF/agent-tools.js +0 -1
- package/dist/translations/fa-AF/charts.js +0 -1
- package/dist/translations/fa-AF/conversation.js +0 -1
- package/dist/translations/fa-AF/data.js +0 -1
- package/dist/translations/fa-AF/forms.js +0 -1
- package/dist/translations/fa-AF/layout.js +0 -1
- package/dist/translations/fa-AF/media.js +0 -1
- package/dist/translations/fa-AF/overlays.js +0 -1
- package/dist/translations/fa-AF/retrieval.js +0 -1
- package/dist/translations/fa-AF/shared.js +0 -1
- package/dist/translations/fa-AF/utility.js +0 -1
- package/dist/translations/fa-AF/viewers.js +0 -5
- package/dist/translations/fa-AF.js +0 -1
- package/dist/translations/fa.js +0 -1
- package/dist/translations/fi/agent-tools.js +0 -1
- package/dist/translations/fi/charts.js +0 -1
- package/dist/translations/fi/conversation.js +0 -1
- package/dist/translations/fi/data.js +0 -1
- package/dist/translations/fi/forms.js +0 -1
- package/dist/translations/fi/layout.js +0 -1
- package/dist/translations/fi/media.js +0 -1
- package/dist/translations/fi/overlays.js +0 -1
- package/dist/translations/fi/retrieval.js +0 -1
- package/dist/translations/fi/shared.js +0 -1
- package/dist/translations/fi/utility.js +0 -1
- package/dist/translations/fi/viewers.js +0 -5
- package/dist/translations/fi.js +0 -1
- package/dist/translations/fr/agent-tools.js +0 -1
- package/dist/translations/fr/charts.js +0 -1
- package/dist/translations/fr/conversation.js +0 -1
- package/dist/translations/fr/data.js +0 -1
- package/dist/translations/fr/forms.js +0 -1
- package/dist/translations/fr/layout.js +0 -1
- package/dist/translations/fr/media.js +0 -1
- package/dist/translations/fr/overlays.js +0 -1
- package/dist/translations/fr/retrieval.js +0 -1
- package/dist/translations/fr/shared.js +0 -1
- package/dist/translations/fr/utility.js +0 -1
- package/dist/translations/fr/viewers.js +0 -5
- package/dist/translations/fr.js +0 -1
- package/dist/translations/gu/agent-tools.js +0 -1
- package/dist/translations/gu/charts.js +0 -1
- package/dist/translations/gu/conversation.js +0 -1
- package/dist/translations/gu/data.js +0 -1
- package/dist/translations/gu/forms.js +0 -1
- package/dist/translations/gu/layout.js +0 -1
- package/dist/translations/gu/media.js +0 -1
- package/dist/translations/gu/overlays.js +0 -1
- package/dist/translations/gu/retrieval.js +0 -1
- package/dist/translations/gu/shared.js +0 -1
- package/dist/translations/gu/utility.js +0 -1
- package/dist/translations/gu/viewers.js +0 -5
- package/dist/translations/gu.js +0 -1
- package/dist/translations/ha/agent-tools.js +0 -1
- package/dist/translations/ha/charts.js +0 -1
- package/dist/translations/ha/conversation.js +0 -1
- package/dist/translations/ha/data.js +0 -1
- package/dist/translations/ha/forms.js +0 -1
- package/dist/translations/ha/layout.js +0 -1
- package/dist/translations/ha/media.js +0 -1
- package/dist/translations/ha/overlays.js +0 -1
- package/dist/translations/ha/retrieval.js +0 -1
- package/dist/translations/ha/shared.js +0 -1
- package/dist/translations/ha/utility.js +0 -1
- package/dist/translations/ha/viewers.js +0 -5
- package/dist/translations/ha.js +0 -1
- package/dist/translations/he/agent-tools.js +0 -1
- package/dist/translations/he/charts.js +0 -1
- package/dist/translations/he/conversation.js +0 -1
- package/dist/translations/he/data.js +0 -1
- package/dist/translations/he/forms.js +0 -1
- package/dist/translations/he/layout.js +0 -1
- package/dist/translations/he/media.js +0 -1
- package/dist/translations/he/overlays.js +0 -1
- package/dist/translations/he/retrieval.js +0 -1
- package/dist/translations/he/shared.js +0 -1
- package/dist/translations/he/utility.js +0 -1
- package/dist/translations/he/viewers.js +0 -5
- package/dist/translations/he.js +0 -1
- package/dist/translations/hi/agent-tools.js +0 -1
- package/dist/translations/hi/charts.js +0 -1
- package/dist/translations/hi/conversation.js +0 -1
- package/dist/translations/hi/data.js +0 -1
- package/dist/translations/hi/forms.js +0 -1
- package/dist/translations/hi/layout.js +0 -1
- package/dist/translations/hi/media.js +0 -1
- package/dist/translations/hi/overlays.js +0 -1
- package/dist/translations/hi/retrieval.js +0 -1
- package/dist/translations/hi/shared.js +0 -1
- package/dist/translations/hi/utility.js +0 -1
- package/dist/translations/hi/viewers.js +0 -5
- package/dist/translations/hi.js +0 -1
- package/dist/translations/hr/agent-tools.js +0 -1
- package/dist/translations/hr/charts.js +0 -1
- package/dist/translations/hr/conversation.js +0 -1
- package/dist/translations/hr/data.js +0 -1
- package/dist/translations/hr/forms.js +0 -1
- package/dist/translations/hr/layout.js +0 -1
- package/dist/translations/hr/media.js +0 -1
- package/dist/translations/hr/overlays.js +0 -1
- package/dist/translations/hr/retrieval.js +0 -1
- package/dist/translations/hr/shared.js +0 -1
- package/dist/translations/hr/utility.js +0 -1
- package/dist/translations/hr/viewers.js +0 -5
- package/dist/translations/hr.js +0 -1
- package/dist/translations/hu/agent-tools.js +0 -1
- package/dist/translations/hu/charts.js +0 -1
- package/dist/translations/hu/conversation.js +0 -1
- package/dist/translations/hu/data.js +0 -1
- package/dist/translations/hu/forms.js +0 -1
- package/dist/translations/hu/layout.js +0 -1
- package/dist/translations/hu/media.js +0 -1
- package/dist/translations/hu/overlays.js +0 -1
- package/dist/translations/hu/retrieval.js +0 -1
- package/dist/translations/hu/shared.js +0 -1
- package/dist/translations/hu/utility.js +0 -1
- package/dist/translations/hu/viewers.js +0 -5
- package/dist/translations/hu.js +0 -1
- package/dist/translations/id/agent-tools.js +0 -1
- package/dist/translations/id/charts.js +0 -1
- package/dist/translations/id/conversation.js +0 -1
- package/dist/translations/id/data.js +0 -1
- package/dist/translations/id/forms.js +0 -1
- package/dist/translations/id/layout.js +0 -1
- package/dist/translations/id/media.js +0 -1
- package/dist/translations/id/overlays.js +0 -1
- package/dist/translations/id/retrieval.js +0 -1
- package/dist/translations/id/shared.js +0 -1
- package/dist/translations/id/utility.js +0 -1
- package/dist/translations/id/viewers.js +0 -5
- package/dist/translations/id.js +0 -1
- package/dist/translations/ig/agent-tools.js +0 -1
- package/dist/translations/ig/charts.js +0 -1
- package/dist/translations/ig/conversation.js +0 -1
- package/dist/translations/ig/data.js +0 -1
- package/dist/translations/ig/forms.js +0 -1
- package/dist/translations/ig/layout.js +0 -1
- package/dist/translations/ig/media.js +0 -1
- package/dist/translations/ig/overlays.js +0 -1
- package/dist/translations/ig/retrieval.js +0 -1
- package/dist/translations/ig/shared.js +0 -1
- package/dist/translations/ig/utility.js +0 -1
- package/dist/translations/ig/viewers.js +0 -5
- package/dist/translations/ig.js +0 -1
- package/dist/translations/it/agent-tools.js +0 -1
- package/dist/translations/it/charts.js +0 -1
- package/dist/translations/it/conversation.js +0 -1
- package/dist/translations/it/data.js +0 -1
- package/dist/translations/it/forms.js +0 -1
- package/dist/translations/it/layout.js +0 -1
- package/dist/translations/it/media.js +0 -1
- package/dist/translations/it/overlays.js +0 -1
- package/dist/translations/it/retrieval.js +0 -1
- package/dist/translations/it/shared.js +0 -1
- package/dist/translations/it/utility.js +0 -1
- package/dist/translations/it/viewers.js +0 -5
- package/dist/translations/it.js +0 -1
- package/dist/translations/ja/agent-tools.js +0 -1
- package/dist/translations/ja/charts.js +0 -1
- package/dist/translations/ja/conversation.js +0 -1
- package/dist/translations/ja/data.js +0 -1
- package/dist/translations/ja/forms.js +0 -1
- package/dist/translations/ja/layout.js +0 -1
- package/dist/translations/ja/media.js +0 -1
- package/dist/translations/ja/overlays.js +0 -1
- package/dist/translations/ja/retrieval.js +0 -1
- package/dist/translations/ja/shared.js +0 -1
- package/dist/translations/ja/utility.js +0 -1
- package/dist/translations/ja/viewers.js +0 -4
- package/dist/translations/ja.js +0 -1
- package/dist/translations/jv/agent-tools.js +0 -1
- package/dist/translations/jv/charts.js +0 -1
- package/dist/translations/jv/conversation.js +0 -1
- package/dist/translations/jv/data.js +0 -1
- package/dist/translations/jv/forms.js +0 -1
- package/dist/translations/jv/layout.js +0 -1
- package/dist/translations/jv/media.js +0 -1
- package/dist/translations/jv/overlays.js +0 -1
- package/dist/translations/jv/retrieval.js +0 -1
- package/dist/translations/jv/shared.js +0 -1
- package/dist/translations/jv/utility.js +0 -1
- package/dist/translations/jv/viewers.js +0 -5
- package/dist/translations/jv.js +0 -1
- package/dist/translations/kk/agent-tools.js +0 -1
- package/dist/translations/kk/charts.js +0 -1
- package/dist/translations/kk/conversation.js +0 -1
- package/dist/translations/kk/data.js +0 -1
- package/dist/translations/kk/forms.js +0 -1
- package/dist/translations/kk/layout.js +0 -1
- package/dist/translations/kk/media.js +0 -1
- package/dist/translations/kk/overlays.js +0 -1
- package/dist/translations/kk/retrieval.js +0 -1
- package/dist/translations/kk/shared.js +0 -1
- package/dist/translations/kk/utility.js +0 -1
- package/dist/translations/kk/viewers.js +0 -5
- package/dist/translations/kk.js +0 -1
- package/dist/translations/kn/agent-tools.js +0 -1
- package/dist/translations/kn/charts.js +0 -1
- package/dist/translations/kn/conversation.js +0 -1
- package/dist/translations/kn/data.js +0 -1
- package/dist/translations/kn/forms.js +0 -1
- package/dist/translations/kn/layout.js +0 -1
- package/dist/translations/kn/media.js +0 -1
- package/dist/translations/kn/overlays.js +0 -1
- package/dist/translations/kn/retrieval.js +0 -1
- package/dist/translations/kn/shared.js +0 -1
- package/dist/translations/kn/utility.js +0 -1
- package/dist/translations/kn/viewers.js +0 -5
- package/dist/translations/kn.js +0 -1
- package/dist/translations/ko/agent-tools.js +0 -1
- package/dist/translations/ko/charts.js +0 -1
- package/dist/translations/ko/conversation.js +0 -1
- package/dist/translations/ko/data.js +0 -1
- package/dist/translations/ko/forms.js +0 -1
- package/dist/translations/ko/layout.js +0 -1
- package/dist/translations/ko/media.js +0 -1
- package/dist/translations/ko/overlays.js +0 -1
- package/dist/translations/ko/retrieval.js +0 -1
- package/dist/translations/ko/shared.js +0 -1
- package/dist/translations/ko/utility.js +0 -1
- package/dist/translations/ko/viewers.js +0 -5
- package/dist/translations/ko.js +0 -1
- package/dist/translations/ln/agent-tools.js +0 -1
- package/dist/translations/ln/charts.js +0 -1
- package/dist/translations/ln/conversation.js +0 -1
- package/dist/translations/ln/data.js +0 -1
- package/dist/translations/ln/forms.js +0 -1
- package/dist/translations/ln/layout.js +0 -1
- package/dist/translations/ln/media.js +0 -1
- package/dist/translations/ln/overlays.js +0 -1
- package/dist/translations/ln/retrieval.js +0 -1
- package/dist/translations/ln/shared.js +0 -1
- package/dist/translations/ln/utility.js +0 -1
- package/dist/translations/ln/viewers.js +0 -5
- package/dist/translations/ln.js +0 -1
- package/dist/translations/ml/agent-tools.js +0 -1
- package/dist/translations/ml/charts.js +0 -1
- package/dist/translations/ml/conversation.js +0 -1
- package/dist/translations/ml/data.js +0 -1
- package/dist/translations/ml/forms.js +0 -1
- package/dist/translations/ml/layout.js +0 -1
- package/dist/translations/ml/media.js +0 -1
- package/dist/translations/ml/overlays.js +0 -1
- package/dist/translations/ml/retrieval.js +0 -1
- package/dist/translations/ml/shared.js +0 -1
- package/dist/translations/ml/utility.js +0 -1
- package/dist/translations/ml/viewers.js +0 -5
- package/dist/translations/ml.js +0 -1
- package/dist/translations/mr/agent-tools.js +0 -1
- package/dist/translations/mr/charts.js +0 -1
- package/dist/translations/mr/conversation.js +0 -1
- package/dist/translations/mr/data.js +0 -1
- package/dist/translations/mr/forms.js +0 -1
- package/dist/translations/mr/layout.js +0 -1
- package/dist/translations/mr/media.js +0 -1
- package/dist/translations/mr/overlays.js +0 -1
- package/dist/translations/mr/retrieval.js +0 -1
- package/dist/translations/mr/shared.js +0 -1
- package/dist/translations/mr/utility.js +0 -1
- package/dist/translations/mr/viewers.js +0 -5
- package/dist/translations/mr.js +0 -1
- package/dist/translations/ms/agent-tools.js +0 -1
- package/dist/translations/ms/charts.js +0 -1
- package/dist/translations/ms/conversation.js +0 -1
- package/dist/translations/ms/data.js +0 -1
- package/dist/translations/ms/forms.js +0 -1
- package/dist/translations/ms/layout.js +0 -1
- package/dist/translations/ms/media.js +0 -1
- package/dist/translations/ms/overlays.js +0 -1
- package/dist/translations/ms/retrieval.js +0 -1
- package/dist/translations/ms/shared.js +0 -1
- package/dist/translations/ms/utility.js +0 -1
- package/dist/translations/ms/viewers.js +0 -5
- package/dist/translations/ms.js +0 -1
- package/dist/translations/my/agent-tools.js +0 -1
- package/dist/translations/my/charts.js +0 -1
- package/dist/translations/my/conversation.js +0 -1
- package/dist/translations/my/data.js +0 -1
- package/dist/translations/my/forms.js +0 -1
- package/dist/translations/my/layout.js +0 -1
- package/dist/translations/my/media.js +0 -1
- package/dist/translations/my/overlays.js +0 -1
- package/dist/translations/my/retrieval.js +0 -1
- package/dist/translations/my/shared.js +0 -1
- package/dist/translations/my/utility.js +0 -1
- package/dist/translations/my/viewers.js +0 -5
- package/dist/translations/my.js +0 -1
- package/dist/translations/nb/agent-tools.js +0 -1
- package/dist/translations/nb/charts.js +0 -1
- package/dist/translations/nb/conversation.js +0 -1
- package/dist/translations/nb/data.js +0 -1
- package/dist/translations/nb/forms.js +0 -1
- package/dist/translations/nb/layout.js +0 -1
- package/dist/translations/nb/media.js +0 -1
- package/dist/translations/nb/overlays.js +0 -1
- package/dist/translations/nb/retrieval.js +0 -1
- package/dist/translations/nb/shared.js +0 -1
- package/dist/translations/nb/utility.js +0 -1
- package/dist/translations/nb/viewers.js +0 -5
- package/dist/translations/nb.js +0 -1
- package/dist/translations/ne/agent-tools.js +0 -1
- package/dist/translations/ne/charts.js +0 -1
- package/dist/translations/ne/conversation.js +0 -1
- package/dist/translations/ne/data.js +0 -1
- package/dist/translations/ne/forms.js +0 -1
- package/dist/translations/ne/layout.js +0 -1
- package/dist/translations/ne/media.js +0 -1
- package/dist/translations/ne/overlays.js +0 -1
- package/dist/translations/ne/retrieval.js +0 -1
- package/dist/translations/ne/shared.js +0 -1
- package/dist/translations/ne/utility.js +0 -1
- package/dist/translations/ne/viewers.js +0 -5
- package/dist/translations/ne.js +0 -1
- package/dist/translations/nl/agent-tools.js +0 -1
- package/dist/translations/nl/charts.js +0 -1
- package/dist/translations/nl/conversation.js +0 -1
- package/dist/translations/nl/data.js +0 -1
- package/dist/translations/nl/forms.js +0 -1
- package/dist/translations/nl/layout.js +0 -1
- package/dist/translations/nl/media.js +0 -1
- package/dist/translations/nl/overlays.js +0 -1
- package/dist/translations/nl/retrieval.js +0 -1
- package/dist/translations/nl/shared.js +0 -1
- package/dist/translations/nl/utility.js +0 -1
- package/dist/translations/nl/viewers.js +0 -5
- package/dist/translations/nl.js +0 -1
- package/dist/translations/nn/agent-tools.js +0 -1
- package/dist/translations/nn/charts.js +0 -1
- package/dist/translations/nn/conversation.js +0 -1
- package/dist/translations/nn/data.js +0 -1
- package/dist/translations/nn/forms.js +0 -1
- package/dist/translations/nn/layout.js +0 -1
- package/dist/translations/nn/media.js +0 -1
- package/dist/translations/nn/overlays.js +0 -1
- package/dist/translations/nn/retrieval.js +0 -1
- package/dist/translations/nn/shared.js +0 -1
- package/dist/translations/nn/utility.js +0 -1
- package/dist/translations/nn/viewers.js +0 -5
- package/dist/translations/nn.js +0 -1
- package/dist/translations/om/agent-tools.js +0 -1
- package/dist/translations/om/charts.js +0 -1
- package/dist/translations/om/conversation.js +0 -1
- package/dist/translations/om/data.js +0 -1
- package/dist/translations/om/forms.js +0 -1
- package/dist/translations/om/layout.js +0 -1
- package/dist/translations/om/media.js +0 -1
- package/dist/translations/om/overlays.js +0 -1
- package/dist/translations/om/retrieval.js +0 -1
- package/dist/translations/om/shared.js +0 -1
- package/dist/translations/om/utility.js +0 -1
- package/dist/translations/om/viewers.js +0 -5
- package/dist/translations/om.js +0 -1
- package/dist/translations/or/agent-tools.js +0 -1
- package/dist/translations/or/charts.js +0 -1
- package/dist/translations/or/conversation.js +0 -1
- package/dist/translations/or/data.js +0 -1
- package/dist/translations/or/forms.js +0 -1
- package/dist/translations/or/layout.js +0 -1
- package/dist/translations/or/media.js +0 -1
- package/dist/translations/or/overlays.js +0 -1
- package/dist/translations/or/retrieval.js +0 -1
- package/dist/translations/or/shared.js +0 -1
- package/dist/translations/or/utility.js +0 -1
- package/dist/translations/or/viewers.js +0 -5
- package/dist/translations/or.js +0 -1
- package/dist/translations/pa/agent-tools.js +0 -1
- package/dist/translations/pa/charts.js +0 -1
- package/dist/translations/pa/conversation.js +0 -1
- package/dist/translations/pa/data.js +0 -1
- package/dist/translations/pa/forms.js +0 -1
- package/dist/translations/pa/layout.js +0 -1
- package/dist/translations/pa/media.js +0 -1
- package/dist/translations/pa/overlays.js +0 -1
- package/dist/translations/pa/retrieval.js +0 -1
- package/dist/translations/pa/shared.js +0 -1
- package/dist/translations/pa/utility.js +0 -1
- package/dist/translations/pa/viewers.js +0 -5
- package/dist/translations/pa.js +0 -1
- package/dist/translations/pcm/agent-tools.js +0 -1
- package/dist/translations/pcm/charts.js +0 -1
- package/dist/translations/pcm/conversation.js +0 -1
- package/dist/translations/pcm/data.js +0 -1
- package/dist/translations/pcm/forms.js +0 -1
- package/dist/translations/pcm/layout.js +0 -1
- package/dist/translations/pcm/media.js +0 -1
- package/dist/translations/pcm/overlays.js +0 -1
- package/dist/translations/pcm/retrieval.js +0 -1
- package/dist/translations/pcm/shared.js +0 -1
- package/dist/translations/pcm/utility.js +0 -1
- package/dist/translations/pcm/viewers.js +0 -5
- package/dist/translations/pcm.js +0 -1
- package/dist/translations/pl/agent-tools.js +0 -1
- package/dist/translations/pl/charts.js +0 -1
- package/dist/translations/pl/conversation.js +0 -1
- package/dist/translations/pl/data.js +0 -1
- package/dist/translations/pl/forms.js +0 -1
- package/dist/translations/pl/layout.js +0 -1
- package/dist/translations/pl/media.js +0 -1
- package/dist/translations/pl/overlays.js +0 -1
- package/dist/translations/pl/retrieval.js +0 -1
- package/dist/translations/pl/shared.js +0 -1
- package/dist/translations/pl/utility.js +0 -1
- package/dist/translations/pl/viewers.js +0 -5
- package/dist/translations/pl.js +0 -1
- package/dist/translations/pnb/agent-tools.js +0 -1
- package/dist/translations/pnb/charts.js +0 -1
- package/dist/translations/pnb/conversation.js +0 -1
- package/dist/translations/pnb/data.js +0 -1
- package/dist/translations/pnb/forms.js +0 -1
- package/dist/translations/pnb/layout.js +0 -1
- package/dist/translations/pnb/media.js +0 -1
- package/dist/translations/pnb/overlays.js +0 -1
- package/dist/translations/pnb/retrieval.js +0 -1
- package/dist/translations/pnb/shared.js +0 -1
- package/dist/translations/pnb/utility.js +0 -1
- package/dist/translations/pnb/viewers.js +0 -5
- package/dist/translations/pnb.js +0 -1
- package/dist/translations/ps/agent-tools.js +0 -1
- package/dist/translations/ps/charts.js +0 -1
- package/dist/translations/ps/conversation.js +0 -1
- package/dist/translations/ps/data.js +0 -1
- package/dist/translations/ps/forms.js +0 -1
- package/dist/translations/ps/layout.js +0 -1
- package/dist/translations/ps/media.js +0 -1
- package/dist/translations/ps/overlays.js +0 -1
- package/dist/translations/ps/retrieval.js +0 -1
- package/dist/translations/ps/shared.js +0 -1
- package/dist/translations/ps/utility.js +0 -1
- package/dist/translations/ps/viewers.js +0 -5
- package/dist/translations/ps.js +0 -1
- package/dist/translations/pt-BR/agent-tools.js +0 -1
- package/dist/translations/pt-BR/charts.js +0 -1
- package/dist/translations/pt-BR/conversation.js +0 -1
- package/dist/translations/pt-BR/data.js +0 -1
- package/dist/translations/pt-BR/forms.js +0 -1
- package/dist/translations/pt-BR/layout.js +0 -1
- package/dist/translations/pt-BR/media.js +0 -1
- package/dist/translations/pt-BR/overlays.js +0 -1
- package/dist/translations/pt-BR/retrieval.js +0 -1
- package/dist/translations/pt-BR/shared.js +0 -1
- package/dist/translations/pt-BR/utility.js +0 -1
- package/dist/translations/pt-BR/viewers.js +0 -5
- package/dist/translations/pt-BR.js +0 -1
- package/dist/translations/pt-PT/agent-tools.js +0 -1
- package/dist/translations/pt-PT/charts.js +0 -1
- package/dist/translations/pt-PT/conversation.js +0 -1
- package/dist/translations/pt-PT/data.js +0 -1
- package/dist/translations/pt-PT/forms.js +0 -1
- package/dist/translations/pt-PT/layout.js +0 -1
- package/dist/translations/pt-PT/media.js +0 -1
- package/dist/translations/pt-PT/overlays.js +0 -1
- package/dist/translations/pt-PT/retrieval.js +0 -1
- package/dist/translations/pt-PT/shared.js +0 -1
- package/dist/translations/pt-PT/utility.js +0 -1
- package/dist/translations/pt-PT/viewers.js +0 -5
- package/dist/translations/pt-PT.js +0 -1
- package/dist/translations/ro/agent-tools.js +0 -1
- package/dist/translations/ro/charts.js +0 -1
- package/dist/translations/ro/conversation.js +0 -1
- package/dist/translations/ro/data.js +0 -1
- package/dist/translations/ro/forms.js +0 -1
- package/dist/translations/ro/layout.js +0 -1
- package/dist/translations/ro/media.js +0 -1
- package/dist/translations/ro/overlays.js +0 -1
- package/dist/translations/ro/retrieval.js +0 -1
- package/dist/translations/ro/shared.js +0 -1
- package/dist/translations/ro/utility.js +0 -1
- package/dist/translations/ro/viewers.js +0 -5
- package/dist/translations/ro.js +0 -1
- package/dist/translations/ru/agent-tools.js +0 -1
- package/dist/translations/ru/charts.js +0 -1
- package/dist/translations/ru/conversation.js +0 -1
- package/dist/translations/ru/data.js +0 -1
- package/dist/translations/ru/forms.js +0 -1
- package/dist/translations/ru/layout.js +0 -1
- package/dist/translations/ru/media.js +0 -1
- package/dist/translations/ru/overlays.js +0 -1
- package/dist/translations/ru/retrieval.js +0 -1
- package/dist/translations/ru/shared.js +0 -1
- package/dist/translations/ru/utility.js +0 -1
- package/dist/translations/ru/viewers.js +0 -5
- package/dist/translations/ru.js +0 -1
- package/dist/translations/sd/agent-tools.js +0 -1
- package/dist/translations/sd/charts.js +0 -1
- package/dist/translations/sd/conversation.js +0 -1
- package/dist/translations/sd/data.js +0 -1
- package/dist/translations/sd/forms.js +0 -1
- package/dist/translations/sd/layout.js +0 -1
- package/dist/translations/sd/media.js +0 -1
- package/dist/translations/sd/overlays.js +0 -1
- package/dist/translations/sd/retrieval.js +0 -1
- package/dist/translations/sd/shared.js +0 -1
- package/dist/translations/sd/utility.js +0 -1
- package/dist/translations/sd/viewers.js +0 -5
- package/dist/translations/sd.js +0 -1
- package/dist/translations/sl/agent-tools.js +0 -1
- package/dist/translations/sl/charts.js +0 -1
- package/dist/translations/sl/conversation.js +0 -1
- package/dist/translations/sl/data.js +0 -1
- package/dist/translations/sl/forms.js +0 -1
- package/dist/translations/sl/layout.js +0 -1
- package/dist/translations/sl/media.js +0 -1
- package/dist/translations/sl/overlays.js +0 -1
- package/dist/translations/sl/retrieval.js +0 -1
- package/dist/translations/sl/shared.js +0 -1
- package/dist/translations/sl/utility.js +0 -1
- package/dist/translations/sl/viewers.js +0 -5
- package/dist/translations/sl.js +0 -1
- package/dist/translations/su/agent-tools.js +0 -1
- package/dist/translations/su/charts.js +0 -1
- package/dist/translations/su/conversation.js +0 -1
- package/dist/translations/su/data.js +0 -1
- package/dist/translations/su/forms.js +0 -1
- package/dist/translations/su/layout.js +0 -1
- package/dist/translations/su/media.js +0 -1
- package/dist/translations/su/overlays.js +0 -1
- package/dist/translations/su/retrieval.js +0 -1
- package/dist/translations/su/shared.js +0 -1
- package/dist/translations/su/utility.js +0 -1
- package/dist/translations/su/viewers.js +0 -5
- package/dist/translations/su.js +0 -1
- package/dist/translations/sv/agent-tools.js +0 -1
- package/dist/translations/sv/charts.js +0 -1
- package/dist/translations/sv/conversation.js +0 -1
- package/dist/translations/sv/data.js +0 -1
- package/dist/translations/sv/forms.js +0 -1
- package/dist/translations/sv/layout.js +0 -1
- package/dist/translations/sv/media.js +0 -1
- package/dist/translations/sv/overlays.js +0 -1
- package/dist/translations/sv/retrieval.js +0 -1
- package/dist/translations/sv/shared.js +0 -1
- package/dist/translations/sv/utility.js +0 -1
- package/dist/translations/sv/viewers.js +0 -5
- package/dist/translations/sv.js +0 -1
- package/dist/translations/sw/agent-tools.js +0 -1
- package/dist/translations/sw/charts.js +0 -1
- package/dist/translations/sw/conversation.js +0 -1
- package/dist/translations/sw/data.js +0 -1
- package/dist/translations/sw/forms.js +0 -1
- package/dist/translations/sw/layout.js +0 -1
- package/dist/translations/sw/media.js +0 -1
- package/dist/translations/sw/overlays.js +0 -1
- package/dist/translations/sw/retrieval.js +0 -1
- package/dist/translations/sw/shared.js +0 -1
- package/dist/translations/sw/utility.js +0 -1
- package/dist/translations/sw/viewers.js +0 -5
- package/dist/translations/sw.js +0 -1
- package/dist/translations/ta/agent-tools.js +0 -1
- package/dist/translations/ta/charts.js +0 -1
- package/dist/translations/ta/conversation.js +0 -1
- package/dist/translations/ta/data.js +0 -1
- package/dist/translations/ta/forms.js +0 -1
- package/dist/translations/ta/layout.js +0 -1
- package/dist/translations/ta/media.js +0 -1
- package/dist/translations/ta/overlays.js +0 -1
- package/dist/translations/ta/retrieval.js +0 -1
- package/dist/translations/ta/shared.js +0 -1
- package/dist/translations/ta/utility.js +0 -1
- package/dist/translations/ta/viewers.js +0 -5
- package/dist/translations/ta.js +0 -1
- package/dist/translations/te/agent-tools.js +0 -1
- package/dist/translations/te/charts.js +0 -1
- package/dist/translations/te/conversation.js +0 -1
- package/dist/translations/te/data.js +0 -1
- package/dist/translations/te/forms.js +0 -1
- package/dist/translations/te/layout.js +0 -1
- package/dist/translations/te/media.js +0 -1
- package/dist/translations/te/overlays.js +0 -1
- package/dist/translations/te/retrieval.js +0 -1
- package/dist/translations/te/shared.js +0 -1
- package/dist/translations/te/utility.js +0 -1
- package/dist/translations/te/viewers.js +0 -5
- package/dist/translations/te.js +0 -1
- package/dist/translations/th/agent-tools.js +0 -1
- package/dist/translations/th/charts.js +0 -1
- package/dist/translations/th/conversation.js +0 -1
- package/dist/translations/th/data.js +0 -1
- package/dist/translations/th/forms.js +0 -1
- package/dist/translations/th/layout.js +0 -1
- package/dist/translations/th/media.js +0 -1
- package/dist/translations/th/overlays.js +0 -1
- package/dist/translations/th/retrieval.js +0 -1
- package/dist/translations/th/shared.js +0 -1
- package/dist/translations/th/utility.js +0 -1
- package/dist/translations/th/viewers.js +0 -5
- package/dist/translations/th.js +0 -1
- package/dist/translations/tl/agent-tools.js +0 -1
- package/dist/translations/tl/charts.js +0 -1
- package/dist/translations/tl/conversation.js +0 -1
- package/dist/translations/tl/data.js +0 -1
- package/dist/translations/tl/forms.js +0 -1
- package/dist/translations/tl/layout.js +0 -1
- package/dist/translations/tl/media.js +0 -1
- package/dist/translations/tl/overlays.js +0 -1
- package/dist/translations/tl/retrieval.js +0 -1
- package/dist/translations/tl/shared.js +0 -1
- package/dist/translations/tl/utility.js +0 -1
- package/dist/translations/tl/viewers.js +0 -5
- package/dist/translations/tl.js +0 -1
- package/dist/translations/tr/agent-tools.js +0 -1
- package/dist/translations/tr/charts.js +0 -1
- package/dist/translations/tr/conversation.js +0 -1
- package/dist/translations/tr/data.js +0 -1
- package/dist/translations/tr/forms.js +0 -1
- package/dist/translations/tr/layout.js +0 -1
- package/dist/translations/tr/media.js +0 -1
- package/dist/translations/tr/overlays.js +0 -1
- package/dist/translations/tr/retrieval.js +0 -1
- package/dist/translations/tr/shared.js +0 -1
- package/dist/translations/tr/utility.js +0 -1
- package/dist/translations/tr/viewers.js +0 -5
- package/dist/translations/tr.js +0 -1
- package/dist/translations/uk/agent-tools.js +0 -1
- package/dist/translations/uk/charts.js +0 -1
- package/dist/translations/uk/conversation.js +0 -1
- package/dist/translations/uk/data.js +0 -1
- package/dist/translations/uk/forms.js +0 -1
- package/dist/translations/uk/layout.js +0 -1
- package/dist/translations/uk/media.js +0 -1
- package/dist/translations/uk/overlays.js +0 -1
- package/dist/translations/uk/retrieval.js +0 -1
- package/dist/translations/uk/shared.js +0 -1
- package/dist/translations/uk/utility.js +0 -1
- package/dist/translations/uk/viewers.js +0 -5
- package/dist/translations/uk.js +0 -1
- package/dist/translations/ur/agent-tools.js +0 -1
- package/dist/translations/ur/charts.js +0 -1
- package/dist/translations/ur/conversation.js +0 -1
- package/dist/translations/ur/data.js +0 -1
- package/dist/translations/ur/forms.js +0 -1
- package/dist/translations/ur/layout.js +0 -1
- package/dist/translations/ur/media.js +0 -1
- package/dist/translations/ur/overlays.js +0 -1
- package/dist/translations/ur/retrieval.js +0 -1
- package/dist/translations/ur/shared.js +0 -1
- package/dist/translations/ur/utility.js +0 -1
- package/dist/translations/ur/viewers.js +0 -5
- package/dist/translations/ur.js +0 -1
- package/dist/translations/uz/agent-tools.js +0 -1
- package/dist/translations/uz/charts.js +0 -1
- package/dist/translations/uz/conversation.js +0 -1
- package/dist/translations/uz/data.js +0 -1
- package/dist/translations/uz/forms.js +0 -1
- package/dist/translations/uz/layout.js +0 -1
- package/dist/translations/uz/media.js +0 -1
- package/dist/translations/uz/overlays.js +0 -1
- package/dist/translations/uz/retrieval.js +0 -1
- package/dist/translations/uz/shared.js +0 -1
- package/dist/translations/uz/utility.js +0 -1
- package/dist/translations/uz/viewers.js +0 -5
- package/dist/translations/uz.js +0 -1
- package/dist/translations/vi/agent-tools.js +0 -1
- package/dist/translations/vi/charts.js +0 -1
- package/dist/translations/vi/conversation.js +0 -1
- package/dist/translations/vi/data.js +0 -1
- package/dist/translations/vi/forms.js +0 -1
- package/dist/translations/vi/layout.js +0 -1
- package/dist/translations/vi/media.js +0 -1
- package/dist/translations/vi/overlays.js +0 -1
- package/dist/translations/vi/retrieval.js +0 -1
- package/dist/translations/vi/shared.js +0 -1
- package/dist/translations/vi/utility.js +0 -1
- package/dist/translations/vi/viewers.js +0 -5
- package/dist/translations/vi.js +0 -1
- package/dist/translations/yo/agent-tools.js +0 -1
- package/dist/translations/yo/charts.js +0 -1
- package/dist/translations/yo/conversation.js +0 -1
- package/dist/translations/yo/data.js +0 -1
- package/dist/translations/yo/forms.js +0 -1
- package/dist/translations/yo/layout.js +0 -1
- package/dist/translations/yo/media.js +0 -1
- package/dist/translations/yo/overlays.js +0 -1
- package/dist/translations/yo/retrieval.js +0 -1
- package/dist/translations/yo/shared.js +0 -1
- package/dist/translations/yo/utility.js +0 -1
- package/dist/translations/yo/viewers.js +0 -5
- package/dist/translations/yo.js +0 -1
- package/dist/translations/zh-CN/agent-tools.js +0 -1
- package/dist/translations/zh-CN/charts.js +0 -1
- package/dist/translations/zh-CN/conversation.js +0 -1
- package/dist/translations/zh-CN/data.js +0 -1
- package/dist/translations/zh-CN/forms.js +0 -1
- package/dist/translations/zh-CN/layout.js +0 -1
- package/dist/translations/zh-CN/media.js +0 -1
- package/dist/translations/zh-CN/overlays.js +0 -1
- package/dist/translations/zh-CN/retrieval.js +0 -1
- package/dist/translations/zh-CN/shared.js +0 -1
- package/dist/translations/zh-CN/utility.js +0 -1
- package/dist/translations/zh-CN/viewers.js +0 -5
- package/dist/translations/zh-CN.js +0 -1
- package/dist/translations/zh-TW/agent-tools.js +0 -1
- package/dist/translations/zh-TW/charts.js +0 -1
- package/dist/translations/zh-TW/conversation.js +0 -1
- package/dist/translations/zh-TW/data.js +0 -1
- package/dist/translations/zh-TW/forms.js +0 -1
- package/dist/translations/zh-TW/layout.js +0 -1
- package/dist/translations/zh-TW/media.js +0 -1
- package/dist/translations/zh-TW/overlays.js +0 -1
- package/dist/translations/zh-TW/retrieval.js +0 -1
- package/dist/translations/zh-TW/shared.js +0 -1
- package/dist/translations/zh-TW/utility.js +0 -1
- package/dist/translations/zh-TW/viewers.js +0 -5
- package/dist/translations/zh-TW.js +0 -1
- package/dist/translations/zu/agent-tools.js +0 -1
- package/dist/translations/zu/charts.js +0 -1
- package/dist/translations/zu/conversation.js +0 -1
- package/dist/translations/zu/data.js +0 -1
- package/dist/translations/zu/forms.js +0 -1
- package/dist/translations/zu/layout.js +0 -1
- package/dist/translations/zu/media.js +0 -1
- package/dist/translations/zu/overlays.js +0 -1
- package/dist/translations/zu/retrieval.js +0 -1
- package/dist/translations/zu/shared.js +0 -1
- package/dist/translations/zu/utility.js +0 -1
- package/dist/translations/zu/viewers.js +0 -5
- package/dist/translations/zu.js +0 -1
- package/vscode-css-data.json +0 -1
- package/vscode-html-data.json +0 -1
- package/web-types.json +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{__decorate}from"tslib";import{html,nothing}from"lit";import{property,query,state}from"lit/decorators.js";import{styleMap}from"lit/directives/style-map.js";import{LyraElement}from"../../../internal/lyra-element.js";import{srOnly}from"../../../internal/a11y.js";import{finiteInteger}from"../../../internal/numbers.js";import{TextViewerTarget}from"../../../internal/text-viewer-target.js";import{isAbortError,isResourceLimitError,LyraUserFacingError,readResponseArrayBuffer,resolveOwnerFetchTarget}from"../../../internal/resource-loader.js";import{sanitizeCssLength}from"../../../internal/safe-css.js";import{adaptPptxViewer,getPptxRenderer}from"./pptx-loader.js";import{assertPptxArchiveWithinLimits}from"./pptx-resource-guard.js";import{styles}from"./pptx-viewer.styles.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{ViewerAnnouncementController}from"../viewer-announcements.js";import{DeferredTeardown}from"../document-viewer/deferred-teardown.js";import{textQuoteContextScore}from"../document-viewer/anchors.js";import{PageViewerSnapshotController}from"../page-rail/page-viewer-snapshot.js";import{viewerSemanticLabel,viewerSemanticRole}from"../viewer-semantic-owner.js";import{renderViewerLoading,viewerLoadingStyles}from"../viewer-loading.js";import{renderViewerPagerButton,viewerPagerStyles}from"../viewer-pager.js";import{boundedViewerSearchQuery,ViewerSearchWorkBudget}from"../viewer-search-limits.js";import{LYRA_DEFAULT_anchorJumped,LYRA_DEFAULT_anchorJumpedToPage,LYRA_DEFAULT_anchorNotFound,LYRA_DEFAULT_documentPreviewFailedToLoad,LYRA_DEFAULT_documentPreviewResourceTooLarge,LYRA_DEFAULT_documentPreviewUrlNotAllowed,LYRA_DEFAULT_loading,LYRA_DEFAULT_pptxViewerFidelityNotice,LYRA_DEFAULT_pptxViewerLabel,LYRA_DEFAULT_pptxViewerMissingLibrary,LYRA_DEFAULT_pptxViewerNextSlide,LYRA_DEFAULT_pptxViewerPreviousSlide,LYRA_DEFAULT_pptxViewerRenderError,LYRA_DEFAULT_pptxViewerSlideOf}from"../../../internal/default-strings.generated.js";const MAX_PPTX_SEARCH_MATCHES=1e4,MAX_PPTX_THUMBNAIL_WIDTH=2048;class LyraPptxViewerBase extends LyraElement{}class LyraPptxViewer extends TextViewerTarget(LyraPptxViewerBase){constructor(){super(...arguments),this.src="",this.name="",this.page=1,this.maxHeight="",this.phase="idle",this.errorMessage="",this.slideCount=0,this.currentSlideIndex=0,this.loadRenderer=getPptxRenderer,this.generation=0,this.announcements=new ViewerAnnouncementController(this),this.pptxSearchQuery="",this.lastSearchLocale="",this.pptxSearchMatches=[],this.pendingSearchResetEvent=!1,this.pptxSearchMatchCountExact=!0,this.pptxSearchActiveIndex=-1,this.pptxSearchGeneration=0,this.pageViewerState=new PageViewerSnapshotController,this.anchorKinds=["text-quote","fragment","page"],this.onViewerEvent=event=>{if(event.kind==="slide-change"){this.commitSlide(event.index);return}this.reportPeerDiagnostic(event.code,event.cause,{page:event.page,nodeId:event.nodeId},event.fatal)},this.focusedPagerPart=null,this.detached=new DeferredTeardown(()=>this.releaseDetachedPresentation())}static{this.defaultStrings={...super.defaultStrings,anchorJumped:LYRA_DEFAULT_anchorJumped,anchorJumpedToPage:LYRA_DEFAULT_anchorJumpedToPage,anchorNotFound:LYRA_DEFAULT_anchorNotFound,documentPreviewFailedToLoad:LYRA_DEFAULT_documentPreviewFailedToLoad,documentPreviewResourceTooLarge:LYRA_DEFAULT_documentPreviewResourceTooLarge,documentPreviewUrlNotAllowed:LYRA_DEFAULT_documentPreviewUrlNotAllowed,loading:LYRA_DEFAULT_loading,pptxViewerFidelityNotice:LYRA_DEFAULT_pptxViewerFidelityNotice,pptxViewerLabel:LYRA_DEFAULT_pptxViewerLabel,pptxViewerMissingLibrary:LYRA_DEFAULT_pptxViewerMissingLibrary,pptxViewerNextSlide:LYRA_DEFAULT_pptxViewerNextSlide,pptxViewerPreviousSlide:LYRA_DEFAULT_pptxViewerPreviousSlide,pptxViewerRenderError:LYRA_DEFAULT_pptxViewerRenderError,pptxViewerSlideOf:LYRA_DEFAULT_pptxViewerSlideOf}}static{this.styles=[LyraElement.styles,styles,viewerPagerStyles,srOnly,viewerLoadingStyles]}async search(query2){const generation=++this.pptxSearchGeneration,viewer=this.viewer,boundedQuery=boundedViewerSearchQuery(query2,this.effectiveLocale);if(this.pptxSearchQuery=query2,this.lastSearchLocale=this.effectiveLocale,this.disposeSearchHighlight(),viewer?.clearSearchHighlights(),!boundedQuery.accepted)return this.pptxSearchMatches=[],this.pptxSearchMatchCountExact=!1,this.pptxSearchActiveIndex=-1,this.emitPptxSearchChange(),0;if(!viewer||!boundedQuery.needle)return this.pptxSearchMatches=[],this.pptxSearchMatchCountExact=!0,this.pptxSearchActiveIndex=-1,this.emitPptxSearchChange(),0;try{const raw=viewer.searchText(query2.trim(),{matchCase:!1});if(generation!==this.pptxSearchGeneration||viewer!==this.viewer)return this.pptxSearchMatches.length;const normalized=this.normalizeSearchResults(raw,viewer.slideCount);return this.pptxSearchMatches=normalized.matches,this.pptxSearchMatchCountExact=normalized.matchCountExact,this.pptxSearchActiveIndex=this.pptxSearchMatches.length>0?0:-1,this.emitPptxSearchChange(),this.pptxSearchActiveIndex>=0&&await this.focusPptxSearchMatch(this.pptxSearchActiveIndex,generation,viewer),this.pptxSearchMatches.length}catch(cause){return generation!==this.pptxSearchGeneration||viewer!==this.viewer||(this.pptxSearchMatches=[],this.pptxSearchMatchCountExact=!1,this.pptxSearchActiveIndex=-1,this.reportPeerDiagnostic("pptx-search-error",cause),this.emitPptxSearchChange()),0}}async searchNext(){const viewer=this.viewer;if(!viewer||this.pptxSearchMatches.length===0)return!1;const generation=++this.pptxSearchGeneration;return this.pptxSearchActiveIndex=(this.pptxSearchActiveIndex+1)%this.pptxSearchMatches.length,this.emitPptxSearchChange(),await this.focusPptxSearchMatch(this.pptxSearchActiveIndex,generation,viewer),generation===this.pptxSearchGeneration}async searchPrevious(){const viewer=this.viewer;if(!viewer||this.pptxSearchMatches.length===0)return!1;const generation=++this.pptxSearchGeneration;return this.pptxSearchActiveIndex=(this.pptxSearchActiveIndex-1+this.pptxSearchMatches.length)%this.pptxSearchMatches.length,this.emitPptxSearchChange(),await this.focusPptxSearchMatch(this.pptxSearchActiveIndex,generation,viewer),generation===this.pptxSearchGeneration}clearSearch(){this.pptxSearchGeneration++,this.pptxSearchQuery="",this.pptxSearchMatches=[],this.pptxSearchMatchCountExact=!0,this.pptxSearchActiveIndex=-1,this.disposeSearchHighlight(),this.viewer?.clearSearchHighlights(),this.emitPptxSearchChange()}get pageViewerSnapshot(){return this.pageViewerState.value}set pageViewerSnapshot(_value){}textContentRoot(){return this.renderRoot.querySelector('[part="container"]')??this.renderRoot.querySelector('[part="base"]')}async applyAnchor(anchor){const viewer=this.viewer;if(anchor.kind==="page"){const index=anchor.page-1;return!viewer||!Number.isInteger(anchor.page)||index<0||index>=this.slideCount?!1:(await this.goToSlide(index),viewer===this.viewer&&this.currentSlideIndex===index)}if(anchor.kind==="text-quote"&&viewer){const slideIndex=this.slideForTextQuote(viewer,anchor);if(slideIndex>=0&&slideIndex!==this.currentSlideIndex){if(await this.goToSlide(slideIndex),viewer!==this.viewer||this.currentSlideIndex!==slideIndex)return!1;await this.updateComplete}}return this.applyMountedAnchor(anchor)}applyMountedAnchor(anchor){return Object.getPrototypeOf(LyraPptxViewer.prototype).applyAnchor.call(this,anchor)}slideForTextQuote(viewer,anchor){const quote=anchor.quote.trim(),bounded=boundedViewerSearchQuery(quote,this.effectiveLocale);if(!bounded.accepted||!bounded.needle)return-1;let matches;try{matches=this.normalizeSearchResults(viewer.searchText(quote,{matchCase:!1}),viewer.slideCount).matches}catch(cause){return this.reportPeerDiagnostic("pptx-search-error",cause),-1}let best,bestScore=-1;for(const match of matches){const score=textQuoteContextScore(match.text,match.matchStart,match.matchEnd,anchor.prefix,anchor.suffix);score>bestScore&&(best=match,bestScore=score)}return best?.slideIndex??-1}keepPagerFocus(){const part=this.focusedPagerPart;this.focusedPagerPart=null;const twin=part==="previous-button"?"next-button":part==="next-button"?"previous-button":void 0,root=this.shadowRoot;!twin||!root||root.querySelector(`[part="${part}"]`)?.disabled&&root.querySelector(`[part="${twin}"]:not(:disabled)`)?.focus()}updated(changed){if(super.updated(changed),this.keepPagerFocus(),this.announcements.transition("load",this.phase,this.phase==="error"?this.errorMessage:this.localize("loading")),changed.has("src")&&this.scheduleAfterUpdate(()=>{this.mount()}),changed.has("src")&&this.pendingSearchResetEvent&&(this.pendingSearchResetEvent=!1,this.emitPptxSearchChange()),changed.has("page")&&this.viewer&&this.page-1!==this.currentSlideIndex){const page=this.page;this.scheduleAfterUpdate(()=>{this.page===page&&this.goToSlide(page-1)},"page-navigation")}const locale=this.effectiveLocale;if(locale!==this.lastSearchLocale){const shouldRecompute=this.pptxSearchQuery!=="";this.lastSearchLocale=locale,shouldRecompute&&this.scheduleAfterUpdate(()=>{this.search(this.pptxSearchQuery)},"search")}}willUpdate(changed){super.willUpdate(changed);const active=this.shadowRoot?.activeElement;this.focusedPagerPart=active?.localName==="button"&&!active.disabled?active.getAttribute("part"):null,changed.has("src")&&(this.pendingSearchResetEvent||=this.hasPptxSearchState(),this.resetPptxSearchState()),(changed.has("page")||changed.has("slideCount"))&&(this.page=finiteInteger(this.page,1,1,Math.max(1,this.slideCount)))}connectedCallback(){super.connectedCallback(),this.announcements.connect();const moved=this.detached.cancel();this.hasUpdated&&this.src&&!moved&&this.scheduleAfterUpdate(()=>{this.mount()})}disconnectedCallback(){this.announcements.disconnect(),super.disconnectedCallback(),this.detached.schedule()}releaseDetachedPresentation(){this.teardown(),this.phase="idle",this.slideCount=0,this.currentSlideIndex=0,this.page=1,this.pageViewerState.reset()}adoptedCallback(){super.adoptedCallback(),this.detached.flush(),this.announcements.adopted()}async goToSlide(index){const viewer=this.viewer;if(!viewer||!Number.isSafeInteger(index)||index<0||index>=viewer.slideCount)return;const generation=this.generation;try{await viewer.goToSlide(index)}catch(error){if(isAbortError(error)||!this.isConnected||generation!==this.generation||viewer!==this.viewer)return;this.teardown(),this.phase="error",this.slideCount=0,this.currentSlideIndex=0,this.page=1,this.errorMessage=this.localize("pptxViewerRenderError"),this.publishPageViewerSnapshot("error",0),this.emit("lr-render-error",{error});return}viewer===this.viewer&&viewer.currentSlideIndex!==this.currentSlideIndex&&this.commitSlide(viewer.currentSlideIndex)}async renderPageThumbnailToContainer(page,container,options){const viewer=this.viewer,generation=this.generation,width=options?.width??96;if(!viewer||!Number.isSafeInteger(page)||page<1||page>viewer.slideCount||!Number.isFinite(width)||width<=0||width>MAX_PPTX_THUMBNAIL_WIDTH)return!1;const previousChildren=[...container.childNodes],restorePreviousChildren=()=>{container.replaceChildren(...previousChildren)};let handle;try{handle=viewer.renderThumbnailToContainer(page-1,container,{width})}catch{return restorePreviousChildren(),!1}if(!handle)return restorePreviousChildren(),!1;try{await handle.ready}catch{return handle.dispose(),restorePreviousChildren(),!1}if(generation!==this.generation||viewer!==this.viewer||!container.isConnected)return handle.dispose(),restorePreviousChildren(),!1;for(const child of previousChildren)child.parentNode===container&&child.remove();return handle}isValidSlideIndex(index){return Number.isSafeInteger(index)&&index>=0&&index<this.slideCount}commitSlide(index){if(!this.isValidSlideIndex(index))return;const changed=index!==this.currentSlideIndex;this.currentSlideIndex=index,this.page=index+1,this.publishPageViewerSnapshot("ready",this.slideCount),changed&&this.emit("lr-slide-change",{index,count:this.slideCount})}publishPageViewerSnapshot(status,pageCount){const snapshot=this.pageViewerState.publish(status,finiteInteger(this.page,1,1,Math.max(1,pageCount)),finiteInteger(pageCount,0,0,Number.MAX_SAFE_INTEGER));snapshot&&this.isConnected&&this.emit("lr-page-viewer-state-change",{snapshot})}teardown(){const shouldEmitSearchReset=this.hasPptxSearchState();this.generation++,this.viewerUnsubscribe?.(),this.viewerUnsubscribe=void 0,this.viewer?.destroy(),this.viewer=void 0,this.resetPptxSearchState(),shouldEmitSearchReset&&this.emitPptxSearchChange()}hasPptxSearchState(){return this.pptxSearchQuery!==""||this.pptxSearchMatches.length>0||!this.pptxSearchMatchCountExact||this.pptxSearchActiveIndex!==-1}resetPptxSearchState(){this.pptxSearchGeneration++,this.disposeSearchHighlight(),this.viewer?.clearSearchHighlights(),this.pptxSearchQuery="",this.pptxSearchMatches=[],this.pptxSearchMatchCountExact=!0,this.pptxSearchActiveIndex=-1}normalizeSearchResults(value,slideCount){if(!Array.isArray(value))throw new TypeError("PPTX search returned a non-array result.");const matches=[],work=new ViewerSearchWorkBudget;let matchCountExact=!0;for(const candidate of value){if(!work.consume("")){matchCountExact=!1;break}if(!candidate||typeof candidate!="object")continue;const result=candidate;if(!(!Number.isSafeInteger(result.slideIndex)||result.slideIndex<0||result.slideIndex>=slideCount||typeof result.nodeId!="string"||typeof result.text!="string"||!Number.isSafeInteger(result.matchStart)||!Number.isSafeInteger(result.matchEnd)||result.matchStart<0||result.matchEnd<result.matchStart||result.matchEnd>result.text.length)){if(!work.consume(result.nodeId)||!work.consume(result.text)){matchCountExact=!1;break}if(matches.length===MAX_PPTX_SEARCH_MATCHES){matchCountExact=!1;break}matches.push(candidate)}}return{matches,matchCountExact:matchCountExact&&work.complete}}async focusPptxSearchMatch(index,generation,viewer){const match=this.pptxSearchMatches[index];if(match){this.disposeSearchHighlight(),viewer.clearSearchHighlights();try{if(await viewer.goToSlide(match.slideIndex),generation!==this.pptxSearchGeneration||viewer!==this.viewer)return;const highlight=await viewer.highlightSearchResult(match,{scrollIntoView:!1});if(generation!==this.pptxSearchGeneration||viewer!==this.viewer){highlight?.dispose();return}this.searchHighlight=highlight??void 0}catch(cause){generation===this.pptxSearchGeneration&&viewer===this.viewer&&this.reportPeerDiagnostic("pptx-search-error",cause,{page:match.slideIndex+1})}}}disposeSearchHighlight(){this.searchHighlight?.dispose(),this.searchHighlight=void 0}emitPptxSearchChange(){this.emit("lr-search-change",{query:this.pptxSearchQuery,matchCount:this.pptxSearchMatches.length,matchCountExact:this.pptxSearchMatchCountExact,activeIndex:this.pptxSearchActiveIndex})}reportPeerDiagnostic(code,cause,location={},fatal=!1){this.emit("lr-viewer-diagnostic",{diagnostic:Object.freeze({code,severity:"error",fatal,source:"pptx-renderer",cause,...location})}),fatal&&(this.teardown(),this.phase="error",this.slideCount=0,this.currentSlideIndex=0,this.page=1,this.errorMessage=this.localize("pptxViewerRenderError"),this.publishPageViewerSnapshot("error",0),this.emit("lr-render-error",{error:cause}))}async mount(){this.teardown(),this.pageViewerState.advance();const signal=this.beginAbortableLoad(),generation=this.generation;if(this.slideCount=0,this.currentSlideIndex=0,this.page=1,!this.src){this.phase="idle",this.publishPageViewerSnapshot("idle",0);return}const fetchTarget=resolveOwnerFetchTarget(this,this.src);if(!fetchTarget){const error=new LyraUserFacingError(this.localize("documentPreviewUrlNotAllowed"));this.phase="error",this.errorMessage=error.message,this.publishPageViewerSnapshot("error",0),this.emit("lr-render-error",{error});return}this.phase="loading",this.publishPageViewerSnapshot("loading",0);let module,response;try{[module,response]=await Promise.all([this.loadRenderer(),fetchTarget.view.fetch(fetchTarget.url,signal?{signal}:void 0)])}catch(error){if(isAbortError(error)||!this.isConnected||generation!==this.generation)return;this.phase="error",this.errorMessage=this.localize(isResourceLimitError(error)?"documentPreviewResourceTooLarge":"documentPreviewFailedToLoad"),this.publishPageViewerSnapshot("error",0),this.emit("lr-render-error",{error});return}if(!this.isConnected||generation!==this.generation)return;if(!module||!response.ok){response.body?.cancel().catch(()=>{});const error=new LyraUserFacingError(this.localize(module?"documentPreviewFailedToLoad":"pptxViewerMissingLibrary"));this.phase="error",this.errorMessage=error.message,this.publishPageViewerSnapshot("error",0),this.emit("lr-render-error",{error});return}let buffer;try{if(buffer=await readResponseArrayBuffer(response),!this.isConnected||generation!==this.generation)return;await assertPptxArchiveWithinLimits(buffer,{signal})}catch(error){if(isAbortError(error)||!this.isConnected||generation!==this.generation)return;this.phase="error",this.errorMessage=this.localize(isResourceLimitError(error)?"documentPreviewResourceTooLarge":"documentPreviewFailedToLoad"),this.publishPageViewerSnapshot("error",0),this.emit("lr-render-error",{error});return}if(!(!this.isConnected||generation!==this.generation)&&(this.phase="mounted",await this.updateComplete,!(!this.isConnected||generation!==this.generation||!this.containerEl)))try{const openedViewer=await module.PptxViewer.open(buffer,this.containerEl,{zipLimits:module.RECOMMENDED_ZIP_LIMITS,listOptions:{windowed:!0}});if(!this.isConnected||generation!==this.generation){openedViewer.destroy();return}const viewer=adaptPptxViewer(openedViewer);if(!viewer)throw openedViewer.destroy(),new TypeError("The PPTX renderer did not expose the required viewer capabilities.");this.viewer=viewer,this.viewerUnsubscribe=viewer.subscribe(this.onViewerEvent),this.slideCount=viewer.slideCount,this.isValidSlideIndex(viewer.currentSlideIndex)&&(this.currentSlideIndex=viewer.currentSlideIndex,this.page=viewer.currentSlideIndex+1),this.publishPageViewerSnapshot("ready",viewer.slideCount),this.emit("lr-load",{slideCount:viewer.slideCount})}catch(error){if(isAbortError(error)||!this.isConnected||generation!==this.generation)return;this.phase="error",this.errorMessage=this.localize("pptxViewerRenderError"),this.publishPageViewerSnapshot("error",0),this.emit("lr-render-error",{error})}}renderBody(){return this.phase==="loading"?renderViewerLoading(this.localize("loading")):this.phase==="error"?html`<div part="error">${this.errorMessage}</div>`:this.phase!=="mounted"?nothing:html`
|
|
1
|
+
import{__decorate}from"tslib";import{html,nothing}from"lit";import{property,query,state}from"lit/decorators.js";import{styleMap}from"lit/directives/style-map.js";import{LyraElement}from"../../../internal/lyra-element.js";import{srOnly}from"../../../internal/a11y.js";import{finiteInteger}from"../../../internal/numbers.js";import{TextViewerTarget}from"../../../internal/text-viewer-target.js";import{isAbortError,isResourceLimitError,LyraUserFacingError,readResponseArrayBuffer,resolveOwnerFetchTarget}from"../../../internal/resource-loader.js";import{sanitizeCssLength}from"../../../internal/safe-css.js";import{adaptPptxViewer,getPptxRenderer}from"./pptx-loader.js";import{assertPptxArchiveWithinLimits}from"./pptx-resource-guard.js";import{styles}from"./pptx-viewer.styles.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{ViewerAnnouncementController}from"../viewer-announcements.js";import{DeferredTeardown}from"../document-viewer/deferred-teardown.js";import{textQuoteContextScore}from"../document-viewer/anchors.js";import{PageViewerSnapshotController}from"../page-rail/page-viewer-snapshot.js";import{viewerSemanticLabel,viewerSemanticRole}from"../viewer-semantic-owner.js";import{renderViewerLoading,viewerLoadingStyles}from"../viewer-loading.js";import{renderViewerPagerButton,viewerPagerStyles}from"../viewer-pager.js";import{boundedViewerSearchQuery,ViewerSearchWorkBudget}from"../viewer-search-limits.js";import{shadowFocusTarget}from"../../../internal/active-element.js";import{LYRA_DEFAULT_anchorJumped,LYRA_DEFAULT_anchorJumpedToPage,LYRA_DEFAULT_anchorNotFound,LYRA_DEFAULT_documentPreviewFailedToLoad,LYRA_DEFAULT_documentPreviewResourceTooLarge,LYRA_DEFAULT_documentPreviewUrlNotAllowed,LYRA_DEFAULT_loading,LYRA_DEFAULT_pptxViewerFidelityNotice,LYRA_DEFAULT_pptxViewerLabel,LYRA_DEFAULT_pptxViewerMissingLibrary,LYRA_DEFAULT_pptxViewerNextSlide,LYRA_DEFAULT_pptxViewerPreviousSlide,LYRA_DEFAULT_pptxViewerRenderError,LYRA_DEFAULT_pptxViewerSlideOf}from"../../../internal/default-strings.generated.js";const MAX_PPTX_SEARCH_MATCHES=1e4,MAX_PPTX_THUMBNAIL_WIDTH=2048;class LyraPptxViewerBase extends LyraElement{}class LyraPptxViewer extends TextViewerTarget(LyraPptxViewerBase){constructor(){super(...arguments),this.src="",this.name="",this.page=1,this.maxHeight="",this.phase="idle",this.errorMessage="",this.slideCount=0,this.currentSlideIndex=0,this.loadRenderer=getPptxRenderer,this.generation=0,this.announcements=new ViewerAnnouncementController(this),this.pptxSearchQuery="",this.lastSearchLocale="",this.pptxSearchMatches=[],this.pendingSearchResetEvent=!1,this.pptxSearchMatchCountExact=!0,this.pptxSearchActiveIndex=-1,this.pptxSearchGeneration=0,this.pageViewerState=new PageViewerSnapshotController,this.anchorKinds=["text-quote","fragment","page"],this.onViewerEvent=event=>{if(event.kind==="slide-change"){this.commitSlide(event.index);return}this.reportPeerDiagnostic(event.code,event.cause,{page:event.page,nodeId:event.nodeId},event.fatal)},this.focusedPagerPart=null,this.detached=new DeferredTeardown(()=>this.releaseDetachedPresentation())}static{this.defaultStrings={...super.defaultStrings,anchorJumped:LYRA_DEFAULT_anchorJumped,anchorJumpedToPage:LYRA_DEFAULT_anchorJumpedToPage,anchorNotFound:LYRA_DEFAULT_anchorNotFound,documentPreviewFailedToLoad:LYRA_DEFAULT_documentPreviewFailedToLoad,documentPreviewResourceTooLarge:LYRA_DEFAULT_documentPreviewResourceTooLarge,documentPreviewUrlNotAllowed:LYRA_DEFAULT_documentPreviewUrlNotAllowed,loading:LYRA_DEFAULT_loading,pptxViewerFidelityNotice:LYRA_DEFAULT_pptxViewerFidelityNotice,pptxViewerLabel:LYRA_DEFAULT_pptxViewerLabel,pptxViewerMissingLibrary:LYRA_DEFAULT_pptxViewerMissingLibrary,pptxViewerNextSlide:LYRA_DEFAULT_pptxViewerNextSlide,pptxViewerPreviousSlide:LYRA_DEFAULT_pptxViewerPreviousSlide,pptxViewerRenderError:LYRA_DEFAULT_pptxViewerRenderError,pptxViewerSlideOf:LYRA_DEFAULT_pptxViewerSlideOf}}static{this.styles=[LyraElement.styles,styles,viewerPagerStyles,srOnly,viewerLoadingStyles]}async search(query2){const generation=++this.pptxSearchGeneration,viewer=this.viewer,boundedQuery=boundedViewerSearchQuery(query2,this.effectiveLocale);if(this.pptxSearchQuery=query2,this.lastSearchLocale=this.effectiveLocale,this.disposeSearchHighlight(),viewer?.clearSearchHighlights(),!boundedQuery.accepted)return this.pptxSearchMatches=[],this.pptxSearchMatchCountExact=!1,this.pptxSearchActiveIndex=-1,this.emitPptxSearchChange(),0;if(!viewer||!boundedQuery.needle)return this.pptxSearchMatches=[],this.pptxSearchMatchCountExact=!0,this.pptxSearchActiveIndex=-1,this.emitPptxSearchChange(),0;try{const raw=viewer.searchText(query2.trim(),{matchCase:!1});if(generation!==this.pptxSearchGeneration||viewer!==this.viewer)return this.pptxSearchMatches.length;const normalized=this.normalizeSearchResults(raw,viewer.slideCount);return this.pptxSearchMatches=normalized.matches,this.pptxSearchMatchCountExact=normalized.matchCountExact,this.pptxSearchActiveIndex=this.pptxSearchMatches.length>0?0:-1,this.emitPptxSearchChange(),this.pptxSearchActiveIndex>=0&&await this.focusPptxSearchMatch(this.pptxSearchActiveIndex,generation,viewer),this.pptxSearchMatches.length}catch(cause){return generation!==this.pptxSearchGeneration||viewer!==this.viewer||(this.pptxSearchMatches=[],this.pptxSearchMatchCountExact=!1,this.pptxSearchActiveIndex=-1,this.reportPeerDiagnostic("pptx-search-error",cause),this.emitPptxSearchChange()),0}}async searchNext(){const viewer=this.viewer;if(!viewer||this.pptxSearchMatches.length===0)return!1;const generation=++this.pptxSearchGeneration;return this.pptxSearchActiveIndex=(this.pptxSearchActiveIndex+1)%this.pptxSearchMatches.length,this.emitPptxSearchChange(),await this.focusPptxSearchMatch(this.pptxSearchActiveIndex,generation,viewer),generation===this.pptxSearchGeneration}async searchPrevious(){const viewer=this.viewer;if(!viewer||this.pptxSearchMatches.length===0)return!1;const generation=++this.pptxSearchGeneration;return this.pptxSearchActiveIndex=(this.pptxSearchActiveIndex-1+this.pptxSearchMatches.length)%this.pptxSearchMatches.length,this.emitPptxSearchChange(),await this.focusPptxSearchMatch(this.pptxSearchActiveIndex,generation,viewer),generation===this.pptxSearchGeneration}clearSearch(){this.pptxSearchGeneration++,this.pptxSearchQuery="",this.pptxSearchMatches=[],this.pptxSearchMatchCountExact=!0,this.pptxSearchActiveIndex=-1,this.disposeSearchHighlight(),this.viewer?.clearSearchHighlights(),this.emitPptxSearchChange()}get pageViewerSnapshot(){return this.pageViewerState.value}set pageViewerSnapshot(_value){}textContentRoot(){return this.renderRoot.querySelector('[part="container"]')??this.renderRoot.querySelector('[part="base"]')}async applyAnchor(anchor){const viewer=this.viewer;if(anchor.kind==="page"){const index=anchor.page-1;return!viewer||!Number.isInteger(anchor.page)||index<0||index>=this.slideCount?!1:(await this.goToSlide(index),viewer===this.viewer&&this.currentSlideIndex===index)}if(anchor.kind==="text-quote"&&viewer){const slideIndex=this.slideForTextQuote(viewer,anchor);if(slideIndex>=0&&slideIndex!==this.currentSlideIndex){if(await this.goToSlide(slideIndex),viewer!==this.viewer||this.currentSlideIndex!==slideIndex)return!1;await this.updateComplete}}return this.applyMountedAnchor(anchor)}applyMountedAnchor(anchor){return Object.getPrototypeOf(LyraPptxViewer.prototype).applyAnchor.call(this,anchor)}slideForTextQuote(viewer,anchor){const quote=anchor.quote.trim(),bounded=boundedViewerSearchQuery(quote,this.effectiveLocale);if(!bounded.accepted||!bounded.needle)return-1;let matches;try{matches=this.normalizeSearchResults(viewer.searchText(quote,{matchCase:!1}),viewer.slideCount).matches}catch(cause){return this.reportPeerDiagnostic("pptx-search-error",cause),-1}let best,bestScore=-1;for(const match of matches){const score=textQuoteContextScore(match.text,match.matchStart,match.matchEnd,anchor.prefix,anchor.suffix);score>bestScore&&(best=match,bestScore=score)}return best?.slideIndex??-1}keepPagerFocus(){const part=this.focusedPagerPart;this.focusedPagerPart=null;const twin=part==="previous-button"?"next-button":part==="next-button"?"previous-button":void 0,root=this.shadowRoot;!twin||!root||root.querySelector(`[part="${part}"]`)?.disabled&&root.querySelector(`[part="${twin}"]:not(:disabled)`)?.focus()}updated(changed){if(super.updated(changed),this.keepPagerFocus(),this.announcements.transition("load",this.phase,this.phase==="error"?this.errorMessage:this.localize("loading")),changed.has("src")&&this.scheduleAfterUpdate(()=>{this.mount()}),changed.has("src")&&this.pendingSearchResetEvent&&(this.pendingSearchResetEvent=!1,this.emitPptxSearchChange()),changed.has("page")&&this.viewer&&this.page-1!==this.currentSlideIndex){const page=this.page;this.scheduleAfterUpdate(()=>{this.page===page&&this.goToSlide(page-1)},"page-navigation")}const locale=this.effectiveLocale;if(locale!==this.lastSearchLocale){const shouldRecompute=this.pptxSearchQuery!=="";this.lastSearchLocale=locale,shouldRecompute&&this.scheduleAfterUpdate(()=>{this.search(this.pptxSearchQuery)},"search")}}willUpdate(changed){super.willUpdate(changed);const active=shadowFocusTarget(this);this.focusedPagerPart=active?.localName==="button"&&!active.disabled?active.getAttribute("part"):null,changed.has("src")&&(this.pendingSearchResetEvent||=this.hasPptxSearchState(),this.resetPptxSearchState()),(changed.has("page")||changed.has("slideCount"))&&(this.page=finiteInteger(this.page,1,1,Math.max(1,this.slideCount)))}connectedCallback(){super.connectedCallback(),this.announcements.connect();const moved=this.detached.cancel();this.hasUpdated&&this.src&&!moved&&this.scheduleAfterUpdate(()=>{this.mount()})}disconnectedCallback(){this.announcements.disconnect(),super.disconnectedCallback(),this.detached.schedule()}releaseDetachedPresentation(){this.teardown(),this.phase="idle",this.slideCount=0,this.currentSlideIndex=0,this.page=1,this.pageViewerState.reset()}adoptedCallback(){super.adoptedCallback(),this.detached.flush(),this.announcements.adopted()}async goToSlide(index){const viewer=this.viewer;if(!viewer||!Number.isSafeInteger(index)||index<0||index>=viewer.slideCount)return;const generation=this.generation;try{await viewer.goToSlide(index)}catch(error){if(isAbortError(error)||!this.isConnected||generation!==this.generation||viewer!==this.viewer)return;this.teardown(),this.phase="error",this.slideCount=0,this.currentSlideIndex=0,this.page=1,this.errorMessage=this.localize("pptxViewerRenderError"),this.publishPageViewerSnapshot("error",0),this.emit("lr-render-error",{error});return}viewer===this.viewer&&viewer.currentSlideIndex!==this.currentSlideIndex&&this.commitSlide(viewer.currentSlideIndex)}async renderPageThumbnailToContainer(page,container,options){const viewer=this.viewer,generation=this.generation,width=options?.width??96;if(!viewer||!Number.isSafeInteger(page)||page<1||page>viewer.slideCount||!Number.isFinite(width)||width<=0||width>MAX_PPTX_THUMBNAIL_WIDTH)return!1;const previousChildren=[...container.childNodes],restorePreviousChildren=()=>{container.replaceChildren(...previousChildren)};let handle;try{handle=viewer.renderThumbnailToContainer(page-1,container,{width})}catch{return restorePreviousChildren(),!1}if(!handle)return restorePreviousChildren(),!1;try{await handle.ready}catch{return handle.dispose(),restorePreviousChildren(),!1}if(generation!==this.generation||viewer!==this.viewer||!container.isConnected)return handle.dispose(),restorePreviousChildren(),!1;for(const child of previousChildren)child.parentNode===container&&child.remove();return handle}isValidSlideIndex(index){return Number.isSafeInteger(index)&&index>=0&&index<this.slideCount}commitSlide(index){if(!this.isValidSlideIndex(index))return;const changed=index!==this.currentSlideIndex;this.currentSlideIndex=index,this.page=index+1,this.publishPageViewerSnapshot("ready",this.slideCount),changed&&this.emit("lr-slide-change",{index,count:this.slideCount})}publishPageViewerSnapshot(status,pageCount){const snapshot=this.pageViewerState.publish(status,finiteInteger(this.page,1,1,Math.max(1,pageCount)),finiteInteger(pageCount,0,0,Number.MAX_SAFE_INTEGER));snapshot&&this.isConnected&&this.emit("lr-page-viewer-state-change",{snapshot})}teardown(){const shouldEmitSearchReset=this.hasPptxSearchState();this.generation++,this.viewerUnsubscribe?.(),this.viewerUnsubscribe=void 0,this.viewer?.destroy(),this.viewer=void 0,this.resetPptxSearchState(),shouldEmitSearchReset&&this.emitPptxSearchChange()}hasPptxSearchState(){return this.pptxSearchQuery!==""||this.pptxSearchMatches.length>0||!this.pptxSearchMatchCountExact||this.pptxSearchActiveIndex!==-1}resetPptxSearchState(){this.pptxSearchGeneration++,this.disposeSearchHighlight(),this.viewer?.clearSearchHighlights(),this.pptxSearchQuery="",this.pptxSearchMatches=[],this.pptxSearchMatchCountExact=!0,this.pptxSearchActiveIndex=-1}normalizeSearchResults(value,slideCount){if(!Array.isArray(value))throw new TypeError("PPTX search returned a non-array result.");const matches=[],work=new ViewerSearchWorkBudget;let matchCountExact=!0;for(const candidate of value){if(!work.consume("")){matchCountExact=!1;break}if(!candidate||typeof candidate!="object")continue;const result=candidate;if(!(!Number.isSafeInteger(result.slideIndex)||result.slideIndex<0||result.slideIndex>=slideCount||typeof result.nodeId!="string"||typeof result.text!="string"||!Number.isSafeInteger(result.matchStart)||!Number.isSafeInteger(result.matchEnd)||result.matchStart<0||result.matchEnd<result.matchStart||result.matchEnd>result.text.length)){if(!work.consume(result.nodeId)||!work.consume(result.text)){matchCountExact=!1;break}if(matches.length===MAX_PPTX_SEARCH_MATCHES){matchCountExact=!1;break}matches.push(candidate)}}return{matches,matchCountExact:matchCountExact&&work.complete}}async focusPptxSearchMatch(index,generation,viewer){const match=this.pptxSearchMatches[index];if(match){this.disposeSearchHighlight(),viewer.clearSearchHighlights();try{if(await viewer.goToSlide(match.slideIndex),generation!==this.pptxSearchGeneration||viewer!==this.viewer)return;const highlight=await viewer.highlightSearchResult(match,{scrollIntoView:!1});if(generation!==this.pptxSearchGeneration||viewer!==this.viewer){highlight?.dispose();return}this.searchHighlight=highlight??void 0}catch(cause){generation===this.pptxSearchGeneration&&viewer===this.viewer&&this.reportPeerDiagnostic("pptx-search-error",cause,{page:match.slideIndex+1})}}}disposeSearchHighlight(){this.searchHighlight?.dispose(),this.searchHighlight=void 0}emitPptxSearchChange(){this.emit("lr-search-change",{query:this.pptxSearchQuery,matchCount:this.pptxSearchMatches.length,matchCountExact:this.pptxSearchMatchCountExact,activeIndex:this.pptxSearchActiveIndex})}reportPeerDiagnostic(code,cause,location={},fatal=!1){this.emit("lr-viewer-diagnostic",{diagnostic:Object.freeze({code,severity:"error",fatal,source:"pptx-renderer",cause,...location})}),fatal&&(this.teardown(),this.phase="error",this.slideCount=0,this.currentSlideIndex=0,this.page=1,this.errorMessage=this.localize("pptxViewerRenderError"),this.publishPageViewerSnapshot("error",0),this.emit("lr-render-error",{error:cause}))}async mount(){this.teardown(),this.pageViewerState.advance();const signal=this.beginAbortableLoad(),generation=this.generation;if(this.slideCount=0,this.currentSlideIndex=0,this.page=1,!this.src){this.phase="idle",this.publishPageViewerSnapshot("idle",0);return}const fetchTarget=resolveOwnerFetchTarget(this,this.src);if(!fetchTarget){const error=new LyraUserFacingError(this.localize("documentPreviewUrlNotAllowed"));this.phase="error",this.errorMessage=error.message,this.publishPageViewerSnapshot("error",0),this.emit("lr-render-error",{error});return}this.phase="loading",this.publishPageViewerSnapshot("loading",0);let module,response;try{[module,response]=await Promise.all([this.loadRenderer(),fetchTarget.view.fetch(fetchTarget.url,signal?{signal}:void 0)])}catch(error){if(isAbortError(error)||!this.isConnected||generation!==this.generation)return;this.phase="error",this.errorMessage=this.localize(isResourceLimitError(error)?"documentPreviewResourceTooLarge":"documentPreviewFailedToLoad"),this.publishPageViewerSnapshot("error",0),this.emit("lr-render-error",{error});return}if(!this.isConnected||generation!==this.generation)return;if(!module||!response.ok){response.body?.cancel().catch(()=>{});const error=new LyraUserFacingError(this.localize(module?"documentPreviewFailedToLoad":"pptxViewerMissingLibrary"));this.phase="error",this.errorMessage=error.message,this.publishPageViewerSnapshot("error",0),this.emit("lr-render-error",{error});return}let buffer;try{if(buffer=await readResponseArrayBuffer(response),!this.isConnected||generation!==this.generation)return;await assertPptxArchiveWithinLimits(buffer,{signal})}catch(error){if(isAbortError(error)||!this.isConnected||generation!==this.generation)return;this.phase="error",this.errorMessage=this.localize(isResourceLimitError(error)?"documentPreviewResourceTooLarge":"documentPreviewFailedToLoad"),this.publishPageViewerSnapshot("error",0),this.emit("lr-render-error",{error});return}if(!(!this.isConnected||generation!==this.generation)&&(this.phase="mounted",await this.updateComplete,!(!this.isConnected||generation!==this.generation||!this.containerEl)))try{const openedViewer=await module.PptxViewer.open(buffer,this.containerEl,{zipLimits:module.RECOMMENDED_ZIP_LIMITS,listOptions:{windowed:!0}});if(!this.isConnected||generation!==this.generation){openedViewer.destroy();return}const viewer=adaptPptxViewer(openedViewer);if(!viewer)throw openedViewer.destroy(),new TypeError("The PPTX renderer did not expose the required viewer capabilities.");this.viewer=viewer,this.viewerUnsubscribe=viewer.subscribe(this.onViewerEvent),this.slideCount=viewer.slideCount,this.isValidSlideIndex(viewer.currentSlideIndex)&&(this.currentSlideIndex=viewer.currentSlideIndex,this.page=viewer.currentSlideIndex+1),this.publishPageViewerSnapshot("ready",viewer.slideCount),this.emit("lr-load",{slideCount:viewer.slideCount})}catch(error){if(isAbortError(error)||!this.isConnected||generation!==this.generation)return;this.phase="error",this.errorMessage=this.localize("pptxViewerRenderError"),this.publishPageViewerSnapshot("error",0),this.emit("lr-render-error",{error})}}renderBody(){return this.phase==="loading"?renderViewerLoading(this.localize("loading")):this.phase==="error"?html`<div part="error">${this.errorMessage}</div>`:this.phase!=="mounted"?nothing:html`
|
|
2
2
|
<div part="nav" ?hidden=${this.slideCount<=1}>
|
|
3
3
|
${renderViewerPagerButton("previous",this.localize("pptxViewerPreviousSlide"),this.currentSlideIndex<=0,()=>this.goToSlide(this.currentSlideIndex-1))}
|
|
4
4
|
<span part="slide-count">${this.localize("pptxViewerSlideOf",void 0,{current:getNumberFormat(this.effectiveLocale).format(this.currentSlideIndex+1),total:getNumberFormat(this.effectiveLocale).format(this.slideCount)})}</span>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{html,nothing}from"lit";import{styleMap}from"lit/directives/style-map.js";function renderRegionHighlightLayer(highlights,activeHighlightId,interactive,label,activate){return highlights.length?html`<div part="highlight-layer">
|
|
1
|
+
import{html,nothing}from"lit";import{styleMap}from"lit/directives/style-map.js";import{getNumberFormat}from"../../internal/intl-cache.js";function renderRegionHighlightLayer(highlights,activeHighlightId,interactive,label,activate){return highlights.length?html`<div part="highlight-layer">
|
|
2
2
|
${highlights.map((highlight,index)=>html`
|
|
3
3
|
${interactive?html`<button
|
|
4
4
|
part="region-highlight-target"
|
|
@@ -18,4 +18,17 @@ import{html,nothing}from"lit";import{styleMap}from"lit/directives/style-map.js";
|
|
|
18
18
|
style=${styleMap({left:`${highlight.anchor.rect.x}%`,top:`${highlight.anchor.rect.y}%`,width:`${highlight.anchor.rect.width}%`,height:`${highlight.anchor.rect.height}%`})}
|
|
19
19
|
></div>
|
|
20
20
|
`)}
|
|
21
|
-
</div>`:nothing}
|
|
21
|
+
</div>`:nothing}function sameRegionRect(a,b){return a.page===b.page&&a.rect.x===b.rect.x&&a.rect.y===b.rect.y&&a.rect.width===b.rect.width&&a.rect.height===b.rect.height}function regionHighlightLabel(highlight,index,total,locale,localize){if(highlight.label)return localize("highlightWithLabel",{label:highlight.label});const numberFormat=getNumberFormat(locale);return localize("highlightOfTotal",{index:numberFormat.format(index+1),total:numberFormat.format(total)})}function moveHighlightActionFocus(root,rtl,e,index,total){const forward=e.key==="ArrowDown"||(rtl?e.key==="ArrowLeft":e.key==="ArrowRight"),backward=e.key==="ArrowUp"||(rtl?e.key==="ArrowRight":e.key==="ArrowLeft");let nextIndex;forward?nextIndex=Math.min(total-1,index+1):backward?nextIndex=Math.max(0,index-1):e.key==="Home"?nextIndex=0:e.key==="End"&&(nextIndex=total-1),!(nextIndex===void 0||nextIndex===index)&&(e.preventDefault(),root.querySelectorAll('[part="region-highlight-action"]')[nextIndex]?.focus())}function renderRegionHighlightActions(highlights,label,root,rtl,activate){return highlights.length<2?nothing:html`<div part="highlight-actions">
|
|
22
|
+
${highlights.map((highlight,index)=>{const name=label(highlight,index,highlights.length);return html`
|
|
23
|
+
<button
|
|
24
|
+
part="region-highlight-action"
|
|
25
|
+
type="button"
|
|
26
|
+
data-highlight-id=${highlight.id}
|
|
27
|
+
aria-label=${name}
|
|
28
|
+
@click=${()=>activate(highlight.id)}
|
|
29
|
+
@keydown=${e=>moveHighlightActionFocus(root,rtl,e,index,highlights.length)}
|
|
30
|
+
>
|
|
31
|
+
${highlight.label||name}
|
|
32
|
+
</button>
|
|
33
|
+
`})}
|
|
34
|
+
</div>`}export{regionHighlightLabel,renderRegionHighlightActions,renderRegionHighlightLayer,sameRegionRect};
|
|
@@ -68,7 +68,7 @@ name:string;
|
|
|
68
68
|
/** A CSS `max-height`; invalid values are ignored. */
|
|
69
69
|
maxHeight:string;
|
|
70
70
|
/** Anchor kinds this viewer resolves via `scrollToAnchor()`. */
|
|
71
|
-
readonly anchorKinds:readonly LyraAnchorKind[];private fetchState;private activeSheetIndex;private
|
|
71
|
+
readonly anchorKinds:readonly LyraAnchorKind[];private fetchState;private activeSheetIndex;private activeRowSheet;private generation;private loadLibrary;private readonly table;connectedCallback():void;disconnectedCallback():void;adoptedCallback():void;protected willUpdate(changed:PropertyValues):void;protected updated(changed:PropertyValues):void;private load;private renderCell;private renderRow;private readonly virtualListKeyFunction;private renderSheet;private renderLoaded;private onTabsChange;private jumpToCell;protected applyAnchor(anchor:LyraAnchor):Promise<boolean>;private scrollColumnIntoView;
|
|
72
72
|
/** Case-insensitive substring search over every sheet's raw-grid cells (the same stringification
|
|
73
73
|
* `cell()` renders), ordered sheet then row then column -- each sheet's header row is included,
|
|
74
74
|
* the same raw-grid convention `cell-range` anchors use. An empty/whitespace-only query behaves
|
|
@@ -83,4 +83,4 @@ searchNext():Promise<boolean>;
|
|
|
83
83
|
searchPrevious():Promise<boolean>;
|
|
84
84
|
/** Clears the query, matches, and active index, and resets `lr-search-change` to a
|
|
85
85
|
* 0-match/no-active-index state. */
|
|
86
|
-
clearSearch():void;private
|
|
86
|
+
clearSearch():void;private stopInternalEvent;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-spreadsheet-viewer':LyraSpreadsheetViewer;}}export{};
|
|
@@ -1,18 +1,4 @@
|
|
|
1
|
-
import{__decorate}from"tslib";import{html,nothing}from"lit";import{property,state}from"lit/decorators.js";import{guard}from"lit/directives/guard.js";import{styleMap}from"lit/directives/style-map.js";import{LyraElement}from"../../../internal/lyra-element.js";import{tag}from"../../../internal/prefix.js";import{srOnly}from"../../../internal/a11y.js";import{assertTableDimensions,DEFAULT_MAX_TABLE_ROWS,isAbortError,isResourceLimitError,LyraResourceLimitError,LyraUserFacingError,readResponseArrayBuffer,resolveOwnerFetchTarget}from"../../../internal/resource-loader.js";import{sanitizeCssLength}from"../../../internal/safe-css.js";import{prefersReducedMotion}from"../../../internal/motion.js";import{TableViewerScrollController,tableHighlightsForColumn,tableHighlightsForRow}from"../table-viewer-shared.js";import{advanceViewerSearchIndex,viewerSearchDetail}from"../../../internal/viewer-search.js";import{DocumentAnchorTarget,prioritizedHighlightCandidates}from"../../../internal/anchor-target.js";import{DeferredTeardown}from"../document-viewer/deferred-teardown.js";import{parseCellRange}from"../../../internal/cell-range.js";import{loadSheetJsCached}from"./spreadsheet-loader.js";import{styles}from"./spreadsheet-viewer.styles.js";import{assertXlsxArchiveWithinLimits}from"./xlsx-resource-guard.js";import{getDateTimeFormat,getNumberFormat}from"../../../internal/intl-cache.js";import{ViewerAnnouncementController}from"../viewer-announcements.js";import{viewerSemanticLabel,viewerSemanticRole}from"../viewer-semantic-owner.js";import{renderViewerLoading,viewerLoadingStyles}from"../viewer-loading.js";import{boundedViewerSearchQuery,ViewerSearchWorkBudget}from"../viewer-search-limits.js";import{LYRA_DEFAULT_anchorJumped,LYRA_DEFAULT_anchorJumpedToPage,LYRA_DEFAULT_anchorNotFound,LYRA_DEFAULT_cellHighlightWithLabel,LYRA_DEFAULT_documentPreviewEmpty,LYRA_DEFAULT_documentPreviewFailedToLoad,LYRA_DEFAULT_documentPreviewResourceTooLarge,LYRA_DEFAULT_documentPreviewTypeDocument,LYRA_DEFAULT_documentPreviewUrlNotAllowed,LYRA_DEFAULT_highlightWithLabel,LYRA_DEFAULT_loadingDocument,LYRA_DEFAULT_noData,LYRA_DEFAULT_spreadsheetViewerLabel,LYRA_DEFAULT_spreadsheetViewerUnavailable,LYRA_DEFAULT_viewerSearchActiveMatch,LYRA_DEFAULT_viewerSearchMatchCount,LYRA_DEFAULT_viewerSearchNoMatches}from"../../../internal/default-strings.generated.js";const MAX_SPREADSHEET_SHEETS=256,MAX_SPREADSHEET_CELLS=1e6,MAX_SEARCH_MATCHES=1e3;function cell(value,locale){if(value==null)return"";if(value instanceof Date){const dated=value.getUTCFullYear()>=1900,seconds=value.getUTCSeconds()>0,timed=!dated||seconds||value.getUTCHours()+value.getUTCMinutes()>0;return getDateTimeFormat(locale,{timeZone:"UTC",dateStyle:dated?"medium":void 0,timeStyle:timed?seconds?"medium":"short":void 0}).format(value)}return typeof value=="number"?getNumberFormat(locale,{useGrouping:!1}).format(value):String(value)}class LyraSpreadsheetViewerBase extends LyraElement{}class LyraSpreadsheetViewer extends DocumentAnchorTarget(LyraSpreadsheetViewerBase){constructor(){super(...arguments),this.src="",this.name="",this.maxHeight="",this.anchorKinds=["cell-range"],this.fetchState={kind:"idle"},this.activeSheetIndex=0,this.activeRowKey="",this.activeRowSheet=0,this.cellHighlights=[],this.searchMatches=[],this.searchMatchCountExact=!0,this.searchActiveIndex=-1,this.searchQuery="",this.lastSearchLocale="",this.pendingSearchResetEvent=!1,this.generation=0,this.loadLibrary=loadSheetJsCached,this.lastLoadSrc="",this.announcements=new ViewerAnnouncementController(this),this.tableScroll=new TableViewerScrollController(this),this.detached=new DeferredTeardown(()=>{this.generation++,this.tableScroll.cancel(),this.fetchState={kind:"idle"},this.activeRowKey="",this.activeSheetIndex=0}),this.virtualListKeyFunction=(_item,bodyIndex)=>bodyIndex,this.onTabsChange=e=>{e.stopPropagation();const match=/^sheet-(\d+)$/.exec(e.detail.name);match&&(this.activeSheetIndex=Number(match[1]))},this.stopInternalEvent=event=>{event.stopPropagation()}}static{this.defaultStrings={...super.defaultStrings,anchorJumped:LYRA_DEFAULT_anchorJumped,anchorJumpedToPage:LYRA_DEFAULT_anchorJumpedToPage,anchorNotFound:LYRA_DEFAULT_anchorNotFound,cellHighlightWithLabel:LYRA_DEFAULT_cellHighlightWithLabel,documentPreviewEmpty:LYRA_DEFAULT_documentPreviewEmpty,documentPreviewFailedToLoad:LYRA_DEFAULT_documentPreviewFailedToLoad,documentPreviewResourceTooLarge:LYRA_DEFAULT_documentPreviewResourceTooLarge,documentPreviewTypeDocument:LYRA_DEFAULT_documentPreviewTypeDocument,documentPreviewUrlNotAllowed:LYRA_DEFAULT_documentPreviewUrlNotAllowed,highlightWithLabel:LYRA_DEFAULT_highlightWithLabel,loadingDocument:LYRA_DEFAULT_loadingDocument,noData:LYRA_DEFAULT_noData,spreadsheetViewerLabel:LYRA_DEFAULT_spreadsheetViewerLabel,spreadsheetViewerUnavailable:LYRA_DEFAULT_spreadsheetViewerUnavailable,viewerSearchActiveMatch:LYRA_DEFAULT_viewerSearchActiveMatch,viewerSearchMatchCount:LYRA_DEFAULT_viewerSearchMatchCount,viewerSearchNoMatches:LYRA_DEFAULT_viewerSearchNoMatches}}static{this.styles=[LyraElement.styles,styles,viewerLoadingStyles,srOnly]}connectedCallback(){super.connectedCallback(),this.announcements.connect(),!this.detached.cancel()&&this.hasUpdated&&this.src&&this.src===this.lastLoadSrc&&this.scheduleAfterUpdate(()=>{this.load()})}disconnectedCallback(){this.announcements.disconnect(),super.disconnectedCallback(),this.detached.schedule()}adoptedCallback(){super.adoptedCallback(),this.detached.flush(),this.tableScroll.cancel(),this.announcements.adopted()}willUpdate(changed){super.willUpdate(changed),changed.has("src")&&(this.pendingSearchResetEvent||=this.searchQuery!==""||this.searchMatches.length>0||!this.searchMatchCountExact||this.searchActiveIndex!==-1,this.searchQuery="",this.searchMatches=[],this.searchMatchCountExact=!0,this.searchActiveIndex=-1,this.activeRowKey="",this.activeSheetIndex=0),(changed.has("highlights")||changed.has("activeHighlightId"))&&(this.cellHighlights=prioritizedHighlightCandidates(this.highlights,this.activeHighlightId).flatMap(highlight=>{if(highlight.anchor.kind!=="cell-range")return[];const parsed=parseCellRange(highlight.anchor.range);return parsed?[{highlight,parsed,sheet:highlight.anchor.sheet??parsed.sheet}]:[]}))}updated(changed){super.updated(changed),this.announcements.transition("load",this.fetchState.kind,this.fetchState.kind==="error"?this.fetchState.message:this.localize("loadingDocument")),changed.has("src")&&this.scheduleAfterUpdate(()=>{this.load()}),changed.has("src")&&this.pendingSearchResetEvent&&(this.pendingSearchResetEvent=!1,this.emitSearchChange());const locale=this.effectiveLocale;if(locale!==this.lastSearchLocale){const shouldRecompute=!!this.searchQuery;this.lastSearchLocale=locale,shouldRecompute&&this.scheduleAfterUpdate(()=>{this.search(this.searchQuery)},"search")}}async load(){this.lastLoadSrc=this.src;const generation=++this.generation,signal=this.beginAbortableLoad();if(!this.src){this.fetchState={kind:"idle"};return}const fetchTarget=resolveOwnerFetchTarget(this,this.src);if(!fetchTarget){const error=new LyraUserFacingError(this.localize("documentPreviewUrlNotAllowed"));this.fetchState={kind:"error",message:error.message},this.emit("lr-render-error",{error});return}this.fetchState={kind:"loading"};try{const response=await fetchTarget.view.fetch(fetchTarget.url,signal?{signal}:void 0);if(!this.isConnected||generation!==this.generation)return;if(!response.ok)throw new Error(`${response.status} ${response.statusText}`);const library=await this.loadLibrary();if(!this.isConnected||generation!==this.generation)return;if(!library){const error=new LyraUserFacingError(this.localize("spreadsheetViewerUnavailable"));this.fetchState={kind:"error",message:error.message},this.emit("lr-render-error",{error});return}const source=await readResponseArrayBuffer(response);if(!this.isConnected||generation!==this.generation||(await assertXlsxArchiveWithinLimits(source,void 0,void 0,{signal}),!this.isConnected||generation!==this.generation))return;const workbook=library.read(source,{type:"array",cellDates:!0,cellNF:!0,sheetRows:DEFAULT_MAX_TABLE_ROWS+1});if(!this.isConnected||generation!==this.generation)return;const sheetNames=workbook.SheetNames;if(!Array.isArray(sheetNames)||!sheetNames.every(name=>typeof name=="string"))throw new Error("The xlsx peer returned a malformed workbook.");if(sheetNames.length>MAX_SPREADSHEET_SHEETS)throw new LyraResourceLimitError("The spreadsheet contains too many sheets.");const sheets=[];let totalCells=0;for(const name of sheetNames){const sheet=workbook.Sheets[name]??{},range=parseCellRange(String(sheet["!ref"]??"A1"));if(!range)throw new Error("The xlsx peer returned a malformed workbook.");const rowCount=range.endRow-range.startRow+1,columnCount=range.endCol-range.startCol+1;if(assertTableDimensions(rowCount,columnCount),totalCells+=rowCount*columnCount,totalCells>MAX_SPREADSHEET_CELLS)throw new LyraResourceLimitError("The spreadsheet contains too many expanded cells.");for(const value of Object.values(sheet)){const formatted=value;formatted.t==="n"&&formatted.z!==void 0&&formatted.z!=="General"&&typeof formatted.w=="string"&&(formatted.t="s",formatted.v=formatted.w)}const rows=library.utils.sheet_to_json(sheet,{header:1,UTC:!0});sheets.push({name,rows,body:rows.slice(1),columns:rows.reduce((max,row)=>Math.max(max,row.length),0)})}this.isConnected&&generation===this.generation&&(this.fetchState={kind:"loaded",sheets},this.searchQuery&&await this.search(this.searchQuery))}catch(error){if(isAbortError(error)||!this.isConnected||generation!==this.generation)return;this.fetchState={kind:"error",message:this.localize(isResourceLimitError(error)?"documentPreviewResourceTooLarge":"documentPreviewFailedToLoad")},this.emit("lr-render-error",{error})}}cellHighlightsForRow(rawRow,currentSheetName){return tableHighlightsForRow(this.cellHighlights,rawRow,currentSheetName)}renderCell(value,colIndex,rowHighlights,role){const text=cell(value,this.effectiveLocale),colHighlights=tableHighlightsForColumn(rowHighlights,colIndex);if(!colHighlights.length)return html`<div part="cell" role=${role}>${text}</div>`;const active=colHighlights.find(entry=>entry.highlight.id===this.activeHighlightId),primary=active??colHighlights[0],accessibleLabel=primary.highlight.label?this.localize("cellHighlightWithLabel",void 0,{value:text,label:primary.highlight.label}):this.localize("highlightWithLabel",void 0,{label:text});return html`<div
|
|
2
|
-
part="cell cell-highlight"
|
|
3
|
-
role=${role}
|
|
4
|
-
?data-active=${!!active}
|
|
5
|
-
style=${active?"--_lr-spreadsheet-viewer-highlight-color: var(--lr-color-warning, var(--lr-color-brand))":""}
|
|
6
|
-
>
|
|
7
|
-
<button
|
|
8
|
-
part="cell-highlight-action"
|
|
9
|
-
type="button"
|
|
10
|
-
aria-label=${accessibleLabel}
|
|
11
|
-
@click=${()=>{this.emit("lr-highlight-activate",{highlightId:primary.highlight.id})}}
|
|
12
|
-
>
|
|
13
|
-
${text}
|
|
14
|
-
</button>
|
|
15
|
-
</div>`}renderRow(row,count,part,rawRow,sheetName){const rowHighlights=this.cellHighlightsForRow(rawRow,sheetName),header=part==="header-row";return html`<div
|
|
1
|
+
import{__decorate}from"tslib";import{html,nothing}from"lit";import{property,state}from"lit/decorators.js";import{guard}from"lit/directives/guard.js";import{styleMap}from"lit/directives/style-map.js";import{LyraElement}from"../../../internal/lyra-element.js";import{tag}from"../../../internal/prefix.js";import{srOnly}from"../../../internal/a11y.js";import{assertTableDimensions,DEFAULT_MAX_TABLE_ROWS,isAbortError,isResourceLimitError,LyraResourceLimitError,LyraUserFacingError,readResponseArrayBuffer,resolveOwnerFetchTarget}from"../../../internal/resource-loader.js";import{sanitizeCssLength}from"../../../internal/safe-css.js";import{TableViewerController}from"../table-viewer-shared.js";import{delimitedColumnCount}from"../../../internal/delimited-data.js";import{DocumentAnchorTarget}from"../../../internal/anchor-target.js";import{parseCellRange}from"../../../internal/cell-range.js";import{loadSheetJsCached}from"./spreadsheet-loader.js";import{styles}from"./spreadsheet-viewer.styles.js";import{assertXlsxArchiveWithinLimits}from"./xlsx-resource-guard.js";import{getDateTimeFormat,getNumberFormat}from"../../../internal/intl-cache.js";import{viewerSemanticLabel,viewerSemanticRole}from"../viewer-semantic-owner.js";import{renderViewerLoading,viewerLoadingStyles}from"../viewer-loading.js";import{LYRA_DEFAULT_anchorJumped,LYRA_DEFAULT_anchorJumpedToPage,LYRA_DEFAULT_anchorNotFound,LYRA_DEFAULT_cellHighlightWithLabel,LYRA_DEFAULT_collapse,LYRA_DEFAULT_copy,LYRA_DEFAULT_details,LYRA_DEFAULT_documentPreviewEmpty,LYRA_DEFAULT_documentPreviewFailedToLoad,LYRA_DEFAULT_documentPreviewResourceTooLarge,LYRA_DEFAULT_documentPreviewTypeDocument,LYRA_DEFAULT_documentPreviewUrlNotAllowed,LYRA_DEFAULT_highlightWithLabel,LYRA_DEFAULT_loading,LYRA_DEFAULT_loadingDocument,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_noData,LYRA_DEFAULT_open,LYRA_DEFAULT_search,LYRA_DEFAULT_select,LYRA_DEFAULT_spreadsheetViewerLabel,LYRA_DEFAULT_spreadsheetViewerUnavailable,LYRA_DEFAULT_viewerSearchActiveMatch,LYRA_DEFAULT_viewerSearchMatchCount,LYRA_DEFAULT_viewerSearchNoMatches}from"../../../internal/default-strings.generated.js";const MAX_SPREADSHEET_SHEETS=256,MAX_SPREADSHEET_CELLS=1e6;function cell(value,locale){if(value==null)return"";if(value instanceof Date){const dated=value.getUTCFullYear()>=1900,seconds=value.getUTCSeconds()>0,timed=!dated||seconds||value.getUTCHours()+value.getUTCMinutes()>0;return getDateTimeFormat(locale,{timeZone:"UTC",dateStyle:dated?"medium":void 0,timeStyle:timed?seconds?"medium":"short":void 0}).format(value)}return typeof value=="number"?getNumberFormat(locale,{useGrouping:!1}).format(value):String(value)}class LyraSpreadsheetViewerBase extends LyraElement{}class LyraSpreadsheetViewer extends DocumentAnchorTarget(LyraSpreadsheetViewerBase){constructor(){super(...arguments),this.src="",this.name="",this.maxHeight="",this.anchorKinds=["cell-range"],this.fetchState={kind:"idle"},this.activeSheetIndex=0,this.activeRowSheet=0,this.generation=0,this.loadLibrary=loadSheetJsCached,this.table=new TableViewerController(this,{emitSearch:detail=>this.emit("lr-search-change",detail),emitActivate:highlightId=>this.emit("lr-highlight-activate",{highlightId}),localize:(key,fallback,values)=>this.localize(key,fallback,values),locale:()=>this.effectiveLocale,schedule:(callback,key)=>this.scheduleAfterUpdate(callback,key),load:()=>this.load(),research:query=>this.search(query),jump:match=>this.jumpToCell(match.sheetIndex,match.row,match.col),teardown:()=>{this.generation++,this.fetchState={kind:"idle"},this.table.activeRowKey="",this.activeSheetIndex=0}}),this.virtualListKeyFunction=(_item,bodyIndex)=>bodyIndex,this.onTabsChange=e=>{e.stopPropagation();const match=/^sheet-(\d+)$/.exec(e.detail.name);match&&(this.activeSheetIndex=Number(match[1]))},this.stopInternalEvent=event=>{event.stopPropagation()}}static{this.defaultStrings={...super.defaultStrings,anchorJumped:LYRA_DEFAULT_anchorJumped,anchorJumpedToPage:LYRA_DEFAULT_anchorJumpedToPage,anchorNotFound:LYRA_DEFAULT_anchorNotFound,cellHighlightWithLabel:LYRA_DEFAULT_cellHighlightWithLabel,collapse:LYRA_DEFAULT_collapse,copy:LYRA_DEFAULT_copy,details:LYRA_DEFAULT_details,documentPreviewEmpty:LYRA_DEFAULT_documentPreviewEmpty,documentPreviewFailedToLoad:LYRA_DEFAULT_documentPreviewFailedToLoad,documentPreviewResourceTooLarge:LYRA_DEFAULT_documentPreviewResourceTooLarge,documentPreviewTypeDocument:LYRA_DEFAULT_documentPreviewTypeDocument,documentPreviewUrlNotAllowed:LYRA_DEFAULT_documentPreviewUrlNotAllowed,highlightWithLabel:LYRA_DEFAULT_highlightWithLabel,loading:LYRA_DEFAULT_loading,loadingDocument:LYRA_DEFAULT_loadingDocument,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,noData:LYRA_DEFAULT_noData,open:LYRA_DEFAULT_open,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select,spreadsheetViewerLabel:LYRA_DEFAULT_spreadsheetViewerLabel,spreadsheetViewerUnavailable:LYRA_DEFAULT_spreadsheetViewerUnavailable,viewerSearchActiveMatch:LYRA_DEFAULT_viewerSearchActiveMatch,viewerSearchMatchCount:LYRA_DEFAULT_viewerSearchMatchCount,viewerSearchNoMatches:LYRA_DEFAULT_viewerSearchNoMatches}}static{this.styles=[LyraElement.styles,styles,viewerLoadingStyles,srOnly]}connectedCallback(){super.connectedCallback(),this.table.connected()}disconnectedCallback(){this.table.disconnecting(),super.disconnectedCallback(),this.table.disconnected()}adoptedCallback(){super.adoptedCallback(),this.table.adopted()}willUpdate(changed){super.willUpdate(changed),this.table.willUpdate(changed,this.highlights,this.activeHighlightId,!0),changed.has("src")&&(this.activeSheetIndex=0)}updated(changed){super.updated(changed),this.table.updated(changed,this.fetchState)}async load(){this.table.lastLoadSrc=this.src;const generation=++this.generation,signal=this.beginAbortableLoad();if(!this.src){this.fetchState={kind:"idle"};return}const fetchTarget=resolveOwnerFetchTarget(this,this.src);if(!fetchTarget){const error=new LyraUserFacingError(this.localize("documentPreviewUrlNotAllowed"));this.fetchState={kind:"error",message:error.message},this.emit("lr-render-error",{error});return}this.fetchState={kind:"loading"};try{const response=await fetchTarget.view.fetch(fetchTarget.url,signal?{signal}:void 0);if(!this.isConnected||generation!==this.generation)return;if(!response.ok)throw new Error(`${response.status} ${response.statusText}`);const library=await this.loadLibrary();if(!this.isConnected||generation!==this.generation)return;if(!library){const error=new LyraUserFacingError(this.localize("spreadsheetViewerUnavailable"));this.fetchState={kind:"error",message:error.message},this.emit("lr-render-error",{error});return}const source=await readResponseArrayBuffer(response);if(!this.isConnected||generation!==this.generation||(await assertXlsxArchiveWithinLimits(source,void 0,void 0,{signal}),!this.isConnected||generation!==this.generation))return;const workbook=library.read(source,{type:"array",cellDates:!0,cellNF:!0,sheetRows:DEFAULT_MAX_TABLE_ROWS+1});if(!this.isConnected||generation!==this.generation)return;const sheetNames=workbook.SheetNames;if(!Array.isArray(sheetNames)||!sheetNames.every(name=>typeof name=="string"))throw new Error("The xlsx peer returned a malformed workbook.");if(sheetNames.length>MAX_SPREADSHEET_SHEETS)throw new LyraResourceLimitError("The spreadsheet contains too many sheets.");const sheets=[];let totalCells=0;for(const name of sheetNames){const sheet=workbook.Sheets[name]??{},range=parseCellRange(String(sheet["!ref"]??"A1"));if(!range)throw new Error("The xlsx peer returned a malformed workbook.");const rowCount=range.endRow-range.startRow+1,columnCount=range.endCol-range.startCol+1;if(assertTableDimensions(rowCount,columnCount),totalCells+=rowCount*columnCount,totalCells>MAX_SPREADSHEET_CELLS)throw new LyraResourceLimitError("The spreadsheet contains too many expanded cells.");for(const value of Object.values(sheet)){const formatted=value;formatted.t==="n"&&formatted.z!==void 0&&formatted.z!=="General"&&typeof formatted.w=="string"&&(formatted.t="s",formatted.v=formatted.w)}const rows=library.utils.sheet_to_json(sheet,{header:1,UTC:!0});sheets.push({name,rows,body:rows.slice(1),columns:delimitedColumnCount(rows)})}this.isConnected&&generation===this.generation&&(this.fetchState={kind:"loaded",sheets},this.table.search.query&&await this.search(this.table.search.query))}catch(error){if(isAbortError(error)||!this.isConnected||generation!==this.generation)return;this.fetchState={kind:"error",message:this.localize(isResourceLimitError(error)?"documentPreviewResourceTooLarge":"documentPreviewFailedToLoad")},this.emit("lr-render-error",{error})}}renderCell(value,colIndex,rowHighlights,role){return this.table.renderCell(cell(value,this.effectiveLocale),colIndex,rowHighlights,role,"cell","--_lr-spreadsheet-viewer-highlight-color",this.activeHighlightId)}renderRow(row,count,part,rawRow,sheetName){const rowHighlights=this.table.highlightsForRow(rawRow,sheetName),header=part==="header-row";return html`<div
|
|
16
2
|
part=${part}
|
|
17
3
|
role=${header?"row":"presentation"}
|
|
18
4
|
aria-rowindex=${header?"1":nothing}
|
|
@@ -33,7 +19,7 @@ import{__decorate}from"tslib";import{html,nothing}from"lit";import{property,stat
|
|
|
33
19
|
.items=${guard([sheet.body],()=>sheet.body)}
|
|
34
20
|
.renderItem=${(row,bodyIndex)=>this.renderRow(row,count,"data-row",bodyIndex+2,sheet.name)}
|
|
35
21
|
.keyFunction=${this.virtualListKeyFunction}
|
|
36
|
-
.activeItemId=${index===this.activeRowSheet?this.activeRowKey:""}
|
|
22
|
+
.activeItemId=${index===this.activeRowSheet?this.table.activeRowKey:""}
|
|
37
23
|
item-role="row"
|
|
38
24
|
row-index-offset="1"
|
|
39
25
|
@lr-load-more=${this.stopInternalEvent}
|
|
@@ -49,7 +35,7 @@ import{__decorate}from"tslib";import{html,nothing}from"lit";import{property,stat
|
|
|
49
35
|
>${sheets.map((sheet,index)=>html`<lr-tab panel=${`sheet-${index}`}>${sheet.name}</lr-tab>`)}${sheets.map((sheet,index)=>html`<lr-tab-panel name=${`sheet-${index}`}
|
|
50
36
|
>${index===this.activeSheetIndex?this.renderSheet(sheet,index):nothing}</lr-tab-panel
|
|
51
37
|
>`)}</lr-tab-group
|
|
52
|
-
>`:html`<p class="empty-note">${this.localize("noData")}</p>`}async jumpToCell(sheetIndex,rawRow,col){const loadedState=this.fetchState;if(loadedState.kind!=="loaded")return!1;const{sheets}=loadedState;if(sheetIndex<0||sheetIndex>=sheets.length)return!1;const sheet=sheets[sheetIndex];if(rawRow<1||rawRow>sheet.rows.length||col<0||col>=sheet.columns)return!1;const bodyIndex=rawRow-2;
|
|
38
|
+
>`:html`<p class="empty-note">${this.localize("noData")}</p>`}async jumpToCell(sheetIndex,rawRow,col){const loadedState=this.fetchState;if(loadedState.kind!=="loaded")return!1;const{sheets}=loadedState;if(sheetIndex<0||sheetIndex>=sheets.length)return!1;const sheet=sheets[sheetIndex];if(rawRow<1||rawRow>sheet.rows.length||col<0||col>=sheet.columns)return!1;const bodyIndex=rawRow-2;return this.activeSheetIndex=sheetIndex,await this.updateComplete,bodyIndex<0?this.table.revealCell(this.renderRoot.querySelector(`[part="sheet"][data-sheet-index="${sheetIndex}"] [part="header-row"]`)?.querySelectorAll('[part~="cell"]')[col]):(this.activeRowSheet=sheetIndex,this.table.setActiveRow(bodyIndex),await this.updateComplete,await this.scrollColumnIntoView(sheetIndex,col),this.fetchState===loadedState)}async applyAnchor(anchor){if(anchor.kind!=="cell-range"||this.fetchState.kind!=="loaded")return!1;const parsed=parseCellRange(anchor.range);if(!parsed)return!1;const sheetName=anchor.sheet??parsed.sheet,sheetIndex=sheetName?this.fetchState.sheets.findIndex(s=>s.name===sheetName):this.activeSheetIndex;return sheetIndex<0?!1:this.jumpToCell(sheetIndex,parsed.startRow+1,parsed.startCol)}async scrollColumnIntoView(sheetIndex,col){await this.table.scrollColumnIntoView(this.renderRoot,`${tag("virtual-list")}[data-sheet-index="${sheetIndex}"]`,col)}async search(query){return this.table.runSearch(query,this.fetchState.kind==="loaded",visit=>{if(this.fetchState.kind!=="loaded")return;const{sheets}=this.fetchState;for(let sheetIndex=0;sheetIndex<sheets.length;sheetIndex++){const sheet=sheets[sheetIndex];for(let r=0;r<sheet.rows.length;r++){const row=sheet.rows[r];for(let c=0;c<row.length;c++)if(!visit(cell(row[c],this.effectiveLocale),{sheetIndex,row:r+1,col:c}))return}}})}async searchNext(){return this.table.step(1)}async searchPrevious(){return this.table.step(-1)}clearSearch(){this.table.clearSearch()}render(){const body=this.fetchState.kind==="loaded"?this.renderLoaded(this.fetchState.sheets):this.fetchState.kind==="loading"?renderViewerLoading(this.localize("loadingDocument")):this.fetchState.kind==="error"?html`<div part="error">${this.fetchState.message}</div>`:html`<p class="empty-note">${this.localize("documentPreviewEmpty",void 0,{type:this.localize("documentPreviewTypeDocument")})}</p>`,maxHeight=sanitizeCssLength(this.maxHeight);return html`<div
|
|
53
39
|
part="base"
|
|
54
40
|
role=${viewerSemanticRole(this,"region")??nothing}
|
|
55
41
|
style=${maxHeight?styleMap({"--lr-spreadsheet-viewer-max-height":maxHeight}):nothing}
|
|
@@ -58,4 +44,4 @@ import{__decorate}from"tslib";import{html,nothing}from"lit";import{property,stat
|
|
|
58
44
|
>
|
|
59
45
|
<div part="body">${body}</div>
|
|
60
46
|
${this.renderAnchorLiveRegion()}
|
|
61
|
-
</div>`}}__decorate([property()],LyraSpreadsheetViewer.prototype,"src",void 0),__decorate([property()],LyraSpreadsheetViewer.prototype,"name",void 0),__decorate([property({attribute:"max-height"})],LyraSpreadsheetViewer.prototype,"maxHeight",void 0),__decorate([state()],LyraSpreadsheetViewer.prototype,"fetchState",void 0),__decorate([state()],LyraSpreadsheetViewer.prototype,"activeSheetIndex",void 0),__decorate([state()],LyraSpreadsheetViewer.prototype,"
|
|
47
|
+
</div>`}}__decorate([property()],LyraSpreadsheetViewer.prototype,"src",void 0),__decorate([property()],LyraSpreadsheetViewer.prototype,"name",void 0),__decorate([property({attribute:"max-height"})],LyraSpreadsheetViewer.prototype,"maxHeight",void 0),__decorate([state()],LyraSpreadsheetViewer.prototype,"fetchState",void 0),__decorate([state()],LyraSpreadsheetViewer.prototype,"activeSheetIndex",void 0),__decorate([state()],LyraSpreadsheetViewer.prototype,"activeRowSheet",void 0);export{LyraSpreadsheetViewer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{delimitedGridStyles,tableCellHighlightStyles}from"../table-viewer-shared.styles.js";import{css}from"lit";const styles=css` :host { display: block; min-inline-size: 0; } ${delimitedGridStyles(css`var(--lr-spreadsheet-viewer-max-height, none)`)} [part='header-row'] { position: sticky; inset-block-start: 0; z-index: var(--lr-layer-content); } ${tableCellHighlightStyles({color:css`var(--lr-spreadsheet-viewer-highlight-color, var(--_lr-spreadsheet-viewer-highlight-color, var(--lr-color-brand)))`,padding:css`var(--lr-space-2xs) var(--lr-space-xs)`,outlineOffset:css`var(--lr-spreadsheet-viewer-highlight-outline-offset, calc(-1 * var(--lr-border-width-medium)))`,cellCursor:!1})} [part='rows'] { --lr-virtual-list-height: var(--lr-size-20rem); min-inline-size: max-content; } .empty-note, [part='error'] { margin: 0; padding: var(--lr-space-m); color: var(--lr-color-text-quiet); font-size: var(--lr-font-size-md-sm); } [part='error'] { color: var(--lr-color-danger); text-align: center; } `;export{styles};
|
|
@@ -65,7 +65,7 @@ maxHeight:string;
|
|
|
65
65
|
zoomable:boolean;
|
|
66
66
|
/** Anchor kinds this viewer resolves via `scrollToAnchor()`. `highlights`/`activeHighlightId`/
|
|
67
67
|
* `anchor` are inherited from `DocumentAnchorTarget` -- display-only, no creation UI here. */
|
|
68
|
-
readonly anchorKinds:readonly LyraAnchorKind[];private fetchState;private generation;private readonly announcements;connectedCallback():void;private readonly detached;disconnectedCallback():void;adoptedCallback():void;protected updated(changed:PropertyValues):void;private load;private renderBody;private stopPanZoomEvent;private renderZoomableWrapper;private regionHighlights;private highlightActionLabel;private renderHighlightLayer;private renderHighlightActions;
|
|
68
|
+
readonly anchorKinds:readonly LyraAnchorKind[];private fetchState;private generation;private readonly announcements;connectedCallback():void;private readonly detached;disconnectedCallback():void;adoptedCallback():void;protected updated(changed:PropertyValues):void;private load;private renderBody;private stopPanZoomEvent;private renderZoomableWrapper;private regionHighlights;private highlightActionLabel;private renderHighlightLayer;private renderHighlightActions;
|
|
69
69
|
/** Per-viewer hook for `DocumentAnchorTarget`: resolves a `region` anchor back to its owning
|
|
70
70
|
* `highlights` entry (matched by reference first, so `scrollToAnchor(highlight.anchor)`
|
|
71
71
|
* resolves directly, then by structural equality of `rect`/`page` so an equivalent
|
|
@@ -1,22 +1,9 @@
|
|
|
1
|
-
import{__decorate}from"tslib";import{html,nothing}from"lit";import{property,state}from"lit/decorators.js";import{unsafeSVG}from"lit/directives/unsafe-svg.js";import{styleMap}from"lit/directives/style-map.js";import{LyraElement}from"../../../internal/lyra-element.js";import{srOnly}from"../../../internal/a11y.js";import{DocumentAnchorTarget,prioritizedHighlightCandidates}from"../../../internal/anchor-target.js";import{isAbortError,isResourceLimitError,
|
|
1
|
+
import{__decorate}from"tslib";import{html,nothing}from"lit";import{property,state}from"lit/decorators.js";import{unsafeSVG}from"lit/directives/unsafe-svg.js";import{styleMap}from"lit/directives/style-map.js";import{LyraElement}from"../../../internal/lyra-element.js";import{srOnly}from"../../../internal/a11y.js";import{DocumentAnchorTarget,prioritizedHighlightCandidates}from"../../../internal/anchor-target.js";import{isAbortError,isResourceLimitError,LyraUserFacingError,readResponseText,resolveOwnerFetchTarget}from"../../../internal/resource-loader.js";import{prefersReducedMotion}from"../../../internal/motion.js";import{loadSvgSanitizer}from"./dompurify-loader.js";import{styles}from"./svg-viewer.styles.js";import{sanitizeCssLength,sanitizePercentRect}from"../../../internal/safe-css.js";import{ViewerAnnouncementController}from"../viewer-announcements.js";import{viewerSemanticLabel,viewerSemanticRole}from"../viewer-semantic-owner.js";import{renderViewerLoading,viewerLoadingStyles}from"../viewer-loading.js";import{viewerFrameStyles}from"../viewer-frame.js";import{regionHighlightLabel,renderRegionHighlightActions,renderRegionHighlightLayer,sameRegionRect}from"../region-highlight-layer.js";import{sanitizePassiveMarkup}from"../passive-markup.js";import{DeferredTeardown}from"../document-viewer/deferred-teardown.js";import{LYRA_DEFAULT_anchorJumped,LYRA_DEFAULT_anchorJumpedToPage,LYRA_DEFAULT_anchorNotFound,LYRA_DEFAULT_collapse,LYRA_DEFAULT_copy,LYRA_DEFAULT_details,LYRA_DEFAULT_documentPreviewEmpty,LYRA_DEFAULT_documentPreviewFailedToLoad,LYRA_DEFAULT_documentPreviewResourceTooLarge,LYRA_DEFAULT_documentPreviewTypeImage,LYRA_DEFAULT_documentPreviewUrlNotAllowed,LYRA_DEFAULT_documentViewerMissingSanitizer,LYRA_DEFAULT_download,LYRA_DEFAULT_highlightOfTotal,LYRA_DEFAULT_highlightWithLabel,LYRA_DEFAULT_loading,LYRA_DEFAULT_loadingDocument,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_open,LYRA_DEFAULT_popover,LYRA_DEFAULT_search,LYRA_DEFAULT_select,LYRA_DEFAULT_svgViewerLabel}from"../../../internal/default-strings.generated.js";function sameRegionAnchor(a,b){return a.kind==="region"&&b.kind==="region"&&sameRegionRect(a,b)}function sanitizeInlineSvg(sanitizer,raw,ownerDocument){const markup=sanitizePassiveMarkup(sanitizer,raw,ownerDocument,"passive-svg"),template=ownerDocument.createElement("template");if(template.innerHTML=markup,!template.content.querySelector("svg"))throw new Error("SVG sanitizer did not return an SVG document.");return markup}const MAX_PAINTED_HIGHLIGHTS=100;class LyraSvgViewerBase extends LyraElement{}class LyraSvgViewer extends DocumentAnchorTarget(LyraSvgViewerBase){constructor(){super(...arguments),this.src="",this.name="",this.maxHeight="",this.zoomable=!1,this.anchorKinds=["region"],this.fetchState={kind:"idle"},this.generation=0,this.announcements=new ViewerAnnouncementController(this),this.detached=new DeferredTeardown(()=>{this.generation++,this.beginAbortableLoad(),this.fetchState={kind:"idle"}})}static{this.defaultStrings={...super.defaultStrings,anchorJumped:LYRA_DEFAULT_anchorJumped,anchorJumpedToPage:LYRA_DEFAULT_anchorJumpedToPage,anchorNotFound:LYRA_DEFAULT_anchorNotFound,collapse:LYRA_DEFAULT_collapse,copy:LYRA_DEFAULT_copy,details:LYRA_DEFAULT_details,documentPreviewEmpty:LYRA_DEFAULT_documentPreviewEmpty,documentPreviewFailedToLoad:LYRA_DEFAULT_documentPreviewFailedToLoad,documentPreviewResourceTooLarge:LYRA_DEFAULT_documentPreviewResourceTooLarge,documentPreviewTypeImage:LYRA_DEFAULT_documentPreviewTypeImage,documentPreviewUrlNotAllowed:LYRA_DEFAULT_documentPreviewUrlNotAllowed,documentViewerMissingSanitizer:LYRA_DEFAULT_documentViewerMissingSanitizer,download:LYRA_DEFAULT_download,highlightOfTotal:LYRA_DEFAULT_highlightOfTotal,highlightWithLabel:LYRA_DEFAULT_highlightWithLabel,loading:LYRA_DEFAULT_loading,loadingDocument:LYRA_DEFAULT_loadingDocument,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,open:LYRA_DEFAULT_open,popover:LYRA_DEFAULT_popover,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select,svgViewerLabel:LYRA_DEFAULT_svgViewerLabel}}static{this.styles=[LyraElement.styles,styles,viewerFrameStyles,viewerLoadingStyles,srOnly]}connectedCallback(){super.connectedCallback(),this.announcements.connect(),!this.detached.cancel()&&this.hasUpdated&&this.src&&this.scheduleAfterUpdate(()=>{this.load()})}disconnectedCallback(){this.announcements.disconnect(),super.disconnectedCallback(),this.detached.schedule()}adoptedCallback(){super.adoptedCallback(),this.detached.flush(),this.announcements.adopted()}updated(changed){super.updated(changed),this.announcements.transition("load",this.fetchState.kind,this.fetchState.kind==="error"?this.fetchState.message:this.localize("loadingDocument")),changed.has("src")&&this.scheduleAfterUpdate(()=>{this.load()})}async load(){const generation=++this.generation,signal=this.beginAbortableLoad();if(!this.src){this.fetchState={kind:"idle"};return}const fetchTarget=resolveOwnerFetchTarget(this,this.src);if(!fetchTarget){const error=new LyraUserFacingError(this.localize("documentPreviewUrlNotAllowed"));this.fetchState={kind:"error",message:error.message},this.emit("lr-render-error",{error});return}this.fetchState={kind:"loading"};try{const response=await fetchTarget.view.fetch(fetchTarget.url,signal?{signal}:void 0);if(!this.isConnected||generation!==this.generation)return;if(!response.ok)throw new Error(`${response.status} ${response.statusText}`);const sanitizer=await loadSvgSanitizer();if(!this.isConnected||generation!==this.generation)return;if(!sanitizer)throw new LyraUserFacingError(this.localize("documentViewerMissingSanitizer"));const raw=await readResponseText(response);if(!this.isConnected||generation!==this.generation)return;const markup=sanitizeInlineSvg(sanitizer,raw,this.ownerDocument);this.isConnected&&generation===this.generation&&(this.fetchState={kind:"loaded",markup})}catch(error){if(isAbortError(error)||!this.isConnected||generation!==this.generation)return;const message=error instanceof LyraUserFacingError?error.message:this.localize(isResourceLimitError(error)?"documentPreviewResourceTooLarge":"documentPreviewFailedToLoad");this.fetchState={kind:"error",message},this.emit("lr-render-error",{error})}}renderBody(regionHighlights){switch(this.fetchState.kind){case"loaded":return this.renderZoomableWrapper(html`<div part="svg">${unsafeSVG(this.fetchState.markup)}</div>`,regionHighlights);case"loading":return renderViewerLoading(this.localize("loadingDocument"));case"error":return html`<div part="error">${this.fetchState.message}</div>`;default:return html`<p class="empty-note">${this.localize("documentPreviewEmpty",void 0,{type:this.localize("documentPreviewTypeImage")})}</p>`}}stopPanZoomEvent(event){event.stopPropagation()}renderZoomableWrapper(content,regionHighlights){const inner=html`<div class="zoom-content">
|
|
2
2
|
${content}${this.renderHighlightLayer(regionHighlights,regionHighlights.length===1)}
|
|
3
3
|
</div>`,frame=this.zoomable?html`<lr-pan-zoom
|
|
4
4
|
exportparts="viewport:frame-viewport, content:frame-content, controls:frame-controls, zoom-in:frame-zoom-in, zoom-out:frame-zoom-out, reset:frame-reset"
|
|
5
5
|
@lr-zoom-change=${this.stopPanZoomEvent}
|
|
6
|
-
>${inner}</lr-pan-zoom>`:inner;return html`${frame}${this.renderHighlightActions(regionHighlights)}`}regionHighlights(){const candidates=prioritizedHighlightCandidates(this.highlights,this.activeHighlightId),seen=new Set,resolved=[];for(const highlight of candidates){if(seen.has(highlight.id)||(seen.add(highlight.id),highlight.anchor.kind!=="region"))continue;const rect=sanitizePercentRect(highlight.anchor.rect);if(rect&&(resolved.push({...highlight,anchor:{...highlight.anchor,rect}}),resolved.length>=MAX_PAINTED_HIGHLIGHTS))break}return resolved}highlightActionLabel(highlight,index,total){
|
|
7
|
-
${regionHighlights.map((highlight,index)=>{const label=this.highlightActionLabel(highlight,index,regionHighlights.length);return html`
|
|
8
|
-
<button
|
|
9
|
-
part="region-highlight-action"
|
|
10
|
-
type="button"
|
|
11
|
-
data-highlight-id=${highlight.id}
|
|
12
|
-
aria-label=${label}
|
|
13
|
-
@click=${()=>this.emit("lr-highlight-activate",{highlightId:highlight.id})}
|
|
14
|
-
@keydown=${e=>this.onHighlightActionKeyDown(e,index,regionHighlights.length)}
|
|
15
|
-
>
|
|
16
|
-
${highlight.label||label}
|
|
17
|
-
</button>
|
|
18
|
-
`})}
|
|
19
|
-
</div>`}onHighlightActionKeyDown(e,index,total){const rtl=this.effectiveDirection==="rtl",forward=e.key==="ArrowDown"||(rtl?e.key==="ArrowLeft":e.key==="ArrowRight"),backward=e.key==="ArrowUp"||(rtl?e.key==="ArrowRight":e.key==="ArrowLeft");let nextIndex;forward?nextIndex=Math.min(total-1,index+1):backward?nextIndex=Math.max(0,index-1):e.key==="Home"?nextIndex=0:e.key==="End"&&(nextIndex=total-1),!(nextIndex===void 0||nextIndex===index)&&(e.preventDefault(),this.renderRoot.querySelectorAll('[part="region-highlight-action"]')[nextIndex]?.focus())}async applyAnchor(anchor){if(anchor.kind!=="region"||this.fetchState.kind!=="loaded")return!1;const highlight=this.highlights.find(h=>h.anchor===anchor||sameRegionAnchor(h.anchor,anchor));if(!highlight)return!1;await this.updateComplete;const region=[...this.renderRoot.querySelectorAll('[part~="region-highlight"][data-id]')].find(candidate=>candidate.getAttribute("data-id")===highlight.id);if(!region)return!1;const behavior=prefersReducedMotion(this)?"auto":"smooth";return region.scrollIntoView({behavior,block:"center",inline:"center"}),!0}render(){const maxHeight=sanitizeCssLength(this.maxHeight),regionHighlights=this.regionHighlights(),surfaceRole=this.fetchState.kind==="loaded"&&!this.zoomable&®ionHighlights.length===0?"img":"region";return html`<div part="base" role=${viewerSemanticRole(this,surfaceRole)??nothing} aria-label=${viewerSemanticLabel(this,this.name||this.localize("svgViewerLabel"))??nothing} aria-busy=${this.fetchState.kind==="loading"?"true":"false"} style=${maxHeight?styleMap({"--lr-svg-viewer-max-height":maxHeight}):nothing}>
|
|
6
|
+
>${inner}</lr-pan-zoom>`:inner;return html`${frame}${this.renderHighlightActions(regionHighlights)}`}regionHighlights(){const candidates=prioritizedHighlightCandidates(this.highlights,this.activeHighlightId),seen=new Set,resolved=[];for(const highlight of candidates){if(seen.has(highlight.id)||(seen.add(highlight.id),highlight.anchor.kind!=="region"))continue;const rect=sanitizePercentRect(highlight.anchor.rect);if(rect&&(resolved.push({...highlight,anchor:{...highlight.anchor,rect}}),resolved.length>=MAX_PAINTED_HIGHLIGHTS))break}return resolved}highlightActionLabel(highlight,index,total){return regionHighlightLabel(highlight,index,total,this.effectiveLocale,(key,values)=>this.localize(key,void 0,values))}renderHighlightLayer(regionHighlights,interactive){return renderRegionHighlightLayer(regionHighlights,this.activeHighlightId,interactive,(highlight,index,total)=>this.highlightActionLabel(highlight,index,total),highlightId=>this.emit("lr-highlight-activate",{highlightId}))}renderHighlightActions(regionHighlights){return renderRegionHighlightActions(regionHighlights,(highlight,index,total)=>this.highlightActionLabel(highlight,index,total),this.renderRoot,this.effectiveDirection==="rtl",highlightId=>this.emit("lr-highlight-activate",{highlightId}))}async applyAnchor(anchor){if(anchor.kind!=="region"||this.fetchState.kind!=="loaded")return!1;const highlight=this.highlights.find(h=>h.anchor===anchor||sameRegionAnchor(h.anchor,anchor));if(!highlight)return!1;await this.updateComplete;const region=[...this.renderRoot.querySelectorAll('[part~="region-highlight"][data-id]')].find(candidate=>candidate.getAttribute("data-id")===highlight.id);if(!region)return!1;const behavior=prefersReducedMotion(this)?"auto":"smooth";return region.scrollIntoView({behavior,block:"nearest",inline:"nearest"}),!0}render(){const maxHeight=sanitizeCssLength(this.maxHeight),regionHighlights=this.regionHighlights(),surfaceRole=this.fetchState.kind==="loaded"&&!this.zoomable&®ionHighlights.length===0?"img":"region";return html`<div part="base" role=${viewerSemanticRole(this,surfaceRole)??nothing} aria-label=${viewerSemanticLabel(this,this.name||this.localize("svgViewerLabel"))??nothing} aria-busy=${this.fetchState.kind==="loading"?"true":"false"} style=${maxHeight?styleMap({"--lr-svg-viewer-max-height":maxHeight}):nothing}>
|
|
20
7
|
<div part="body">${this.renderBody(regionHighlights)}</div>
|
|
21
8
|
${this.renderAnchorLiveRegion()}
|
|
22
9
|
</div>`}}__decorate([property()],LyraSvgViewer.prototype,"src",void 0),__decorate([property()],LyraSvgViewer.prototype,"name",void 0),__decorate([property({attribute:"max-height"})],LyraSvgViewer.prototype,"maxHeight",void 0),__decorate([property({type:Boolean,reflect:!0})],LyraSvgViewer.prototype,"zoomable",void 0),__decorate([state()],LyraSvgViewer.prototype,"fetchState",void 0);export{LyraSvgViewer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{iconHitTarget}from"../../../internal/interactive-control.styles.js";import{css}from"lit";const styles=css` :host { display: block; min-inline-size: 0; max-inline-size: 100%; } [part="
|
|
1
|
+
import{iconHitTarget}from"../../../internal/interactive-control.styles.js";import{css}from"lit";const styles=css` :host { display: block; min-inline-size: 0; max-inline-size: 100%; } [part="body"] { display: flex; flex-wrap: wrap; align-items: safe center; justify-content: safe center; min-block-size: var(--lr-size-10rem); max-block-size: var(--lr-svg-viewer-max-height, none); box-sizing: border-box; overflow: auto; padding: var(--lr-space-m); } [part="svg"], [part="svg"] svg { display: flex; max-inline-size: 100%; max-block-size: 100%; } [part="svg"] svg { display: block; } .empty-note, [part="error"] { margin: 0; color: var(--lr-color-text-quiet); font-size: var(--lr-font-size-md-sm); text-align: center; } [part="error"] { color: var(--lr-color-danger); } .zoom-content { position: relative; } [part="highlight-layer"] { position: absolute; inset: 0; pointer-events: none; } [part="region-highlight"] { --_lr-svg-viewer-highlight-color: var( --lr-svg-viewer-highlight-accent-color, var(--lr-color-brand) ); position: absolute; pointer-events: none; border: var(--lr-border-width-thick) solid var(--_lr-svg-viewer-highlight-color); border-radius: var(--lr-radius-xs); transition: background-color var(--lr-transition-fast); } [part="region-highlight-target"] { position: absolute; z-index: var(--lr-layer-content); box-sizing: border-box; pointer-events: auto; cursor: pointer; transform: translate(-50%, -50%); ${iconHitTarget} border: 0; background: transparent; } [part="region-highlight"]:where([data-tone="success"]) { --_lr-svg-viewer-highlight-color: var( --lr-svg-viewer-highlight-success-color, var(--lr-color-success) ); } [part="region-highlight"]:where([data-tone="warning"]) { --_lr-svg-viewer-highlight-color: var( --lr-svg-viewer-highlight-warning-color, var(--lr-color-warning) ); } [part="region-highlight"]:where([data-tone="danger"]) { --_lr-svg-viewer-highlight-color: var( --lr-svg-viewer-highlight-danger-color, var(--lr-color-danger) ); } [part="region-highlight"]:where([data-tone="neutral"]) { --_lr-svg-viewer-highlight-color: var( --lr-svg-viewer-highlight-neutral-color, var(--lr-color-neutral) ); } [part="region-highlight-target"]:hover + [part="region-highlight"] { background: color-mix( in srgb, var(--_lr-svg-viewer-highlight-color) 20%, transparent ); } [part="region-highlight-target"]:active + [part="region-highlight"] { background: color-mix( in oklab, color-mix( in srgb, var(--_lr-svg-viewer-highlight-color) 20%, transparent ), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part="region-highlight-target"]:focus-visible { outline: var(--lr-focus-ring); outline-offset: var(--lr-focus-ring-offset); } [part="region-highlight"]:where([data-active]) { border-color: var( --lr-svg-viewer-active-border, var(--lr-color-warning, var(--lr-color-brand)) ); } [part="highlight-actions"] { display: grid; gap: var(--lr-space-xs); inline-size: 100%; } [part="region-highlight-action"] { ${iconHitTarget} border: var(--lr-border-width-thin) solid var(--lr-color-border); border-radius: var(--lr-radius-xs); color: var(--lr-color-text); background: var(--lr-color-surface); cursor: pointer; transition: background-color var(--lr-transition-fast); } [part="region-highlight-action"]:hover { background: var(--lr-color-surface-raised); } [part="region-highlight-action"]:active { background: color-mix( in oklab, var(--lr-color-surface-raised), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part="region-highlight-action"]:focus-visible { outline: var(--lr-focus-ring); outline-offset: var(--lr-focus-ring-offset); } `;export{styles};
|
|
@@ -1 +1,15 @@
|
|
|
1
|
-
import{prefersReducedMotion}from"../../internal/motion.js";import{OwnerAnimationFrameWaiter}from"../../internal/owner-animation-frame.js";function tableHighlightsForRow(highlights,rawRow,sheet){return highlights.filter(entry=>(sheet===void 0||entry.sheet===void 0||entry.sheet===sheet)&&rawRow-1>=entry.parsed.startRow&&rawRow-1<=entry.parsed.endRow)}function tableHighlightsForColumn(highlights,col){return highlights.filter(entry=>col>=entry.parsed.startCol&&col<=entry.parsed.endCol)}class TableViewerScrollController{constructor(host){this.host=host,this.generation=0,this.frames=new OwnerAnimationFrameWaiter(host)}cancel(){this.generation++,this.frames.cancel()}async scrollColumnIntoView(list,col){this.frames.cancel();const generation=++this.generation,ownerDocument=this.host.ownerDocument,isCurrent=()=>generation===this.generation&&this.host.ownerDocument===ownerDocument&&list?.isConnected===!0;if(list?.updateComplete&&await list.updateComplete,!list||!isCurrent()||!await this.frames.wait()||!isCurrent())return;list
|
|
1
|
+
import{html}from"lit";import{parseCellRange}from"../../internal/cell-range.js";import{prioritizedHighlightCandidates}from"../../internal/anchor-target.js";import{prefersReducedMotion}from"../../internal/motion.js";import{OwnerAnimationFrameWaiter}from"../../internal/owner-animation-frame.js";import{ViewerSearchState}from"../../internal/viewer-search.js";import{DeferredTeardown}from"./document-viewer/deferred-teardown.js";import{ViewerAnnouncementController}from"./viewer-announcements.js";import{boundedViewerSearchQuery,ViewerSearchWorkBudget}from"./viewer-search-limits.js";const MAX_TABLE_SEARCH_MATCHES=1e3;function collectTableSearchMatches(query,locale,enabled,scan){const bounded=boundedViewerSearchQuery(query,locale),matches=[];let exact=bounded.accepted;if(bounded.accepted&&bounded.needle&&enabled){const budget=new ViewerSearchWorkBudget;scan((text,match)=>{if(budget.includes(text,bounded.needle,locale)){if(matches.length===MAX_TABLE_SEARCH_MATCHES)return exact=!1,!1;matches.push(match)}return budget.complete?!0:(exact=!1,!1)})}return{matches,exact}}function tableHighlightsForRow(highlights,rawRow,sheet){return highlights.filter(entry=>(sheet===void 0||entry.sheet===void 0||entry.sheet===sheet)&&rawRow-1>=entry.parsed.startRow&&rawRow-1<=entry.parsed.endRow)}function tableHighlightsForColumn(highlights,col){return highlights.filter(entry=>col>=entry.parsed.startCol&&col<=entry.parsed.endCol)}class TableViewerScrollController{constructor(host){this.host=host,this.generation=0,this.frames=new OwnerAnimationFrameWaiter(host)}cancel(){this.generation++,this.frames.cancel()}async scrollColumnIntoView(list,col){this.frames.cancel();const generation=++this.generation,ownerDocument=this.host.ownerDocument,isCurrent=()=>generation===this.generation&&this.host.ownerDocument===ownerDocument&&list?.isConnected===!0;if(list?.updateComplete&&await list.updateComplete,!list||!isCurrent()||!await this.frames.wait()||!isCurrent())return;const row=list.shadowRoot?.querySelector('[part="row"][aria-current="true"]');this.reveal(row?.querySelectorAll('[part~="cell"]')[col])}reveal(target){target?.scrollIntoView({behavior:prefersReducedMotion(this.host)?"auto":"smooth",block:"nearest",inline:"nearest"})}}class TableViewerController{constructor(host,hooks){this.host=host,this.hooks=hooks,this.highlights=[],this.activeRowKey="",this.lastLoadSrc="",this.lastLocale="",this.pendingResetEvent=!1,this.search=new ViewerSearchState(()=>[],detail=>hooks.emitSearch(detail),()=>host.requestUpdate()),this.announcements=new ViewerAnnouncementController(host),this.scroll=new TableViewerScrollController(host),this.detached=new DeferredTeardown(()=>{hooks.teardown(),this.scroll.cancel()})}connected(){this.announcements.connect(),!this.detached.cancel()&&this.host.hasUpdated&&this.host.src&&this.host.src===this.lastLoadSrc&&this.hooks.schedule(()=>{this.hooks.load()})}disconnecting(){this.announcements.disconnect()}disconnected(){this.detached.schedule()}adopted(){this.detached.flush(),this.scroll.cancel(),this.announcements.adopted()}willUpdate(changed,highlights,activeHighlightId,sheets){changed.has("src")&&(this.pendingResetEvent||=this.search.dirty,this.search.reset(),this.activeRowKey=""),(changed.has("highlights")||changed.has("activeHighlightId"))&&(this.highlights=prioritizedHighlightCandidates(highlights,activeHighlightId).flatMap(highlight=>{if(highlight.anchor.kind!=="cell-range"||!sheets&&highlight.anchor.sheet)return[];const parsed=parseCellRange(highlight.anchor.range);return parsed?[sheets?{highlight,parsed,sheet:highlight.anchor.sheet??parsed.sheet}:{highlight,parsed}]:[]}))}updated(changed,state){this.announcements.transition("load",state.kind,state.kind==="error"?state.message:this.hooks.localize("loadingDocument")),changed.has("src")&&this.hooks.schedule(()=>{this.hooks.load()}),changed.has("src")&&this.pendingResetEvent&&(this.pendingResetEvent=!1,this.search.emit());const locale=this.hooks.locale();locale!==this.lastLocale&&(this.lastLocale=locale,this.search.query&&this.hooks.schedule(()=>{this.hooks.research(this.search.query)},"search"))}setActiveRow(key){this.activeRowKey=key,this.host.requestUpdate()}highlightsForRow(rawRow,sheet){return tableHighlightsForRow(this.highlights,rawRow,sheet)}renderCell(text,colIndex,rowHighlights,role,part,colorVar,activeHighlightId){const colHighlights=tableHighlightsForColumn(rowHighlights,colIndex);if(!colHighlights.length)return html`<div part=${part} role=${role}>${text}</div>`;const active=colHighlights.find(entry=>entry.highlight.id===activeHighlightId),primary=active??colHighlights[0],accessibleLabel=primary.highlight.label?this.hooks.localize("cellHighlightWithLabel",void 0,{value:text,label:primary.highlight.label}):this.hooks.localize("highlightWithLabel",void 0,{label:text});return html`<div
|
|
2
|
+
part="${part} cell-highlight"
|
|
3
|
+
role=${role}
|
|
4
|
+
?data-active=${!!active}
|
|
5
|
+
style=${active?`${colorVar}: var(--lr-color-warning, var(--lr-color-brand))`:""}
|
|
6
|
+
>
|
|
7
|
+
<button
|
|
8
|
+
part="cell-highlight-action"
|
|
9
|
+
type="button"
|
|
10
|
+
aria-label=${accessibleLabel}
|
|
11
|
+
@click=${()=>this.hooks.emitActivate(primary.highlight.id)}
|
|
12
|
+
>
|
|
13
|
+
${text}
|
|
14
|
+
</button>
|
|
15
|
+
</div>`}revealCell(target){return this.scroll.reveal(target),!!target}scrollColumnIntoView(root,selector,col){return this.scroll.scrollColumnIntoView(root.querySelector(selector),col)}async runSearch(query,loaded,scan){this.search.query=query;const locale=this.hooks.locale();this.lastLocale=locale;const{matches,exact}=collectTableSearchMatches(query,locale,loaded,scan);return this.search.publish(matches,exact),matches.length>0&&await this.hooks.jump(matches[0]),matches.length}async step(direction){return this.search.step(direction)?(await this.hooks.jump(this.search.matches[this.search.activeIndex]),!0):!1}clearSearch(){this.activeRowKey="",this.search.clear()}}export{TableViewerController,TableViewerScrollController,collectTableSearchMatches,tableHighlightsForColumn,tableHighlightsForRow};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{css}from"lit";import{iconHitTarget}from"../../internal/interactive-control.styles.js";function delimitedGridStyles(maxHeight){return css` [part='base'], [part='body'], [part='sheet'] { display: flex; flex-direction: column; min-inline-size: 0; } [part='body'] { box-sizing: border-box; overflow-y: auto; overflow-x: hidden; max-block-size: ${maxHeight}; } [part='sheet'] { overflow-x: auto; overflow-y: hidden; } [part='header-row'] { display: grid; min-inline-size: max-content; align-items: center; background: var(--lr-color-surface); color: var(--lr-color-text); font-weight: var(--lr-font-weight-semibold); border-block-end: var(--lr-border-width-medium) solid var(--lr-color-border-subtle); } [part='cell'], lr-virtual-list::part(cell) { padding: var(--lr-space-2xs) var(--lr-space-xs); border-inline-end: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--lr-font-size-sm); color: var(--lr-color-text); } lr-virtual-list::part(data-row) { display: grid; min-inline-size: max-content; align-items: center; } `}function tableCellHighlightStyles({color,padding,outlineOffset=css`calc(-1 * var(--lr-border-width-medium))`,cellCursor=!0}){const cursor=cellCursor?css`cursor: pointer;`:css``;return css` [part~='cell-highlight'], lr-virtual-list::part(cell-highlight) { outline: var(--lr-border-width-medium) solid ${color}; outline-offset: ${outlineOffset}; ${cursor} padding: 0; } [part='cell-highlight-action'], lr-virtual-list::part(cell-highlight-action) { all: unset; box-sizing: border-box; display: block; inline-size: 100%; ${iconHitTarget} padding: ${padding}; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; transition: background-color var(--lr-transition-fast); } [part='cell-highlight-action']:hover, lr-virtual-list::part(cell-highlight-action):hover { background: var(--lr-color-brand-quiet); } [part='cell-highlight-action']:active, lr-virtual-list::part(cell-highlight-action):active { background: color-mix( in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part='cell-highlight-action']:focus-visible, lr-virtual-list::part(cell-highlight-action):focus-visible { outline: var(--lr-focus-ring); outline-offset: calc(var(--lr-focus-ring-offset) * -1); } `}export{delimitedGridStyles,tableCellHighlightStyles};
|
package/dist/events.d.ts
CHANGED
|
@@ -26,21 +26,21 @@ export type LyraAfterCollapseEvent=LyraAccordionEventMap['lr-after-collapse']|Ly
|
|
|
26
26
|
*/
|
|
27
27
|
export type LyraAfterExpandEvent=LyraAccordionEventMap['lr-after-expand']|LyraTreeEventMap['lr-after-expand']|LyraTreeItemEventMap['lr-after-expand'];
|
|
28
28
|
/**
|
|
29
|
-
* `lr-after-hide` — dispatched by
|
|
30
|
-
* `<lr-combobox>`, `<lr-context-menu>`, `<lr-date-input>`, `<lr-details>`,
|
|
31
|
-
* `<lr-drawer>`, `<lr-dropdown>`, `<lr-lightbox>`, `<lr-popover>`, `<lr-select>`,
|
|
32
|
-
* `<lr-time-input>`, `<lr-toast-item>`, `<lr-tooltip>`; detail union of
|
|
29
|
+
* `lr-after-hide` — dispatched by 16 components: `<lr-alert>`, `<lr-color-picker>`,
|
|
30
|
+
* `<lr-combobox>`, `<lr-command-palette>`, `<lr-context-menu>`, `<lr-date-input>`, `<lr-details>`,
|
|
31
|
+
* `<lr-dialog>`, `<lr-drawer>`, `<lr-dropdown>`, `<lr-lightbox>`, `<lr-popover>`, `<lr-select>`,
|
|
32
|
+
* `<lr-time-input>`, `<lr-toast-item>`, `<lr-tooltip>`; detail union of 14, e.g.
|
|
33
33
|
* `LyraAlertEventMap['lr-after-hide']`.
|
|
34
34
|
*/
|
|
35
|
-
export type LyraAfterHideEvent=LyraAlertEventMap['lr-after-hide']|LyraColorPickerEventMap['lr-after-hide']|LyraComboboxEventMap['lr-after-hide']|LyraContextMenuEventMap['lr-after-hide']|LyraDateInputEventMap['lr-after-hide']|LyraDetailsEventMap['lr-after-hide']|LyraDialogEventMap['lr-after-hide']|LyraLightboxEventMap['lr-after-hide']|LyraPopoverEventMap['lr-after-hide']|LyraSelectEventMap['lr-after-hide']|LyraTimeInputEventMap['lr-after-hide']|LyraToastItemEventMap['lr-after-hide']|LyraTooltipEventMap['lr-after-hide'];
|
|
35
|
+
export type LyraAfterHideEvent=LyraAlertEventMap['lr-after-hide']|LyraColorPickerEventMap['lr-after-hide']|LyraComboboxEventMap['lr-after-hide']|LyraCommandPaletteEventMap['lr-after-hide']|LyraContextMenuEventMap['lr-after-hide']|LyraDateInputEventMap['lr-after-hide']|LyraDetailsEventMap['lr-after-hide']|LyraDialogEventMap['lr-after-hide']|LyraLightboxEventMap['lr-after-hide']|LyraPopoverEventMap['lr-after-hide']|LyraSelectEventMap['lr-after-hide']|LyraTimeInputEventMap['lr-after-hide']|LyraToastItemEventMap['lr-after-hide']|LyraTooltipEventMap['lr-after-hide'];
|
|
36
36
|
/**
|
|
37
|
-
* `lr-after-show` — dispatched by
|
|
38
|
-
* `<lr-combobox>`, `<lr-context-menu>`, `<lr-date-input>`, `<lr-details>`,
|
|
39
|
-
* `<lr-drawer>`, `<lr-dropdown>`, `<lr-lightbox>`, `<lr-popover>`, `<lr-select>`,
|
|
40
|
-
* `<lr-time-input>`, `<lr-toast-item>`, `<lr-tooltip>`; detail union of
|
|
37
|
+
* `lr-after-show` — dispatched by 16 components: `<lr-alert>`, `<lr-color-picker>`,
|
|
38
|
+
* `<lr-combobox>`, `<lr-command-palette>`, `<lr-context-menu>`, `<lr-date-input>`, `<lr-details>`,
|
|
39
|
+
* `<lr-dialog>`, `<lr-drawer>`, `<lr-dropdown>`, `<lr-lightbox>`, `<lr-popover>`, `<lr-select>`,
|
|
40
|
+
* `<lr-time-input>`, `<lr-toast-item>`, `<lr-tooltip>`; detail union of 14, e.g.
|
|
41
41
|
* `LyraAlertEventMap['lr-after-show']`.
|
|
42
42
|
*/
|
|
43
|
-
export type LyraAfterShowEvent=LyraAlertEventMap['lr-after-show']|LyraColorPickerEventMap['lr-after-show']|LyraComboboxEventMap['lr-after-show']|LyraContextMenuEventMap['lr-after-show']|LyraDateInputEventMap['lr-after-show']|LyraDetailsEventMap['lr-after-show']|LyraDialogEventMap['lr-after-show']|LyraLightboxEventMap['lr-after-show']|LyraPopoverEventMap['lr-after-show']|LyraSelectEventMap['lr-after-show']|LyraTimeInputEventMap['lr-after-show']|LyraToastItemEventMap['lr-after-show']|LyraTooltipEventMap['lr-after-show'];
|
|
43
|
+
export type LyraAfterShowEvent=LyraAlertEventMap['lr-after-show']|LyraColorPickerEventMap['lr-after-show']|LyraComboboxEventMap['lr-after-show']|LyraCommandPaletteEventMap['lr-after-show']|LyraContextMenuEventMap['lr-after-show']|LyraDateInputEventMap['lr-after-show']|LyraDetailsEventMap['lr-after-show']|LyraDialogEventMap['lr-after-show']|LyraLightboxEventMap['lr-after-show']|LyraPopoverEventMap['lr-after-show']|LyraSelectEventMap['lr-after-show']|LyraTimeInputEventMap['lr-after-show']|LyraToastItemEventMap['lr-after-show']|LyraTooltipEventMap['lr-after-show'];
|
|
44
44
|
/**
|
|
45
45
|
* `lr-anchor-result` — dispatched by 25 components: `<lr-archive-viewer>`, `<lr-av-player>`,
|
|
46
46
|
* `<lr-calendar-viewer>`, `<lr-contact-viewer>`, `<lr-csv-viewer>`, `<lr-dataset-viewer>`,
|
|
@@ -444,10 +444,11 @@ export type LyraDatumVisibilityChangeEvent=LyraChartEventMap['lr-datum-visibilit
|
|
|
444
444
|
*/
|
|
445
445
|
export type LyraDatumVisibilityChangeRequestEvent=LyraChartEventMap['lr-datum-visibility-change-request'];
|
|
446
446
|
/**
|
|
447
|
-
* `lr-decision-settled` — dispatched by `<lr-confirm-bar
|
|
447
|
+
* `lr-decision-settled` — dispatched by 2 components: `<lr-confirm-bar>`,
|
|
448
|
+
* `<lr-tool-approval-dialog>`; detail union of 2, e.g.
|
|
448
449
|
* `LyraConfirmBarEventMap['lr-decision-settled']`.
|
|
449
450
|
*/
|
|
450
|
-
export type LyraDecisionSettledEvent=LyraConfirmBarEventMap['lr-decision-settled'];
|
|
451
|
+
export type LyraDecisionSettledEvent=LyraConfirmBarEventMap['lr-decision-settled']|LyraToolApprovalDialogEventMap['lr-decision-settled'];
|
|
451
452
|
/**
|
|
452
453
|
* `lr-deny-request` — dispatched by 2 components: `<lr-confirm-bar>`, `<lr-tool-approval-dialog>`;
|
|
453
454
|
* detail union of 2, e.g. `LyraConfirmBarEventMap['lr-deny-request']`.
|
|
@@ -747,13 +748,13 @@ export type LyraGroupToggleRequestEvent=LyraThreadListEventMap['lr-group-toggle-
|
|
|
747
748
|
*/
|
|
748
749
|
export type LyraHiddenTypesChangeEvent=LyraKnowledgeGraphExplorerEventMap['lr-hidden-types-change'];
|
|
749
750
|
/**
|
|
750
|
-
* `lr-hide` — dispatched by
|
|
751
|
-
* `<lr-
|
|
752
|
-
* `<lr-
|
|
753
|
-
* `<lr-select>`, `<lr-time-input>`, `<lr-toast-item>`,
|
|
754
|
-
* `LyraAlertEventMap['lr-hide']`.
|
|
751
|
+
* `lr-hide` — dispatched by 18 components: `<lr-alert>`, `<lr-color-picker>`, `<lr-combobox>`,
|
|
752
|
+
* `<lr-command-palette>`, `<lr-context-inspector>`, `<lr-context-menu>`, `<lr-date-input>`,
|
|
753
|
+
* `<lr-details>`, `<lr-dialog>`, `<lr-drawer>`, `<lr-dropdown>`, `<lr-export-button>`,
|
|
754
|
+
* `<lr-lightbox>`, `<lr-popover>`, `<lr-select>`, `<lr-time-input>`, `<lr-toast-item>`,
|
|
755
|
+
* `<lr-tooltip>`; detail union of 15, e.g. `LyraAlertEventMap['lr-hide']`.
|
|
755
756
|
*/
|
|
756
|
-
export type LyraHideEvent=LyraAlertEventMap['lr-hide']|LyraColorPickerEventMap['lr-hide']|LyraComboboxEventMap['lr-hide']|LyraContextMenuEventMap['lr-hide']|LyraDateInputEventMap['lr-hide']|LyraDetailsEventMap['lr-hide']|LyraDialogEventMap['lr-hide']|LyraExportButtonEventMap['lr-hide']|LyraLightboxEventMap['lr-hide']|LyraPopoverEventMap['lr-hide']|LyraSelectEventMap['lr-hide']|LyraTimeInputEventMap['lr-hide']|LyraToastItemEventMap['lr-hide']|LyraTooltipEventMap['lr-hide'];
|
|
757
|
+
export type LyraHideEvent=LyraAlertEventMap['lr-hide']|LyraColorPickerEventMap['lr-hide']|LyraComboboxEventMap['lr-hide']|LyraCommandPaletteEventMap['lr-hide']|LyraContextMenuEventMap['lr-hide']|LyraDateInputEventMap['lr-hide']|LyraDetailsEventMap['lr-hide']|LyraDialogEventMap['lr-hide']|LyraExportButtonEventMap['lr-hide']|LyraLightboxEventMap['lr-hide']|LyraPopoverEventMap['lr-hide']|LyraSelectEventMap['lr-hide']|LyraTimeInputEventMap['lr-hide']|LyraToastItemEventMap['lr-hide']|LyraTooltipEventMap['lr-hide'];
|
|
757
758
|
/**
|
|
758
759
|
* `lr-highlight-activate` — dispatched by 19 components: `<lr-av-player>`, `<lr-csv-viewer>`,
|
|
759
760
|
* `<lr-dataset-viewer>`, `<lr-diff-view>`, `<lr-document-compare>`, `<lr-document-preview>`,
|