@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
|
@@ -7,12 +7,47 @@ export interface TableColumn {
|
|
|
7
7
|
/** Mark the column sortable — clicking its header emits `sort`. */
|
|
8
8
|
sortable?: boolean;
|
|
9
9
|
}
|
|
10
|
+
export type TableCellTone = "neutral" | "brand" | "success" | "warning" | "error";
|
|
11
|
+
/**
|
|
12
|
+
* Declarative cell content beyond plain text. Deliberately a descriptor the
|
|
13
|
+
* table renders itself, never an HTML string or a render callback: cell data
|
|
14
|
+
* is server-supplied and stays escaped — a string renderer would reopen the
|
|
15
|
+
* injection hole the escaping exists to close.
|
|
16
|
+
*/
|
|
17
|
+
export interface TableCellDescriptor {
|
|
18
|
+
kind: "text" | "badge" | "link";
|
|
19
|
+
text: string;
|
|
20
|
+
/** Badge colour; the text still carries the meaning. */
|
|
21
|
+
tone?: TableCellTone;
|
|
22
|
+
/** Link target; non-http(s) schemes render as plain text. */
|
|
23
|
+
href?: string;
|
|
24
|
+
}
|
|
25
|
+
export type TableCellValue = string | TableCellDescriptor;
|
|
10
26
|
export interface TableRow {
|
|
11
27
|
id: string;
|
|
12
|
-
/** Cell
|
|
13
|
-
cells: Record<string,
|
|
28
|
+
/** Cell values keyed by column key, or positional, matching `columns`. */
|
|
29
|
+
cells: Record<string, TableCellValue> | TableCellValue[];
|
|
30
|
+
/**
|
|
31
|
+
* Expandable detail. Renders a per-row toggle and a full-width detail row
|
|
32
|
+
* holding this text plus a `detail-<id>` slot for rich host content.
|
|
33
|
+
*/
|
|
34
|
+
detail?: string;
|
|
14
35
|
}
|
|
15
36
|
export type TableSelectionMode = "none" | "single" | "multiple";
|
|
37
|
+
/** Detail of the `sort` event, for typed listeners. */
|
|
38
|
+
export interface TableSortDetail {
|
|
39
|
+
key: string;
|
|
40
|
+
direction: "ascending" | "descending";
|
|
41
|
+
}
|
|
42
|
+
/** Detail of the `selection-changed` event, for typed listeners. */
|
|
43
|
+
export interface TableSelectionChangedDetail {
|
|
44
|
+
selectedIds: string[];
|
|
45
|
+
}
|
|
46
|
+
/** Detail of the `row-toggled` event, for typed listeners. */
|
|
47
|
+
export interface TableRowToggledDetail {
|
|
48
|
+
rowId: string;
|
|
49
|
+
expanded: boolean;
|
|
50
|
+
}
|
|
16
51
|
/**
|
|
17
52
|
* A semantic, selectable data table — box-ui-elements `Table` + `makeSelectable`.
|
|
18
53
|
* Rows and columns come from JSON. Selection supports single / Ctrl-click toggle
|
|
@@ -20,12 +55,25 @@ export type TableSelectionMode = "none" | "single" | "multiple";
|
|
|
20
55
|
* toggle, Ctrl/Cmd+A select-all, Escape clear). Sorting is host-owned: sortable
|
|
21
56
|
* headers emit `sort` and the host reorders `rows`.
|
|
22
57
|
*/
|
|
23
|
-
export declare class
|
|
58
|
+
export declare class Table extends BaseElement {
|
|
59
|
+
static readonly tagName: string;
|
|
24
60
|
static get observedAttributes(): string[];
|
|
25
61
|
private bodyEl;
|
|
26
62
|
private headEl;
|
|
27
63
|
private selected;
|
|
28
64
|
private anchorIndex;
|
|
65
|
+
private readonly expandedIds;
|
|
66
|
+
/** True while rows are being fetched: the body states "Loading rows…". */
|
|
67
|
+
get loading(): boolean;
|
|
68
|
+
set loading(value: boolean);
|
|
69
|
+
/** What the body says when there are no rows and nothing is loading. */
|
|
70
|
+
get emptyText(): string;
|
|
71
|
+
set emptyText(value: string);
|
|
72
|
+
/** Non-empty puts the table in an error state stating this text. */
|
|
73
|
+
get errorText(): string;
|
|
74
|
+
set errorText(value: string);
|
|
75
|
+
/** Ids of the rows whose detail is expanded (host-readable). */
|
|
76
|
+
get expandedRows(): string[];
|
|
29
77
|
get columns(): TableColumn[];
|
|
30
78
|
set columns(value: TableColumn[]);
|
|
31
79
|
get rows(): TableRow[];
|
|
@@ -37,10 +85,17 @@ export declare class BoxTableElement extends BaseElement {
|
|
|
37
85
|
get label(): string;
|
|
38
86
|
set label(value: string);
|
|
39
87
|
private parseJson;
|
|
40
|
-
private
|
|
88
|
+
private cellValue;
|
|
89
|
+
/**
|
|
90
|
+
* Descriptor rendering. Everything is escaped; a link with a non-http(s)
|
|
91
|
+
* href renders as plain text; a badge's tone colours a word that already
|
|
92
|
+
* carries the meaning.
|
|
93
|
+
*/
|
|
94
|
+
private cellMarkup;
|
|
41
95
|
protected renderTemplate(): void;
|
|
42
96
|
protected setupListeners(): void;
|
|
43
97
|
private rowElements;
|
|
98
|
+
private toggleRowDetail;
|
|
44
99
|
private onBodyKeydown;
|
|
45
100
|
private toggleSort;
|
|
46
101
|
private activateRow;
|
|
@@ -50,4 +105,3 @@ export declare class BoxTableElement extends BaseElement {
|
|
|
50
105
|
private applySelectionState;
|
|
51
106
|
protected update(): void;
|
|
52
107
|
}
|
|
53
|
-
export declare const defineBoxTableElement: (tagName?: string) => typeof BoxTableElement;
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { BaseElement } from "../../core/index.js";
|
|
2
2
|
import { boePanel, boeRadius, boeSpace } from "../../foundations/geometry/index.js";
|
|
3
|
+
import { isSafeHref } from "../../patterns/internal/safe-href.js";
|
|
3
4
|
const DEFAULT_TAG_NAME = "box-table";
|
|
5
|
+
const CELL_TONES = new Set(["neutral", "brand", "success", "warning", "error"]);
|
|
6
|
+
const CELL_ALIGNS = new Set(["start", "end", "center"]);
|
|
7
|
+
/** `align` is author input from a JSON attribute like everything else — an
|
|
8
|
+
* unvalidated value would close the attribute and inject markup. */
|
|
9
|
+
const alignAttr = (align) => align && CELL_ALIGNS.has(align) ? ` data-align="${align}"` : "";
|
|
10
|
+
const isCellDescriptor = (value) => typeof value === "object" && value !== null && typeof value.text === "string";
|
|
11
|
+
/** Escape a value for use inside a double-quoted attribute selector. */
|
|
12
|
+
const cssAttrValue = (value) => value.replaceAll("\\", "\\\\").replaceAll('"', '\\"');
|
|
4
13
|
const escapeHtml = (value) => value
|
|
5
14
|
.replaceAll("&", "&")
|
|
6
15
|
.replaceAll("<", "<")
|
|
@@ -47,8 +56,35 @@ const tableStyles = `
|
|
|
47
56
|
th[part="sortable"] {
|
|
48
57
|
cursor: pointer;
|
|
49
58
|
user-select: none;
|
|
59
|
+
/* The button carries the padding so its hit area fills the cell. */
|
|
60
|
+
padding: 0;
|
|
50
61
|
}
|
|
51
62
|
th[part="sortable"]:hover { color: var(--boe-token-text-text, #222222); }
|
|
63
|
+
|
|
64
|
+
/* A real button, so sorting is reachable by keyboard: focus, Enter and
|
|
65
|
+
Space come from the platform instead of a keydown reimplementation. */
|
|
66
|
+
[part="sort-button"] {
|
|
67
|
+
appearance: none;
|
|
68
|
+
display: block;
|
|
69
|
+
width: 100%;
|
|
70
|
+
padding: ${boeSpace[2]} ${boeSpace[3]};
|
|
71
|
+
border: 0;
|
|
72
|
+
background: transparent;
|
|
73
|
+
font: inherit;
|
|
74
|
+
letter-spacing: inherit;
|
|
75
|
+
text-transform: inherit;
|
|
76
|
+
text-align: inherit;
|
|
77
|
+
color: inherit;
|
|
78
|
+
cursor: pointer;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
th[data-align="end"] [part="sort-button"] { text-align: end; }
|
|
82
|
+
th[data-align="center"] [part="sort-button"] { text-align: center; }
|
|
83
|
+
|
|
84
|
+
[part="sort-button"]:focus-visible {
|
|
85
|
+
outline: none;
|
|
86
|
+
box-shadow: inset 0 0 0 2px var(--boe-token-surface-surface-brand, #0061d5);
|
|
87
|
+
}
|
|
52
88
|
th[aria-sort] .boe-sort-arrow::after { content: " ↕"; opacity: 0.5; }
|
|
53
89
|
th[aria-sort="ascending"] .boe-sort-arrow::after { content: " ↑"; opacity: 1; }
|
|
54
90
|
th[aria-sort="descending"] .boe-sort-arrow::after { content: " ↓"; opacity: 1; }
|
|
@@ -76,7 +112,143 @@ const tableStyles = `
|
|
|
76
112
|
tbody tr[part="row"]:focus-visible td {
|
|
77
113
|
box-shadow: inset 0 0 0 2px var(--boe-token-surface-surface-brand, #0061d5);
|
|
78
114
|
}
|
|
115
|
+
|
|
116
|
+
[part="cell-badge"] {
|
|
117
|
+
display: inline-block;
|
|
118
|
+
padding: 0.08rem 0.5rem;
|
|
119
|
+
border-radius: 999px;
|
|
120
|
+
font-size: 0.74rem;
|
|
121
|
+
font-weight: 700;
|
|
122
|
+
color: color-mix(in srgb, var(--cell-tone, var(--boe-token-text-text-secondary, #6f6f6f)) 76%, black 24%);
|
|
123
|
+
background: color-mix(in srgb, var(--cell-tone, var(--boe-token-text-text-secondary, #6f6f6f)) 14%, transparent);
|
|
124
|
+
border: 1px solid color-mix(in srgb, var(--cell-tone, var(--boe-token-text-text-secondary, #6f6f6f)) 30%, transparent);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
[part="cell-link"] {
|
|
128
|
+
color: var(--boe-token-surface-surface-brand, #0061d5);
|
|
129
|
+
text-decoration: none;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
[part="cell-link"]:hover {
|
|
133
|
+
text-decoration: underline;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
[part="expander"] {
|
|
137
|
+
appearance: none;
|
|
138
|
+
display: inline-grid;
|
|
139
|
+
place-items: center;
|
|
140
|
+
inline-size: 1.4rem;
|
|
141
|
+
block-size: 1.4rem;
|
|
142
|
+
border: 0;
|
|
143
|
+
border-radius: 4px;
|
|
144
|
+
background: transparent;
|
|
145
|
+
color: var(--boe-token-text-text-secondary, #6f6f6f);
|
|
146
|
+
font: inherit;
|
|
147
|
+
font-size: 0.72rem;
|
|
148
|
+
cursor: pointer;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
[part="expander"]:hover {
|
|
152
|
+
background: var(--boe-token-surface-surface-hover, #f4f4f4);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
[part="expander"]:focus-visible {
|
|
156
|
+
outline: 2px solid color-mix(in srgb, var(--boe-token-surface-surface-brand, #0061d5) 34%, transparent);
|
|
157
|
+
outline-offset: 1px;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
[part="expander"]::before {
|
|
161
|
+
content: "▸";
|
|
162
|
+
transition: transform 120ms ease;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
[part="expander"][aria-expanded="true"]::before {
|
|
166
|
+
transform: rotate(90deg);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
tr[part="detail-row"] td {
|
|
170
|
+
background: color-mix(in srgb, var(--boe-token-surface-surface-secondary, #fbfbfb) 80%, transparent);
|
|
171
|
+
font-size: 0.84rem;
|
|
172
|
+
color: var(--boe-token-text-text-secondary, #6f6f6f);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
tr[part="state-row"] td {
|
|
176
|
+
padding: 1.1rem ${boeSpace[3]};
|
|
177
|
+
text-align: center;
|
|
178
|
+
color: var(--boe-token-text-text-secondary, #6f6f6f);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
tr[part="state-row"][data-state="error"] td {
|
|
182
|
+
color: color-mix(in srgb, var(--boe-token-surface-status-surface-error, #ed3757) 76%, black 24%);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
[part="state-spinner"] {
|
|
186
|
+
display: inline-block;
|
|
187
|
+
vertical-align: -0.15rem;
|
|
188
|
+
margin-inline-end: 0.45rem;
|
|
189
|
+
inline-size: 0.95rem;
|
|
190
|
+
block-size: 0.95rem;
|
|
191
|
+
border-radius: 999px;
|
|
192
|
+
border: 2px solid color-mix(in srgb, var(--boe-token-surface-surface-brand, #0061d5) 20%, transparent);
|
|
193
|
+
border-top-color: var(--boe-token-surface-surface-brand, #0061d5);
|
|
194
|
+
animation: boe-table-spin 0.9s linear infinite;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
@keyframes boe-table-spin {
|
|
198
|
+
to { transform: rotate(360deg); }
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
@media (prefers-reduced-motion: reduce) {
|
|
202
|
+
[part="state-spinner"] { animation-duration: 1.6s; }
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/* Stacked rows: each row becomes a card, each cell states its column via
|
|
206
|
+
data-label. Roles are explicit on rows and cells, so the grid semantics
|
|
207
|
+
survive the display change. stacked="always" forces it; stacked="auto"
|
|
208
|
+
stacks when the host container narrows. */
|
|
209
|
+
:host {
|
|
210
|
+
container-type: inline-size;
|
|
211
|
+
}
|
|
212
|
+
` +
|
|
213
|
+
(() => {
|
|
214
|
+
const rules = (scope) => `
|
|
215
|
+
${scope} thead { display: none; }
|
|
216
|
+
${scope} tr[part="row"] {
|
|
217
|
+
display: block;
|
|
218
|
+
padding: ${boeSpace[2]} 0;
|
|
219
|
+
}
|
|
220
|
+
${scope} tbody td {
|
|
221
|
+
display: grid;
|
|
222
|
+
grid-template-columns: minmax(7.5rem, 9rem) 1fr;
|
|
223
|
+
gap: 0.5rem;
|
|
224
|
+
border-bottom: none;
|
|
225
|
+
padding-block: 0.18rem;
|
|
226
|
+
text-align: start;
|
|
227
|
+
}
|
|
228
|
+
${scope} tbody td[data-label]::before {
|
|
229
|
+
content: attr(data-label);
|
|
230
|
+
font-size: 0.74rem;
|
|
231
|
+
font-weight: 700;
|
|
232
|
+
letter-spacing: 0.05em;
|
|
233
|
+
text-transform: uppercase;
|
|
234
|
+
color: var(--boe-token-text-text-secondary, #6f6f6f);
|
|
235
|
+
align-self: center;
|
|
236
|
+
}
|
|
237
|
+
${scope} tr[part="row"]:not(:last-child) {
|
|
238
|
+
border-bottom: 1px solid var(--boe-token-stroke-stroke, #e8e8e8);
|
|
239
|
+
}
|
|
240
|
+
${scope} tr[part="detail-row"] td,
|
|
241
|
+
${scope} tr[part="state-row"] td {
|
|
242
|
+
display: block;
|
|
243
|
+
}
|
|
79
244
|
`;
|
|
245
|
+
return `
|
|
246
|
+
${rules(':host([stacked]:not([stacked="auto"]))')}
|
|
247
|
+
@container (max-width: 560px) {
|
|
248
|
+
${rules(':host([stacked="auto"])')}
|
|
249
|
+
}
|
|
250
|
+
`;
|
|
251
|
+
})();
|
|
80
252
|
/**
|
|
81
253
|
* A semantic, selectable data table — box-ui-elements `Table` + `makeSelectable`.
|
|
82
254
|
* Rows and columns come from JSON. Selection supports single / Ctrl-click toggle
|
|
@@ -84,14 +256,57 @@ const tableStyles = `
|
|
|
84
256
|
* toggle, Ctrl/Cmd+A select-all, Escape clear). Sorting is host-owned: sortable
|
|
85
257
|
* headers emit `sort` and the host reorders `rows`.
|
|
86
258
|
*/
|
|
87
|
-
export class
|
|
259
|
+
export class Table extends BaseElement {
|
|
260
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
88
261
|
static get observedAttributes() {
|
|
89
|
-
return [
|
|
262
|
+
return [
|
|
263
|
+
"columns",
|
|
264
|
+
"empty-text",
|
|
265
|
+
"error-text",
|
|
266
|
+
"label",
|
|
267
|
+
"loading",
|
|
268
|
+
"rows",
|
|
269
|
+
"selection-mode",
|
|
270
|
+
"sort-direction",
|
|
271
|
+
"sort-key",
|
|
272
|
+
"stacked",
|
|
273
|
+
];
|
|
90
274
|
}
|
|
91
275
|
bodyEl;
|
|
92
276
|
headEl;
|
|
93
277
|
selected = new Set();
|
|
94
278
|
anchorIndex = -1;
|
|
279
|
+
expandedIds = new Set();
|
|
280
|
+
/** True while rows are being fetched: the body states "Loading rows…". */
|
|
281
|
+
get loading() {
|
|
282
|
+
return this.hasAttribute("loading");
|
|
283
|
+
}
|
|
284
|
+
set loading(value) {
|
|
285
|
+
this.toggleAttribute("loading", Boolean(value));
|
|
286
|
+
}
|
|
287
|
+
/** What the body says when there are no rows and nothing is loading. */
|
|
288
|
+
get emptyText() {
|
|
289
|
+
return this.getAttribute("empty-text") ?? "No rows";
|
|
290
|
+
}
|
|
291
|
+
set emptyText(value) {
|
|
292
|
+
this.setAttribute("empty-text", value);
|
|
293
|
+
}
|
|
294
|
+
/** Non-empty puts the table in an error state stating this text. */
|
|
295
|
+
get errorText() {
|
|
296
|
+
return this.getAttribute("error-text") ?? "";
|
|
297
|
+
}
|
|
298
|
+
set errorText(value) {
|
|
299
|
+
if (value) {
|
|
300
|
+
this.setAttribute("error-text", value);
|
|
301
|
+
}
|
|
302
|
+
else {
|
|
303
|
+
this.removeAttribute("error-text");
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
/** Ids of the rows whose detail is expanded (host-readable). */
|
|
307
|
+
get expandedRows() {
|
|
308
|
+
return [...this.expandedIds];
|
|
309
|
+
}
|
|
95
310
|
get columns() {
|
|
96
311
|
return this.parseJson("columns", []);
|
|
97
312
|
}
|
|
@@ -138,12 +353,35 @@ export class BoxTableElement extends BaseElement {
|
|
|
138
353
|
return fallback;
|
|
139
354
|
}
|
|
140
355
|
}
|
|
141
|
-
|
|
356
|
+
cellValue(row, column, index) {
|
|
142
357
|
if (Array.isArray(row.cells)) {
|
|
143
358
|
return row.cells[index] ?? "";
|
|
144
359
|
}
|
|
145
360
|
return row.cells[column.key] ?? "";
|
|
146
361
|
}
|
|
362
|
+
/**
|
|
363
|
+
* Descriptor rendering. Everything is escaped; a link with a non-http(s)
|
|
364
|
+
* href renders as plain text; a badge's tone colours a word that already
|
|
365
|
+
* carries the meaning.
|
|
366
|
+
*/
|
|
367
|
+
cellMarkup(value) {
|
|
368
|
+
if (!isCellDescriptor(value)) {
|
|
369
|
+
return escapeHtml(typeof value === "string" ? value : "");
|
|
370
|
+
}
|
|
371
|
+
if (value.kind === "badge") {
|
|
372
|
+
const tone = value.tone && CELL_TONES.has(value.tone) ? value.tone : "neutral";
|
|
373
|
+
const toneVar = tone === "neutral"
|
|
374
|
+
? "var(--boe-token-text-text-secondary, #6f6f6f)"
|
|
375
|
+
: tone === "brand"
|
|
376
|
+
? "var(--boe-token-surface-surface-brand, #0061d5)"
|
|
377
|
+
: `var(--boe-token-surface-status-surface-${tone}, #6f6f6f)`;
|
|
378
|
+
return `<span part="cell-badge" style="--cell-tone:${toneVar};">${escapeHtml(value.text)}</span>`;
|
|
379
|
+
}
|
|
380
|
+
if (value.kind === "link" && value.href && isSafeHref(value.href)) {
|
|
381
|
+
return `<a part="cell-link" href="${escapeHtml(value.href)}">${escapeHtml(value.text)}</a>`;
|
|
382
|
+
}
|
|
383
|
+
return escapeHtml(value.text);
|
|
384
|
+
}
|
|
147
385
|
renderTemplate() {
|
|
148
386
|
if (!this.shadowRoot)
|
|
149
387
|
return;
|
|
@@ -167,6 +405,11 @@ export class BoxTableElement extends BaseElement {
|
|
|
167
405
|
this.toggleSort(th.dataset.key ?? "");
|
|
168
406
|
});
|
|
169
407
|
this.bodyEl.addEventListener("click", event => {
|
|
408
|
+
const expander = event.target.closest('[part="expander"]');
|
|
409
|
+
if (expander) {
|
|
410
|
+
this.toggleRowDetail(expander.dataset.rowId ?? "");
|
|
411
|
+
return; // expanding is not selecting
|
|
412
|
+
}
|
|
170
413
|
const row = event.target.closest('[part="row"]');
|
|
171
414
|
if (!row)
|
|
172
415
|
return;
|
|
@@ -178,7 +421,33 @@ export class BoxTableElement extends BaseElement {
|
|
|
178
421
|
rowElements() {
|
|
179
422
|
return Array.from(this.bodyEl.querySelectorAll('[part="row"]'));
|
|
180
423
|
}
|
|
424
|
+
toggleRowDetail(rowId) {
|
|
425
|
+
if (!rowId)
|
|
426
|
+
return;
|
|
427
|
+
const expanded = !this.expandedIds.has(rowId);
|
|
428
|
+
if (expanded) {
|
|
429
|
+
this.expandedIds.add(rowId);
|
|
430
|
+
}
|
|
431
|
+
else {
|
|
432
|
+
this.expandedIds.delete(rowId);
|
|
433
|
+
}
|
|
434
|
+
this.dispatchEvent(new CustomEvent("row-toggled", {
|
|
435
|
+
bubbles: true,
|
|
436
|
+
composed: true,
|
|
437
|
+
detail: { rowId, expanded },
|
|
438
|
+
}));
|
|
439
|
+
this.update();
|
|
440
|
+
// update() rewrote the body, destroying the button that was activated;
|
|
441
|
+
// put focus on its replacement so a keyboard user is not dropped.
|
|
442
|
+
this.bodyEl
|
|
443
|
+
.querySelector(`[part="expander"][data-row-id="${cssAttrValue(rowId)}"]`)
|
|
444
|
+
?.focus();
|
|
445
|
+
}
|
|
181
446
|
onBodyKeydown(event) {
|
|
447
|
+
// Keys aimed at the expander button (Enter/Space activate it natively)
|
|
448
|
+
// must not double as row selection.
|
|
449
|
+
if (event.target.closest('[part="expander"]'))
|
|
450
|
+
return;
|
|
182
451
|
const rows = this.rowElements();
|
|
183
452
|
if (rows.length === 0)
|
|
184
453
|
return;
|
|
@@ -225,7 +494,11 @@ export class BoxTableElement extends BaseElement {
|
|
|
225
494
|
const currentKey = this.getAttribute("sort-key");
|
|
226
495
|
const currentDir = this.getAttribute("sort-direction");
|
|
227
496
|
const direction = currentKey === key && currentDir === "ascending" ? "descending" : "ascending";
|
|
228
|
-
this.dispatchEvent(new CustomEvent("sort", {
|
|
497
|
+
this.dispatchEvent(new CustomEvent("sort", {
|
|
498
|
+
bubbles: true,
|
|
499
|
+
composed: true,
|
|
500
|
+
detail: { key, direction },
|
|
501
|
+
}));
|
|
229
502
|
}
|
|
230
503
|
activateRow(index, options = {}) {
|
|
231
504
|
const rows = this.rows;
|
|
@@ -283,41 +556,81 @@ export class BoxTableElement extends BaseElement {
|
|
|
283
556
|
const selectable = this.selectionMode !== "none";
|
|
284
557
|
const sortKey = this.getAttribute("sort-key");
|
|
285
558
|
const sortDir = this.getAttribute("sort-direction");
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
559
|
+
// A non-string detail is malformed input, not a crash: it gets no expander.
|
|
560
|
+
const expandable = rows.some(row => typeof row.detail === "string");
|
|
561
|
+
const columnCount = columns.length + (expandable ? 1 : 0);
|
|
562
|
+
const tableEl = this.shadowRoot?.querySelector('[part="table"]');
|
|
563
|
+
tableEl?.setAttribute("aria-label", this.label);
|
|
564
|
+
tableEl?.setAttribute("role", selectable ? "grid" : "table");
|
|
565
|
+
if (this.loading) {
|
|
566
|
+
tableEl?.setAttribute("aria-busy", "true");
|
|
567
|
+
}
|
|
568
|
+
else {
|
|
569
|
+
tableEl?.removeAttribute("aria-busy");
|
|
570
|
+
}
|
|
571
|
+
this.headEl.innerHTML =
|
|
572
|
+
(expandable ? `<th scope="col" aria-label="Row details"></th>` : "") +
|
|
573
|
+
columns
|
|
574
|
+
.map(column => {
|
|
575
|
+
const align = alignAttr(column.align);
|
|
576
|
+
if (column.sortable) {
|
|
577
|
+
const sorted = sortKey === column.key;
|
|
578
|
+
const sort = sorted
|
|
579
|
+
? ` aria-sort="${sortDir === "descending" ? "descending" : "ascending"}"`
|
|
580
|
+
: ' aria-sort="none"';
|
|
581
|
+
// The state, in words as well as the arrow glyph.
|
|
582
|
+
const stateLabel = sorted
|
|
583
|
+
? `, sorted ${sortDir === "descending" ? "descending" : "ascending"}`
|
|
584
|
+
: ", not sorted";
|
|
585
|
+
return `<th part="sortable" scope="col" data-key="${escapeHtml(column.key)}"${align}${sort}><button type="button" part="sort-button" aria-label="Sort by ${escapeHtml(column.label)}${stateLabel}">${escapeHtml(column.label)}<span class="boe-sort-arrow" aria-hidden="true"></span></button></th>`;
|
|
586
|
+
}
|
|
587
|
+
return `<th scope="col"${align}>${escapeHtml(column.label)}</th>`;
|
|
588
|
+
})
|
|
589
|
+
.join("");
|
|
590
|
+
// Loading, error, and empty are stated in words in the body — a blank
|
|
591
|
+
// grid reads as broken. Loading wins; a stale error must not outlive a
|
|
592
|
+
// retry that is visibly in flight.
|
|
593
|
+
if (this.loading) {
|
|
594
|
+
this.bodyEl.innerHTML = `<tr part="state-row" data-state="loading" role="row"><td role="${selectable ? "gridcell" : "cell"}" colspan="${String(columnCount)}"><span part="state-spinner" aria-hidden="true"></span>Loading rows…</td></tr>`;
|
|
595
|
+
return;
|
|
596
|
+
}
|
|
597
|
+
if (this.errorText) {
|
|
598
|
+
this.bodyEl.innerHTML = `<tr part="state-row" data-state="error" role="row"><td role="${selectable ? "gridcell" : "cell"}" colspan="${String(columnCount)}">${escapeHtml(this.errorText)}</td></tr>`;
|
|
599
|
+
return;
|
|
600
|
+
}
|
|
601
|
+
if (rows.length === 0) {
|
|
602
|
+
this.bodyEl.innerHTML = `<tr part="state-row" data-state="empty" role="row"><td role="${selectable ? "gridcell" : "cell"}" colspan="${String(columnCount)}">${escapeHtml(this.emptyText)}</td></tr>`;
|
|
603
|
+
return;
|
|
604
|
+
}
|
|
298
605
|
this.bodyEl.innerHTML = rows
|
|
299
606
|
.map((row, index) => {
|
|
300
607
|
const selected = this.selected.has(row.id);
|
|
608
|
+
const cellRole = selectable ? ' role="gridcell"' : ' role="cell"';
|
|
301
609
|
const rowAttrs = selectable
|
|
302
610
|
? ` part="row" role="row" tabindex="${index === 0 ? "0" : "-1"}" aria-selected="${selected}"`
|
|
303
611
|
: ' part="row" role="row"';
|
|
612
|
+
const expanded = this.expandedIds.has(row.id);
|
|
613
|
+
const expanderCell = expandable
|
|
614
|
+
? `<td${cellRole} part="expander-cell">${typeof row.detail === "string"
|
|
615
|
+
? `<button type="button" part="expander" data-row-id="${escapeHtml(row.id)}" aria-expanded="${String(expanded)}" aria-label="${expanded ? "Hide" : "Show"} details for row ${escapeHtml(row.id)}"></button>`
|
|
616
|
+
: ""}</td>`
|
|
617
|
+
: "";
|
|
304
618
|
const cells = columns
|
|
305
|
-
.map(column => {
|
|
306
|
-
const align = column.align
|
|
307
|
-
const
|
|
308
|
-
return `<td${align}${
|
|
619
|
+
.map((column, columnIndex) => {
|
|
620
|
+
const align = alignAttr(column.align);
|
|
621
|
+
const value = this.cellValue(row, column, columnIndex);
|
|
622
|
+
return `<td${align}${cellRole} data-label="${escapeHtml(column.label)}">${this.cellMarkup(value)}</td>`;
|
|
309
623
|
})
|
|
310
624
|
.join("");
|
|
311
|
-
|
|
625
|
+
const rowMarkup = `<tr${rowAttrs} data-index="${index}" data-id="${escapeHtml(row.id)}">${expanderCell}${cells}</tr>`;
|
|
626
|
+
// The detail row renders only while expanded, keeping the roving
|
|
627
|
+
// tabindex and shift-range math on visible [part="row"] rows only.
|
|
628
|
+
const detailRow = typeof row.detail === "string" && expanded
|
|
629
|
+
? `<tr part="detail-row" role="row" data-for="${escapeHtml(row.id)}"><td${cellRole} colspan="${String(columnCount)}">${escapeHtml(row.detail)}<slot name="detail-${escapeHtml(row.id)}"></slot></td></tr>`
|
|
630
|
+
: "";
|
|
631
|
+
return rowMarkup + detailRow;
|
|
312
632
|
})
|
|
313
633
|
.join("");
|
|
314
634
|
}
|
|
315
635
|
}
|
|
316
|
-
|
|
317
|
-
const existingElement = customElements.get(tagName);
|
|
318
|
-
if (existingElement) {
|
|
319
|
-
return existingElement;
|
|
320
|
-
}
|
|
321
|
-
customElements.define(tagName, BoxTableElement);
|
|
322
|
-
return BoxTableElement;
|
|
323
|
-
};
|
|
636
|
+
Table.register();
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BaseElement } from "../../core/index.js";
|
|
2
|
-
export declare class
|
|
2
|
+
export declare class ThumbnailCard extends BaseElement {
|
|
3
|
+
static readonly tagName: string;
|
|
3
4
|
static get observedAttributes(): string[];
|
|
4
5
|
private cardEl;
|
|
5
6
|
private titleEl;
|
|
@@ -16,4 +17,3 @@ export declare class BoxThumbnailCardElement extends BaseElement {
|
|
|
16
17
|
private activate;
|
|
17
18
|
protected update(): void;
|
|
18
19
|
}
|
|
19
|
-
export declare const defineBoxThumbnailCardElement: (tagName?: string) => typeof BoxThumbnailCardElement;
|
|
@@ -105,7 +105,8 @@ const thumbnailCardStyles = `
|
|
|
105
105
|
display: none;
|
|
106
106
|
}
|
|
107
107
|
`;
|
|
108
|
-
export class
|
|
108
|
+
export class ThumbnailCard extends BaseElement {
|
|
109
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
109
110
|
static get observedAttributes() {
|
|
110
111
|
return ["title", "subtitle", "interactive", "highlight-on-hover"];
|
|
111
112
|
}
|
|
@@ -200,11 +201,4 @@ export class BoxThumbnailCardElement extends BaseElement {
|
|
|
200
201
|
}
|
|
201
202
|
}
|
|
202
203
|
}
|
|
203
|
-
|
|
204
|
-
const existingElement = customElements.get(tagName);
|
|
205
|
-
if (existingElement) {
|
|
206
|
-
return existingElement;
|
|
207
|
-
}
|
|
208
|
-
customElements.define(tagName, BoxThumbnailCardElement);
|
|
209
|
-
return BoxThumbnailCardElement;
|
|
210
|
-
};
|
|
204
|
+
ThumbnailCard.register();
|
|
@@ -9,7 +9,8 @@ type BoxTreeGridItem = {
|
|
|
9
9
|
label: string;
|
|
10
10
|
value: string;
|
|
11
11
|
};
|
|
12
|
-
export declare class
|
|
12
|
+
export declare class TreeGrid extends BaseElement {
|
|
13
|
+
static readonly tagName: string;
|
|
13
14
|
static get observedAttributes(): string[];
|
|
14
15
|
private expandedInternal;
|
|
15
16
|
private valueInternal;
|
|
@@ -43,5 +44,4 @@ export declare class BoxTreeGridElement extends BaseElement {
|
|
|
43
44
|
protected setupListeners(): void;
|
|
44
45
|
protected update(): void;
|
|
45
46
|
}
|
|
46
|
-
export declare const defineBoxTreeGridElement: (tagName?: string) => typeof BoxTreeGridElement;
|
|
47
47
|
export {};
|
|
@@ -220,7 +220,8 @@ const treeGridStyles = `
|
|
|
220
220
|
color: var(--boe-token-text-text-secondary, #6f6f6f);
|
|
221
221
|
}
|
|
222
222
|
`;
|
|
223
|
-
export class
|
|
223
|
+
export class TreeGrid extends BaseElement {
|
|
224
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
224
225
|
static get observedAttributes() {
|
|
225
226
|
return ["columns", "items", "label", "value"];
|
|
226
227
|
}
|
|
@@ -583,11 +584,4 @@ export class BoxTreeGridElement extends BaseElement {
|
|
|
583
584
|
}
|
|
584
585
|
}
|
|
585
586
|
}
|
|
586
|
-
|
|
587
|
-
const existingElement = customElements.get(tagName);
|
|
588
|
-
if (existingElement) {
|
|
589
|
-
return existingElement;
|
|
590
|
-
}
|
|
591
|
-
customElements.define(tagName, BoxTreeGridElement);
|
|
592
|
-
return BoxTreeGridElement;
|
|
593
|
-
};
|
|
587
|
+
TreeGrid.register();
|
|
@@ -4,7 +4,8 @@ type BoxTreeItem = {
|
|
|
4
4
|
label: string;
|
|
5
5
|
value?: string;
|
|
6
6
|
};
|
|
7
|
-
export declare class
|
|
7
|
+
export declare class Tree extends BaseElement {
|
|
8
|
+
static readonly tagName: string;
|
|
8
9
|
static get observedAttributes(): string[];
|
|
9
10
|
private expandedInternal;
|
|
10
11
|
private valueInternal;
|
|
@@ -33,5 +34,4 @@ export declare class BoxTreeElement extends BaseElement {
|
|
|
33
34
|
protected setupListeners(): void;
|
|
34
35
|
protected update(): void;
|
|
35
36
|
}
|
|
36
|
-
export declare const defineBoxTreeElement: (tagName?: string) => typeof BoxTreeElement;
|
|
37
37
|
export {};
|
|
@@ -198,7 +198,8 @@ const treeStyles = `
|
|
|
198
198
|
outline-offset: 2px;
|
|
199
199
|
}
|
|
200
200
|
`;
|
|
201
|
-
export class
|
|
201
|
+
export class Tree extends BaseElement {
|
|
202
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
202
203
|
static get observedAttributes() {
|
|
203
204
|
return ["items", "label", "value"];
|
|
204
205
|
}
|
|
@@ -516,11 +517,4 @@ export class BoxTreeElement extends BaseElement {
|
|
|
516
517
|
}
|
|
517
518
|
}
|
|
518
519
|
}
|
|
519
|
-
|
|
520
|
-
const existingElement = customElements.get(tagName);
|
|
521
|
-
if (existingElement) {
|
|
522
|
-
return existingElement;
|
|
523
|
-
}
|
|
524
|
-
customElements.define(tagName, BoxTreeElement);
|
|
525
|
-
return BoxTreeElement;
|
|
526
|
-
};
|
|
520
|
+
Tree.register();
|