@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
|
@@ -4,7 +4,8 @@ type BoxDropdownItem = {
|
|
|
4
4
|
id: string;
|
|
5
5
|
label: string;
|
|
6
6
|
};
|
|
7
|
-
export declare class
|
|
7
|
+
export declare class Dropdown extends FormAssociatedElement {
|
|
8
|
+
static readonly tagName: string;
|
|
8
9
|
static get observedAttributes(): string[];
|
|
9
10
|
private open;
|
|
10
11
|
private valueInternal;
|
|
@@ -12,12 +13,16 @@ export declare class BoxDropdownElement extends FormAssociatedElement {
|
|
|
12
13
|
private triggerEl;
|
|
13
14
|
private errorEl;
|
|
14
15
|
private menuEl;
|
|
16
|
+
private positionCleanup;
|
|
15
17
|
private readonly focusRestore;
|
|
16
18
|
private readonly onDocumentPointerDown;
|
|
17
19
|
get disabled(): boolean;
|
|
18
20
|
set disabled(value: boolean);
|
|
19
21
|
get label(): string;
|
|
20
22
|
set label(value: string);
|
|
23
|
+
get placement(): string;
|
|
24
|
+
set placement(value: string);
|
|
25
|
+
private resolvedPlacement;
|
|
21
26
|
get items(): BoxDropdownItem[];
|
|
22
27
|
set items(value: BoxDropdownItem[]);
|
|
23
28
|
get value(): string;
|
|
@@ -33,6 +38,6 @@ export declare class BoxDropdownElement extends FormAssociatedElement {
|
|
|
33
38
|
protected renderTemplate(): void;
|
|
34
39
|
protected setupListeners(): void;
|
|
35
40
|
protected update(): void;
|
|
41
|
+
private stopTracking;
|
|
36
42
|
}
|
|
37
|
-
export declare const defineBoxDropdownElement: (tagName?: string) => typeof BoxDropdownElement;
|
|
38
43
|
export {};
|
|
@@ -3,6 +3,7 @@ import { boeControl, boeOverlay, boeRadius, boeSpace } from "../../foundations/g
|
|
|
3
3
|
import { FocusRestore, applyRovingTabindex, focusRovingItem, nextRovingIndex, } from "../../foundations/a11y/index.js";
|
|
4
4
|
import { boeFocusVisibleStyles, boeNeutralInteractiveStyles, } from "../../foundations/tokens/index.js";
|
|
5
5
|
import { boeMotionDuration, boeMotionEasing } from "../../foundations/motion/index.js";
|
|
6
|
+
import { parsePlacement, trackAnchor, } from "../../foundations/overlay/index.js";
|
|
6
7
|
const DEFAULT_TAG_NAME = "box-dropdown";
|
|
7
8
|
const escapeHtml = (value) => value
|
|
8
9
|
.replaceAll("&", "&")
|
|
@@ -70,12 +71,14 @@ const dropdownStyles = `
|
|
|
70
71
|
box-shadow: none;
|
|
71
72
|
}
|
|
72
73
|
|
|
74
|
+
/* Positioned by JS (foundations/overlay) as position: fixed, so the menu
|
|
75
|
+
escapes ancestor overflow and flips/shifts to stay in the viewport. */
|
|
73
76
|
[part="menu"] {
|
|
74
|
-
position:
|
|
75
|
-
inset-block-start:
|
|
77
|
+
position: fixed;
|
|
78
|
+
inset-block-start: 0;
|
|
76
79
|
inset-inline-start: 0;
|
|
77
80
|
z-index: 20;
|
|
78
|
-
min-inline-size:
|
|
81
|
+
min-inline-size: 200px;
|
|
79
82
|
display: grid;
|
|
80
83
|
gap: 0;
|
|
81
84
|
padding: ${boeOverlay.padding};
|
|
@@ -132,13 +135,15 @@ const dropdownStyles = `
|
|
|
132
135
|
box-shadow: 0 0 0 3px color-mix(in srgb, var(--boe-token-surface-status-surface-error, #ed3757) 22%, transparent);
|
|
133
136
|
}
|
|
134
137
|
`;
|
|
135
|
-
export class
|
|
138
|
+
export class Dropdown extends FormAssociatedElement {
|
|
139
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
136
140
|
static get observedAttributes() {
|
|
137
141
|
return [
|
|
138
142
|
...FormAssociatedElement.formObservedAttributes,
|
|
139
143
|
"disabled",
|
|
140
144
|
"items",
|
|
141
145
|
"label",
|
|
146
|
+
"placement",
|
|
142
147
|
"value",
|
|
143
148
|
];
|
|
144
149
|
}
|
|
@@ -148,6 +153,7 @@ export class BoxDropdownElement extends FormAssociatedElement {
|
|
|
148
153
|
triggerEl;
|
|
149
154
|
errorEl;
|
|
150
155
|
menuEl = null;
|
|
156
|
+
positionCleanup = null;
|
|
151
157
|
focusRestore = new FocusRestore();
|
|
152
158
|
onDocumentPointerDown = (event) => {
|
|
153
159
|
const path = event.composedPath();
|
|
@@ -173,6 +179,15 @@ export class BoxDropdownElement extends FormAssociatedElement {
|
|
|
173
179
|
set label(value) {
|
|
174
180
|
this.setAttribute("label", value);
|
|
175
181
|
}
|
|
182
|
+
get placement() {
|
|
183
|
+
return this.getAttribute("placement") ?? "bottom-start";
|
|
184
|
+
}
|
|
185
|
+
set placement(value) {
|
|
186
|
+
this.setAttribute("placement", value);
|
|
187
|
+
}
|
|
188
|
+
resolvedPlacement() {
|
|
189
|
+
return parsePlacement(this.getAttribute("placement")) ?? { side: "bottom", align: "start" };
|
|
190
|
+
}
|
|
176
191
|
get items() {
|
|
177
192
|
const raw = this.getAttribute("items");
|
|
178
193
|
if (!raw) {
|
|
@@ -220,6 +235,7 @@ export class BoxDropdownElement extends FormAssociatedElement {
|
|
|
220
235
|
}
|
|
221
236
|
disconnectedCallback() {
|
|
222
237
|
document.removeEventListener("pointerdown", this.onDocumentPointerDown);
|
|
238
|
+
this.stopTracking();
|
|
223
239
|
super.disconnectedCallback();
|
|
224
240
|
}
|
|
225
241
|
openMenu() {
|
|
@@ -387,19 +403,26 @@ export class BoxDropdownElement extends FormAssociatedElement {
|
|
|
387
403
|
const items = this.menuItems();
|
|
388
404
|
const selectedIndex = Math.max(0, items.findIndex(button => button.getAttribute("data-item-id") === this.valueInternal));
|
|
389
405
|
applyRovingTabindex(items, selectedIndex);
|
|
406
|
+
// Match the trigger width, then position as a fixed overlay. Track once
|
|
407
|
+
// per open so repeated updates (e.g. value change) don't stack listeners.
|
|
408
|
+
this.menuEl.style.minInlineSize = `${Math.max(this.triggerEl.offsetWidth, 200)}px`;
|
|
409
|
+
if (!this.positionCleanup) {
|
|
410
|
+
this.positionCleanup = trackAnchor(this.triggerEl, this.menuEl, {
|
|
411
|
+
placement: this.resolvedPlacement(),
|
|
412
|
+
offset: 4,
|
|
413
|
+
});
|
|
414
|
+
}
|
|
390
415
|
}
|
|
391
416
|
else if (this.menuEl) {
|
|
417
|
+
this.stopTracking();
|
|
392
418
|
this.menuEl.remove();
|
|
393
419
|
this.menuEl = null;
|
|
394
420
|
}
|
|
395
421
|
this.applyInvalidState(this.triggerEl, this.errorEl);
|
|
396
422
|
}
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
if (existingElement) {
|
|
401
|
-
return existingElement;
|
|
423
|
+
stopTracking() {
|
|
424
|
+
this.positionCleanup?.();
|
|
425
|
+
this.positionCleanup = null;
|
|
402
426
|
}
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
};
|
|
427
|
+
}
|
|
428
|
+
Dropdown.register();
|
|
@@ -5,7 +5,8 @@ type DualListboxOption = {
|
|
|
5
5
|
label: string;
|
|
6
6
|
value: string;
|
|
7
7
|
};
|
|
8
|
-
export declare class
|
|
8
|
+
export declare class DualListbox extends FormAssociatedElement {
|
|
9
|
+
static readonly tagName: string;
|
|
9
10
|
static get observedAttributes(): string[];
|
|
10
11
|
private availableSelection;
|
|
11
12
|
private chosenSelection;
|
|
@@ -40,5 +41,4 @@ export declare class BoxDualListboxElement extends FormAssociatedElement {
|
|
|
40
41
|
private syncListRoving;
|
|
41
42
|
protected update(): void;
|
|
42
43
|
}
|
|
43
|
-
export declare const defineBoxDualListboxElement: (tagName?: string) => typeof BoxDualListboxElement;
|
|
44
44
|
export {};
|
|
@@ -176,7 +176,8 @@ const dualListboxStyles = `
|
|
|
176
176
|
|
|
177
177
|
${boeFormFieldErrorStyles}
|
|
178
178
|
`;
|
|
179
|
-
export class
|
|
179
|
+
export class DualListbox extends FormAssociatedElement {
|
|
180
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
180
181
|
static get observedAttributes() {
|
|
181
182
|
return [
|
|
182
183
|
...FormAssociatedElement.formObservedAttributes,
|
|
@@ -474,11 +475,4 @@ export class BoxDualListboxElement extends FormAssociatedElement {
|
|
|
474
475
|
this.applyInvalidStateToControls(focusableControls, this.errorEl);
|
|
475
476
|
}
|
|
476
477
|
}
|
|
477
|
-
|
|
478
|
-
const existingElement = customElements.get(tagName);
|
|
479
|
-
if (existingElement) {
|
|
480
|
-
return existingElement;
|
|
481
|
-
}
|
|
482
|
-
customElements.define(tagName, BoxDualListboxElement);
|
|
483
|
-
return BoxDualListboxElement;
|
|
484
|
-
};
|
|
478
|
+
DualListbox.register();
|
|
@@ -6,7 +6,8 @@ import { BaseElement } from "../../core/index.js";
|
|
|
6
6
|
* `disabled` is mirrored onto the light-DOM controls directly. Groups arbitrary
|
|
7
7
|
* fields; use `box-checkbox-group`/`box-radio-group` for option lists.
|
|
8
8
|
*/
|
|
9
|
-
export declare class
|
|
9
|
+
export declare class Fieldset extends BaseElement {
|
|
10
|
+
static readonly tagName: string;
|
|
10
11
|
static get observedAttributes(): string[];
|
|
11
12
|
private fieldsetEl;
|
|
12
13
|
private bodyEl;
|
|
@@ -29,4 +30,3 @@ export declare class BoxFieldsetElement extends BaseElement {
|
|
|
29
30
|
protected renderTemplate(): void;
|
|
30
31
|
protected update(): void;
|
|
31
32
|
}
|
|
32
|
-
export declare const defineBoxFieldsetElement: (tagName?: string) => typeof BoxFieldsetElement;
|
|
@@ -47,7 +47,8 @@ const fieldsetStyles = `
|
|
|
47
47
|
* `disabled` is mirrored onto the light-DOM controls directly. Groups arbitrary
|
|
48
48
|
* fields; use `box-checkbox-group`/`box-radio-group` for option lists.
|
|
49
49
|
*/
|
|
50
|
-
export class
|
|
50
|
+
export class Fieldset extends BaseElement {
|
|
51
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
51
52
|
static get observedAttributes() {
|
|
52
53
|
return ["description", "disabled", "label"];
|
|
53
54
|
}
|
|
@@ -158,11 +159,4 @@ export class BoxFieldsetElement extends BaseElement {
|
|
|
158
159
|
this.syncDisabledControls();
|
|
159
160
|
}
|
|
160
161
|
}
|
|
161
|
-
|
|
162
|
-
const existingElement = customElements.get(tagName);
|
|
163
|
-
if (existingElement) {
|
|
164
|
-
return existingElement;
|
|
165
|
-
}
|
|
166
|
-
customElements.define(tagName, BoxFieldsetElement);
|
|
167
|
-
return BoxFieldsetElement;
|
|
168
|
-
};
|
|
162
|
+
Fieldset.register();
|
|
@@ -5,7 +5,8 @@ type MultiSelectOption = {
|
|
|
5
5
|
label: string;
|
|
6
6
|
value: string;
|
|
7
7
|
};
|
|
8
|
-
export declare class
|
|
8
|
+
export declare class MultiSelect extends FormAssociatedElement {
|
|
9
|
+
static readonly tagName: string;
|
|
9
10
|
static get observedAttributes(): string[];
|
|
10
11
|
private valueInternal;
|
|
11
12
|
private lastOptionsJson;
|
|
@@ -26,5 +27,4 @@ export declare class BoxMultiSelectElement extends FormAssociatedElement {
|
|
|
26
27
|
protected setupListeners(): void;
|
|
27
28
|
protected update(): void;
|
|
28
29
|
}
|
|
29
|
-
export declare const defineBoxMultiSelectElement: (tagName?: string) => typeof BoxMultiSelectElement;
|
|
30
30
|
export {};
|
|
@@ -113,7 +113,8 @@ const multiSelectStyles = `
|
|
|
113
113
|
|
|
114
114
|
${boeFormFieldErrorStyles}
|
|
115
115
|
`;
|
|
116
|
-
export class
|
|
116
|
+
export class MultiSelect extends FormAssociatedElement {
|
|
117
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
117
118
|
static get observedAttributes() {
|
|
118
119
|
return [
|
|
119
120
|
...FormAssociatedElement.formObservedAttributes,
|
|
@@ -254,11 +255,4 @@ export class BoxMultiSelectElement extends FormAssociatedElement {
|
|
|
254
255
|
this.applyInvalidStateToControls(Array.from(this.optionsContainerEl.querySelectorAll('[part="input"]')), this.errorEl);
|
|
255
256
|
}
|
|
256
257
|
}
|
|
257
|
-
|
|
258
|
-
const existingElement = customElements.get(tagName);
|
|
259
|
-
if (existingElement) {
|
|
260
|
-
return existingElement;
|
|
261
|
-
}
|
|
262
|
-
customElements.define(tagName, BoxMultiSelectElement);
|
|
263
|
-
return BoxMultiSelectElement;
|
|
264
|
-
};
|
|
258
|
+
MultiSelect.register();
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { FormAssociatedElement } from "../../core/index.js";
|
|
2
2
|
import type { FormValue } from "../../core/index.js";
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class NumberInput extends FormAssociatedElement {
|
|
4
|
+
static readonly tagName: string;
|
|
4
5
|
static get observedAttributes(): string[];
|
|
5
6
|
private valueInternal;
|
|
6
7
|
private inputEl;
|
|
@@ -29,4 +30,3 @@ export declare class BoxNumberInputElement extends FormAssociatedElement {
|
|
|
29
30
|
protected setupListeners(): void;
|
|
30
31
|
protected update(): void;
|
|
31
32
|
}
|
|
32
|
-
export declare const defineBoxNumberInputElement: (tagName?: string) => typeof BoxNumberInputElement;
|
|
@@ -55,7 +55,8 @@ const numberInputStyles = `
|
|
|
55
55
|
|
|
56
56
|
${boeFormFieldErrorStyles}
|
|
57
57
|
`;
|
|
58
|
-
export class
|
|
58
|
+
export class NumberInput extends FormAssociatedElement {
|
|
59
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
59
60
|
static get observedAttributes() {
|
|
60
61
|
return [
|
|
61
62
|
...FormAssociatedElement.formObservedAttributes,
|
|
@@ -235,11 +236,4 @@ export class BoxNumberInputElement extends FormAssociatedElement {
|
|
|
235
236
|
this.applyInvalidState(this.inputEl, this.errorEl);
|
|
236
237
|
}
|
|
237
238
|
}
|
|
238
|
-
|
|
239
|
-
const existingElement = customElements.get(tagName);
|
|
240
|
-
if (existingElement) {
|
|
241
|
-
return existingElement;
|
|
242
|
-
}
|
|
243
|
-
customElements.define(tagName, BoxNumberInputElement);
|
|
244
|
-
return BoxNumberInputElement;
|
|
245
|
-
};
|
|
239
|
+
NumberInput.register();
|
|
@@ -11,7 +11,8 @@ type PillCloudOption = {
|
|
|
11
11
|
* announced with `value-changed`. Each pill is a toggle button with
|
|
12
12
|
* `aria-pressed`; the group is a labelled `role="group"`.
|
|
13
13
|
*/
|
|
14
|
-
export declare class
|
|
14
|
+
export declare class PillCloud extends FormAssociatedElement {
|
|
15
|
+
static readonly tagName: string;
|
|
15
16
|
static get observedAttributes(): string[];
|
|
16
17
|
private valueInternal;
|
|
17
18
|
private lastOptionsJson;
|
|
@@ -31,5 +32,4 @@ export declare class BoxPillCloudElement extends FormAssociatedElement {
|
|
|
31
32
|
protected setupListeners(): void;
|
|
32
33
|
protected update(): void;
|
|
33
34
|
}
|
|
34
|
-
export declare const defineBoxPillCloudElement: (tagName?: string) => typeof BoxPillCloudElement;
|
|
35
35
|
export {};
|
|
@@ -68,7 +68,8 @@ const pillCloudStyles = `
|
|
|
68
68
|
* announced with `value-changed`. Each pill is a toggle button with
|
|
69
69
|
* `aria-pressed`; the group is a labelled `role="group"`.
|
|
70
70
|
*/
|
|
71
|
-
export class
|
|
71
|
+
export class PillCloud extends FormAssociatedElement {
|
|
72
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
72
73
|
static get observedAttributes() {
|
|
73
74
|
return [
|
|
74
75
|
...FormAssociatedElement.formObservedAttributes,
|
|
@@ -220,11 +221,4 @@ export class BoxPillCloudElement extends FormAssociatedElement {
|
|
|
220
221
|
this.applyInvalidStateToControls(Array.from(this.rootEl.querySelectorAll('[part~="pill"]')), this.errorEl);
|
|
221
222
|
}
|
|
222
223
|
}
|
|
223
|
-
|
|
224
|
-
const existingElement = customElements.get(tagName);
|
|
225
|
-
if (existingElement) {
|
|
226
|
-
return existingElement;
|
|
227
|
-
}
|
|
228
|
-
customElements.define(tagName, BoxPillCloudElement);
|
|
229
|
-
return BoxPillCloudElement;
|
|
230
|
-
};
|
|
224
|
+
PillCloud.register();
|
|
@@ -12,7 +12,8 @@ type PillOption = {
|
|
|
12
12
|
* opening focuses the first item; ArrowUp/Down/Home/End move focus, Escape (or
|
|
13
13
|
* moving focus outside) closes and returns focus to the trigger.
|
|
14
14
|
*/
|
|
15
|
-
export declare class
|
|
15
|
+
export declare class PillSelectorDropdown extends FormAssociatedElement {
|
|
16
|
+
static readonly tagName: string;
|
|
16
17
|
static get observedAttributes(): string[];
|
|
17
18
|
private valueInternal;
|
|
18
19
|
private open;
|
|
@@ -62,5 +63,4 @@ export declare class BoxPillSelectorDropdownElement extends FormAssociatedElemen
|
|
|
62
63
|
protected setupListeners(): void;
|
|
63
64
|
protected update(): void;
|
|
64
65
|
}
|
|
65
|
-
export declare const defineBoxPillSelectorDropdownElement: (tagName?: string) => typeof BoxPillSelectorDropdownElement;
|
|
66
66
|
export {};
|
|
@@ -169,7 +169,8 @@ const pillSelectorStyles = `
|
|
|
169
169
|
* opening focuses the first item; ArrowUp/Down/Home/End move focus, Escape (or
|
|
170
170
|
* moving focus outside) closes and returns focus to the trigger.
|
|
171
171
|
*/
|
|
172
|
-
export class
|
|
172
|
+
export class PillSelectorDropdown extends FormAssociatedElement {
|
|
173
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
173
174
|
static get observedAttributes() {
|
|
174
175
|
return [
|
|
175
176
|
...FormAssociatedElement.formObservedAttributes,
|
|
@@ -616,11 +617,4 @@ export class BoxPillSelectorDropdownElement extends FormAssociatedElement {
|
|
|
616
617
|
this.applyPendingFocus();
|
|
617
618
|
}
|
|
618
619
|
}
|
|
619
|
-
|
|
620
|
-
const existingElement = customElements.get(tagName);
|
|
621
|
-
if (existingElement) {
|
|
622
|
-
return existingElement;
|
|
623
|
-
}
|
|
624
|
-
customElements.define(tagName, BoxPillSelectorDropdownElement);
|
|
625
|
-
return BoxPillSelectorDropdownElement;
|
|
626
|
-
};
|
|
620
|
+
PillSelectorDropdown.register();
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { FormAssociatedElement } from "../../core/index.js";
|
|
2
2
|
import type { FormValue } from "../../core/index.js";
|
|
3
|
-
|
|
3
|
+
type RadioOption = {
|
|
4
|
+
label: string;
|
|
5
|
+
value: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare class RadioGroup extends FormAssociatedElement {
|
|
10
|
+
static readonly tagName: string;
|
|
4
11
|
static get observedAttributes(): string[];
|
|
5
12
|
private valueInternal;
|
|
6
13
|
private groupName;
|
|
@@ -14,14 +21,8 @@ export declare class BoxRadioGroupElement extends FormAssociatedElement {
|
|
|
14
21
|
set disabled(value: boolean);
|
|
15
22
|
get label(): string;
|
|
16
23
|
set label(value: string);
|
|
17
|
-
get options():
|
|
18
|
-
|
|
19
|
-
value: string;
|
|
20
|
-
}>;
|
|
21
|
-
set options(value: Array<{
|
|
22
|
-
label: string;
|
|
23
|
-
value: string;
|
|
24
|
-
}>);
|
|
24
|
+
get options(): RadioOption[];
|
|
25
|
+
set options(value: RadioOption[]);
|
|
25
26
|
attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
|
|
26
27
|
protected getFormValue(): FormValue;
|
|
27
28
|
protected restoreFormValue(value: FormValue): void;
|
|
@@ -29,4 +30,4 @@ export declare class BoxRadioGroupElement extends FormAssociatedElement {
|
|
|
29
30
|
protected renderTemplate(): void;
|
|
30
31
|
protected update(): void;
|
|
31
32
|
}
|
|
32
|
-
export
|
|
33
|
+
export {};
|
|
@@ -100,14 +100,38 @@ const radioGroupStyles = `
|
|
|
100
100
|
|
|
101
101
|
${boeFocusVisibleStyles('[part="input"]')}
|
|
102
102
|
|
|
103
|
+
[part="option-text"] {
|
|
104
|
+
display: flex;
|
|
105
|
+
flex-direction: column;
|
|
106
|
+
gap: 1px;
|
|
107
|
+
min-inline-size: 0;
|
|
108
|
+
}
|
|
109
|
+
|
|
103
110
|
[part="option-label"] {
|
|
104
111
|
font-weight: 500;
|
|
105
112
|
color: var(--boe-token-text-text, #222222);
|
|
106
113
|
}
|
|
107
114
|
|
|
115
|
+
/* Per-option supporting text below the label. */
|
|
116
|
+
[part="option-description"] {
|
|
117
|
+
font-size: 0.78rem;
|
|
118
|
+
font-weight: 400;
|
|
119
|
+
line-height: 1.4;
|
|
120
|
+
color: var(--boe-token-text-text-secondary, #6f6f6f);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
[part~="option"][data-has-description="true"] {
|
|
124
|
+
align-items: start;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
[part~="option"][data-has-description="true"] [part="input"] {
|
|
128
|
+
margin-block-start: 2px;
|
|
129
|
+
}
|
|
130
|
+
|
|
108
131
|
${boeFormFieldErrorStyles}
|
|
109
132
|
`;
|
|
110
|
-
export class
|
|
133
|
+
export class RadioGroup extends FormAssociatedElement {
|
|
134
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
111
135
|
static get observedAttributes() {
|
|
112
136
|
return [
|
|
113
137
|
...FormAssociatedElement.formObservedAttributes,
|
|
@@ -209,12 +233,22 @@ export class BoxRadioGroupElement extends FormAssociatedElement {
|
|
|
209
233
|
const radioGroupName = this.getRadioGroupName();
|
|
210
234
|
if (currentOptionsJson !== this.lastOptionsJson) {
|
|
211
235
|
this.optionsContainerEl.innerHTML = this.options
|
|
212
|
-
.map(option =>
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
236
|
+
.map(option => {
|
|
237
|
+
const description = option.description
|
|
238
|
+
? `<span part="option-description">${escapeHtml(option.description)}</span>`
|
|
239
|
+
: "";
|
|
240
|
+
const hasDescription = option.description ? "true" : "false";
|
|
241
|
+
const disabledAttr = option.disabled ? " disabled" : "";
|
|
242
|
+
return `
|
|
243
|
+
<label part="option" data-value="${escapeHtml(option.value)}" data-has-description="${hasDescription}">
|
|
244
|
+
<input type="radio" part="input" name="${escapeHtml(radioGroupName)}" value="${escapeHtml(option.value)}"${disabledAttr} />
|
|
245
|
+
<span part="option-text">
|
|
246
|
+
<span part="option-label">${escapeHtml(option.label)}</span>
|
|
247
|
+
${description}
|
|
248
|
+
</span>
|
|
216
249
|
</label>
|
|
217
|
-
|
|
250
|
+
`;
|
|
251
|
+
})
|
|
218
252
|
.join("");
|
|
219
253
|
this.lastOptionsJson = currentOptionsJson;
|
|
220
254
|
this.optionsContainerEl.querySelectorAll('[part="input"]').forEach(node => {
|
|
@@ -242,16 +276,20 @@ export class BoxRadioGroupElement extends FormAssociatedElement {
|
|
|
242
276
|
}
|
|
243
277
|
});
|
|
244
278
|
}
|
|
279
|
+
const disabledByValue = new Map(this.options.map(option => [option.value, Boolean(option.disabled)]));
|
|
245
280
|
this.optionsContainerEl.querySelectorAll('[part~="option"]').forEach(labelNode => {
|
|
246
281
|
const label = labelNode;
|
|
247
282
|
const val = label.dataset.value;
|
|
248
283
|
const isSelected = val === this.valueInternal;
|
|
249
284
|
label.dataset.selected = String(isSelected);
|
|
285
|
+
// part= is overwritten to toggle the selected token; data-has-description
|
|
286
|
+
// is a separate attribute and survives.
|
|
250
287
|
label.setAttribute("part", `option${isSelected ? " option-selected" : ""}`);
|
|
251
288
|
const input = label.querySelector('[part="input"]');
|
|
252
289
|
if (input) {
|
|
253
290
|
input.checked = isSelected;
|
|
254
|
-
if
|
|
291
|
+
// Disabled if the whole group is disabled or this option is disabled.
|
|
292
|
+
if (this.disabled || disabledByValue.get(val ?? "")) {
|
|
255
293
|
input.setAttribute("disabled", "");
|
|
256
294
|
}
|
|
257
295
|
else {
|
|
@@ -275,11 +313,4 @@ export class BoxRadioGroupElement extends FormAssociatedElement {
|
|
|
275
313
|
this.syncFormAssociation();
|
|
276
314
|
}
|
|
277
315
|
}
|
|
278
|
-
|
|
279
|
-
const existingElement = customElements.get(tagName);
|
|
280
|
-
if (existingElement) {
|
|
281
|
-
return existingElement;
|
|
282
|
-
}
|
|
283
|
-
customElements.define(tagName, BoxRadioGroupElement);
|
|
284
|
-
return BoxRadioGroupElement;
|
|
285
|
-
};
|
|
316
|
+
RadioGroup.register();
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { FormAssociatedElement } from "../../core/index.js";
|
|
2
2
|
import type { FormValue } from "../../core/index.js";
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class RangeSlider extends FormAssociatedElement {
|
|
4
|
+
static readonly tagName: string;
|
|
4
5
|
static get observedAttributes(): string[];
|
|
5
6
|
private startInternal;
|
|
6
7
|
private endInternal;
|
|
@@ -33,4 +34,3 @@ export declare class BoxRangeSliderElement extends FormAssociatedElement {
|
|
|
33
34
|
protected setupListeners(): void;
|
|
34
35
|
protected update(): void;
|
|
35
36
|
}
|
|
36
|
-
export declare const defineBoxRangeSliderElement: (tagName?: string) => typeof BoxRangeSliderElement;
|
|
@@ -78,7 +78,8 @@ const rangeSliderStyles = `
|
|
|
78
78
|
accent-color: var(--boe-token-surface-status-surface-error, #ed3757);
|
|
79
79
|
}
|
|
80
80
|
`;
|
|
81
|
-
export class
|
|
81
|
+
export class RangeSlider extends FormAssociatedElement {
|
|
82
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
82
83
|
static get observedAttributes() {
|
|
83
84
|
return [
|
|
84
85
|
...FormAssociatedElement.formObservedAttributes,
|
|
@@ -284,11 +285,4 @@ export class BoxRangeSliderElement extends FormAssociatedElement {
|
|
|
284
285
|
this.applyInvalidStateToControls([this.startInputEl, this.endInputEl], this.errorEl);
|
|
285
286
|
}
|
|
286
287
|
}
|
|
287
|
-
|
|
288
|
-
const existingElement = customElements.get(tagName);
|
|
289
|
-
if (existingElement) {
|
|
290
|
-
return existingElement;
|
|
291
|
-
}
|
|
292
|
-
customElements.define(tagName, BoxRangeSliderElement);
|
|
293
|
-
return BoxRangeSliderElement;
|
|
294
|
-
};
|
|
288
|
+
RangeSlider.register();
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { FormAssociatedElement } from "../../core/index.js";
|
|
2
2
|
import type { FormValue } from "../../core/index.js";
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class Rating extends FormAssociatedElement {
|
|
4
|
+
static readonly tagName: string;
|
|
4
5
|
static get observedAttributes(): string[];
|
|
5
6
|
private valueInternal;
|
|
6
7
|
private lastMax;
|
|
@@ -28,4 +29,3 @@ export declare class BoxRatingElement extends FormAssociatedElement {
|
|
|
28
29
|
protected setupListeners(): void;
|
|
29
30
|
protected update(): void;
|
|
30
31
|
}
|
|
31
|
-
export declare const defineBoxRatingElement: (tagName?: string) => typeof BoxRatingElement;
|
|
@@ -81,7 +81,8 @@ const ratingStyles = `
|
|
|
81
81
|
|
|
82
82
|
${boeFormFieldErrorStyles}
|
|
83
83
|
`;
|
|
84
|
-
export class
|
|
84
|
+
export class Rating extends FormAssociatedElement {
|
|
85
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
85
86
|
static get observedAttributes() {
|
|
86
87
|
return [
|
|
87
88
|
...FormAssociatedElement.formObservedAttributes,
|
|
@@ -292,11 +293,4 @@ export class BoxRatingElement extends FormAssociatedElement {
|
|
|
292
293
|
this.applyInvalidState(this.controlEl, this.errorEl);
|
|
293
294
|
}
|
|
294
295
|
}
|
|
295
|
-
|
|
296
|
-
const existingElement = customElements.get(tagName);
|
|
297
|
-
if (existingElement) {
|
|
298
|
-
return existingElement;
|
|
299
|
-
}
|
|
300
|
-
customElements.define(tagName, BoxRatingElement);
|
|
301
|
-
return BoxRatingElement;
|
|
302
|
-
};
|
|
296
|
+
Rating.register();
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { FormAssociatedElement } from "../../core/index.js";
|
|
2
2
|
import type { FormValue } from "../../core/index.js";
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class RichTextInput extends FormAssociatedElement {
|
|
4
|
+
static readonly tagName: string;
|
|
4
5
|
static get observedAttributes(): string[];
|
|
5
6
|
private editor;
|
|
6
7
|
private labelElement;
|
|
@@ -29,4 +30,3 @@ export declare class BoxRichTextInputElement extends FormAssociatedElement {
|
|
|
29
30
|
protected setupListeners(): void;
|
|
30
31
|
protected update(): void;
|
|
31
32
|
}
|
|
32
|
-
export declare const defineBoxRichTextInputElement: (tagName?: string) => typeof BoxRichTextInputElement;
|
|
@@ -193,7 +193,8 @@ const richTextStyles = `
|
|
|
193
193
|
|
|
194
194
|
${boeFormFieldErrorStyles}
|
|
195
195
|
`;
|
|
196
|
-
export class
|
|
196
|
+
export class RichTextInput extends FormAssociatedElement {
|
|
197
|
+
static tagName = DEFAULT_TAG_NAME;
|
|
197
198
|
static get observedAttributes() {
|
|
198
199
|
return [
|
|
199
200
|
...FormAssociatedElement.formObservedAttributes,
|
|
@@ -393,11 +394,4 @@ export class BoxRichTextInputElement extends FormAssociatedElement {
|
|
|
393
394
|
this.applyInvalidState(this.editor, this.errorEl);
|
|
394
395
|
}
|
|
395
396
|
}
|
|
396
|
-
|
|
397
|
-
const existingElement = customElements.get(tagName);
|
|
398
|
-
if (existingElement) {
|
|
399
|
-
return existingElement;
|
|
400
|
-
}
|
|
401
|
-
customElements.define(tagName, BoxRichTextInputElement);
|
|
402
|
-
return BoxRichTextInputElement;
|
|
403
|
-
};
|
|
397
|
+
RichTextInput.register();
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { FormAssociatedElement } from "../../core/index.js";
|
|
2
2
|
import type { FormValue } from "../../core/index.js";
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class SearchField extends FormAssociatedElement {
|
|
4
|
+
static readonly tagName: string;
|
|
4
5
|
static get observedAttributes(): string[];
|
|
6
|
+
/** Shows a spinner in the submit button while a search runs asynchronously. */
|
|
7
|
+
get loading(): boolean;
|
|
8
|
+
set loading(value: boolean);
|
|
5
9
|
private valueInternal;
|
|
6
10
|
private inputEl;
|
|
7
11
|
private labelEl;
|
|
@@ -23,6 +27,10 @@ export declare class BoxSearchFieldElement extends FormAssociatedElement {
|
|
|
23
27
|
protected restoreFormValue(value: FormValue): void;
|
|
24
28
|
protected renderTemplate(): void;
|
|
25
29
|
protected setupListeners(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Emit `search` and, when placed inside a form, request its submission — so a
|
|
32
|
+
* search field behaves like a native search input on Enter / submit-click.
|
|
33
|
+
*/
|
|
34
|
+
private submitSearch;
|
|
26
35
|
protected update(): void;
|
|
27
36
|
}
|
|
28
|
-
export declare const defineBoxSearchFieldElement: (tagName?: string) => typeof BoxSearchFieldElement;
|