@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
|
@@ -71,7 +71,8 @@ const popoverStyles = `
|
|
|
71
71
|
display: none;
|
|
72
72
|
}
|
|
73
73
|
`;
|
|
74
|
-
export class
|
|
74
|
+
export class Popover extends BaseElement {
|
|
75
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
75
76
|
static get observedAttributes() {
|
|
76
77
|
return ["disabled", "label", "open", "placement"];
|
|
77
78
|
}
|
|
@@ -322,11 +323,4 @@ export class BoxPopoverElement extends BaseElement {
|
|
|
322
323
|
this.surfaceEl.style.margin = "";
|
|
323
324
|
}
|
|
324
325
|
}
|
|
325
|
-
|
|
326
|
-
const existingElement = customElements.get(tagName);
|
|
327
|
-
if (existingElement) {
|
|
328
|
-
return existingElement;
|
|
329
|
-
}
|
|
330
|
-
customElements.define(tagName, BoxPopoverElement);
|
|
331
|
-
return BoxPopoverElement;
|
|
332
|
-
};
|
|
326
|
+
Popover.register();
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { CommandDescriptor } from "./command-types.js";
|
|
2
|
+
import { BaseElement } from "../../core/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* The keyboard shortcuts sheet that makes keyboard-first real — the pair to
|
|
5
|
+
* `box-command-palette`.
|
|
6
|
+
*
|
|
7
|
+
* It reads the *same* `CommandDescriptor[]` the palette does and lists only
|
|
8
|
+
* the commands that declare a `shortcut`. One catalogue driving both surfaces
|
|
9
|
+
* is the point: a shortcut cannot end up documented but unreachable, or
|
|
10
|
+
* reachable but undocumented, because there is only one place to add it.
|
|
11
|
+
*
|
|
12
|
+
* Keys render as `<kbd>` elements rather than a run of text, so the markup
|
|
13
|
+
* says what it means.
|
|
14
|
+
*/
|
|
15
|
+
export declare class ShortcutsOverlay extends BaseElement {
|
|
16
|
+
static readonly tagName: string;
|
|
17
|
+
static get observedAttributes(): string[];
|
|
18
|
+
private hostEl;
|
|
19
|
+
private readonly focusRestore;
|
|
20
|
+
private wasOpen;
|
|
21
|
+
private commandsRaw;
|
|
22
|
+
private commandsCache;
|
|
23
|
+
private readonly onDocumentKeydown;
|
|
24
|
+
get open(): boolean;
|
|
25
|
+
set open(value: boolean);
|
|
26
|
+
get heading(): string;
|
|
27
|
+
set heading(value: string);
|
|
28
|
+
/**
|
|
29
|
+
* Character that opens the sheet. Defaults to `?`, the convention. Matched
|
|
30
|
+
* against the produced character, so the Shift needed to type it is already
|
|
31
|
+
* accounted for. Set empty to let the host own the trigger.
|
|
32
|
+
*/
|
|
33
|
+
get hotkey(): string;
|
|
34
|
+
set hotkey(value: string);
|
|
35
|
+
/** The same catalogue `box-command-palette` takes; validated per record. */
|
|
36
|
+
get commands(): CommandDescriptor[];
|
|
37
|
+
set commands(value: CommandDescriptor[]);
|
|
38
|
+
/** Only the commands that declare a shortcut, in catalogue order. */
|
|
39
|
+
get documentedCommands(): CommandDescriptor[];
|
|
40
|
+
show(): void;
|
|
41
|
+
hide(): void;
|
|
42
|
+
connectedCallback(): void;
|
|
43
|
+
disconnectedCallback(): void;
|
|
44
|
+
private dismiss;
|
|
45
|
+
protected renderTemplate(): void;
|
|
46
|
+
protected setupListeners(): void;
|
|
47
|
+
protected update(): void;
|
|
48
|
+
}
|
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
import { groupShortcutCommands, isCommandDescriptorRecord, splitShortcutKeys, } from "./command-types.js";
|
|
2
|
+
import { BaseElement } from "../../core/index.js";
|
|
3
|
+
import { FocusRestore, trapTabKey } from "../../foundations/a11y/index.js";
|
|
4
|
+
import { boeOverlay, boePanel, boeRadius } from "../../foundations/geometry/index.js";
|
|
5
|
+
const DEFAULT_TAG_NAME = "box-shortcuts-overlay";
|
|
6
|
+
const escapeHtml = (value) => value
|
|
7
|
+
.replaceAll("&", "&")
|
|
8
|
+
.replaceAll("<", "<")
|
|
9
|
+
.replaceAll(">", ">")
|
|
10
|
+
.replaceAll('"', """)
|
|
11
|
+
.replaceAll("'", "'");
|
|
12
|
+
/** Editable targets where a bare-character hotkey must never fire. */
|
|
13
|
+
const isTypingTarget = (target) => {
|
|
14
|
+
const element = target;
|
|
15
|
+
if (!element || typeof element.tagName !== "string") {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
if (element.isContentEditable) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
const tag = element.tagName;
|
|
22
|
+
return tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT";
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* The element the key was actually typed into. `event.target` is retargeted to
|
|
26
|
+
* the shadow host once an event crosses a shadow boundary, and this library
|
|
27
|
+
* wraps native controls in shadow DOM — so reading `target` on a document
|
|
28
|
+
* listener sees `box-text-field`, not the `input` inside it.
|
|
29
|
+
*/
|
|
30
|
+
const keyOrigin = (event) => event.composedPath()[0] ?? event.target;
|
|
31
|
+
const elementStyles = `
|
|
32
|
+
[hidden] {
|
|
33
|
+
display: none !important;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
:host {
|
|
37
|
+
display: contents;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
[part="backdrop"] {
|
|
41
|
+
position: fixed;
|
|
42
|
+
inset: 0;
|
|
43
|
+
display: flex;
|
|
44
|
+
justify-content: center;
|
|
45
|
+
align-items: center;
|
|
46
|
+
padding: 1rem;
|
|
47
|
+
background: ${boeOverlay.modalBackdrop};
|
|
48
|
+
z-index: 1000;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
[part="sheet"] {
|
|
52
|
+
inline-size: min(34rem, 100%);
|
|
53
|
+
max-block-size: 80vh;
|
|
54
|
+
display: grid;
|
|
55
|
+
grid-template-rows: auto 1fr;
|
|
56
|
+
border-radius: ${boeOverlay.modalRadius};
|
|
57
|
+
border: ${boePanel.border};
|
|
58
|
+
background: ${boePanel.background};
|
|
59
|
+
box-shadow: ${boeOverlay.shadow};
|
|
60
|
+
overflow: hidden;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
[part="header"] {
|
|
64
|
+
display: flex;
|
|
65
|
+
align-items: center;
|
|
66
|
+
gap: 0.5rem;
|
|
67
|
+
padding: 0.85rem 1rem;
|
|
68
|
+
border-block-end: 1px solid color-mix(in srgb, var(--boe-token-stroke-stroke, #e8e8e8) 70%, transparent);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
[part="title"] {
|
|
72
|
+
margin: 0;
|
|
73
|
+
font: inherit;
|
|
74
|
+
font-size: 1rem;
|
|
75
|
+
font-weight: 700;
|
|
76
|
+
color: var(--boe-token-text-text, #1f1e1b);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
[part="close"] {
|
|
80
|
+
margin-inline-start: auto;
|
|
81
|
+
appearance: none;
|
|
82
|
+
font: inherit;
|
|
83
|
+
font-size: 0.8rem;
|
|
84
|
+
padding: 0.25rem 0.55rem;
|
|
85
|
+
border: 1px solid var(--boe-token-stroke-stroke, #e8e8e8);
|
|
86
|
+
border-radius: ${boeRadius.control};
|
|
87
|
+
background: var(--boe-token-surface-surface, #ffffff);
|
|
88
|
+
color: var(--boe-token-text-text, #222222);
|
|
89
|
+
cursor: pointer;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
[part="close"]:hover {
|
|
93
|
+
background: var(--boe-token-surface-surface-hover, #f4f4f4);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
[part="groups"] {
|
|
97
|
+
margin: 0;
|
|
98
|
+
padding: 0.6rem 1rem 1rem;
|
|
99
|
+
list-style: none;
|
|
100
|
+
overflow-y: auto;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
[part="group-label"] {
|
|
104
|
+
display: block;
|
|
105
|
+
padding-block: 0.7rem 0.3rem;
|
|
106
|
+
font-size: 0.7rem;
|
|
107
|
+
font-weight: 700;
|
|
108
|
+
letter-spacing: 0.08em;
|
|
109
|
+
text-transform: uppercase;
|
|
110
|
+
color: var(--boe-token-text-text-secondary, #6f6f6f);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
[part="rows"] {
|
|
114
|
+
margin: 0;
|
|
115
|
+
padding: 0;
|
|
116
|
+
list-style: none;
|
|
117
|
+
display: grid;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
[part="row"] {
|
|
121
|
+
display: flex;
|
|
122
|
+
align-items: baseline;
|
|
123
|
+
gap: 0.75rem;
|
|
124
|
+
padding: 0.35rem 0;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
[part="row-label"] {
|
|
128
|
+
color: var(--boe-token-text-text, #1f1e1b);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
[part="keys"] {
|
|
132
|
+
margin-inline-start: auto;
|
|
133
|
+
display: inline-flex;
|
|
134
|
+
align-items: center;
|
|
135
|
+
gap: 0.2rem;
|
|
136
|
+
white-space: nowrap;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
[part="key"] {
|
|
140
|
+
min-inline-size: 1.4rem;
|
|
141
|
+
padding: 0.1rem 0.35rem;
|
|
142
|
+
border: 1px solid var(--boe-token-stroke-stroke, #e8e8e8);
|
|
143
|
+
border-block-end-width: 2px;
|
|
144
|
+
border-radius: ${boeRadius.size};
|
|
145
|
+
background: var(--boe-token-surface-surface-hover, #f4f4f4);
|
|
146
|
+
font-family: ui-monospace, monospace;
|
|
147
|
+
font-size: 0.72rem;
|
|
148
|
+
text-align: center;
|
|
149
|
+
color: var(--boe-token-text-text, #1f1e1b);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
[part="key-separator"] {
|
|
153
|
+
color: var(--boe-token-text-text-secondary, #6f6f6f);
|
|
154
|
+
font-size: 0.7rem;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
[part="empty"] {
|
|
158
|
+
padding: 1.4rem 1rem;
|
|
159
|
+
text-align: center;
|
|
160
|
+
color: var(--boe-token-text-text-secondary, #6f6f6f);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
[part="close"]:focus-visible {
|
|
164
|
+
outline: none;
|
|
165
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--boe-token-surface-surface-brand, #0061d5) 18%, transparent);
|
|
166
|
+
}
|
|
167
|
+
`;
|
|
168
|
+
/**
|
|
169
|
+
* The keyboard shortcuts sheet that makes keyboard-first real — the pair to
|
|
170
|
+
* `box-command-palette`.
|
|
171
|
+
*
|
|
172
|
+
* It reads the *same* `CommandDescriptor[]` the palette does and lists only
|
|
173
|
+
* the commands that declare a `shortcut`. One catalogue driving both surfaces
|
|
174
|
+
* is the point: a shortcut cannot end up documented but unreachable, or
|
|
175
|
+
* reachable but undocumented, because there is only one place to add it.
|
|
176
|
+
*
|
|
177
|
+
* Keys render as `<kbd>` elements rather than a run of text, so the markup
|
|
178
|
+
* says what it means.
|
|
179
|
+
*/
|
|
180
|
+
export class ShortcutsOverlay extends BaseElement {
|
|
181
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
182
|
+
static get observedAttributes() {
|
|
183
|
+
return ["commands", "heading", "hotkey", "open"];
|
|
184
|
+
}
|
|
185
|
+
hostEl;
|
|
186
|
+
focusRestore = new FocusRestore();
|
|
187
|
+
wasOpen = false;
|
|
188
|
+
commandsRaw = null;
|
|
189
|
+
commandsCache = [];
|
|
190
|
+
onDocumentKeydown = (event) => {
|
|
191
|
+
if (this.open) {
|
|
192
|
+
// Escape closes from anywhere. Focus can end up outside the sheet — the
|
|
193
|
+
// browser chrome, a host that moves it — and a modal that only closes
|
|
194
|
+
// while it still holds focus is a trap. The sheet's own handler runs
|
|
195
|
+
// first and clears `open`, so this never dismisses twice.
|
|
196
|
+
if (event.key === "Escape") {
|
|
197
|
+
event.preventDefault();
|
|
198
|
+
this.dismiss();
|
|
199
|
+
}
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
const hotkey = this.hotkey;
|
|
203
|
+
if (!hotkey) {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
// A bare-character hotkey must never fire while someone is typing —
|
|
207
|
+
// "?" is a legitimate character in every text field on the page.
|
|
208
|
+
if (isTypingTarget(keyOrigin(event))) {
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
if (event.metaKey || event.ctrlKey || event.altKey) {
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
if (event.key === hotkey) {
|
|
215
|
+
event.preventDefault();
|
|
216
|
+
this.open = true;
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
get open() {
|
|
220
|
+
return this.hasAttribute("open");
|
|
221
|
+
}
|
|
222
|
+
set open(value) {
|
|
223
|
+
this.toggleAttribute("open", value);
|
|
224
|
+
}
|
|
225
|
+
get heading() {
|
|
226
|
+
return this.getAttribute("heading") ?? "Keyboard shortcuts";
|
|
227
|
+
}
|
|
228
|
+
set heading(value) {
|
|
229
|
+
this.setAttribute("heading", value);
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Character that opens the sheet. Defaults to `?`, the convention. Matched
|
|
233
|
+
* against the produced character, so the Shift needed to type it is already
|
|
234
|
+
* accounted for. Set empty to let the host own the trigger.
|
|
235
|
+
*/
|
|
236
|
+
get hotkey() {
|
|
237
|
+
const raw = this.getAttribute("hotkey");
|
|
238
|
+
return raw === null ? "?" : raw;
|
|
239
|
+
}
|
|
240
|
+
set hotkey(value) {
|
|
241
|
+
this.setAttribute("hotkey", value);
|
|
242
|
+
}
|
|
243
|
+
/** The same catalogue `box-command-palette` takes; validated per record. */
|
|
244
|
+
get commands() {
|
|
245
|
+
const raw = this.getAttribute("commands");
|
|
246
|
+
if (!raw) {
|
|
247
|
+
return [];
|
|
248
|
+
}
|
|
249
|
+
if (raw !== this.commandsRaw) {
|
|
250
|
+
this.commandsRaw = raw;
|
|
251
|
+
try {
|
|
252
|
+
const parsed = JSON.parse(raw);
|
|
253
|
+
this.commandsCache =
|
|
254
|
+
Array.isArray(parsed) && parsed.every(isCommandDescriptorRecord)
|
|
255
|
+
? parsed
|
|
256
|
+
: [];
|
|
257
|
+
}
|
|
258
|
+
catch {
|
|
259
|
+
this.commandsCache = [];
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
return [...this.commandsCache];
|
|
263
|
+
}
|
|
264
|
+
set commands(value) {
|
|
265
|
+
if (value.length) {
|
|
266
|
+
this.setAttribute("commands", JSON.stringify(value));
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
this.removeAttribute("commands");
|
|
270
|
+
}
|
|
271
|
+
/** Only the commands that declare a shortcut, in catalogue order. */
|
|
272
|
+
get documentedCommands() {
|
|
273
|
+
return groupShortcutCommands(this.commands).flatMap(group => group.commands);
|
|
274
|
+
}
|
|
275
|
+
show() {
|
|
276
|
+
this.open = true;
|
|
277
|
+
}
|
|
278
|
+
hide() {
|
|
279
|
+
this.open = false;
|
|
280
|
+
}
|
|
281
|
+
connectedCallback() {
|
|
282
|
+
super.connectedCallback();
|
|
283
|
+
document.addEventListener("keydown", this.onDocumentKeydown);
|
|
284
|
+
}
|
|
285
|
+
disconnectedCallback() {
|
|
286
|
+
document.removeEventListener("keydown", this.onDocumentKeydown);
|
|
287
|
+
}
|
|
288
|
+
dismiss() {
|
|
289
|
+
this.dispatchEvent(new CustomEvent("dismissed", { bubbles: true, composed: true }));
|
|
290
|
+
this.open = false;
|
|
291
|
+
}
|
|
292
|
+
renderTemplate() {
|
|
293
|
+
if (!this.shadowRoot) {
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
this.shadowRoot.innerHTML = `<style>${elementStyles}</style><div part="host"></div>`;
|
|
297
|
+
this.hostEl = this.shadowRoot.querySelector('[part="host"]');
|
|
298
|
+
}
|
|
299
|
+
setupListeners() {
|
|
300
|
+
this.hostEl.addEventListener("pointerdown", event => {
|
|
301
|
+
const target = event.target;
|
|
302
|
+
if (target.closest('[part="sheet"]')) {
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
if (target.closest('[part="backdrop"]')) {
|
|
306
|
+
this.dismiss();
|
|
307
|
+
}
|
|
308
|
+
});
|
|
309
|
+
this.hostEl.addEventListener("click", event => {
|
|
310
|
+
if (event.target.closest('[part="close"]')) {
|
|
311
|
+
this.dismiss();
|
|
312
|
+
}
|
|
313
|
+
});
|
|
314
|
+
this.hostEl.addEventListener("keydown", event => {
|
|
315
|
+
const keyboardEvent = event;
|
|
316
|
+
const sheet = this.hostEl.querySelector('[part="sheet"]');
|
|
317
|
+
if (!sheet) {
|
|
318
|
+
return;
|
|
319
|
+
}
|
|
320
|
+
if (keyboardEvent.key === "Escape") {
|
|
321
|
+
keyboardEvent.preventDefault();
|
|
322
|
+
this.dismiss();
|
|
323
|
+
return;
|
|
324
|
+
}
|
|
325
|
+
if (keyboardEvent.key === "Tab") {
|
|
326
|
+
trapTabKey(keyboardEvent, sheet);
|
|
327
|
+
}
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
update() {
|
|
331
|
+
if (!this.hostEl) {
|
|
332
|
+
return;
|
|
333
|
+
}
|
|
334
|
+
if (!this.open) {
|
|
335
|
+
const wasOpen = this.wasOpen;
|
|
336
|
+
this.hostEl.innerHTML = "";
|
|
337
|
+
this.wasOpen = false;
|
|
338
|
+
if (wasOpen) {
|
|
339
|
+
this.focusRestore.restore();
|
|
340
|
+
}
|
|
341
|
+
return;
|
|
342
|
+
}
|
|
343
|
+
const justOpened = !this.wasOpen;
|
|
344
|
+
this.wasOpen = true;
|
|
345
|
+
if (justOpened) {
|
|
346
|
+
this.focusRestore.capture();
|
|
347
|
+
}
|
|
348
|
+
const groups = groupShortcutCommands(this.commands);
|
|
349
|
+
const sections = groups
|
|
350
|
+
.map(group => {
|
|
351
|
+
const rows = group.commands
|
|
352
|
+
.map(command => {
|
|
353
|
+
const keys = splitShortcutKeys(command.shortcut ?? "")
|
|
354
|
+
.map(key => `<kbd part="key">${escapeHtml(key)}</kbd>`)
|
|
355
|
+
.join(`<span part="key-separator" aria-hidden="true">+</span>`);
|
|
356
|
+
return `
|
|
357
|
+
<li part="row" data-command-id="${escapeHtml(command.id)}">
|
|
358
|
+
<span part="row-label">${escapeHtml(command.label)}</span>
|
|
359
|
+
<span part="keys" aria-label="${escapeHtml(command.shortcut ?? "")}">${keys}</span>
|
|
360
|
+
</li>
|
|
361
|
+
`;
|
|
362
|
+
})
|
|
363
|
+
.join("");
|
|
364
|
+
return `<li part="group" data-group-key="${escapeHtml(group.key)}"><span part="group-label">${escapeHtml(group.label)}</span><ul part="rows" role="list">${rows}</ul></li>`;
|
|
365
|
+
})
|
|
366
|
+
.join("");
|
|
367
|
+
this.hostEl.innerHTML = `
|
|
368
|
+
<div part="backdrop">
|
|
369
|
+
<div part="sheet" role="dialog" aria-modal="true" aria-label="${escapeHtml(this.heading)}">
|
|
370
|
+
<div part="header">
|
|
371
|
+
<h2 part="title">${escapeHtml(this.heading)}</h2>
|
|
372
|
+
<button type="button" part="close">Close</button>
|
|
373
|
+
</div>
|
|
374
|
+
${groups.length
|
|
375
|
+
? `<ul part="groups" role="list">${sections}</ul>`
|
|
376
|
+
: `<div part="empty">No keyboard shortcuts are defined.</div>`}
|
|
377
|
+
</div>
|
|
378
|
+
</div>
|
|
379
|
+
`;
|
|
380
|
+
if (justOpened) {
|
|
381
|
+
this.hostEl.querySelector('[part="close"]')?.focus();
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
ShortcutsOverlay.register();
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BaseElement } from "../../core/index.js";
|
|
2
2
|
export type TooltipTheme = "default" | "error" | "callout";
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class Tooltip extends BaseElement {
|
|
4
|
+
static readonly tagName: string;
|
|
4
5
|
static get observedAttributes(): string[];
|
|
5
6
|
private positionCleanup;
|
|
6
7
|
private openValue;
|
|
@@ -33,4 +34,3 @@ export declare class BoxTooltipElement extends BaseElement {
|
|
|
33
34
|
private stopTracking;
|
|
34
35
|
disconnectedCallback(): void;
|
|
35
36
|
}
|
|
36
|
-
export declare const defineBoxTooltipElement: (tagName?: string) => typeof BoxTooltipElement;
|
|
@@ -51,7 +51,7 @@ const tooltipStyles = `
|
|
|
51
51
|
border-radius: ${boeRadius.xlarge};
|
|
52
52
|
border: 1px solid color-mix(in srgb, var(--boe-token-surface-surface-brand, #0061d5) 18%, rgba(255, 255, 255, 0.08));
|
|
53
53
|
background: var(--boe-token-surface-tooltip-surface, #4e4e4e);
|
|
54
|
-
color:
|
|
54
|
+
color: #ffffff;
|
|
55
55
|
box-shadow: 0 16px 28px rgba(16, 24, 32, 0.18);
|
|
56
56
|
line-height: 1.45;
|
|
57
57
|
}
|
|
@@ -80,7 +80,8 @@ const tooltipStyles = `
|
|
|
80
80
|
display: none;
|
|
81
81
|
}
|
|
82
82
|
`;
|
|
83
|
-
export class
|
|
83
|
+
export class Tooltip extends BaseElement {
|
|
84
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
84
85
|
static get observedAttributes() {
|
|
85
86
|
return ["label", "open", "trigger-label", "placement", "theme"];
|
|
86
87
|
}
|
|
@@ -257,11 +258,4 @@ export class BoxTooltipElement extends BaseElement {
|
|
|
257
258
|
super.disconnectedCallback?.();
|
|
258
259
|
}
|
|
259
260
|
}
|
|
260
|
-
|
|
261
|
-
const existingElement = customElements.get(tagName);
|
|
262
|
-
if (existingElement) {
|
|
263
|
-
return existingElement;
|
|
264
|
-
}
|
|
265
|
-
customElements.define(tagName, BoxTooltipElement);
|
|
266
|
-
return BoxTooltipElement;
|
|
267
|
-
};
|
|
261
|
+
Tooltip.register();
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BaseElement } from "../../core/index.js";
|
|
2
|
-
export declare class
|
|
2
|
+
export declare class Illustration extends BaseElement {
|
|
3
|
+
static readonly tagName: string;
|
|
3
4
|
private readonly handleDesignSystemChange;
|
|
4
5
|
static get observedAttributes(): string[];
|
|
5
6
|
private figureEl;
|
|
@@ -23,4 +24,3 @@ export declare class BoxIllustrationElement extends BaseElement {
|
|
|
23
24
|
protected renderTemplate(): void;
|
|
24
25
|
protected update(): void;
|
|
25
26
|
}
|
|
26
|
-
export declare const defineBoxIllustrationElement: (tagName?: string) => typeof BoxIllustrationElement;
|
|
@@ -188,7 +188,8 @@ const illustrationStyles = `
|
|
|
188
188
|
display: none;
|
|
189
189
|
}
|
|
190
190
|
`;
|
|
191
|
-
export class
|
|
191
|
+
export class Illustration extends BaseElement {
|
|
192
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
192
193
|
handleDesignSystemChange = () => {
|
|
193
194
|
this.update();
|
|
194
195
|
};
|
|
@@ -309,11 +310,4 @@ export class BoxIllustrationElement extends BaseElement {
|
|
|
309
310
|
}
|
|
310
311
|
}
|
|
311
312
|
}
|
|
312
|
-
|
|
313
|
-
const existingElement = customElements.get(tagName);
|
|
314
|
-
if (existingElement) {
|
|
315
|
-
return existingElement;
|
|
316
|
-
}
|
|
317
|
-
customElements.define(tagName, BoxIllustrationElement);
|
|
318
|
-
return BoxIllustrationElement;
|
|
319
|
-
};
|
|
313
|
+
Illustration.register();
|
package/dist/core/element.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
declare const HTMLElementBase: typeof HTMLElement;
|
|
2
|
+
export declare abstract class BaseElement extends HTMLElementBase {
|
|
3
|
+
static readonly tagName: string;
|
|
4
|
+
static register<T extends typeof BaseElement>(this: T, tagName?: string): T;
|
|
2
5
|
protected isRendered: boolean;
|
|
3
6
|
constructor();
|
|
4
7
|
connectedCallback(): void;
|
|
@@ -20,3 +23,4 @@ export declare abstract class BaseElement extends HTMLElement {
|
|
|
20
23
|
*/
|
|
21
24
|
protected abstract update(): void;
|
|
22
25
|
}
|
|
26
|
+
export {};
|
package/dist/core/element.js
CHANGED
|
@@ -1,4 +1,32 @@
|
|
|
1
|
-
|
|
1
|
+
const HTMLElementBase = (typeof globalThis.HTMLElement === "undefined" ? class {
|
|
2
|
+
} : globalThis.HTMLElement);
|
|
3
|
+
/**
|
|
4
|
+
* Registers a custom element when a browser registry is available.
|
|
5
|
+
*
|
|
6
|
+
* Component modules call this at import time. The browser guard keeps those
|
|
7
|
+
* modules safe to evaluate during SSR, while the existing-definition check
|
|
8
|
+
* makes repeated root and per-component imports idempotent.
|
|
9
|
+
*/
|
|
10
|
+
const registerCustomElement = (tagName, constructor) => {
|
|
11
|
+
const registry = globalThis.customElements;
|
|
12
|
+
if (!registry) {
|
|
13
|
+
return constructor;
|
|
14
|
+
}
|
|
15
|
+
const existing = registry.get(tagName);
|
|
16
|
+
if (existing) {
|
|
17
|
+
return existing;
|
|
18
|
+
}
|
|
19
|
+
registry.define(tagName, constructor);
|
|
20
|
+
return constructor;
|
|
21
|
+
};
|
|
22
|
+
export class BaseElement extends HTMLElementBase {
|
|
23
|
+
static tagName = "";
|
|
24
|
+
static register(tagName = this.tagName) {
|
|
25
|
+
if (!tagName) {
|
|
26
|
+
throw new TypeError("Custom element classes must declare a tagName.");
|
|
27
|
+
}
|
|
28
|
+
return registerCustomElement(tagName, this);
|
|
29
|
+
}
|
|
2
30
|
isRendered = false;
|
|
3
31
|
constructor() {
|
|
4
32
|
super();
|