@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
package/README.md
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://unofficialbox.github.io/box-open-elements">
|
|
3
|
+
<img src="https://raw.githubusercontent.com/unofficialbox/box-open-elements/main/assets/banner.svg" alt="Box Open Elements — framework-agnostic Web Components that track Box's design language" width="100%">
|
|
4
|
+
</a>
|
|
5
|
+
</p>
|
|
6
|
+
|
|
1
7
|
# box-open-elements
|
|
2
8
|
|
|
3
9
|
`box-open-elements` is an open, framework-agnostic design system and web component library for Box-style experiences.
|
|
4
10
|
|
|
11
|
+
> **Community project — not affiliated with, authorized, or endorsed by Box, Inc.** “Box” is a trademark of Box, Inc. This library tracks Box’s public design language for interoperability; it ships no Box code.
|
|
12
|
+
|
|
5
13
|
It is a ground-up rebuild of [`box-open-web-components`](https://github.com/unofficialbox/box-open-web-components), carrying forward that repo's validated architecture, docs, and research — without its accumulated baggage — under a new industry-standard taxonomy:
|
|
6
14
|
|
|
7
15
|
- **Foundations** — design decisions as data: tokens, color, typography, iconography, accessibility, theming
|
|
@@ -18,6 +26,16 @@ The guiding idea is unchanged: predictable, extensible building blocks that are
|
|
|
18
26
|
- accessibility semantics and keyboard support as part of the component contract
|
|
19
27
|
- injected transport contracts instead of SDK coupling
|
|
20
28
|
|
|
29
|
+
## Preview
|
|
30
|
+
|
|
31
|
+
[](https://unofficialbox.github.io/box-open-elements)
|
|
32
|
+
|
|
33
|
+
The **[live docs site](https://unofficialbox.github.io/box-open-elements)** browses the full catalog with live previews, an events/properties inspector, per-framework code snippets (React / Angular / Vue / Svelte / HTML), and the foundations pages.
|
|
34
|
+
|
|
35
|
+
Components track Box’s design language out of the box — tokens-driven, light and dark, keyboard-accessible:
|
|
36
|
+
|
|
37
|
+

|
|
38
|
+
|
|
21
39
|
## Setup
|
|
22
40
|
|
|
23
41
|
This package uses Bun as its package manager and task runner.
|
|
@@ -48,13 +66,14 @@ Full catalog parity with the reference repo, plus every scoped gap the research
|
|
|
48
66
|
- `src/core` — typed event emitter, controller base class, `BaseElement` (in-place shadow DOM render contract), and `FormAssociatedElement` (native form participation + invalid state)
|
|
49
67
|
- `src/foundations/tokens` — the design-system registry (tokens, icons, illustrations), the Box default bundle, and the Box dark bundle, retoned to Box's modernized Blueprint palette with an Inter typography baseline; shared interaction helpers (`interaction.ts`) for focus/hover/active/disabled
|
|
50
68
|
- `src/foundations/motion` — shared duration/easing vocabulary and reduced-motion CSS helper
|
|
69
|
+
- `src/foundations/profiles` — typed runtime profiles for density, geometry, typography, elevation, and motion
|
|
51
70
|
- `src/foundations/icons` — the generated Box iconography manifest and alias layer
|
|
52
71
|
- `tools/style-bridge` — CSS/SCSS → BOE token/selector bridge (`bun run style-bridge`; BUE explorer: `bun run style-bridge:bue-explorer`)
|
|
53
|
-
- `src/components` —
|
|
72
|
+
- `src/components` — 78 components across all ten categories, including the Phase 5 gap fills (`box-chip`, `box-divider`, `box-calendar`, `box-tag-input`, `box-nav-sidebar`, `box-sidebar-toggle-button`, `box-grid-view`, `box-fieldset`, `box-section`, `box-error-mask`, `box-draggable-list`, `box-nudge`, `box-pill-cloud`, `box-pill-selector-dropdown`, `box-datalist-item`, `box-contact-datalist-item`, `box-category-selector`)
|
|
54
73
|
- `src/patterns/content-explorer` — the full headless explorer stack (collection, navigation, selection, actions, facade controller, data-source contracts, Box transport, wire schemas) plus the `box-explorer-*` presentation adapters and the composed `box-content-explorer` surface
|
|
55
74
|
- `src/patterns/{search,item,metadata,share,preview,file-request,task,governance,insights}` — all nine composition/workflow areas, including contracts and wire schemas for metadata and share, the provider-neutral preview adapter stack, the pluggable `box-preview-element`, and the share workflows (`box-presence`, `box-invite-collaborators-modal`, `box-unified-share-modal`, `box-access-stats`, `box-collaborator-avatars`)
|
|
56
75
|
- `packages/box-server` — a dependency-free server-side adapter: CCG auth + REST client, Box-backed explorer/share/metadata data sources, DTO mappers, and framework-neutral route handlers (see [docs/integration/box-server.md](./docs/integration/box-server.md))
|
|
57
|
-
- `packages/react` — optional React wrappers (`@box-open-elements/react`); the validated surface ships `
|
|
76
|
+
- `packages/react` — optional React wrappers (`@box-open-elements/react`); the validated surface ships `Button`, `TextField`, and `Select`. React, Angular, Vue, and Svelte progress is tracked in [docs/integration/framework-adapters.md](./docs/integration/framework-adapters.md).
|
|
58
77
|
- `storybook/` — a Bun-native workshop: typed stories → identity-guarded extracted JSON → a self-contained, separately-deployable static site, with no Storybook/Vite runtime or consumer dependency (see [storybook/README.md](./storybook/README.md))
|
|
59
78
|
- Docs site + CI — live GitHub Pages deploy, Storybook-backed variant dropdown, and a strict pixel-diff visual-regression gate in CI
|
|
60
79
|
|
|
@@ -66,14 +85,12 @@ Everything in the [components catalog](./docs/components/catalog.md) and [patter
|
|
|
66
85
|
|
|
67
86
|
```ts
|
|
68
87
|
import {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
} from "@unofficialbox/box-open-elements
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
applyDesignTokens(document.documentElement, "box-default");
|
|
76
|
-
defineBoxButtonElement();
|
|
88
|
+
createThemeController,
|
|
89
|
+
} from "@unofficialbox/box-open-elements/foundations/theming";
|
|
90
|
+
import { Button } from "@unofficialbox/box-open-elements";
|
|
91
|
+
|
|
92
|
+
const theme = createThemeController();
|
|
93
|
+
theme.start();
|
|
77
94
|
```
|
|
78
95
|
|
|
79
96
|
```html
|
|
@@ -104,10 +121,18 @@ Workflow patterns begin as headless behavior and gain presentation adapters, so
|
|
|
104
121
|
- root exports: `@unofficialbox/box-open-elements`
|
|
105
122
|
- shared runtime: `@unofficialbox/box-open-elements/core`
|
|
106
123
|
- foundations: `@unofficialbox/box-open-elements/foundations/<module>`
|
|
107
|
-
-
|
|
124
|
+
- optimized component entrypoints: `@unofficialbox/box-open-elements/<name>`
|
|
108
125
|
- patterns: `@unofficialbox/box-open-elements/patterns/<area>` and `@unofficialbox/box-open-elements/patterns/<area>/<module>`
|
|
109
126
|
|
|
110
|
-
|
|
127
|
+
The root entrypoint is the concise convenience API and registers the full
|
|
128
|
+
catalog. Flat component entrypoints register only the imported component:
|
|
129
|
+
|
|
130
|
+
```ts
|
|
131
|
+
import { Accordion, Avatar, Button, Switch } from "@unofficialbox/box-open-elements";
|
|
132
|
+
import { TextField } from "@unofficialbox/box-open-elements/text-field";
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
See [docs/api-guidelines.md](./docs/api-guidelines.md).
|
|
111
136
|
|
|
112
137
|
## Documentation
|
|
113
138
|
|
|
@@ -3,7 +3,8 @@ export interface ButtonGroupOption {
|
|
|
3
3
|
label: string;
|
|
4
4
|
value: string;
|
|
5
5
|
}
|
|
6
|
-
export declare class
|
|
6
|
+
export declare class ButtonGroup extends BaseElement {
|
|
7
|
+
static readonly tagName: string;
|
|
7
8
|
static get observedAttributes(): string[];
|
|
8
9
|
private valueInternal;
|
|
9
10
|
private groupEl;
|
|
@@ -19,4 +20,3 @@ export declare class BoxButtonGroupElement extends BaseElement {
|
|
|
19
20
|
protected renderTemplate(): void;
|
|
20
21
|
protected update(): void;
|
|
21
22
|
}
|
|
22
|
-
export declare const defineBoxButtonGroupElement: (tagName?: string) => typeof BoxButtonGroupElement;
|
|
@@ -91,7 +91,8 @@ const buttonGroupStyles = `
|
|
|
91
91
|
opacity: 0.55;
|
|
92
92
|
}
|
|
93
93
|
`;
|
|
94
|
-
export class
|
|
94
|
+
export class ButtonGroup extends BaseElement {
|
|
95
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
95
96
|
static get observedAttributes() {
|
|
96
97
|
return ["label", "layout", "options", "value"];
|
|
97
98
|
}
|
|
@@ -245,11 +246,4 @@ export class BoxButtonGroupElement extends BaseElement {
|
|
|
245
246
|
});
|
|
246
247
|
}
|
|
247
248
|
}
|
|
248
|
-
|
|
249
|
-
const existingElement = customElements.get(tagName);
|
|
250
|
-
if (existingElement) {
|
|
251
|
-
return existingElement;
|
|
252
|
-
}
|
|
253
|
-
customElements.define(tagName, BoxButtonGroupElement);
|
|
254
|
-
return BoxButtonGroupElement;
|
|
255
|
-
};
|
|
249
|
+
ButtonGroup.register();
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BaseElement } from "../../core/index.js";
|
|
2
2
|
export type ButtonType = "button" | "submit" | "reset";
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class Button extends BaseElement {
|
|
4
|
+
static readonly tagName: string;
|
|
4
5
|
static formAssociated: boolean;
|
|
5
6
|
static get observedAttributes(): string[];
|
|
6
7
|
private buttonEl;
|
|
@@ -28,4 +29,3 @@ export declare class BoxButtonElement extends BaseElement {
|
|
|
28
29
|
private syncIconVisibility;
|
|
29
30
|
protected update(): void;
|
|
30
31
|
}
|
|
31
|
-
export declare const defineBoxButtonElement: (tagName?: string) => typeof BoxButtonElement;
|
|
@@ -163,7 +163,8 @@ const buttonStyles = `
|
|
|
163
163
|
[part="spinner"] { animation-duration: 1.6s; }
|
|
164
164
|
}
|
|
165
165
|
`;
|
|
166
|
-
export class
|
|
166
|
+
export class Button extends BaseElement {
|
|
167
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
167
168
|
static formAssociated = true;
|
|
168
169
|
static get observedAttributes() {
|
|
169
170
|
return ["disabled", "label", "size", "tone", "is-loading", "type"];
|
|
@@ -284,11 +285,4 @@ export class BoxButtonElement extends BaseElement {
|
|
|
284
285
|
this.syncIconVisibility();
|
|
285
286
|
}
|
|
286
287
|
}
|
|
287
|
-
|
|
288
|
-
const existingElement = customElements.get(tagName);
|
|
289
|
-
if (existingElement) {
|
|
290
|
-
return existingElement;
|
|
291
|
-
}
|
|
292
|
-
customElements.define(tagName, BoxButtonElement);
|
|
293
|
-
return BoxButtonElement;
|
|
294
|
-
};
|
|
288
|
+
Button.register();
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BaseElement } from "../../core/index.js";
|
|
2
|
-
export declare class
|
|
2
|
+
export declare class IconButton extends BaseElement {
|
|
3
|
+
static readonly tagName: string;
|
|
3
4
|
private readonly handleDesignSystemChange;
|
|
4
5
|
static get observedAttributes(): string[];
|
|
5
6
|
private buttonEl;
|
|
@@ -17,4 +18,3 @@ export declare class BoxIconButtonElement extends BaseElement {
|
|
|
17
18
|
protected renderTemplate(): void;
|
|
18
19
|
protected update(): void;
|
|
19
20
|
}
|
|
20
|
-
export declare const defineBoxIconButtonElement: (tagName?: string) => typeof BoxIconButtonElement;
|
|
@@ -98,7 +98,8 @@ const iconButtonStyles = `
|
|
|
98
98
|
fill: currentColor;
|
|
99
99
|
}
|
|
100
100
|
`;
|
|
101
|
-
export class
|
|
101
|
+
export class IconButton extends BaseElement {
|
|
102
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
102
103
|
handleDesignSystemChange = () => {
|
|
103
104
|
if (this.isRendered) {
|
|
104
105
|
this.update();
|
|
@@ -177,11 +178,4 @@ export class BoxIconButtonElement extends BaseElement {
|
|
|
177
178
|
this.iconEl.innerHTML = iconMarkup;
|
|
178
179
|
}
|
|
179
180
|
}
|
|
180
|
-
|
|
181
|
-
const existingElement = customElements.get(tagName);
|
|
182
|
-
if (existingElement) {
|
|
183
|
-
return existingElement;
|
|
184
|
-
}
|
|
185
|
-
customElements.define(tagName, BoxIconButtonElement);
|
|
186
|
-
return BoxIconButtonElement;
|
|
187
|
-
};
|
|
181
|
+
IconButton.register();
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import { BaseElement } from "../../core/index.js";
|
|
2
|
-
export declare class
|
|
2
|
+
export declare class LinkButton extends BaseElement {
|
|
3
|
+
static readonly tagName: string;
|
|
3
4
|
static get observedAttributes(): string[];
|
|
4
5
|
private linkEl;
|
|
6
|
+
private labelEl;
|
|
7
|
+
private contentSlot;
|
|
8
|
+
/** Anchor target (e.g. `_blank`). Opening a new tab auto-adds a safe rel. */
|
|
9
|
+
get target(): string;
|
|
10
|
+
set target(value: string);
|
|
11
|
+
/** Explicit rel; defaults to `noopener noreferrer` when target is `_blank`. */
|
|
12
|
+
get rel(): string;
|
|
13
|
+
set rel(value: string);
|
|
5
14
|
get href(): string;
|
|
6
15
|
set href(value: string);
|
|
7
16
|
get label(): string;
|
|
@@ -9,6 +18,6 @@ export declare class BoxLinkButtonElement extends BaseElement {
|
|
|
9
18
|
get tone(): string;
|
|
10
19
|
set tone(value: string);
|
|
11
20
|
protected renderTemplate(): void;
|
|
21
|
+
protected setupListeners(): void;
|
|
12
22
|
protected update(): void;
|
|
13
23
|
}
|
|
14
|
-
export declare const defineBoxLinkButtonElement: (tagName?: string) => typeof BoxLinkButtonElement;
|
|
@@ -84,11 +84,28 @@ const linkButtonStyles = `
|
|
|
84
84
|
color: var(--boe-token-surface-status-surface-error, #ed3757);
|
|
85
85
|
}
|
|
86
86
|
`;
|
|
87
|
-
export class
|
|
87
|
+
export class LinkButton extends BaseElement {
|
|
88
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
88
89
|
static get observedAttributes() {
|
|
89
|
-
return ["href", "label", "tone"];
|
|
90
|
+
return ["href", "label", "tone", "target", "rel"];
|
|
90
91
|
}
|
|
91
92
|
linkEl;
|
|
93
|
+
labelEl;
|
|
94
|
+
contentSlot;
|
|
95
|
+
/** Anchor target (e.g. `_blank`). Opening a new tab auto-adds a safe rel. */
|
|
96
|
+
get target() {
|
|
97
|
+
return this.getAttribute("target") ?? "";
|
|
98
|
+
}
|
|
99
|
+
set target(value) {
|
|
100
|
+
this.setAttribute("target", value);
|
|
101
|
+
}
|
|
102
|
+
/** Explicit rel; defaults to `noopener noreferrer` when target is `_blank`. */
|
|
103
|
+
get rel() {
|
|
104
|
+
return this.getAttribute("rel") ?? "";
|
|
105
|
+
}
|
|
106
|
+
set rel(value) {
|
|
107
|
+
this.setAttribute("rel", value);
|
|
108
|
+
}
|
|
92
109
|
get href() {
|
|
93
110
|
return this.getAttribute("href") ?? "#";
|
|
94
111
|
}
|
|
@@ -113,9 +130,18 @@ export class BoxLinkButtonElement extends BaseElement {
|
|
|
113
130
|
}
|
|
114
131
|
this.shadowRoot.innerHTML = `
|
|
115
132
|
<style>${linkButtonStyles}</style>
|
|
116
|
-
<a part="link"></a>
|
|
133
|
+
<a part="link"><slot><span part="label"></span></slot></a>
|
|
117
134
|
`;
|
|
118
135
|
this.linkEl = this.shadowRoot.querySelector('[part="link"]');
|
|
136
|
+
this.contentSlot = this.shadowRoot.querySelector("slot");
|
|
137
|
+
this.labelEl = this.shadowRoot.querySelector('[part="label"]');
|
|
138
|
+
}
|
|
139
|
+
setupListeners() {
|
|
140
|
+
this.contentSlot.addEventListener("slotchange", () => {
|
|
141
|
+
if (this.isRendered) {
|
|
142
|
+
this.update();
|
|
143
|
+
}
|
|
144
|
+
});
|
|
119
145
|
}
|
|
120
146
|
update() {
|
|
121
147
|
if (!this.linkEl) {
|
|
@@ -123,15 +149,34 @@ export class BoxLinkButtonElement extends BaseElement {
|
|
|
123
149
|
}
|
|
124
150
|
this.linkEl.dataset.tone = this.tone;
|
|
125
151
|
this.linkEl.setAttribute("href", escapeHtml(safeHref(this.href)));
|
|
126
|
-
|
|
127
|
-
|
|
152
|
+
// Rich children (slotted) replace the `label` text; keep the fallback in
|
|
153
|
+
// sync. Detect real host content only — assignedNodes() without flatten
|
|
154
|
+
// excludes the fallback span; ignore whitespace-only text nodes.
|
|
155
|
+
const hasSlotted = this.contentSlot
|
|
156
|
+
.assignedNodes()
|
|
157
|
+
.some(node => node.nodeType === Node.ELEMENT_NODE || (node.textContent ?? "").trim() !== "");
|
|
158
|
+
this.labelEl.textContent = this.label;
|
|
159
|
+
if (hasSlotted) {
|
|
160
|
+
this.linkEl.removeAttribute("aria-label");
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
this.linkEl.setAttribute("aria-label", this.label);
|
|
164
|
+
}
|
|
165
|
+
const target = this.target;
|
|
166
|
+
if (target) {
|
|
167
|
+
this.linkEl.setAttribute("target", target);
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
this.linkEl.removeAttribute("target");
|
|
171
|
+
}
|
|
172
|
+
// Explicit rel wins; opening a new tab defaults to a safe rel.
|
|
173
|
+
const rel = this.rel || (target === "_blank" ? "noopener noreferrer" : "");
|
|
174
|
+
if (rel) {
|
|
175
|
+
this.linkEl.setAttribute("rel", rel);
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
this.linkEl.removeAttribute("rel");
|
|
179
|
+
}
|
|
128
180
|
}
|
|
129
181
|
}
|
|
130
|
-
|
|
131
|
-
const existingElement = customElements.get(tagName);
|
|
132
|
-
if (existingElement) {
|
|
133
|
-
return existingElement;
|
|
134
|
-
}
|
|
135
|
-
customElements.define(tagName, BoxLinkButtonElement);
|
|
136
|
-
return BoxLinkButtonElement;
|
|
137
|
-
};
|
|
182
|
+
LinkButton.register();
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BaseElement } from "../../core/index.js";
|
|
2
|
-
export declare class
|
|
2
|
+
export declare class MenuItem extends BaseElement {
|
|
3
|
+
static readonly tagName: string;
|
|
3
4
|
static get observedAttributes(): string[];
|
|
4
5
|
private itemEl;
|
|
5
6
|
get disabled(): boolean;
|
|
@@ -14,4 +15,3 @@ export declare class BoxMenuItemElement extends BaseElement {
|
|
|
14
15
|
protected setupListeners(): void;
|
|
15
16
|
protected update(): void;
|
|
16
17
|
}
|
|
17
|
-
export declare const defineBoxMenuItemElement: (tagName?: string) => typeof BoxMenuItemElement;
|
|
@@ -55,7 +55,8 @@ const menuItemStyles = `
|
|
|
55
55
|
opacity: ${boeControl.disabledOpacity};
|
|
56
56
|
}
|
|
57
57
|
`;
|
|
58
|
-
export class
|
|
58
|
+
export class MenuItem extends BaseElement {
|
|
59
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
59
60
|
static get observedAttributes() {
|
|
60
61
|
return ["disabled", "label", "selected", "value"];
|
|
61
62
|
}
|
|
@@ -127,11 +128,4 @@ export class BoxMenuItemElement extends BaseElement {
|
|
|
127
128
|
this.itemEl.textContent = this.label;
|
|
128
129
|
}
|
|
129
130
|
}
|
|
130
|
-
|
|
131
|
-
const existingElement = customElements.get(tagName);
|
|
132
|
-
if (existingElement) {
|
|
133
|
-
return existingElement;
|
|
134
|
-
}
|
|
135
|
-
customElements.define(tagName, BoxMenuItemElement);
|
|
136
|
-
return BoxMenuItemElement;
|
|
137
|
-
};
|
|
131
|
+
MenuItem.register();
|
|
@@ -12,7 +12,8 @@ type BoxMenuItem = {
|
|
|
12
12
|
/** Checkable item — renders menuitemcheckbox with aria-checked. */
|
|
13
13
|
checked?: boolean;
|
|
14
14
|
};
|
|
15
|
-
export declare class
|
|
15
|
+
export declare class Menu extends BaseElement {
|
|
16
|
+
static readonly tagName: string;
|
|
16
17
|
static get observedAttributes(): string[];
|
|
17
18
|
private menuEl;
|
|
18
19
|
get disabled(): boolean;
|
|
@@ -28,5 +29,4 @@ export declare class BoxMenuElement extends BaseElement {
|
|
|
28
29
|
private enabledMenuItems;
|
|
29
30
|
protected update(): void;
|
|
30
31
|
}
|
|
31
|
-
export declare const defineBoxMenuElement: (tagName?: string) => typeof BoxMenuElement;
|
|
32
32
|
export {};
|
|
@@ -98,7 +98,8 @@ const menuStyles = `
|
|
|
98
98
|
content: "✓";
|
|
99
99
|
}
|
|
100
100
|
`;
|
|
101
|
-
export class
|
|
101
|
+
export class Menu extends BaseElement {
|
|
102
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
102
103
|
static get observedAttributes() {
|
|
103
104
|
return ["disabled", "items", "label"];
|
|
104
105
|
}
|
|
@@ -225,11 +226,4 @@ export class BoxMenuElement extends BaseElement {
|
|
|
225
226
|
applyRovingTabindex(buttons, 0);
|
|
226
227
|
}
|
|
227
228
|
}
|
|
228
|
-
|
|
229
|
-
const existingElement = customElements.get(tagName);
|
|
230
|
-
if (existingElement) {
|
|
231
|
-
return existingElement;
|
|
232
|
-
}
|
|
233
|
-
customElements.define(tagName, BoxMenuElement);
|
|
234
|
-
return BoxMenuElement;
|
|
235
|
-
};
|
|
229
|
+
Menu.register();
|
|
@@ -4,7 +4,8 @@ export interface SegmentedControlOption {
|
|
|
4
4
|
value: string;
|
|
5
5
|
disabled?: boolean;
|
|
6
6
|
}
|
|
7
|
-
export declare class
|
|
7
|
+
export declare class SegmentedControl extends BaseElement {
|
|
8
|
+
static readonly tagName: string;
|
|
8
9
|
static get observedAttributes(): string[];
|
|
9
10
|
private valueInternal;
|
|
10
11
|
private controlEl;
|
|
@@ -24,4 +25,3 @@ export declare class BoxSegmentedControlElement extends BaseElement {
|
|
|
24
25
|
protected renderTemplate(): void;
|
|
25
26
|
protected update(): void;
|
|
26
27
|
}
|
|
27
|
-
export declare const defineBoxSegmentedControlElement: (tagName?: string) => typeof BoxSegmentedControlElement;
|
|
@@ -71,7 +71,8 @@ const segmentedControlStyles = `
|
|
|
71
71
|
opacity: 0.55;
|
|
72
72
|
}
|
|
73
73
|
`;
|
|
74
|
-
export class
|
|
74
|
+
export class SegmentedControl extends BaseElement {
|
|
75
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
75
76
|
static get observedAttributes() {
|
|
76
77
|
return ["disabled", "label", "layout", "options", "value"];
|
|
77
78
|
}
|
|
@@ -263,11 +264,4 @@ export class BoxSegmentedControlElement extends BaseElement {
|
|
|
263
264
|
});
|
|
264
265
|
}
|
|
265
266
|
}
|
|
266
|
-
|
|
267
|
-
const existingElement = customElements.get(tagName);
|
|
268
|
-
if (existingElement) {
|
|
269
|
-
return existingElement;
|
|
270
|
-
}
|
|
271
|
-
customElements.define(tagName, BoxSegmentedControlElement);
|
|
272
|
-
return BoxSegmentedControlElement;
|
|
273
|
-
};
|
|
267
|
+
SegmentedControl.register();
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BaseElement } from "../../core/index.js";
|
|
2
|
-
export declare class
|
|
2
|
+
export declare class Card extends BaseElement {
|
|
3
|
+
static readonly tagName: string;
|
|
3
4
|
static get observedAttributes(): string[];
|
|
4
5
|
private eyebrowEl;
|
|
5
6
|
private titleEl;
|
|
@@ -10,4 +11,3 @@ export declare class BoxCardElement extends BaseElement {
|
|
|
10
11
|
protected renderTemplate(): void;
|
|
11
12
|
protected update(): void;
|
|
12
13
|
}
|
|
13
|
-
export declare const defineBoxCardElement: (tagName?: string) => typeof BoxCardElement;
|
|
@@ -51,7 +51,8 @@ const cardStyles = `
|
|
|
51
51
|
display: none;
|
|
52
52
|
}
|
|
53
53
|
`;
|
|
54
|
-
export class
|
|
54
|
+
export class Card extends BaseElement {
|
|
55
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
55
56
|
static get observedAttributes() {
|
|
56
57
|
return ["eyebrow", "heading"];
|
|
57
58
|
}
|
|
@@ -100,11 +101,4 @@ export class BoxCardElement extends BaseElement {
|
|
|
100
101
|
this.titleEl.hidden = !heading;
|
|
101
102
|
}
|
|
102
103
|
}
|
|
103
|
-
|
|
104
|
-
const existingElement = customElements.get(tagName);
|
|
105
|
-
if (existingElement) {
|
|
106
|
-
return existingElement;
|
|
107
|
-
}
|
|
108
|
-
customElements.define(tagName, BoxCardElement);
|
|
109
|
-
return BoxCardElement;
|
|
110
|
-
};
|
|
104
|
+
Card.register();
|
|
@@ -5,13 +5,17 @@ type CarouselItem = {
|
|
|
5
5
|
description?: string;
|
|
6
6
|
imageSrc?: string;
|
|
7
7
|
};
|
|
8
|
-
export declare class
|
|
8
|
+
export declare class Carousel extends BaseElement {
|
|
9
|
+
static readonly tagName: string;
|
|
9
10
|
static get observedAttributes(): string[];
|
|
10
11
|
private valueInternal;
|
|
11
12
|
private lastItemsJson;
|
|
12
13
|
private carouselEl;
|
|
13
14
|
private labelEl;
|
|
14
15
|
private stageEl;
|
|
16
|
+
private viewportEl;
|
|
17
|
+
private slottedStageEl;
|
|
18
|
+
private slideSlot;
|
|
15
19
|
private mediaEl;
|
|
16
20
|
private eyebrowEl;
|
|
17
21
|
private titleEl;
|
|
@@ -28,6 +32,10 @@ export declare class BoxCarouselElement extends BaseElement {
|
|
|
28
32
|
get value(): number;
|
|
29
33
|
set value(value: number);
|
|
30
34
|
attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
|
|
35
|
+
/** Slotted slides (elements assigned to the `slide` slot). */
|
|
36
|
+
private slottedSlides;
|
|
37
|
+
/** Active slide count — slotted slides when present, else JSON items. */
|
|
38
|
+
private slideCount;
|
|
31
39
|
private normalizeIndex;
|
|
32
40
|
private emitValueChanged;
|
|
33
41
|
private setIndex;
|
|
@@ -36,5 +44,4 @@ export declare class BoxCarouselElement extends BaseElement {
|
|
|
36
44
|
protected setupListeners(): void;
|
|
37
45
|
protected update(): void;
|
|
38
46
|
}
|
|
39
|
-
export declare const defineBoxCarouselElement: (tagName?: string) => typeof BoxCarouselElement;
|
|
40
47
|
export {};
|