@carbon/web-components 2.49.0 → 2.50.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/custom-elements.json +278 -228
- package/es/components/accordion/accordion-item-skeleton.js +3 -3
- package/es/components/accordion/accordion-item-skeleton.js.map +1 -1
- package/es/components/accordion/accordion-item.js +3 -3
- package/es/components/accordion/accordion-item.js.map +1 -1
- package/es/components/accordion/accordion-skeleton.js +3 -3
- package/es/components/accordion/accordion-skeleton.js.map +1 -1
- package/es/components/accordion/accordion.js +2 -2
- package/es/components/accordion/accordion.js.map +1 -1
- package/es/components/ai-label/ai-label-action-button.js +2 -2
- package/es/components/ai-label/ai-label-action-button.js.map +1 -1
- package/es/components/ai-label/ai-label.js +3 -3
- package/es/components/ai-label/ai-label.js.map +1 -1
- package/es/components/ai-skeleton/ai-skeleton-icon.js +2 -2
- package/es/components/ai-skeleton/ai-skeleton-icon.js.map +1 -1
- package/es/components/ai-skeleton/ai-skeleton-placeholder.js +2 -2
- package/es/components/ai-skeleton/ai-skeleton-placeholder.js.map +1 -1
- package/es/components/ai-skeleton/ai-skeleton-text.js +2 -2
- package/es/components/ai-skeleton/ai-skeleton-text.js.map +1 -1
- package/es/components/badge-indicator/badge-indicator.js +2 -2
- package/es/components/badge-indicator/badge-indicator.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-item.d.ts +1 -1
- package/es/components/breadcrumb/breadcrumb-item.js +15 -12
- package/es/components/breadcrumb/breadcrumb-item.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-link.js +2 -2
- package/es/components/breadcrumb/breadcrumb-link.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-overflow-menu.js +3 -3
- package/es/components/breadcrumb/breadcrumb-overflow-menu.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-skeleton.js +2 -2
- package/es/components/breadcrumb/breadcrumb-skeleton.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb.js +2 -2
- package/es/components/breadcrumb/breadcrumb.js.map +1 -1
- package/es/components/button/button-set.js +2 -2
- package/es/components/button/button-set.js.map +1 -1
- package/es/components/button/button-skeleton.js +3 -2
- package/es/components/button/button-skeleton.js.map +1 -1
- package/es/components/button/button.d.ts +14 -16
- package/es/components/button/button.js +27 -24
- package/es/components/button/button.js.map +1 -1
- package/es/components/button/button.scss.js +1 -1
- package/es/components/chat-button/chat-button-skeleton.js +2 -2
- package/es/components/chat-button/chat-button-skeleton.js.map +1 -1
- package/es/components/chat-button/chat-button.js +2 -2
- package/es/components/chat-button/chat-button.js.map +1 -1
- package/es/components/checkbox/checkbox-group.js +3 -3
- package/es/components/checkbox/checkbox-group.js.map +1 -1
- package/es/components/checkbox/checkbox-skeleton.js +2 -2
- package/es/components/checkbox/checkbox-skeleton.js.map +1 -1
- package/es/components/checkbox/checkbox.js +1 -1
- package/es/components/code-snippet/code-snippet-skeleton.js +2 -2
- package/es/components/code-snippet/code-snippet-skeleton.js.map +1 -1
- package/es/components/code-snippet/code-snippet.js +3 -3
- package/es/components/code-snippet/code-snippet.js.map +1 -1
- package/es/components/combo-box/combo-box-item.js +2 -2
- package/es/components/combo-box/combo-box-item.js.map +1 -1
- package/es/components/combo-box/combo-box.js +16 -8
- package/es/components/combo-box/combo-box.js.map +1 -1
- package/es/components/combo-button/combo-button.js +3 -3
- package/es/components/combo-button/combo-button.js.map +1 -1
- package/es/components/contained-list/contained-list-description.js +2 -2
- package/es/components/contained-list/contained-list-description.js.map +1 -1
- package/es/components/contained-list/contained-list-item.js +2 -2
- package/es/components/contained-list/contained-list-item.js.map +1 -1
- package/es/components/contained-list/contained-list.js +2 -2
- package/es/components/contained-list/contained-list.js.map +1 -1
- package/es/components/copy/copy.js +2 -2
- package/es/components/copy/copy.js.map +1 -1
- package/es/components/copy-button/copy-button.js +3 -3
- package/es/components/copy-button/copy-button.js.map +1 -1
- package/es/components/data-table/table-batch-actions.js +2 -2
- package/es/components/data-table/table-batch-actions.js.map +1 -1
- package/es/components/data-table/table-body.js +2 -2
- package/es/components/data-table/table-body.js.map +1 -1
- package/es/components/data-table/table-cell-content.js +2 -2
- package/es/components/data-table/table-cell-content.js.map +1 -1
- package/es/components/data-table/table-cell.js +2 -2
- package/es/components/data-table/table-cell.js.map +1 -1
- package/es/components/data-table/table-expanded-row.js +2 -2
- package/es/components/data-table/table-expanded-row.js.map +1 -1
- package/es/components/data-table/table-head.js +2 -2
- package/es/components/data-table/table-head.js.map +1 -1
- package/es/components/data-table/table-header-cell.js +3 -3
- package/es/components/data-table/table-header-cell.js.map +1 -1
- package/es/components/data-table/table-header-description.js +2 -2
- package/es/components/data-table/table-header-description.js.map +1 -1
- package/es/components/data-table/table-header-row.js +2 -2
- package/es/components/data-table/table-header-row.js.map +1 -1
- package/es/components/data-table/table-header-title.js +2 -2
- package/es/components/data-table/table-header-title.js.map +1 -1
- package/es/components/data-table/table-row.js +1 -1
- package/es/components/data-table/table-skeleton.js +2 -2
- package/es/components/data-table/table-skeleton.js.map +1 -1
- package/es/components/data-table/table-toolbar-content.js +2 -2
- package/es/components/data-table/table-toolbar-content.js.map +1 -1
- package/es/components/data-table/table-toolbar-search.js +2 -2
- package/es/components/data-table/table-toolbar-search.js.map +1 -1
- package/es/components/data-table/table-toolbar.js +2 -2
- package/es/components/data-table/table-toolbar.js.map +1 -1
- package/es/components/data-table/table.js +2 -2
- package/es/components/data-table/table.js.map +1 -1
- package/es/components/date-picker/date-picker-input-skeleton.js +2 -2
- package/es/components/date-picker/date-picker-input-skeleton.js.map +1 -1
- package/es/components/date-picker/date-picker-input.js +1 -1
- package/es/components/date-picker/date-picker.js +2 -2
- package/es/components/date-picker/date-picker.js.map +1 -1
- package/es/components/date-picker/icon-plugin.js +1 -1
- package/es/components/dropdown/dropdown-item.js +1 -1
- package/es/components/dropdown/dropdown-skeleton.js +2 -2
- package/es/components/dropdown/dropdown-skeleton.js.map +1 -1
- package/es/components/dropdown/dropdown.js +1 -1
- package/es/components/feature-flags/index.d.ts +1 -1
- package/es/components/feature-flags/index.js +7 -4
- package/es/components/feature-flags/index.js.map +1 -1
- package/es/components/file-uploader/demo-file-uploader.js +2 -2
- package/es/components/file-uploader/demo-file-uploader.js.map +1 -1
- package/es/components/file-uploader/file-uploader-button.js +2 -2
- package/es/components/file-uploader/file-uploader-button.js.map +1 -1
- package/es/components/file-uploader/file-uploader-drop-container.js +2 -2
- package/es/components/file-uploader/file-uploader-drop-container.js.map +1 -1
- package/es/components/file-uploader/file-uploader-item.js +3 -3
- package/es/components/file-uploader/file-uploader-item.js.map +1 -1
- package/es/components/file-uploader/file-uploader-skeleton.js +2 -2
- package/es/components/file-uploader/file-uploader-skeleton.js.map +1 -1
- package/es/components/file-uploader/file-uploader.js +2 -2
- package/es/components/file-uploader/file-uploader.js.map +1 -1
- package/es/components/floating-menu/defs.d.ts +10 -2
- package/es/components/floating-menu/defs.js +9 -1
- package/es/components/floating-menu/defs.js.map +1 -1
- package/es/components/floating-menu/floating-menu.d.ts +31 -1
- package/es/components/floating-menu/floating-menu.js +110 -43
- package/es/components/floating-menu/floating-menu.js.map +1 -1
- package/es/components/fluid-number-input/fluid-number-input-skeleton.js +2 -2
- package/es/components/fluid-number-input/fluid-number-input-skeleton.js.map +1 -1
- package/es/components/fluid-number-input/fluid-number-input.js +2 -2
- package/es/components/fluid-number-input/fluid-number-input.js.map +1 -1
- package/es/components/fluid-search/fluid-search-skeleton.js +2 -2
- package/es/components/fluid-search/fluid-search-skeleton.js.map +1 -1
- package/es/components/fluid-search/fluid-search.js +2 -2
- package/es/components/fluid-search/fluid-search.js.map +1 -1
- package/es/components/fluid-select/fluid-select-skeleton.js +2 -2
- package/es/components/fluid-select/fluid-select-skeleton.js.map +1 -1
- package/es/components/fluid-text-input/fluid-text-input-skeleton.js +2 -2
- package/es/components/fluid-text-input/fluid-text-input-skeleton.js.map +1 -1
- package/es/components/fluid-text-input/fluid-text-input.js +2 -2
- package/es/components/fluid-text-input/fluid-text-input.js.map +1 -1
- package/es/components/fluid-textarea/fluid-textarea-skeleton.js +2 -2
- package/es/components/fluid-textarea/fluid-textarea-skeleton.js.map +1 -1
- package/es/components/fluid-textarea/fluid-textarea.js +2 -2
- package/es/components/fluid-textarea/fluid-textarea.js.map +1 -1
- package/es/components/fluid-time-picker/fluid-time-picker-select.js +2 -2
- package/es/components/fluid-time-picker/fluid-time-picker-select.js.map +1 -1
- package/es/components/fluid-time-picker/fluid-time-picker-skeleton.js +2 -2
- package/es/components/fluid-time-picker/fluid-time-picker-skeleton.js.map +1 -1
- package/es/components/fluid-time-picker/fluid-time-picker.js +3 -3
- package/es/components/fluid-time-picker/fluid-time-picker.js.map +1 -1
- package/es/components/form/form-item.js +2 -2
- package/es/components/form/form-item.js.map +1 -1
- package/es/components/form/form.js +2 -2
- package/es/components/form/form.js.map +1 -1
- package/es/components/form-group/form-group.js +2 -2
- package/es/components/form-group/form-group.js.map +1 -1
- package/es/components/grid/column-hang.js +2 -2
- package/es/components/grid/column-hang.js.map +1 -1
- package/es/components/grid/column.js +2 -2
- package/es/components/grid/column.js.map +1 -1
- package/es/components/grid/grid.js +2 -2
- package/es/components/grid/grid.js.map +1 -1
- package/es/components/heading/heading.js +2 -2
- package/es/components/heading/heading.js.map +1 -1
- package/es/components/icon/icon.js +2 -2
- package/es/components/icon/icon.js.map +1 -1
- package/es/components/icon-indicator/icon-indicator.js +3 -3
- package/es/components/icon-indicator/icon-indicator.js.map +1 -1
- package/es/components/inline-loading/inline-loading.js +3 -3
- package/es/components/inline-loading/inline-loading.js.map +1 -1
- package/es/components/layer/layer.js +2 -2
- package/es/components/layer/layer.js.map +1 -1
- package/es/components/list/list-item.js +2 -2
- package/es/components/list/list-item.js.map +1 -1
- package/es/components/list/ordered-list.js +2 -2
- package/es/components/list/ordered-list.js.map +1 -1
- package/es/components/loading/loading.js +2 -2
- package/es/components/loading/loading.js.map +1 -1
- package/es/components/menu/menu-item-divider.js +2 -2
- package/es/components/menu/menu-item-divider.js.map +1 -1
- package/es/components/menu/menu-item-group.js +2 -2
- package/es/components/menu/menu-item-group.js.map +1 -1
- package/es/components/menu/menu-item-radio-group.js +2 -2
- package/es/components/menu/menu-item-radio-group.js.map +1 -1
- package/es/components/menu/menu-item-selectable.js +2 -2
- package/es/components/menu/menu-item-selectable.js.map +1 -1
- package/es/components/menu/menu-item.js +3 -3
- package/es/components/menu/menu-item.js.map +1 -1
- package/es/components/menu/menu.js +2 -2
- package/es/components/menu/menu.js.map +1 -1
- package/es/components/menu-button/menu-button.js +3 -3
- package/es/components/menu-button/menu-button.js.map +1 -1
- package/es/components/modal/modal-body-content.js +2 -2
- package/es/components/modal/modal-body-content.js.map +1 -1
- package/es/components/modal/modal-body.js +2 -2
- package/es/components/modal/modal-body.js.map +1 -1
- package/es/components/modal/modal-close-button.js +3 -3
- package/es/components/modal/modal-close-button.js.map +1 -1
- package/es/components/modal/modal-footer-button.js +2 -2
- package/es/components/modal/modal-footer-button.js.map +1 -1
- package/es/components/modal/modal-footer.js +2 -2
- package/es/components/modal/modal-footer.js.map +1 -1
- package/es/components/modal/modal-header.js +2 -2
- package/es/components/modal/modal-header.js.map +1 -1
- package/es/components/modal/modal-heading.js +2 -2
- package/es/components/modal/modal-heading.js.map +1 -1
- package/es/components/modal/modal-label.js +2 -2
- package/es/components/modal/modal-label.js.map +1 -1
- package/es/components/modal/modal.js +2 -2
- package/es/components/modal/modal.js.map +1 -1
- package/es/components/multi-select/multi-select-item.js +2 -2
- package/es/components/multi-select/multi-select-item.js.map +1 -1
- package/es/components/multi-select/multi-select.d.ts +9 -0
- package/es/components/multi-select/multi-select.js +58 -11
- package/es/components/multi-select/multi-select.js.map +1 -1
- package/es/components/notification/actionable-notification-button.js +2 -2
- package/es/components/notification/actionable-notification-button.js.map +1 -1
- package/es/components/notification/actionable-notification.js +1 -1
- package/es/components/notification/callout-notification.js +3 -3
- package/es/components/notification/callout-notification.js.map +1 -1
- package/es/components/notification/inline-notification.js +1 -1
- package/es/components/notification/toast-notification.js +2 -2
- package/es/components/notification/toast-notification.js.map +1 -1
- package/es/components/number-input/number-input.js +1 -1
- package/es/components/overflow-menu/overflow-menu-body.d.ts +18 -2
- package/es/components/overflow-menu/overflow-menu-body.js +25 -4
- package/es/components/overflow-menu/overflow-menu-body.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu-item.js +2 -2
- package/es/components/overflow-menu/overflow-menu-item.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu.scss.js +1 -1
- package/es/components/page-header/page-header-breadcrumb.js +2 -2
- package/es/components/page-header/page-header-breadcrumb.js.map +1 -1
- package/es/components/page-header/page-header-content-text.js +2 -2
- package/es/components/page-header/page-header-content-text.js.map +1 -1
- package/es/components/page-header/page-header-content.js +2 -2
- package/es/components/page-header/page-header-content.js.map +1 -1
- package/es/components/page-header/page-header-hero-image.js +2 -2
- package/es/components/page-header/page-header-hero-image.js.map +1 -1
- package/es/components/page-header/page-header-tabs.js +2 -2
- package/es/components/page-header/page-header-tabs.js.map +1 -1
- package/es/components/page-header/page-header.js +2 -2
- package/es/components/page-header/page-header.js.map +1 -1
- package/es/components/pagination/pagination.js +4 -4
- package/es/components/pagination/pagination.js.map +1 -1
- package/es/components/pagination-nav/pagination-nav.js +3 -3
- package/es/components/pagination-nav/pagination-nav.js.map +1 -1
- package/es/components/password-input/password-input-skeleton.js +2 -2
- package/es/components/password-input/password-input-skeleton.js.map +1 -1
- package/es/components/password-input/password-input.js +3 -3
- package/es/components/password-input/password-input.js.map +1 -1
- package/es/components/progress-bar/progress-bar.js +3 -3
- package/es/components/progress-bar/progress-bar.js.map +1 -1
- package/es/components/progress-indicator/progress-indicator-skeleton.js +2 -2
- package/es/components/progress-indicator/progress-indicator-skeleton.js.map +1 -1
- package/es/components/progress-indicator/progress-indicator.js +2 -2
- package/es/components/progress-indicator/progress-indicator.js.map +1 -1
- package/es/components/progress-indicator/progress-step-skeleton.js +3 -3
- package/es/components/progress-indicator/progress-step-skeleton.js.map +1 -1
- package/es/components/progress-indicator/progress-step.js +3 -3
- package/es/components/progress-indicator/progress-step.js.map +1 -1
- package/es/components/radio-button/radio-button-group.js +3 -3
- package/es/components/radio-button/radio-button-group.js.map +1 -1
- package/es/components/radio-button/radio-button-skeleton.js +2 -2
- package/es/components/radio-button/radio-button-skeleton.js.map +1 -1
- package/es/components/radio-button/radio-button.js +2 -2
- package/es/components/radio-button/radio-button.js.map +1 -1
- package/es/components/search/search.js +1 -1
- package/es/components/select/select-item-group.js +2 -2
- package/es/components/select/select-item-group.js.map +1 -1
- package/es/components/select/select-item.js +2 -2
- package/es/components/select/select-item.js.map +1 -1
- package/es/components/select/select.js +1 -1
- package/es/components/shape-indicator/shape-indicator.js +3 -3
- package/es/components/shape-indicator/shape-indicator.js.map +1 -1
- package/es/components/side-panel/side-panel.js +3 -3
- package/es/components/side-panel/side-panel.js.map +1 -1
- package/es/components/skeleton-icon/skeleton-icon.js +2 -2
- package/es/components/skeleton-icon/skeleton-icon.js.map +1 -1
- package/es/components/skeleton-placeholder/skeleton-placeholder.js +2 -2
- package/es/components/skeleton-placeholder/skeleton-placeholder.js.map +1 -1
- package/es/components/skeleton-text/skeleton-text.js +2 -2
- package/es/components/skeleton-text/skeleton-text.js.map +1 -1
- package/es/components/skip-to-content/skip-to-content.js +2 -2
- package/es/components/skip-to-content/skip-to-content.js.map +1 -1
- package/es/components/slider/slider-input.js +3 -3
- package/es/components/slider/slider-input.js.map +1 -1
- package/es/components/slider/slider-skeleton.js +2 -2
- package/es/components/slider/slider-skeleton.js.map +1 -1
- package/es/components/slider/slider.js +2 -2
- package/es/components/slider/slider.js.map +1 -1
- package/es/components/slug/slug-action-button.js +2 -2
- package/es/components/slug/slug-action-button.js.map +1 -1
- package/es/components/slug/slug.js +3 -3
- package/es/components/slug/slug.js.map +1 -1
- package/es/components/stack/stack.js +2 -2
- package/es/components/stack/stack.js.map +1 -1
- package/es/components/structured-list/structured-list-body.js +2 -2
- package/es/components/structured-list/structured-list-body.js.map +1 -1
- package/es/components/structured-list/structured-list-cell.js +2 -2
- package/es/components/structured-list/structured-list-cell.js.map +1 -1
- package/es/components/structured-list/structured-list-head.js +2 -2
- package/es/components/structured-list/structured-list-head.js.map +1 -1
- package/es/components/structured-list/structured-list-header-cell-skeleton.js +2 -2
- package/es/components/structured-list/structured-list-header-cell-skeleton.js.map +1 -1
- package/es/components/structured-list/structured-list-header-cell.js +2 -2
- package/es/components/structured-list/structured-list-header-cell.js.map +1 -1
- package/es/components/structured-list/structured-list-header-row.js +2 -2
- package/es/components/structured-list/structured-list-header-row.js.map +1 -1
- package/es/components/structured-list/structured-list-row.js +3 -3
- package/es/components/structured-list/structured-list-row.js.map +1 -1
- package/es/components/structured-list/structured-list.js +2 -2
- package/es/components/structured-list/structured-list.js.map +1 -1
- package/es/components/tabs/tab-skeleton.js +2 -2
- package/es/components/tabs/tab-skeleton.js.map +1 -1
- package/es/components/tabs/tab.js +2 -2
- package/es/components/tabs/tab.js.map +1 -1
- package/es/components/tabs/tabs-skeleton.js +2 -2
- package/es/components/tabs/tabs-skeleton.js.map +1 -1
- package/es/components/tabs/tabs.js +3 -3
- package/es/components/tabs/tabs.js.map +1 -1
- package/es/components/tabs/tabs.scss.js +1 -1
- package/es/components/tag/dismissible-tag.js +3 -3
- package/es/components/tag/dismissible-tag.js.map +1 -1
- package/es/components/tag/operational-tag.js +2 -2
- package/es/components/tag/operational-tag.js.map +1 -1
- package/es/components/tag/selectable-tag.js +2 -2
- package/es/components/tag/selectable-tag.js.map +1 -1
- package/es/components/tag/tag-skeleton.js +2 -2
- package/es/components/tag/tag-skeleton.js.map +1 -1
- package/es/components/tag/tag.js +1 -1
- package/es/components/tearsheet/tearsheet.js +2 -2
- package/es/components/tearsheet/tearsheet.js.map +1 -1
- package/es/components/text-input/text-input.js +1 -1
- package/es/components/textarea/textarea.js +1 -1
- package/es/components/tile/clickable-tile.js +3 -3
- package/es/components/tile/clickable-tile.js.map +1 -1
- package/es/components/tile/expandable-tile.js +3 -3
- package/es/components/tile/expandable-tile.js.map +1 -1
- package/es/components/tile/radio-tile.js +3 -3
- package/es/components/tile/radio-tile.js.map +1 -1
- package/es/components/tile/selectable-tile.js +1 -1
- package/es/components/tile/tile-group.js +2 -2
- package/es/components/tile/tile-group.js.map +1 -1
- package/es/components/tile/tile.js +2 -2
- package/es/components/tile/tile.js.map +1 -1
- package/es/components/time-picker/time-picker-select.js +3 -3
- package/es/components/time-picker/time-picker-select.js.map +1 -1
- package/es/components/time-picker/time-picker.js +1 -1
- package/es/components/toggle/toggle-skeleton.js +2 -2
- package/es/components/toggle/toggle-skeleton.js.map +1 -1
- package/es/components/toggle/toggle.js +2 -2
- package/es/components/toggle/toggle.js.map +1 -1
- package/es/components/toggle-tip/toggletip.js +1 -1
- package/es/components/tooltip/definition-tooltip.js +2 -2
- package/es/components/tooltip/definition-tooltip.js.map +1 -1
- package/es/components/tooltip/tooltip-content.js +2 -2
- package/es/components/tooltip/tooltip-content.js.map +1 -1
- package/es/components/tooltip/tooltip.js +2 -2
- package/es/components/tooltip/tooltip.js.map +1 -1
- package/es/components/tree-view/tree-node.js +3 -3
- package/es/components/tree-view/tree-node.js.map +1 -1
- package/es/components/tree-view/tree-view.js +2 -2
- package/es/components/tree-view/tree-view.js.map +1 -1
- package/es/components/ui-shell/header-global-action.js +2 -2
- package/es/components/ui-shell/header-global-action.js.map +1 -1
- package/es/components/ui-shell/header-menu-button.js +3 -3
- package/es/components/ui-shell/header-menu-button.js.map +1 -1
- package/es/components/ui-shell/header-menu-item.js +2 -2
- package/es/components/ui-shell/header-menu-item.js.map +1 -1
- package/es/components/ui-shell/header-menu.js +3 -3
- package/es/components/ui-shell/header-menu.js.map +1 -1
- package/es/components/ui-shell/header-name.js +2 -2
- package/es/components/ui-shell/header-name.js.map +1 -1
- package/es/components/ui-shell/header-nav.js +2 -2
- package/es/components/ui-shell/header-nav.js.map +1 -1
- package/es/components/ui-shell/header-panel.js +2 -2
- package/es/components/ui-shell/header-panel.js.map +1 -1
- package/es/components/ui-shell/header-side-nav-items.js +2 -2
- package/es/components/ui-shell/header-side-nav-items.js.map +1 -1
- package/es/components/ui-shell/header.js +2 -2
- package/es/components/ui-shell/header.js.map +1 -1
- package/es/components/ui-shell/side-nav-divider.js +2 -2
- package/es/components/ui-shell/side-nav-divider.js.map +1 -1
- package/es/components/ui-shell/side-nav-items.js +2 -2
- package/es/components/ui-shell/side-nav-items.js.map +1 -1
- package/es/components/ui-shell/side-nav-link.js +2 -2
- package/es/components/ui-shell/side-nav-link.js.map +1 -1
- package/es/components/ui-shell/side-nav-menu-item.js +2 -2
- package/es/components/ui-shell/side-nav-menu-item.js.map +1 -1
- package/es/components/ui-shell/side-nav-menu.js +3 -3
- package/es/components/ui-shell/side-nav-menu.js.map +1 -1
- package/es/components/ui-shell/side-nav.js +2 -2
- package/es/components/ui-shell/side-nav.js.map +1 -1
- package/es/components/ui-shell/switcher-divider.js +2 -2
- package/es/components/ui-shell/switcher-divider.js.map +1 -1
- package/es/components/ui-shell/switcher-item.js +2 -2
- package/es/components/ui-shell/switcher-item.js.map +1 -1
- package/es/components/ui-shell/switcher.js +2 -2
- package/es/components/ui-shell/switcher.js.map +1 -1
- package/es/feature-flags/es/index.js +153 -144
- package/es/feature-flags/es/index.js.map +1 -1
- package/es-custom/components/accordion/accordion-item-skeleton.js +3 -3
- package/es-custom/components/accordion/accordion-item-skeleton.js.map +1 -1
- package/es-custom/components/accordion/accordion-item.js +3 -3
- package/es-custom/components/accordion/accordion-item.js.map +1 -1
- package/es-custom/components/accordion/accordion-skeleton.js +3 -3
- package/es-custom/components/accordion/accordion-skeleton.js.map +1 -1
- package/es-custom/components/accordion/accordion.js +2 -2
- package/es-custom/components/accordion/accordion.js.map +1 -1
- package/es-custom/components/ai-label/ai-label-action-button.js +2 -2
- package/es-custom/components/ai-label/ai-label-action-button.js.map +1 -1
- package/es-custom/components/ai-label/ai-label.js +3 -3
- package/es-custom/components/ai-label/ai-label.js.map +1 -1
- package/es-custom/components/ai-skeleton/ai-skeleton-icon.js +2 -2
- package/es-custom/components/ai-skeleton/ai-skeleton-icon.js.map +1 -1
- package/es-custom/components/ai-skeleton/ai-skeleton-placeholder.js +2 -2
- package/es-custom/components/ai-skeleton/ai-skeleton-placeholder.js.map +1 -1
- package/es-custom/components/ai-skeleton/ai-skeleton-text.js +2 -2
- package/es-custom/components/ai-skeleton/ai-skeleton-text.js.map +1 -1
- package/es-custom/components/badge-indicator/badge-indicator.js +2 -2
- package/es-custom/components/badge-indicator/badge-indicator.js.map +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-item.d.ts +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-item.js +15 -12
- package/es-custom/components/breadcrumb/breadcrumb-item.js.map +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-link.js +2 -2
- package/es-custom/components/breadcrumb/breadcrumb-link.js.map +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-overflow-menu.js +3 -3
- package/es-custom/components/breadcrumb/breadcrumb-overflow-menu.js.map +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-skeleton.js +2 -2
- package/es-custom/components/breadcrumb/breadcrumb-skeleton.js.map +1 -1
- package/es-custom/components/breadcrumb/breadcrumb.js +2 -2
- package/es-custom/components/breadcrumb/breadcrumb.js.map +1 -1
- package/es-custom/components/button/button-set.js +2 -2
- package/es-custom/components/button/button-set.js.map +1 -1
- package/es-custom/components/button/button-skeleton.js +3 -2
- package/es-custom/components/button/button-skeleton.js.map +1 -1
- package/es-custom/components/button/button.d.ts +14 -16
- package/es-custom/components/button/button.js +27 -24
- package/es-custom/components/button/button.js.map +1 -1
- package/es-custom/components/button/button.scss.js +1 -1
- package/es-custom/components/chat-button/chat-button-skeleton.js +2 -2
- package/es-custom/components/chat-button/chat-button-skeleton.js.map +1 -1
- package/es-custom/components/chat-button/chat-button.js +2 -2
- package/es-custom/components/chat-button/chat-button.js.map +1 -1
- package/es-custom/components/checkbox/checkbox-group.js +3 -3
- package/es-custom/components/checkbox/checkbox-group.js.map +1 -1
- package/es-custom/components/checkbox/checkbox-skeleton.js +2 -2
- package/es-custom/components/checkbox/checkbox-skeleton.js.map +1 -1
- package/es-custom/components/checkbox/checkbox.js +1 -1
- package/es-custom/components/code-snippet/code-snippet-skeleton.js +2 -2
- package/es-custom/components/code-snippet/code-snippet-skeleton.js.map +1 -1
- package/es-custom/components/code-snippet/code-snippet.js +3 -3
- package/es-custom/components/code-snippet/code-snippet.js.map +1 -1
- package/es-custom/components/combo-box/combo-box-item.js +2 -2
- package/es-custom/components/combo-box/combo-box-item.js.map +1 -1
- package/es-custom/components/combo-box/combo-box.js +16 -8
- package/es-custom/components/combo-box/combo-box.js.map +1 -1
- package/es-custom/components/combo-button/combo-button.js +3 -3
- package/es-custom/components/combo-button/combo-button.js.map +1 -1
- package/es-custom/components/contained-list/contained-list-description.js +2 -2
- package/es-custom/components/contained-list/contained-list-description.js.map +1 -1
- package/es-custom/components/contained-list/contained-list-item.js +2 -2
- package/es-custom/components/contained-list/contained-list-item.js.map +1 -1
- package/es-custom/components/contained-list/contained-list.js +2 -2
- package/es-custom/components/contained-list/contained-list.js.map +1 -1
- package/es-custom/components/copy/copy.js +2 -2
- package/es-custom/components/copy/copy.js.map +1 -1
- package/es-custom/components/copy-button/copy-button.js +3 -3
- package/es-custom/components/copy-button/copy-button.js.map +1 -1
- package/es-custom/components/data-table/table-batch-actions.js +2 -2
- package/es-custom/components/data-table/table-batch-actions.js.map +1 -1
- package/es-custom/components/data-table/table-body.js +2 -2
- package/es-custom/components/data-table/table-body.js.map +1 -1
- package/es-custom/components/data-table/table-cell-content.js +2 -2
- package/es-custom/components/data-table/table-cell-content.js.map +1 -1
- package/es-custom/components/data-table/table-cell.js +2 -2
- package/es-custom/components/data-table/table-cell.js.map +1 -1
- package/es-custom/components/data-table/table-expanded-row.js +2 -2
- package/es-custom/components/data-table/table-expanded-row.js.map +1 -1
- package/es-custom/components/data-table/table-head.js +2 -2
- package/es-custom/components/data-table/table-head.js.map +1 -1
- package/es-custom/components/data-table/table-header-cell.js +3 -3
- package/es-custom/components/data-table/table-header-cell.js.map +1 -1
- package/es-custom/components/data-table/table-header-description.js +2 -2
- package/es-custom/components/data-table/table-header-description.js.map +1 -1
- package/es-custom/components/data-table/table-header-row.js +2 -2
- package/es-custom/components/data-table/table-header-row.js.map +1 -1
- package/es-custom/components/data-table/table-header-title.js +2 -2
- package/es-custom/components/data-table/table-header-title.js.map +1 -1
- package/es-custom/components/data-table/table-row.js +1 -1
- package/es-custom/components/data-table/table-skeleton.js +2 -2
- package/es-custom/components/data-table/table-skeleton.js.map +1 -1
- package/es-custom/components/data-table/table-toolbar-content.js +2 -2
- package/es-custom/components/data-table/table-toolbar-content.js.map +1 -1
- package/es-custom/components/data-table/table-toolbar-search.js +2 -2
- package/es-custom/components/data-table/table-toolbar-search.js.map +1 -1
- package/es-custom/components/data-table/table-toolbar.js +2 -2
- package/es-custom/components/data-table/table-toolbar.js.map +1 -1
- package/es-custom/components/data-table/table.js +2 -2
- package/es-custom/components/data-table/table.js.map +1 -1
- package/es-custom/components/date-picker/date-picker-input-skeleton.js +2 -2
- package/es-custom/components/date-picker/date-picker-input-skeleton.js.map +1 -1
- package/es-custom/components/date-picker/date-picker-input.js +1 -1
- package/es-custom/components/date-picker/date-picker.js +2 -2
- package/es-custom/components/date-picker/date-picker.js.map +1 -1
- package/es-custom/components/date-picker/icon-plugin.js +1 -1
- package/es-custom/components/dropdown/dropdown-item.js +1 -1
- package/es-custom/components/dropdown/dropdown-skeleton.js +2 -2
- package/es-custom/components/dropdown/dropdown-skeleton.js.map +1 -1
- package/es-custom/components/dropdown/dropdown.js +1 -1
- package/es-custom/components/feature-flags/index.d.ts +1 -1
- package/es-custom/components/feature-flags/index.js +7 -4
- package/es-custom/components/feature-flags/index.js.map +1 -1
- package/es-custom/components/file-uploader/demo-file-uploader.js +2 -2
- package/es-custom/components/file-uploader/demo-file-uploader.js.map +1 -1
- package/es-custom/components/file-uploader/file-uploader-button.js +2 -2
- package/es-custom/components/file-uploader/file-uploader-button.js.map +1 -1
- package/es-custom/components/file-uploader/file-uploader-drop-container.js +2 -2
- package/es-custom/components/file-uploader/file-uploader-drop-container.js.map +1 -1
- package/es-custom/components/file-uploader/file-uploader-item.js +3 -3
- package/es-custom/components/file-uploader/file-uploader-item.js.map +1 -1
- package/es-custom/components/file-uploader/file-uploader-skeleton.js +2 -2
- package/es-custom/components/file-uploader/file-uploader-skeleton.js.map +1 -1
- package/es-custom/components/file-uploader/file-uploader.js +2 -2
- package/es-custom/components/file-uploader/file-uploader.js.map +1 -1
- package/es-custom/components/floating-menu/defs.d.ts +10 -2
- package/es-custom/components/floating-menu/defs.js +9 -1
- package/es-custom/components/floating-menu/defs.js.map +1 -1
- package/es-custom/components/floating-menu/floating-menu.d.ts +31 -1
- package/es-custom/components/floating-menu/floating-menu.js +110 -43
- package/es-custom/components/floating-menu/floating-menu.js.map +1 -1
- package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.js +2 -2
- package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.js.map +1 -1
- package/es-custom/components/fluid-number-input/fluid-number-input.js +2 -2
- package/es-custom/components/fluid-number-input/fluid-number-input.js.map +1 -1
- package/es-custom/components/fluid-search/fluid-search-skeleton.js +2 -2
- package/es-custom/components/fluid-search/fluid-search-skeleton.js.map +1 -1
- package/es-custom/components/fluid-search/fluid-search.js +2 -2
- package/es-custom/components/fluid-search/fluid-search.js.map +1 -1
- package/es-custom/components/fluid-select/fluid-select-skeleton.js +2 -2
- package/es-custom/components/fluid-select/fluid-select-skeleton.js.map +1 -1
- package/es-custom/components/fluid-text-input/fluid-text-input-skeleton.js +2 -2
- package/es-custom/components/fluid-text-input/fluid-text-input-skeleton.js.map +1 -1
- package/es-custom/components/fluid-text-input/fluid-text-input.js +2 -2
- package/es-custom/components/fluid-text-input/fluid-text-input.js.map +1 -1
- package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.js +2 -2
- package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.js.map +1 -1
- package/es-custom/components/fluid-textarea/fluid-textarea.js +2 -2
- package/es-custom/components/fluid-textarea/fluid-textarea.js.map +1 -1
- package/es-custom/components/fluid-time-picker/fluid-time-picker-select.js +2 -2
- package/es-custom/components/fluid-time-picker/fluid-time-picker-select.js.map +1 -1
- package/es-custom/components/fluid-time-picker/fluid-time-picker-skeleton.js +2 -2
- package/es-custom/components/fluid-time-picker/fluid-time-picker-skeleton.js.map +1 -1
- package/es-custom/components/fluid-time-picker/fluid-time-picker.js +3 -3
- package/es-custom/components/fluid-time-picker/fluid-time-picker.js.map +1 -1
- package/es-custom/components/form/form-item.js +2 -2
- package/es-custom/components/form/form-item.js.map +1 -1
- package/es-custom/components/form/form.js +2 -2
- package/es-custom/components/form/form.js.map +1 -1
- package/es-custom/components/form-group/form-group.js +2 -2
- package/es-custom/components/form-group/form-group.js.map +1 -1
- package/es-custom/components/grid/column-hang.js +2 -2
- package/es-custom/components/grid/column-hang.js.map +1 -1
- package/es-custom/components/grid/column.js +2 -2
- package/es-custom/components/grid/column.js.map +1 -1
- package/es-custom/components/grid/grid.js +2 -2
- package/es-custom/components/grid/grid.js.map +1 -1
- package/es-custom/components/heading/heading.js +2 -2
- package/es-custom/components/heading/heading.js.map +1 -1
- package/es-custom/components/icon/icon.js +2 -2
- package/es-custom/components/icon/icon.js.map +1 -1
- package/es-custom/components/icon-indicator/icon-indicator.js +3 -3
- package/es-custom/components/icon-indicator/icon-indicator.js.map +1 -1
- package/es-custom/components/inline-loading/inline-loading.js +3 -3
- package/es-custom/components/inline-loading/inline-loading.js.map +1 -1
- package/es-custom/components/layer/layer.js +2 -2
- package/es-custom/components/layer/layer.js.map +1 -1
- package/es-custom/components/list/list-item.js +2 -2
- package/es-custom/components/list/list-item.js.map +1 -1
- package/es-custom/components/list/ordered-list.js +2 -2
- package/es-custom/components/list/ordered-list.js.map +1 -1
- package/es-custom/components/loading/loading.js +2 -2
- package/es-custom/components/loading/loading.js.map +1 -1
- package/es-custom/components/menu/menu-item-divider.js +2 -2
- package/es-custom/components/menu/menu-item-divider.js.map +1 -1
- package/es-custom/components/menu/menu-item-group.js +2 -2
- package/es-custom/components/menu/menu-item-group.js.map +1 -1
- package/es-custom/components/menu/menu-item-radio-group.js +2 -2
- package/es-custom/components/menu/menu-item-radio-group.js.map +1 -1
- package/es-custom/components/menu/menu-item-selectable.js +2 -2
- package/es-custom/components/menu/menu-item-selectable.js.map +1 -1
- package/es-custom/components/menu/menu-item.js +3 -3
- package/es-custom/components/menu/menu-item.js.map +1 -1
- package/es-custom/components/menu/menu.js +2 -2
- package/es-custom/components/menu/menu.js.map +1 -1
- package/es-custom/components/menu-button/menu-button.js +3 -3
- package/es-custom/components/menu-button/menu-button.js.map +1 -1
- package/es-custom/components/modal/modal-body-content.js +2 -2
- package/es-custom/components/modal/modal-body-content.js.map +1 -1
- package/es-custom/components/modal/modal-body.js +2 -2
- package/es-custom/components/modal/modal-body.js.map +1 -1
- package/es-custom/components/modal/modal-close-button.js +3 -3
- package/es-custom/components/modal/modal-close-button.js.map +1 -1
- package/es-custom/components/modal/modal-footer-button.js +2 -2
- package/es-custom/components/modal/modal-footer-button.js.map +1 -1
- package/es-custom/components/modal/modal-footer.js +2 -2
- package/es-custom/components/modal/modal-footer.js.map +1 -1
- package/es-custom/components/modal/modal-header.js +2 -2
- package/es-custom/components/modal/modal-header.js.map +1 -1
- package/es-custom/components/modal/modal-heading.js +2 -2
- package/es-custom/components/modal/modal-heading.js.map +1 -1
- package/es-custom/components/modal/modal-label.js +2 -2
- package/es-custom/components/modal/modal-label.js.map +1 -1
- package/es-custom/components/modal/modal.js +2 -2
- package/es-custom/components/modal/modal.js.map +1 -1
- package/es-custom/components/multi-select/multi-select-item.js +2 -2
- package/es-custom/components/multi-select/multi-select-item.js.map +1 -1
- package/es-custom/components/multi-select/multi-select.d.ts +9 -0
- package/es-custom/components/multi-select/multi-select.js +58 -11
- package/es-custom/components/multi-select/multi-select.js.map +1 -1
- package/es-custom/components/notification/actionable-notification-button.js +2 -2
- package/es-custom/components/notification/actionable-notification-button.js.map +1 -1
- package/es-custom/components/notification/actionable-notification.js +1 -1
- package/es-custom/components/notification/callout-notification.js +3 -3
- package/es-custom/components/notification/callout-notification.js.map +1 -1
- package/es-custom/components/notification/inline-notification.js +1 -1
- package/es-custom/components/notification/toast-notification.js +2 -2
- package/es-custom/components/notification/toast-notification.js.map +1 -1
- package/es-custom/components/number-input/number-input.js +1 -1
- package/es-custom/components/overflow-menu/overflow-menu-body.d.ts +18 -2
- package/es-custom/components/overflow-menu/overflow-menu-body.js +25 -4
- package/es-custom/components/overflow-menu/overflow-menu-body.js.map +1 -1
- package/es-custom/components/overflow-menu/overflow-menu-item.js +2 -2
- package/es-custom/components/overflow-menu/overflow-menu-item.js.map +1 -1
- package/es-custom/components/overflow-menu/overflow-menu.scss.js +1 -1
- package/es-custom/components/page-header/page-header-breadcrumb.js +2 -2
- package/es-custom/components/page-header/page-header-breadcrumb.js.map +1 -1
- package/es-custom/components/page-header/page-header-content-text.js +2 -2
- package/es-custom/components/page-header/page-header-content-text.js.map +1 -1
- package/es-custom/components/page-header/page-header-content.js +2 -2
- package/es-custom/components/page-header/page-header-content.js.map +1 -1
- package/es-custom/components/page-header/page-header-hero-image.js +2 -2
- package/es-custom/components/page-header/page-header-hero-image.js.map +1 -1
- package/es-custom/components/page-header/page-header-tabs.js +2 -2
- package/es-custom/components/page-header/page-header-tabs.js.map +1 -1
- package/es-custom/components/page-header/page-header.js +2 -2
- package/es-custom/components/page-header/page-header.js.map +1 -1
- package/es-custom/components/pagination/pagination.js +4 -4
- package/es-custom/components/pagination/pagination.js.map +1 -1
- package/es-custom/components/pagination-nav/pagination-nav.js +3 -3
- package/es-custom/components/pagination-nav/pagination-nav.js.map +1 -1
- package/es-custom/components/password-input/password-input-skeleton.js +2 -2
- package/es-custom/components/password-input/password-input-skeleton.js.map +1 -1
- package/es-custom/components/password-input/password-input.js +3 -3
- package/es-custom/components/password-input/password-input.js.map +1 -1
- package/es-custom/components/progress-bar/progress-bar.js +3 -3
- package/es-custom/components/progress-bar/progress-bar.js.map +1 -1
- package/es-custom/components/progress-indicator/progress-indicator-skeleton.js +2 -2
- package/es-custom/components/progress-indicator/progress-indicator-skeleton.js.map +1 -1
- package/es-custom/components/progress-indicator/progress-indicator.js +2 -2
- package/es-custom/components/progress-indicator/progress-indicator.js.map +1 -1
- package/es-custom/components/progress-indicator/progress-step-skeleton.js +3 -3
- package/es-custom/components/progress-indicator/progress-step-skeleton.js.map +1 -1
- package/es-custom/components/progress-indicator/progress-step.js +3 -3
- package/es-custom/components/progress-indicator/progress-step.js.map +1 -1
- package/es-custom/components/radio-button/radio-button-group.js +3 -3
- package/es-custom/components/radio-button/radio-button-group.js.map +1 -1
- package/es-custom/components/radio-button/radio-button-skeleton.js +2 -2
- package/es-custom/components/radio-button/radio-button-skeleton.js.map +1 -1
- package/es-custom/components/radio-button/radio-button.js +2 -2
- package/es-custom/components/radio-button/radio-button.js.map +1 -1
- package/es-custom/components/search/search.js +1 -1
- package/es-custom/components/select/select-item-group.js +2 -2
- package/es-custom/components/select/select-item-group.js.map +1 -1
- package/es-custom/components/select/select-item.js +2 -2
- package/es-custom/components/select/select-item.js.map +1 -1
- package/es-custom/components/select/select.js +1 -1
- package/es-custom/components/shape-indicator/shape-indicator.js +3 -3
- package/es-custom/components/shape-indicator/shape-indicator.js.map +1 -1
- package/es-custom/components/side-panel/side-panel.js +3 -3
- package/es-custom/components/side-panel/side-panel.js.map +1 -1
- package/es-custom/components/skeleton-icon/skeleton-icon.js +2 -2
- package/es-custom/components/skeleton-icon/skeleton-icon.js.map +1 -1
- package/es-custom/components/skeleton-placeholder/skeleton-placeholder.js +2 -2
- package/es-custom/components/skeleton-placeholder/skeleton-placeholder.js.map +1 -1
- package/es-custom/components/skeleton-text/skeleton-text.js +2 -2
- package/es-custom/components/skeleton-text/skeleton-text.js.map +1 -1
- package/es-custom/components/skip-to-content/skip-to-content.js +2 -2
- package/es-custom/components/skip-to-content/skip-to-content.js.map +1 -1
- package/es-custom/components/slider/slider-input.js +3 -3
- package/es-custom/components/slider/slider-input.js.map +1 -1
- package/es-custom/components/slider/slider-skeleton.js +2 -2
- package/es-custom/components/slider/slider-skeleton.js.map +1 -1
- package/es-custom/components/slider/slider.js +2 -2
- package/es-custom/components/slider/slider.js.map +1 -1
- package/es-custom/components/slug/slug-action-button.js +2 -2
- package/es-custom/components/slug/slug-action-button.js.map +1 -1
- package/es-custom/components/slug/slug.js +3 -3
- package/es-custom/components/slug/slug.js.map +1 -1
- package/es-custom/components/stack/stack.js +2 -2
- package/es-custom/components/stack/stack.js.map +1 -1
- package/es-custom/components/structured-list/structured-list-body.js +2 -2
- package/es-custom/components/structured-list/structured-list-body.js.map +1 -1
- package/es-custom/components/structured-list/structured-list-cell.js +2 -2
- package/es-custom/components/structured-list/structured-list-cell.js.map +1 -1
- package/es-custom/components/structured-list/structured-list-head.js +2 -2
- package/es-custom/components/structured-list/structured-list-head.js.map +1 -1
- package/es-custom/components/structured-list/structured-list-header-cell-skeleton.js +2 -2
- package/es-custom/components/structured-list/structured-list-header-cell-skeleton.js.map +1 -1
- package/es-custom/components/structured-list/structured-list-header-cell.js +2 -2
- package/es-custom/components/structured-list/structured-list-header-cell.js.map +1 -1
- package/es-custom/components/structured-list/structured-list-header-row.js +2 -2
- package/es-custom/components/structured-list/structured-list-header-row.js.map +1 -1
- package/es-custom/components/structured-list/structured-list-row.js +3 -3
- package/es-custom/components/structured-list/structured-list-row.js.map +1 -1
- package/es-custom/components/structured-list/structured-list.js +2 -2
- package/es-custom/components/structured-list/structured-list.js.map +1 -1
- package/es-custom/components/tabs/tab-skeleton.js +2 -2
- package/es-custom/components/tabs/tab-skeleton.js.map +1 -1
- package/es-custom/components/tabs/tab.js +2 -2
- package/es-custom/components/tabs/tab.js.map +1 -1
- package/es-custom/components/tabs/tabs-skeleton.js +2 -2
- package/es-custom/components/tabs/tabs-skeleton.js.map +1 -1
- package/es-custom/components/tabs/tabs.js +3 -3
- package/es-custom/components/tabs/tabs.js.map +1 -1
- package/es-custom/components/tabs/tabs.scss.js +1 -1
- package/es-custom/components/tag/dismissible-tag.js +3 -3
- package/es-custom/components/tag/dismissible-tag.js.map +1 -1
- package/es-custom/components/tag/operational-tag.js +2 -2
- package/es-custom/components/tag/operational-tag.js.map +1 -1
- package/es-custom/components/tag/selectable-tag.js +2 -2
- package/es-custom/components/tag/selectable-tag.js.map +1 -1
- package/es-custom/components/tag/tag-skeleton.js +2 -2
- package/es-custom/components/tag/tag-skeleton.js.map +1 -1
- package/es-custom/components/tag/tag.js +1 -1
- package/es-custom/components/tearsheet/tearsheet.js +2 -2
- package/es-custom/components/tearsheet/tearsheet.js.map +1 -1
- package/es-custom/components/text-input/text-input.js +1 -1
- package/es-custom/components/textarea/textarea.js +1 -1
- package/es-custom/components/tile/clickable-tile.js +3 -3
- package/es-custom/components/tile/clickable-tile.js.map +1 -1
- package/es-custom/components/tile/expandable-tile.js +3 -3
- package/es-custom/components/tile/expandable-tile.js.map +1 -1
- package/es-custom/components/tile/radio-tile.js +3 -3
- package/es-custom/components/tile/radio-tile.js.map +1 -1
- package/es-custom/components/tile/selectable-tile.js +1 -1
- package/es-custom/components/tile/tile-group.js +2 -2
- package/es-custom/components/tile/tile-group.js.map +1 -1
- package/es-custom/components/tile/tile.js +2 -2
- package/es-custom/components/tile/tile.js.map +1 -1
- package/es-custom/components/time-picker/time-picker-select.js +3 -3
- package/es-custom/components/time-picker/time-picker-select.js.map +1 -1
- package/es-custom/components/time-picker/time-picker.js +1 -1
- package/es-custom/components/toggle/toggle-skeleton.js +2 -2
- package/es-custom/components/toggle/toggle-skeleton.js.map +1 -1
- package/es-custom/components/toggle/toggle.js +2 -2
- package/es-custom/components/toggle/toggle.js.map +1 -1
- package/es-custom/components/toggle-tip/toggletip.js +1 -1
- package/es-custom/components/tooltip/definition-tooltip.js +2 -2
- package/es-custom/components/tooltip/definition-tooltip.js.map +1 -1
- package/es-custom/components/tooltip/tooltip-content.js +2 -2
- package/es-custom/components/tooltip/tooltip-content.js.map +1 -1
- package/es-custom/components/tooltip/tooltip.js +2 -2
- package/es-custom/components/tooltip/tooltip.js.map +1 -1
- package/es-custom/components/tree-view/tree-node.js +3 -3
- package/es-custom/components/tree-view/tree-node.js.map +1 -1
- package/es-custom/components/tree-view/tree-view.js +2 -2
- package/es-custom/components/tree-view/tree-view.js.map +1 -1
- package/es-custom/components/ui-shell/header-global-action.js +2 -2
- package/es-custom/components/ui-shell/header-global-action.js.map +1 -1
- package/es-custom/components/ui-shell/header-menu-button.js +3 -3
- package/es-custom/components/ui-shell/header-menu-button.js.map +1 -1
- package/es-custom/components/ui-shell/header-menu-item.js +2 -2
- package/es-custom/components/ui-shell/header-menu-item.js.map +1 -1
- package/es-custom/components/ui-shell/header-menu.js +3 -3
- package/es-custom/components/ui-shell/header-menu.js.map +1 -1
- package/es-custom/components/ui-shell/header-name.js +2 -2
- package/es-custom/components/ui-shell/header-name.js.map +1 -1
- package/es-custom/components/ui-shell/header-nav.js +2 -2
- package/es-custom/components/ui-shell/header-nav.js.map +1 -1
- package/es-custom/components/ui-shell/header-panel.js +2 -2
- package/es-custom/components/ui-shell/header-panel.js.map +1 -1
- package/es-custom/components/ui-shell/header-side-nav-items.js +2 -2
- package/es-custom/components/ui-shell/header-side-nav-items.js.map +1 -1
- package/es-custom/components/ui-shell/header.js +2 -2
- package/es-custom/components/ui-shell/header.js.map +1 -1
- package/es-custom/components/ui-shell/side-nav-divider.js +2 -2
- package/es-custom/components/ui-shell/side-nav-divider.js.map +1 -1
- package/es-custom/components/ui-shell/side-nav-items.js +2 -2
- package/es-custom/components/ui-shell/side-nav-items.js.map +1 -1
- package/es-custom/components/ui-shell/side-nav-link.js +2 -2
- package/es-custom/components/ui-shell/side-nav-link.js.map +1 -1
- package/es-custom/components/ui-shell/side-nav-menu-item.js +2 -2
- package/es-custom/components/ui-shell/side-nav-menu-item.js.map +1 -1
- package/es-custom/components/ui-shell/side-nav-menu.js +3 -3
- package/es-custom/components/ui-shell/side-nav-menu.js.map +1 -1
- package/es-custom/components/ui-shell/side-nav.js +2 -2
- package/es-custom/components/ui-shell/side-nav.js.map +1 -1
- package/es-custom/components/ui-shell/switcher-divider.js +2 -2
- package/es-custom/components/ui-shell/switcher-divider.js.map +1 -1
- package/es-custom/components/ui-shell/switcher-item.js +2 -2
- package/es-custom/components/ui-shell/switcher-item.js.map +1 -1
- package/es-custom/components/ui-shell/switcher.js +2 -2
- package/es-custom/components/ui-shell/switcher.js.map +1 -1
- package/es-custom/feature-flags/es/index.js +153 -144
- package/es-custom/feature-flags/es/index.js.map +1 -1
- package/lib/components/breadcrumb/breadcrumb-item.d.ts +1 -1
- package/lib/components/button/button.d.ts +14 -16
- package/lib/components/feature-flags/index.d.ts +1 -1
- package/lib/components/floating-menu/defs.d.ts +10 -2
- package/lib/components/floating-menu/defs.js +9 -1
- package/lib/components/floating-menu/defs.js.map +1 -1
- package/lib/components/floating-menu/floating-menu.d.ts +31 -1
- package/lib/components/multi-select/multi-select.d.ts +9 -0
- package/lib/components/overflow-menu/overflow-menu-body.d.ts +18 -2
- package/package.json +3 -3
- package/scss/components/button/button.scss +2 -0
- package/scss/components/overflow-menu/overflow-menu.scss +7 -1
- package/scss/components/tabs/tabs-story.scss +15 -1
- package/scss/components/tabs/tabs.scss +16 -3
- package/telemetry.yml +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.js","sources":["../../../src/components/tooltip/tooltip.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { adoptStyles } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport CDSPopover from '../popover/popover';\nimport '../popover/popover-content';\nimport styles from './tooltip.scss?lit';\nimport popoverStyles from '../popover/popover.scss?lit';\nimport CDSTooltipContent from './tooltip-content';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Trigger button of tooltip.\n *\n * @element cds-tooltip\n */\n@customElement(`${prefix}-tooltip`)\nclass CDSTooltip extends HostListenerMixin(CDSPopover) {\n /**\n * Specify how the trigger should align with the tooltip\n */\n @property({ reflect: true, type: String })\n align = 'top';\n\n /**\n * Specify whether a auto align functionality should be applied\n */\n @property({ type: Boolean, reflect: true })\n autoalign = false;\n\n /**\n * `true` if this tooltip is in a data table row\n */\n @property({ type: Boolean, reflect: true, attribute: 'data-table' })\n dataTable = false;\n\n /**\n * Specify whether the tooltip should be closed when clicked\n */\n @property({ reflect: true, type: Boolean })\n closeOnActivation = false;\n\n /**\n * Specify whether the tooltip should be open when it first renders\n */\n @property({ reflect: true, type: Boolean })\n defaultOpen = false;\n\n /**\n * Specify the duration in milliseconds to delay before displaying the tooltip\n */\n @property({ attribute: 'enter-delay-ms', type: Number })\n enterDelayMs = 100;\n\n /**\n * Specify the duration in milliseconds to delay before hiding the tooltip\n */\n @property({ attribute: 'leave-delay-ms', type: Number })\n leaveDelayMs = 300;\n\n /**\n * Only open tooltip on keyboard interactions, this is used for interactive tags\n * (ie. operational-tag, selectable-tag)\n */\n @property({ attribute: 'keyboard-only', type: Boolean })\n keyboardOnly = false;\n\n /**\n * Specify the size of the tooltip\n */\n @property({ reflect: true })\n size = false;\n\n /**\n * Specify the timeout reference for the tooltip\n */\n @property({ reflect: true })\n timeoutId = 0;\n\n /**\n * Specify whether the tooltip should be open when it first renders\n */\n @property({ reflect: true, attribute: 'toolbar-action', type: Boolean })\n toolbarAction = false;\n\n /**\n * Track if last interaction was a keyboard interaction\n */\n private lastInteractionWasKeyboard = false;\n\n /**\n * Handles opening of tooltip\n */\n private _showTooltip = async () => {\n window.clearTimeout(this.timeoutId);\n this.timeoutId = window.setTimeout(async () => {\n this.open = true;\n const { open, updateComplete } = this;\n if (open) {\n await updateComplete;\n const { selectorTooltipContent } = this\n .constructor as typeof CDSTooltip;\n (this.querySelector(selectorTooltipContent) as HTMLElement)?.focus();\n }\n }, this.enterDelayMs);\n };\n\n /**\n * Handles `mouseover` event on this element.\n */\n private _handleHover = (event) => {\n if (this.keyboardOnly) {\n if (event instanceof FocusEvent && this.lastInteractionWasKeyboard) {\n this._showTooltip();\n }\n } else {\n this._showTooltip();\n }\n };\n\n /**\n * Handles `mouseleave` event on this element.\n */\n private _handleHoverOut = async () => {\n window.clearTimeout(this.timeoutId);\n this.timeoutId = window.setTimeout(async () => {\n const { open } = this;\n if (open) {\n this.open = false;\n }\n }, this.leaveDelayMs);\n };\n\n /**\n * Handles `click` event on this element.\n */\n @HostListener('click')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleClick = async () => {\n this.lastInteractionWasKeyboard = false;\n if (this.closeOnActivation) {\n this._handleHoverOut();\n }\n };\n\n /**\n * Handles `keydown` event on this element.\n */\n @HostListener('keydown')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydown = async (event) => {\n // needed for interactive tags for when the tag is focused from tabbing into it\n // tooltip is expected to open only from keyboard interaction\n if (event.key === 'Tab') {\n this.lastInteractionWasKeyboard = true;\n }\n if (event.key === ' ' || event.key === 'Enter' || event.key === 'Escape') {\n this.lastInteractionWasKeyboard = true;\n if (this.closeOnActivation) {\n this._handleHoverOut();\n }\n }\n };\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleSlotChange({ target }: Event) {\n const component = (target as HTMLSlotElement).assignedNodes().filter(\n (node) => node.nodeType !== Node.TEXT_NODE || node!.textContent!.trim() // eslint-disable-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n );\n if (!component[0]) {\n return;\n }\n\n (component[0] as HTMLElement).addEventListener('focus', this._handleHover);\n (component[0] as HTMLElement).addEventListener(\n 'focusout',\n this._handleHoverOut\n );\n\n if (!this.keyboardOnly) {\n (component[0] as HTMLElement).addEventListener(\n 'mouseover',\n this._handleHover\n );\n (component[0] as HTMLElement).addEventListener(\n 'mouseleave',\n this._handleHoverOut\n );\n }\n this.requestUpdate();\n }\n\n connectedCallback() {\n if (!this.hasAttribute('highContrast')) {\n this.setAttribute('highContrast', '');\n }\n if (!this.shadowRoot) {\n this.attachShadow({ mode: 'open' });\n }\n window.addEventListener('keydown', this._handleKeydown, true);\n super.connectedCallback();\n\n adoptStyles(this.renderRoot as ShadowRoot, [popoverStyles, styles]);\n }\n\n disconnectedCallback() {\n window.removeEventListener('keydown', this._handleKeydown, true);\n super.disconnectedCallback();\n }\n\n updated(changedProperties) {\n const { selectorTooltipContent } = this.constructor as typeof CDSTooltip;\n const toolTipContent = this.querySelector(selectorTooltipContent);\n\n if (changedProperties.has('defaultOpen')) {\n this.open = this.defaultOpen;\n }\n\n if (changedProperties.has('open')) {\n if (this.open) {\n toolTipContent?.setAttribute('open', '');\n } else {\n toolTipContent?.removeAttribute('open');\n }\n }\n\n ['align', 'caret', 'autoalign', 'dropShadow'].forEach((name) => {\n if (changedProperties.has(name)) {\n const { [name as keyof CDSTooltip]: value } = this;\n (toolTipContent as CDSTooltipContent)[name] = value;\n }\n });\n\n if (this.hasAttribute('highcontrast')) {\n toolTipContent?.setAttribute('highcontrast', '');\n }\n\n this.shadowRoot\n ?.querySelector(`.${prefix}--popover-container`)\n ?.classList.add(`${prefix}--tooltip`);\n\n super.updated(changedProperties);\n }\n\n /**\n * A selector that will return the CDSTooltipContent.\n */\n static get selectorTooltipContent() {\n return `${prefix}-tooltip-content`;\n }\n}\n\nexport default CDSTooltip;\n"],"names":["styles","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tooltip.js","sources":["../../../src/components/tooltip/tooltip.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { adoptStyles } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport CDSPopover from '../popover/popover';\nimport '../popover/popover-content';\nimport styles from './tooltip.scss?lit';\nimport popoverStyles from '../popover/popover.scss?lit';\nimport CDSTooltipContent from './tooltip-content';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Trigger button of tooltip.\n *\n * @element cds-tooltip\n */\n@customElement(`${prefix}-tooltip`)\nclass CDSTooltip extends HostListenerMixin(CDSPopover) {\n /**\n * Specify how the trigger should align with the tooltip\n */\n @property({ reflect: true, type: String })\n align = 'top';\n\n /**\n * Specify whether a auto align functionality should be applied\n */\n @property({ type: Boolean, reflect: true })\n autoalign = false;\n\n /**\n * `true` if this tooltip is in a data table row\n */\n @property({ type: Boolean, reflect: true, attribute: 'data-table' })\n dataTable = false;\n\n /**\n * Specify whether the tooltip should be closed when clicked\n */\n @property({ reflect: true, type: Boolean })\n closeOnActivation = false;\n\n /**\n * Specify whether the tooltip should be open when it first renders\n */\n @property({ reflect: true, type: Boolean })\n defaultOpen = false;\n\n /**\n * Specify the duration in milliseconds to delay before displaying the tooltip\n */\n @property({ attribute: 'enter-delay-ms', type: Number })\n enterDelayMs = 100;\n\n /**\n * Specify the duration in milliseconds to delay before hiding the tooltip\n */\n @property({ attribute: 'leave-delay-ms', type: Number })\n leaveDelayMs = 300;\n\n /**\n * Only open tooltip on keyboard interactions, this is used for interactive tags\n * (ie. operational-tag, selectable-tag)\n */\n @property({ attribute: 'keyboard-only', type: Boolean })\n keyboardOnly = false;\n\n /**\n * Specify the size of the tooltip\n */\n @property({ reflect: true })\n size = false;\n\n /**\n * Specify the timeout reference for the tooltip\n */\n @property({ reflect: true })\n timeoutId = 0;\n\n /**\n * Specify whether the tooltip should be open when it first renders\n */\n @property({ reflect: true, attribute: 'toolbar-action', type: Boolean })\n toolbarAction = false;\n\n /**\n * Track if last interaction was a keyboard interaction\n */\n private lastInteractionWasKeyboard = false;\n\n /**\n * Handles opening of tooltip\n */\n private _showTooltip = async () => {\n window.clearTimeout(this.timeoutId);\n this.timeoutId = window.setTimeout(async () => {\n this.open = true;\n const { open, updateComplete } = this;\n if (open) {\n await updateComplete;\n const { selectorTooltipContent } = this\n .constructor as typeof CDSTooltip;\n (this.querySelector(selectorTooltipContent) as HTMLElement)?.focus();\n }\n }, this.enterDelayMs);\n };\n\n /**\n * Handles `mouseover` event on this element.\n */\n private _handleHover = (event) => {\n if (this.keyboardOnly) {\n if (event instanceof FocusEvent && this.lastInteractionWasKeyboard) {\n this._showTooltip();\n }\n } else {\n this._showTooltip();\n }\n };\n\n /**\n * Handles `mouseleave` event on this element.\n */\n private _handleHoverOut = async () => {\n window.clearTimeout(this.timeoutId);\n this.timeoutId = window.setTimeout(async () => {\n const { open } = this;\n if (open) {\n this.open = false;\n }\n }, this.leaveDelayMs);\n };\n\n /**\n * Handles `click` event on this element.\n */\n @HostListener('click')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleClick = async () => {\n this.lastInteractionWasKeyboard = false;\n if (this.closeOnActivation) {\n this._handleHoverOut();\n }\n };\n\n /**\n * Handles `keydown` event on this element.\n */\n @HostListener('keydown')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydown = async (event) => {\n // needed for interactive tags for when the tag is focused from tabbing into it\n // tooltip is expected to open only from keyboard interaction\n if (event.key === 'Tab') {\n this.lastInteractionWasKeyboard = true;\n }\n if (event.key === ' ' || event.key === 'Enter' || event.key === 'Escape') {\n this.lastInteractionWasKeyboard = true;\n if (this.closeOnActivation) {\n this._handleHoverOut();\n }\n }\n };\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleSlotChange({ target }: Event) {\n const component = (target as HTMLSlotElement).assignedNodes().filter(\n (node) => node.nodeType !== Node.TEXT_NODE || node!.textContent!.trim() // eslint-disable-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n );\n if (!component[0]) {\n return;\n }\n\n (component[0] as HTMLElement).addEventListener('focus', this._handleHover);\n (component[0] as HTMLElement).addEventListener(\n 'focusout',\n this._handleHoverOut\n );\n\n if (!this.keyboardOnly) {\n (component[0] as HTMLElement).addEventListener(\n 'mouseover',\n this._handleHover\n );\n (component[0] as HTMLElement).addEventListener(\n 'mouseleave',\n this._handleHoverOut\n );\n }\n this.requestUpdate();\n }\n\n connectedCallback() {\n if (!this.hasAttribute('highContrast')) {\n this.setAttribute('highContrast', '');\n }\n if (!this.shadowRoot) {\n this.attachShadow({ mode: 'open' });\n }\n window.addEventListener('keydown', this._handleKeydown, true);\n super.connectedCallback();\n\n adoptStyles(this.renderRoot as ShadowRoot, [popoverStyles, styles]);\n }\n\n disconnectedCallback() {\n window.removeEventListener('keydown', this._handleKeydown, true);\n super.disconnectedCallback();\n }\n\n updated(changedProperties) {\n const { selectorTooltipContent } = this.constructor as typeof CDSTooltip;\n const toolTipContent = this.querySelector(selectorTooltipContent);\n\n if (changedProperties.has('defaultOpen')) {\n this.open = this.defaultOpen;\n }\n\n if (changedProperties.has('open')) {\n if (this.open) {\n toolTipContent?.setAttribute('open', '');\n } else {\n toolTipContent?.removeAttribute('open');\n }\n }\n\n ['align', 'caret', 'autoalign', 'dropShadow'].forEach((name) => {\n if (changedProperties.has(name)) {\n const { [name as keyof CDSTooltip]: value } = this;\n (toolTipContent as CDSTooltipContent)[name] = value;\n }\n });\n\n if (this.hasAttribute('highcontrast')) {\n toolTipContent?.setAttribute('highcontrast', '');\n }\n\n this.shadowRoot\n ?.querySelector(`.${prefix}--popover-container`)\n ?.classList.add(`${prefix}--tooltip`);\n\n super.updated(changedProperties);\n }\n\n /**\n * A selector that will return the CDSTooltipContent.\n */\n static get selectorTooltipContent() {\n return `${prefix}-tooltip-content`;\n }\n}\n\nexport default CDSTooltip;\n"],"names":["styles","customElement"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { classMap } from 'lit/directives/class-map.js';
|
|
|
10
10
|
import { LitElement, html } from 'lit';
|
|
11
11
|
import { property, state } from 'lit/decorators.js';
|
|
12
12
|
import { prefix } from '../../globals/settings.js';
|
|
13
|
-
import
|
|
13
|
+
import iconLoader from '../../globals/internal/icon-loader.js';
|
|
14
14
|
import CaretDown16 from '@carbon/icons/es/caret--down/16.js';
|
|
15
15
|
import styles from './tree-view.scss.js';
|
|
16
16
|
import { carbonElement } from '../../globals/decorators/carbon-element.js';
|
|
@@ -332,7 +332,7 @@ __decorate([
|
|
|
332
332
|
CDSTreeNode = __decorate([
|
|
333
333
|
carbonElement(`${prefix}-tree-node`)
|
|
334
334
|
], CDSTreeNode);
|
|
335
|
-
var
|
|
335
|
+
var CDSTreeNode_default = CDSTreeNode;
|
|
336
336
|
|
|
337
|
-
export {
|
|
337
|
+
export { CDSTreeNode_default as default };
|
|
338
338
|
//# sourceMappingURL=tree-node.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-node.js","sources":["../../../src/components/tree-view/tree-node.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2025, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport CaretDown16 from '@carbon/icons/es/caret--down/16.js';\n\nimport styles from './tree-view.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Tree node.\n *\n * @element cds-tree-node\n * @fires eventSelected\n * The name of the custom event fired when node is selected.\n * @fires eventToggled\n * The name of the custom event fired when a node is toggled.\n */\n@customElement(`${prefix}-tree-node`)\nclass CDSTreeNode extends LitElement {\n private _hasChildren = false;\n private _hasIcon = false;\n /**\n * Handles `slotchange` event.\n */\n private _handleSlotChange({ target }: Event) {\n const { _depth: depth, disabled } = this;\n const items = (target as HTMLSlotElement)\n .assignedNodes()\n .filter(\n (node) =>\n node.nodeType === Node.ELEMENT_NODE &&\n (node as Element).tagName.toLowerCase() === `${prefix}-tree-node`\n );\n\n items.forEach((item) => {\n (item as CDSTreeNode)._depth = depth + 1;\n (item as CDSTreeNode).disabled = disabled;\n });\n\n this._hasChildren = items.length > 0;\n if (this._hasChildren) this.setAttribute('parent', '');\n this.requestUpdate();\n }\n\n /**\n * Handles icon's `slotchange` event.\n */\n private _handleIconSlotChange({ target }: Event) {\n this._hasIcon = (target as HTMLSlotElement).assignedNodes().length > 0;\n if (this._hasIcon) this.setAttribute('has-icon', '');\n this.requestUpdate();\n }\n\n /**\n * Handles style updates based on depth\n */\n private _handleStyles = () => {\n const {\n _depth: depth,\n _hasChildren: hasChildren,\n _hasIcon: hasIcon,\n } = this;\n const calcOffset = () => {\n if (hasChildren && hasIcon) {\n return depth + 1 + depth * 0.5;\n }\n\n if (hasChildren) {\n return depth + 1;\n }\n\n if (hasIcon) {\n return depth + 2 + depth * 0.5;\n }\n\n return depth + 2.5;\n };\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const label = this.shadowRoot!.querySelector(\n `.${prefix}--tree-node__label`\n );\n if (label) {\n (label as HTMLElement).style.marginInlineStart = `-${calcOffset()}rem`;\n (label as HTMLElement).style.paddingInlineStart = `${calcOffset()}rem`;\n }\n };\n\n _handleToggleClick = (event) => {\n const { disabled, href } = this;\n if (disabled) return;\n event.stopPropagation();\n if (href) {\n event.preventDefault();\n }\n this.isExpanded = !this.isExpanded;\n if (this.hasAttribute('aria-expanded')) {\n this.setAttribute('aria-expanded', String(this.isExpanded));\n }\n };\n\n /**\n * sets if tree node is active\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * disabled property\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * **Note:** this is controlled by the parent TreeView component, do not set manually.\n * TreeNode depth to determine spacing\n */\n @state()\n private _depth = 0;\n\n /**\n * Specify if the TreeNode is expanded (only applicable to parent nodes)\n */\n @property({ type: Boolean, attribute: 'is-expanded' })\n isExpanded = false;\n\n /**\n * Optional: The URL the TreeNode is linking to\n */\n @property({})\n href;\n\n /**\n * Specify the TreeNode's ID. Must be unique in the DOM and is used for props.active, props.selected and aria-owns\n */\n @property({})\n id = Math.random().toString(16).slice(2);\n\n /**\n * Rendered label for the TreeNode\n */\n @property({})\n label!: string;\n\n /**\n * sets if tree node is selected\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * when adding an href to control the click functionality\n */\n @property({ type: Function })\n onClick?: (event: Event) => void;\n\n connectedCallback() {\n super.connectedCallback();\n\n // Detect children on first render\n this._hasChildren = Array.from(this.children).some(\n (node) => node.tagName.toLowerCase() === `${prefix}-tree-node`\n );\n\n this._hasIcon = Array.from(this.children).some(\n (node) => node.getAttribute('slot') === 'icon'\n );\n\n if (!this.hasAttribute('role') && !this.href) {\n this.setAttribute('role', 'treeitem');\n }\n\n if (this._hasChildren && !this.href) {\n this.setAttribute('aria-expanded', String(this.isExpanded));\n }\n\n if (!this.hasAttribute('aria-label')) {\n this.setAttribute('aria-label', this.label);\n }\n }\n\n private _dispatchSelectedEvent(value) {\n const { eventSelected } = this.constructor as typeof CDSTreeNode;\n this.dispatchEvent(\n new CustomEvent(eventSelected, {\n bubbles: true,\n composed: true,\n detail: {\n value,\n },\n })\n );\n }\n\n private _dispatchToggledEvent(value, expanded) {\n const { eventToggled } = this.constructor as typeof CDSTreeNode;\n this.dispatchEvent(\n new CustomEvent(eventToggled, {\n bubbles: true,\n composed: true,\n detail: {\n value,\n expanded: expanded,\n },\n })\n );\n }\n\n updated(changedProperties) {\n if (changedProperties.has('_depth')) {\n this._handleStyles();\n }\n if (changedProperties.has('selected')) {\n if (!this.href) {\n this.setAttribute(\n 'aria-selected',\n String(\n !this.href ? (this.disabled ? undefined : this.selected) : undefined\n )\n );\n }\n\n if (this.selected) {\n this._dispatchSelectedEvent(this.label);\n }\n }\n\n if (changedProperties.has('active') && !this.href) {\n this.setAttribute(\n 'aria-current',\n String(\n !this.href\n ? this.active || undefined\n : this.active\n ? 'page'\n : undefined\n )\n );\n }\n\n if (changedProperties.has('disabled')) {\n this.setAttribute('aria-disabled', String(this.disabled));\n }\n\n if (changedProperties.has('isExpanded')) {\n this._dispatchToggledEvent(this.label, this.isExpanded);\n }\n }\n\n render() {\n const {\n disabled,\n isExpanded,\n href,\n id,\n label,\n onClick,\n _hasChildren: hasChildren,\n _handleIconSlotChange: handleIconSlotChange,\n _handleSlotChange: handleSlotChange,\n _handleToggleClick: handleToggleClick,\n } = this;\n\n let toggleClasses = `${prefix}--tree-parent-node__toggle-icon`;\n if (isExpanded) {\n toggleClasses += `${prefix}--tree-parent-node__toggle-icon--expanded`;\n }\n\n const linkClasses = classMap({\n [`${prefix}--tree-node`]: true,\n [`${prefix}--tree-node--active`]: this.active,\n [`${prefix}--tree-node--disabled`]: disabled,\n [`${prefix}--tree-node--selected`]: this.selected,\n [`${prefix}--tree-node--with-icon`]: this._hasIcon,\n [`${prefix}--tree-leaf-node`]: !this._hasChildren,\n [`${prefix}--tree-parent-node`]: this._hasChildren,\n });\n\n const subTreeClasses = classMap({\n [`${prefix}--tree-node__children`]: true,\n [`${prefix}--tree-node__hidden`]: !isExpanded,\n });\n\n return html`\n ${!hasChildren\n ? html`\n ${href\n ? html`<a\n class=${linkClasses}\n href=${!disabled ? href : undefined}\n role=\"treeitem\"\n ?aria-disabled=${disabled}\n aria-current=${!this.href\n ? this.active || undefined\n : this.active\n ? 'page'\n : undefined}\n tabindex=${disabled ? -1 : undefined}\n @click=${onClick}>\n <div id=\"label\" class=\"${prefix}--tree-node__label\">\n <slot\n name=\"icon\"\n @slotchange=${handleIconSlotChange}></slot>\n ${label}\n </div>\n </a>`\n : html` <div id=\"label\" class=\"${prefix}--tree-node__label\">\n <slot name=\"icon\" @slotchange=${handleIconSlotChange}></slot>\n ${label}\n </div>`}\n `\n : html`\n ${href\n ? html` <a\n role=\"treeitem\"\n class=${linkClasses}\n aria-expanded=${!!isExpanded}\n aria-owns=\"subtree-id-${id}\"\n href=${!disabled ? href : undefined}\n tabindex=${disabled ? -1 : undefined}\n @click=${onClick}>\n <div id=\"label\" class=\"${prefix}--tree-node__label\">\n <span\n class=\"${prefix}--tree-parent-node__toggle\"\n ?disabled=${disabled}\n @click=${handleToggleClick}>\n ${iconLoader(CaretDown16, { class: toggleClasses })}\n </span>\n <span class=\"${prefix}--tree-node__label__details\">\n <slot\n name=\"icon\"\n @slotchange=${handleIconSlotChange}></slot>\n ${label}\n </span>\n </div>\n </a>\n <ul\n id=\"subtree-id-${id}\"\n role=\"group\"\n class=\"${subTreeClasses}\">\n <slot @slotchange=${handleSlotChange}></slot>\n </ul>`\n : html`<div id=\"label\" class=\"${prefix}--tree-node__label\">\n <span\n class=\"${prefix}--tree-parent-node__toggle\"\n ?disabled=${disabled}\n @click=${handleToggleClick}>\n ${iconLoader(CaretDown16, { class: toggleClasses })}\n </span>\n <span class=\"${prefix}--tree-node__label__details\">\n <slot\n name=\"icon\"\n @slotchange=${handleIconSlotChange}></slot>\n ${label}\n </span>\n </div>\n <ul\n id=\"subtree-id-${id}\"\n role=\"group\"\n class=\"${subTreeClasses}\">\n <slot @slotchange=${handleSlotChange}></slot>\n </ul>`}\n `}\n `;\n }\n\n /**\n * The name of the custom event fired when node is selected.\n */\n static get eventSelected() {\n return `${prefix}-tree-node-selected`;\n }\n\n /**\n * The name of the custom event fired when a node is toggled\n */\n static get eventToggled() {\n return `${prefix}-tree-node-toggled`;\n }\n\n static styles = styles;\n}\n\nexport default CDSTreeNode;\n"],"names":["customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tree-node.js","sources":["../../../src/components/tree-view/tree-node.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2025, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport CaretDown16 from '@carbon/icons/es/caret--down/16.js';\n\nimport styles from './tree-view.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Tree node.\n *\n * @element cds-tree-node\n * @fires eventSelected\n * The name of the custom event fired when node is selected.\n * @fires eventToggled\n * The name of the custom event fired when a node is toggled.\n */\n@customElement(`${prefix}-tree-node`)\nclass CDSTreeNode extends LitElement {\n private _hasChildren = false;\n private _hasIcon = false;\n /**\n * Handles `slotchange` event.\n */\n private _handleSlotChange({ target }: Event) {\n const { _depth: depth, disabled } = this;\n const items = (target as HTMLSlotElement)\n .assignedNodes()\n .filter(\n (node) =>\n node.nodeType === Node.ELEMENT_NODE &&\n (node as Element).tagName.toLowerCase() === `${prefix}-tree-node`\n );\n\n items.forEach((item) => {\n (item as CDSTreeNode)._depth = depth + 1;\n (item as CDSTreeNode).disabled = disabled;\n });\n\n this._hasChildren = items.length > 0;\n if (this._hasChildren) this.setAttribute('parent', '');\n this.requestUpdate();\n }\n\n /**\n * Handles icon's `slotchange` event.\n */\n private _handleIconSlotChange({ target }: Event) {\n this._hasIcon = (target as HTMLSlotElement).assignedNodes().length > 0;\n if (this._hasIcon) this.setAttribute('has-icon', '');\n this.requestUpdate();\n }\n\n /**\n * Handles style updates based on depth\n */\n private _handleStyles = () => {\n const {\n _depth: depth,\n _hasChildren: hasChildren,\n _hasIcon: hasIcon,\n } = this;\n const calcOffset = () => {\n if (hasChildren && hasIcon) {\n return depth + 1 + depth * 0.5;\n }\n\n if (hasChildren) {\n return depth + 1;\n }\n\n if (hasIcon) {\n return depth + 2 + depth * 0.5;\n }\n\n return depth + 2.5;\n };\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const label = this.shadowRoot!.querySelector(\n `.${prefix}--tree-node__label`\n );\n if (label) {\n (label as HTMLElement).style.marginInlineStart = `-${calcOffset()}rem`;\n (label as HTMLElement).style.paddingInlineStart = `${calcOffset()}rem`;\n }\n };\n\n _handleToggleClick = (event) => {\n const { disabled, href } = this;\n if (disabled) return;\n event.stopPropagation();\n if (href) {\n event.preventDefault();\n }\n this.isExpanded = !this.isExpanded;\n if (this.hasAttribute('aria-expanded')) {\n this.setAttribute('aria-expanded', String(this.isExpanded));\n }\n };\n\n /**\n * sets if tree node is active\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * disabled property\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * **Note:** this is controlled by the parent TreeView component, do not set manually.\n * TreeNode depth to determine spacing\n */\n @state()\n private _depth = 0;\n\n /**\n * Specify if the TreeNode is expanded (only applicable to parent nodes)\n */\n @property({ type: Boolean, attribute: 'is-expanded' })\n isExpanded = false;\n\n /**\n * Optional: The URL the TreeNode is linking to\n */\n @property({})\n href;\n\n /**\n * Specify the TreeNode's ID. Must be unique in the DOM and is used for props.active, props.selected and aria-owns\n */\n @property({})\n id = Math.random().toString(16).slice(2);\n\n /**\n * Rendered label for the TreeNode\n */\n @property({})\n label!: string;\n\n /**\n * sets if tree node is selected\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * when adding an href to control the click functionality\n */\n @property({ type: Function })\n onClick?: (event: Event) => void;\n\n connectedCallback() {\n super.connectedCallback();\n\n // Detect children on first render\n this._hasChildren = Array.from(this.children).some(\n (node) => node.tagName.toLowerCase() === `${prefix}-tree-node`\n );\n\n this._hasIcon = Array.from(this.children).some(\n (node) => node.getAttribute('slot') === 'icon'\n );\n\n if (!this.hasAttribute('role') && !this.href) {\n this.setAttribute('role', 'treeitem');\n }\n\n if (this._hasChildren && !this.href) {\n this.setAttribute('aria-expanded', String(this.isExpanded));\n }\n\n if (!this.hasAttribute('aria-label')) {\n this.setAttribute('aria-label', this.label);\n }\n }\n\n private _dispatchSelectedEvent(value) {\n const { eventSelected } = this.constructor as typeof CDSTreeNode;\n this.dispatchEvent(\n new CustomEvent(eventSelected, {\n bubbles: true,\n composed: true,\n detail: {\n value,\n },\n })\n );\n }\n\n private _dispatchToggledEvent(value, expanded) {\n const { eventToggled } = this.constructor as typeof CDSTreeNode;\n this.dispatchEvent(\n new CustomEvent(eventToggled, {\n bubbles: true,\n composed: true,\n detail: {\n value,\n expanded: expanded,\n },\n })\n );\n }\n\n updated(changedProperties) {\n if (changedProperties.has('_depth')) {\n this._handleStyles();\n }\n if (changedProperties.has('selected')) {\n if (!this.href) {\n this.setAttribute(\n 'aria-selected',\n String(\n !this.href ? (this.disabled ? undefined : this.selected) : undefined\n )\n );\n }\n\n if (this.selected) {\n this._dispatchSelectedEvent(this.label);\n }\n }\n\n if (changedProperties.has('active') && !this.href) {\n this.setAttribute(\n 'aria-current',\n String(\n !this.href\n ? this.active || undefined\n : this.active\n ? 'page'\n : undefined\n )\n );\n }\n\n if (changedProperties.has('disabled')) {\n this.setAttribute('aria-disabled', String(this.disabled));\n }\n\n if (changedProperties.has('isExpanded')) {\n this._dispatchToggledEvent(this.label, this.isExpanded);\n }\n }\n\n render() {\n const {\n disabled,\n isExpanded,\n href,\n id,\n label,\n onClick,\n _hasChildren: hasChildren,\n _handleIconSlotChange: handleIconSlotChange,\n _handleSlotChange: handleSlotChange,\n _handleToggleClick: handleToggleClick,\n } = this;\n\n let toggleClasses = `${prefix}--tree-parent-node__toggle-icon`;\n if (isExpanded) {\n toggleClasses += `${prefix}--tree-parent-node__toggle-icon--expanded`;\n }\n\n const linkClasses = classMap({\n [`${prefix}--tree-node`]: true,\n [`${prefix}--tree-node--active`]: this.active,\n [`${prefix}--tree-node--disabled`]: disabled,\n [`${prefix}--tree-node--selected`]: this.selected,\n [`${prefix}--tree-node--with-icon`]: this._hasIcon,\n [`${prefix}--tree-leaf-node`]: !this._hasChildren,\n [`${prefix}--tree-parent-node`]: this._hasChildren,\n });\n\n const subTreeClasses = classMap({\n [`${prefix}--tree-node__children`]: true,\n [`${prefix}--tree-node__hidden`]: !isExpanded,\n });\n\n return html`\n ${!hasChildren\n ? html`\n ${href\n ? html`<a\n class=${linkClasses}\n href=${!disabled ? href : undefined}\n role=\"treeitem\"\n ?aria-disabled=${disabled}\n aria-current=${!this.href\n ? this.active || undefined\n : this.active\n ? 'page'\n : undefined}\n tabindex=${disabled ? -1 : undefined}\n @click=${onClick}>\n <div id=\"label\" class=\"${prefix}--tree-node__label\">\n <slot\n name=\"icon\"\n @slotchange=${handleIconSlotChange}></slot>\n ${label}\n </div>\n </a>`\n : html` <div id=\"label\" class=\"${prefix}--tree-node__label\">\n <slot name=\"icon\" @slotchange=${handleIconSlotChange}></slot>\n ${label}\n </div>`}\n `\n : html`\n ${href\n ? html` <a\n role=\"treeitem\"\n class=${linkClasses}\n aria-expanded=${!!isExpanded}\n aria-owns=\"subtree-id-${id}\"\n href=${!disabled ? href : undefined}\n tabindex=${disabled ? -1 : undefined}\n @click=${onClick}>\n <div id=\"label\" class=\"${prefix}--tree-node__label\">\n <span\n class=\"${prefix}--tree-parent-node__toggle\"\n ?disabled=${disabled}\n @click=${handleToggleClick}>\n ${iconLoader(CaretDown16, { class: toggleClasses })}\n </span>\n <span class=\"${prefix}--tree-node__label__details\">\n <slot\n name=\"icon\"\n @slotchange=${handleIconSlotChange}></slot>\n ${label}\n </span>\n </div>\n </a>\n <ul\n id=\"subtree-id-${id}\"\n role=\"group\"\n class=\"${subTreeClasses}\">\n <slot @slotchange=${handleSlotChange}></slot>\n </ul>`\n : html`<div id=\"label\" class=\"${prefix}--tree-node__label\">\n <span\n class=\"${prefix}--tree-parent-node__toggle\"\n ?disabled=${disabled}\n @click=${handleToggleClick}>\n ${iconLoader(CaretDown16, { class: toggleClasses })}\n </span>\n <span class=\"${prefix}--tree-node__label__details\">\n <slot\n name=\"icon\"\n @slotchange=${handleIconSlotChange}></slot>\n ${label}\n </span>\n </div>\n <ul\n id=\"subtree-id-${id}\"\n role=\"group\"\n class=\"${subTreeClasses}\">\n <slot @slotchange=${handleSlotChange}></slot>\n </ul>`}\n `}\n `;\n }\n\n /**\n * The name of the custom event fired when node is selected.\n */\n static get eventSelected() {\n return `${prefix}-tree-node-selected`;\n }\n\n /**\n * The name of the custom event fired when a node is toggled\n */\n static get eventToggled() {\n return `${prefix}-tree-node-toggled`;\n }\n\n static styles = styles;\n}\n\nexport default CDSTreeNode;\n"],"names":["customElement"],"mappings":"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"}
|
|
@@ -216,7 +216,7 @@ __decorate([
|
|
|
216
216
|
CDSTreeView = CDSTreeView_1 = __decorate([
|
|
217
217
|
carbonElement(`${prefix}-tree-view`)
|
|
218
218
|
], CDSTreeView);
|
|
219
|
-
var
|
|
219
|
+
var CDSTreeView_default = CDSTreeView;
|
|
220
220
|
|
|
221
|
-
export { TREE_SIZE,
|
|
221
|
+
export { TREE_SIZE, CDSTreeView_default as default };
|
|
222
222
|
//# sourceMappingURL=tree-view.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-view.js","sources":["../../../src/components/tree-view/tree-view.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2025, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { TREE_SIZE } from './defs';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport styles from './tree-view.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport CDSTreeNode from './tree-node';\n\nexport { TREE_SIZE };\n/**\n * Tree view.\n *\n * @element cds-tree-view\n */\n@customElement(`${prefix}-tree-view`)\nclass CDSTreeView extends HostListenerMixin(LitElement) {\n /**\n * Specify whether or not the label should be hidden\n */\n @property({ type: Boolean, attribute: 'hide-label' })\n hideLabel = false;\n\n /**\n * Provide the label text that will be read by a screen reader\n */\n @property()\n label!: string;\n\n /**\n * Specify the size of the tree from a list of available sizes.\n */\n @property({ reflect: true })\n size = TREE_SIZE.SMALL;\n\n @HostListener('click')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _click = ({ target }) => {\n if ((target as CDSTreeNode).disabled) return;\n\n const nodes = this.querySelectorAll(CDSTreeView.selectorTreeNode);\n nodes.forEach((node) => {\n const isTarget = node === target;\n const isLink = (node as CDSTreeNode).hasAttribute('href');\n const element = isLink ? node.shadowRoot?.querySelector('a') : node;\n (node as CDSTreeNode).selected = isTarget;\n (node as CDSTreeNode).active = isTarget;\n if (!isTarget) {\n if (isLink) {\n (element as CDSTreeNode).setAttribute('tabindex', '-1');\n } else {\n (element as CDSTreeNode).removeAttribute('tabindex');\n }\n } else (element as CDSTreeNode).setAttribute('tabindex', '0');\n });\n };\n\n @HostListener('keydown')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeyDown = (event: KeyboardEvent) => {\n const { key } = event;\n const nodes = Array.from(\n this.querySelectorAll(CDSTreeView.selectorTreeNode)\n ).filter(\n (node) => node.checkVisibility() && !node.hasAttribute('disabled')\n );\n\n const allNodes = Array.from(\n this.querySelectorAll(CDSTreeView.selectorTreeNode)\n ).filter((node) => !node.hasAttribute('disabled'));\n\n const withLinks = (nodes[0] as CDSTreeNode).href;\n\n const currentIndex = nodes.findIndex((node) =>\n withLinks\n ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n node.shadowRoot?.querySelector('a')!.getAttribute('tabindex') === '0'\n : node.getAttribute('tabindex') === '0'\n );\n\n let nextIndex = currentIndex;\n\n switch (key) {\n case 'ArrowDown':\n nextIndex = Math.min(currentIndex + 1, nodes.length - 1);\n break;\n case 'ArrowUp':\n nextIndex = Math.max(currentIndex - 1, 0);\n break;\n case 'Home':\n nextIndex = 0;\n break;\n case 'End':\n nextIndex = nodes.length - 1;\n break;\n case 'Enter':\n case ' ':\n event.preventDefault();\n allNodes.forEach((node) => {\n (node as CDSTreeNode).selected = false;\n (node as CDSTreeNode).active = false;\n });\n (nodes[currentIndex] as CDSTreeNode).selected = true;\n (nodes[currentIndex] as CDSTreeNode).active = true;\n break;\n case 'ArrowRight':\n if ((nodes[currentIndex] as CDSTreeNode).hasAttribute('parent')) {\n (nodes[currentIndex] as CDSTreeNode).isExpanded = true;\n nodes[currentIndex].setAttribute('aria-expanded', 'true');\n }\n break;\n case 'ArrowLeft':\n if (!nodes[currentIndex].hasAttribute('parent')) {\n const temp = nodes.findIndex(\n (node) => node === nodes[currentIndex].parentElement\n );\n nextIndex = temp === -1 ? currentIndex : temp;\n } else {\n (nodes[currentIndex] as CDSTreeNode).isExpanded = false;\n nodes[currentIndex].setAttribute('aria-expanded', 'false');\n }\n break;\n }\n\n if (nextIndex !== currentIndex) {\n nodes.forEach((node) => {\n if (!withLinks) {\n node.removeAttribute('tabindex');\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n node.shadowRoot?.querySelector('a')!.setAttribute('tabindex', '-1');\n }\n });\n const element = withLinks\n ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n (nodes[nextIndex] as CDSTreeNode).shadowRoot!.querySelector('a')\n : nodes[nextIndex];\n (element as CDSTreeNode).setAttribute('tabindex', '0');\n (element as CDSTreeNode).focus();\n event.preventDefault();\n }\n };\n\n private async _setInitialFocus() {\n await this.updateComplete;\n\n const nodes = this.querySelectorAll(CDSTreeView.selectorTreeNode);\n if (nodes.length > 0) {\n const selectedNode =\n Array.from(nodes).find((node) => (node as CDSTreeNode).selected) ||\n nodes[0];\n const element = (selectedNode as CDSTreeNode).href\n ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n (selectedNode as CDSTreeNode).shadowRoot!.querySelector('a')\n : selectedNode;\n (element as CDSTreeNode).setAttribute('tabindex', '0');\n }\n }\n connectedCallback() {\n super.connectedCallback();\n\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'tree');\n }\n\n if (!this.hasAttribute('aria-label')) {\n this.setAttribute('aria-label', this.label);\n }\n }\n\n updated(changedProperties) {\n this._setInitialFocus();\n\n if (changedProperties.has('size')) {\n const items = this.querySelectorAll(CDSTreeView.selectorTreeNode);\n items.forEach((item) => {\n (item as CDSTreeNode).setAttribute('size', this.size);\n });\n }\n }\n\n render() {\n const { hideLabel, label, size } = this;\n const labelId = 'tree-view__label';\n const treeClasses = classMap({\n [`${prefix}--tree`]: true,\n [`${prefix}--tree--${size}`]: size,\n });\n return html`\n ${\n !hideLabel\n ? html`<label id=${labelId} class=${`${prefix}--label`}\n >${label}\n </label>`\n : null\n }\n <ul\n aria-label=${hideLabel ? label : undefined}\n aria-labelledby=${!hideLabel ? labelId : undefined}\n class=${treeClasses}\n role=\"tree\">\n <slot><slot>\n </ul>\n `;\n }\n\n static get selectorTreeNode() {\n return `${prefix}-tree-node`;\n }\n\n static styles = styles;\n}\n\nexport default CDSTreeView;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;;AAcH;;;;AAIG;AAEH,IAAM,WAAW,mBAAjB,MAAM,WAAY,SAAQ,iBAAiB,CAAC,UAAU,CAAC,CAAA;AAAvD,IAAA,WAAA,GAAA;;AACE;;AAEG;QAEH,IAAA,CAAA,SAAS,GAAG,KAAK;AAQjB;;AAEG;AAEH,QAAA,IAAA,CAAA,IAAI,GAAG,SAAS,CAAC,KAAK;AAKd,QAAA,IAAA,CAAA,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,KAAI;YAC9B,IAAK,MAAsB,CAAC,QAAQ;gBAAE;YAEtC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAW,CAAC,gBAAgB,CAAC;AACjE,YAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;;AACrB,gBAAA,MAAM,QAAQ,GAAG,IAAI,KAAK,MAAM;gBAChC,MAAM,MAAM,GAAI,IAAoB,CAAC,YAAY,CAAC,MAAM,CAAC;AACzD,gBAAA,MAAM,OAAO,GAAG,MAAM,GAAG,MAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI;AAClE,gBAAA,IAAoB,CAAC,QAAQ,GAAG,QAAQ;AACxC,gBAAA,IAAoB,CAAC,MAAM,GAAG,QAAQ;gBACvC,IAAI,CAAC,QAAQ,EAAE;oBACb,IAAI,MAAM,EAAE;AACT,wBAAA,OAAuB,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC;oBACzD;yBAAO;AACJ,wBAAA,OAAuB,CAAC,eAAe,CAAC,UAAU,CAAC;oBACtD;gBACF;;AAAQ,oBAAA,OAAuB,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC;AAC/D,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC;AAKO,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,KAAoB,KAAI;AAChD,YAAA,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK;AACrB,YAAA,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACtB,IAAI,CAAC,gBAAgB,CAAC,aAAW,CAAC,gBAAgB,CAAC,CACpD,CAAC,MAAM,CACN,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CACnE;AAED,YAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CACzB,IAAI,CAAC,gBAAgB,CAAC,aAAW,CAAC,gBAAgB,CAAC,CACpD,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAElD,MAAM,SAAS,GAAI,KAAK,CAAC,CAAC,CAAiB,CAAC,IAAI;YAEhD,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,KAAI;;AAC5C,gBAAA,OAAA;AACE;AACE,wBAAA,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,0CAAE,aAAa,CAAC,GAAG,CAAA,CAAG,YAAY,CAAC,UAAU,CAAC,MAAK;sBAClE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,GAAG;AAAA,YAAA,CAAA,CAC1C;YAED,IAAI,SAAS,GAAG,YAAY;YAE5B,QAAQ,GAAG;AACT,gBAAA,KAAK,WAAW;AACd,oBAAA,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;oBACxD;AACF,gBAAA,KAAK,SAAS;oBACZ,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC,CAAC;oBACzC;AACF,gBAAA,KAAK,MAAM;oBACT,SAAS,GAAG,CAAC;oBACb;AACF,gBAAA,KAAK,KAAK;AACR,oBAAA,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;oBAC5B;AACF,gBAAA,KAAK,OAAO;AACZ,gBAAA,KAAK,GAAG;oBACN,KAAK,CAAC,cAAc,EAAE;AACtB,oBAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACvB,wBAAA,IAAoB,CAAC,QAAQ,GAAG,KAAK;AACrC,wBAAA,IAAoB,CAAC,MAAM,GAAG,KAAK;AACtC,oBAAA,CAAC,CAAC;AACD,oBAAA,KAAK,CAAC,YAAY,CAAiB,CAAC,QAAQ,GAAG,IAAI;AACnD,oBAAA,KAAK,CAAC,YAAY,CAAiB,CAAC,MAAM,GAAG,IAAI;oBAClD;AACF,gBAAA,KAAK,YAAY;oBACf,IAAK,KAAK,CAAC,YAAY,CAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;AAC9D,wBAAA,KAAK,CAAC,YAAY,CAAiB,CAAC,UAAU,GAAG,IAAI;wBACtD,KAAK,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;oBAC3D;oBACA;AACF,gBAAA,KAAK,WAAW;oBACd,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;wBAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAC1B,CAAC,IAAI,KAAK,IAAI,KAAK,KAAK,CAAC,YAAY,CAAC,CAAC,aAAa,CACrD;AACD,wBAAA,SAAS,GAAG,IAAI,KAAK,EAAE,GAAG,YAAY,GAAG,IAAI;oBAC/C;yBAAO;AACJ,wBAAA,KAAK,CAAC,YAAY,CAAiB,CAAC,UAAU,GAAG,KAAK;wBACvD,KAAK,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC;oBAC5D;oBACA;;AAGJ,YAAA,IAAI,SAAS,KAAK,YAAY,EAAE;AAC9B,gBAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;;oBACrB,IAAI,CAAC,SAAS,EAAE;AACd,wBAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;oBAClC;yBAAO;;AAEL,wBAAA,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CAAC,GAAG,CAAA,CAAG,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC;oBACrE;AACF,gBAAA,CAAC,CAAC;gBACF,MAAM,OAAO,GAAG;AACd;wBACG,KAAK,CAAC,SAAS,CAAiB,CAAC,UAAW,CAAC,aAAa,CAAC,GAAG;AACjE,sBAAE,KAAK,CAAC,SAAS,CAAC;AACnB,gBAAA,OAAuB,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC;gBACrD,OAAuB,CAAC,KAAK,EAAE;gBAChC,KAAK,CAAC,cAAc,EAAE;YACxB;AACF,QAAA,CAAC;IAsEH;AApEU,IAAA,MAAM,gBAAgB,GAAA;QAC5B,MAAM,IAAI,CAAC,cAAc;QAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAW,CAAC,gBAAgB,CAAC;AACjE,QAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACpB,YAAA,MAAM,YAAY,GAChB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAM,IAAoB,CAAC,QAAQ,CAAC;gBAChE,KAAK,CAAC,CAAC,CAAC;AACV,YAAA,MAAM,OAAO,GAAI,YAA4B,CAAC;AAC5C;AACG,oBAAA,YAA4B,CAAC,UAAW,CAAC,aAAa,CAAC,GAAG;kBAC3D,YAAY;AACf,YAAA,OAAuB,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC;QACxD;IACF;IACA,iBAAiB,GAAA;QACf,KAAK,CAAC,iBAAiB,EAAE;QAEzB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;AAC9B,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;QACnC;QAEA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE;YACpC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC;QAC7C;IACF;AAEA,IAAA,OAAO,CAAC,iBAAiB,EAAA;QACvB,IAAI,CAAC,gBAAgB,EAAE;AAEvB,QAAA,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAW,CAAC,gBAAgB,CAAC;AACjE,YAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;gBACpB,IAAoB,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;AACvD,YAAA,CAAC,CAAC;QACJ;IACF;IAEA,MAAM,GAAA;QACJ,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;QACvC,MAAM,OAAO,GAAG,kBAAkB;QAClC,MAAM,WAAW,GAAG,QAAQ,CAAC;AAC3B,YAAA,CAAC,CAAA,EAAG,MAAM,CAAA,MAAA,CAAQ,GAAG,IAAI;AACzB,YAAA,CAAC,GAAG,MAAM,CAAA,QAAA,EAAW,IAAI,CAAA,CAAE,GAAG,IAAI;AACnC,SAAA,CAAC;AACF,QAAA,OAAO,IAAI,CAAA;AAEP,MAAA,EAAA,CAAC;cACG,IAAI,CAAA,CAAA,UAAA,EAAa,OAAO,CAAA,OAAA,EAAU,CAAA,EAAG,MAAM,CAAA,OAAA,CAAS;iBAC/C,KAAK;AACD,oBAAA;AACX,cAAE,IACN;;AAEe,mBAAA,EAAA,SAAS,GAAG,KAAK,GAAG,SAAS;0BACxB,CAAC,SAAS,GAAG,OAAO,GAAG,SAAS;gBAC1C,WAAW;;;;KAItB;IACH;AAEA,IAAA,WAAW,gBAAgB,GAAA;QACzB,OAAO,CAAA,EAAG,MAAM,CAAA,UAAA,CAAY;IAC9B;;AAEO,WAAA,CAAA,MAAM,GAAG,MAAH;AA/Lb,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE;AAClC,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,WAAA,EAAA,MAAA,CAAA;AAMlB,UAAA,CAAA;AADC,IAAA,QAAQ;AACM,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAMf,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AACJ,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAKf,UAAA,CAAA;IAHP,YAAY,CAAC,OAAO;;;AAqBnB,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,QAAA,EAAA,MAAA,CAAA;AAKM,UAAA,CAAA;IAHP,YAAY,CAAC,SAAS;;;AAqFrB,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,MAAA,CAAA;AA/HE,WAAW,GAAA,aAAA,GAAA,UAAA,CAAA;AADhB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,UAAA,CAAY;AAC9B,CAAA,EAAA,WAAW,CAqMhB;AAED,oBAAe,WAAW;;;;"}
|
|
1
|
+
{"version":3,"file":"tree-view.js","sources":["../../../src/components/tree-view/tree-view.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2025, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { TREE_SIZE } from './defs';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport styles from './tree-view.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport CDSTreeNode from './tree-node';\n\nexport { TREE_SIZE };\n/**\n * Tree view.\n *\n * @element cds-tree-view\n */\n@customElement(`${prefix}-tree-view`)\nclass CDSTreeView extends HostListenerMixin(LitElement) {\n /**\n * Specify whether or not the label should be hidden\n */\n @property({ type: Boolean, attribute: 'hide-label' })\n hideLabel = false;\n\n /**\n * Provide the label text that will be read by a screen reader\n */\n @property()\n label!: string;\n\n /**\n * Specify the size of the tree from a list of available sizes.\n */\n @property({ reflect: true })\n size = TREE_SIZE.SMALL;\n\n @HostListener('click')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _click = ({ target }) => {\n if ((target as CDSTreeNode).disabled) return;\n\n const nodes = this.querySelectorAll(CDSTreeView.selectorTreeNode);\n nodes.forEach((node) => {\n const isTarget = node === target;\n const isLink = (node as CDSTreeNode).hasAttribute('href');\n const element = isLink ? node.shadowRoot?.querySelector('a') : node;\n (node as CDSTreeNode).selected = isTarget;\n (node as CDSTreeNode).active = isTarget;\n if (!isTarget) {\n if (isLink) {\n (element as CDSTreeNode).setAttribute('tabindex', '-1');\n } else {\n (element as CDSTreeNode).removeAttribute('tabindex');\n }\n } else (element as CDSTreeNode).setAttribute('tabindex', '0');\n });\n };\n\n @HostListener('keydown')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeyDown = (event: KeyboardEvent) => {\n const { key } = event;\n const nodes = Array.from(\n this.querySelectorAll(CDSTreeView.selectorTreeNode)\n ).filter(\n (node) => node.checkVisibility() && !node.hasAttribute('disabled')\n );\n\n const allNodes = Array.from(\n this.querySelectorAll(CDSTreeView.selectorTreeNode)\n ).filter((node) => !node.hasAttribute('disabled'));\n\n const withLinks = (nodes[0] as CDSTreeNode).href;\n\n const currentIndex = nodes.findIndex((node) =>\n withLinks\n ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n node.shadowRoot?.querySelector('a')!.getAttribute('tabindex') === '0'\n : node.getAttribute('tabindex') === '0'\n );\n\n let nextIndex = currentIndex;\n\n switch (key) {\n case 'ArrowDown':\n nextIndex = Math.min(currentIndex + 1, nodes.length - 1);\n break;\n case 'ArrowUp':\n nextIndex = Math.max(currentIndex - 1, 0);\n break;\n case 'Home':\n nextIndex = 0;\n break;\n case 'End':\n nextIndex = nodes.length - 1;\n break;\n case 'Enter':\n case ' ':\n event.preventDefault();\n allNodes.forEach((node) => {\n (node as CDSTreeNode).selected = false;\n (node as CDSTreeNode).active = false;\n });\n (nodes[currentIndex] as CDSTreeNode).selected = true;\n (nodes[currentIndex] as CDSTreeNode).active = true;\n break;\n case 'ArrowRight':\n if ((nodes[currentIndex] as CDSTreeNode).hasAttribute('parent')) {\n (nodes[currentIndex] as CDSTreeNode).isExpanded = true;\n nodes[currentIndex].setAttribute('aria-expanded', 'true');\n }\n break;\n case 'ArrowLeft':\n if (!nodes[currentIndex].hasAttribute('parent')) {\n const temp = nodes.findIndex(\n (node) => node === nodes[currentIndex].parentElement\n );\n nextIndex = temp === -1 ? currentIndex : temp;\n } else {\n (nodes[currentIndex] as CDSTreeNode).isExpanded = false;\n nodes[currentIndex].setAttribute('aria-expanded', 'false');\n }\n break;\n }\n\n if (nextIndex !== currentIndex) {\n nodes.forEach((node) => {\n if (!withLinks) {\n node.removeAttribute('tabindex');\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n node.shadowRoot?.querySelector('a')!.setAttribute('tabindex', '-1');\n }\n });\n const element = withLinks\n ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n (nodes[nextIndex] as CDSTreeNode).shadowRoot!.querySelector('a')\n : nodes[nextIndex];\n (element as CDSTreeNode).setAttribute('tabindex', '0');\n (element as CDSTreeNode).focus();\n event.preventDefault();\n }\n };\n\n private async _setInitialFocus() {\n await this.updateComplete;\n\n const nodes = this.querySelectorAll(CDSTreeView.selectorTreeNode);\n if (nodes.length > 0) {\n const selectedNode =\n Array.from(nodes).find((node) => (node as CDSTreeNode).selected) ||\n nodes[0];\n const element = (selectedNode as CDSTreeNode).href\n ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n (selectedNode as CDSTreeNode).shadowRoot!.querySelector('a')\n : selectedNode;\n (element as CDSTreeNode).setAttribute('tabindex', '0');\n }\n }\n connectedCallback() {\n super.connectedCallback();\n\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'tree');\n }\n\n if (!this.hasAttribute('aria-label')) {\n this.setAttribute('aria-label', this.label);\n }\n }\n\n updated(changedProperties) {\n this._setInitialFocus();\n\n if (changedProperties.has('size')) {\n const items = this.querySelectorAll(CDSTreeView.selectorTreeNode);\n items.forEach((item) => {\n (item as CDSTreeNode).setAttribute('size', this.size);\n });\n }\n }\n\n render() {\n const { hideLabel, label, size } = this;\n const labelId = 'tree-view__label';\n const treeClasses = classMap({\n [`${prefix}--tree`]: true,\n [`${prefix}--tree--${size}`]: size,\n });\n return html`\n ${\n !hideLabel\n ? html`<label id=${labelId} class=${`${prefix}--label`}\n >${label}\n </label>`\n : null\n }\n <ul\n aria-label=${hideLabel ? label : undefined}\n aria-labelledby=${!hideLabel ? labelId : undefined}\n class=${treeClasses}\n role=\"tree\">\n <slot><slot>\n </ul>\n `;\n }\n\n static get selectorTreeNode() {\n return `${prefix}-tree-node`;\n }\n\n static styles = styles;\n}\n\nexport default CDSTreeView;\n"],"names":["customElement"],"mappings":"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"}
|
|
@@ -184,7 +184,7 @@ __decorate([
|
|
|
184
184
|
CDSHeaderGlobalAction = __decorate([
|
|
185
185
|
carbonElement(`${prefix}-header-global-action`)
|
|
186
186
|
], CDSHeaderGlobalAction);
|
|
187
|
-
var
|
|
187
|
+
var CDSHeaderGlobalAction_default = CDSHeaderGlobalAction;
|
|
188
188
|
|
|
189
|
-
export {
|
|
189
|
+
export { CDSHeaderGlobalAction_default as default };
|
|
190
190
|
//# sourceMappingURL=header-global-action.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-global-action.js","sources":["../../../src/components/ui-shell/header-global-action.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2023, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport {\n BUTTON_TOOLTIP_POSITION,\n BUTTON_KIND,\n BUTTON_SIZE,\n} from '../button/button';\nimport CDSButton from '../button/button';\nimport HostListener from '../../globals/decorators/host-listener';\nimport styles from './header.scss?lit';\nimport { prefix } from '../../globals/settings';\n\n/**\n * Header global action button\n *\n * @element cds-header-global-action\n */\n@customElement(`${prefix}-header-global-action`)\nclass CDSHeaderGlobalAction extends CDSButton {\n @query('button')\n protected _buttonNode!: HTMLButtonElement;\n\n /**\n * Specify whether the action is currently active\n */\n @property({ type: Boolean, reflect: true })\n active;\n\n /**\n * Specify which header panel the button is associated with.\n */\n @property({ type: String, attribute: 'panel-id', reflect: true })\n panelId;\n\n /**\n * The `aria-label` attribute for the button in its active state.\n */\n @property({ attribute: 'button-label-active' })\n buttonLabelActive;\n\n /**\n * The `aria-label` attribute for the button in its inactive state.\n */\n @property({ attribute: 'button-label-inactive' })\n buttonLabelInactive;\n\n connectedCallback() {\n this.tooltipPosition = BUTTON_TOOLTIP_POSITION.BOTTOM;\n this.kind = BUTTON_KIND.GHOST;\n this.size = BUTTON_SIZE.LARGE;\n super.connectedCallback();\n }\n\n firstUpdated() {\n document.addEventListener('click', this._handleDocumentClick, true);\n document.addEventListener('focusin', this._handleDocumentFocusIn, true);\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this._handleDocumentClick, true);\n document.removeEventListener('focusin', this._handleDocumentFocusIn, true);\n super.disconnectedCallback();\n }\n\n private _handleDocumentClick = (event: MouseEvent) => {\n const path = event.composedPath();\n this._handlePanelCloseIfFocusOutside(path);\n };\n\n private _handleDocumentFocusIn = (event: FocusEvent) => {\n const path = event.composedPath();\n this._handlePanelCloseIfFocusOutside(path);\n };\n\n private _handlePanelCloseIfFocusOutside(path: EventTarget[]) {\n const panel = this.ownerDocument?.querySelector(`#${this.panelId}`);\n const isInside = path.some(\n (el) =>\n el instanceof HTMLElement && (panel?.contains(el) || this.contains(el))\n );\n\n if (panel && !isInside) {\n panel.removeAttribute('expanded');\n this.active = false;\n }\n }\n\n @HostListener('focusout')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore\n private _handleFocusOut(event: FocusEvent) {\n const panel = this.ownerDocument?.querySelector(`#${this.panelId}`);\n const relatedTarget = event.relatedTarget as HTMLElement;\n\n if (\n panel &&\n relatedTarget &&\n !this.contains(relatedTarget) &&\n !panel.contains(relatedTarget)\n ) {\n panel.removeAttribute('expanded');\n this.active = false;\n }\n }\n\n @HostListener('click', { capture: true })\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore\n private _handleClick(event: Event) {\n const { disabled } = this;\n if (disabled) {\n event.stopPropagation();\n } else {\n const panel = this.ownerDocument?.querySelector(`#${this.panelId}`);\n\n // see if there is related panel for header-global-action button first\n // and then set the expanded attr of it accordingly\n if (panel) {\n const expanded = panel.getAttribute('expanded');\n\n if (expanded) {\n panel.removeAttribute('expanded');\n } else {\n panel.setAttribute('expanded', 'true');\n }\n\n const active = !this.active;\n this.active = active;\n }\n }\n }\n\n @HostListener('keydown', { capture: true })\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore\n private _handleKeyDown(event: KeyboardEvent) {\n const { key } = event;\n if (key === 'Enter' || key === ' ') {\n event.preventDefault();\n this._handleClick(event);\n } else if (key === 'Escape') {\n const panel = this.ownerDocument?.querySelector(`#${this.panelId}`);\n if (panel) {\n panel.removeAttribute('expanded');\n }\n this.active = false;\n }\n }\n\n updated(changedProperties) {\n if (this._buttonNode) {\n this._buttonNode.classList.add(`${prefix}--header__action`);\n\n if (changedProperties.has('active') || changedProperties.size === 0) {\n if (this.active) {\n this._buttonNode.classList.add(`${prefix}--header__action--active`);\n\n if (this.buttonLabelActive) {\n this.tooltipText = this.buttonLabelActive;\n }\n } else {\n this._buttonNode.classList.remove(\n `${prefix}--header__action--active`\n );\n\n if (this.buttonLabelInactive) {\n this.tooltipText = this.buttonLabelInactive;\n }\n }\n }\n }\n }\n\n shouldUpdate(changedProperties) {\n if (changedProperties.has('active') && this._buttonNode) {\n if (this.active) {\n this._buttonNode.classList.add(`${prefix}--header__action--active`);\n\n if (this.buttonLabelActive) {\n this.tooltipText = this.buttonLabelActive;\n }\n } else {\n this._buttonNode.classList.remove(`${prefix}--header__action--active`);\n\n if (this.buttonLabelInactive) {\n this.tooltipText = this.buttonLabelInactive;\n }\n }\n }\n return true;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n static styles = styles;\n}\n\nexport default CDSHeaderGlobalAction;\n"],"names":["customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"header-global-action.js","sources":["../../../src/components/ui-shell/header-global-action.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2023, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport {\n BUTTON_TOOLTIP_POSITION,\n BUTTON_KIND,\n BUTTON_SIZE,\n} from '../button/button';\nimport CDSButton from '../button/button';\nimport HostListener from '../../globals/decorators/host-listener';\nimport styles from './header.scss?lit';\nimport { prefix } from '../../globals/settings';\n\n/**\n * Header global action button\n *\n * @element cds-header-global-action\n */\n@customElement(`${prefix}-header-global-action`)\nclass CDSHeaderGlobalAction extends CDSButton {\n @query('button')\n protected _buttonNode!: HTMLButtonElement;\n\n /**\n * Specify whether the action is currently active\n */\n @property({ type: Boolean, reflect: true })\n active;\n\n /**\n * Specify which header panel the button is associated with.\n */\n @property({ type: String, attribute: 'panel-id', reflect: true })\n panelId;\n\n /**\n * The `aria-label` attribute for the button in its active state.\n */\n @property({ attribute: 'button-label-active' })\n buttonLabelActive;\n\n /**\n * The `aria-label` attribute for the button in its inactive state.\n */\n @property({ attribute: 'button-label-inactive' })\n buttonLabelInactive;\n\n connectedCallback() {\n this.tooltipPosition = BUTTON_TOOLTIP_POSITION.BOTTOM;\n this.kind = BUTTON_KIND.GHOST;\n this.size = BUTTON_SIZE.LARGE;\n super.connectedCallback();\n }\n\n firstUpdated() {\n document.addEventListener('click', this._handleDocumentClick, true);\n document.addEventListener('focusin', this._handleDocumentFocusIn, true);\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this._handleDocumentClick, true);\n document.removeEventListener('focusin', this._handleDocumentFocusIn, true);\n super.disconnectedCallback();\n }\n\n private _handleDocumentClick = (event: MouseEvent) => {\n const path = event.composedPath();\n this._handlePanelCloseIfFocusOutside(path);\n };\n\n private _handleDocumentFocusIn = (event: FocusEvent) => {\n const path = event.composedPath();\n this._handlePanelCloseIfFocusOutside(path);\n };\n\n private _handlePanelCloseIfFocusOutside(path: EventTarget[]) {\n const panel = this.ownerDocument?.querySelector(`#${this.panelId}`);\n const isInside = path.some(\n (el) =>\n el instanceof HTMLElement && (panel?.contains(el) || this.contains(el))\n );\n\n if (panel && !isInside) {\n panel.removeAttribute('expanded');\n this.active = false;\n }\n }\n\n @HostListener('focusout')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore\n private _handleFocusOut(event: FocusEvent) {\n const panel = this.ownerDocument?.querySelector(`#${this.panelId}`);\n const relatedTarget = event.relatedTarget as HTMLElement;\n\n if (\n panel &&\n relatedTarget &&\n !this.contains(relatedTarget) &&\n !panel.contains(relatedTarget)\n ) {\n panel.removeAttribute('expanded');\n this.active = false;\n }\n }\n\n @HostListener('click', { capture: true })\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore\n private _handleClick(event: Event) {\n const { disabled } = this;\n if (disabled) {\n event.stopPropagation();\n } else {\n const panel = this.ownerDocument?.querySelector(`#${this.panelId}`);\n\n // see if there is related panel for header-global-action button first\n // and then set the expanded attr of it accordingly\n if (panel) {\n const expanded = panel.getAttribute('expanded');\n\n if (expanded) {\n panel.removeAttribute('expanded');\n } else {\n panel.setAttribute('expanded', 'true');\n }\n\n const active = !this.active;\n this.active = active;\n }\n }\n }\n\n @HostListener('keydown', { capture: true })\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore\n private _handleKeyDown(event: KeyboardEvent) {\n const { key } = event;\n if (key === 'Enter' || key === ' ') {\n event.preventDefault();\n this._handleClick(event);\n } else if (key === 'Escape') {\n const panel = this.ownerDocument?.querySelector(`#${this.panelId}`);\n if (panel) {\n panel.removeAttribute('expanded');\n }\n this.active = false;\n }\n }\n\n updated(changedProperties) {\n if (this._buttonNode) {\n this._buttonNode.classList.add(`${prefix}--header__action`);\n\n if (changedProperties.has('active') || changedProperties.size === 0) {\n if (this.active) {\n this._buttonNode.classList.add(`${prefix}--header__action--active`);\n\n if (this.buttonLabelActive) {\n this.tooltipText = this.buttonLabelActive;\n }\n } else {\n this._buttonNode.classList.remove(\n `${prefix}--header__action--active`\n );\n\n if (this.buttonLabelInactive) {\n this.tooltipText = this.buttonLabelInactive;\n }\n }\n }\n }\n }\n\n shouldUpdate(changedProperties) {\n if (changedProperties.has('active') && this._buttonNode) {\n if (this.active) {\n this._buttonNode.classList.add(`${prefix}--header__action--active`);\n\n if (this.buttonLabelActive) {\n this.tooltipText = this.buttonLabelActive;\n }\n } else {\n this._buttonNode.classList.remove(`${prefix}--header__action--active`);\n\n if (this.buttonLabelInactive) {\n this.tooltipText = this.buttonLabelInactive;\n }\n }\n }\n return true;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n static styles = styles;\n}\n\nexport default CDSHeaderGlobalAction;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAeH;;;;AAIG;AAEH,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,SAAS,CAAA;AAA7C,IAAA,WAAA,GAAA;;AA8CU,QAAA,IAAA,CAAA,oBAAoB,GAAG,CAAC,KAAiB,KAAI;AACnD,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE;AACjC,YAAA,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC;AAC5C,QAAA,CAAC;AAEO,QAAA,IAAA,CAAA,sBAAsB,GAAG,CAAC,KAAiB,KAAI;AACrD,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE;AACjC,YAAA,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC;AAC5C,QAAA,CAAC;IA8HH;IAxJE,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,eAAe,GAAG,uBAAuB,CAAC,MAAM;AACrD,QAAA,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK;AAC7B,QAAA,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK;QAC7B,KAAK,CAAC,iBAAiB,EAAE;IAC3B;IAEA,YAAY,GAAA;QACV,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC;QACnE,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC;IACzE;IAEA,oBAAoB,GAAA;QAClB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC;QACtE,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC;QAC1E,KAAK,CAAC,oBAAoB,EAAE;IAC9B;AAYQ,IAAA,+BAA+B,CAAC,IAAmB,EAAA;;AACzD,QAAA,MAAM,KAAK,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CAAC,IAAI,IAAI,CAAC,OAAO,CAAA,CAAE,CAAC;AACnE,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,CAAC,EAAE,KACD,EAAE,YAAY,WAAW,KAAK,CAAA,KAAK,KAAA,IAAA,IAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,EAAE,CAAC,KAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAC1E;AAED,QAAA,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE;AACtB,YAAA,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC;AACjC,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACrB;IACF;AAKQ,IAAA,eAAe,CAAC,KAAiB,EAAA;;AACvC,QAAA,MAAM,KAAK,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CAAC,IAAI,IAAI,CAAC,OAAO,CAAA,CAAE,CAAC;AACnE,QAAA,MAAM,aAAa,GAAG,KAAK,CAAC,aAA4B;AAExD,QAAA,IACE,KAAK;YACL,aAAa;AACb,YAAA,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;AAC7B,YAAA,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAC9B;AACA,YAAA,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC;AACjC,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACrB;IACF;AAKQ,IAAA,YAAY,CAAC,KAAY,EAAA;;AAC/B,QAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI;QACzB,IAAI,QAAQ,EAAE;YACZ,KAAK,CAAC,eAAe,EAAE;QACzB;aAAO;AACL,YAAA,MAAM,KAAK,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CAAC,IAAI,IAAI,CAAC,OAAO,CAAA,CAAE,CAAC;;;YAInE,IAAI,KAAK,EAAE;gBACT,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC;gBAE/C,IAAI,QAAQ,EAAE;AACZ,oBAAA,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC;gBACnC;qBAAO;AACL,oBAAA,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC;gBACxC;AAEA,gBAAA,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM;AAC3B,gBAAA,IAAI,CAAC,MAAM,GAAG,MAAM;YACtB;QACF;IACF;AAKQ,IAAA,cAAc,CAAC,KAAoB,EAAA;;AACzC,QAAA,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK;QACrB,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,GAAG,EAAE;YAClC,KAAK,CAAC,cAAc,EAAE;AACtB,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAC1B;AAAO,aAAA,IAAI,GAAG,KAAK,QAAQ,EAAE;AAC3B,YAAA,MAAM,KAAK,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CAAC,IAAI,IAAI,CAAC,OAAO,CAAA,CAAE,CAAC;YACnE,IAAI,KAAK,EAAE;AACT,gBAAA,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC;YACnC;AACA,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACrB;IACF;AAEA,IAAA,OAAO,CAAC,iBAAiB,EAAA;AACvB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA,EAAG,MAAM,CAAA,gBAAA,CAAkB,CAAC;AAE3D,YAAA,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,IAAI,KAAK,CAAC,EAAE;AACnE,gBAAA,IAAI,IAAI,CAAC,MAAM,EAAE;oBACf,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA,EAAG,MAAM,CAAA,wBAAA,CAA0B,CAAC;AAEnE,oBAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC1B,wBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB;oBAC3C;gBACF;qBAAO;oBACL,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAC/B,CAAA,EAAG,MAAM,CAAA,wBAAA,CAA0B,CACpC;AAED,oBAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,wBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB;oBAC7C;gBACF;YACF;QACF;IACF;AAEA,IAAA,YAAY,CAAC,iBAAiB,EAAA;QAC5B,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;AACvD,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA,EAAG,MAAM,CAAA,wBAAA,CAA0B,CAAC;AAEnE,gBAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC1B,oBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB;gBAC3C;YACF;iBAAO;gBACL,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA,EAAG,MAAM,CAAA,wBAAA,CAA0B,CAAC;AAEtE,gBAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,oBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB;gBAC7C;YACF;QACF;AACA,QAAA,OAAO,IAAI;IACb;;AAEO,qBAAA,CAAA,iBAAiB,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACnB,UAAU,CAAC,iBAAiB,KAC/B,cAAc,EAAE,IAAI,EAAA,CAFE;AAKjB,qBAAA,CAAA,MAAM,GAAG,MAAH;AAjLH,UAAA,CAAA;IADT,KAAK,CAAC,QAAQ;AAC2B,CAAA,EAAA,qBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,MAAA,CAAA;AAM1C,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AACnC,CAAA,EAAA,qBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,MAAA,CAAA;AAMP,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE;AACxD,CAAA,EAAA,qBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAMR,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE;AAC5B,CAAA,EAAA,qBAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,MAAA,CAAA;AAMlB,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,uBAAuB,EAAE;AAC5B,CAAA,EAAA,qBAAA,CAAA,SAAA,EAAA,qBAAA,EAAA,MAAA,CAAA;AA8CZ,UAAA,CAAA;IAHP,YAAY,CAAC,UAAU;;;AAgBvB,CAAA,EAAA,qBAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,IAAA,CAAA;AAKO,UAAA,CAAA;IAHP,YAAY,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;;;AAyBvC,CAAA,EAAA,qBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,IAAA,CAAA;AAKO,UAAA,CAAA;IAHP,YAAY,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;;;AAezC,CAAA,EAAA,qBAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,IAAA,CAAA;AAjIG,qBAAqB,GAAA,UAAA,CAAA;AAD1B,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,qBAAA,CAAuB;AACzC,CAAA,EAAA,qBAAqB,CAoL1B;AAED,oCAAe,qBAAqB;;;;"}
|
|
@@ -13,7 +13,7 @@ import { ifDefined } from 'lit/directives/if-defined.js';
|
|
|
13
13
|
import { prefix } from '../../globals/settings.js';
|
|
14
14
|
import Menu16 from '@carbon/icons/es/menu/16.js';
|
|
15
15
|
import Close16 from '@carbon/icons/es/close/16.js';
|
|
16
|
-
import
|
|
16
|
+
import iconLoader from '../../globals/internal/icon-loader.js';
|
|
17
17
|
import FocusMixin from '../../globals/mixins/focus.js';
|
|
18
18
|
import './side-nav.js';
|
|
19
19
|
import styles from './header.scss.js';
|
|
@@ -127,7 +127,7 @@ __decorate([
|
|
|
127
127
|
CDSHeaderMenuButton = __decorate([
|
|
128
128
|
carbonElement(`${prefix}-header-menu-button`)
|
|
129
129
|
], CDSHeaderMenuButton);
|
|
130
|
-
var
|
|
130
|
+
var CDSHeaderMenuButton_default = CDSHeaderMenuButton;
|
|
131
131
|
|
|
132
|
-
export {
|
|
132
|
+
export { CDSHeaderMenuButton_default as default };
|
|
133
133
|
//# sourceMappingURL=header-menu-button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-menu-button.js","sources":["../../../src/components/ui-shell/header-menu-button.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { prefix } from '../../globals/settings';\nimport Menu16 from '@carbon/icons/es/menu/16.js';\nimport Close16 from '@carbon/icons/es/close/16.js';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { SIDE_NAV_COLLAPSE_MODE } from './side-nav';\nimport styles from './header.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * The trigger button for side nav in header nav.\n *\n * @element cds-header-menu-button\n * @csspart button The button.\n * @csspart toggle-icon The toggle icon.\n * @fires cds-header-menu-button-toggled - The custom event fired after this header menu button is toggled upon a user gesture.\n */\n@customElement(`${prefix}-header-menu-button`)\nclass CDSHeaderMenuButton extends FocusMixin(LitElement) {\n private _handleClick() {\n const active = !this.active;\n this.active = active;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSHeaderMenuButton).eventToggle,\n {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n active,\n },\n }\n )\n );\n }\n\n /**\n * `true` if the button should represent its active state.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * The `aria-label` attribute for the button in its active state.\n */\n @property({ attribute: 'button-label-active' })\n buttonLabelActive = 'Close navigation menu';\n\n /**\n * The `aria-label` attribute for the button in its inactive state.\n */\n @property({ attribute: 'button-label-inactive' })\n buttonLabelInactive = 'Open navigation menu';\n\n /**\n * Collapse mode of the side nav.\n */\n @property({ reflect: true, attribute: 'collapse-mode' })\n collapseMode = SIDE_NAV_COLLAPSE_MODE.RESPONSIVE;\n\n /**\n * `true` if the button should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * If `true` will style the side nav to sit below the header\n */\n @property({\n type: Boolean,\n attribute: 'is-not-child-of-header',\n })\n isNotChildOfHeader = false;\n\n render() {\n const {\n active,\n buttonLabelActive,\n buttonLabelInactive,\n disabled,\n _handleClick: handleClick,\n } = this;\n const buttonLabel = active ? buttonLabelActive : buttonLabelInactive;\n const classes = classMap({\n [`${prefix}--header__action`]: true,\n [`${prefix}--header__menu-trigger`]: true,\n [`${prefix}--header__menu-toggle`]: true,\n [`${prefix}--header__action--active`]: active,\n });\n return html`\n <button\n part=\"button\"\n class=\"${classes}\"\n ?disabled=${disabled}\n aria-label=\"${ifDefined(buttonLabel)}\"\n @click=${handleClick}>\n ${iconLoader(active ? Close16 : Menu16, { part: 'toggle-icon' })}\n </button>\n `;\n }\n\n /**\n * The name of the custom event fired after this header menu button is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${prefix}-header-menu-button-toggled`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSHeaderMenuButton;\n"],"names":["customElement"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"header-menu-button.js","sources":["../../../src/components/ui-shell/header-menu-button.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { prefix } from '../../globals/settings';\nimport Menu16 from '@carbon/icons/es/menu/16.js';\nimport Close16 from '@carbon/icons/es/close/16.js';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { SIDE_NAV_COLLAPSE_MODE } from './side-nav';\nimport styles from './header.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * The trigger button for side nav in header nav.\n *\n * @element cds-header-menu-button\n * @csspart button The button.\n * @csspart toggle-icon The toggle icon.\n * @fires cds-header-menu-button-toggled - The custom event fired after this header menu button is toggled upon a user gesture.\n */\n@customElement(`${prefix}-header-menu-button`)\nclass CDSHeaderMenuButton extends FocusMixin(LitElement) {\n private _handleClick() {\n const active = !this.active;\n this.active = active;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSHeaderMenuButton).eventToggle,\n {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n active,\n },\n }\n )\n );\n }\n\n /**\n * `true` if the button should represent its active state.\n */\n @property({ type: Boolean, reflect: true })\n active = false;\n\n /**\n * The `aria-label` attribute for the button in its active state.\n */\n @property({ attribute: 'button-label-active' })\n buttonLabelActive = 'Close navigation menu';\n\n /**\n * The `aria-label` attribute for the button in its inactive state.\n */\n @property({ attribute: 'button-label-inactive' })\n buttonLabelInactive = 'Open navigation menu';\n\n /**\n * Collapse mode of the side nav.\n */\n @property({ reflect: true, attribute: 'collapse-mode' })\n collapseMode = SIDE_NAV_COLLAPSE_MODE.RESPONSIVE;\n\n /**\n * `true` if the button should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * If `true` will style the side nav to sit below the header\n */\n @property({\n type: Boolean,\n attribute: 'is-not-child-of-header',\n })\n isNotChildOfHeader = false;\n\n render() {\n const {\n active,\n buttonLabelActive,\n buttonLabelInactive,\n disabled,\n _handleClick: handleClick,\n } = this;\n const buttonLabel = active ? buttonLabelActive : buttonLabelInactive;\n const classes = classMap({\n [`${prefix}--header__action`]: true,\n [`${prefix}--header__menu-trigger`]: true,\n [`${prefix}--header__menu-toggle`]: true,\n [`${prefix}--header__action--active`]: active,\n });\n return html`\n <button\n part=\"button\"\n class=\"${classes}\"\n ?disabled=${disabled}\n aria-label=\"${ifDefined(buttonLabel)}\"\n @click=${handleClick}>\n ${iconLoader(active ? Close16 : Menu16, { part: 'toggle-icon' })}\n </button>\n `;\n }\n\n /**\n * The name of the custom event fired after this header menu button is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${prefix}-header-menu-button-toggled`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSHeaderMenuButton;\n"],"names":["customElement"],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ let CDSHeaderMenuItem = class CDSHeaderMenuItem extends CDSHeaderNavItem {
|
|
|
26
26
|
CDSHeaderMenuItem = __decorate([
|
|
27
27
|
carbonElement(`${prefix}-header-menu-item`)
|
|
28
28
|
], CDSHeaderMenuItem);
|
|
29
|
-
var
|
|
29
|
+
var CDSHeaderMenuItem_default = CDSHeaderMenuItem;
|
|
30
30
|
|
|
31
|
-
export {
|
|
31
|
+
export { CDSHeaderMenuItem_default as default };
|
|
32
32
|
//# sourceMappingURL=header-menu-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-menu-item.js","sources":["../../../src/components/ui-shell/header-menu-item.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { prefix } from '../../globals/settings';\nimport CDSHeaderNavItem from './header-nav-item';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Header submenu item.\n *\n * @element cds-header-menu-item\n */\n@customElement(`${prefix}-header-menu-item`)\nclass CDSHeaderMenuItem extends CDSHeaderNavItem {}\n\nexport default CDSHeaderMenuItem;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;AAAA;;;;;AAKG;AAMH;;;;AAIG;AAEH,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,gBAAgB,CAAA;CAAG;AAA7C,iBAAiB,GAAA,UAAA,CAAA;AADtB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,iBAAA,CAAmB;AACrC,CAAA,EAAA,iBAAiB,CAA4B;AAEnD,
|
|
1
|
+
{"version":3,"file":"header-menu-item.js","sources":["../../../src/components/ui-shell/header-menu-item.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { prefix } from '../../globals/settings';\nimport CDSHeaderNavItem from './header-nav-item';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Header submenu item.\n *\n * @element cds-header-menu-item\n */\n@customElement(`${prefix}-header-menu-item`)\nclass CDSHeaderMenuItem extends CDSHeaderNavItem {}\n\nexport default CDSHeaderMenuItem;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;AAAA;;;;;AAKG;AAMH;;;;AAIG;AAEH,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,gBAAgB,CAAA;CAAG;AAA7C,iBAAiB,GAAA,UAAA,CAAA;AADtB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,iBAAA,CAAmB;AACrC,CAAA,EAAA,iBAAiB,CAA4B;AAEnD,gCAAe,iBAAiB;;;;"}
|
|
@@ -12,7 +12,7 @@ import { query, property } from 'lit/decorators.js';
|
|
|
12
12
|
import { classMap } from 'lit/directives/class-map.js';
|
|
13
13
|
import { prefix } from '../../globals/settings.js';
|
|
14
14
|
import ChevronDown16 from '@carbon/icons/es/chevron--down/16.js';
|
|
15
|
-
import
|
|
15
|
+
import iconLoader from '../../globals/internal/icon-loader.js';
|
|
16
16
|
import FocusMixin from '../../globals/mixins/focus.js';
|
|
17
17
|
import HostListenerMixin from '../../globals/mixins/host-listener.js';
|
|
18
18
|
import HostListener from '../../globals/decorators/host-listener.js';
|
|
@@ -175,7 +175,7 @@ __decorate([
|
|
|
175
175
|
CDSHeaderMenu = __decorate([
|
|
176
176
|
carbonElement(`${prefix}-header-menu`)
|
|
177
177
|
], CDSHeaderMenu);
|
|
178
|
-
var
|
|
178
|
+
var CDSHeaderMenu_default = CDSHeaderMenu;
|
|
179
179
|
|
|
180
|
-
export {
|
|
180
|
+
export { CDSHeaderMenu_default as default };
|
|
181
181
|
//# sourceMappingURL=header-menu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-menu.js","sources":["../../../src/components/ui-shell/header-menu.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { prefix } from '../../globals/settings';\nimport ChevronDown16 from '@carbon/icons/es/chevron--down/16.js';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport { forEach } from '../../globals/internal/collection-helpers';\nimport CDSHeaderMenuItem from './header-menu-item';\nimport styles from './header.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Header menu.\n *\n * @element cds-header-menu\n * @csspart trigger The trigger button.\n * @csspart trigger-icon The trigger button icon.\n * @csspart menu-body The menu body.\n */\n@customElement(`${prefix}-header-menu`)\nclass CDSHeaderMenu extends HostListenerMixin(FocusMixin(LitElement)) {\n /**\n * The trigger button.\n */\n @query('[part=\"trigger\"]')\n protected _topMenuItem!: HTMLElement;\n\n /**\n * keeps track if header menu has any active submenus\n */\n private _hasActiveChildren = false;\n\n /**\n * Handles `click` event handler on this element.\n */\n private _handleClick() {\n this._handleUserInitiatedToggle();\n }\n\n /**\n * Handler for the `keydown` event on the trigger button.\n */\n @HostListener('keydown')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydownTrigger({ key }: KeyboardEvent) {\n if (key === 'Esc' || key === 'Escape') {\n this._handleUserInitiatedToggle(false);\n }\n }\n\n /**\n * Handles user-initiated toggling the open state.\n *\n * @param [force] If specified, forces the open state to the given one.\n */\n private _handleUserInitiatedToggle(force = !this.expanded) {\n this.expanded = force;\n if (!force) {\n this._topMenuItem.focus();\n }\n }\n\n /**\n * Handles `blur` event handler on this element.\n */\n @HostListener('focusout')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleBlur({ relatedTarget }: FocusEvent) {\n if (!this.contains(relatedTarget as Node)) {\n this.expanded = false;\n }\n }\n\n /**\n * `true` if the menu should be expanded.\n */\n @property({ type: Boolean, reflect: true })\n expanded = false;\n\n /**\n * Applies selected styles to the item if a user sets this to true and `aria-current !== 'page'`.\n */\n @property({ type: Boolean, attribute: 'is-active', reflect: true })\n isActive = false;\n\n /**\n * The content of the trigger button.\n */\n @property({ attribute: 'trigger-content' })\n triggerContent = '';\n\n /**\n * The `aria-label` attribute for the menu UI.\n */\n @property({ attribute: 'menu-label' })\n menuLabel!: string;\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem');\n }\n const { selectorItem } = this.constructor as typeof CDSHeaderMenu;\n forEach(this.querySelectorAll(selectorItem), (elem) => {\n if ((elem as CDSHeaderMenuItem).isActive === true) {\n this._hasActiveChildren = true;\n }\n });\n\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n if (changedProperties.has('expanded')) {\n const { selectorItem } = this.constructor as typeof CDSHeaderMenu;\n const { expanded } = this;\n forEach(this.querySelectorAll(selectorItem), (elem) => {\n (elem as HTMLElement).tabIndex = expanded ? 0 : -1;\n });\n }\n }\n\n render() {\n const {\n expanded,\n isActive,\n triggerContent,\n menuLabel,\n _hasActiveChildren,\n _handleClick: handleClick,\n } = this;\n\n const linkClasses = classMap({\n [`${prefix}--header__menu-item`]: true,\n [`${prefix}--header__menu-title`]: true,\n [`${prefix}--header__menu-item--current`]:\n isActive || (_hasActiveChildren && !expanded),\n });\n\n return html`\n <a\n part=\"trigger\"\n role=\"button\"\n tabindex=\"0\"\n class=\"${linkClasses}\"\n href=\"javascript:void 0\"\n aria-haspopup=\"menu\"\n aria-expanded=\"${String(expanded)}\"\n @click=${handleClick}>\n ${triggerContent}${iconLoader(ChevronDown16, {\n part: 'trigger-icon',\n class: `${prefix}--header__menu-arrow`,\n })}\n </a>\n <ul\n part=\"menu-body\"\n class=\"${prefix}--header__menu\"\n aria-label=\"${ifDefined(menuLabel)}\">\n <slot></slot>\n </ul>\n `;\n }\n\n /**\n * A selector that will return the menu items.\n */\n static get selectorItem() {\n return `${prefix}-header-menu-item`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSHeaderMenu;\n"],"names":["customElement"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"header-menu.js","sources":["../../../src/components/ui-shell/header-menu.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { prefix } from '../../globals/settings';\nimport ChevronDown16 from '@carbon/icons/es/chevron--down/16.js';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport { forEach } from '../../globals/internal/collection-helpers';\nimport CDSHeaderMenuItem from './header-menu-item';\nimport styles from './header.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Header menu.\n *\n * @element cds-header-menu\n * @csspart trigger The trigger button.\n * @csspart trigger-icon The trigger button icon.\n * @csspart menu-body The menu body.\n */\n@customElement(`${prefix}-header-menu`)\nclass CDSHeaderMenu extends HostListenerMixin(FocusMixin(LitElement)) {\n /**\n * The trigger button.\n */\n @query('[part=\"trigger\"]')\n protected _topMenuItem!: HTMLElement;\n\n /**\n * keeps track if header menu has any active submenus\n */\n private _hasActiveChildren = false;\n\n /**\n * Handles `click` event handler on this element.\n */\n private _handleClick() {\n this._handleUserInitiatedToggle();\n }\n\n /**\n * Handler for the `keydown` event on the trigger button.\n */\n @HostListener('keydown')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydownTrigger({ key }: KeyboardEvent) {\n if (key === 'Esc' || key === 'Escape') {\n this._handleUserInitiatedToggle(false);\n }\n }\n\n /**\n * Handles user-initiated toggling the open state.\n *\n * @param [force] If specified, forces the open state to the given one.\n */\n private _handleUserInitiatedToggle(force = !this.expanded) {\n this.expanded = force;\n if (!force) {\n this._topMenuItem.focus();\n }\n }\n\n /**\n * Handles `blur` event handler on this element.\n */\n @HostListener('focusout')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleBlur({ relatedTarget }: FocusEvent) {\n if (!this.contains(relatedTarget as Node)) {\n this.expanded = false;\n }\n }\n\n /**\n * `true` if the menu should be expanded.\n */\n @property({ type: Boolean, reflect: true })\n expanded = false;\n\n /**\n * Applies selected styles to the item if a user sets this to true and `aria-current !== 'page'`.\n */\n @property({ type: Boolean, attribute: 'is-active', reflect: true })\n isActive = false;\n\n /**\n * The content of the trigger button.\n */\n @property({ attribute: 'trigger-content' })\n triggerContent = '';\n\n /**\n * The `aria-label` attribute for the menu UI.\n */\n @property({ attribute: 'menu-label' })\n menuLabel!: string;\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'listitem');\n }\n const { selectorItem } = this.constructor as typeof CDSHeaderMenu;\n forEach(this.querySelectorAll(selectorItem), (elem) => {\n if ((elem as CDSHeaderMenuItem).isActive === true) {\n this._hasActiveChildren = true;\n }\n });\n\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n if (changedProperties.has('expanded')) {\n const { selectorItem } = this.constructor as typeof CDSHeaderMenu;\n const { expanded } = this;\n forEach(this.querySelectorAll(selectorItem), (elem) => {\n (elem as HTMLElement).tabIndex = expanded ? 0 : -1;\n });\n }\n }\n\n render() {\n const {\n expanded,\n isActive,\n triggerContent,\n menuLabel,\n _hasActiveChildren,\n _handleClick: handleClick,\n } = this;\n\n const linkClasses = classMap({\n [`${prefix}--header__menu-item`]: true,\n [`${prefix}--header__menu-title`]: true,\n [`${prefix}--header__menu-item--current`]:\n isActive || (_hasActiveChildren && !expanded),\n });\n\n return html`\n <a\n part=\"trigger\"\n role=\"button\"\n tabindex=\"0\"\n class=\"${linkClasses}\"\n href=\"javascript:void 0\"\n aria-haspopup=\"menu\"\n aria-expanded=\"${String(expanded)}\"\n @click=${handleClick}>\n ${triggerContent}${iconLoader(ChevronDown16, {\n part: 'trigger-icon',\n class: `${prefix}--header__menu-arrow`,\n })}\n </a>\n <ul\n part=\"menu-body\"\n class=\"${prefix}--header__menu\"\n aria-label=\"${ifDefined(menuLabel)}\">\n <slot></slot>\n </ul>\n `;\n }\n\n /**\n * A selector that will return the menu items.\n */\n static get selectorItem() {\n return `${prefix}-header-menu-item`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSHeaderMenu;\n"],"names":["customElement"],"mappings":"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"}
|
|
@@ -55,7 +55,7 @@ __decorate([
|
|
|
55
55
|
CDSHeaderName = __decorate([
|
|
56
56
|
carbonElement(`${prefix}-header-name`)
|
|
57
57
|
], CDSHeaderName);
|
|
58
|
-
var
|
|
58
|
+
var CDSHeaderName_default = CDSHeaderName;
|
|
59
59
|
|
|
60
|
-
export {
|
|
60
|
+
export { CDSHeaderName_default as default };
|
|
61
61
|
//# sourceMappingURL=header-name.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-name.js","sources":["../../../src/components/ui-shell/header-name.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './header.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * The product name UI in header nav.\n *\n * @element cds-header-name\n * @csspart link The link.\n * @csspart prefix The prefix content.\n */\n@customElement(`${prefix}-header-name`)\nclass CDSHeaderName extends FocusMixin(LitElement) {\n /**\n * Link `href`.\n */\n @property()\n href!: string;\n\n /**\n * The product name prefix.\n */\n @property()\n prefix!: string;\n\n render() {\n const { href, prefix: namePrefix } = this;\n const namePrefixPart = !namePrefix\n ? undefined\n : html`\n <span part=\"prefix\" class=\"${prefix}--header__name--prefix\"\n >${namePrefix}</span\n >\n `;\n return html`\n <a part=\"link\" class=\"${prefix}--header__name\" href=\"${ifDefined(href)}\"\n >${namePrefixPart} <span><slot></slot></span\n ></a>\n `;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSHeaderName;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAUH;;;;;;AAMG;AAEH,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,UAAU,CAAC,UAAU,CAAC,CAAA;IAahD,MAAM,GAAA;QACJ,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI;QACzC,MAAM,cAAc,GAAG,CAAC;AACtB,cAAE;cACA,IAAI,CAAA;uCAC2B,MAAM,CAAA;eAC9B,UAAU,CAAA;;SAEhB;AACL,QAAA,OAAO,IAAI,CAAA;AACe,4BAAA,EAAA,MAAM,CAAA,sBAAA,EAAyB,SAAS,CAAC,IAAI,CAAC,CAAA;WACjE,cAAc,CAAA;;KAEpB;IACH;;AAEO,aAAA,CAAA,iBAAiB,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACnB,UAAU,CAAC,iBAAiB,KAC/B,cAAc,EAAE,IAAI,EAAA,CAFE;AAIjB,aAAA,CAAA,MAAM,GAAG,MAAH;AA5Bb,UAAA,CAAA;AADC,IAAA,QAAQ;AACK,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAMd,UAAA,CAAA;AADC,IAAA,QAAQ;AACO,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,QAAA,EAAA,MAAA,CAAA;AAXZ,aAAa,GAAA,UAAA,CAAA;AADlB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,YAAA,CAAc;AAChC,CAAA,EAAA,aAAa,CAkClB;AAED,
|
|
1
|
+
{"version":3,"file":"header-name.js","sources":["../../../src/components/ui-shell/header-name.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './header.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * The product name UI in header nav.\n *\n * @element cds-header-name\n * @csspart link The link.\n * @csspart prefix The prefix content.\n */\n@customElement(`${prefix}-header-name`)\nclass CDSHeaderName extends FocusMixin(LitElement) {\n /**\n * Link `href`.\n */\n @property()\n href!: string;\n\n /**\n * The product name prefix.\n */\n @property()\n prefix!: string;\n\n render() {\n const { href, prefix: namePrefix } = this;\n const namePrefixPart = !namePrefix\n ? undefined\n : html`\n <span part=\"prefix\" class=\"${prefix}--header__name--prefix\"\n >${namePrefix}</span\n >\n `;\n return html`\n <a part=\"link\" class=\"${prefix}--header__name\" href=\"${ifDefined(href)}\"\n >${namePrefixPart} <span><slot></slot></span\n ></a>\n `;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSHeaderName;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAUH;;;;;;AAMG;AAEH,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,UAAU,CAAC,UAAU,CAAC,CAAA;IAahD,MAAM,GAAA;QACJ,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI;QACzC,MAAM,cAAc,GAAG,CAAC;AACtB,cAAE;cACA,IAAI,CAAA;uCAC2B,MAAM,CAAA;eAC9B,UAAU,CAAA;;SAEhB;AACL,QAAA,OAAO,IAAI,CAAA;AACe,4BAAA,EAAA,MAAM,CAAA,sBAAA,EAAyB,SAAS,CAAC,IAAI,CAAC,CAAA;WACjE,cAAc,CAAA;;KAEpB;IACH;;AAEO,aAAA,CAAA,iBAAiB,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACnB,UAAU,CAAC,iBAAiB,KAC/B,cAAc,EAAE,IAAI,EAAA,CAFE;AAIjB,aAAA,CAAA,MAAM,GAAG,MAAH;AA5Bb,UAAA,CAAA;AADC,IAAA,QAAQ;AACK,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAMd,UAAA,CAAA;AADC,IAAA,QAAQ;AACO,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,QAAA,EAAA,MAAA,CAAA;AAXZ,aAAa,GAAA,UAAA,CAAA;AADlB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,YAAA,CAAc;AAChC,CAAA,EAAA,aAAa,CAkClB;AAED,4BAAe,aAAa;;;;"}
|
|
@@ -52,7 +52,7 @@ __decorate([
|
|
|
52
52
|
CDSHeaderNav = __decorate([
|
|
53
53
|
carbonElement(`${prefix}-header-nav`)
|
|
54
54
|
], CDSHeaderNav);
|
|
55
|
-
var
|
|
55
|
+
var CDSHeaderNav_default = CDSHeaderNav;
|
|
56
56
|
|
|
57
|
-
export {
|
|
57
|
+
export { CDSHeaderNav_default as default };
|
|
58
58
|
//# sourceMappingURL=header-nav.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-nav.js","sources":["../../../src/components/ui-shell/header-nav.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport styles from './header.scss?lit';\n\n/**\n * Header.\n *\n * @element cds-header-nav\n * @csspart menu-body The menu body.\n * @csspart divider The divider.\n */\n@customElement(`${prefix}-header-nav`)\nclass CDSHeaderNav extends LitElement {\n /**\n * The `aria-label` attribute for the menu bar UI.\n */\n @property({ attribute: 'menu-bar-label' })\n menuBarLabel!: string;\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'navigation');\n }\n super.connectedCallback();\n }\n\n render() {\n const { menuBarLabel } = this;\n return html`\n <div part=\"divider\" class=\"${prefix}-ce--header__divider\"></div>\n <ul\n part=\"menu-body\"\n class=\"${prefix}--header__menu-bar\"\n aria-label=\"${menuBarLabel}\">\n <slot></slot>\n </ul>\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSHeaderNav;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;AAAA;;;;;AAKG;AAQH;;;;;;AAMG;AAEH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,UAAU,CAAA;IAOnC,iBAAiB,GAAA;QACf,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;AAC9B,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC;QACzC;QACA,KAAK,CAAC,iBAAiB,EAAE;IAC3B;IAEA,MAAM,GAAA;AACJ,QAAA,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI;AAC7B,QAAA,OAAO,IAAI,CAAA;mCACoB,MAAM,CAAA;;;iBAGxB,MAAM,CAAA;sBACD,YAAY,CAAA;;;KAG7B;IACH;;AAEO,YAAA,CAAA,MAAM,GAAG,MAAH;AAtBb,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;AACnB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,cAAA,EAAA,MAAA,CAAA;AALlB,YAAY,GAAA,UAAA,CAAA;AADjB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,WAAA,CAAa;AAC/B,CAAA,EAAA,YAAY,CA4BjB;AAED,
|
|
1
|
+
{"version":3,"file":"header-nav.js","sources":["../../../src/components/ui-shell/header-nav.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport styles from './header.scss?lit';\n\n/**\n * Header.\n *\n * @element cds-header-nav\n * @csspart menu-body The menu body.\n * @csspart divider The divider.\n */\n@customElement(`${prefix}-header-nav`)\nclass CDSHeaderNav extends LitElement {\n /**\n * The `aria-label` attribute for the menu bar UI.\n */\n @property({ attribute: 'menu-bar-label' })\n menuBarLabel!: string;\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'navigation');\n }\n super.connectedCallback();\n }\n\n render() {\n const { menuBarLabel } = this;\n return html`\n <div part=\"divider\" class=\"${prefix}-ce--header__divider\"></div>\n <ul\n part=\"menu-body\"\n class=\"${prefix}--header__menu-bar\"\n aria-label=\"${menuBarLabel}\">\n <slot></slot>\n </ul>\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSHeaderNav;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;AAAA;;;;;AAKG;AAQH;;;;;;AAMG;AAEH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,UAAU,CAAA;IAOnC,iBAAiB,GAAA;QACf,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;AAC9B,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC;QACzC;QACA,KAAK,CAAC,iBAAiB,EAAE;IAC3B;IAEA,MAAM,GAAA;AACJ,QAAA,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI;AAC7B,QAAA,OAAO,IAAI,CAAA;mCACoB,MAAM,CAAA;;;iBAGxB,MAAM,CAAA;sBACD,YAAY,CAAA;;;KAG7B;IACH;;AAEO,YAAA,CAAA,MAAM,GAAG,MAAH;AAtBb,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;AACnB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,cAAA,EAAA,MAAA,CAAA;AALlB,YAAY,GAAA,UAAA,CAAA;AADjB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,WAAA,CAAa;AAC/B,CAAA,EAAA,YAAY,CA4BjB;AAED,2BAAe,YAAY;;;;"}
|
|
@@ -36,7 +36,7 @@ __decorate([
|
|
|
36
36
|
CDSHeaderPanel = __decorate([
|
|
37
37
|
carbonElement(`${prefix}-header-panel`)
|
|
38
38
|
], CDSHeaderPanel);
|
|
39
|
-
var
|
|
39
|
+
var CDSHeaderPanel_default = CDSHeaderPanel;
|
|
40
40
|
|
|
41
|
-
export {
|
|
41
|
+
export { CDSHeaderPanel_default as default };
|
|
42
42
|
//# sourceMappingURL=header-panel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-panel.js","sources":["../../../src/components/ui-shell/header-panel.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2023, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport styles from './header.scss?lit';\nimport { prefix } from '../../globals/settings';\n\n/**\n * Header panel\n *\n * @element cds-header-panel\n */\n@customElement(`${prefix}-header-panel`)\nclass CDSHeaderPanel extends LitElement {\n /**\n * Specify whether the panel is expanded\n */\n @property({ type: Boolean, reflect: true })\n expanded;\n\n render() {\n return html`<slot></slot>`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n static styles = styles;\n}\n\nexport default CDSHeaderPanel;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;AAAA;;;;;AAKG;AAQH;;;;AAIG;AAEH,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU,CAAA;IAOrC,MAAM,GAAA;QACJ,OAAO,IAAI,CAAA,CAAA,aAAA,CAAe;IAC5B;;AAEO,cAAA,CAAA,iBAAiB,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACnB,UAAU,CAAC,iBAAiB,KAC/B,cAAc,EAAE,IAAI,EAAA,CAFE;AAKjB,cAAA,CAAA,MAAM,GAAG,MAAH;AAXb,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AACjC,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AALL,cAAc,GAAA,UAAA,CAAA;AADnB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,aAAA,CAAe;AACjC,CAAA,EAAA,cAAc,CAiBnB;AAED,
|
|
1
|
+
{"version":3,"file":"header-panel.js","sources":["../../../src/components/ui-shell/header-panel.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2023, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport styles from './header.scss?lit';\nimport { prefix } from '../../globals/settings';\n\n/**\n * Header panel\n *\n * @element cds-header-panel\n */\n@customElement(`${prefix}-header-panel`)\nclass CDSHeaderPanel extends LitElement {\n /**\n * Specify whether the panel is expanded\n */\n @property({ type: Boolean, reflect: true })\n expanded;\n\n render() {\n return html`<slot></slot>`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n static styles = styles;\n}\n\nexport default CDSHeaderPanel;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;AAAA;;;;;AAKG;AAQH;;;;AAIG;AAEH,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU,CAAA;IAOrC,MAAM,GAAA;QACJ,OAAO,IAAI,CAAA,CAAA,aAAA,CAAe;IAC5B;;AAEO,cAAA,CAAA,iBAAiB,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACnB,UAAU,CAAC,iBAAiB,KAC/B,cAAc,EAAE,IAAI,EAAA,CAFE;AAKjB,cAAA,CAAA,MAAM,GAAG,MAAH;AAXb,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AACjC,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AALL,cAAc,GAAA,UAAA,CAAA;AADnB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,aAAA,CAAe;AACjC,CAAA,EAAA,cAAc,CAiBnB;AAED,6BAAe,cAAc;;;;"}
|
|
@@ -49,7 +49,7 @@ __decorate([
|
|
|
49
49
|
CDSHeaderSideNavItems = __decorate([
|
|
50
50
|
carbonElement(`${prefix}-header-side-nav-items`)
|
|
51
51
|
], CDSHeaderSideNavItems);
|
|
52
|
-
var
|
|
52
|
+
var CDSHeaderSideNavItems_default = CDSHeaderSideNavItems;
|
|
53
53
|
|
|
54
|
-
export {
|
|
54
|
+
export { CDSHeaderSideNavItems_default as default };
|
|
55
55
|
//# sourceMappingURL=header-side-nav-items.js.map
|