@unofficialbox/box-open-elements 0.4.0 → 0.6.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/README.md +39 -14
- package/dist/components/actions/button-group.d.ts +2 -2
- package/dist/components/actions/button-group.js +3 -9
- package/dist/components/actions/button.d.ts +2 -2
- package/dist/components/actions/button.js +3 -9
- package/dist/components/actions/icon-button.d.ts +2 -2
- package/dist/components/actions/icon-button.js +3 -9
- package/dist/components/actions/link-button.d.ts +2 -2
- package/dist/components/actions/link-button.js +3 -9
- package/dist/components/actions/menu-item.d.ts +2 -2
- package/dist/components/actions/menu-item.js +3 -9
- package/dist/components/actions/menu.d.ts +2 -2
- package/dist/components/actions/menu.js +3 -9
- package/dist/components/actions/segmented-control.d.ts +2 -2
- package/dist/components/actions/segmented-control.js +3 -9
- package/dist/components/collections/card.d.ts +2 -2
- package/dist/components/collections/card.js +3 -9
- package/dist/components/collections/carousel.d.ts +2 -2
- package/dist/components/collections/carousel.js +3 -9
- package/dist/components/collections/datalist-item.d.ts +2 -2
- package/dist/components/collections/datalist-item.js +3 -9
- package/dist/components/collections/draggable-list.d.ts +2 -2
- package/dist/components/collections/draggable-list.js +3 -9
- package/dist/components/collections/grid-view.d.ts +2 -2
- package/dist/components/collections/grid-view.js +3 -9
- package/dist/components/collections/pagination.d.ts +2 -2
- package/dist/components/collections/pagination.js +3 -9
- package/dist/components/collections/table.d.ts +59 -5
- package/dist/components/collections/table.js +342 -29
- package/dist/components/collections/thumbnail-card.d.ts +2 -2
- package/dist/components/collections/thumbnail-card.js +3 -9
- package/dist/components/collections/tree-grid.d.ts +2 -2
- package/dist/components/collections/tree-grid.js +3 -9
- package/dist/components/collections/tree.d.ts +2 -2
- package/dist/components/collections/tree.js +3 -9
- package/dist/components/feedback/alert.d.ts +2 -2
- package/dist/components/feedback/alert.js +3 -9
- package/dist/components/feedback/badge.d.ts +2 -2
- package/dist/components/feedback/badge.js +3 -9
- package/dist/components/feedback/badgeable.d.ts +2 -2
- package/dist/components/feedback/badgeable.js +3 -9
- package/dist/components/feedback/chip.d.ts +2 -2
- package/dist/components/feedback/chip.js +3 -9
- package/dist/components/feedback/due-badge.d.ts +38 -0
- package/dist/components/feedback/due-badge.js +168 -0
- package/dist/components/feedback/due-types.d.ts +32 -0
- package/dist/components/feedback/due-types.js +91 -0
- package/dist/components/feedback/empty-state.d.ts +2 -2
- package/dist/components/feedback/empty-state.js +3 -9
- package/dist/components/feedback/error-mask.d.ts +2 -2
- package/dist/components/feedback/error-mask.js +3 -9
- package/dist/components/feedback/help-text.d.ts +2 -2
- package/dist/components/feedback/help-text.js +3 -9
- package/dist/components/feedback/nudge.d.ts +2 -2
- package/dist/components/feedback/nudge.js +3 -9
- package/dist/components/feedback/progress-bar.d.ts +2 -2
- package/dist/components/feedback/progress-bar.js +3 -9
- package/dist/components/feedback/progress-ring.d.ts +2 -2
- package/dist/components/feedback/progress-ring.js +3 -9
- package/dist/components/feedback/progress-steps.d.ts +53 -7
- package/dist/components/feedback/progress-steps.js +203 -31
- package/dist/components/feedback/skeleton.d.ts +2 -2
- package/dist/components/feedback/skeleton.js +3 -9
- package/dist/components/feedback/spinner.d.ts +2 -2
- package/dist/components/feedback/spinner.js +3 -9
- package/dist/components/feedback/stage-path.d.ts +44 -0
- package/dist/components/feedback/stage-path.js +235 -0
- package/dist/components/feedback/toast.d.ts +2 -2
- package/dist/components/feedback/toast.js +3 -9
- package/dist/components/files/drop-zone.d.ts +2 -2
- package/dist/components/files/drop-zone.js +3 -9
- package/dist/components/forms/calendar.d.ts +2 -2
- package/dist/components/forms/calendar.js +3 -9
- package/dist/components/forms/category-selector.d.ts +2 -2
- package/dist/components/forms/category-selector.js +3 -9
- package/dist/components/forms/checkbox-group.d.ts +2 -2
- package/dist/components/forms/checkbox-group.js +3 -9
- package/dist/components/forms/checkbox.d.ts +2 -2
- package/dist/components/forms/checkbox.js +3 -9
- package/dist/components/forms/color-picker.d.ts +2 -2
- package/dist/components/forms/color-picker.js +3 -9
- package/dist/components/forms/combobox.d.ts +2 -2
- package/dist/components/forms/combobox.js +3 -9
- package/dist/components/forms/date-field.d.ts +2 -2
- package/dist/components/forms/date-field.js +3 -9
- package/dist/components/forms/dropdown.d.ts +2 -2
- package/dist/components/forms/dropdown.js +3 -9
- package/dist/components/forms/dual-listbox.d.ts +2 -2
- package/dist/components/forms/dual-listbox.js +3 -9
- package/dist/components/forms/fieldset.d.ts +2 -2
- package/dist/components/forms/fieldset.js +3 -9
- package/dist/components/forms/multi-select.d.ts +2 -2
- package/dist/components/forms/multi-select.js +3 -9
- package/dist/components/forms/number-input.d.ts +2 -2
- package/dist/components/forms/number-input.js +3 -9
- package/dist/components/forms/pill-cloud.d.ts +2 -2
- package/dist/components/forms/pill-cloud.js +3 -9
- package/dist/components/forms/pill-selector-dropdown.d.ts +2 -2
- package/dist/components/forms/pill-selector-dropdown.js +3 -9
- package/dist/components/forms/radio-group.d.ts +2 -2
- package/dist/components/forms/radio-group.js +3 -9
- package/dist/components/forms/range-slider.d.ts +2 -2
- package/dist/components/forms/range-slider.js +3 -9
- package/dist/components/forms/rating.d.ts +2 -2
- package/dist/components/forms/rating.js +3 -9
- package/dist/components/forms/rich-text-input.d.ts +2 -2
- package/dist/components/forms/rich-text-input.js +3 -9
- package/dist/components/forms/search-field.d.ts +2 -2
- package/dist/components/forms/search-field.js +3 -9
- package/dist/components/forms/select.d.ts +23 -2
- package/dist/components/forms/select.js +103 -12
- package/dist/components/forms/slider.d.ts +2 -2
- package/dist/components/forms/slider.js +3 -9
- package/dist/components/forms/spin-button.d.ts +2 -2
- package/dist/components/forms/spin-button.js +3 -9
- package/dist/components/forms/switch.d.ts +2 -2
- package/dist/components/forms/switch.js +3 -9
- package/dist/components/forms/tag-input.d.ts +2 -2
- package/dist/components/forms/tag-input.js +3 -9
- package/dist/components/forms/text-area.d.ts +2 -2
- package/dist/components/forms/text-area.js +3 -9
- package/dist/components/forms/text-field.d.ts +23 -2
- package/dist/components/forms/text-field.js +103 -10
- package/dist/components/forms/time-field.d.ts +2 -2
- package/dist/components/forms/time-field.js +4 -10
- package/dist/components/identity/avatar.d.ts +2 -2
- package/dist/components/identity/avatar.js +3 -9
- package/dist/components/identity/contact-datalist-item.d.ts +2 -2
- package/dist/components/identity/contact-datalist-item.js +3 -9
- package/dist/components/identity/persona.d.ts +2 -2
- package/dist/components/identity/persona.js +3 -9
- package/dist/components/layout/app-shell.d.ts +2 -2
- package/dist/components/layout/app-shell.js +3 -9
- package/dist/components/layout/divider.d.ts +2 -2
- package/dist/components/layout/divider.js +3 -9
- package/dist/components/layout/nav-sidebar.d.ts +16 -2
- package/dist/components/layout/nav-sidebar.js +52 -9
- package/dist/components/layout/section.d.ts +2 -2
- package/dist/components/layout/section.js +3 -9
- package/dist/components/layout/sidebar-toggle-button.d.ts +2 -2
- package/dist/components/layout/sidebar-toggle-button.js +3 -9
- package/dist/components/layout/split-view.d.ts +16 -2
- package/dist/components/layout/split-view.js +83 -10
- package/dist/components/navigation/accordion.d.ts +2 -2
- package/dist/components/navigation/accordion.js +3 -9
- package/dist/components/navigation/breadcrumb.d.ts +2 -2
- package/dist/components/navigation/breadcrumb.js +3 -9
- package/dist/components/navigation/tabs.d.ts +2 -2
- package/dist/components/navigation/tabs.js +3 -9
- package/dist/components/overlays/command-palette.d.ts +62 -0
- package/dist/components/overlays/command-palette.js +537 -0
- package/dist/components/overlays/command-types.d.ts +90 -0
- package/dist/components/overlays/command-types.js +259 -0
- package/dist/components/overlays/context-menu.d.ts +2 -2
- package/dist/components/overlays/context-menu.js +3 -9
- package/dist/components/overlays/dialog.d.ts +2 -2
- package/dist/components/overlays/dialog.js +3 -9
- package/dist/components/overlays/drawer.d.ts +20 -2
- package/dist/components/overlays/drawer.js +138 -18
- package/dist/components/overlays/guide-tooltip.d.ts +2 -2
- package/dist/components/overlays/guide-tooltip.js +3 -9
- package/dist/components/overlays/popover.d.ts +2 -2
- package/dist/components/overlays/popover.js +3 -9
- package/dist/components/overlays/shortcuts-overlay.d.ts +48 -0
- package/dist/components/overlays/shortcuts-overlay.js +385 -0
- package/dist/components/overlays/tooltip.d.ts +2 -2
- package/dist/components/overlays/tooltip.js +4 -10
- package/dist/components/visuals/illustration.d.ts +2 -2
- package/dist/components/visuals/illustration.js +3 -9
- package/dist/core/element.d.ts +5 -1
- package/dist/core/element.js +29 -1
- package/dist/element-maps.d.ts +292 -0
- package/dist/element-maps.js +1 -0
- package/dist/entries/access-stats.d.ts +1 -0
- package/dist/entries/access-stats.js +1 -0
- package/dist/entries/accordion.d.ts +1 -0
- package/dist/entries/accordion.js +1 -0
- package/dist/entries/activity-density.d.ts +1 -0
- package/dist/entries/activity-density.js +1 -0
- package/dist/entries/agent-chat.d.ts +1 -0
- package/dist/entries/agent-chat.js +1 -0
- package/dist/entries/alert.d.ts +1 -0
- package/dist/entries/alert.js +1 -0
- package/dist/entries/annotation-inspector.d.ts +1 -0
- package/dist/entries/annotation-inspector.js +1 -0
- package/dist/entries/annotation-thread.d.ts +1 -0
- package/dist/entries/annotation-thread.js +1 -0
- package/dist/entries/annotation-toolbar.d.ts +1 -0
- package/dist/entries/annotation-toolbar.js +1 -0
- package/dist/entries/app-shell.d.ts +1 -0
- package/dist/entries/app-shell.js +1 -0
- package/dist/entries/audit-log.d.ts +1 -0
- package/dist/entries/audit-log.js +1 -0
- package/dist/entries/avatar.d.ts +1 -0
- package/dist/entries/avatar.js +1 -0
- package/dist/entries/badge.d.ts +1 -0
- package/dist/entries/badge.js +1 -0
- package/dist/entries/badgeable.d.ts +1 -0
- package/dist/entries/badgeable.js +1 -0
- package/dist/entries/bar-chart.d.ts +1 -0
- package/dist/entries/bar-chart.js +1 -0
- package/dist/entries/breadcrumb.d.ts +1 -0
- package/dist/entries/breadcrumb.js +1 -0
- package/dist/entries/bulk-action-bar.d.ts +1 -0
- package/dist/entries/bulk-action-bar.js +1 -0
- package/dist/entries/button-group.d.ts +1 -0
- package/dist/entries/button-group.js +1 -0
- package/dist/entries/button.d.ts +1 -0
- package/dist/entries/button.js +1 -0
- package/dist/entries/calendar.d.ts +1 -0
- package/dist/entries/calendar.js +1 -0
- package/dist/entries/card.d.ts +1 -0
- package/dist/entries/card.js +1 -0
- package/dist/entries/carousel.d.ts +1 -0
- package/dist/entries/carousel.js +1 -0
- package/dist/entries/category-selector.d.ts +1 -0
- package/dist/entries/category-selector.js +1 -0
- package/dist/entries/chart-panel.d.ts +1 -0
- package/dist/entries/chart-panel.js +1 -0
- package/dist/entries/checkbox-group.d.ts +1 -0
- package/dist/entries/checkbox-group.js +1 -0
- package/dist/entries/checkbox.d.ts +1 -0
- package/dist/entries/checkbox.js +1 -0
- package/dist/entries/chip.d.ts +1 -0
- package/dist/entries/chip.js +1 -0
- package/dist/entries/collaborator-avatars.d.ts +1 -0
- package/dist/entries/collaborator-avatars.js +1 -0
- package/dist/entries/color-picker.d.ts +1 -0
- package/dist/entries/color-picker.js +1 -0
- package/dist/entries/combobox.d.ts +1 -0
- package/dist/entries/combobox.js +1 -0
- package/dist/entries/command-palette.d.ts +1 -0
- package/dist/entries/command-palette.js +1 -0
- package/dist/entries/compare-view.d.ts +1 -0
- package/dist/entries/compare-view.js +1 -0
- package/dist/entries/contact-datalist-item.d.ts +1 -0
- package/dist/entries/contact-datalist-item.js +1 -0
- package/dist/entries/content-explorer.d.ts +1 -0
- package/dist/entries/content-explorer.js +1 -0
- package/dist/entries/context-menu.d.ts +1 -0
- package/dist/entries/context-menu.js +1 -0
- package/dist/entries/datalist-item.d.ts +1 -0
- package/dist/entries/datalist-item.js +1 -0
- package/dist/entries/date-field.d.ts +1 -0
- package/dist/entries/date-field.js +1 -0
- package/dist/entries/dialog.d.ts +1 -0
- package/dist/entries/dialog.js +1 -0
- package/dist/entries/diff-viewer.d.ts +1 -0
- package/dist/entries/diff-viewer.js +1 -0
- package/dist/entries/divider.d.ts +1 -0
- package/dist/entries/divider.js +1 -0
- package/dist/entries/donut-chart.d.ts +1 -0
- package/dist/entries/donut-chart.js +1 -0
- package/dist/entries/draggable-list.d.ts +1 -0
- package/dist/entries/draggable-list.js +1 -0
- package/dist/entries/drawer.d.ts +1 -0
- package/dist/entries/drawer.js +1 -0
- package/dist/entries/drop-zone.d.ts +1 -0
- package/dist/entries/drop-zone.js +1 -0
- package/dist/entries/dropdown.d.ts +1 -0
- package/dist/entries/dropdown.js +1 -0
- package/dist/entries/dual-listbox.d.ts +1 -0
- package/dist/entries/dual-listbox.js +1 -0
- package/dist/entries/due-badge.d.ts +1 -0
- package/dist/entries/due-badge.js +1 -0
- package/dist/entries/empty-state.d.ts +1 -0
- package/dist/entries/empty-state.js +1 -0
- package/dist/entries/error-mask.d.ts +1 -0
- package/dist/entries/error-mask.js +1 -0
- package/dist/entries/explorer-action-menu.d.ts +1 -0
- package/dist/entries/explorer-action-menu.js +1 -0
- package/dist/entries/explorer-breadcrumbs.d.ts +1 -0
- package/dist/entries/explorer-breadcrumbs.js +1 -0
- package/dist/entries/explorer-items.d.ts +1 -0
- package/dist/entries/explorer-items.js +1 -0
- package/dist/entries/explorer-list.d.ts +1 -0
- package/dist/entries/explorer-list.js +1 -0
- package/dist/entries/explorer-table.d.ts +1 -0
- package/dist/entries/explorer-table.js +1 -0
- package/dist/entries/explorer-toolbar.d.ts +1 -0
- package/dist/entries/explorer-toolbar.js +1 -0
- package/dist/entries/fieldset.d.ts +1 -0
- package/dist/entries/fieldset.js +1 -0
- package/dist/entries/file-request-builder.d.ts +1 -0
- package/dist/entries/file-request-builder.js +1 -0
- package/dist/entries/filter-bar.d.ts +1 -0
- package/dist/entries/filter-bar.js +1 -0
- package/dist/entries/form-wizard.d.ts +1 -0
- package/dist/entries/form-wizard.js +1 -0
- package/dist/entries/governance-panel.d.ts +1 -0
- package/dist/entries/governance-panel.js +1 -0
- package/dist/entries/grid-view.d.ts +1 -0
- package/dist/entries/grid-view.js +1 -0
- package/dist/entries/guide-tooltip.d.ts +1 -0
- package/dist/entries/guide-tooltip.js +1 -0
- package/dist/entries/help-text.d.ts +1 -0
- package/dist/entries/help-text.js +1 -0
- package/dist/entries/icon-button.d.ts +1 -0
- package/dist/entries/icon-button.js +1 -0
- package/dist/entries/illustration.d.ts +1 -0
- package/dist/entries/illustration.js +1 -0
- package/dist/entries/invite-collaborators-modal.d.ts +1 -0
- package/dist/entries/invite-collaborators-modal.js +1 -0
- package/dist/entries/item-details-panel.d.ts +1 -0
- package/dist/entries/item-details-panel.js +1 -0
- package/dist/entries/item-form.d.ts +1 -0
- package/dist/entries/item-form.js +1 -0
- package/dist/entries/line-chart.d.ts +1 -0
- package/dist/entries/line-chart.js +1 -0
- package/dist/entries/lineage-graph.d.ts +1 -0
- package/dist/entries/lineage-graph.js +1 -0
- package/dist/entries/link-button.d.ts +1 -0
- package/dist/entries/link-button.js +1 -0
- package/dist/entries/menu-item.d.ts +1 -0
- package/dist/entries/menu-item.js +1 -0
- package/dist/entries/menu.d.ts +1 -0
- package/dist/entries/menu.js +1 -0
- package/dist/entries/metadata-filter-builder.d.ts +1 -0
- package/dist/entries/metadata-filter-builder.js +1 -0
- package/dist/entries/metadata-inspector.d.ts +1 -0
- package/dist/entries/metadata-inspector.js +1 -0
- package/dist/entries/metric-card.d.ts +1 -0
- package/dist/entries/metric-card.js +1 -0
- package/dist/entries/multi-select.d.ts +1 -0
- package/dist/entries/multi-select.js +1 -0
- package/dist/entries/nav-sidebar.d.ts +1 -0
- package/dist/entries/nav-sidebar.js +1 -0
- package/dist/entries/notification-bell.d.ts +1 -0
- package/dist/entries/notification-bell.js +1 -0
- package/dist/entries/notification-inbox.d.ts +1 -0
- package/dist/entries/notification-inbox.js +1 -0
- package/dist/entries/nudge.d.ts +1 -0
- package/dist/entries/nudge.js +1 -0
- package/dist/entries/number-input.d.ts +1 -0
- package/dist/entries/number-input.js +1 -0
- package/dist/entries/pagination.d.ts +1 -0
- package/dist/entries/pagination.js +1 -0
- package/dist/entries/permission-matrix.d.ts +1 -0
- package/dist/entries/permission-matrix.js +1 -0
- package/dist/entries/persona.d.ts +1 -0
- package/dist/entries/persona.js +1 -0
- package/dist/entries/pill-cloud.d.ts +1 -0
- package/dist/entries/pill-cloud.js +1 -0
- package/dist/entries/pill-selector-dropdown.d.ts +1 -0
- package/dist/entries/pill-selector-dropdown.js +1 -0
- package/dist/entries/popover.d.ts +1 -0
- package/dist/entries/popover.js +1 -0
- package/dist/entries/presence.d.ts +1 -0
- package/dist/entries/presence.js +1 -0
- package/dist/entries/preview-header.d.ts +1 -0
- package/dist/entries/preview-header.js +1 -0
- package/dist/entries/preview.d.ts +1 -0
- package/dist/entries/preview.js +1 -0
- package/dist/entries/progress-bar.d.ts +1 -0
- package/dist/entries/progress-bar.js +1 -0
- package/dist/entries/progress-ring.d.ts +1 -0
- package/dist/entries/progress-ring.js +1 -0
- package/dist/entries/progress-steps.d.ts +1 -0
- package/dist/entries/progress-steps.js +1 -0
- package/dist/entries/provenance-strip.d.ts +1 -0
- package/dist/entries/provenance-strip.js +1 -0
- package/dist/entries/radio-group.d.ts +1 -0
- package/dist/entries/radio-group.js +1 -0
- package/dist/entries/range-slider.d.ts +1 -0
- package/dist/entries/range-slider.js +1 -0
- package/dist/entries/rating.d.ts +1 -0
- package/dist/entries/rating.js +1 -0
- package/dist/entries/review-queue-item.d.ts +1 -0
- package/dist/entries/review-queue-item.js +1 -0
- package/dist/entries/rich-text-input.d.ts +1 -0
- package/dist/entries/rich-text-input.js +1 -0
- package/dist/entries/run-trace.d.ts +1 -0
- package/dist/entries/run-trace.js +1 -0
- package/dist/entries/saved-view-picker.d.ts +1 -0
- package/dist/entries/saved-view-picker.js +1 -0
- package/dist/entries/search-field.d.ts +1 -0
- package/dist/entries/search-field.js +1 -0
- package/dist/entries/search-results-header.d.ts +1 -0
- package/dist/entries/search-results-header.js +1 -0
- package/dist/entries/section.d.ts +1 -0
- package/dist/entries/section.js +1 -0
- package/dist/entries/segmented-control.d.ts +1 -0
- package/dist/entries/segmented-control.js +1 -0
- package/dist/entries/select.d.ts +1 -0
- package/dist/entries/select.js +1 -0
- package/dist/entries/share-panel.d.ts +1 -0
- package/dist/entries/share-panel.js +1 -0
- package/dist/entries/shortcuts-overlay.d.ts +1 -0
- package/dist/entries/shortcuts-overlay.js +1 -0
- package/dist/entries/sidebar-toggle-button.d.ts +1 -0
- package/dist/entries/sidebar-toggle-button.js +1 -0
- package/dist/entries/signature-ceremony.d.ts +1 -0
- package/dist/entries/signature-ceremony.js +1 -0
- package/dist/entries/skeleton.d.ts +1 -0
- package/dist/entries/skeleton.js +1 -0
- package/dist/entries/slider.d.ts +1 -0
- package/dist/entries/slider.js +1 -0
- package/dist/entries/spin-button.d.ts +1 -0
- package/dist/entries/spin-button.js +1 -0
- package/dist/entries/spinner.d.ts +1 -0
- package/dist/entries/spinner.js +1 -0
- package/dist/entries/split-view.d.ts +1 -0
- package/dist/entries/split-view.js +1 -0
- package/dist/entries/stage-path.d.ts +1 -0
- package/dist/entries/stage-path.js +1 -0
- package/dist/entries/switch.d.ts +1 -0
- package/dist/entries/switch.js +1 -0
- package/dist/entries/table.d.ts +1 -0
- package/dist/entries/table.js +1 -0
- package/dist/entries/tabs.d.ts +1 -0
- package/dist/entries/tabs.js +1 -0
- package/dist/entries/tag-input.d.ts +1 -0
- package/dist/entries/tag-input.js +1 -0
- package/dist/entries/task-assignment-panel.d.ts +1 -0
- package/dist/entries/task-assignment-panel.js +1 -0
- package/dist/entries/text-area.d.ts +1 -0
- package/dist/entries/text-area.js +1 -0
- package/dist/entries/text-field.d.ts +1 -0
- package/dist/entries/text-field.js +1 -0
- package/dist/entries/thumbnail-card.d.ts +1 -0
- package/dist/entries/thumbnail-card.js +1 -0
- package/dist/entries/time-field.d.ts +1 -0
- package/dist/entries/time-field.js +1 -0
- package/dist/entries/timeline.d.ts +1 -0
- package/dist/entries/timeline.js +1 -0
- package/dist/entries/toast.d.ts +1 -0
- package/dist/entries/toast.js +1 -0
- package/dist/entries/tooltip.d.ts +1 -0
- package/dist/entries/tooltip.js +1 -0
- package/dist/entries/tree-grid.d.ts +1 -0
- package/dist/entries/tree-grid.js +1 -0
- package/dist/entries/tree.d.ts +1 -0
- package/dist/entries/tree.js +1 -0
- package/dist/entries/unified-share-modal.d.ts +1 -0
- package/dist/entries/unified-share-modal.js +1 -0
- package/dist/entries/version-graph.d.ts +1 -0
- package/dist/entries/version-graph.js +1 -0
- package/dist/entries/version-list.d.ts +1 -0
- package/dist/entries/version-list.js +1 -0
- package/dist/entries/wizard-summary.d.ts +1 -0
- package/dist/entries/wizard-summary.js +1 -0
- package/dist/entries/work-queue.d.ts +1 -0
- package/dist/entries/work-queue.js +1 -0
- package/dist/entries/workload-board.d.ts +1 -0
- package/dist/entries/workload-board.js +1 -0
- package/dist/foundations/geometry/tokens.d.ts +46 -45
- package/dist/foundations/geometry/tokens.js +46 -45
- package/dist/foundations/motion/tokens.d.ts +10 -10
- package/dist/foundations/motion/tokens.js +10 -10
- package/dist/foundations/profiles/built-ins.d.ts +4 -0
- package/dist/foundations/profiles/built-ins.js +131 -0
- package/dist/foundations/profiles/controller.d.ts +4 -0
- package/dist/foundations/profiles/controller.js +107 -0
- package/dist/foundations/profiles/index.d.ts +4 -0
- package/dist/foundations/profiles/index.js +3 -0
- package/dist/foundations/profiles/registry.d.ts +72 -0
- package/dist/foundations/profiles/registry.js +119 -0
- package/dist/foundations/profiles/types.d.ts +94 -0
- package/dist/foundations/profiles/types.js +1 -0
- package/dist/foundations/theming/controller.d.ts +37 -0
- package/dist/foundations/theming/controller.js +176 -0
- package/dist/foundations/theming/index.d.ts +2 -0
- package/dist/foundations/theming/index.js +1 -0
- package/dist/foundations/tokens/box-dark.d.ts +3 -3
- package/dist/foundations/tokens/box-defaults.d.ts +3 -3
- package/dist/foundations/tokens/index.d.ts +2 -2
- package/dist/foundations/tokens/index.js +1 -1
- package/dist/foundations/tokens/registry.d.ts +37 -7
- package/dist/foundations/tokens/registry.js +55 -5
- package/dist/foundations/tokens/types.d.ts +38 -1
- package/dist/index.d.ts +27 -2
- package/dist/index.js +24 -1
- package/dist/patterns/agent-chat/agent-chat.d.ts +75 -0
- package/dist/patterns/agent-chat/agent-chat.js +820 -0
- package/dist/patterns/agent-chat/controller.d.ts +27 -0
- package/dist/patterns/agent-chat/controller.js +182 -0
- package/dist/patterns/agent-chat/index.d.ts +3 -0
- package/dist/patterns/agent-chat/index.js +6 -0
- package/dist/patterns/agent-chat/types.d.ts +109 -0
- package/dist/patterns/agent-chat/types.js +1 -0
- package/dist/patterns/audit/activity-density.d.ts +68 -0
- package/dist/patterns/audit/activity-density.js +428 -0
- package/dist/patterns/audit/audit-log.d.ts +81 -0
- package/dist/patterns/audit/audit-log.js +794 -0
- package/dist/patterns/audit/index.d.ts +3 -0
- package/dist/patterns/audit/index.js +7 -0
- package/dist/patterns/audit/shared.d.ts +10 -0
- package/dist/patterns/audit/shared.js +50 -0
- package/dist/patterns/audit/types.d.ts +143 -0
- package/dist/patterns/audit/types.js +327 -0
- package/dist/patterns/content-explorer/actions/controller.js +12 -2
- package/dist/patterns/content-explorer/adapters/action-menu.d.ts +2 -2
- package/dist/patterns/content-explorer/adapters/action-menu.js +3 -9
- package/dist/patterns/content-explorer/adapters/breadcrumbs.d.ts +2 -2
- package/dist/patterns/content-explorer/adapters/breadcrumbs.js +3 -9
- package/dist/patterns/content-explorer/adapters/items.d.ts +3 -3
- package/dist/patterns/content-explorer/adapters/items.js +4 -10
- package/dist/patterns/content-explorer/adapters/list.d.ts +2 -2
- package/dist/patterns/content-explorer/adapters/list.js +3 -9
- package/dist/patterns/content-explorer/adapters/table.d.ts +2 -2
- package/dist/patterns/content-explorer/adapters/table.js +3 -9
- package/dist/patterns/content-explorer/adapters/toolbar.d.ts +2 -2
- package/dist/patterns/content-explorer/adapters/toolbar.js +7 -13
- package/dist/patterns/content-explorer/box-transport.js +117 -25
- package/dist/patterns/content-explorer/content-explorer.d.ts +28 -16
- package/dist/patterns/content-explorer/content-explorer.js +41 -14
- package/dist/patterns/content-explorer/contracts.d.ts +24 -1
- package/dist/patterns/content-explorer/contracts.js +68 -11
- package/dist/patterns/content-explorer/controller.d.ts +16 -1
- package/dist/patterns/content-explorer/controller.js +130 -4
- package/dist/patterns/content-explorer/navigation/controller.js +11 -9
- package/dist/patterns/content-explorer/types.d.ts +58 -1
- package/dist/patterns/content-picker/content-picker.d.ts +71 -0
- package/dist/patterns/content-picker/content-picker.js +747 -0
- package/dist/patterns/content-picker/controller.d.ts +38 -0
- package/dist/patterns/content-picker/controller.js +141 -0
- package/dist/patterns/content-picker/index.d.ts +3 -0
- package/dist/patterns/content-picker/index.js +6 -0
- package/dist/patterns/content-picker/types.d.ts +52 -0
- package/dist/patterns/content-picker/types.js +26 -0
- package/dist/patterns/content-sidebar/content-sidebar.d.ts +43 -0
- package/dist/patterns/content-sidebar/content-sidebar.js +293 -0
- package/dist/patterns/content-sidebar/index.d.ts +2 -0
- package/dist/patterns/content-sidebar/index.js +4 -0
- package/dist/patterns/content-sidebar/types.d.ts +18 -0
- package/dist/patterns/content-sidebar/types.js +20 -0
- package/dist/patterns/content-uploader/box-transport.d.ts +14 -0
- package/dist/patterns/content-uploader/box-transport.js +54 -0
- package/dist/patterns/content-uploader/content-uploader.d.ts +62 -0
- package/dist/patterns/content-uploader/content-uploader.js +559 -0
- package/dist/patterns/content-uploader/controller.d.ts +39 -0
- package/dist/patterns/content-uploader/controller.js +227 -0
- package/dist/patterns/content-uploader/index.d.ts +4 -0
- package/dist/patterns/content-uploader/index.js +8 -0
- package/dist/patterns/content-uploader/types.d.ts +120 -0
- package/dist/patterns/content-uploader/types.js +38 -0
- package/dist/patterns/diff/compare-view.d.ts +47 -0
- package/dist/patterns/diff/compare-view.js +276 -0
- package/dist/patterns/diff/diff-viewer.d.ts +42 -0
- package/dist/patterns/diff/diff-viewer.js +434 -0
- package/dist/patterns/diff/engine.d.ts +22 -0
- package/dist/patterns/diff/engine.js +276 -0
- package/dist/patterns/diff/index.d.ts +4 -0
- package/dist/patterns/diff/index.js +8 -0
- package/dist/patterns/diff/types.d.ts +69 -0
- package/dist/patterns/diff/types.js +24 -0
- package/dist/patterns/file-request/file-request-builder.d.ts +2 -2
- package/dist/patterns/file-request/file-request-builder.js +3 -9
- package/dist/patterns/form-wizard/controller.d.ts +39 -0
- package/dist/patterns/form-wizard/controller.js +157 -0
- package/dist/patterns/form-wizard/form-wizard.d.ts +63 -0
- package/dist/patterns/form-wizard/form-wizard.js +468 -0
- package/dist/patterns/form-wizard/index.d.ts +4 -0
- package/dist/patterns/form-wizard/index.js +8 -0
- package/dist/patterns/form-wizard/types.d.ts +109 -0
- package/dist/patterns/form-wizard/types.js +83 -0
- package/dist/patterns/form-wizard/wizard-summary.d.ts +62 -0
- package/dist/patterns/form-wizard/wizard-summary.js +324 -0
- package/dist/patterns/governance/governance-panel.d.ts +2 -2
- package/dist/patterns/governance/governance-panel.js +3 -6
- package/dist/patterns/insights/bar-chart.d.ts +2 -2
- package/dist/patterns/insights/bar-chart.js +3 -6
- package/dist/patterns/insights/chart-panel.d.ts +2 -2
- package/dist/patterns/insights/chart-panel.js +3 -6
- package/dist/patterns/insights/donut-chart.d.ts +2 -2
- package/dist/patterns/insights/donut-chart.js +3 -6
- package/dist/patterns/insights/line-chart.d.ts +2 -2
- package/dist/patterns/insights/line-chart.js +3 -6
- package/dist/patterns/insights/metric-card.d.ts +2 -2
- package/dist/patterns/insights/metric-card.js +3 -6
- package/dist/patterns/internal/safe-href.d.ts +17 -0
- package/dist/patterns/internal/safe-href.js +17 -0
- package/dist/patterns/item/bulk-action-bar.d.ts +2 -2
- package/dist/patterns/item/bulk-action-bar.js +3 -6
- package/dist/patterns/item/item-details-panel.d.ts +2 -2
- package/dist/patterns/item/item-details-panel.js +3 -9
- package/dist/patterns/item/item-form.d.ts +2 -2
- package/dist/patterns/item/item-form.js +3 -9
- package/dist/patterns/item/preview-header.d.ts +2 -2
- package/dist/patterns/item/preview-header.js +3 -9
- package/dist/patterns/lineage/index.d.ts +3 -0
- package/dist/patterns/lineage/index.js +6 -0
- package/dist/patterns/lineage/lineage-graph.d.ts +30 -0
- package/dist/patterns/lineage/lineage-graph.js +434 -0
- package/dist/patterns/lineage/provenance-strip.d.ts +22 -0
- package/dist/patterns/lineage/provenance-strip.js +194 -0
- package/dist/patterns/lineage/types.d.ts +53 -0
- package/dist/patterns/lineage/types.js +49 -0
- package/dist/patterns/metadata/metadata-filter-builder.d.ts +2 -2
- package/dist/patterns/metadata/metadata-filter-builder.js +3 -9
- package/dist/patterns/metadata/metadata-inspector.d.ts +2 -2
- package/dist/patterns/metadata/metadata-inspector.js +3 -9
- package/dist/patterns/notifications/index.d.ts +3 -0
- package/dist/patterns/notifications/index.js +6 -0
- package/dist/patterns/notifications/notification-bell.d.ts +38 -0
- package/dist/patterns/notifications/notification-bell.js +198 -0
- package/dist/patterns/notifications/notification-inbox.d.ts +46 -0
- package/dist/patterns/notifications/notification-inbox.js +537 -0
- package/dist/patterns/notifications/types.d.ts +61 -0
- package/dist/patterns/notifications/types.js +108 -0
- package/dist/patterns/preview/annotation-inspector.d.ts +27 -8
- package/dist/patterns/preview/annotation-inspector.js +242 -103
- package/dist/patterns/preview/annotation-thread.d.ts +27 -7
- package/dist/patterns/preview/annotation-thread.js +236 -91
- package/dist/patterns/preview/annotation-toolbar.d.ts +22 -8
- package/dist/patterns/preview/annotation-toolbar.js +165 -105
- package/dist/patterns/preview/content-preview-adapter.d.ts +10 -1
- package/dist/patterns/preview/content-preview-adapter.js +26 -1
- package/dist/patterns/preview/preview-element.d.ts +17 -4
- package/dist/patterns/preview/preview-element.js +226 -61
- package/dist/patterns/preview/provider-adapter.d.ts +47 -0
- package/dist/patterns/preview/provider-adapter.js +17 -0
- package/dist/patterns/run/index.d.ts +2 -0
- package/dist/patterns/run/index.js +4 -0
- package/dist/patterns/run/run-trace.d.ts +40 -0
- package/dist/patterns/run/run-trace.js +441 -0
- package/dist/patterns/run/types.d.ts +66 -0
- package/dist/patterns/run/types.js +152 -0
- package/dist/patterns/search/filter-bar.d.ts +2 -2
- package/dist/patterns/search/filter-bar.js +3 -9
- package/dist/patterns/search/saved-view-picker.d.ts +2 -2
- package/dist/patterns/search/saved-view-picker.js +3 -9
- package/dist/patterns/search/search-results-header.d.ts +2 -2
- package/dist/patterns/search/search-results-header.js +3 -9
- package/dist/patterns/share/access-stats.d.ts +2 -2
- package/dist/patterns/share/access-stats.js +3 -9
- package/dist/patterns/share/collaborator-avatars.d.ts +2 -2
- package/dist/patterns/share/collaborator-avatars.js +3 -9
- package/dist/patterns/share/invite-collaborators-modal.d.ts +2 -2
- package/dist/patterns/share/invite-collaborators-modal.js +3 -9
- package/dist/patterns/share/permission-matrix.d.ts +2 -2
- package/dist/patterns/share/permission-matrix.js +3 -9
- package/dist/patterns/share/presence.d.ts +2 -2
- package/dist/patterns/share/presence.js +3 -9
- package/dist/patterns/share/share-panel.d.ts +2 -2
- package/dist/patterns/share/share-panel.js +3 -9
- package/dist/patterns/share/unified-share-modal.d.ts +2 -2
- package/dist/patterns/share/unified-share-modal.js +3 -9
- package/dist/patterns/signature/index.d.ts +2 -0
- package/dist/patterns/signature/index.js +4 -0
- package/dist/patterns/signature/signature-ceremony.d.ts +33 -0
- package/dist/patterns/signature/signature-ceremony.js +317 -0
- package/dist/patterns/signature/types.d.ts +68 -0
- package/dist/patterns/signature/types.js +89 -0
- package/dist/patterns/task/review-queue-item.d.ts +2 -2
- package/dist/patterns/task/review-queue-item.js +3 -6
- package/dist/patterns/task/task-assignment-panel.d.ts +2 -2
- package/dist/patterns/task/task-assignment-panel.js +3 -6
- package/dist/patterns/timeline/index.d.ts +2 -0
- package/dist/patterns/timeline/index.js +4 -0
- package/dist/patterns/timeline/timeline.d.ts +27 -0
- package/dist/patterns/timeline/timeline.js +430 -0
- package/dist/patterns/timeline/types.d.ts +36 -0
- package/dist/patterns/timeline/types.js +27 -0
- package/dist/patterns/versions/graph-layout.d.ts +43 -0
- package/dist/patterns/versions/graph-layout.js +159 -0
- package/dist/patterns/versions/index.d.ts +4 -0
- package/dist/patterns/versions/index.js +8 -0
- package/dist/patterns/versions/shared.d.ts +4 -0
- package/dist/patterns/versions/shared.js +13 -0
- package/dist/patterns/versions/types.d.ts +37 -0
- package/dist/patterns/versions/types.js +39 -0
- package/dist/patterns/versions/version-graph.d.ts +36 -0
- package/dist/patterns/versions/version-graph.js +438 -0
- package/dist/patterns/versions/version-list.d.ts +39 -0
- package/dist/patterns/versions/version-list.js +407 -0
- package/dist/patterns/work-queue/controller.d.ts +26 -0
- package/dist/patterns/work-queue/controller.js +150 -0
- package/dist/patterns/work-queue/index.d.ts +4 -0
- package/dist/patterns/work-queue/index.js +7 -0
- package/dist/patterns/work-queue/types.d.ts +128 -0
- package/dist/patterns/work-queue/types.js +45 -0
- package/dist/patterns/work-queue/work-queue.d.ts +48 -0
- package/dist/patterns/work-queue/work-queue.js +534 -0
- package/dist/patterns/work-queue/workload-board.d.ts +53 -0
- package/dist/patterns/work-queue/workload-board.js +608 -0
- package/package.json +93 -5
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { resolvePreviewStatus, } from "./provider-adapter.js";
|
|
1
2
|
import { BaseElement } from "../../core/index.js";
|
|
2
3
|
import { boePanel } from "../../foundations/geometry/index.js";
|
|
3
4
|
const DEFAULT_TAG_NAME = "box-preview-element";
|
|
@@ -19,6 +20,7 @@ const elementStyles = `
|
|
|
19
20
|
--_obp-text-muted: var(--boe-token-text-text-secondary, #6f6f6f);
|
|
20
21
|
--_obp-brand: var(--boe-token-surface-surface-brand, #0061d5);
|
|
21
22
|
--_obp-brand-soft: color-mix(in srgb, var(--_obp-brand) 12%, var(--boe-token-surface-surface, #ffffff) 88%);
|
|
23
|
+
--_obp-error: var(--boe-token-surface-status-surface-error, #ed3757);
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
[part="shell"] {
|
|
@@ -58,6 +60,20 @@ const elementStyles = `
|
|
|
58
60
|
text-transform: uppercase;
|
|
59
61
|
}
|
|
60
62
|
|
|
63
|
+
[part="status"][data-status="error"] {
|
|
64
|
+
background: color-mix(in srgb, var(--_obp-error) 14%, var(--_obp-surface) 86%);
|
|
65
|
+
color: var(--_obp-error);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
[part="error"] {
|
|
69
|
+
margin: 0;
|
|
70
|
+
padding: 0.5rem 0.7rem;
|
|
71
|
+
border: 1px solid color-mix(in srgb, var(--_obp-error) 50%, #fff);
|
|
72
|
+
border-radius: 8px;
|
|
73
|
+
background: color-mix(in srgb, var(--_obp-error) 10%, #fff);
|
|
74
|
+
color: inherit;
|
|
75
|
+
}
|
|
76
|
+
|
|
61
77
|
[part="adapter-meta"],
|
|
62
78
|
[part="capabilities"] {
|
|
63
79
|
display: flex;
|
|
@@ -105,7 +121,8 @@ const elementStyles = `
|
|
|
105
121
|
gap: 0.5rem;
|
|
106
122
|
}
|
|
107
123
|
|
|
108
|
-
[part="action"]
|
|
124
|
+
[part="action"],
|
|
125
|
+
[part="control"] {
|
|
109
126
|
appearance: none;
|
|
110
127
|
min-height: 2rem;
|
|
111
128
|
padding: 0.4rem 0.7rem;
|
|
@@ -123,6 +140,24 @@ const elementStyles = `
|
|
|
123
140
|
color: var(--boe-token-text-text-on-brand, #ffffff);
|
|
124
141
|
}
|
|
125
142
|
|
|
143
|
+
[part="control"]:disabled {
|
|
144
|
+
opacity: 0.5;
|
|
145
|
+
cursor: not-allowed;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
[part="controls"] {
|
|
149
|
+
display: flex;
|
|
150
|
+
flex-wrap: wrap;
|
|
151
|
+
align-items: center;
|
|
152
|
+
gap: 0.45rem;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
[part="control-readout"] {
|
|
156
|
+
color: var(--_obp-text-muted);
|
|
157
|
+
font-size: 0.85rem;
|
|
158
|
+
font-variant-numeric: tabular-nums;
|
|
159
|
+
}
|
|
160
|
+
|
|
126
161
|
[part="toolbar"] {
|
|
127
162
|
display: block;
|
|
128
163
|
}
|
|
@@ -134,6 +169,10 @@ const elementStyles = `
|
|
|
134
169
|
align-items: start;
|
|
135
170
|
}
|
|
136
171
|
|
|
172
|
+
[part="workspace"][data-sidebar="empty"] {
|
|
173
|
+
grid-template-columns: minmax(0, 1fr);
|
|
174
|
+
}
|
|
175
|
+
|
|
137
176
|
[part="stage"] {
|
|
138
177
|
min-block-size: 13rem;
|
|
139
178
|
border: 1px solid var(--_obp-border-subtle);
|
|
@@ -142,11 +181,28 @@ const elementStyles = `
|
|
|
142
181
|
overflow: hidden;
|
|
143
182
|
}
|
|
144
183
|
|
|
184
|
+
[part="stage"][aria-busy="true"] {
|
|
185
|
+
opacity: 0.7;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
[part="stage-mount"] {
|
|
189
|
+
width: 100%;
|
|
190
|
+
height: 100%;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
[part="stage-mount"][hidden] {
|
|
194
|
+
display: none;
|
|
195
|
+
}
|
|
196
|
+
|
|
145
197
|
[part="sidebar"] {
|
|
146
198
|
display: grid;
|
|
147
199
|
gap: 0.6rem;
|
|
148
200
|
}
|
|
149
201
|
|
|
202
|
+
[part="workspace"][data-sidebar="empty"] [part="sidebar"] {
|
|
203
|
+
display: none;
|
|
204
|
+
}
|
|
205
|
+
|
|
150
206
|
::slotted([slot="toolbar"]) {
|
|
151
207
|
display: block;
|
|
152
208
|
}
|
|
@@ -167,9 +223,11 @@ const elementStyles = `
|
|
|
167
223
|
}
|
|
168
224
|
}
|
|
169
225
|
`;
|
|
170
|
-
export class
|
|
226
|
+
export class Preview extends BaseElement {
|
|
227
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
171
228
|
providerAdapterValue = null;
|
|
172
229
|
providerAdapterUnsubscribe = null;
|
|
230
|
+
adapterMounted = false;
|
|
173
231
|
static get observedAttributes() {
|
|
174
232
|
return ["actions", "adapter-state", "item-label", "message", "provider", "provider-label", "status", "heading"];
|
|
175
233
|
}
|
|
@@ -251,12 +309,8 @@ export class BoxPreviewElement extends BaseElement {
|
|
|
251
309
|
set providerAdapter(value) {
|
|
252
310
|
this.teardownProviderAdapter();
|
|
253
311
|
this.providerAdapterValue = value;
|
|
254
|
-
if (
|
|
255
|
-
this.
|
|
256
|
-
if (this.isRendered) {
|
|
257
|
-
this.update();
|
|
258
|
-
}
|
|
259
|
-
});
|
|
312
|
+
if (this.isConnected) {
|
|
313
|
+
this.attachProviderAdapter();
|
|
260
314
|
}
|
|
261
315
|
if (this.isRendered) {
|
|
262
316
|
this.update();
|
|
@@ -264,13 +318,16 @@ export class BoxPreviewElement extends BaseElement {
|
|
|
264
318
|
}
|
|
265
319
|
connectedCallback() {
|
|
266
320
|
super.connectedCallback();
|
|
321
|
+
// Re-attach after a detach: disconnectedCallback tears the subscription and
|
|
322
|
+
// mount down, so a reconnect must restore both or the element goes stale.
|
|
323
|
+
this.attachProviderAdapter();
|
|
324
|
+
if (this.isRendered) {
|
|
325
|
+
this.update();
|
|
326
|
+
}
|
|
267
327
|
}
|
|
268
328
|
disconnectedCallback() {
|
|
269
329
|
this.teardownProviderAdapter();
|
|
270
330
|
}
|
|
271
|
-
attributeChangedCallback(name, oldValue, newValue) {
|
|
272
|
-
super.attributeChangedCallback(name, oldValue, newValue);
|
|
273
|
-
}
|
|
274
331
|
parseJsonAttribute(name, fallback) {
|
|
275
332
|
const raw = this.getAttribute(name);
|
|
276
333
|
if (!raw) {
|
|
@@ -283,9 +340,36 @@ export class BoxPreviewElement extends BaseElement {
|
|
|
283
340
|
return fallback;
|
|
284
341
|
}
|
|
285
342
|
}
|
|
343
|
+
attachProviderAdapter() {
|
|
344
|
+
const adapter = this.providerAdapterValue;
|
|
345
|
+
if (!adapter) {
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
348
|
+
if (adapter.subscribe && !this.providerAdapterUnsubscribe) {
|
|
349
|
+
this.providerAdapterUnsubscribe = adapter.subscribe(() => {
|
|
350
|
+
if (this.isRendered) {
|
|
351
|
+
this.update();
|
|
352
|
+
}
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
const mountNode = this.shadowRoot?.querySelector('[part="stage-mount"]');
|
|
356
|
+
if (adapter.mount && mountNode && !this.adapterMounted) {
|
|
357
|
+
mountNode.hidden = false;
|
|
358
|
+
adapter.mount(mountNode);
|
|
359
|
+
this.adapterMounted = true;
|
|
360
|
+
}
|
|
361
|
+
}
|
|
286
362
|
teardownProviderAdapter() {
|
|
287
363
|
this.providerAdapterUnsubscribe?.();
|
|
288
364
|
this.providerAdapterUnsubscribe = null;
|
|
365
|
+
if (this.adapterMounted) {
|
|
366
|
+
this.providerAdapterValue?.unmount?.();
|
|
367
|
+
this.adapterMounted = false;
|
|
368
|
+
const mountNode = this.shadowRoot?.querySelector('[part="stage-mount"]');
|
|
369
|
+
if (mountNode) {
|
|
370
|
+
mountNode.hidden = true;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
289
373
|
}
|
|
290
374
|
getActiveProvider() {
|
|
291
375
|
return this.providerAdapterValue?.getProvider() ?? this.provider;
|
|
@@ -302,13 +386,39 @@ export class BoxPreviewElement extends BaseElement {
|
|
|
302
386
|
provider,
|
|
303
387
|
providerId: provider?.id ?? null,
|
|
304
388
|
};
|
|
305
|
-
|
|
389
|
+
Promise.resolve(this.providerAdapterValue?.performAction?.(detail)).catch((error) => {
|
|
390
|
+
this.dispatchEvent(new CustomEvent("action-error", {
|
|
391
|
+
bubbles: true,
|
|
392
|
+
composed: true,
|
|
393
|
+
detail: {
|
|
394
|
+
action: actionId,
|
|
395
|
+
message: error instanceof Error ? error.message : "Preview action failed",
|
|
396
|
+
},
|
|
397
|
+
}));
|
|
398
|
+
});
|
|
306
399
|
this.dispatchEvent(new CustomEvent("action", {
|
|
307
400
|
bubbles: true,
|
|
308
401
|
composed: true,
|
|
309
402
|
detail,
|
|
310
403
|
}));
|
|
311
|
-
|
|
404
|
+
}
|
|
405
|
+
emitCommand(command) {
|
|
406
|
+
const provider = this.getActiveProvider();
|
|
407
|
+
const detail = {
|
|
408
|
+
command,
|
|
409
|
+
providerId: provider?.id ?? null,
|
|
410
|
+
};
|
|
411
|
+
Promise.resolve(this.providerAdapterValue?.sendCommand?.(command)).catch((error) => {
|
|
412
|
+
this.dispatchEvent(new CustomEvent("action-error", {
|
|
413
|
+
bubbles: true,
|
|
414
|
+
composed: true,
|
|
415
|
+
detail: {
|
|
416
|
+
action: command.command,
|
|
417
|
+
message: error instanceof Error ? error.message : "Preview command failed",
|
|
418
|
+
},
|
|
419
|
+
}));
|
|
420
|
+
});
|
|
421
|
+
this.dispatchEvent(new CustomEvent("command", {
|
|
312
422
|
bubbles: true,
|
|
313
423
|
composed: true,
|
|
314
424
|
detail,
|
|
@@ -318,11 +428,58 @@ export class BoxPreviewElement extends BaseElement {
|
|
|
318
428
|
if (!this.shadowRoot) {
|
|
319
429
|
return;
|
|
320
430
|
}
|
|
431
|
+
// Stable skeleton: the chrome host is re-rendered per update, while the
|
|
432
|
+
// workspace (adapter mount node + slots) keeps node identity so mounted
|
|
433
|
+
// preview engines and slotted content survive chrome updates.
|
|
321
434
|
this.shadowRoot.innerHTML = `
|
|
322
435
|
<style>${elementStyles}</style>
|
|
323
|
-
<
|
|
436
|
+
<article part="shell">
|
|
437
|
+
<div part="content-host"></div>
|
|
438
|
+
<div part="toolbar">
|
|
439
|
+
<slot name="toolbar"></slot>
|
|
440
|
+
</div>
|
|
441
|
+
<div part="workspace" data-sidebar="empty">
|
|
442
|
+
<div part="stage">
|
|
443
|
+
<div part="stage-mount" hidden></div>
|
|
444
|
+
<slot name="stage"></slot>
|
|
445
|
+
</div>
|
|
446
|
+
<aside part="sidebar">
|
|
447
|
+
<slot name="sidebar"></slot>
|
|
448
|
+
</aside>
|
|
449
|
+
</div>
|
|
450
|
+
</article>
|
|
324
451
|
`;
|
|
325
452
|
}
|
|
453
|
+
setupListeners() {
|
|
454
|
+
if (!this.shadowRoot) {
|
|
455
|
+
return;
|
|
456
|
+
}
|
|
457
|
+
// Delegated once — chrome re-renders never re-bind listeners.
|
|
458
|
+
this.shadowRoot.querySelector('[part="content-host"]')?.addEventListener("click", event => {
|
|
459
|
+
const target = event.target.closest("[data-action-id], [data-command]");
|
|
460
|
+
if (!target || target.disabled) {
|
|
461
|
+
return;
|
|
462
|
+
}
|
|
463
|
+
const actionId = target.getAttribute("data-action-id");
|
|
464
|
+
if (actionId) {
|
|
465
|
+
this.emitAction(actionId);
|
|
466
|
+
return;
|
|
467
|
+
}
|
|
468
|
+
const command = target.getAttribute("data-command");
|
|
469
|
+
if (command) {
|
|
470
|
+
this.emitCommand({ command });
|
|
471
|
+
}
|
|
472
|
+
});
|
|
473
|
+
const sidebarSlot = this.shadowRoot.querySelector('slot[name="sidebar"]');
|
|
474
|
+
const workspace = this.shadowRoot.querySelector('[part="workspace"]');
|
|
475
|
+
const syncSidebar = () => {
|
|
476
|
+
const hasContent = (sidebarSlot?.assignedNodes({ flatten: true }) ?? []).some(node => node.nodeType === Node.ELEMENT_NODE || (node.textContent ?? "").trim() !== "");
|
|
477
|
+
workspace?.setAttribute("data-sidebar", hasContent ? "filled" : "empty");
|
|
478
|
+
};
|
|
479
|
+
sidebarSlot?.addEventListener("slotchange", syncSidebar);
|
|
480
|
+
syncSidebar();
|
|
481
|
+
this.attachProviderAdapter();
|
|
482
|
+
}
|
|
326
483
|
update() {
|
|
327
484
|
if (!this.shadowRoot) {
|
|
328
485
|
return;
|
|
@@ -330,8 +487,15 @@ export class BoxPreviewElement extends BaseElement {
|
|
|
330
487
|
const provider = this.getActiveProvider();
|
|
331
488
|
const adapterState = this.getActiveAdapterState();
|
|
332
489
|
const providerLabel = provider?.label ?? this.providerLabel;
|
|
333
|
-
const
|
|
334
|
-
const
|
|
490
|
+
const lifecycle = resolvePreviewStatus(adapterState);
|
|
491
|
+
const statusLabel = provider?.status ?? this.status ?? "";
|
|
492
|
+
const statusText = statusLabel || (adapterState ? lifecycle : "");
|
|
493
|
+
const statusMarkup = statusText
|
|
494
|
+
? `<span part="status" role="status" data-status="${escapeHtml(lifecycle)}">${escapeHtml(statusText)}</span>`
|
|
495
|
+
: "";
|
|
496
|
+
const errorMarkup = lifecycle === "error"
|
|
497
|
+
? `<p part="error" role="alert">${escapeHtml(adapterState?.errorMessage ?? "Preview failed to load.")}</p>`
|
|
498
|
+
: "";
|
|
335
499
|
const messageMarkup = this.message ? `<div part="message">${escapeHtml(this.message)}</div>` : "";
|
|
336
500
|
const providerMarkup = providerLabel ? `<span part="provider">${escapeHtml(providerLabel)}</span>` : "";
|
|
337
501
|
const itemMarkup = this.itemLabel ? `<div part="item-label">${escapeHtml(this.itemLabel)}</div>` : "";
|
|
@@ -345,9 +509,6 @@ export class BoxPreviewElement extends BaseElement {
|
|
|
345
509
|
${adapterState.currentAnnotationId
|
|
346
510
|
? `<span part="adapter-chip">${escapeHtml(`Annotation ${adapterState.currentAnnotationId}`)}</span>`
|
|
347
511
|
: ""}
|
|
348
|
-
${typeof adapterState.ready === "boolean"
|
|
349
|
-
? `<span part="adapter-chip">${adapterState.ready ? "Ready" : "Connecting"}</span>`
|
|
350
|
-
: ""}
|
|
351
512
|
</div>
|
|
352
513
|
`
|
|
353
514
|
: "";
|
|
@@ -358,6 +519,7 @@ export class BoxPreviewElement extends BaseElement {
|
|
|
358
519
|
</div>
|
|
359
520
|
`
|
|
360
521
|
: "";
|
|
522
|
+
const controlsMarkup = this.renderControls(adapterState);
|
|
361
523
|
const actionsMarkup = this.actions.length
|
|
362
524
|
? `
|
|
363
525
|
<div part="actions">
|
|
@@ -381,49 +543,52 @@ export class BoxPreviewElement extends BaseElement {
|
|
|
381
543
|
return;
|
|
382
544
|
}
|
|
383
545
|
host.innerHTML = `
|
|
384
|
-
<
|
|
385
|
-
<div part="topline">
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
${statusMarkup}
|
|
389
|
-
</div>
|
|
390
|
-
${actionsMarkup}
|
|
391
|
-
</div>
|
|
392
|
-
<header part="header">
|
|
393
|
-
<h2 part="title">${escapeHtml(this.heading)}</h2>
|
|
394
|
-
${itemMarkup}
|
|
395
|
-
${messageMarkup}
|
|
396
|
-
${adapterMarkup}
|
|
397
|
-
${capabilityMarkup}
|
|
398
|
-
</header>
|
|
399
|
-
<div part="toolbar">
|
|
400
|
-
<slot name="toolbar"></slot>
|
|
546
|
+
<div part="topline">
|
|
547
|
+
<div part="topline-meta">
|
|
548
|
+
${providerMarkup}
|
|
549
|
+
${statusMarkup}
|
|
401
550
|
</div>
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
551
|
+
${actionsMarkup}
|
|
552
|
+
</div>
|
|
553
|
+
<header part="header">
|
|
554
|
+
<h2 part="title">${escapeHtml(this.heading)}</h2>
|
|
555
|
+
${itemMarkup}
|
|
556
|
+
${messageMarkup}
|
|
557
|
+
${errorMarkup}
|
|
558
|
+
${adapterMarkup}
|
|
559
|
+
${capabilityMarkup}
|
|
560
|
+
${controlsMarkup}
|
|
561
|
+
</header>
|
|
411
562
|
`;
|
|
412
|
-
this.shadowRoot.
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
563
|
+
const stage = this.shadowRoot.querySelector('[part="stage"]');
|
|
564
|
+
stage?.setAttribute("aria-busy", lifecycle === "loading" ? "true" : "false");
|
|
565
|
+
}
|
|
566
|
+
/**
|
|
567
|
+
* Paging/zoom controls render only when the adapter accepts commands and the
|
|
568
|
+
* state carries the numeric fields to drive them.
|
|
569
|
+
*/
|
|
570
|
+
renderControls(adapterState) {
|
|
571
|
+
if (!this.providerAdapterValue?.sendCommand || !adapterState) {
|
|
572
|
+
return "";
|
|
573
|
+
}
|
|
574
|
+
const segments = [];
|
|
575
|
+
if (typeof adapterState.page === "number" && typeof adapterState.pageCount === "number") {
|
|
576
|
+
const atFirst = adapterState.page <= 1;
|
|
577
|
+
const atLast = adapterState.page >= adapterState.pageCount;
|
|
578
|
+
segments.push(`
|
|
579
|
+
<button type="button" part="control" data-command="previous-page" aria-label="Previous page" ${atFirst ? "disabled" : ""}>‹</button>
|
|
580
|
+
<span part="control-readout">Page ${adapterState.page} of ${adapterState.pageCount}</span>
|
|
581
|
+
<button type="button" part="control" data-command="next-page" aria-label="Next page" ${atLast ? "disabled" : ""}>›</button>
|
|
582
|
+
`);
|
|
583
|
+
}
|
|
584
|
+
if (typeof adapterState.zoomPercent === "number") {
|
|
585
|
+
segments.push(`
|
|
586
|
+
<button type="button" part="control" data-command="zoom-out" aria-label="Zoom out">−</button>
|
|
587
|
+
<span part="control-readout">${Math.round(adapterState.zoomPercent)}%</span>
|
|
588
|
+
<button type="button" part="control" data-command="zoom-in" aria-label="Zoom in">+</button>
|
|
589
|
+
`);
|
|
590
|
+
}
|
|
591
|
+
return segments.length ? `<div part="controls" aria-label="Preview controls">${segments.join("")}</div>` : "";
|
|
420
592
|
}
|
|
421
593
|
}
|
|
422
|
-
|
|
423
|
-
const existingElement = customElements.get(tagName);
|
|
424
|
-
if (existingElement) {
|
|
425
|
-
return existingElement;
|
|
426
|
-
}
|
|
427
|
-
customElements.define(tagName, BoxPreviewElement);
|
|
428
|
-
return BoxPreviewElement;
|
|
429
|
-
};
|
|
594
|
+
Preview.register();
|
|
@@ -5,13 +5,49 @@ export type PreviewProvider = {
|
|
|
5
5
|
label: string;
|
|
6
6
|
status?: string;
|
|
7
7
|
};
|
|
8
|
+
/** Lifecycle of the previewed content, from nothing loaded to failure. */
|
|
9
|
+
export type PreviewStatus = "idle" | "loading" | "ready" | "error";
|
|
8
10
|
export type PreviewAdapterState = {
|
|
9
11
|
currentAnnotationId?: string;
|
|
10
12
|
mode?: string;
|
|
13
|
+
/** Display-only label; prefer the numeric `page`/`pageCount` when driving UI. */
|
|
11
14
|
pageLabel?: string;
|
|
15
|
+
/** Legacy readiness flag; prefer `status`. Kept for adapter compatibility. */
|
|
12
16
|
ready?: boolean;
|
|
13
17
|
selectionLabel?: string;
|
|
18
|
+
/** Display-only label; prefer the numeric `zoomPercent` when driving UI. */
|
|
14
19
|
zoomLabel?: string;
|
|
20
|
+
/** Content lifecycle. When absent, derived from `ready` (see resolvePreviewStatus). */
|
|
21
|
+
status?: PreviewStatus;
|
|
22
|
+
/** Human-readable failure description; render when `status` is "error". */
|
|
23
|
+
errorMessage?: string;
|
|
24
|
+
/** 1-based current page for paged content. */
|
|
25
|
+
page?: number;
|
|
26
|
+
pageCount?: number;
|
|
27
|
+
/** Zoom level as a percentage (100 = actual size). */
|
|
28
|
+
zoomPercent?: number;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Effective lifecycle for a state object: an explicit `status` wins; otherwise
|
|
32
|
+
* the legacy `ready` flag maps true→ready / false→loading; no state → idle.
|
|
33
|
+
*/
|
|
34
|
+
export declare const resolvePreviewStatus: (state: PreviewAdapterState | null | undefined) => PreviewStatus;
|
|
35
|
+
/**
|
|
36
|
+
* A typed command the host UI sends INTO the preview engine. Known commands
|
|
37
|
+
* carry their payload shape; the string fallback keeps the channel open for
|
|
38
|
+
* engine-specific extensions.
|
|
39
|
+
*/
|
|
40
|
+
export type PreviewCommand = {
|
|
41
|
+
command: "next-page" | "previous-page" | "zoom-in" | "zoom-out" | "toggle-fullscreen" | "download" | "print";
|
|
42
|
+
} | {
|
|
43
|
+
command: "go-to-page";
|
|
44
|
+
value: number;
|
|
45
|
+
} | {
|
|
46
|
+
command: "set-zoom";
|
|
47
|
+
value: number;
|
|
48
|
+
} | {
|
|
49
|
+
command: string;
|
|
50
|
+
value?: unknown;
|
|
15
51
|
};
|
|
16
52
|
export type PreviewProviderActionDetail = {
|
|
17
53
|
action: string;
|
|
@@ -24,6 +60,16 @@ export type PreviewProviderAdapter = {
|
|
|
24
60
|
getState: () => PreviewAdapterState | null;
|
|
25
61
|
performAction?: (detail: PreviewProviderActionDetail) => void | Promise<void>;
|
|
26
62
|
subscribe?: (listener: () => void) => () => void;
|
|
63
|
+
/**
|
|
64
|
+
* Hand the adapter a stable container to render the preview engine into.
|
|
65
|
+
* `box-preview-element` calls this with its stage node when present; the
|
|
66
|
+
* node survives shell re-renders, so mounted DOM is never destroyed by
|
|
67
|
+
* chrome updates.
|
|
68
|
+
*/
|
|
69
|
+
mount?: (container: HTMLElement) => void;
|
|
70
|
+
unmount?: () => void;
|
|
71
|
+
/** Drive the engine (paging, zoom, download, …) with a typed command. */
|
|
72
|
+
sendCommand?: (command: PreviewCommand) => void | Promise<void>;
|
|
27
73
|
};
|
|
28
74
|
export type StaticPreviewProviderAdapter = PreviewProviderAdapter & {
|
|
29
75
|
setProvider: (provider: PreviewProvider | null) => void;
|
|
@@ -31,6 +77,7 @@ export type StaticPreviewProviderAdapter = PreviewProviderAdapter & {
|
|
|
31
77
|
};
|
|
32
78
|
export declare const createStaticPreviewProviderAdapter: (config: {
|
|
33
79
|
onAction?: (detail: PreviewProviderActionDetail) => void | Promise<void>;
|
|
80
|
+
onCommand?: (command: PreviewCommand) => void | Promise<void>;
|
|
34
81
|
provider?: PreviewProvider | null;
|
|
35
82
|
state?: PreviewAdapterState | null;
|
|
36
83
|
}) => StaticPreviewProviderAdapter;
|
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Effective lifecycle for a state object: an explicit `status` wins; otherwise
|
|
3
|
+
* the legacy `ready` flag maps true→ready / false→loading; no state → idle.
|
|
4
|
+
*/
|
|
5
|
+
export const resolvePreviewStatus = (state) => {
|
|
6
|
+
if (!state) {
|
|
7
|
+
return "idle";
|
|
8
|
+
}
|
|
9
|
+
if (state.status) {
|
|
10
|
+
return state.status;
|
|
11
|
+
}
|
|
12
|
+
if (typeof state.ready === "boolean") {
|
|
13
|
+
return state.ready ? "ready" : "loading";
|
|
14
|
+
}
|
|
15
|
+
return "idle";
|
|
16
|
+
};
|
|
1
17
|
export const createStaticPreviewProviderAdapter = (config) => {
|
|
2
18
|
let provider = config.provider ?? null;
|
|
3
19
|
let state = config.state ?? null;
|
|
@@ -11,6 +27,7 @@ export const createStaticPreviewProviderAdapter = (config) => {
|
|
|
11
27
|
getProvider: () => provider,
|
|
12
28
|
getState: () => state,
|
|
13
29
|
performAction: config.onAction,
|
|
30
|
+
...(config.onCommand ? { sendCommand: config.onCommand } : {}),
|
|
14
31
|
setProvider(nextProvider) {
|
|
15
32
|
provider = nextProvider;
|
|
16
33
|
notify();
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { RunResolution, RunStep, RunStepStatus } from "./types.js";
|
|
2
|
+
import { BaseElement } from "../../core/index.js";
|
|
3
|
+
/** Every status in words — colour never carries the meaning alone. */
|
|
4
|
+
export declare const RUN_STEP_STATUS_LABEL: Record<RunStepStatus, string>;
|
|
5
|
+
/**
|
|
6
|
+
* Machine execution trace: a job, pipeline, or agent run, top-down. The
|
|
7
|
+
* rules live in `resolveRunSteps` (pure), the same way `resolveCeremony`
|
|
8
|
+
* backs the signature card: an explicit status wins, a failure shadows the
|
|
9
|
+
* queue behind it as skipped, timestamps derive running/succeeded, and the
|
|
10
|
+
* host can drive its notifications from the identical function.
|
|
11
|
+
*
|
|
12
|
+
* Deliberately not `box-timeline` (the human activity feed): a run reads
|
|
13
|
+
* forward, has one step in flight, and takes no comments.
|
|
14
|
+
*
|
|
15
|
+
* The summary chip doubles as a polite status region, so a run driven by
|
|
16
|
+
* attribute updates announces "Running Deploy — step 3 of 5" → "Completed"
|
|
17
|
+
* without extra wiring. Per-step detail expands in place: `description`
|
|
18
|
+
* plus a `detail-<id>` slot for rich host content, plus child tasks with
|
|
19
|
+
* live `box-progress-bar` rows.
|
|
20
|
+
*/
|
|
21
|
+
export declare class RunTrace extends BaseElement {
|
|
22
|
+
static readonly tagName: string;
|
|
23
|
+
static get observedAttributes(): string[];
|
|
24
|
+
private hostEl;
|
|
25
|
+
private stepsRaw;
|
|
26
|
+
private stepsCache;
|
|
27
|
+
private readonly expandedIds;
|
|
28
|
+
get heading(): string;
|
|
29
|
+
set heading(value: string);
|
|
30
|
+
get steps(): RunStep[];
|
|
31
|
+
set steps(value: RunStep[]);
|
|
32
|
+
/** The resolved run — same object the render uses. */
|
|
33
|
+
get resolution(): RunResolution;
|
|
34
|
+
/** Ids of the steps whose detail is expanded (host-readable). */
|
|
35
|
+
get expandedSteps(): string[];
|
|
36
|
+
protected renderTemplate(): void;
|
|
37
|
+
protected setupListeners(): void;
|
|
38
|
+
private childrenMarkup;
|
|
39
|
+
protected update(): void;
|
|
40
|
+
}
|