@unofficialbox/box-open-elements 0.3.0 → 0.5.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 +37 -12
- 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 +11 -2
- package/dist/components/actions/link-button.js +58 -13
- 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 +9 -2
- package/dist/components/collections/carousel.js +74 -13
- package/dist/components/collections/datalist-item.d.ts +8 -2
- package/dist/components/collections/datalist-item.js +42 -10
- package/dist/components/collections/draggable-list.d.ts +2 -2
- package/dist/components/collections/draggable-list.js +4 -10
- package/dist/components/collections/grid-view.d.ts +2 -2
- package/dist/components/collections/grid-view.js +10 -12
- package/dist/components/collections/pagination.d.ts +2 -2
- package/dist/components/collections/pagination.js +3 -9
- package/dist/components/collections/table.d.ts +2 -2
- package/dist/components/collections/table.js +3 -9
- 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 +4 -2
- package/dist/components/feedback/alert.js +33 -10
- package/dist/components/feedback/badge.d.ts +12 -2
- package/dist/components/feedback/badge.js +73 -13
- package/dist/components/feedback/badgeable.d.ts +2 -2
- package/dist/components/feedback/badgeable.js +3 -9
- package/dist/components/feedback/chip.d.ts +7 -2
- package/dist/components/feedback/chip.js +77 -11
- 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 +4 -2
- package/dist/components/feedback/error-mask.js +26 -9
- package/dist/components/feedback/help-text.d.ts +2 -2
- package/dist/components/feedback/help-text.js +10 -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 +2 -2
- package/dist/components/feedback/progress-steps.js +3 -9
- package/dist/components/feedback/skeleton.d.ts +2 -2
- package/dist/components/feedback/skeleton.js +3 -9
- package/dist/components/feedback/spinner.d.ts +6 -2
- package/dist/components/feedback/spinner.js +33 -11
- package/dist/components/feedback/toast.d.ts +7 -2
- package/dist/components/feedback/toast.js +62 -20
- 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 +13 -2
- package/dist/components/forms/category-selector.js +214 -26
- 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 +8 -2
- package/dist/components/forms/checkbox.js +61 -10
- 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 +32 -3
- package/dist/components/forms/combobox.js +351 -53
- package/dist/components/forms/date-field.d.ts +9 -2
- package/dist/components/forms/date-field.js +76 -10
- package/dist/components/forms/dropdown.d.ts +7 -2
- package/dist/components/forms/dropdown.js +35 -12
- 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 +11 -10
- package/dist/components/forms/radio-group.js +46 -15
- 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 +10 -2
- package/dist/components/forms/search-field.js +58 -22
- package/dist/components/forms/select.d.ts +20 -10
- package/dist/components/forms/select.js +107 -23
- 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 +15 -2
- package/dist/components/forms/text-field.js +139 -10
- package/dist/components/forms/time-field.d.ts +13 -2
- package/dist/components/forms/time-field.js +54 -9
- package/dist/components/identity/avatar.d.ts +6 -2
- package/dist/components/identity/avatar.js +68 -10
- package/dist/components/identity/contact-datalist-item.d.ts +10 -2
- package/dist/components/identity/contact-datalist-item.js +74 -11
- 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 +2 -2
- package/dist/components/layout/nav-sidebar.js +26 -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 +5 -2
- package/dist/components/layout/sidebar-toggle-button.js +24 -11
- package/dist/components/layout/split-view.d.ts +2 -2
- package/dist/components/layout/split-view.js +3 -9
- package/dist/components/navigation/accordion.d.ts +5 -2
- package/dist/components/navigation/accordion.js +20 -11
- 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/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 +2 -2
- package/dist/components/overlays/drawer.js +3 -9
- package/dist/components/overlays/guide-tooltip.d.ts +51 -0
- package/dist/components/overlays/guide-tooltip.js +355 -0
- package/dist/components/overlays/popover.d.ts +2 -2
- package/dist/components/overlays/popover.js +3 -9
- package/dist/components/overlays/tooltip.d.ts +12 -2
- package/dist/components/overlays/tooltip.js +77 -20
- 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/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/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/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/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/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/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/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/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/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/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/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/sidebar-toggle-button.d.ts +1 -0
- package/dist/entries/sidebar-toggle-button.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/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/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/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/overlay/positioning.js +5 -1
- 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 +7 -2
- package/dist/index.js +4 -1
- 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/content-explorer.d.ts +15 -15
- package/dist/patterns/content-explorer/content-explorer.js +5 -11
- 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/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/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/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/preview/annotation-inspector.d.ts +2 -2
- package/dist/patterns/preview/annotation-inspector.js +3 -9
- package/dist/patterns/preview/annotation-thread.d.ts +2 -2
- package/dist/patterns/preview/annotation-thread.js +3 -9
- package/dist/patterns/preview/annotation-toolbar.d.ts +2 -2
- package/dist/patterns/preview/annotation-toolbar.js +3 -9
- package/dist/patterns/preview/preview-element.d.ts +2 -2
- package/dist/patterns/preview/preview-element.js +3 -9
- 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/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/package.json +5 -1
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { applyDesignTokens, registerBoxDarkDesignSystem, registerBoxDefaultDesignSystem, setActiveDesignSystem, } from "../tokens/index.js";
|
|
2
|
+
export const THEME_CHANGE_EVENT = "boe:theme-change";
|
|
3
|
+
export const DEFAULT_THEME_STORAGE_KEY = "boe-theme";
|
|
4
|
+
export const DARK_MODE_MEDIA_QUERY = "(prefers-color-scheme: dark)";
|
|
5
|
+
const isThemePreference = (value) => value === "light" || value === "dark" || value === "system";
|
|
6
|
+
const resolveDefaultRoot = () => typeof document === "undefined" ? null : document.documentElement;
|
|
7
|
+
const resolveDefaultStorage = () => {
|
|
8
|
+
try {
|
|
9
|
+
return typeof localStorage === "undefined" ? null : localStorage;
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
const resolveDefaultMediaQueryList = () => typeof matchMedia === "function" ? matchMedia(DARK_MODE_MEDIA_QUERY) : null;
|
|
16
|
+
const safeStoredPreference = (storage, storageKey) => {
|
|
17
|
+
if (!storage || !storageKey) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
const value = storage.getItem(storageKey);
|
|
22
|
+
return isThemePreference(value) ? value : null;
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const persistPreference = (storage, storageKey, preference) => {
|
|
29
|
+
if (!storage || !storageKey) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
storage.setItem(storageKey, preference);
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
// Storage may be unavailable in privacy-restricted or embedded contexts.
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const escapeInlineScriptValue = (value) => JSON.stringify(value).replaceAll("<", "\\u003c");
|
|
40
|
+
export const createThemeInitializationScript = (options = {}) => {
|
|
41
|
+
const preference = options.preference ?? "system";
|
|
42
|
+
const storageKey = options.storageKey === undefined
|
|
43
|
+
? DEFAULT_THEME_STORAGE_KEY
|
|
44
|
+
: options.storageKey;
|
|
45
|
+
const themeAttribute = options.themeAttribute === undefined
|
|
46
|
+
? "data-theme"
|
|
47
|
+
: options.themeAttribute;
|
|
48
|
+
return `(() => {
|
|
49
|
+
const fallback = ${escapeInlineScriptValue(preference)};
|
|
50
|
+
let preference = fallback;
|
|
51
|
+
try {
|
|
52
|
+
const stored = ${storageKey ? `localStorage.getItem(${escapeInlineScriptValue(storageKey)})` : "null"};
|
|
53
|
+
if (stored === "light" || stored === "dark" || stored === "system") preference = stored;
|
|
54
|
+
} catch {}
|
|
55
|
+
const resolved = preference === "system"
|
|
56
|
+
? (typeof matchMedia === "function" && matchMedia(${escapeInlineScriptValue(DARK_MODE_MEDIA_QUERY)}).matches ? "dark" : "light")
|
|
57
|
+
: preference;
|
|
58
|
+
${themeAttribute ? `document.documentElement.setAttribute(${escapeInlineScriptValue(themeAttribute)}, resolved);` : ""}
|
|
59
|
+
document.documentElement.style.colorScheme = resolved;
|
|
60
|
+
})();`;
|
|
61
|
+
};
|
|
62
|
+
export const createThemeController = (options = {}) => {
|
|
63
|
+
const defaultPreference = options.preference ?? "system";
|
|
64
|
+
const storageKey = options.storageKey === undefined
|
|
65
|
+
? DEFAULT_THEME_STORAGE_KEY
|
|
66
|
+
: options.storageKey;
|
|
67
|
+
const lightDesignSystem = options.lightDesignSystem ?? "box-default";
|
|
68
|
+
const darkDesignSystem = options.darkDesignSystem ?? "box-dark";
|
|
69
|
+
const themeAttribute = options.themeAttribute === undefined
|
|
70
|
+
? "data-theme"
|
|
71
|
+
: options.themeAttribute;
|
|
72
|
+
const shouldApplyColorScheme = options.applyColorScheme ?? true;
|
|
73
|
+
let preference = defaultPreference;
|
|
74
|
+
let resolvedTheme = "light";
|
|
75
|
+
let root = options.root ?? null;
|
|
76
|
+
let storage = options.storage ?? null;
|
|
77
|
+
let mediaQueryList = options.mediaQueryList ?? null;
|
|
78
|
+
const shouldResolveDefaultStorage = options.storage === undefined;
|
|
79
|
+
const shouldResolveDefaultMediaQuery = options.mediaQueryList === undefined;
|
|
80
|
+
let started = false;
|
|
81
|
+
let appliedVariables = new Set();
|
|
82
|
+
const resolveTheme = () => preference === "system"
|
|
83
|
+
? (mediaQueryList?.matches ? "dark" : "light")
|
|
84
|
+
: preference;
|
|
85
|
+
const emitThemeChange = (designSystemName) => {
|
|
86
|
+
if (!root || typeof CustomEvent === "undefined") {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
root.dispatchEvent(new CustomEvent(THEME_CHANGE_EVENT, {
|
|
90
|
+
bubbles: true,
|
|
91
|
+
composed: true,
|
|
92
|
+
detail: {
|
|
93
|
+
preference,
|
|
94
|
+
resolvedTheme,
|
|
95
|
+
designSystemName,
|
|
96
|
+
},
|
|
97
|
+
}));
|
|
98
|
+
};
|
|
99
|
+
const applyTheme = () => {
|
|
100
|
+
if (!root) {
|
|
101
|
+
throw new Error("ThemeController requires a root HTMLElement");
|
|
102
|
+
}
|
|
103
|
+
resolvedTheme = resolveTheme();
|
|
104
|
+
const designSystemName = resolvedTheme === "dark"
|
|
105
|
+
? darkDesignSystem
|
|
106
|
+
: lightDesignSystem;
|
|
107
|
+
setActiveDesignSystem(designSystemName);
|
|
108
|
+
const nextVariables = new Set(applyDesignTokens(root, designSystemName));
|
|
109
|
+
for (const variable of appliedVariables) {
|
|
110
|
+
if (!nextVariables.has(variable)) {
|
|
111
|
+
root.style.removeProperty(variable);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
appliedVariables = nextVariables;
|
|
115
|
+
if (themeAttribute) {
|
|
116
|
+
root.setAttribute(themeAttribute, resolvedTheme);
|
|
117
|
+
}
|
|
118
|
+
if (shouldApplyColorScheme) {
|
|
119
|
+
root.style.colorScheme = resolvedTheme;
|
|
120
|
+
}
|
|
121
|
+
emitThemeChange(designSystemName);
|
|
122
|
+
};
|
|
123
|
+
const handleSystemThemeChange = () => {
|
|
124
|
+
if (started && preference === "system") {
|
|
125
|
+
applyTheme();
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
const start = () => {
|
|
129
|
+
if (started) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
root ??= resolveDefaultRoot();
|
|
133
|
+
if (shouldResolveDefaultStorage) {
|
|
134
|
+
storage = resolveDefaultStorage();
|
|
135
|
+
}
|
|
136
|
+
if (shouldResolveDefaultMediaQuery) {
|
|
137
|
+
mediaQueryList = resolveDefaultMediaQueryList();
|
|
138
|
+
}
|
|
139
|
+
if (!root) {
|
|
140
|
+
throw new Error("ThemeController cannot start without a document root");
|
|
141
|
+
}
|
|
142
|
+
if (options.registerBuiltIns ?? true) {
|
|
143
|
+
registerBoxDefaultDesignSystem();
|
|
144
|
+
registerBoxDarkDesignSystem();
|
|
145
|
+
}
|
|
146
|
+
preference = safeStoredPreference(storage, storageKey) ?? defaultPreference;
|
|
147
|
+
mediaQueryList?.addEventListener("change", handleSystemThemeChange);
|
|
148
|
+
started = true;
|
|
149
|
+
applyTheme();
|
|
150
|
+
};
|
|
151
|
+
const stop = () => {
|
|
152
|
+
if (!started) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
mediaQueryList?.removeEventListener("change", handleSystemThemeChange);
|
|
156
|
+
started = false;
|
|
157
|
+
};
|
|
158
|
+
const setPreference = (nextPreference) => {
|
|
159
|
+
if (!isThemePreference(nextPreference)) {
|
|
160
|
+
throw new Error(`Unknown theme preference: ${String(nextPreference)}`);
|
|
161
|
+
}
|
|
162
|
+
preference = nextPreference;
|
|
163
|
+
persistPreference(storage, storageKey, preference);
|
|
164
|
+
if (started) {
|
|
165
|
+
applyTheme();
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
return {
|
|
169
|
+
start,
|
|
170
|
+
stop,
|
|
171
|
+
toggle: () => setPreference(resolvedTheme === "dark" ? "light" : "dark"),
|
|
172
|
+
setPreference,
|
|
173
|
+
getPreference: () => preference,
|
|
174
|
+
getResolvedTheme: () => resolvedTheme,
|
|
175
|
+
};
|
|
176
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { DARK_MODE_MEDIA_QUERY, DEFAULT_THEME_STORAGE_KEY, THEME_CHANGE_EVENT, createThemeController, createThemeInitializationScript, } from "./controller.js";
|
|
2
|
+
export type { ResolvedTheme, ThemeChangeDetail, ThemeController, ThemeControllerOptions, ThemeInitializationScriptOptions, ThemePreference, } from "./controller.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DARK_MODE_MEDIA_QUERY, DEFAULT_THEME_STORAGE_KEY, THEME_CHANGE_EVENT, createThemeController, createThemeInitializationScript, } from "./controller.js";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { RegisteredDesignSystemDefinition } from "./types.js";
|
|
2
2
|
/**
|
|
3
3
|
* Box dark theme. Same token keys, icons, and illustrations as
|
|
4
4
|
* `boxDefaultDesignSystem` — only the surface / text / stroke / status values
|
|
5
5
|
* change, so every component that consumes `--boe-token-*` re-themes with no
|
|
6
6
|
* markup change when this bundle is made active.
|
|
7
7
|
*/
|
|
8
|
-
export declare const boxDarkDesignSystem:
|
|
8
|
+
export declare const boxDarkDesignSystem: RegisteredDesignSystemDefinition;
|
|
9
9
|
export declare const registerBoxDarkDesignSystem: (options?: {
|
|
10
10
|
setActive?: boolean;
|
|
11
|
-
}) =>
|
|
11
|
+
}) => RegisteredDesignSystemDefinition;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const boxDefaultDesignSystem:
|
|
1
|
+
import type { RegisteredDesignSystemDefinition } from "./types.js";
|
|
2
|
+
export declare const boxDefaultDesignSystem: RegisteredDesignSystemDefinition;
|
|
3
3
|
export declare const registerBoxDefaultDesignSystem: (options?: {
|
|
4
4
|
setActive?: boolean;
|
|
5
|
-
}) =>
|
|
5
|
+
}) => RegisteredDesignSystemDefinition;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { DESIGN_SYSTEM_CHANGE_EVENT, applyDesignTokens, createDesignTokenStyleText, getActiveDesignSystem, getDesignSystem, listDesignSystems, registerDesignSystem, resolveDesignIcon, resolveDesignIllustration, resolveDesignSystemTokens, setActiveDesignSystem, } from "./registry.js";
|
|
1
|
+
export { DESIGN_SYSTEM_CHANGE_EVENT, SEMANTIC_TOKEN_ALIASES, applyDesignTokens, createDesignTokenStyleText, getActiveDesignSystem, getDesignSystem, listDesignSystems, normalizeDesignTokens, registerDesignSystem, resolveDesignIcon, resolveDesignIllustration, resolveDesignSystemTokens, setActiveDesignSystem, } from "./registry.js";
|
|
2
2
|
export { boxDefaultDesignSystem, registerBoxDefaultDesignSystem } from "./box-defaults.js";
|
|
3
3
|
export { boxDarkDesignSystem, registerBoxDarkDesignSystem } from "./box-dark.js";
|
|
4
4
|
export { boeBrandInteractiveStyles, boeFocusRingShadow, boeFocusVisibleStyles, boeNeutralInteractiveStyles, } from "./interaction.js";
|
|
5
|
-
export type { ApplyDesignTokensOptions, DesignAssetRenderContext, DesignAssetRenderer, DesignSystemDefinition, DesignTokenMap, } from "./types.js";
|
|
5
|
+
export type { ApplyDesignTokensOptions, DesignAssetRenderContext, DesignAssetRenderer, DesignSystemDefinition, DesignTokenInput, DesignTokenMap, RegisteredDesignSystemDefinition, SemanticDesignTokenMap, } from "./types.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { DESIGN_SYSTEM_CHANGE_EVENT, applyDesignTokens, createDesignTokenStyleText, getActiveDesignSystem, getDesignSystem, listDesignSystems, registerDesignSystem, resolveDesignIcon, resolveDesignIllustration, resolveDesignSystemTokens, setActiveDesignSystem, } from "./registry.js";
|
|
1
|
+
export { DESIGN_SYSTEM_CHANGE_EVENT, SEMANTIC_TOKEN_ALIASES, applyDesignTokens, createDesignTokenStyleText, getActiveDesignSystem, getDesignSystem, listDesignSystems, normalizeDesignTokens, registerDesignSystem, resolveDesignIcon, resolveDesignIllustration, resolveDesignSystemTokens, setActiveDesignSystem, } from "./registry.js";
|
|
2
2
|
export { boxDefaultDesignSystem, registerBoxDefaultDesignSystem } from "./box-defaults.js";
|
|
3
3
|
export { boxDarkDesignSystem, registerBoxDarkDesignSystem } from "./box-dark.js";
|
|
4
4
|
export { boeBrandInteractiveStyles, boeFocusRingShadow, boeFocusVisibleStyles, boeNeutralInteractiveStyles, } from "./interaction.js";
|
|
@@ -1,14 +1,44 @@
|
|
|
1
|
-
import type { ApplyDesignTokensOptions, DesignSystemDefinition, DesignTokenMap } from "./types.js";
|
|
1
|
+
import type { ApplyDesignTokensOptions, DesignSystemDefinition, DesignTokenInput, DesignTokenMap, RegisteredDesignSystemDefinition } from "./types.js";
|
|
2
2
|
export declare const DESIGN_SYSTEM_CHANGE_EVENT = "boe:design-system-change";
|
|
3
|
+
export declare const SEMANTIC_TOKEN_ALIASES: {
|
|
4
|
+
readonly fontFamilyBase: "FontFamilyBase";
|
|
5
|
+
readonly surfacePrimary: "SurfaceSurface";
|
|
6
|
+
readonly surfacePrimaryHover: "SurfaceSurfaceHover";
|
|
7
|
+
readonly surfaceSecondary: "SurfaceSurfaceSecondary";
|
|
8
|
+
readonly surfaceTertiary: "SurfaceSurfaceTertiary";
|
|
9
|
+
readonly surfaceQuaternary: "SurfaceSurfaceQuaternary";
|
|
10
|
+
readonly surfaceBrand: "SurfaceSurfaceBrand";
|
|
11
|
+
readonly surfaceBrandHover: "SurfaceSurfaceBrandHover";
|
|
12
|
+
readonly surfaceBrandPressed: "SurfaceSurfaceBrandPressed";
|
|
13
|
+
readonly surfaceSearch: "SurfaceSearchSurface";
|
|
14
|
+
readonly surfaceItemSelected: "SurfaceItemSurfaceSelected";
|
|
15
|
+
readonly surfaceItemHover: "SurfaceItemSurfaceHover";
|
|
16
|
+
readonly surfaceTooltip: "SurfaceTooltipSurface";
|
|
17
|
+
readonly surfaceStatusSuccess: "SurfaceStatusSurfaceSuccess";
|
|
18
|
+
readonly surfaceStatusError: "SurfaceStatusSurfaceError";
|
|
19
|
+
readonly surfaceStatusInProgress: "SurfaceStatusSurfaceInprogress";
|
|
20
|
+
readonly surfaceStatusAccent: "SurfaceStatusSurfaceAccent";
|
|
21
|
+
readonly surfaceIllustrationBoxNeutral: "SurfaceIllustrationSurfaceBoxNeutral";
|
|
22
|
+
readonly surfaceBadgeFolderShared: "SurfaceBadgeFoldersharedSurface";
|
|
23
|
+
readonly surfaceBadgePdf: "SurfaceBadgePdfSurface";
|
|
24
|
+
readonly textPrimary: "TextText";
|
|
25
|
+
readonly textSecondary: "TextTextSecondary";
|
|
26
|
+
readonly textPlaceholder: "TextTextPlaceholder";
|
|
27
|
+
readonly textOnBrand: "TextTextOnBrand";
|
|
28
|
+
readonly textDanger: "TextTextDanger";
|
|
29
|
+
readonly borderDefault: "StrokeStroke";
|
|
30
|
+
readonly borderHover: "StrokeStrokeHover";
|
|
31
|
+
};
|
|
32
|
+
export declare const normalizeDesignTokens: (tokens: DesignTokenInput) => DesignTokenMap;
|
|
3
33
|
export declare const registerDesignSystem: (definition: DesignSystemDefinition, options?: {
|
|
4
34
|
setActive?: boolean;
|
|
5
|
-
}) =>
|
|
6
|
-
export declare const getDesignSystem: (name: string | null | undefined) =>
|
|
35
|
+
}) => RegisteredDesignSystemDefinition;
|
|
36
|
+
export declare const getDesignSystem: (name: string | null | undefined) => RegisteredDesignSystemDefinition | null;
|
|
7
37
|
export declare const setActiveDesignSystem: (name: string | null) => void;
|
|
8
|
-
export declare const getActiveDesignSystem: () =>
|
|
9
|
-
export declare const listDesignSystems: () =>
|
|
38
|
+
export declare const getActiveDesignSystem: () => RegisteredDesignSystemDefinition | null;
|
|
39
|
+
export declare const listDesignSystems: () => RegisteredDesignSystemDefinition[];
|
|
10
40
|
export declare const resolveDesignSystemTokens: (name?: string | null) => DesignTokenMap;
|
|
11
|
-
export declare const applyDesignTokens: (target: HTMLElement, tokensOrSystemName?:
|
|
12
|
-
export declare const createDesignTokenStyleText: (tokensOrSystemName?:
|
|
41
|
+
export declare const applyDesignTokens: (target: HTMLElement, tokensOrSystemName?: DesignTokenInput | string | null, options?: ApplyDesignTokensOptions) => string[];
|
|
42
|
+
export declare const createDesignTokenStyleText: (tokensOrSystemName?: DesignTokenInput | string | null, options?: ApplyDesignTokensOptions) => string;
|
|
13
43
|
export declare const resolveDesignIcon: (iconName: string, systemName?: string | null) => string | null;
|
|
14
44
|
export declare const resolveDesignIllustration: (illustrationName: string, systemName?: string | null) => string | null;
|
|
@@ -2,6 +2,50 @@ export const DESIGN_SYSTEM_CHANGE_EVENT = "boe:design-system-change";
|
|
|
2
2
|
const DEFAULT_TOKEN_PREFIX = "--boe-token-";
|
|
3
3
|
const designSystems = new Map();
|
|
4
4
|
let activeDesignSystemName = null;
|
|
5
|
+
export const SEMANTIC_TOKEN_ALIASES = {
|
|
6
|
+
fontFamilyBase: "FontFamilyBase",
|
|
7
|
+
surfacePrimary: "SurfaceSurface",
|
|
8
|
+
surfacePrimaryHover: "SurfaceSurfaceHover",
|
|
9
|
+
surfaceSecondary: "SurfaceSurfaceSecondary",
|
|
10
|
+
surfaceTertiary: "SurfaceSurfaceTertiary",
|
|
11
|
+
surfaceQuaternary: "SurfaceSurfaceQuaternary",
|
|
12
|
+
surfaceBrand: "SurfaceSurfaceBrand",
|
|
13
|
+
surfaceBrandHover: "SurfaceSurfaceBrandHover",
|
|
14
|
+
surfaceBrandPressed: "SurfaceSurfaceBrandPressed",
|
|
15
|
+
surfaceSearch: "SurfaceSearchSurface",
|
|
16
|
+
surfaceItemSelected: "SurfaceItemSurfaceSelected",
|
|
17
|
+
surfaceItemHover: "SurfaceItemSurfaceHover",
|
|
18
|
+
surfaceTooltip: "SurfaceTooltipSurface",
|
|
19
|
+
surfaceStatusSuccess: "SurfaceStatusSurfaceSuccess",
|
|
20
|
+
surfaceStatusError: "SurfaceStatusSurfaceError",
|
|
21
|
+
surfaceStatusInProgress: "SurfaceStatusSurfaceInprogress",
|
|
22
|
+
surfaceStatusAccent: "SurfaceStatusSurfaceAccent",
|
|
23
|
+
surfaceIllustrationBoxNeutral: "SurfaceIllustrationSurfaceBoxNeutral",
|
|
24
|
+
surfaceBadgeFolderShared: "SurfaceBadgeFoldersharedSurface",
|
|
25
|
+
surfaceBadgePdf: "SurfaceBadgePdfSurface",
|
|
26
|
+
textPrimary: "TextText",
|
|
27
|
+
textSecondary: "TextTextSecondary",
|
|
28
|
+
textPlaceholder: "TextTextPlaceholder",
|
|
29
|
+
textOnBrand: "TextTextOnBrand",
|
|
30
|
+
textDanger: "TextTextDanger",
|
|
31
|
+
borderDefault: "StrokeStroke",
|
|
32
|
+
borderHover: "StrokeStrokeHover",
|
|
33
|
+
};
|
|
34
|
+
export const normalizeDesignTokens = (tokens) => {
|
|
35
|
+
const normalized = {};
|
|
36
|
+
const sourceNames = new Map();
|
|
37
|
+
for (const [tokenName, tokenValue] of Object.entries(tokens)) {
|
|
38
|
+
const canonicalName = SEMANTIC_TOKEN_ALIASES[tokenName] ??
|
|
39
|
+
tokenName;
|
|
40
|
+
const existingSourceName = sourceNames.get(canonicalName);
|
|
41
|
+
if (existingSourceName && existingSourceName !== tokenName) {
|
|
42
|
+
throw new Error(`Design token "${canonicalName}" was provided as both "${existingSourceName}" and "${tokenName}"`);
|
|
43
|
+
}
|
|
44
|
+
normalized[canonicalName] = tokenValue;
|
|
45
|
+
sourceNames.set(canonicalName, tokenName);
|
|
46
|
+
}
|
|
47
|
+
return normalized;
|
|
48
|
+
};
|
|
5
49
|
const toKebabCase = (value) => value
|
|
6
50
|
.replace(/^--/, "")
|
|
7
51
|
.replace(/([a-z0-9])([A-Z])/g, "$1-$2")
|
|
@@ -29,12 +73,18 @@ const renderAsset = (asset, context) => {
|
|
|
29
73
|
return typeof asset === "function" ? asset(context) : asset;
|
|
30
74
|
};
|
|
31
75
|
export const registerDesignSystem = (definition, options = {}) => {
|
|
32
|
-
|
|
76
|
+
const normalizedDefinition = {
|
|
77
|
+
...definition,
|
|
78
|
+
tokens: definition.tokens
|
|
79
|
+
? normalizeDesignTokens(definition.tokens)
|
|
80
|
+
: undefined,
|
|
81
|
+
};
|
|
82
|
+
designSystems.set(definition.name, normalizedDefinition);
|
|
33
83
|
if (options.setActive) {
|
|
34
84
|
activeDesignSystemName = definition.name;
|
|
35
85
|
emitDesignSystemChange();
|
|
36
86
|
}
|
|
37
|
-
return
|
|
87
|
+
return normalizedDefinition;
|
|
38
88
|
};
|
|
39
89
|
export const getDesignSystem = (name) => {
|
|
40
90
|
if (!name) {
|
|
@@ -53,13 +103,13 @@ export const getActiveDesignSystem = () => activeDesignSystemName ? getDesignSys
|
|
|
53
103
|
export const listDesignSystems = () => Array.from(designSystems.values());
|
|
54
104
|
export const resolveDesignSystemTokens = (name) => {
|
|
55
105
|
const system = name === undefined ? getActiveDesignSystem() : getDesignSystem(name);
|
|
56
|
-
return system?.tokens
|
|
106
|
+
return system?.tokens ? normalizeDesignTokens(system.tokens) : {};
|
|
57
107
|
};
|
|
58
108
|
export const applyDesignTokens = (target, tokensOrSystemName, options = {}) => {
|
|
59
109
|
const prefix = options.prefix ?? DEFAULT_TOKEN_PREFIX;
|
|
60
110
|
const tokens = typeof tokensOrSystemName === "string" || tokensOrSystemName == null
|
|
61
111
|
? resolveDesignSystemTokens(tokensOrSystemName)
|
|
62
|
-
: tokensOrSystemName;
|
|
112
|
+
: normalizeDesignTokens(tokensOrSystemName);
|
|
63
113
|
const appliedVariables = [];
|
|
64
114
|
for (const [tokenName, tokenValue] of Object.entries(tokens)) {
|
|
65
115
|
const variableName = resolveTokenVariableName(tokenName, prefix);
|
|
@@ -73,7 +123,7 @@ export const createDesignTokenStyleText = (tokensOrSystemName, options = {}) =>
|
|
|
73
123
|
const selector = options.selector ?? ":root";
|
|
74
124
|
const tokens = typeof tokensOrSystemName === "string" || tokensOrSystemName == null
|
|
75
125
|
? resolveDesignSystemTokens(tokensOrSystemName)
|
|
76
|
-
: tokensOrSystemName;
|
|
126
|
+
: normalizeDesignTokens(tokensOrSystemName);
|
|
77
127
|
const declarations = Object.entries(tokens)
|
|
78
128
|
.map(([tokenName, tokenValue]) => ` ${resolveTokenVariableName(tokenName, prefix)}: ${tokenValue};`)
|
|
79
129
|
.join("\n");
|
|
@@ -1,4 +1,38 @@
|
|
|
1
1
|
export type DesignTokenMap = Record<string, string>;
|
|
2
|
+
/**
|
|
3
|
+
* Preferred authoring names for the semantic tokens consumed by the component
|
|
4
|
+
* catalog. The registry translates these names to Box-compatible token keys.
|
|
5
|
+
*/
|
|
6
|
+
export interface SemanticDesignTokenMap {
|
|
7
|
+
fontFamilyBase?: string;
|
|
8
|
+
surfacePrimary?: string;
|
|
9
|
+
surfacePrimaryHover?: string;
|
|
10
|
+
surfaceSecondary?: string;
|
|
11
|
+
surfaceTertiary?: string;
|
|
12
|
+
surfaceQuaternary?: string;
|
|
13
|
+
surfaceBrand?: string;
|
|
14
|
+
surfaceBrandHover?: string;
|
|
15
|
+
surfaceBrandPressed?: string;
|
|
16
|
+
surfaceSearch?: string;
|
|
17
|
+
surfaceItemSelected?: string;
|
|
18
|
+
surfaceItemHover?: string;
|
|
19
|
+
surfaceTooltip?: string;
|
|
20
|
+
surfaceStatusSuccess?: string;
|
|
21
|
+
surfaceStatusError?: string;
|
|
22
|
+
surfaceStatusInProgress?: string;
|
|
23
|
+
surfaceStatusAccent?: string;
|
|
24
|
+
surfaceIllustrationBoxNeutral?: string;
|
|
25
|
+
surfaceBadgeFolderShared?: string;
|
|
26
|
+
surfaceBadgePdf?: string;
|
|
27
|
+
textPrimary?: string;
|
|
28
|
+
textSecondary?: string;
|
|
29
|
+
textPlaceholder?: string;
|
|
30
|
+
textOnBrand?: string;
|
|
31
|
+
textDanger?: string;
|
|
32
|
+
borderDefault?: string;
|
|
33
|
+
borderHover?: string;
|
|
34
|
+
}
|
|
35
|
+
export type DesignTokenInput = DesignTokenMap | SemanticDesignTokenMap;
|
|
2
36
|
export interface DesignAssetRenderContext {
|
|
3
37
|
kind: "icon" | "illustration";
|
|
4
38
|
name: string;
|
|
@@ -6,10 +40,13 @@ export interface DesignAssetRenderContext {
|
|
|
6
40
|
export type DesignAssetRenderer = string | ((context: DesignAssetRenderContext) => string);
|
|
7
41
|
export interface DesignSystemDefinition {
|
|
8
42
|
name: string;
|
|
9
|
-
tokens?:
|
|
43
|
+
tokens?: DesignTokenInput;
|
|
10
44
|
icons?: Record<string, DesignAssetRenderer>;
|
|
11
45
|
illustrations?: Record<string, DesignAssetRenderer>;
|
|
12
46
|
}
|
|
47
|
+
export interface RegisteredDesignSystemDefinition extends Omit<DesignSystemDefinition, "tokens"> {
|
|
48
|
+
tokens?: DesignTokenMap;
|
|
49
|
+
}
|
|
13
50
|
export interface ApplyDesignTokensOptions {
|
|
14
51
|
prefix?: string;
|
|
15
52
|
selector?: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
export { Controller, TypedEventEmitter } from "./core/index.js";
|
|
2
2
|
export type { EventMap, Unsubscribe } from "./core/index.js";
|
|
3
3
|
export type { JsonSchema } from "./core/json-schema.js";
|
|
4
|
-
export { DESIGN_SYSTEM_CHANGE_EVENT, applyDesignTokens, boxDarkDesignSystem, boxDefaultDesignSystem, createDesignTokenStyleText, getActiveDesignSystem, getDesignSystem, listDesignSystems, registerBoxDarkDesignSystem, registerBoxDefaultDesignSystem, registerDesignSystem, resolveDesignIcon, resolveDesignIllustration, resolveDesignSystemTokens, setActiveDesignSystem, } from "./foundations/tokens/index.js";
|
|
5
|
-
export type { ApplyDesignTokensOptions, DesignAssetRenderContext, DesignAssetRenderer, DesignSystemDefinition, DesignTokenMap, } from "./foundations/tokens/index.js";
|
|
4
|
+
export { DESIGN_SYSTEM_CHANGE_EVENT, SEMANTIC_TOKEN_ALIASES, applyDesignTokens, boxDarkDesignSystem, boxDefaultDesignSystem, createDesignTokenStyleText, getActiveDesignSystem, getDesignSystem, listDesignSystems, normalizeDesignTokens, registerBoxDarkDesignSystem, registerBoxDefaultDesignSystem, registerDesignSystem, resolveDesignIcon, resolveDesignIllustration, resolveDesignSystemTokens, setActiveDesignSystem, } from "./foundations/tokens/index.js";
|
|
5
|
+
export type { ApplyDesignTokensOptions, DesignAssetRenderContext, DesignAssetRenderer, DesignSystemDefinition, DesignTokenInput, DesignTokenMap, RegisteredDesignSystemDefinition, SemanticDesignTokenMap, } from "./foundations/tokens/index.js";
|
|
6
|
+
export { DARK_MODE_MEDIA_QUERY, DEFAULT_THEME_STORAGE_KEY, THEME_CHANGE_EVENT, createThemeController, createThemeInitializationScript, } from "./foundations/theming/index.js";
|
|
7
|
+
export type { ResolvedTheme, ThemeChangeDetail, ThemeController, ThemeControllerOptions, ThemeInitializationScriptOptions, ThemePreference, } from "./foundations/theming/index.js";
|
|
8
|
+
export { DESIGN_PROFILE_CHANGE_EVENT, DESIGN_PROFILE_VARIABLES, DEFAULT_DESIGN_PROFILE_STORAGE_KEY, applyDesignProfile, boxDefaultDesignProfile, compactNeutralDesignProfile, createDesignProfileController, createDesignProfileStyleText, getDesignProfile, listDesignProfiles, registerBuiltInDesignProfiles, registerDesignProfile, resolveDesignProfileProperties, } from "./foundations/profiles/index.js";
|
|
9
|
+
export type { ApplyDesignProfileOptions, DesignProfileChangeDetail, DesignProfileController, DesignProfileControllerOptions, DesignProfileDefinition, DesignProfileDensity, DesignProfileElevation, DesignProfileMotion, DesignProfileRadius, DesignProfileSpacing, DesignProfileTypography, } from "./foundations/profiles/index.js";
|
|
6
10
|
export { boxIconography, boxIconographyAliases } from "./foundations/icons/index.js";
|
|
7
11
|
export { anchorFloating, parsePlacement, resolvePosition, trackAnchor, } from "./foundations/overlay/index.js";
|
|
8
12
|
export type { OverlayAlign, OverlayPlacement, OverlaySide, PositionOptions, PositionResult, } from "./foundations/overlay/index.js";
|
|
@@ -80,6 +84,7 @@ export * from "./components/layout/split-view.js";
|
|
|
80
84
|
export * from "./components/overlays/context-menu.js";
|
|
81
85
|
export * from "./components/overlays/dialog.js";
|
|
82
86
|
export * from "./components/overlays/drawer.js";
|
|
87
|
+
export * from "./components/overlays/guide-tooltip.js";
|
|
83
88
|
export * from "./components/overlays/popover.js";
|
|
84
89
|
export * from "./components/overlays/tooltip.js";
|
|
85
90
|
export * from "./patterns/content-explorer/index.js";
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
// Core runtime
|
|
2
2
|
export { Controller, TypedEventEmitter } from "./core/index.js";
|
|
3
3
|
// Foundations
|
|
4
|
-
export { DESIGN_SYSTEM_CHANGE_EVENT, applyDesignTokens, boxDarkDesignSystem, boxDefaultDesignSystem, createDesignTokenStyleText, getActiveDesignSystem, getDesignSystem, listDesignSystems, registerBoxDarkDesignSystem, registerBoxDefaultDesignSystem, registerDesignSystem, resolveDesignIcon, resolveDesignIllustration, resolveDesignSystemTokens, setActiveDesignSystem, } from "./foundations/tokens/index.js";
|
|
4
|
+
export { DESIGN_SYSTEM_CHANGE_EVENT, SEMANTIC_TOKEN_ALIASES, applyDesignTokens, boxDarkDesignSystem, boxDefaultDesignSystem, createDesignTokenStyleText, getActiveDesignSystem, getDesignSystem, listDesignSystems, normalizeDesignTokens, registerBoxDarkDesignSystem, registerBoxDefaultDesignSystem, registerDesignSystem, resolveDesignIcon, resolveDesignIllustration, resolveDesignSystemTokens, setActiveDesignSystem, } from "./foundations/tokens/index.js";
|
|
5
|
+
export { DARK_MODE_MEDIA_QUERY, DEFAULT_THEME_STORAGE_KEY, THEME_CHANGE_EVENT, createThemeController, createThemeInitializationScript, } from "./foundations/theming/index.js";
|
|
6
|
+
export { DESIGN_PROFILE_CHANGE_EVENT, DESIGN_PROFILE_VARIABLES, DEFAULT_DESIGN_PROFILE_STORAGE_KEY, applyDesignProfile, boxDefaultDesignProfile, compactNeutralDesignProfile, createDesignProfileController, createDesignProfileStyleText, getDesignProfile, listDesignProfiles, registerBuiltInDesignProfiles, registerDesignProfile, resolveDesignProfileProperties, } from "./foundations/profiles/index.js";
|
|
5
7
|
export { boxIconography, boxIconographyAliases } from "./foundations/icons/index.js";
|
|
6
8
|
// Foundations: viewport-aware overlay positioning (for building custom overlays)
|
|
7
9
|
export { anchorFloating, parsePlacement, resolvePosition, trackAnchor, } from "./foundations/overlay/index.js";
|
|
@@ -89,6 +91,7 @@ export * from "./components/layout/split-view.js";
|
|
|
89
91
|
export * from "./components/overlays/context-menu.js";
|
|
90
92
|
export * from "./components/overlays/dialog.js";
|
|
91
93
|
export * from "./components/overlays/drawer.js";
|
|
94
|
+
export * from "./components/overlays/guide-tooltip.js";
|
|
92
95
|
export * from "./components/overlays/popover.js";
|
|
93
96
|
export * from "./components/overlays/tooltip.js";
|
|
94
97
|
// Patterns: content explorer (headless blocks, contracts, transport, adapters)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ContentExplorerController } from "../controller.js";
|
|
2
2
|
import { BaseElement } from "../../../core/index.js";
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class ExplorerActionMenu extends BaseElement {
|
|
4
|
+
static readonly tagName: string;
|
|
4
5
|
private controllerValue;
|
|
5
6
|
private itemIdValue;
|
|
6
7
|
private open;
|
|
@@ -21,4 +22,3 @@ export declare class BoxExplorerActionMenuElement extends BaseElement {
|
|
|
21
22
|
protected setupListeners(): void;
|
|
22
23
|
protected update(): void;
|
|
23
24
|
}
|
|
24
|
-
export declare const defineBoxExplorerActionMenuElement: (tagName?: string) => typeof BoxExplorerActionMenuElement;
|
|
@@ -114,7 +114,8 @@ const elementStyles = `
|
|
|
114
114
|
|
|
115
115
|
${boeNeutralInteractiveStyles('[part="menu-item"]')}
|
|
116
116
|
`;
|
|
117
|
-
export class
|
|
117
|
+
export class ExplorerActionMenu extends BaseElement {
|
|
118
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
118
119
|
controllerValue = null;
|
|
119
120
|
itemIdValue = null;
|
|
120
121
|
open = false;
|
|
@@ -302,11 +303,4 @@ export class BoxExplorerActionMenuElement extends BaseElement {
|
|
|
302
303
|
}
|
|
303
304
|
}
|
|
304
305
|
}
|
|
305
|
-
|
|
306
|
-
const existingElement = customElements.get(tagName);
|
|
307
|
-
if (existingElement) {
|
|
308
|
-
return existingElement;
|
|
309
|
-
}
|
|
310
|
-
customElements.define(tagName, BoxExplorerActionMenuElement);
|
|
311
|
-
return BoxExplorerActionMenuElement;
|
|
312
|
-
};
|
|
306
|
+
ExplorerActionMenu.register();
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ContentExplorerController } from "../controller.js";
|
|
2
2
|
import { BaseElement } from "../../../core/index.js";
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class ExplorerBreadcrumbs extends BaseElement {
|
|
4
|
+
static readonly tagName: string;
|
|
4
5
|
private controllerValue;
|
|
5
6
|
private unsubscribeFns;
|
|
6
7
|
get controller(): ContentExplorerController | null;
|
|
@@ -12,4 +13,3 @@ export declare class BoxExplorerBreadcrumbsElement extends BaseElement {
|
|
|
12
13
|
protected renderTemplate(): void;
|
|
13
14
|
protected update(): void;
|
|
14
15
|
}
|
|
15
|
-
export declare const defineBoxExplorerBreadcrumbsElement: (tagName?: string) => typeof BoxExplorerBreadcrumbsElement;
|
|
@@ -72,7 +72,8 @@ const elementStyles = `
|
|
|
72
72
|
font-size: 0.9rem;
|
|
73
73
|
}
|
|
74
74
|
`;
|
|
75
|
-
export class
|
|
75
|
+
export class ExplorerBreadcrumbs extends BaseElement {
|
|
76
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
76
77
|
controllerValue = null;
|
|
77
78
|
unsubscribeFns = [];
|
|
78
79
|
get controller() {
|
|
@@ -151,11 +152,4 @@ export class BoxExplorerBreadcrumbsElement extends BaseElement {
|
|
|
151
152
|
});
|
|
152
153
|
}
|
|
153
154
|
}
|
|
154
|
-
|
|
155
|
-
const existingElement = customElements.get(tagName);
|
|
156
|
-
if (existingElement) {
|
|
157
|
-
return existingElement;
|
|
158
|
-
}
|
|
159
|
-
customElements.define(tagName, BoxExplorerBreadcrumbsElement);
|
|
160
|
-
return BoxExplorerBreadcrumbsElement;
|
|
161
|
-
};
|
|
155
|
+
ExplorerBreadcrumbs.register();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare class
|
|
1
|
+
import { ExplorerList } from "./list.js";
|
|
2
|
+
export declare class ExplorerItems extends ExplorerList {
|
|
3
|
+
static readonly tagName: string;
|
|
3
4
|
}
|
|
4
|
-
export declare const defineBoxExplorerItemsElement: (tagName?: string) => typeof BoxExplorerItemsElement;
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ExplorerList } from "./list.js";
|
|
2
2
|
const DEFAULT_TAG_NAME = "box-explorer-items";
|
|
3
|
-
export class
|
|
3
|
+
export class ExplorerItems extends ExplorerList {
|
|
4
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
4
5
|
}
|
|
5
|
-
|
|
6
|
-
const existingElement = customElements.get(tagName);
|
|
7
|
-
if (existingElement) {
|
|
8
|
-
return existingElement;
|
|
9
|
-
}
|
|
10
|
-
customElements.define(tagName, BoxExplorerItemsElement);
|
|
11
|
-
return BoxExplorerItemsElement;
|
|
12
|
-
};
|
|
6
|
+
ExplorerItems.register();
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { ContentExplorerController } from "../controller.js";
|
|
2
2
|
import { resolveExplorerItemGesture } from "../types.js";
|
|
3
3
|
import { BaseElement } from "../../../core/index.js";
|
|
4
|
-
export declare class
|
|
4
|
+
export declare class ExplorerList extends BaseElement {
|
|
5
|
+
static readonly tagName: string;
|
|
5
6
|
static get observedAttributes(): string[];
|
|
6
7
|
private controllerValue;
|
|
7
8
|
private focusItemId;
|
|
@@ -25,4 +26,3 @@ export declare class BoxExplorerListElement extends BaseElement {
|
|
|
25
26
|
private patchFocusAndSelection;
|
|
26
27
|
protected update(): void;
|
|
27
28
|
}
|
|
28
|
-
export declare const defineBoxExplorerListElement: (tagName?: string) => typeof BoxExplorerListElement;
|
|
@@ -191,7 +191,8 @@ const elementStyles = `
|
|
|
191
191
|
|
|
192
192
|
${boeNeutralInteractiveStyles('[part="load-more"]')}
|
|
193
193
|
`;
|
|
194
|
-
export class
|
|
194
|
+
export class ExplorerList extends BaseElement {
|
|
195
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
195
196
|
static get observedAttributes() {
|
|
196
197
|
return ["item-gesture"];
|
|
197
198
|
}
|
|
@@ -517,11 +518,4 @@ export class BoxExplorerListElement extends BaseElement {
|
|
|
517
518
|
this.patchFocusAndSelection();
|
|
518
519
|
}
|
|
519
520
|
}
|
|
520
|
-
|
|
521
|
-
const existingElement = customElements.get(tagName);
|
|
522
|
-
if (existingElement) {
|
|
523
|
-
return existingElement;
|
|
524
|
-
}
|
|
525
|
-
customElements.define(tagName, BoxExplorerListElement);
|
|
526
|
-
return BoxExplorerListElement;
|
|
527
|
-
};
|
|
521
|
+
ExplorerList.register();
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { ContentExplorerController } from "../controller.js";
|
|
2
2
|
import { resolveExplorerItemGesture } from "../types.js";
|
|
3
3
|
import { BaseElement } from "../../../core/index.js";
|
|
4
|
-
export declare class
|
|
4
|
+
export declare class ExplorerTable extends BaseElement {
|
|
5
|
+
static readonly tagName: string;
|
|
5
6
|
static get observedAttributes(): string[];
|
|
6
7
|
private controllerValue;
|
|
7
8
|
private unsubscribeFns;
|
|
@@ -20,4 +21,3 @@ export declare class BoxExplorerTableElement extends BaseElement {
|
|
|
20
21
|
private patchSelection;
|
|
21
22
|
protected update(): void;
|
|
22
23
|
}
|
|
23
|
-
export declare const defineBoxExplorerTableElement: (tagName?: string) => typeof BoxExplorerTableElement;
|