@carbon/web-components 2.57.0-rc.0 → 2.58.0-rc.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 +10 -10
- package/es/_virtual/{_@oxc-project_runtime@0.126.0/helpers → _@oxc-project_runtime@0.135.0/helpers/esm}/decorate.js +1 -1
- package/es/components/accordion/accordion-item-skeleton.js +1 -1
- package/es/components/accordion/accordion-item-skeleton.js.map +1 -1
- package/es/components/accordion/accordion-item.js +1 -1
- package/es/components/accordion/accordion-item.js.map +1 -1
- package/es/components/accordion/accordion-skeleton.js +1 -1
- package/es/components/accordion/accordion-skeleton.js.map +1 -1
- package/es/components/accordion/accordion.js +1 -1
- package/es/components/accordion/accordion.js.map +1 -1
- package/es/components/accordion/defs.js.map +1 -1
- package/es/components/ai-label/ai-label-action-button.js +1 -1
- package/es/components/ai-label/ai-label-action-button.js.map +1 -1
- package/es/components/ai-label/ai-label.js +1 -1
- package/es/components/ai-label/ai-label.js.map +1 -1
- package/es/components/ai-label/defs.js.map +1 -1
- package/es/components/ai-skeleton/ai-skeleton-icon.js +1 -1
- package/es/components/ai-skeleton/ai-skeleton-icon.js.map +1 -1
- package/es/components/ai-skeleton/ai-skeleton-placeholder.js +1 -1
- package/es/components/ai-skeleton/ai-skeleton-placeholder.js.map +1 -1
- package/es/components/ai-skeleton/ai-skeleton-text.js +1 -1
- package/es/components/ai-skeleton/ai-skeleton-text.js.map +1 -1
- package/es/components/badge-indicator/badge-indicator.js +1 -1
- package/es/components/badge-indicator/badge-indicator.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-item.js +1 -1
- package/es/components/breadcrumb/breadcrumb-item.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-link.js +1 -1
- package/es/components/breadcrumb/breadcrumb-link.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-overflow-menu.js +1 -1
- package/es/components/breadcrumb/breadcrumb-overflow-menu.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-skeleton.js +1 -1
- package/es/components/breadcrumb/breadcrumb-skeleton.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb.js +1 -1
- package/es/components/breadcrumb/breadcrumb.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb.scss.js +1 -1
- package/es/components/breadcrumb/defs.js.map +1 -1
- package/es/components/button/button-set-base.js +1 -1
- package/es/components/button/button-set-base.js.map +1 -1
- package/es/components/button/button-set.js +1 -1
- package/es/components/button/button-set.js.map +1 -1
- package/es/components/button/button-skeleton.js +1 -1
- package/es/components/button/button-skeleton.js.map +1 -1
- package/es/components/button/button.js +1 -1
- package/es/components/button/button.js.map +1 -1
- package/es/components/button/defs.js.map +1 -1
- package/es/components/chat-button/chat-button-skeleton.js +1 -1
- package/es/components/chat-button/chat-button-skeleton.js.map +1 -1
- package/es/components/chat-button/chat-button.js +1 -1
- package/es/components/chat-button/chat-button.js.map +1 -1
- package/es/components/chat-button/defs.js.map +1 -1
- package/es/components/checkbox/checkbox-group.js +1 -1
- package/es/components/checkbox/checkbox-group.js.map +1 -1
- package/es/components/checkbox/checkbox-skeleton.js +1 -1
- package/es/components/checkbox/checkbox-skeleton.js.map +1 -1
- package/es/components/checkbox/checkbox.js +1 -1
- package/es/components/checkbox/checkbox.js.map +1 -1
- package/es/components/checkbox/defs.js.map +1 -1
- package/es/components/code-snippet/code-snippet-skeleton.js +1 -1
- package/es/components/code-snippet/code-snippet-skeleton.js.map +1 -1
- package/es/components/code-snippet/code-snippet.js +1 -1
- package/es/components/code-snippet/code-snippet.js.map +1 -1
- package/es/components/code-snippet/defs.js.map +1 -1
- package/es/components/combo-box/combo-box-item.js +1 -1
- package/es/components/combo-box/combo-box-item.js.map +1 -1
- package/es/components/combo-box/combo-box.js +1 -1
- package/es/components/combo-box/combo-box.js.map +1 -1
- package/es/components/combo-button/combo-button.js +1 -1
- package/es/components/combo-button/combo-button.js.map +1 -1
- package/es/components/combo-button/defs.js.map +1 -1
- package/es/components/contained-list/contained-list-description.js +1 -1
- package/es/components/contained-list/contained-list-description.js.map +1 -1
- package/es/components/contained-list/contained-list-item.js +1 -1
- package/es/components/contained-list/contained-list-item.js.map +1 -1
- package/es/components/contained-list/contained-list.js +1 -1
- package/es/components/contained-list/contained-list.js.map +1 -1
- package/es/components/content-switcher/content-switcher-item.js +1 -1
- package/es/components/content-switcher/content-switcher-item.js.map +1 -1
- package/es/components/content-switcher/content-switcher.js +1 -1
- package/es/components/content-switcher/content-switcher.js.map +1 -1
- package/es/components/content-switcher/defs.js.map +1 -1
- package/es/components/copy/copy.js +1 -1
- package/es/components/copy/copy.js.map +1 -1
- package/es/components/copy-button/copy-button.js +1 -1
- package/es/components/copy-button/copy-button.js.map +1 -1
- package/es/components/data-table/data-table.scss.js +1 -1
- package/es/components/data-table/defs.js.map +1 -1
- package/es/components/data-table/table-batch-actions.js +1 -1
- package/es/components/data-table/table-batch-actions.js.map +1 -1
- package/es/components/data-table/table-body.js +1 -1
- package/es/components/data-table/table-body.js.map +1 -1
- package/es/components/data-table/table-cell-content.js +1 -1
- package/es/components/data-table/table-cell-content.js.map +1 -1
- package/es/components/data-table/table-cell.js +1 -1
- package/es/components/data-table/table-cell.js.map +1 -1
- package/es/components/data-table/table-expanded-row.js +1 -1
- package/es/components/data-table/table-expanded-row.js.map +1 -1
- package/es/components/data-table/table-head.js +1 -1
- package/es/components/data-table/table-head.js.map +1 -1
- package/es/components/data-table/table-header-cell.js +1 -1
- package/es/components/data-table/table-header-cell.js.map +1 -1
- package/es/components/data-table/table-header-description.js +1 -1
- package/es/components/data-table/table-header-description.js.map +1 -1
- package/es/components/data-table/table-header-row.js +1 -1
- package/es/components/data-table/table-header-row.js.map +1 -1
- package/es/components/data-table/table-header-title.js +1 -1
- 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-row.js.map +1 -1
- package/es/components/data-table/table-skeleton.js +1 -1
- package/es/components/data-table/table-skeleton.js.map +1 -1
- package/es/components/data-table/table-toolbar-content.js +1 -1
- package/es/components/data-table/table-toolbar-content.js.map +1 -1
- package/es/components/data-table/table-toolbar-search.js +1 -1
- package/es/components/data-table/table-toolbar-search.js.map +1 -1
- package/es/components/data-table/table-toolbar.js +1 -1
- package/es/components/data-table/table-toolbar.js.map +1 -1
- package/es/components/data-table/table.js +1 -1
- package/es/components/data-table/table.js.map +1 -1
- package/es/components/date-picker/append-to-plugin.js.map +1 -1
- package/es/components/date-picker/css-class-plugin.js.map +1 -1
- package/es/components/date-picker/date-picker-input-skeleton.js +1 -1
- 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-input.js.map +1 -1
- package/es/components/date-picker/date-picker.js +1 -1
- package/es/components/date-picker/date-picker.js.map +1 -1
- package/es/components/date-picker/defs.js.map +1 -1
- package/es/components/date-picker/fix-events-plugin.js.map +1 -1
- package/es/components/date-picker/focus-plugin.js.map +1 -1
- package/es/components/date-picker/icon-plugin.js.map +1 -1
- package/es/components/date-picker/iso-date.js.map +1 -1
- package/es/components/date-picker/month-select-plugin.js.map +1 -1
- package/es/components/date-picker/range-plugin.js.map +1 -1
- package/es/components/date-picker/shadow-dom-events-plugin.js.map +1 -1
- package/es/components/date-picker/state-handshake-plugin.js.map +1 -1
- package/es/components/dialog/dialog-body.js +1 -1
- package/es/components/dialog/dialog-body.js.map +1 -1
- package/es/components/dialog/dialog-close-button.js +1 -1
- package/es/components/dialog/dialog-close-button.js.map +1 -1
- package/es/components/dialog/dialog-controls.js +1 -1
- package/es/components/dialog/dialog-controls.js.map +1 -1
- package/es/components/dialog/dialog-footer-button.js +1 -1
- package/es/components/dialog/dialog-footer-button.js.map +1 -1
- package/es/components/dialog/dialog-footer.js +1 -1
- package/es/components/dialog/dialog-footer.js.map +1 -1
- package/es/components/dialog/dialog-header.js +1 -1
- package/es/components/dialog/dialog-header.js.map +1 -1
- package/es/components/dialog/dialog-subtitle.js +1 -1
- package/es/components/dialog/dialog-subtitle.js.map +1 -1
- package/es/components/dialog/dialog-title.js +1 -1
- package/es/components/dialog/dialog-title.js.map +1 -1
- package/es/components/dialog/dialog.js +1 -1
- package/es/components/dialog/dialog.js.map +1 -1
- package/es/components/dropdown/defs.js.map +1 -1
- package/es/components/dropdown/dropdown-item.js +1 -1
- package/es/components/dropdown/dropdown-item.js.map +1 -1
- package/es/components/dropdown/dropdown-skeleton.js +1 -1
- package/es/components/dropdown/dropdown-skeleton.js.map +1 -1
- package/es/components/dropdown/dropdown.js +1 -1
- package/es/components/dropdown/dropdown.js.map +1 -1
- package/es/components/feature-flags/index.js +1 -1
- package/es/components/feature-flags/index.js.map +1 -1
- package/es/components/file-uploader/defs.js.map +1 -1
- package/es/components/file-uploader/demo-file-uploader.js +1 -1
- package/es/components/file-uploader/demo-file-uploader.js.map +1 -1
- package/es/components/file-uploader/file-uploader-button.js +1 -1
- package/es/components/file-uploader/file-uploader-button.js.map +1 -1
- package/es/components/file-uploader/file-uploader-drop-container.js +1 -1
- package/es/components/file-uploader/file-uploader-drop-container.js.map +1 -1
- package/es/components/file-uploader/file-uploader-item.js +1 -1
- package/es/components/file-uploader/file-uploader-item.js.map +1 -1
- package/es/components/file-uploader/file-uploader-skeleton.js +1 -1
- package/es/components/file-uploader/file-uploader-skeleton.js.map +1 -1
- package/es/components/file-uploader/file-uploader.js +1 -1
- package/es/components/file-uploader/file-uploader.js.map +1 -1
- package/es/components/floating-menu/defs.js.map +1 -1
- package/es/components/floating-menu/floating-menu.js +1 -1
- package/es/components/floating-menu/floating-menu.js.map +1 -1
- package/es/components/fluid-combo-box/fluid-combo-box-skeleton.js +1 -1
- package/es/components/fluid-combo-box/fluid-combo-box-skeleton.js.map +1 -1
- package/es/components/fluid-combo-box/fluid-combo-box.js +1 -1
- package/es/components/fluid-combo-box/fluid-combo-box.js.map +1 -1
- package/es/components/fluid-dropdown/fluid-dropdown-skeleton.js +1 -1
- package/es/components/fluid-dropdown/fluid-dropdown-skeleton.js.map +1 -1
- package/es/components/fluid-dropdown/fluid-dropdown.js +1 -1
- package/es/components/fluid-dropdown/fluid-dropdown.js.map +1 -1
- package/es/components/fluid-form/fluid-form.js +1 -1
- package/es/components/fluid-form/fluid-form.js.map +1 -1
- package/es/components/fluid-multi-select/fluid-multi-select-skeleton.js +1 -1
- package/es/components/fluid-multi-select/fluid-multi-select-skeleton.js.map +1 -1
- package/es/components/fluid-multi-select/fluid-multi-select.js +1 -1
- package/es/components/fluid-multi-select/fluid-multi-select.js.map +1 -1
- package/es/components/fluid-multi-select/fluid-multi-select.scss.js +1 -1
- package/es/components/fluid-number-input/fluid-number-input-skeleton.js +1 -1
- package/es/components/fluid-number-input/fluid-number-input-skeleton.js.map +1 -1
- package/es/components/fluid-number-input/fluid-number-input.js +1 -1
- package/es/components/fluid-number-input/fluid-number-input.js.map +1 -1
- package/es/components/fluid-password-input/fluid-password-input.js +1 -1
- package/es/components/fluid-password-input/fluid-password-input.js.map +1 -1
- package/es/components/fluid-search/fluid-search-skeleton.js +1 -1
- package/es/components/fluid-search/fluid-search-skeleton.js.map +1 -1
- package/es/components/fluid-search/fluid-search.js +1 -1
- package/es/components/fluid-search/fluid-search.js.map +1 -1
- package/es/components/fluid-select/fluid-select-skeleton.js +1 -1
- package/es/components/fluid-select/fluid-select-skeleton.js.map +1 -1
- package/es/components/fluid-select/fluid-select.js +1 -1
- package/es/components/fluid-select/fluid-select.js.map +1 -1
- package/es/components/fluid-text-input/fluid-text-input-skeleton.js +1 -1
- package/es/components/fluid-text-input/fluid-text-input-skeleton.js.map +1 -1
- package/es/components/fluid-text-input/fluid-text-input.js +1 -1
- package/es/components/fluid-text-input/fluid-text-input.js.map +1 -1
- package/es/components/fluid-textarea/fluid-textarea-skeleton.js +1 -1
- package/es/components/fluid-textarea/fluid-textarea-skeleton.js.map +1 -1
- package/es/components/fluid-textarea/fluid-textarea.js +1 -1
- package/es/components/fluid-textarea/fluid-textarea.js.map +1 -1
- package/es/components/fluid-time-picker/fluid-time-picker-select.js +1 -1
- 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 +1 -1
- package/es/components/fluid-time-picker/fluid-time-picker-skeleton.js.map +1 -1
- package/es/components/fluid-time-picker/fluid-time-picker.js +1 -1
- package/es/components/fluid-time-picker/fluid-time-picker.js.map +1 -1
- package/es/components/form/form-item.js +1 -1
- package/es/components/form/form-item.js.map +1 -1
- package/es/components/form/form.js +1 -1
- package/es/components/form/form.js.map +1 -1
- package/es/components/form-group/form-group.js +1 -1
- package/es/components/form-group/form-group.js.map +1 -1
- package/es/components/grid/column-hang.js +1 -1
- package/es/components/grid/column-hang.js.map +1 -1
- package/es/components/grid/column.js +1 -1
- package/es/components/grid/column.js.map +1 -1
- package/es/components/grid/defs.js.map +1 -1
- package/es/components/grid/grid-context.js.map +1 -1
- package/es/components/grid/grid.js +1 -1
- package/es/components/grid/grid.js.map +1 -1
- package/es/components/heading/heading.js +1 -1
- package/es/components/heading/heading.js.map +1 -1
- package/es/components/icon/icon.js +1 -1
- package/es/components/icon/icon.js.map +1 -1
- package/es/components/icon-button/defs.js.map +1 -1
- package/es/components/icon-button/icon-button.js +1 -1
- package/es/components/icon-button/icon-button.js.map +1 -1
- package/es/components/icon-indicator/defs.js.map +1 -1
- package/es/components/icon-indicator/icon-indicator.js +1 -1
- package/es/components/icon-indicator/icon-indicator.js.map +1 -1
- package/es/components/inline-loading/defs.js.map +1 -1
- package/es/components/inline-loading/inline-loading.js +1 -1
- package/es/components/inline-loading/inline-loading.js.map +1 -1
- package/es/components/layer/layer.js +1 -1
- package/es/components/layer/layer.js.map +1 -1
- package/es/components/layout/layout-constraint.js +1 -1
- package/es/components/layout/layout-constraint.js.map +1 -1
- package/es/components/layout/layout.js +1 -1
- package/es/components/layout/layout.js.map +1 -1
- package/es/components/link/link.d.ts +1 -1
- package/es/components/link/link.js +1 -1
- package/es/components/link/link.js.map +1 -1
- package/es/components/link/link.scss.js +1 -1
- package/es/components/list/list-item.js +1 -1
- package/es/components/list/list-item.js.map +1 -1
- package/es/components/list/ordered-list.js +1 -1
- package/es/components/list/ordered-list.js.map +1 -1
- package/es/components/list/unordered-list.js +1 -1
- package/es/components/list/unordered-list.js.map +1 -1
- package/es/components/loading/defs.js.map +1 -1
- package/es/components/loading/loading-icon.js.map +1 -1
- package/es/components/loading/loading.js +1 -1
- package/es/components/loading/loading.js.map +1 -1
- package/es/components/menu/defs.js.map +1 -1
- package/es/components/menu/menu-context.js.map +1 -1
- package/es/components/menu/menu-item-divider.js +1 -1
- package/es/components/menu/menu-item-divider.js.map +1 -1
- package/es/components/menu/menu-item-group.js +1 -1
- package/es/components/menu/menu-item-group.js.map +1 -1
- package/es/components/menu/menu-item-radio-group.js +1 -1
- package/es/components/menu/menu-item-radio-group.js.map +1 -1
- package/es/components/menu/menu-item-selectable.d.ts +4 -0
- package/es/components/menu/menu-item-selectable.d.ts.map +1 -1
- package/es/components/menu/menu-item-selectable.js +4 -4
- package/es/components/menu/menu-item-selectable.js.map +1 -1
- package/es/components/menu/menu-item.js +1 -1
- package/es/components/menu/menu-item.js.map +1 -1
- package/es/components/menu/menu.d.ts +14 -6
- package/es/components/menu/menu.d.ts.map +1 -1
- package/es/components/menu/menu.js +9 -7
- package/es/components/menu/menu.js.map +1 -1
- package/es/components/menu-button/defs.js.map +1 -1
- package/es/components/menu-button/menu-button.js +1 -1
- package/es/components/menu-button/menu-button.js.map +1 -1
- package/es/components/menu-button/menu-button.scss.js +1 -1
- package/es/components/modal/defs.js.map +1 -1
- package/es/components/modal/modal-base.js +1 -1
- package/es/components/modal/modal-base.js.map +1 -1
- package/es/components/modal/modal-body-content.js +1 -1
- package/es/components/modal/modal-body-content.js.map +1 -1
- package/es/components/modal/modal-body.js +1 -1
- package/es/components/modal/modal-body.js.map +1 -1
- package/es/components/modal/modal-close-button.js +1 -1
- package/es/components/modal/modal-close-button.js.map +1 -1
- package/es/components/modal/modal-footer-button.js +1 -1
- package/es/components/modal/modal-footer-button.js.map +1 -1
- package/es/components/modal/modal-footer.js +1 -1
- package/es/components/modal/modal-footer.js.map +1 -1
- package/es/components/modal/modal-header.js +1 -1
- package/es/components/modal/modal-header.js.map +1 -1
- package/es/components/modal/modal-heading.js +1 -1
- package/es/components/modal/modal-heading.js.map +1 -1
- package/es/components/modal/modal-label.js +1 -1
- package/es/components/modal/modal-label.js.map +1 -1
- package/es/components/modal/modal.js +1 -1
- package/es/components/modal/modal.js.map +1 -1
- package/es/components/multi-select/defs.js.map +1 -1
- package/es/components/multi-select/multi-select-item.js +1 -1
- package/es/components/multi-select/multi-select-item.js.map +1 -1
- package/es/components/multi-select/multi-select.js +1 -1
- package/es/components/multi-select/multi-select.js.map +1 -1
- package/es/components/multi-select/multi-select.scss.js +1 -1
- package/es/components/notification/actionable-notification-button.js +1 -1
- package/es/components/notification/actionable-notification-button.js.map +1 -1
- package/es/components/notification/actionable-notification.js +1 -1
- package/es/components/notification/actionable-notification.js.map +1 -1
- package/es/components/notification/callout-notification.js +1 -1
- package/es/components/notification/callout-notification.js.map +1 -1
- package/es/components/notification/defs.js.map +1 -1
- package/es/components/notification/inline-notification.js +1 -1
- package/es/components/notification/inline-notification.js.map +1 -1
- package/es/components/notification/stories/helper.js.map +1 -1
- package/es/components/notification/toast-notification.js +1 -1
- package/es/components/notification/toast-notification.js.map +1 -1
- package/es/components/number-input/defs.js.map +1 -1
- package/es/components/number-input/number-input-skeleton.js +1 -1
- package/es/components/number-input/number-input-skeleton.js.map +1 -1
- package/es/components/number-input/number-input.js +1 -1
- package/es/components/number-input/number-input.js.map +1 -1
- package/es/components/overflow-menu/defs.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu-body.js +1 -1
- package/es/components/overflow-menu/overflow-menu-body.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu-item.js +1 -1
- package/es/components/overflow-menu/overflow-menu-item.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu.js +1 -1
- package/es/components/overflow-menu/overflow-menu.js.map +1 -1
- package/es/components/page-header/page-header-breadcrumb.js +1 -1
- package/es/components/page-header/page-header-breadcrumb.js.map +1 -1
- package/es/components/page-header/page-header-content-text.js +1 -1
- package/es/components/page-header/page-header-content-text.js.map +1 -1
- package/es/components/page-header/page-header-content.js +1 -1
- package/es/components/page-header/page-header-content.js.map +1 -1
- package/es/components/page-header/page-header-hero-image.js +1 -1
- package/es/components/page-header/page-header-hero-image.js.map +1 -1
- package/es/components/page-header/page-header-tabs.js +1 -1
- package/es/components/page-header/page-header-tabs.js.map +1 -1
- package/es/components/page-header/page-header.js +1 -1
- package/es/components/page-header/page-header.js.map +1 -1
- package/es/components/pagination/defs.js.map +1 -1
- package/es/components/pagination/pagination.d.ts +3 -0
- package/es/components/pagination/pagination.d.ts.map +1 -1
- package/es/components/pagination/pagination.js +18 -23
- package/es/components/pagination/pagination.js.map +1 -1
- package/es/components/pagination-nav/defs.js.map +1 -1
- package/es/components/pagination-nav/pagination-nav.js +1 -1
- package/es/components/pagination-nav/pagination-nav.js.map +1 -1
- package/es/components/password-input/defs.js.map +1 -1
- package/es/components/password-input/password-input-skeleton.js +1 -1
- package/es/components/password-input/password-input-skeleton.js.map +1 -1
- package/es/components/password-input/password-input.js +1 -1
- package/es/components/password-input/password-input.js.map +1 -1
- package/es/components/popover/defs.js.map +1 -1
- package/es/components/popover/popover-content.js +1 -1
- package/es/components/popover/popover-content.js.map +1 -1
- package/es/components/popover/popover.d.ts +5 -0
- package/es/components/popover/popover.d.ts.map +1 -1
- package/es/components/popover/popover.js +23 -2
- package/es/components/popover/popover.js.map +1 -1
- package/es/components/progress-bar/defs.js.map +1 -1
- package/es/components/progress-bar/progress-bar.js +1 -1
- package/es/components/progress-bar/progress-bar.js.map +1 -1
- package/es/components/progress-indicator/defs.js.map +1 -1
- package/es/components/progress-indicator/progress-indicator-skeleton.js +1 -1
- package/es/components/progress-indicator/progress-indicator-skeleton.js.map +1 -1
- package/es/components/progress-indicator/progress-indicator.js +1 -1
- package/es/components/progress-indicator/progress-indicator.js.map +1 -1
- package/es/components/progress-indicator/progress-step-skeleton.js +1 -1
- package/es/components/progress-indicator/progress-step-skeleton.js.map +1 -1
- package/es/components/progress-indicator/progress-step.js +1 -1
- package/es/components/progress-indicator/progress-step.js.map +1 -1
- package/es/components/radio-button/defs.js.map +1 -1
- package/es/components/radio-button/radio-button-group.d.ts +3 -0
- package/es/components/radio-button/radio-button-group.d.ts.map +1 -1
- package/es/components/radio-button/radio-button-group.js +22 -5
- package/es/components/radio-button/radio-button-group.js.map +1 -1
- package/es/components/radio-button/radio-button-skeleton.js +1 -1
- package/es/components/radio-button/radio-button-skeleton.js.map +1 -1
- package/es/components/radio-button/radio-button.js +1 -1
- package/es/components/radio-button/radio-button.js.map +1 -1
- package/es/components/search/defs.js.map +1 -1
- package/es/components/search/search-skeleton.js +1 -1
- package/es/components/search/search-skeleton.js.map +1 -1
- package/es/components/search/search.js +1 -1
- package/es/components/search/search.js.map +1 -1
- package/es/components/select/select-item-group.js +1 -1
- package/es/components/select/select-item-group.js.map +1 -1
- package/es/components/select/select-item.js +1 -1
- package/es/components/select/select-item.js.map +1 -1
- package/es/components/select/select-skeleton.js +1 -1
- package/es/components/select/select-skeleton.js.map +1 -1
- package/es/components/select/select.js +1 -1
- package/es/components/select/select.js.map +1 -1
- package/es/components/shape-indicator/defs.js.map +1 -1
- package/es/components/shape-indicator/shape-indicator.js +1 -1
- package/es/components/shape-indicator/shape-indicator.js.map +1 -1
- package/es/components/side-panel/defs.js.map +1 -1
- package/es/components/side-panel/side-panel.js +1 -1
- package/es/components/side-panel/side-panel.js.map +1 -1
- package/es/components/skeleton-icon/skeleton-icon.js +1 -1
- package/es/components/skeleton-icon/skeleton-icon.js.map +1 -1
- package/es/components/skeleton-placeholder/skeleton-placeholder.js +1 -1
- package/es/components/skeleton-placeholder/skeleton-placeholder.js.map +1 -1
- package/es/components/skeleton-text/defs.js.map +1 -1
- package/es/components/skeleton-text/skeleton-text.js +1 -1
- package/es/components/skeleton-text/skeleton-text.js.map +1 -1
- package/es/components/skip-to-content/skip-to-content.js +1 -1
- package/es/components/skip-to-content/skip-to-content.js.map +1 -1
- package/es/components/slider/slider-input.js +1 -1
- package/es/components/slider/slider-input.js.map +1 -1
- package/es/components/slider/slider-skeleton.js +1 -1
- package/es/components/slider/slider-skeleton.js.map +1 -1
- package/es/components/slider/slider.js +1 -1
- package/es/components/slider/slider.js.map +1 -1
- package/es/components/slug/defs.js.map +1 -1
- package/es/components/slug/slug-action-button.js +1 -1
- package/es/components/slug/slug-action-button.js.map +1 -1
- package/es/components/slug/slug.js +1 -1
- package/es/components/slug/slug.js.map +1 -1
- package/es/components/stack/defs.js.map +1 -1
- package/es/components/stack/stack.js +1 -1
- package/es/components/stack/stack.js.map +1 -1
- package/es/components/structured-list/structured-list-body.js +1 -1
- package/es/components/structured-list/structured-list-body.js.map +1 -1
- package/es/components/structured-list/structured-list-cell.js +1 -1
- package/es/components/structured-list/structured-list-cell.js.map +1 -1
- package/es/components/structured-list/structured-list-head.js +1 -1
- package/es/components/structured-list/structured-list-head.js.map +1 -1
- package/es/components/structured-list/structured-list-header-cell-skeleton.js +1 -1
- package/es/components/structured-list/structured-list-header-cell-skeleton.js.map +1 -1
- package/es/components/structured-list/structured-list-header-cell.js +1 -1
- package/es/components/structured-list/structured-list-header-cell.js.map +1 -1
- package/es/components/structured-list/structured-list-header-row.js +1 -1
- package/es/components/structured-list/structured-list-header-row.js.map +1 -1
- package/es/components/structured-list/structured-list-row.js +1 -1
- package/es/components/structured-list/structured-list-row.js.map +1 -1
- package/es/components/structured-list/structured-list.js +1 -1
- package/es/components/structured-list/structured-list.js.map +1 -1
- package/es/components/tabs/defs.d.ts +5 -1
- package/es/components/tabs/defs.d.ts.map +1 -1
- package/es/components/tabs/defs.js +4 -0
- package/es/components/tabs/defs.js.map +1 -1
- package/es/components/tabs/stories/tabs-wrapper.d.ts.map +1 -1
- package/es/components/tabs/stories/tabs-wrapper.js +3 -2
- package/es/components/tabs/stories/tabs-wrapper.js.map +1 -1
- package/es/components/tabs/tab-skeleton.js +1 -1
- package/es/components/tabs/tab-skeleton.js.map +1 -1
- package/es/components/tabs/tab.js +1 -1
- package/es/components/tabs/tab.js.map +1 -1
- package/es/components/tabs/tabs-skeleton.js +1 -1
- package/es/components/tabs/tabs-skeleton.js.map +1 -1
- package/es/components/tabs/tabs-vertical.d.ts.map +1 -1
- package/es/components/tabs/tabs-vertical.js +3 -1
- package/es/components/tabs/tabs-vertical.js.map +1 -1
- package/es/components/tabs/tabs.d.ts +8 -0
- package/es/components/tabs/tabs.d.ts.map +1 -1
- package/es/components/tabs/tabs.js +5 -3
- package/es/components/tabs/tabs.js.map +1 -1
- package/es/components/tabs/tabs.scss.js +1 -1
- package/es/components/tabs/tabs.scss.js.map +1 -1
- package/es/components/tag/defs.js.map +1 -1
- package/es/components/tag/dismissible-tag.js +1 -1
- package/es/components/tag/dismissible-tag.js.map +1 -1
- package/es/components/tag/operational-tag.js +1 -1
- package/es/components/tag/operational-tag.js.map +1 -1
- package/es/components/tag/selectable-tag.js +1 -1
- package/es/components/tag/selectable-tag.js.map +1 -1
- package/es/components/tag/tag-skeleton.js +1 -1
- package/es/components/tag/tag-skeleton.js.map +1 -1
- package/es/components/tag/tag.js +1 -1
- package/es/components/tag/tag.js.map +1 -1
- package/es/components/tearsheet/defs.js.map +1 -1
- package/es/components/tearsheet/tearsheet.js +1 -1
- package/es/components/tearsheet/tearsheet.js.map +1 -1
- package/es/components/text-input/defs.js.map +1 -1
- package/es/components/text-input/stories/helpers.js.map +1 -1
- package/es/components/text-input/text-input-skeleton.js +1 -1
- package/es/components/text-input/text-input-skeleton.js.map +1 -1
- package/es/components/text-input/text-input.js +1 -1
- package/es/components/text-input/text-input.js.map +1 -1
- package/es/components/textarea/stories/helpers.js.map +1 -1
- package/es/components/textarea/textarea-skeleton.js +1 -1
- package/es/components/textarea/textarea-skeleton.js.map +1 -1
- package/es/components/textarea/textarea.js +1 -1
- package/es/components/textarea/textarea.js.map +1 -1
- package/es/components/tile/clickable-tile.js +1 -1
- package/es/components/tile/clickable-tile.js.map +1 -1
- package/es/components/tile/expandable-tile.js +1 -1
- package/es/components/tile/expandable-tile.js.map +1 -1
- package/es/components/tile/radio-tile.js +1 -1
- package/es/components/tile/radio-tile.js.map +1 -1
- package/es/components/tile/selectable-tile.js +1 -1
- package/es/components/tile/selectable-tile.js.map +1 -1
- package/es/components/tile/tile-group.js +1 -1
- package/es/components/tile/tile-group.js.map +1 -1
- package/es/components/tile/tile.js +1 -1
- package/es/components/tile/tile.js.map +1 -1
- package/es/components/tile/tile.scss.js +1 -1
- package/es/components/time-picker/defs.js.map +1 -1
- package/es/components/time-picker/time-picker-select.js +1 -1
- 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/time-picker/time-picker.js.map +1 -1
- package/es/components/toggle/defs.js.map +1 -1
- package/es/components/toggle/toggle-skeleton.js +1 -1
- package/es/components/toggle/toggle-skeleton.js.map +1 -1
- package/es/components/toggle/toggle.js +1 -1
- package/es/components/toggle/toggle.js.map +1 -1
- package/es/components/toggle-tip/toggletip.js +1 -1
- package/es/components/toggle-tip/toggletip.js.map +1 -1
- package/es/components/tooltip/definition-tooltip.js +1 -1
- package/es/components/tooltip/definition-tooltip.js.map +1 -1
- package/es/components/tooltip/tooltip-content.js +1 -1
- package/es/components/tooltip/tooltip-content.js.map +1 -1
- package/es/components/tooltip/tooltip.js +1 -1
- package/es/components/tooltip/tooltip.js.map +1 -1
- package/es/components/tree-view/defs.js.map +1 -1
- package/es/components/tree-view/tree-node.js +1 -1
- package/es/components/tree-view/tree-node.js.map +1 -1
- package/es/components/tree-view/tree-view.js +1 -1
- package/es/components/tree-view/tree-view.js.map +1 -1
- package/es/components/ui-shell/defs.js.map +1 -1
- package/es/components/ui-shell/header-global-action.js +1 -1
- package/es/components/ui-shell/header-global-action.js.map +1 -1
- package/es/components/ui-shell/header-menu-button.js +1 -1
- package/es/components/ui-shell/header-menu-button.js.map +1 -1
- package/es/components/ui-shell/header-menu-item.js +1 -1
- package/es/components/ui-shell/header-menu-item.js.map +1 -1
- package/es/components/ui-shell/header-menu.js +1 -1
- package/es/components/ui-shell/header-menu.js.map +1 -1
- package/es/components/ui-shell/header-name.js +1 -1
- package/es/components/ui-shell/header-name.js.map +1 -1
- package/es/components/ui-shell/header-nav-item.js +1 -1
- package/es/components/ui-shell/header-nav-item.js.map +1 -1
- package/es/components/ui-shell/header-nav.js +1 -1
- package/es/components/ui-shell/header-nav.js.map +1 -1
- package/es/components/ui-shell/header-panel.js +1 -1
- package/es/components/ui-shell/header-panel.js.map +1 -1
- package/es/components/ui-shell/header-side-nav-items.js +1 -1
- package/es/components/ui-shell/header-side-nav-items.js.map +1 -1
- package/es/components/ui-shell/header.js +1 -1
- package/es/components/ui-shell/header.js.map +1 -1
- package/es/components/ui-shell/side-nav-divider.js +1 -1
- package/es/components/ui-shell/side-nav-divider.js.map +1 -1
- package/es/components/ui-shell/side-nav-items.js +1 -1
- package/es/components/ui-shell/side-nav-items.js.map +1 -1
- package/es/components/ui-shell/side-nav-link.js +1 -1
- package/es/components/ui-shell/side-nav-link.js.map +1 -1
- package/es/components/ui-shell/side-nav-menu-item.js +1 -1
- package/es/components/ui-shell/side-nav-menu-item.js.map +1 -1
- package/es/components/ui-shell/side-nav-menu.js +1 -1
- package/es/components/ui-shell/side-nav-menu.js.map +1 -1
- package/es/components/ui-shell/side-nav.js +1 -1
- package/es/components/ui-shell/side-nav.js.map +1 -1
- package/es/components/ui-shell/switcher-divider.js +1 -1
- package/es/components/ui-shell/switcher-divider.js.map +1 -1
- package/es/components/ui-shell/switcher-item.js +1 -1
- package/es/components/ui-shell/switcher-item.js.map +1 -1
- package/es/components/ui-shell/switcher.js +1 -1
- package/es/components/ui-shell/switcher.js.map +1 -1
- package/es/globals/controllers/floating-controller.js.map +1 -1
- package/es/globals/decorators/carbon-element.js.map +1 -1
- package/es/globals/decorators/host-listener.js.map +1 -1
- package/es/globals/directives/if-non-empty.js.map +1 -1
- package/es/globals/directives/spread.js.map +1 -1
- package/es/globals/internal/collection-helpers.js.map +1 -1
- package/es/globals/internal/deep-shadow-contains.js.map +1 -1
- package/es/globals/internal/icon-loader-utils.js.map +1 -1
- package/es/globals/internal/icon-loader.js.map +1 -1
- package/es/globals/internal/radio-group-manager.js.map +1 -1
- package/es/globals/mixins/focus.js.map +1 -1
- package/es/globals/mixins/form.js.map +1 -1
- package/es/globals/mixins/host-listener.js.map +1 -1
- package/es/globals/mixins/on.js.map +1 -1
- package/es/globals/mixins/validity.js.map +1 -1
- package/es/globals/shared-enums.js.map +1 -1
- package/es/node_modules/flatpickr/dist/esm/index.js.map +1 -1
- package/es/node_modules/flatpickr/dist/esm/l10n/default.js.map +1 -1
- package/es/node_modules/flatpickr/dist/esm/plugins/rangePlugin.js.map +1 -1
- package/es/node_modules/flatpickr/dist/esm/types/options.js.map +1 -1
- package/es/node_modules/flatpickr/dist/esm/utils/dates.js.map +1 -1
- package/es/node_modules/flatpickr/dist/esm/utils/dom.js.map +1 -1
- package/es/node_modules/flatpickr/dist/esm/utils/formatting.js.map +1 -1
- package/es/node_modules/flatpickr/dist/esm/utils/index.js.map +1 -1
- package/es/node_modules/flatpickr/dist/esm/utils/polyfills.js.map +1 -1
- package/es/packages/feature-flags/es/index.js.map +1 -1
- package/es-custom/_virtual/{_@oxc-project_runtime@0.126.0/helpers → _@oxc-project_runtime@0.135.0/helpers/esm}/decorate.js +1 -1
- package/es-custom/components/accordion/accordion-item-skeleton.js +1 -1
- package/es-custom/components/accordion/accordion-item-skeleton.js.map +1 -1
- package/es-custom/components/accordion/accordion-item.js +1 -1
- package/es-custom/components/accordion/accordion-item.js.map +1 -1
- package/es-custom/components/accordion/accordion-skeleton.js +1 -1
- package/es-custom/components/accordion/accordion-skeleton.js.map +1 -1
- package/es-custom/components/accordion/accordion.js +1 -1
- package/es-custom/components/accordion/accordion.js.map +1 -1
- package/es-custom/components/accordion/defs.js.map +1 -1
- package/es-custom/components/ai-label/ai-label-action-button.js +1 -1
- package/es-custom/components/ai-label/ai-label-action-button.js.map +1 -1
- package/es-custom/components/ai-label/ai-label.js +1 -1
- package/es-custom/components/ai-label/ai-label.js.map +1 -1
- package/es-custom/components/ai-label/defs.js.map +1 -1
- package/es-custom/components/ai-skeleton/ai-skeleton-icon.js +1 -1
- package/es-custom/components/ai-skeleton/ai-skeleton-icon.js.map +1 -1
- package/es-custom/components/ai-skeleton/ai-skeleton-placeholder.js +1 -1
- package/es-custom/components/ai-skeleton/ai-skeleton-placeholder.js.map +1 -1
- package/es-custom/components/ai-skeleton/ai-skeleton-text.js +1 -1
- package/es-custom/components/ai-skeleton/ai-skeleton-text.js.map +1 -1
- package/es-custom/components/badge-indicator/badge-indicator.js +1 -1
- package/es-custom/components/badge-indicator/badge-indicator.js.map +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-item.js +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-item.js.map +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-link.js +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-link.js.map +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-overflow-menu.js +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-overflow-menu.js.map +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-skeleton.js +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-skeleton.js.map +1 -1
- package/es-custom/components/breadcrumb/breadcrumb.js +1 -1
- package/es-custom/components/breadcrumb/breadcrumb.js.map +1 -1
- package/es-custom/components/breadcrumb/breadcrumb.scss.js +1 -1
- package/es-custom/components/breadcrumb/defs.js.map +1 -1
- package/es-custom/components/button/button-set-base.js +1 -1
- package/es-custom/components/button/button-set-base.js.map +1 -1
- package/es-custom/components/button/button-set.js +1 -1
- package/es-custom/components/button/button-set.js.map +1 -1
- package/es-custom/components/button/button-skeleton.js +1 -1
- package/es-custom/components/button/button-skeleton.js.map +1 -1
- package/es-custom/components/button/button.js +1 -1
- package/es-custom/components/button/button.js.map +1 -1
- package/es-custom/components/button/defs.js.map +1 -1
- package/es-custom/components/chat-button/chat-button-skeleton.js +1 -1
- package/es-custom/components/chat-button/chat-button-skeleton.js.map +1 -1
- package/es-custom/components/chat-button/chat-button.js +1 -1
- package/es-custom/components/chat-button/chat-button.js.map +1 -1
- package/es-custom/components/chat-button/defs.js.map +1 -1
- package/es-custom/components/checkbox/checkbox-group.js +1 -1
- package/es-custom/components/checkbox/checkbox-group.js.map +1 -1
- package/es-custom/components/checkbox/checkbox-skeleton.js +1 -1
- package/es-custom/components/checkbox/checkbox-skeleton.js.map +1 -1
- package/es-custom/components/checkbox/checkbox.js +1 -1
- package/es-custom/components/checkbox/checkbox.js.map +1 -1
- package/es-custom/components/checkbox/defs.js.map +1 -1
- package/es-custom/components/code-snippet/code-snippet-skeleton.js +1 -1
- package/es-custom/components/code-snippet/code-snippet-skeleton.js.map +1 -1
- package/es-custom/components/code-snippet/code-snippet.js +1 -1
- package/es-custom/components/code-snippet/code-snippet.js.map +1 -1
- package/es-custom/components/code-snippet/defs.js.map +1 -1
- package/es-custom/components/combo-box/combo-box-item.js +1 -1
- package/es-custom/components/combo-box/combo-box-item.js.map +1 -1
- package/es-custom/components/combo-box/combo-box.js +1 -1
- package/es-custom/components/combo-box/combo-box.js.map +1 -1
- package/es-custom/components/combo-button/combo-button.js +1 -1
- package/es-custom/components/combo-button/combo-button.js.map +1 -1
- package/es-custom/components/combo-button/defs.js.map +1 -1
- package/es-custom/components/contained-list/contained-list-description.js +1 -1
- package/es-custom/components/contained-list/contained-list-description.js.map +1 -1
- package/es-custom/components/contained-list/contained-list-item.js +1 -1
- package/es-custom/components/contained-list/contained-list-item.js.map +1 -1
- package/es-custom/components/contained-list/contained-list.js +1 -1
- package/es-custom/components/contained-list/contained-list.js.map +1 -1
- package/es-custom/components/content-switcher/content-switcher-item.js +1 -1
- package/es-custom/components/content-switcher/content-switcher-item.js.map +1 -1
- package/es-custom/components/content-switcher/content-switcher.js +1 -1
- package/es-custom/components/content-switcher/content-switcher.js.map +1 -1
- package/es-custom/components/content-switcher/defs.js.map +1 -1
- package/es-custom/components/copy/copy.js +1 -1
- package/es-custom/components/copy/copy.js.map +1 -1
- package/es-custom/components/copy-button/copy-button.js +1 -1
- package/es-custom/components/copy-button/copy-button.js.map +1 -1
- package/es-custom/components/data-table/data-table.scss.js +1 -1
- package/es-custom/components/data-table/defs.js.map +1 -1
- package/es-custom/components/data-table/table-batch-actions.js +1 -1
- package/es-custom/components/data-table/table-batch-actions.js.map +1 -1
- package/es-custom/components/data-table/table-body.js +1 -1
- package/es-custom/components/data-table/table-body.js.map +1 -1
- package/es-custom/components/data-table/table-cell-content.js +1 -1
- package/es-custom/components/data-table/table-cell-content.js.map +1 -1
- package/es-custom/components/data-table/table-cell.js +1 -1
- package/es-custom/components/data-table/table-cell.js.map +1 -1
- package/es-custom/components/data-table/table-expanded-row.js +1 -1
- package/es-custom/components/data-table/table-expanded-row.js.map +1 -1
- package/es-custom/components/data-table/table-head.js +1 -1
- package/es-custom/components/data-table/table-head.js.map +1 -1
- package/es-custom/components/data-table/table-header-cell.js +1 -1
- package/es-custom/components/data-table/table-header-cell.js.map +1 -1
- package/es-custom/components/data-table/table-header-description.js +1 -1
- package/es-custom/components/data-table/table-header-description.js.map +1 -1
- package/es-custom/components/data-table/table-header-row.js +1 -1
- package/es-custom/components/data-table/table-header-row.js.map +1 -1
- package/es-custom/components/data-table/table-header-title.js +1 -1
- 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-row.js.map +1 -1
- package/es-custom/components/data-table/table-skeleton.js +1 -1
- package/es-custom/components/data-table/table-skeleton.js.map +1 -1
- package/es-custom/components/data-table/table-toolbar-content.js +1 -1
- package/es-custom/components/data-table/table-toolbar-content.js.map +1 -1
- package/es-custom/components/data-table/table-toolbar-search.js +1 -1
- package/es-custom/components/data-table/table-toolbar-search.js.map +1 -1
- package/es-custom/components/data-table/table-toolbar.js +1 -1
- package/es-custom/components/data-table/table-toolbar.js.map +1 -1
- package/es-custom/components/data-table/table.js +1 -1
- package/es-custom/components/data-table/table.js.map +1 -1
- package/es-custom/components/date-picker/append-to-plugin.js.map +1 -1
- package/es-custom/components/date-picker/css-class-plugin.js.map +1 -1
- package/es-custom/components/date-picker/date-picker-input-skeleton.js +1 -1
- 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-input.js.map +1 -1
- package/es-custom/components/date-picker/date-picker.js +1 -1
- package/es-custom/components/date-picker/date-picker.js.map +1 -1
- package/es-custom/components/date-picker/defs.js.map +1 -1
- package/es-custom/components/date-picker/fix-events-plugin.js.map +1 -1
- package/es-custom/components/date-picker/focus-plugin.js.map +1 -1
- package/es-custom/components/date-picker/icon-plugin.js.map +1 -1
- package/es-custom/components/date-picker/iso-date.js.map +1 -1
- package/es-custom/components/date-picker/month-select-plugin.js.map +1 -1
- package/es-custom/components/date-picker/range-plugin.js.map +1 -1
- package/es-custom/components/date-picker/shadow-dom-events-plugin.js.map +1 -1
- package/es-custom/components/date-picker/state-handshake-plugin.js.map +1 -1
- package/es-custom/components/dialog/dialog-body.js +1 -1
- package/es-custom/components/dialog/dialog-body.js.map +1 -1
- package/es-custom/components/dialog/dialog-close-button.js +1 -1
- package/es-custom/components/dialog/dialog-close-button.js.map +1 -1
- package/es-custom/components/dialog/dialog-controls.js +1 -1
- package/es-custom/components/dialog/dialog-controls.js.map +1 -1
- package/es-custom/components/dialog/dialog-footer-button.js +1 -1
- package/es-custom/components/dialog/dialog-footer-button.js.map +1 -1
- package/es-custom/components/dialog/dialog-footer.js +1 -1
- package/es-custom/components/dialog/dialog-footer.js.map +1 -1
- package/es-custom/components/dialog/dialog-header.js +1 -1
- package/es-custom/components/dialog/dialog-header.js.map +1 -1
- package/es-custom/components/dialog/dialog-subtitle.js +1 -1
- package/es-custom/components/dialog/dialog-subtitle.js.map +1 -1
- package/es-custom/components/dialog/dialog-title.js +1 -1
- package/es-custom/components/dialog/dialog-title.js.map +1 -1
- package/es-custom/components/dialog/dialog.js +1 -1
- package/es-custom/components/dialog/dialog.js.map +1 -1
- package/es-custom/components/dropdown/defs.js.map +1 -1
- package/es-custom/components/dropdown/dropdown-item.js +1 -1
- package/es-custom/components/dropdown/dropdown-item.js.map +1 -1
- package/es-custom/components/dropdown/dropdown-skeleton.js +1 -1
- package/es-custom/components/dropdown/dropdown-skeleton.js.map +1 -1
- package/es-custom/components/dropdown/dropdown.js +1 -1
- package/es-custom/components/dropdown/dropdown.js.map +1 -1
- package/es-custom/components/feature-flags/index.js +1 -1
- package/es-custom/components/feature-flags/index.js.map +1 -1
- package/es-custom/components/file-uploader/defs.js.map +1 -1
- package/es-custom/components/file-uploader/demo-file-uploader.js +1 -1
- package/es-custom/components/file-uploader/demo-file-uploader.js.map +1 -1
- package/es-custom/components/file-uploader/file-uploader-button.js +1 -1
- package/es-custom/components/file-uploader/file-uploader-button.js.map +1 -1
- package/es-custom/components/file-uploader/file-uploader-drop-container.js +1 -1
- package/es-custom/components/file-uploader/file-uploader-drop-container.js.map +1 -1
- package/es-custom/components/file-uploader/file-uploader-item.js +1 -1
- package/es-custom/components/file-uploader/file-uploader-item.js.map +1 -1
- package/es-custom/components/file-uploader/file-uploader-skeleton.js +1 -1
- package/es-custom/components/file-uploader/file-uploader-skeleton.js.map +1 -1
- package/es-custom/components/file-uploader/file-uploader.js +1 -1
- package/es-custom/components/file-uploader/file-uploader.js.map +1 -1
- package/es-custom/components/floating-menu/defs.js.map +1 -1
- package/es-custom/components/floating-menu/floating-menu.js +1 -1
- package/es-custom/components/floating-menu/floating-menu.js.map +1 -1
- package/es-custom/components/fluid-combo-box/fluid-combo-box-skeleton.js +1 -1
- package/es-custom/components/fluid-combo-box/fluid-combo-box-skeleton.js.map +1 -1
- package/es-custom/components/fluid-combo-box/fluid-combo-box.js +1 -1
- package/es-custom/components/fluid-combo-box/fluid-combo-box.js.map +1 -1
- package/es-custom/components/fluid-dropdown/fluid-dropdown-skeleton.js +1 -1
- package/es-custom/components/fluid-dropdown/fluid-dropdown-skeleton.js.map +1 -1
- package/es-custom/components/fluid-dropdown/fluid-dropdown.js +1 -1
- package/es-custom/components/fluid-dropdown/fluid-dropdown.js.map +1 -1
- package/es-custom/components/fluid-form/fluid-form.js +1 -1
- package/es-custom/components/fluid-form/fluid-form.js.map +1 -1
- package/es-custom/components/fluid-multi-select/fluid-multi-select-skeleton.js +1 -1
- package/es-custom/components/fluid-multi-select/fluid-multi-select-skeleton.js.map +1 -1
- package/es-custom/components/fluid-multi-select/fluid-multi-select.js +1 -1
- package/es-custom/components/fluid-multi-select/fluid-multi-select.js.map +1 -1
- package/es-custom/components/fluid-multi-select/fluid-multi-select.scss.js +1 -1
- package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.js +1 -1
- 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 +1 -1
- package/es-custom/components/fluid-number-input/fluid-number-input.js.map +1 -1
- package/es-custom/components/fluid-password-input/fluid-password-input.js +1 -1
- package/es-custom/components/fluid-password-input/fluid-password-input.js.map +1 -1
- package/es-custom/components/fluid-search/fluid-search-skeleton.js +1 -1
- package/es-custom/components/fluid-search/fluid-search-skeleton.js.map +1 -1
- package/es-custom/components/fluid-search/fluid-search.js +1 -1
- package/es-custom/components/fluid-search/fluid-search.js.map +1 -1
- package/es-custom/components/fluid-select/fluid-select-skeleton.js +1 -1
- package/es-custom/components/fluid-select/fluid-select-skeleton.js.map +1 -1
- package/es-custom/components/fluid-select/fluid-select.js +1 -1
- package/es-custom/components/fluid-select/fluid-select.js.map +1 -1
- package/es-custom/components/fluid-text-input/fluid-text-input-skeleton.js +1 -1
- 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 +1 -1
- package/es-custom/components/fluid-text-input/fluid-text-input.js.map +1 -1
- package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.js +1 -1
- package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.js.map +1 -1
- package/es-custom/components/fluid-textarea/fluid-textarea.js +1 -1
- package/es-custom/components/fluid-textarea/fluid-textarea.js.map +1 -1
- package/es-custom/components/fluid-time-picker/fluid-time-picker-select.js +1 -1
- 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 +1 -1
- 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 +1 -1
- package/es-custom/components/fluid-time-picker/fluid-time-picker.js.map +1 -1
- package/es-custom/components/form/form-item.js +1 -1
- package/es-custom/components/form/form-item.js.map +1 -1
- package/es-custom/components/form/form.js +1 -1
- package/es-custom/components/form/form.js.map +1 -1
- package/es-custom/components/form-group/form-group.js +1 -1
- package/es-custom/components/form-group/form-group.js.map +1 -1
- package/es-custom/components/grid/column-hang.js +1 -1
- package/es-custom/components/grid/column-hang.js.map +1 -1
- package/es-custom/components/grid/column.js +1 -1
- package/es-custom/components/grid/column.js.map +1 -1
- package/es-custom/components/grid/defs.js.map +1 -1
- package/es-custom/components/grid/grid-context.js.map +1 -1
- package/es-custom/components/grid/grid.js +1 -1
- package/es-custom/components/grid/grid.js.map +1 -1
- package/es-custom/components/heading/heading.js +1 -1
- package/es-custom/components/heading/heading.js.map +1 -1
- package/es-custom/components/icon/icon.js +1 -1
- package/es-custom/components/icon/icon.js.map +1 -1
- package/es-custom/components/icon-button/defs.js.map +1 -1
- package/es-custom/components/icon-button/icon-button.js +1 -1
- package/es-custom/components/icon-button/icon-button.js.map +1 -1
- package/es-custom/components/icon-indicator/defs.js.map +1 -1
- package/es-custom/components/icon-indicator/icon-indicator.js +1 -1
- package/es-custom/components/icon-indicator/icon-indicator.js.map +1 -1
- package/es-custom/components/inline-loading/defs.js.map +1 -1
- package/es-custom/components/inline-loading/inline-loading.js +1 -1
- package/es-custom/components/inline-loading/inline-loading.js.map +1 -1
- package/es-custom/components/layer/layer.js +1 -1
- package/es-custom/components/layer/layer.js.map +1 -1
- package/es-custom/components/layout/layout-constraint.js +1 -1
- package/es-custom/components/layout/layout-constraint.js.map +1 -1
- package/es-custom/components/layout/layout.js +1 -1
- package/es-custom/components/layout/layout.js.map +1 -1
- package/es-custom/components/link/link.d.ts +1 -1
- package/es-custom/components/link/link.js +1 -1
- package/es-custom/components/link/link.js.map +1 -1
- package/es-custom/components/link/link.scss.js +1 -1
- package/es-custom/components/list/list-item.js +1 -1
- package/es-custom/components/list/list-item.js.map +1 -1
- package/es-custom/components/list/ordered-list.js +1 -1
- package/es-custom/components/list/ordered-list.js.map +1 -1
- package/es-custom/components/list/unordered-list.js +1 -1
- package/es-custom/components/list/unordered-list.js.map +1 -1
- package/es-custom/components/loading/defs.js.map +1 -1
- package/es-custom/components/loading/loading-icon.js.map +1 -1
- package/es-custom/components/loading/loading.js +1 -1
- package/es-custom/components/loading/loading.js.map +1 -1
- package/es-custom/components/menu/defs.js.map +1 -1
- package/es-custom/components/menu/menu-context.js.map +1 -1
- package/es-custom/components/menu/menu-item-divider.js +1 -1
- package/es-custom/components/menu/menu-item-divider.js.map +1 -1
- package/es-custom/components/menu/menu-item-group.js +1 -1
- package/es-custom/components/menu/menu-item-group.js.map +1 -1
- package/es-custom/components/menu/menu-item-radio-group.js +1 -1
- package/es-custom/components/menu/menu-item-radio-group.js.map +1 -1
- package/es-custom/components/menu/menu-item-selectable.d.ts +4 -0
- package/es-custom/components/menu/menu-item-selectable.d.ts.map +1 -1
- package/es-custom/components/menu/menu-item-selectable.js +4 -4
- package/es-custom/components/menu/menu-item-selectable.js.map +1 -1
- package/es-custom/components/menu/menu-item.js +1 -1
- package/es-custom/components/menu/menu-item.js.map +1 -1
- package/es-custom/components/menu/menu.d.ts +14 -6
- package/es-custom/components/menu/menu.d.ts.map +1 -1
- package/es-custom/components/menu/menu.js +9 -7
- package/es-custom/components/menu/menu.js.map +1 -1
- package/es-custom/components/menu-button/defs.js.map +1 -1
- package/es-custom/components/menu-button/menu-button.js +1 -1
- package/es-custom/components/menu-button/menu-button.js.map +1 -1
- package/es-custom/components/menu-button/menu-button.scss.js +1 -1
- package/es-custom/components/modal/defs.js.map +1 -1
- package/es-custom/components/modal/modal-base.js +1 -1
- package/es-custom/components/modal/modal-base.js.map +1 -1
- package/es-custom/components/modal/modal-body-content.js +1 -1
- package/es-custom/components/modal/modal-body-content.js.map +1 -1
- package/es-custom/components/modal/modal-body.js +1 -1
- package/es-custom/components/modal/modal-body.js.map +1 -1
- package/es-custom/components/modal/modal-close-button.js +1 -1
- package/es-custom/components/modal/modal-close-button.js.map +1 -1
- package/es-custom/components/modal/modal-footer-button.js +1 -1
- package/es-custom/components/modal/modal-footer-button.js.map +1 -1
- package/es-custom/components/modal/modal-footer.js +1 -1
- package/es-custom/components/modal/modal-footer.js.map +1 -1
- package/es-custom/components/modal/modal-header.js +1 -1
- package/es-custom/components/modal/modal-header.js.map +1 -1
- package/es-custom/components/modal/modal-heading.js +1 -1
- package/es-custom/components/modal/modal-heading.js.map +1 -1
- package/es-custom/components/modal/modal-label.js +1 -1
- package/es-custom/components/modal/modal-label.js.map +1 -1
- package/es-custom/components/modal/modal.js +1 -1
- package/es-custom/components/modal/modal.js.map +1 -1
- package/es-custom/components/multi-select/defs.js.map +1 -1
- package/es-custom/components/multi-select/multi-select-item.js +1 -1
- package/es-custom/components/multi-select/multi-select-item.js.map +1 -1
- package/es-custom/components/multi-select/multi-select.js +1 -1
- package/es-custom/components/multi-select/multi-select.js.map +1 -1
- package/es-custom/components/multi-select/multi-select.scss.js +1 -1
- package/es-custom/components/notification/actionable-notification-button.js +1 -1
- 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/actionable-notification.js.map +1 -1
- package/es-custom/components/notification/callout-notification.js +1 -1
- package/es-custom/components/notification/callout-notification.js.map +1 -1
- package/es-custom/components/notification/defs.js.map +1 -1
- package/es-custom/components/notification/inline-notification.js +1 -1
- package/es-custom/components/notification/inline-notification.js.map +1 -1
- package/es-custom/components/notification/stories/helper.js.map +1 -1
- package/es-custom/components/notification/toast-notification.js +1 -1
- package/es-custom/components/notification/toast-notification.js.map +1 -1
- package/es-custom/components/number-input/defs.js.map +1 -1
- package/es-custom/components/number-input/number-input-skeleton.js +1 -1
- package/es-custom/components/number-input/number-input-skeleton.js.map +1 -1
- package/es-custom/components/number-input/number-input.js +1 -1
- package/es-custom/components/number-input/number-input.js.map +1 -1
- package/es-custom/components/overflow-menu/defs.js.map +1 -1
- package/es-custom/components/overflow-menu/overflow-menu-body.js +1 -1
- package/es-custom/components/overflow-menu/overflow-menu-body.js.map +1 -1
- package/es-custom/components/overflow-menu/overflow-menu-item.js +1 -1
- package/es-custom/components/overflow-menu/overflow-menu-item.js.map +1 -1
- package/es-custom/components/overflow-menu/overflow-menu.js +1 -1
- package/es-custom/components/overflow-menu/overflow-menu.js.map +1 -1
- package/es-custom/components/page-header/page-header-breadcrumb.js +1 -1
- package/es-custom/components/page-header/page-header-breadcrumb.js.map +1 -1
- package/es-custom/components/page-header/page-header-content-text.js +1 -1
- package/es-custom/components/page-header/page-header-content-text.js.map +1 -1
- package/es-custom/components/page-header/page-header-content.js +1 -1
- package/es-custom/components/page-header/page-header-content.js.map +1 -1
- package/es-custom/components/page-header/page-header-hero-image.js +1 -1
- package/es-custom/components/page-header/page-header-hero-image.js.map +1 -1
- package/es-custom/components/page-header/page-header-tabs.js +1 -1
- package/es-custom/components/page-header/page-header-tabs.js.map +1 -1
- package/es-custom/components/page-header/page-header.js +1 -1
- package/es-custom/components/page-header/page-header.js.map +1 -1
- package/es-custom/components/pagination/defs.js.map +1 -1
- package/es-custom/components/pagination/pagination.d.ts +3 -0
- package/es-custom/components/pagination/pagination.d.ts.map +1 -1
- package/es-custom/components/pagination/pagination.js +18 -23
- package/es-custom/components/pagination/pagination.js.map +1 -1
- package/es-custom/components/pagination-nav/defs.js.map +1 -1
- package/es-custom/components/pagination-nav/pagination-nav.js +1 -1
- package/es-custom/components/pagination-nav/pagination-nav.js.map +1 -1
- package/es-custom/components/password-input/defs.js.map +1 -1
- package/es-custom/components/password-input/password-input-skeleton.js +1 -1
- package/es-custom/components/password-input/password-input-skeleton.js.map +1 -1
- package/es-custom/components/password-input/password-input.js +1 -1
- package/es-custom/components/password-input/password-input.js.map +1 -1
- package/es-custom/components/popover/defs.js.map +1 -1
- package/es-custom/components/popover/popover-content.js +1 -1
- package/es-custom/components/popover/popover-content.js.map +1 -1
- package/es-custom/components/popover/popover.d.ts +5 -0
- package/es-custom/components/popover/popover.d.ts.map +1 -1
- package/es-custom/components/popover/popover.js +23 -2
- package/es-custom/components/popover/popover.js.map +1 -1
- package/es-custom/components/progress-bar/defs.js.map +1 -1
- package/es-custom/components/progress-bar/progress-bar.js +1 -1
- package/es-custom/components/progress-bar/progress-bar.js.map +1 -1
- package/es-custom/components/progress-indicator/defs.js.map +1 -1
- package/es-custom/components/progress-indicator/progress-indicator-skeleton.js +1 -1
- package/es-custom/components/progress-indicator/progress-indicator-skeleton.js.map +1 -1
- package/es-custom/components/progress-indicator/progress-indicator.js +1 -1
- package/es-custom/components/progress-indicator/progress-indicator.js.map +1 -1
- package/es-custom/components/progress-indicator/progress-step-skeleton.js +1 -1
- package/es-custom/components/progress-indicator/progress-step-skeleton.js.map +1 -1
- package/es-custom/components/progress-indicator/progress-step.js +1 -1
- package/es-custom/components/progress-indicator/progress-step.js.map +1 -1
- package/es-custom/components/radio-button/defs.js.map +1 -1
- package/es-custom/components/radio-button/radio-button-group.d.ts +3 -0
- package/es-custom/components/radio-button/radio-button-group.d.ts.map +1 -1
- package/es-custom/components/radio-button/radio-button-group.js +22 -5
- package/es-custom/components/radio-button/radio-button-group.js.map +1 -1
- package/es-custom/components/radio-button/radio-button-skeleton.js +1 -1
- package/es-custom/components/radio-button/radio-button-skeleton.js.map +1 -1
- package/es-custom/components/radio-button/radio-button.js +1 -1
- package/es-custom/components/radio-button/radio-button.js.map +1 -1
- package/es-custom/components/search/defs.js.map +1 -1
- package/es-custom/components/search/search-skeleton.js +1 -1
- package/es-custom/components/search/search-skeleton.js.map +1 -1
- package/es-custom/components/search/search.js +1 -1
- package/es-custom/components/search/search.js.map +1 -1
- package/es-custom/components/select/select-item-group.js +1 -1
- package/es-custom/components/select/select-item-group.js.map +1 -1
- package/es-custom/components/select/select-item.js +1 -1
- package/es-custom/components/select/select-item.js.map +1 -1
- package/es-custom/components/select/select-skeleton.js +1 -1
- package/es-custom/components/select/select-skeleton.js.map +1 -1
- package/es-custom/components/select/select.js +1 -1
- package/es-custom/components/select/select.js.map +1 -1
- package/es-custom/components/shape-indicator/defs.js.map +1 -1
- package/es-custom/components/shape-indicator/shape-indicator.js +1 -1
- package/es-custom/components/shape-indicator/shape-indicator.js.map +1 -1
- package/es-custom/components/side-panel/defs.js.map +1 -1
- package/es-custom/components/side-panel/side-panel.js +1 -1
- package/es-custom/components/side-panel/side-panel.js.map +1 -1
- package/es-custom/components/skeleton-icon/skeleton-icon.js +1 -1
- package/es-custom/components/skeleton-icon/skeleton-icon.js.map +1 -1
- package/es-custom/components/skeleton-placeholder/skeleton-placeholder.js +1 -1
- package/es-custom/components/skeleton-placeholder/skeleton-placeholder.js.map +1 -1
- package/es-custom/components/skeleton-text/defs.js.map +1 -1
- package/es-custom/components/skeleton-text/skeleton-text.js +1 -1
- package/es-custom/components/skeleton-text/skeleton-text.js.map +1 -1
- package/es-custom/components/skip-to-content/skip-to-content.js +1 -1
- package/es-custom/components/skip-to-content/skip-to-content.js.map +1 -1
- package/es-custom/components/slider/slider-input.js +1 -1
- package/es-custom/components/slider/slider-input.js.map +1 -1
- package/es-custom/components/slider/slider-skeleton.js +1 -1
- package/es-custom/components/slider/slider-skeleton.js.map +1 -1
- package/es-custom/components/slider/slider.js +1 -1
- package/es-custom/components/slider/slider.js.map +1 -1
- package/es-custom/components/slug/defs.js.map +1 -1
- package/es-custom/components/slug/slug-action-button.js +1 -1
- package/es-custom/components/slug/slug-action-button.js.map +1 -1
- package/es-custom/components/slug/slug.js +1 -1
- package/es-custom/components/slug/slug.js.map +1 -1
- package/es-custom/components/stack/defs.js.map +1 -1
- package/es-custom/components/stack/stack.js +1 -1
- package/es-custom/components/stack/stack.js.map +1 -1
- package/es-custom/components/structured-list/structured-list-body.js +1 -1
- package/es-custom/components/structured-list/structured-list-body.js.map +1 -1
- package/es-custom/components/structured-list/structured-list-cell.js +1 -1
- package/es-custom/components/structured-list/structured-list-cell.js.map +1 -1
- package/es-custom/components/structured-list/structured-list-head.js +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/es-custom/components/structured-list/structured-list-header-row.js.map +1 -1
- package/es-custom/components/structured-list/structured-list-row.js +1 -1
- package/es-custom/components/structured-list/structured-list-row.js.map +1 -1
- package/es-custom/components/structured-list/structured-list.js +1 -1
- package/es-custom/components/structured-list/structured-list.js.map +1 -1
- package/es-custom/components/tabs/defs.d.ts +5 -1
- package/es-custom/components/tabs/defs.d.ts.map +1 -1
- package/es-custom/components/tabs/defs.js +4 -0
- package/es-custom/components/tabs/defs.js.map +1 -1
- package/es-custom/components/tabs/stories/tabs-wrapper.d.ts.map +1 -1
- package/es-custom/components/tabs/stories/tabs-wrapper.js +3 -2
- package/es-custom/components/tabs/stories/tabs-wrapper.js.map +1 -1
- package/es-custom/components/tabs/tab-skeleton.js +1 -1
- package/es-custom/components/tabs/tab-skeleton.js.map +1 -1
- package/es-custom/components/tabs/tab.js +1 -1
- package/es-custom/components/tabs/tab.js.map +1 -1
- package/es-custom/components/tabs/tabs-skeleton.js +1 -1
- package/es-custom/components/tabs/tabs-skeleton.js.map +1 -1
- package/es-custom/components/tabs/tabs-vertical.d.ts.map +1 -1
- package/es-custom/components/tabs/tabs-vertical.js +3 -1
- package/es-custom/components/tabs/tabs-vertical.js.map +1 -1
- package/es-custom/components/tabs/tabs.d.ts +8 -0
- package/es-custom/components/tabs/tabs.d.ts.map +1 -1
- package/es-custom/components/tabs/tabs.js +5 -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/tabs/tabs.scss.js.map +1 -1
- package/es-custom/components/tag/defs.js.map +1 -1
- package/es-custom/components/tag/dismissible-tag.js +1 -1
- package/es-custom/components/tag/dismissible-tag.js.map +1 -1
- package/es-custom/components/tag/operational-tag.js +1 -1
- package/es-custom/components/tag/operational-tag.js.map +1 -1
- package/es-custom/components/tag/selectable-tag.js +1 -1
- package/es-custom/components/tag/selectable-tag.js.map +1 -1
- package/es-custom/components/tag/tag-skeleton.js +1 -1
- package/es-custom/components/tag/tag-skeleton.js.map +1 -1
- package/es-custom/components/tag/tag.js +1 -1
- package/es-custom/components/tag/tag.js.map +1 -1
- package/es-custom/components/tearsheet/defs.js.map +1 -1
- package/es-custom/components/tearsheet/tearsheet.js +1 -1
- package/es-custom/components/tearsheet/tearsheet.js.map +1 -1
- package/es-custom/components/text-input/defs.js.map +1 -1
- package/es-custom/components/text-input/stories/helpers.js.map +1 -1
- package/es-custom/components/text-input/text-input-skeleton.js +1 -1
- package/es-custom/components/text-input/text-input-skeleton.js.map +1 -1
- package/es-custom/components/text-input/text-input.js +1 -1
- package/es-custom/components/text-input/text-input.js.map +1 -1
- package/es-custom/components/textarea/stories/helpers.js.map +1 -1
- package/es-custom/components/textarea/textarea-skeleton.js +1 -1
- package/es-custom/components/textarea/textarea-skeleton.js.map +1 -1
- package/es-custom/components/textarea/textarea.js +1 -1
- package/es-custom/components/textarea/textarea.js.map +1 -1
- package/es-custom/components/tile/clickable-tile.js +1 -1
- package/es-custom/components/tile/clickable-tile.js.map +1 -1
- package/es-custom/components/tile/expandable-tile.js +1 -1
- package/es-custom/components/tile/expandable-tile.js.map +1 -1
- package/es-custom/components/tile/radio-tile.js +1 -1
- 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/selectable-tile.js.map +1 -1
- package/es-custom/components/tile/tile-group.js +1 -1
- package/es-custom/components/tile/tile-group.js.map +1 -1
- package/es-custom/components/tile/tile.js +1 -1
- package/es-custom/components/tile/tile.js.map +1 -1
- package/es-custom/components/tile/tile.scss.js +1 -1
- package/es-custom/components/time-picker/defs.js.map +1 -1
- package/es-custom/components/time-picker/time-picker-select.js +1 -1
- 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/time-picker/time-picker.js.map +1 -1
- package/es-custom/components/toggle/defs.js.map +1 -1
- package/es-custom/components/toggle/toggle-skeleton.js +1 -1
- package/es-custom/components/toggle/toggle-skeleton.js.map +1 -1
- package/es-custom/components/toggle/toggle.js +1 -1
- package/es-custom/components/toggle/toggle.js.map +1 -1
- package/es-custom/components/toggle-tip/toggletip.js +1 -1
- package/es-custom/components/toggle-tip/toggletip.js.map +1 -1
- package/es-custom/components/tooltip/definition-tooltip.js +1 -1
- package/es-custom/components/tooltip/definition-tooltip.js.map +1 -1
- package/es-custom/components/tooltip/tooltip-content.js +1 -1
- package/es-custom/components/tooltip/tooltip-content.js.map +1 -1
- package/es-custom/components/tooltip/tooltip.js +1 -1
- package/es-custom/components/tooltip/tooltip.js.map +1 -1
- package/es-custom/components/tree-view/defs.js.map +1 -1
- package/es-custom/components/tree-view/tree-node.js +1 -1
- package/es-custom/components/tree-view/tree-node.js.map +1 -1
- package/es-custom/components/tree-view/tree-view.js +1 -1
- package/es-custom/components/tree-view/tree-view.js.map +1 -1
- package/es-custom/components/ui-shell/defs.js.map +1 -1
- package/es-custom/components/ui-shell/header-global-action.js +1 -1
- package/es-custom/components/ui-shell/header-global-action.js.map +1 -1
- package/es-custom/components/ui-shell/header-menu-button.js +1 -1
- package/es-custom/components/ui-shell/header-menu-button.js.map +1 -1
- package/es-custom/components/ui-shell/header-menu-item.js +1 -1
- package/es-custom/components/ui-shell/header-menu-item.js.map +1 -1
- package/es-custom/components/ui-shell/header-menu.js +1 -1
- package/es-custom/components/ui-shell/header-menu.js.map +1 -1
- package/es-custom/components/ui-shell/header-name.js +1 -1
- package/es-custom/components/ui-shell/header-name.js.map +1 -1
- package/es-custom/components/ui-shell/header-nav-item.js +1 -1
- package/es-custom/components/ui-shell/header-nav-item.js.map +1 -1
- package/es-custom/components/ui-shell/header-nav.js +1 -1
- package/es-custom/components/ui-shell/header-nav.js.map +1 -1
- package/es-custom/components/ui-shell/header-panel.js +1 -1
- package/es-custom/components/ui-shell/header-panel.js.map +1 -1
- package/es-custom/components/ui-shell/header-side-nav-items.js +1 -1
- package/es-custom/components/ui-shell/header-side-nav-items.js.map +1 -1
- package/es-custom/components/ui-shell/header.js +1 -1
- package/es-custom/components/ui-shell/header.js.map +1 -1
- package/es-custom/components/ui-shell/side-nav-divider.js +1 -1
- package/es-custom/components/ui-shell/side-nav-divider.js.map +1 -1
- package/es-custom/components/ui-shell/side-nav-items.js +1 -1
- package/es-custom/components/ui-shell/side-nav-items.js.map +1 -1
- package/es-custom/components/ui-shell/side-nav-link.js +1 -1
- package/es-custom/components/ui-shell/side-nav-link.js.map +1 -1
- package/es-custom/components/ui-shell/side-nav-menu-item.js +1 -1
- package/es-custom/components/ui-shell/side-nav-menu-item.js.map +1 -1
- package/es-custom/components/ui-shell/side-nav-menu.js +1 -1
- package/es-custom/components/ui-shell/side-nav-menu.js.map +1 -1
- package/es-custom/components/ui-shell/side-nav.js +1 -1
- package/es-custom/components/ui-shell/side-nav.js.map +1 -1
- package/es-custom/components/ui-shell/switcher-divider.js +1 -1
- package/es-custom/components/ui-shell/switcher-divider.js.map +1 -1
- package/es-custom/components/ui-shell/switcher-item.js +1 -1
- package/es-custom/components/ui-shell/switcher-item.js.map +1 -1
- package/es-custom/components/ui-shell/switcher.js +1 -1
- package/es-custom/components/ui-shell/switcher.js.map +1 -1
- package/es-custom/globals/controllers/floating-controller.js.map +1 -1
- package/es-custom/globals/decorators/carbon-element.js.map +1 -1
- package/es-custom/globals/decorators/host-listener.js.map +1 -1
- package/es-custom/globals/directives/if-non-empty.js.map +1 -1
- package/es-custom/globals/directives/spread.js.map +1 -1
- package/es-custom/globals/internal/collection-helpers.js.map +1 -1
- package/es-custom/globals/internal/deep-shadow-contains.js.map +1 -1
- package/es-custom/globals/internal/icon-loader-utils.js.map +1 -1
- package/es-custom/globals/internal/icon-loader.js.map +1 -1
- package/es-custom/globals/internal/radio-group-manager.js.map +1 -1
- package/es-custom/globals/mixins/focus.js.map +1 -1
- package/es-custom/globals/mixins/form.js.map +1 -1
- package/es-custom/globals/mixins/host-listener.js.map +1 -1
- package/es-custom/globals/mixins/on.js.map +1 -1
- package/es-custom/globals/mixins/validity.js.map +1 -1
- package/es-custom/globals/shared-enums.js.map +1 -1
- package/es-custom/node_modules/flatpickr/dist/esm/index.js.map +1 -1
- package/es-custom/node_modules/flatpickr/dist/esm/l10n/default.js.map +1 -1
- package/es-custom/node_modules/flatpickr/dist/esm/plugins/rangePlugin.js.map +1 -1
- package/es-custom/node_modules/flatpickr/dist/esm/types/options.js.map +1 -1
- package/es-custom/node_modules/flatpickr/dist/esm/utils/dates.js.map +1 -1
- package/es-custom/node_modules/flatpickr/dist/esm/utils/dom.js.map +1 -1
- package/es-custom/node_modules/flatpickr/dist/esm/utils/formatting.js.map +1 -1
- package/es-custom/node_modules/flatpickr/dist/esm/utils/index.js.map +1 -1
- package/es-custom/node_modules/flatpickr/dist/esm/utils/polyfills.js.map +1 -1
- package/es-custom/packages/feature-flags/es/index.js.map +1 -1
- package/lib/components/accordion/defs.js.map +1 -1
- package/lib/components/ai-label/defs.js.map +1 -1
- package/lib/components/breadcrumb/defs.js.map +1 -1
- package/lib/components/button/defs.js.map +1 -1
- package/lib/components/chat-button/defs.js.map +1 -1
- package/lib/components/checkbox/defs.js.map +1 -1
- package/lib/components/code-snippet/defs.js.map +1 -1
- package/lib/components/combo-button/defs.js.map +1 -1
- package/lib/components/content-switcher/defs.js.map +1 -1
- package/lib/components/data-table/defs.js.map +1 -1
- package/lib/components/date-picker/defs.js.map +1 -1
- package/lib/components/dropdown/defs.js.map +1 -1
- package/lib/components/file-uploader/defs.js.map +1 -1
- package/lib/components/floating-menu/defs.js.map +1 -1
- package/lib/components/grid/defs.js.map +1 -1
- package/lib/components/icon-button/defs.js.map +1 -1
- package/lib/components/icon-indicator/defs.js.map +1 -1
- package/lib/components/inline-loading/defs.js.map +1 -1
- package/lib/components/link/link.d.ts +1 -1
- package/lib/components/loading/defs.js.map +1 -1
- package/lib/components/menu/defs.js.map +1 -1
- package/lib/components/menu/menu-item-selectable.d.ts +4 -0
- package/lib/components/menu/menu-item-selectable.d.ts.map +1 -1
- package/lib/components/menu/menu.d.ts +14 -6
- package/lib/components/menu/menu.d.ts.map +1 -1
- package/lib/components/menu-button/defs.js.map +1 -1
- package/lib/components/modal/defs.js.map +1 -1
- package/lib/components/multi-select/defs.js.map +1 -1
- package/lib/components/notification/defs.js.map +1 -1
- package/lib/components/number-input/defs.js.map +1 -1
- package/lib/components/overflow-menu/defs.js.map +1 -1
- package/lib/components/pagination/defs.js.map +1 -1
- package/lib/components/pagination/pagination.d.ts +3 -0
- package/lib/components/pagination/pagination.d.ts.map +1 -1
- package/lib/components/pagination-nav/defs.js.map +1 -1
- package/lib/components/password-input/defs.js.map +1 -1
- package/lib/components/popover/defs.js.map +1 -1
- package/lib/components/popover/popover.d.ts +5 -0
- package/lib/components/popover/popover.d.ts.map +1 -1
- package/lib/components/progress-bar/defs.js.map +1 -1
- package/lib/components/progress-indicator/defs.js.map +1 -1
- package/lib/components/radio-button/defs.js.map +1 -1
- package/lib/components/radio-button/radio-button-group.d.ts +3 -0
- package/lib/components/radio-button/radio-button-group.d.ts.map +1 -1
- package/lib/components/search/defs.js.map +1 -1
- package/lib/components/shape-indicator/defs.js.map +1 -1
- package/lib/components/side-panel/defs.js.map +1 -1
- package/lib/components/skeleton-text/defs.js.map +1 -1
- package/lib/components/slug/defs.js.map +1 -1
- package/lib/components/stack/defs.js.map +1 -1
- package/lib/components/tabs/defs.d.ts +5 -1
- package/lib/components/tabs/defs.d.ts.map +1 -1
- package/lib/components/tabs/defs.js +4 -0
- package/lib/components/tabs/defs.js.map +1 -1
- package/lib/components/tabs/stories/tabs-wrapper.d.ts.map +1 -1
- package/lib/components/tabs/tabs-vertical.d.ts.map +1 -1
- package/lib/components/tabs/tabs.d.ts +8 -0
- package/lib/components/tabs/tabs.d.ts.map +1 -1
- package/lib/components/tag/defs.js.map +1 -1
- package/lib/components/tearsheet/defs.js.map +1 -1
- package/lib/components/text-input/defs.js.map +1 -1
- package/lib/components/time-picker/defs.js.map +1 -1
- package/lib/components/toggle/defs.js.map +1 -1
- package/lib/components/tree-view/defs.js.map +1 -1
- package/lib/components/ui-shell/defs.js.map +1 -1
- package/lib/globals/controllers/floating-controller.js.map +1 -1
- package/lib/globals/shared-enums.js.map +1 -1
- package/package.json +7 -7
- package/scss/components/tabs/tabs.scss +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle.js","names":["CDSCheckbox","styles","customElement"],"sources":["../../../src/components/toggle/toggle.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 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 { html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { prefix } from '../../globals/settings';\nimport CDSCheckbox from '../checkbox/checkbox';\nimport { TOGGLE_SIZE } from './defs';\nimport styles from './toggle.scss?lit';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { TOGGLE_SIZE };\n\n/**\n * Basic toggle.\n *\n * @element cds-custom-toggle\n * @slot label-text - The label text.\n * @slot checked-text - The text for the checked state.\n * @slot unchecked-text - The text for the unchecked state.\n * @fires cds-custom-toggle-changed - The custom event fired after this changebox changes its checked state.\n */\n@customElement(`${prefix}-toggle`)\nclass CDSToggle extends HostListenerMixin(CDSCheckbox) {\n @query('button')\n protected _checkboxNode!: HTMLInputElement;\n\n /**\n * Handles `click` event on the `<button>` in the shadow DOM.\n */\n protected _handleChange() {\n const { checked } = this._checkboxNode;\n if (this.disabled || this.readOnly) {\n return;\n }\n this.toggled = !checked;\n const { eventChange } = this.constructor as typeof CDSToggle;\n this.dispatchEvent(\n new CustomEvent(eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n checked: this.toggled, // TODO: remove in v12\n toggled: this.toggled,\n },\n })\n );\n }\n\n protected _renderCheckmark() {\n if (this.size !== TOGGLE_SIZE.SMALL || this.readOnly == true) {\n return undefined;\n }\n return html`\n <svg\n class=\"${prefix}--toggle__check\"\n width=\"6px\"\n height=\"5px\"\n viewBox=\"0 0 6 5\">\n <path d=\"M2.2 2.7L5 0 6 1 2.2 5 0 2.7 1 1.5z\" />\n </svg>\n `;\n }\n\n // TODO: remove in v12\n /**\n * @deprecated Use `toggled` instead.\n * The `checked` attribute will be removed in the next major version.\n */\n declare checked: boolean;\n // TODO: remove in v12\n /**\n *\n * **Deprecated:** Use `toggled` instead.\n * The `checked` attribute will be removed in the next major version.\n */\n @property({ type: Boolean, attribute: 'checked', reflect: true })\n get _checkedAttributeAlias() {\n return this.toggled;\n }\n set _checkedAttributeAlias(v: boolean) {\n this.toggled = v;\n }\n\n // TODO: remove get() and set() in v12\n /**\n * Specify whether the control is toggled\n */\n @property({ type: Boolean, reflect: true })\n get toggled(): boolean {\n return this.checked;\n }\n set toggled(v: boolean) {\n const prev = this.checked;\n const next = v;\n if (prev === next) return;\n this.checked = v;\n\n this.requestUpdate('toggled', prev);\n this.requestUpdate('_checkedAttributeAlias');\n }\n /**\n * Specify another element's id to be used as the label for this toggle\n */\n @property({ type: String, attribute: 'aria-labelledby' })\n ariaLabelledby?: string;\n\n // TODO: swap value with labelB in v12 to match React\n /**\n * Specify the label for the \"on\" position\n */\n @property({ attribute: 'label-a' })\n labelA = 'On';\n\n /**\n * Hide label text.\n */\n @property({ reflect: true, type: Boolean })\n hideLabel = false;\n\n /**\n * Read only boolean.\n */\n @property({ reflect: true, attribute: 'read-only', type: Boolean })\n readOnly = false;\n\n /**\n * Toggle size.\n */\n @property({ reflect: true })\n size = TOGGLE_SIZE.REGULAR;\n\n // TODO: swap value with labelA in v12 to match React\n /**\n * Specify the label for the \"off\" position\n */\n @property({ attribute: 'label-b' })\n labelB = 'Off';\n\n /**\n * Private references of external <label> elements that are\n * `for=\"this-toggle-element-id\"`\n */\n private _externalLabels: HTMLLabelElement[] = [];\n\n /**\n * Handles `click` on external `<label>`\n */\n private _onExternalLabelClick = () => {\n this._checkboxNode?.focus();\n this._handleChange();\n };\n\n /**\n * Finds external toggle `<label>`s and attaches handlers.\n */\n private _attachExternalLabels() {\n const doc = this.ownerDocument || document;\n\n const found = this.id\n ? [...doc.querySelectorAll<HTMLLabelElement>(`label[for=\"${this.id}\"]`)]\n : [];\n\n this._externalLabels = Array.from(new Set(found));\n this._externalLabels.forEach((lbl) => {\n lbl.addEventListener('click', this._onExternalLabelClick);\n });\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n this._attachExternalLabels();\n }\n\n disconnectedCallback() {\n super.disconnectedCallback?.();\n this._externalLabels.forEach((lbl) =>\n lbl.removeEventListener('click', this._onExternalLabelClick)\n );\n }\n\n render() {\n const {\n toggled,\n disabled,\n labelText,\n hideLabel,\n id,\n name,\n size,\n labelA,\n labelB,\n value,\n _handleChange: handleChange,\n } = this;\n const inputClasses = classMap({\n [`${prefix}--toggle__appearance`]: true,\n [`${prefix}--toggle__appearance--${size}`]: size,\n });\n const toggleClasses = classMap({\n [`${prefix}--toggle__switch`]: true,\n [`${prefix}--toggle__switch--checked`]: toggled,\n });\n\n const labelTextClasses = classMap({\n [`${prefix}--toggle__label-text`]: labelText,\n [`${prefix}--visually-hidden`]: hideLabel,\n });\n\n let stateText = '';\n\n if (hideLabel) {\n stateText = labelText || '';\n } else {\n stateText = toggled ? labelA : labelB;\n }\n\n const labelId = id ? `${id}_label` : undefined;\n\n const hasLabelText = (this.labelText ?? '') !== '';\n\n const ariaLabelledby = this.ariaLabelledby ?? (hasLabelText && labelId);\n\n return html`\n <button\n class=\"${prefix}--toggle__button\"\n role=\"switch\"\n type=\"button\"\n aria-checked=${toggled}\n aria-labelledby=${ifDefined(ariaLabelledby)}\n .checked=${toggled}\n name=\"${ifDefined(name)}\"\n value=\"${ifDefined(value)}\"\n ?disabled=${disabled}\n id=\"${id}\"\n @click=${handleChange}></button>\n <label for=\"${id}\" class=\"${prefix}--toggle__label\">\n ${labelText\n ? html`<span class=\"${labelTextClasses}\">${labelText}</span>`\n : null}\n <div class=\"${inputClasses}\">\n <div class=\"${toggleClasses}\">${this._renderCheckmark()}</div>\n <span class=\"${prefix}--toggle__text\" aria-hidden=\"true\"\n >${stateText}</span\n >\n </div>\n </label>\n `;\n }\n\n /**\n * The name of the custom event fired after this changebox changes its toggled state.\n */\n static get eventChange() {\n return `${prefix}-toggle-changed`;\n }\n\n static styles = styles;\n}\n\nexport default CDSToggle;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toggle.js","names":["CDSCheckbox","next","styles","customElement"],"sources":["../../../src/components/toggle/toggle.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 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 { html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { prefix } from '../../globals/settings';\nimport CDSCheckbox from '../checkbox/checkbox';\nimport { TOGGLE_SIZE } from './defs';\nimport styles from './toggle.scss?lit';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { TOGGLE_SIZE };\n\n/**\n * Basic toggle.\n *\n * @element cds-custom-toggle\n * @slot label-text - The label text.\n * @slot checked-text - The text for the checked state.\n * @slot unchecked-text - The text for the unchecked state.\n * @fires cds-custom-toggle-changed - The custom event fired after this changebox changes its checked state.\n */\n@customElement(`${prefix}-toggle`)\nclass CDSToggle extends HostListenerMixin(CDSCheckbox) {\n @query('button')\n protected _checkboxNode!: HTMLInputElement;\n\n /**\n * Handles `click` event on the `<button>` in the shadow DOM.\n */\n protected _handleChange() {\n const { checked } = this._checkboxNode;\n if (this.disabled || this.readOnly) {\n return;\n }\n this.toggled = !checked;\n const { eventChange } = this.constructor as typeof CDSToggle;\n this.dispatchEvent(\n new CustomEvent(eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n checked: this.toggled, // TODO: remove in v12\n toggled: this.toggled,\n },\n })\n );\n }\n\n protected _renderCheckmark() {\n if (this.size !== TOGGLE_SIZE.SMALL || this.readOnly == true) {\n return undefined;\n }\n return html`\n <svg\n class=\"${prefix}--toggle__check\"\n width=\"6px\"\n height=\"5px\"\n viewBox=\"0 0 6 5\">\n <path d=\"M2.2 2.7L5 0 6 1 2.2 5 0 2.7 1 1.5z\" />\n </svg>\n `;\n }\n\n // TODO: remove in v12\n /**\n * @deprecated Use `toggled` instead.\n * The `checked` attribute will be removed in the next major version.\n */\n declare checked: boolean;\n // TODO: remove in v12\n /**\n *\n * **Deprecated:** Use `toggled` instead.\n * The `checked` attribute will be removed in the next major version.\n */\n @property({ type: Boolean, attribute: 'checked', reflect: true })\n get _checkedAttributeAlias() {\n return this.toggled;\n }\n set _checkedAttributeAlias(v: boolean) {\n this.toggled = v;\n }\n\n // TODO: remove get() and set() in v12\n /**\n * Specify whether the control is toggled\n */\n @property({ type: Boolean, reflect: true })\n get toggled(): boolean {\n return this.checked;\n }\n set toggled(v: boolean) {\n const prev = this.checked;\n const next = v;\n if (prev === next) return;\n this.checked = v;\n\n this.requestUpdate('toggled', prev);\n this.requestUpdate('_checkedAttributeAlias');\n }\n /**\n * Specify another element's id to be used as the label for this toggle\n */\n @property({ type: String, attribute: 'aria-labelledby' })\n ariaLabelledby?: string;\n\n // TODO: swap value with labelB in v12 to match React\n /**\n * Specify the label for the \"on\" position\n */\n @property({ attribute: 'label-a' })\n labelA = 'On';\n\n /**\n * Hide label text.\n */\n @property({ reflect: true, type: Boolean })\n hideLabel = false;\n\n /**\n * Read only boolean.\n */\n @property({ reflect: true, attribute: 'read-only', type: Boolean })\n readOnly = false;\n\n /**\n * Toggle size.\n */\n @property({ reflect: true })\n size = TOGGLE_SIZE.REGULAR;\n\n // TODO: swap value with labelA in v12 to match React\n /**\n * Specify the label for the \"off\" position\n */\n @property({ attribute: 'label-b' })\n labelB = 'Off';\n\n /**\n * Private references of external <label> elements that are\n * `for=\"this-toggle-element-id\"`\n */\n private _externalLabels: HTMLLabelElement[] = [];\n\n /**\n * Handles `click` on external `<label>`\n */\n private _onExternalLabelClick = () => {\n this._checkboxNode?.focus();\n this._handleChange();\n };\n\n /**\n * Finds external toggle `<label>`s and attaches handlers.\n */\n private _attachExternalLabels() {\n const doc = this.ownerDocument || document;\n\n const found = this.id\n ? [...doc.querySelectorAll<HTMLLabelElement>(`label[for=\"${this.id}\"]`)]\n : [];\n\n this._externalLabels = Array.from(new Set(found));\n this._externalLabels.forEach((lbl) => {\n lbl.addEventListener('click', this._onExternalLabelClick);\n });\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n this._attachExternalLabels();\n }\n\n disconnectedCallback() {\n super.disconnectedCallback?.();\n this._externalLabels.forEach((lbl) =>\n lbl.removeEventListener('click', this._onExternalLabelClick)\n );\n }\n\n render() {\n const {\n toggled,\n disabled,\n labelText,\n hideLabel,\n id,\n name,\n size,\n labelA,\n labelB,\n value,\n _handleChange: handleChange,\n } = this;\n const inputClasses = classMap({\n [`${prefix}--toggle__appearance`]: true,\n [`${prefix}--toggle__appearance--${size}`]: size,\n });\n const toggleClasses = classMap({\n [`${prefix}--toggle__switch`]: true,\n [`${prefix}--toggle__switch--checked`]: toggled,\n });\n\n const labelTextClasses = classMap({\n [`${prefix}--toggle__label-text`]: labelText,\n [`${prefix}--visually-hidden`]: hideLabel,\n });\n\n let stateText = '';\n\n if (hideLabel) {\n stateText = labelText || '';\n } else {\n stateText = toggled ? labelA : labelB;\n }\n\n const labelId = id ? `${id}_label` : undefined;\n\n const hasLabelText = (this.labelText ?? '') !== '';\n\n const ariaLabelledby = this.ariaLabelledby ?? (hasLabelText && labelId);\n\n return html`\n <button\n class=\"${prefix}--toggle__button\"\n role=\"switch\"\n type=\"button\"\n aria-checked=${toggled}\n aria-labelledby=${ifDefined(ariaLabelledby)}\n .checked=${toggled}\n name=\"${ifDefined(name)}\"\n value=\"${ifDefined(value)}\"\n ?disabled=${disabled}\n id=\"${id}\"\n @click=${handleChange}></button>\n <label for=\"${id}\" class=\"${prefix}--toggle__label\">\n ${labelText\n ? html`<span class=\"${labelTextClasses}\">${labelText}</span>`\n : null}\n <div class=\"${inputClasses}\">\n <div class=\"${toggleClasses}\">${this._renderCheckmark()}</div>\n <span class=\"${prefix}--toggle__text\" aria-hidden=\"true\"\n >${stateText}</span\n >\n </div>\n </label>\n `;\n }\n\n /**\n * The name of the custom event fired after this changebox changes its toggled state.\n */\n static get eventChange() {\n return `${prefix}-toggle-changed`;\n }\n\n static styles = styles;\n}\n\nexport default CDSToggle;\n"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import "../../globals/settings.js";
|
|
9
9
|
import { carbonElement } from "../../globals/decorators/carbon-element.js";
|
|
10
|
-
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.
|
|
10
|
+
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.135.0/helpers/esm/decorate.js";
|
|
11
11
|
import iconLoader from "../../globals/internal/icon-loader.js";
|
|
12
12
|
import FocusMixin from "../../globals/mixins/focus.js";
|
|
13
13
|
import HostListener from "../../globals/decorators/host-listener.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggletip.js","names":["FloatingUIController","popoverStyles","styles","customElement"],"sources":["../../../src/components/toggle-tip/toggletip.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 { classMap } from 'lit/directives/class-map.js';\nimport { adoptStyles, html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { prefix } from '../../globals/settings';\nimport Information16 from '@carbon/icons/es/information/16.js';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { POPOVER_ALIGNMENT } from '../popover/defs';\nimport FloatingUIController from '../../globals/controllers/floating-controller';\nimport styles from './toggletip.scss?lit';\nimport popoverStyles from '../popover/popover.scss?lit';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport { deepShadowContains } from '../../globals/internal/deep-shadow-contains';\n\n/**\n * Definition tooltip.\n *\n * @element cds-custom-toggletip\n */\n@customElement(`${prefix}-toggletip`)\nclass CDSToggletip extends HostListenerMixin(FocusMixin(LitElement)) {\n /**\n * Create popover controller instance\n */\n private popoverController = new FloatingUIController(this);\n\n /**\n * How the tooltip is aligned to the trigger button.\n */\n @property({ reflect: true })\n alignment = POPOVER_ALIGNMENT.TOP;\n\n /**\n * **Experimental:** Provide an offset value for alignment axis. Only takes effect when `autoalign` is enabled.\n */\n @property({ type: Number, attribute: 'alignment-axis-offset' })\n alignmentAxisOffset = 0;\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 * The label for the toggle button\n */\n @property({ attribute: 'button-label' })\n buttonLabel = 'Show information';\n\n /**\n * Set whether toggletip is open\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * Set whether toggletip is open by default.\n */\n @property({ type: Boolean, attribute: 'default-open' })\n defaultOpen = false;\n\n connectedCallback() {\n super.connectedCallback();\n if (this.defaultOpen && !this.hasAttribute('open')) {\n this.open = true;\n }\n\n adoptStyles(this.renderRoot as ShadowRoot, [popoverStyles, styles]);\n }\n\n /**\n * Handles `slotchange` event.\n */\n private _handleActionsSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement).assignedNodes();\n if (hasContent) {\n this.setAttribute('has-actions', '');\n } else {\n this.removeAttribute('has-actions');\n }\n }\n\n protected _handleClick() {\n this.open = !this.open;\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 protected _handleKeydown = async (event) => {\n if (event.key === 'Escape') {\n this.open = false;\n }\n };\n\n /**\n * Handles `blur` event handler on the document this element is in.\n *\n * @param event The event.\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 protected _handleFocusOut(event: FocusEvent) {\n if (this.contains(event.relatedTarget as Node)) {\n return;\n }\n\n if (deepShadowContains(this, event.relatedTarget)) {\n return;\n }\n this.open = false;\n }\n\n protected _renderToggleTipLabel = () => {\n return html`\n <span class=\"${prefix}--toggletip-label\">\n <slot></slot>\n </span>\n `;\n };\n\n protected _renderTooltipButton = () => {\n return html`\n <button\n aria-controls=\"${this.id}\"\n aria-label=\"${this.buttonLabel}\"\n class=\"${prefix}--toggletip-button\"\n @click=${this._handleClick}>\n <slot name=\"trigger\"\n >${iconLoader(Information16, { id: 'trigger' })}\n </slot>\n </button>\n `;\n };\n\n protected _renderTooltipContent = () => {\n return this.autoalign\n ? html`\n <span class=\"${prefix}--popover-content\">\n <div class=\"${prefix}--toggletip-content\">\n <slot name=\"body-text\"></slot>\n <div class=\"${prefix}--toggletip-actions\">\n <slot\n name=\"actions\"\n @slotchange=\"${this._handleActionsSlotChange}\"></slot>\n </div>\n </div>\n <span class=\"${prefix}--popover-caret\"></span>\n </span>\n `\n : html`\n <span class=\"${prefix}--popover\">\n <span class=\"${prefix}--popover-content\">\n <div class=\"${prefix}--toggletip-content\">\n <slot name=\"body-text\"></slot>\n <div class=\"${prefix}--toggletip-actions\">\n <slot\n name=\"actions\"\n @slotchange=\"${this._handleActionsSlotChange}\"></slot>\n </div>\n </div>\n </span>\n <span class=\"${prefix}--popover-caret\"></span>\n </span>\n `;\n };\n\n protected _renderInnerContent = () => {\n return html`\n ${this._renderTooltipButton()} ${this._renderTooltipContent()}\n `;\n };\n\n updated() {\n if (this.autoalign) {\n // auto align functionality with @floating-ui/dom library\n const button = this.shadowRoot?.querySelector(\n CDSToggletip.selectorToggletipButton\n );\n\n const tooltip = this.shadowRoot?.querySelector(\n CDSToggletip.selectorToggletipContent\n );\n const arrowElement = this.shadowRoot?.querySelector(\n CDSToggletip.selectorToggletipCaret\n );\n\n if (button && tooltip) {\n // Ensure toggletip is visible when rendered in a large scrollable container (storybook parity)\n button.scrollIntoView({ block: 'center', inline: 'center' });\n\n this.popoverController?.setPlacement({\n trigger: button as HTMLElement,\n target: tooltip as HTMLElement,\n arrowElement: arrowElement as HTMLElement,\n caret: true,\n flipArguments: { fallbackAxisSideDirection: 'start' },\n alignment: this.alignment,\n open: this.open,\n alignmentAxisOffset: this.alignmentAxisOffset,\n });\n }\n }\n }\n\n render() {\n const { alignment, open } = this;\n const classes = classMap({\n [`${prefix}--popover-container`]: true,\n [`${prefix}--popover--caret`]: true,\n [`${prefix}--popover--high-contrast`]: true,\n [`${prefix}--popover--open`]: open,\n [`${prefix}--popover--${alignment}`]: alignment,\n [`${prefix}--toggletip`]: true,\n [`${prefix}--toggletip--open`]: open,\n });\n return html`\n ${this._renderToggleTipLabel()}\n <span class=\"${classes}\"> ${this._renderInnerContent()} </span>\n `;\n }\n\n /**\n * A selector that will return the toggletip content.\n */\n static get selectorToggletipContent() {\n return `.${prefix}--popover-content`;\n }\n\n /**\n * A selector that will return the toggletip caret.\n */\n static get selectorToggletipCaret() {\n return `.${prefix}--popover-caret`;\n }\n\n /**\n * A selector that will return the trigger element.\n */\n static get selectorToggletipButton() {\n return `.${prefix}--toggletip-button`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n}\n\nexport default CDSToggletip;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toggletip.js","names":["FloatingUIController","popoverStyles","styles","customElement"],"sources":["../../../src/components/toggle-tip/toggletip.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 { classMap } from 'lit/directives/class-map.js';\nimport { adoptStyles, html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { prefix } from '../../globals/settings';\nimport Information16 from '@carbon/icons/es/information/16.js';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { POPOVER_ALIGNMENT } from '../popover/defs';\nimport FloatingUIController from '../../globals/controllers/floating-controller';\nimport styles from './toggletip.scss?lit';\nimport popoverStyles from '../popover/popover.scss?lit';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport { deepShadowContains } from '../../globals/internal/deep-shadow-contains';\n\n/**\n * Definition tooltip.\n *\n * @element cds-custom-toggletip\n */\n@customElement(`${prefix}-toggletip`)\nclass CDSToggletip extends HostListenerMixin(FocusMixin(LitElement)) {\n /**\n * Create popover controller instance\n */\n private popoverController = new FloatingUIController(this);\n\n /**\n * How the tooltip is aligned to the trigger button.\n */\n @property({ reflect: true })\n alignment = POPOVER_ALIGNMENT.TOP;\n\n /**\n * **Experimental:** Provide an offset value for alignment axis. Only takes effect when `autoalign` is enabled.\n */\n @property({ type: Number, attribute: 'alignment-axis-offset' })\n alignmentAxisOffset = 0;\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 * The label for the toggle button\n */\n @property({ attribute: 'button-label' })\n buttonLabel = 'Show information';\n\n /**\n * Set whether toggletip is open\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * Set whether toggletip is open by default.\n */\n @property({ type: Boolean, attribute: 'default-open' })\n defaultOpen = false;\n\n connectedCallback() {\n super.connectedCallback();\n if (this.defaultOpen && !this.hasAttribute('open')) {\n this.open = true;\n }\n\n adoptStyles(this.renderRoot as ShadowRoot, [popoverStyles, styles]);\n }\n\n /**\n * Handles `slotchange` event.\n */\n private _handleActionsSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement).assignedNodes();\n if (hasContent) {\n this.setAttribute('has-actions', '');\n } else {\n this.removeAttribute('has-actions');\n }\n }\n\n protected _handleClick() {\n this.open = !this.open;\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 protected _handleKeydown = async (event) => {\n if (event.key === 'Escape') {\n this.open = false;\n }\n };\n\n /**\n * Handles `blur` event handler on the document this element is in.\n *\n * @param event The event.\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 protected _handleFocusOut(event: FocusEvent) {\n if (this.contains(event.relatedTarget as Node)) {\n return;\n }\n\n if (deepShadowContains(this, event.relatedTarget)) {\n return;\n }\n this.open = false;\n }\n\n protected _renderToggleTipLabel = () => {\n return html`\n <span class=\"${prefix}--toggletip-label\">\n <slot></slot>\n </span>\n `;\n };\n\n protected _renderTooltipButton = () => {\n return html`\n <button\n aria-controls=\"${this.id}\"\n aria-label=\"${this.buttonLabel}\"\n class=\"${prefix}--toggletip-button\"\n @click=${this._handleClick}>\n <slot name=\"trigger\"\n >${iconLoader(Information16, { id: 'trigger' })}\n </slot>\n </button>\n `;\n };\n\n protected _renderTooltipContent = () => {\n return this.autoalign\n ? html`\n <span class=\"${prefix}--popover-content\">\n <div class=\"${prefix}--toggletip-content\">\n <slot name=\"body-text\"></slot>\n <div class=\"${prefix}--toggletip-actions\">\n <slot\n name=\"actions\"\n @slotchange=\"${this._handleActionsSlotChange}\"></slot>\n </div>\n </div>\n <span class=\"${prefix}--popover-caret\"></span>\n </span>\n `\n : html`\n <span class=\"${prefix}--popover\">\n <span class=\"${prefix}--popover-content\">\n <div class=\"${prefix}--toggletip-content\">\n <slot name=\"body-text\"></slot>\n <div class=\"${prefix}--toggletip-actions\">\n <slot\n name=\"actions\"\n @slotchange=\"${this._handleActionsSlotChange}\"></slot>\n </div>\n </div>\n </span>\n <span class=\"${prefix}--popover-caret\"></span>\n </span>\n `;\n };\n\n protected _renderInnerContent = () => {\n return html`\n ${this._renderTooltipButton()} ${this._renderTooltipContent()}\n `;\n };\n\n updated() {\n if (this.autoalign) {\n // auto align functionality with @floating-ui/dom library\n const button = this.shadowRoot?.querySelector(\n CDSToggletip.selectorToggletipButton\n );\n\n const tooltip = this.shadowRoot?.querySelector(\n CDSToggletip.selectorToggletipContent\n );\n const arrowElement = this.shadowRoot?.querySelector(\n CDSToggletip.selectorToggletipCaret\n );\n\n if (button && tooltip) {\n // Ensure toggletip is visible when rendered in a large scrollable container (storybook parity)\n button.scrollIntoView({ block: 'center', inline: 'center' });\n\n this.popoverController?.setPlacement({\n trigger: button as HTMLElement,\n target: tooltip as HTMLElement,\n arrowElement: arrowElement as HTMLElement,\n caret: true,\n flipArguments: { fallbackAxisSideDirection: 'start' },\n alignment: this.alignment,\n open: this.open,\n alignmentAxisOffset: this.alignmentAxisOffset,\n });\n }\n }\n }\n\n render() {\n const { alignment, open } = this;\n const classes = classMap({\n [`${prefix}--popover-container`]: true,\n [`${prefix}--popover--caret`]: true,\n [`${prefix}--popover--high-contrast`]: true,\n [`${prefix}--popover--open`]: open,\n [`${prefix}--popover--${alignment}`]: alignment,\n [`${prefix}--toggletip`]: true,\n [`${prefix}--toggletip--open`]: open,\n });\n return html`\n ${this._renderToggleTipLabel()}\n <span class=\"${classes}\"> ${this._renderInnerContent()} </span>\n `;\n }\n\n /**\n * A selector that will return the toggletip content.\n */\n static get selectorToggletipContent() {\n return `.${prefix}--popover-content`;\n }\n\n /**\n * A selector that will return the toggletip caret.\n */\n static get selectorToggletipCaret() {\n return `.${prefix}--popover-caret`;\n }\n\n /**\n * A selector that will return the trigger element.\n */\n static get selectorToggletipButton() {\n return `.${prefix}--toggletip-button`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n}\n\nexport default CDSToggletip;\n"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import "../../globals/settings.js";
|
|
9
9
|
import { carbonElement } from "../../globals/decorators/carbon-element.js";
|
|
10
|
-
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.
|
|
10
|
+
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.135.0/helpers/esm/decorate.js";
|
|
11
11
|
import { POPOVER_ALIGNMENT } from "../popover/defs.js";
|
|
12
12
|
import popover_default from "../popover/popover.scss.js";
|
|
13
13
|
import tooltip_default from "./tooltip.scss.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-tooltip.js","names":["popoverStyles","styles","customElement"],"sources":["../../../src/components/tooltip/definition-tooltip.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 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 { adoptStyles, html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { POPOVER_ALIGNMENT } from '../popover/defs';\nimport '../popover/index';\nimport popoverStyles from '../popover/popover.scss?lit';\nimport styles from './tooltip.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Definition tooltip.\n *\n * @element cds-custom-definition-tooltip\n */\n@customElement(`${prefix}-definition-tooltip`)\nclass CDSDefinitionTooltip extends LitElement {\n /**\n * Specify how the trigger should align with the tooltip\n */\n @property({ reflect: true, type: POPOVER_ALIGNMENT })\n align = 'bottom';\n\n /**\n * Will auto-align Definition Tooltip. This prop is currently experimental and is subject to future changes.\n */\n @property({ type: Boolean, reflect: true })\n autoalign = false;\n\n /**\n * Specify whether the tooltip should be open when it first renders\n */\n @property({ type: Boolean, reflect: true, attribute: 'default-open' })\n defaultOpen = false;\n\n /**\n * Specifies whether the `DefinitionTooltip` should open on hover or not\n */\n @property({ reflect: true, type: Boolean, attribute: 'open-on-hover' })\n openOnHover = false;\n\n @state()\n open = false;\n\n connectedCallback() {\n super.connectedCallback();\n\n adoptStyles(this.renderRoot as ShadowRoot, [popoverStyles, styles]);\n\n if (this.hasAttribute('default-open')) {\n this.open = true;\n }\n }\n\n protected _handleBlur() {\n this.open = false;\n }\n\n protected _handleMouseDown() {\n this.open = !this.open;\n }\n\n protected _handleKeyDown(event: KeyboardEvent) {\n const { key } = event;\n\n if (this.open && (key === 'Esc' || key === 'Escape')) {\n event.stopPropagation();\n this.open = false;\n }\n }\n\n protected _handleHover() {\n if (this.openOnHover && !this.open) {\n this.open = true;\n } else {\n this.open = false;\n }\n }\n\n protected _handleFocus() {\n this.open = true;\n }\n\n render() {\n const { align, open } = this;\n\n return html`\n <cds-custom-popover\n @mouseenter=${this._handleHover}\n @mouseleave=${this._handleHover}\n highContrast\n dropShadow=${false}\n align=${align}\n .open=${open}>\n <button\n @focus=${this._handleFocus}\n @blur=${this._handleBlur}\n @mousedown=${this._handleMouseDown}\n @keydown=${this._handleKeyDown}\n aria-expanded=${open}\n part=\"definition-term\"\n class=\"${prefix}--definition-term\">\n <slot></slot>\n </button>\n <cds-custom-popover-content>\n <slot name=\"definition\"></slot>\n </cds-custom-popover-content>\n </cds-custom-popover>\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSDefinitionTooltip;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,IAAA,uBAAA,MACM,6BAA6B,WAAW;;;eAKpC;mBAMI;qBAME;qBAMA;cAGP;;CAEP,oBAAoB;
|
|
1
|
+
{"version":3,"file":"definition-tooltip.js","names":["popoverStyles","styles","customElement"],"sources":["../../../src/components/tooltip/definition-tooltip.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 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 { adoptStyles, html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { POPOVER_ALIGNMENT } from '../popover/defs';\nimport '../popover/index';\nimport popoverStyles from '../popover/popover.scss?lit';\nimport styles from './tooltip.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Definition tooltip.\n *\n * @element cds-custom-definition-tooltip\n */\n@customElement(`${prefix}-definition-tooltip`)\nclass CDSDefinitionTooltip extends LitElement {\n /**\n * Specify how the trigger should align with the tooltip\n */\n @property({ reflect: true, type: POPOVER_ALIGNMENT })\n align = 'bottom';\n\n /**\n * Will auto-align Definition Tooltip. This prop is currently experimental and is subject to future changes.\n */\n @property({ type: Boolean, reflect: true })\n autoalign = false;\n\n /**\n * Specify whether the tooltip should be open when it first renders\n */\n @property({ type: Boolean, reflect: true, attribute: 'default-open' })\n defaultOpen = false;\n\n /**\n * Specifies whether the `DefinitionTooltip` should open on hover or not\n */\n @property({ reflect: true, type: Boolean, attribute: 'open-on-hover' })\n openOnHover = false;\n\n @state()\n open = false;\n\n connectedCallback() {\n super.connectedCallback();\n\n adoptStyles(this.renderRoot as ShadowRoot, [popoverStyles, styles]);\n\n if (this.hasAttribute('default-open')) {\n this.open = true;\n }\n }\n\n protected _handleBlur() {\n this.open = false;\n }\n\n protected _handleMouseDown() {\n this.open = !this.open;\n }\n\n protected _handleKeyDown(event: KeyboardEvent) {\n const { key } = event;\n\n if (this.open && (key === 'Esc' || key === 'Escape')) {\n event.stopPropagation();\n this.open = false;\n }\n }\n\n protected _handleHover() {\n if (this.openOnHover && !this.open) {\n this.open = true;\n } else {\n this.open = false;\n }\n }\n\n protected _handleFocus() {\n this.open = true;\n }\n\n render() {\n const { align, open } = this;\n\n return html`\n <cds-custom-popover\n @mouseenter=${this._handleHover}\n @mouseleave=${this._handleHover}\n highContrast\n dropShadow=${false}\n align=${align}\n .open=${open}>\n <button\n @focus=${this._handleFocus}\n @blur=${this._handleBlur}\n @mousedown=${this._handleMouseDown}\n @keydown=${this._handleKeyDown}\n aria-expanded=${open}\n part=\"definition-term\"\n class=\"${prefix}--definition-term\">\n <slot></slot>\n </button>\n <cds-custom-popover-content>\n <slot name=\"definition\"></slot>\n </cds-custom-popover-content>\n </cds-custom-popover>\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSDefinitionTooltip;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,IAAA,uBAAA,MACM,6BAA6B,WAAW;;;eAKpC;mBAMI;qBAME;qBAMA;cAGP;;CAEP,oBAAoB;EAClB,MAAM,kBAAkB;EAExB,YAAY,KAAK,YAA0B,CAACA,iBAAeC,eAAM,CAAC;EAElE,IAAI,KAAK,aAAa,cAAc,GAClC,KAAK,OAAO;CAEhB;CAEA,cAAwB;EACtB,KAAK,OAAO;CACd;CAEA,mBAA6B;EAC3B,KAAK,OAAO,CAAC,KAAK;CACpB;CAEA,eAAyB,OAAsB;EAC7C,MAAM,EAAE,QAAQ;EAEhB,IAAI,KAAK,SAAS,QAAQ,SAAS,QAAQ,WAAW;GACpD,MAAM,gBAAgB;GACtB,KAAK,OAAO;EACd;CACF;CAEA,eAAyB;EACvB,IAAI,KAAK,eAAe,CAAC,KAAK,MAC5B,KAAK,OAAO;OAEZ,KAAK,OAAO;CAEhB;CAEA,eAAyB;EACvB,KAAK,OAAO;CACd;CAEA,SAAS;EACP,MAAM,EAAE,OAAO,SAAS;EAExB,OAAO,IAAI;;sBAEO,KAAK,aAAa;sBAClB,KAAK,aAAa;;qBAEnB,MAAM;gBACX,MAAM;gBACN,KAAK;;mBAEF,KAAK,aAAa;kBACnB,KAAK,YAAY;uBACZ,KAAK,iBAAiB;qBACxB,KAAK,eAAe;0BACf,KAAK;;yBAEL;;;;;;;;CAQxB;;gBAEgBA;;AAClB;YA5FG,SAAS;CAAE,SAAS;CAAM,MAAM;AAAkB,CAAC,CAAA,GAAA,qBAAA,WAAA,SAAA,KAAA,CAAA;YAMnD,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,qBAAA,WAAA,aAAA,KAAA,CAAA;YAMzC,SAAS;CAAE,MAAM;CAAS,SAAS;CAAM,WAAW;AAAe,CAAC,CAAA,GAAA,qBAAA,WAAA,eAAA,KAAA,CAAA;YAMpE,SAAS;CAAE,SAAS;CAAM,MAAM;CAAS,WAAW;AAAgB,CAAC,CAAA,GAAA,qBAAA,WAAA,eAAA,KAAA,CAAA;YAGrE,MAAM,CAAA,GAAA,qBAAA,WAAA,QAAA,KAAA,CAAA;mCA1BRC,cAAc,wBAA8B,CAAA,GAAA,oBAAA;AAmG7C,IAAA,6BAAe"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import "../../globals/settings.js";
|
|
9
9
|
import { carbonElement } from "../../globals/decorators/carbon-element.js";
|
|
10
|
-
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.
|
|
10
|
+
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.135.0/helpers/esm/decorate.js";
|
|
11
11
|
import popover_default from "../popover/popover.scss.js";
|
|
12
12
|
import popover_content_default from "../popover/popover-content.js";
|
|
13
13
|
import tooltip_default from "./tooltip.scss.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip-content.js","names":["CDSPopoverContent","popoverStyles","styles","customElement"],"sources":["../../../src/components/tooltip/tooltip-content.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 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 */\nimport { adoptStyles } from 'lit';\nimport { prefix } from '../../globals/settings';\nimport CDSPopoverContent from '../popover/popover-content';\nimport styles from './tooltip.scss?lit';\nimport popoverStyles from '../popover/popover.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Tooltip content.\n *\n * @element cds-custom-tooltip-content\n */\n@customElement(`${prefix}-tooltip-content`)\nclass CDSTooltipContent extends CDSPopoverContent {\n connectedCallback() {\n if (!this.hasAttribute('aria-hidden')) {\n this.setAttribute('aria-hidden', 'true');\n }\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'tooltip');\n }\n super.connectedCallback();\n\n adoptStyles(this.renderRoot as ShadowRoot, [popoverStyles, styles]);\n }\n\n updated() {\n this.shadowRoot\n ?.querySelector(`.${prefix}--popover-content`)\n ?.classList.add(`${prefix}--tooltip-content`);\n }\n}\n\nexport default CDSTooltipContent;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,IAAA,oBAAA,MACM,0BAA0BA,wBAAkB;CAChD,oBAAoB;
|
|
1
|
+
{"version":3,"file":"tooltip-content.js","names":["CDSPopoverContent","popoverStyles","styles","customElement"],"sources":["../../../src/components/tooltip/tooltip-content.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 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 */\nimport { adoptStyles } from 'lit';\nimport { prefix } from '../../globals/settings';\nimport CDSPopoverContent from '../popover/popover-content';\nimport styles from './tooltip.scss?lit';\nimport popoverStyles from '../popover/popover.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Tooltip content.\n *\n * @element cds-custom-tooltip-content\n */\n@customElement(`${prefix}-tooltip-content`)\nclass CDSTooltipContent extends CDSPopoverContent {\n connectedCallback() {\n if (!this.hasAttribute('aria-hidden')) {\n this.setAttribute('aria-hidden', 'true');\n }\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'tooltip');\n }\n super.connectedCallback();\n\n adoptStyles(this.renderRoot as ShadowRoot, [popoverStyles, styles]);\n }\n\n updated() {\n this.shadowRoot\n ?.querySelector(`.${prefix}--popover-content`)\n ?.classList.add(`${prefix}--tooltip-content`);\n }\n}\n\nexport default CDSTooltipContent;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,IAAA,oBAAA,MACM,0BAA0BA,wBAAkB;CAChD,oBAAoB;EAClB,IAAI,CAAC,KAAK,aAAa,aAAa,GAClC,KAAK,aAAa,eAAe,MAAM;EAEzC,IAAI,CAAC,KAAK,aAAa,MAAM,GAC3B,KAAK,aAAa,QAAQ,SAAS;EAErC,MAAM,kBAAkB;EAExB,YAAY,KAAK,YAA0B,CAACC,iBAAeC,eAAM,CAAC;CACpE;CAEA,UAAU;EACR,KAAK,YACD,cAAc,uBAA6B,CAAC,EAC5C,UAAU,IAAI,sBAA4B;CAChD;AACF;gCAnBCC,cAAc,qBAA2B,CAAA,GAAA,iBAAA;AAqB1C,IAAA,0BAAe"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import "../../globals/settings.js";
|
|
9
9
|
import { carbonElement } from "../../globals/decorators/carbon-element.js";
|
|
10
|
-
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.
|
|
10
|
+
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.135.0/helpers/esm/decorate.js";
|
|
11
11
|
import HostListener from "../../globals/decorators/host-listener.js";
|
|
12
12
|
import HostListenerMixin from "../../globals/mixins/host-listener.js";
|
|
13
13
|
import popover_default from "../popover/popover.scss.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.js","names":["CDSPopover","popoverStyles","styles","customElement"],"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-custom-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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tooltip.js","names":["CDSPopover","popoverStyles","styles","customElement"],"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-custom-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"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defs.js","names":[],"sources":["../../../src/components/tree-view/defs.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\nexport enum TREE_SIZE {\n /**\n * Small\n */\n SMALL = 'sm',\n\n /**\n * Extra small size.\n */\n EXTRA_SMALL = 'xs',\n}\n"],"mappings":";;;;;;;;;;;;;;AAOA,IAAY,YAAL,yBAAA,WAAA;;;;
|
|
1
|
+
{"version":3,"file":"defs.js","names":[],"sources":["../../../src/components/tree-view/defs.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\nexport enum TREE_SIZE {\n /**\n * Small\n */\n SMALL = 'sm',\n\n /**\n * Extra small size.\n */\n EXTRA_SMALL = 'xs',\n}\n"],"mappings":";;;;;;;;;;;;;;AAOA,IAAY,YAAL,yBAAA,WAAA;;;;CAIL,UAAA,WAAA;;;;CAKA,UAAA,iBAAA;;AACF,EAAA,CAAA,CAAA"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import "../../globals/settings.js";
|
|
9
9
|
import { carbonElement } from "../../globals/decorators/carbon-element.js";
|
|
10
|
-
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.
|
|
10
|
+
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.135.0/helpers/esm/decorate.js";
|
|
11
11
|
import iconLoader from "../../globals/internal/icon-loader.js";
|
|
12
12
|
import tree_view_default from "./tree-view.scss.js";
|
|
13
13
|
import { LitElement, html } from "lit";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-node.js","names":["styles","customElement"],"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-custom-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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tree-node.js","names":["styles","customElement"],"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-custom-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"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import "../../globals/settings.js";
|
|
9
9
|
import { carbonElement } from "../../globals/decorators/carbon-element.js";
|
|
10
|
-
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.
|
|
10
|
+
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.135.0/helpers/esm/decorate.js";
|
|
11
11
|
import HostListener from "../../globals/decorators/host-listener.js";
|
|
12
12
|
import HostListenerMixin from "../../globals/mixins/host-listener.js";
|
|
13
13
|
import { TREE_SIZE } from "./defs.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-view.js","names":["styles","customElement"],"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-custom-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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tree-view.js","names":["styles","customElement"],"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-custom-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"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defs.js","names":[],"sources":["../../../src/components/ui-shell/defs.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2020\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\n/**\n * Collapse modes of side nav.\n */\nexport enum SIDE_NAV_COLLAPSE_MODE {\n /**\n * Fixed mode.\n * In this mode, side nav is non-collapsible.\n */\n FIXED = 'fixed',\n\n /**\n * Rail mode.\n * In this mode, side nav can be collapsed to a narrower width (\"rail\" look) with a toggle button.\n */\n RAIL = 'rail',\n\n /**\n * Responsive mode.\n * In this mode, side nav sticks in wider screen, and can be completely collapsed with a toggle button in narrower screen.\n */\n RESPONSIVE = 'responsive',\n}\n\n/**\n * The usage purpose of side nav.\n */\nexport enum SIDE_NAV_USAGE_MODE {\n /**\n * Regular usage.\n */\n REGULAR = '',\n\n /**\n * To represent header nav.\n * In this mode, side nav is hidden when header nav is shown, and side nav is shown then header nav is hidden.\n * This mode can be used only with `SIDE_NAV_COLLAPSE_MODE.REGULAR`.\n */\n HEADER_NAV = 'header-nav',\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAUA,IAAY,yBAAL,yBAAA,wBAAA;;;;;
|
|
1
|
+
{"version":3,"file":"defs.js","names":[],"sources":["../../../src/components/ui-shell/defs.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2020\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\n/**\n * Collapse modes of side nav.\n */\nexport enum SIDE_NAV_COLLAPSE_MODE {\n /**\n * Fixed mode.\n * In this mode, side nav is non-collapsible.\n */\n FIXED = 'fixed',\n\n /**\n * Rail mode.\n * In this mode, side nav can be collapsed to a narrower width (\"rail\" look) with a toggle button.\n */\n RAIL = 'rail',\n\n /**\n * Responsive mode.\n * In this mode, side nav sticks in wider screen, and can be completely collapsed with a toggle button in narrower screen.\n */\n RESPONSIVE = 'responsive',\n}\n\n/**\n * The usage purpose of side nav.\n */\nexport enum SIDE_NAV_USAGE_MODE {\n /**\n * Regular usage.\n */\n REGULAR = '',\n\n /**\n * To represent header nav.\n * In this mode, side nav is hidden when header nav is shown, and side nav is shown then header nav is hidden.\n * This mode can be used only with `SIDE_NAV_COLLAPSE_MODE.REGULAR`.\n */\n HEADER_NAV = 'header-nav',\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAUA,IAAY,yBAAL,yBAAA,wBAAA;;;;;CAKL,uBAAA,WAAA;;;;;CAMA,uBAAA,UAAA;;;;;CAMA,uBAAA,gBAAA;;AACF,EAAA,CAAA,CAAA;;;;AAKA,IAAY,sBAAL,yBAAA,qBAAA;;;;CAIL,oBAAA,aAAA;;;;;;CAOA,oBAAA,gBAAA;;AACF,EAAA,CAAA,CAAA"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import "../../globals/settings.js";
|
|
9
9
|
import { carbonElement } from "../../globals/decorators/carbon-element.js";
|
|
10
|
-
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.
|
|
10
|
+
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.135.0/helpers/esm/decorate.js";
|
|
11
11
|
import HostListener from "../../globals/decorators/host-listener.js";
|
|
12
12
|
import "../button/defs.js";
|
|
13
13
|
import button_default from "../button/button.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-global-action.js","names":["CDSButton","styles","customElement"],"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-custom-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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,IAAA,wBAAA,MACM,8BAA8BA,eAAU;;;+BA8CZ,UAAsB;GACpD,MAAM,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"header-global-action.js","names":["CDSButton","styles","customElement"],"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-custom-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"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import "../../globals/settings.js";
|
|
9
9
|
import { carbonElement } from "../../globals/decorators/carbon-element.js";
|
|
10
|
-
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.
|
|
10
|
+
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.135.0/helpers/esm/decorate.js";
|
|
11
11
|
import iconLoader from "../../globals/internal/icon-loader.js";
|
|
12
12
|
import FocusMixin from "../../globals/mixins/focus.js";
|
|
13
13
|
import header_default from "./header.scss.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-menu-button.js","names":["styles","customElement"],"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-custom-header-menu-button\n * @csspart button The button.\n * @csspart toggle-icon The toggle icon.\n * @fires cds-custom-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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,IAAA,sBAAA,MACM,4BAA4B,WAAW,
|
|
1
|
+
{"version":3,"file":"header-menu-button.js","names":["styles","customElement"],"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-custom-header-menu-button\n * @csspart button The button.\n * @csspart toggle-icon The toggle icon.\n * @fires cds-custom-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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,IAAA,sBAAA,MACM,4BAA4B,WAAW,UAAU,CAAC,CAAC;;;gBAuB9C;2BAMW;6BAME;;kBAYX;4BASU;;CAvDrB,eAAuB;EACrB,MAAM,SAAS,CAAC,KAAK;EACrB,KAAK,SAAS;EACd,KAAK,cACH,IAAI,YACD,KAAK,YAA2C,aACjD;GACE,SAAS;GACT,YAAY;GACZ,UAAU;GACV,QAAQ,EACN,OACF;EACF,CACF,CACF;CACF;CAyCA,SAAS;EACP,MAAM,EACJ,QACA,mBACA,qBACA,UACA,cAAc,gBACZ;EACJ,MAAM,cAAc,SAAS,oBAAoB;EAOjD,OAAO,IAAI;;;iBANK,SAAS;IACtB,wBAA8B;IAC9B,8BAAoC;IACpC,6BAAmC;IACnC,gCAAsC;EACzC,CAImB,EAAE;oBACL,SAAS;sBACP,UAAU,WAAW,EAAE;iBAC5B,YAAY;UACnB,WAAW,SAAS,UAAU,QAAQ,EAAE,MAAM,cAAc,CAAC,EAAE;;;CAGvE;;;;CAKA,WAAW,cAAc;EACvB,OAAO;CACT;;2BAE2B;GACzB,GAAG,WAAW;GACd,gBAAgB;EAClB;;;gBACgBA;;AAClB;YA3EG,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,oBAAA,WAAA,UAAA,KAAA,CAAA;YAMzC,SAAS,EAAE,WAAW,sBAAsB,CAAC,CAAA,GAAA,oBAAA,WAAA,qBAAA,KAAA,CAAA;YAM7C,SAAS,EAAE,WAAW,wBAAwB,CAAC,CAAA,GAAA,oBAAA,WAAA,uBAAA,KAAA,CAAA;YAM/C,SAAS;CAAE,SAAS;CAAM,WAAW;AAAgB,CAAC,CAAA,GAAA,oBAAA,WAAA,gBAAA,KAAA,CAAA;YAMtD,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,oBAAA,WAAA,YAAA,KAAA,CAAA;YAMzC,SAAS;CACR,MAAM;CACN,WAAW;AACb,CAAC,CAAA,GAAA,oBAAA,WAAA,sBAAA,KAAA,CAAA;kCAxDFC,cAAc,wBAA8B,CAAA,GAAA,mBAAA;AAoG7C,IAAA,6BAAe"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import "../../globals/settings.js";
|
|
9
9
|
import { carbonElement } from "../../globals/decorators/carbon-element.js";
|
|
10
|
-
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.
|
|
10
|
+
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.135.0/helpers/esm/decorate.js";
|
|
11
11
|
import header_nav_item_default from "./header-nav-item.js";
|
|
12
12
|
//#region src/components/ui-shell/header-menu-item.ts
|
|
13
13
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-menu-item.js","names":["CDSHeaderNavItem","customElement"],"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-custom-header-menu-item\n */\n@customElement(`${prefix}-header-menu-item`)\nclass CDSHeaderMenuItem extends CDSHeaderNavItem {}\n\nexport default CDSHeaderMenuItem;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgBA,IAAA,oBAAA,MACM,0BAA0BA,wBAAiB;
|
|
1
|
+
{"version":3,"file":"header-menu-item.js","names":["CDSHeaderNavItem","customElement"],"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-custom-header-menu-item\n */\n@customElement(`${prefix}-header-menu-item`)\nclass CDSHeaderMenuItem extends CDSHeaderNavItem {}\n\nexport default CDSHeaderMenuItem;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgBA,IAAA,oBAAA,MACM,0BAA0BA,wBAAiB,CAAC;gCADjDC,cAAc,sBAA4B,CAAA,GAAA,iBAAA;AAG3C,IAAA,2BAAe"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import "../../globals/settings.js";
|
|
9
9
|
import { forEach } from "../../globals/internal/collection-helpers.js";
|
|
10
10
|
import { carbonElement } from "../../globals/decorators/carbon-element.js";
|
|
11
|
-
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.
|
|
11
|
+
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.135.0/helpers/esm/decorate.js";
|
|
12
12
|
import iconLoader from "../../globals/internal/icon-loader.js";
|
|
13
13
|
import FocusMixin from "../../globals/mixins/focus.js";
|
|
14
14
|
import HostListener from "../../globals/decorators/host-listener.js";
|