@carbon/web-components 2.57.0 → 2.58.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 +6 -6
- 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/accordion.scss.js +1 -1
- package/es/components/accordion/accordion.scss.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/ai-label.scss.js +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.d.ts +4 -0
- package/es/components/button/button-set.d.ts.map +1 -1
- package/es/components/button/button-set.js +5 -5
- 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/button.scss.js +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/code-snippet.scss.js +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/combo-button.scss.js +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/contained-list/contained-list.scss.js +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/content-switcher.scss.js +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/copy-button/copy-button.scss.js +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.d.ts +8 -0
- package/es/components/data-table/table-batch-actions.d.ts.map +1 -1
- package/es/components/data-table/table-batch-actions.js +10 -9
- 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/dialog/dialog.scss.js +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/file-uploader/file-uploader.scss.js +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.d.ts +1 -0
- package/es/components/fluid-password-input/fluid-password-input.d.ts.map +1 -1
- package/es/components/fluid-password-input/fluid-password-input.js +4 -3
- 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.d.ts +1 -0
- package/es/components/fluid-text-input/fluid-text-input.d.ts.map +1 -1
- package/es/components/fluid-text-input/fluid-text-input.js +4 -3
- 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/modal/modal.scss.js +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/actionable-notification.scss.js +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/inline-notification.scss.js +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/notification/toast-notification.scss.js +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.d.ts +8 -0
- package/es/components/overflow-menu/overflow-menu.d.ts.map +1 -1
- package/es/components/overflow-menu/overflow-menu.js +11 -10
- package/es/components/overflow-menu/overflow-menu.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu.scss.js +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/pagination.scss.js +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/pagination-nav/pagination-nav.scss.js +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/popover/popover.scss.js +1 -1
- package/es/components/progress-bar/defs.js.map +1 -1
- package/es/components/progress-bar/progress-bar.d.ts +1 -0
- package/es/components/progress-bar/progress-bar.d.ts.map +1 -1
- package/es/components/progress-bar/progress-bar.js +5 -5
- 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-indicator.scss.js +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/skip-to-content/skip-to-content.scss.js +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/slug/slug.scss.js +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.js.map +1 -1
- package/es/components/tabs/stories/tabs-wrapper.js +1 -1
- 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.js +1 -1
- package/es/components/tabs/tabs-vertical.js.map +1 -1
- package/es/components/tabs/tabs.js +1 -1
- package/es/components/tabs/tabs.js.map +1 -1
- package/es/components/tabs/tabs.scss.js +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/tag/tag.scss.js +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/toggle-tip/toggletip.scss.js +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/tooltip/tooltip.scss.js +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/header.scss.js +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/accordion.scss.js +1 -1
- package/es-custom/components/accordion/accordion.scss.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/ai-label.scss.js +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.d.ts +4 -0
- package/es-custom/components/button/button-set.d.ts.map +1 -1
- package/es-custom/components/button/button-set.js +5 -5
- 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/button.scss.js +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/code-snippet.scss.js +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/combo-button.scss.js +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/contained-list/contained-list.scss.js +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/content-switcher.scss.js +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/copy-button/copy-button.scss.js +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.d.ts +8 -0
- package/es-custom/components/data-table/table-batch-actions.d.ts.map +1 -1
- package/es-custom/components/data-table/table-batch-actions.js +10 -9
- 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/dialog/dialog.scss.js +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/file-uploader/file-uploader.scss.js +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.d.ts +1 -0
- package/es-custom/components/fluid-password-input/fluid-password-input.d.ts.map +1 -1
- package/es-custom/components/fluid-password-input/fluid-password-input.js +4 -3
- 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.d.ts +1 -0
- package/es-custom/components/fluid-text-input/fluid-text-input.d.ts.map +1 -1
- package/es-custom/components/fluid-text-input/fluid-text-input.js +4 -3
- 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/modal/modal.scss.js +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/actionable-notification.scss.js +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/inline-notification.scss.js +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/notification/toast-notification.scss.js +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.d.ts +8 -0
- package/es-custom/components/overflow-menu/overflow-menu.d.ts.map +1 -1
- package/es-custom/components/overflow-menu/overflow-menu.js +11 -10
- package/es-custom/components/overflow-menu/overflow-menu.js.map +1 -1
- package/es-custom/components/overflow-menu/overflow-menu.scss.js +1 -1
- package/es-custom/components/page-header/page-header-breadcrumb.js +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/pagination.scss.js +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/pagination-nav/pagination-nav.scss.js +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/popover/popover.scss.js +1 -1
- package/es-custom/components/progress-bar/defs.js.map +1 -1
- package/es-custom/components/progress-bar/progress-bar.d.ts +1 -0
- package/es-custom/components/progress-bar/progress-bar.d.ts.map +1 -1
- package/es-custom/components/progress-bar/progress-bar.js +5 -5
- 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-indicator.scss.js +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/skip-to-content/skip-to-content.scss.js +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/slug/slug.scss.js +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.js.map +1 -1
- package/es-custom/components/tabs/stories/tabs-wrapper.js +1 -1
- 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.js +1 -1
- package/es-custom/components/tabs/tabs-vertical.js.map +1 -1
- package/es-custom/components/tabs/tabs.js +1 -1
- package/es-custom/components/tabs/tabs.js.map +1 -1
- package/es-custom/components/tabs/tabs.scss.js +1 -1
- package/es-custom/components/tag/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/tag/tag.scss.js +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/toggle-tip/toggletip.scss.js +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/tooltip/tooltip.scss.js +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/header.scss.js +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/button-set.d.ts +4 -0
- package/lib/components/button/button-set.d.ts.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/data-table/table-batch-actions.d.ts +8 -0
- package/lib/components/data-table/table-batch-actions.d.ts.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/fluid-password-input/fluid-password-input.d.ts +1 -0
- package/lib/components/fluid-password-input/fluid-password-input.d.ts.map +1 -1
- package/lib/components/fluid-text-input/fluid-text-input.d.ts +1 -0
- package/lib/components/fluid-text-input/fluid-text-input.d.ts.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/overflow-menu/overflow-menu.d.ts +8 -0
- package/lib/components/overflow-menu/overflow-menu.d.ts.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-bar/progress-bar.d.ts +1 -0
- package/lib/components/progress-bar/progress-bar.d.ts.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.js.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/accordion/accordion.scss +32 -28
- package/scss/components/grid/grid-story.scss +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defs.js","names":[],"sources":["../../../src/components/number-input/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\nexport { FORM_ELEMENT_COLOR_SCHEME as NUMBER_INPUT_COLOR_SCHEME } from '../../globals/shared-enums';\n\n/**\n * Number input step direction\n */\nexport type NUMBER_INPUT_STEP_DIRECTION = 'down' | 'up';\n\n/**\n * Works in conjunction with VALIDATION_STATUS\n */\nexport enum NUMBER_INPUT_VALIDATION_STATUS {\n EXCEEDED_MAXIMUM = 'exceeded_maximum',\n EXCEEDED_MINIMUM = 'exceeded_minimum',\n}\n"],"mappings":";;;;;;;;;;;;AAiBA,IAAY,iCAAL,yBAAA,gCAAA;
|
|
1
|
+
{"version":3,"file":"defs.js","names":[],"sources":["../../../src/components/number-input/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\nexport { FORM_ELEMENT_COLOR_SCHEME as NUMBER_INPUT_COLOR_SCHEME } from '../../globals/shared-enums';\n\n/**\n * Number input step direction\n */\nexport type NUMBER_INPUT_STEP_DIRECTION = 'down' | 'up';\n\n/**\n * Works in conjunction with VALIDATION_STATUS\n */\nexport enum NUMBER_INPUT_VALIDATION_STATUS {\n EXCEEDED_MAXIMUM = 'exceeded_maximum',\n EXCEEDED_MINIMUM = 'exceeded_minimum',\n}\n"],"mappings":";;;;;;;;;;;;AAiBA,IAAY,iCAAL,yBAAA,gCAAA;CACL,+BAAA,sBAAA;CACA,+BAAA,sBAAA;;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 "../text-input/defs.js";
|
|
12
12
|
import "../text-input/text-input.js";
|
|
13
13
|
import number_input_default from "./number-input.scss.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-input-skeleton.js","names":["styles","customElement"],"sources":["../../../src/components/number-input/number-input-skeleton.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 { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport styles from './number-input.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { INPUT_SIZE } from '../text-input/text-input';\n\n/**\n * Skeleton of number input.\n */\n@customElement(`${prefix}-number-input-skeleton`)\nclass CDSNumberInputSkeleton extends LitElement {\n /**\n * `true` if the label should be hidden. Corresponds to the attribute with the same name.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-label' })\n hideLabel = false;\n\n /**\n * Specify the size of the Number Input skeleton.\n */\n @property({ reflect: true })\n size = INPUT_SIZE.MEDIUM;\n\n render() {\n const { hideLabel, size } = this;\n return html`\n ${hideLabel\n ? ''\n : html` <span class=\"${prefix}--label ${prefix}--skeleton\"></span> `}\n <div\n class=\"${prefix}--number ${prefix}--skeleton ${prefix}--number--${size}\"></div>\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSNumberInputSkeleton;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,IAAA,yBAAA,MACM,+BAA+B,WAAW;;;mBAKlC;;;CAQZ,SAAS;EACP,MAAM,EAAE,WAAW,SAAS;
|
|
1
|
+
{"version":3,"file":"number-input-skeleton.js","names":["styles","customElement"],"sources":["../../../src/components/number-input/number-input-skeleton.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 { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport styles from './number-input.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { INPUT_SIZE } from '../text-input/text-input';\n\n/**\n * Skeleton of number input.\n */\n@customElement(`${prefix}-number-input-skeleton`)\nclass CDSNumberInputSkeleton extends LitElement {\n /**\n * `true` if the label should be hidden. Corresponds to the attribute with the same name.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-label' })\n hideLabel = false;\n\n /**\n * Specify the size of the Number Input skeleton.\n */\n @property({ reflect: true })\n size = INPUT_SIZE.MEDIUM;\n\n render() {\n const { hideLabel, size } = this;\n return html`\n ${hideLabel\n ? ''\n : html` <span class=\"${prefix}--label ${prefix}--skeleton\"></span> `}\n <div\n class=\"${prefix}--number ${prefix}--skeleton ${prefix}--number--${size}\"></div>\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSNumberInputSkeleton;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,IAAA,yBAAA,MACM,+BAA+B,WAAW;;;mBAKlC;;;CAQZ,SAAS;EACP,MAAM,EAAE,WAAW,SAAS;EAC5B,OAAO,IAAI;QACP,YACE,KACA,IAAI,iBAAA,MAAwB,UAAA,MAAiB,sBAAsB;;uBAErD,WAAA,MAAkB,aAAA,MAAoB,YAAY,KAAK;;CAE7E;;gBAEgBA;;AAClB;YArBG,SAAS;CAAE,MAAM;CAAS,SAAS;CAAM,WAAW;AAAa,CAAC,CAAA,GAAA,uBAAA,WAAA,aAAA,KAAA,CAAA;YAMlE,SAAS,EAAE,SAAS,KAAK,CAAC,CAAA,GAAA,uBAAA,WAAA,QAAA,KAAA,CAAA;qCAX5BC,cAAc,2BAAiC,CAAA,GAAA,sBAAA;AA4BhD,IAAA,gCAAe"}
|
|
@@ -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 if_non_empty_default from "../../globals/directives/if-non-empty.js";
|
|
13
13
|
import "../text-input/defs.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-input.js","names":["CDSTextInput","ifNonEmpty","styles","customElement"],"sources":["../../../src/components/number-input/number-input.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 { LitElement, html } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { prefix } from '../../globals/settings';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport Add16 from '@carbon/icons/es/add/16.js';\nimport Subtract16 from '@carbon/icons/es/subtract/16.js';\nimport WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';\nimport WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport {\n NUMBER_INPUT_VALIDATION_STATUS,\n NUMBER_INPUT_STEP_DIRECTION,\n} from './defs';\nimport styles from './number-input.scss?lit';\nimport CDSTextInput, { INPUT_SIZE } from '../text-input/text-input';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { NumberFormatter, NumberParser } from '@carbon/utilities';\n\nexport { NUMBER_INPUT_VALIDATION_STATUS };\n\n/**\n * Number input type\n */\nexport enum NUMBER_INPUT_TYPE {\n /**\n * Number type - uses native number input\n */\n NUMBER = 'number',\n /**\n * Text type - uses text input with locale-based formatting\n */\n TEXT = 'text',\n}\n\n/**\n * Number input.\n *\n * @element cds-custom-number-input\n * @fires cds-custom-number-input\n * The name of the custom event fired after the value is changed upon a user gesture.\n * @slot helper-text - The helper text.\n * @slot label-text - The label text.\n * @slot validity-message - The validity message. If present and non-empty, this input shows the UI of its invalid state.\n */\n@customElement(`${prefix}-number-input`)\nclass CDSNumberInput extends CDSTextInput {\n /**\n * The underlying input element\n */\n @query('input')\n protected _input!: HTMLInputElement;\n\n /**\n * The current number value (used for type=\"text\")\n */\n @state()\n protected _numberValue: number = NaN;\n\n /**\n * The previous number value (used for type=\"text\")\n */\n @state()\n protected _previousNumberValue: number = NaN;\n\n /**\n * The current input text value (used for type=\"text\")\n */\n @state()\n protected _inputValue: string = '';\n\n /**\n * Internal validation state (used for type=\"text\")\n */\n @state()\n protected _invalid: boolean = false;\n\n /**\n * Flag to track if the component has been interacted with by the user\n * Used to prevent defaultValue from overriding user-cleared input\n */\n @state()\n protected _hasUserInteraction: boolean = false;\n\n /**\n * NumberFormatter instance for locale-based formatting\n */\n protected _numberFormatter: NumberFormatter | null = null;\n\n /**\n * NumberParser instance for locale-based parsing\n */\n protected _numberParser: NumberParser | null = null;\n\n /**\n * Handles `input` event on the `input` in the shadow DOM.\n */\n protected _handleInput(event: Event) {\n const { target } = event;\n const { value } = target as HTMLInputElement;\n\n if (this.type === NUMBER_INPUT_TYPE.NUMBER) {\n const direction =\n this._value !== undefined && Number(value) > Number(this._value)\n ? 'up'\n : 'down';\n\n this._dispatchInputEvent(value, direction);\n this._value = value;\n // Request update to update invalid state\n this.requestUpdate();\n } else if (this.type === NUMBER_INPUT_TYPE.TEXT) {\n const _value = this.allowEmpty && value === '' ? '' : value;\n const parsedValue = this._numberParser?.parse(_value) ?? NaN;\n\n // Mark that user has interacted with the input\n this._hasUserInteraction = true;\n\n this._numberValue = parsedValue;\n this._inputValue = _value;\n\n // Update _value to keep it synchronized with the current numeric value\n // This ensures locale/formatOptions changes use the current value, not stale data\n if (!isNaN(parsedValue)) {\n this._value = String(parsedValue);\n } else if (this.allowEmpty && _value === '') {\n this._value = '';\n }\n\n // Validate on input when validate function is provided\n if (this.validate) {\n const isValid = this.validate(_value, this.locale);\n // Set internal invalid state only if validate explicitly returns false\n // true or undefined means valid (undefined defers to built-in validation)\n this._invalid = isValid === false;\n } else {\n // Clear internal invalid state when no validation function\n this._invalid = false;\n }\n }\n }\n\n /**\n * Handles `click` event on the down button in the shadow DOM.\n */\n protected _handleUserInitiatedStepDown() {\n const { _input: input } = this;\n const valueChanged = this._handleStep('down');\n\n // Only dispatch event if value actually changed\n if (valueChanged) {\n const newValue =\n this.type === NUMBER_INPUT_TYPE.TEXT ? this._numberValue : input.value;\n\n this._dispatchInputEvent(newValue, 'down');\n }\n }\n\n /**\n * Handles `click` event on the up button in the shadow DOM.\n */\n protected _handleUserInitiatedStepUp() {\n const { _input: input } = this;\n const valueChanged = this._handleStep('up');\n\n // Only dispatch event if value actually changed\n if (valueChanged) {\n const newValue =\n this.type === NUMBER_INPUT_TYPE.TEXT ? this._numberValue : input.value;\n\n this._dispatchInputEvent(newValue, 'up');\n }\n }\n\n /**\n * Handles `focus` event on the `input` in the shadow DOM.\n */\n protected _handleFocus(event: FocusEvent) {\n if (this.disableWheel) {\n (event.target as HTMLInputElement).addEventListener(\n 'wheel',\n this._preventWheel,\n { passive: false }\n );\n }\n }\n\n /**\n * Handles `blur` event on the `input` in the shadow DOM.\n */\n protected _handleBlur(event: FocusEvent) {\n if (this.disableWheel) {\n (event.target as HTMLInputElement).removeEventListener(\n 'wheel',\n this._preventWheel\n );\n }\n\n if (this.type === NUMBER_INPUT_TYPE.TEXT) {\n const rawValue = (event.target as HTMLInputElement).value;\n\n // Validate raw input\n const validationResult = this.validate\n ? this.validate(rawValue, this.locale)\n : true;\n\n // undefined means defer to built-in validation (treat as valid for custom validation)\n const isValid = validationResult !== false;\n\n if (isValid) {\n const formattedValue = isNaN(this._numberValue)\n ? ''\n : (this._numberFormatter?.format(this._numberValue) ?? '');\n\n this._inputValue = formattedValue;\n\n // Re-parse the formatted value to ensure consistency\n const parsedFormattedValue =\n this._numberParser?.parse(formattedValue) ?? NaN;\n\n // Dispatch change event if value changed\n if (\n !(isNaN(this._previousNumberValue) && isNaN(parsedFormattedValue)) &&\n this._previousNumberValue !== parsedFormattedValue\n ) {\n const direction =\n this._previousNumberValue < parsedFormattedValue ? 'up' : 'down';\n\n this._dispatchInputEvent(parsedFormattedValue, direction);\n }\n\n this._numberValue = parsedFormattedValue;\n this._previousNumberValue = parsedFormattedValue;\n this._value = String(parsedFormattedValue);\n this._invalid = false;\n } else {\n this._invalid = true;\n // Keep the invalid input as-is\n this._inputValue = rawValue;\n }\n\n this.requestUpdate();\n }\n }\n\n /**\n * Handles keyboard events for arrow up/down when type=\"text\"\n */\n protected _handleKeyDown(event: KeyboardEvent) {\n if (this.readonly) {\n return;\n }\n if (this.type === NUMBER_INPUT_TYPE.TEXT) {\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n const valueChanged = this._handleStep('up');\n\n // Only dispatch event if value actually changed\n if (valueChanged) {\n this._dispatchInputEvent(this._numberValue, 'up');\n }\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n const valueChanged = this._handleStep('down');\n\n // Only dispatch event if value actually changed\n if (valueChanged) {\n this._dispatchInputEvent(this._numberValue, 'down');\n }\n }\n }\n }\n\n /**\n * Prevents wheel events from changing the input value.\n */\n protected _preventWheel = (event: WheelEvent) => {\n event.preventDefault();\n };\n\n protected _min = '';\n protected _max = '';\n protected _step = '1';\n\n /**\n * The minimum value allowed in the input\n */\n @property({ reflect: true })\n get min() {\n return this._min.toString();\n }\n\n set min(value) {\n const oldValue = this.min;\n this._min = value;\n this.requestUpdate('min', oldValue);\n }\n\n /**\n * The maximum value allowed in the input\n */\n @property({ reflect: true })\n get max() {\n return this._max.toString();\n }\n\n set max(value) {\n const oldValue = this.max;\n this._max = value;\n this.requestUpdate('max', oldValue);\n }\n\n /**\n * The amount the value should increase or decrease by\n */\n @property({ reflect: true })\n get step() {\n return this._step.toString();\n }\n\n set step(value) {\n const oldValue = this.step;\n this._step = value;\n this.requestUpdate('step', oldValue);\n }\n\n /**\n * Provide a description for up/down icons that can be read by screen readers\n */\n @property({ attribute: 'icon-description' })\n iconDescription = '';\n\n /**\n * Aria text for the button that increments the value\n */\n @property({ attribute: 'increment-button-assistive-text' })\n incrementButtonAssistiveText = 'increase number input';\n\n /**\n * Aria text for the button that decrements the value\n */\n @property({ attribute: 'decrement-button-assistive-text' })\n decrementButtonAssistiveText = 'decrease number input';\n\n /**\n * Specify whether you want the steppers to be hidden\n */\n @property({ type: Boolean, attribute: 'hide-steppers', reflect: true })\n hideSteppers = false;\n\n /**\n * `true` to allow empty string.\n */\n @property({ type: Boolean, attribute: 'allow-empty', reflect: true })\n allowEmpty = false;\n\n /**\n * Optional starting value for uncontrolled state\n */\n @property({ attribute: 'default-value' })\n defaultValue = '';\n\n /**\n * Specify if the wheel functionality for the input should be disabled, or not\n */\n @property({ type: Boolean, attribute: 'disable-wheel', reflect: true })\n disableWheel = false;\n\n /**\n * Set to true to use the fluid variant.\n */\n @property({ type: Boolean })\n isFluid = false;\n\n /**\n * The input box size.\n */\n @property({ reflect: true })\n size = INPUT_SIZE.MEDIUM;\n\n /**\n * **Experimental**: Specify if the input should be of type text or number.\n * Use type=\"text\" with `locale`, `formatOptions`, and guide user input with `pattern` and `inputMode`.\n * @experimental\n */\n @property({ reflect: true })\n // @ts-expect-error - Override parent type property with number-specific types\n type: 'number' | 'text' = NUMBER_INPUT_TYPE.NUMBER;\n\n /**\n * **Experimental:** Specify a BCP47 language code for parsing and formatting.\n * Use with `type=\"text\"`, has no effect when `type=\"number\"`.\n * @experimental\n */\n @property({ reflect: true })\n locale = 'en-US';\n\n /**\n * **Experimental:** Specify Intl.NumberFormat options applied to internal number parsing and formatting.\n * Use with `type=\"text\"`, has no effect when `type=\"number\"`.\n * @experimental\n */\n @property({ type: Object, attribute: 'format-options' })\n formatOptions: Intl.NumberFormatOptions = {};\n\n /**\n * When type=\"text\", provide an optional pattern to restrict user input.\n */\n @property({ reflect: true })\n pattern = '[0-9]*';\n\n /**\n * Instruct the browser which keyboard to display on mobile devices.\n */\n @property({ reflect: true, attribute: 'input-mode' })\n inputMode:\n | 'none'\n | 'text'\n | 'tel'\n | 'url'\n | 'email'\n | 'numeric'\n | 'decimal'\n | 'search' = 'decimal';\n\n /**\n * Provide the value stepping should begin at when the input is empty\n */\n @property({ type: Number, attribute: 'step-start-value' })\n stepStartValue = 0;\n\n /**\n * Optional validation function for type=\"text\".\n * Should return false to fail validation, true to pass, or undefined to defer to built-in validation.\n * Note: the min and max attributes still takes priority if they are defined.\n */\n validate?: (value: string, locale: string) => boolean | undefined;\n\n /**\n * Override value setter to handle formatting for type=\"text\"\n */\n @property({ reflect: true })\n override get value() {\n return super.value;\n }\n\n override set value(val: string) {\n const oldValue = this._value;\n\n if (this.type === NUMBER_INPUT_TYPE.TEXT) {\n // Handle empty string\n if (val === '') {\n this._numberValue = NaN;\n this._previousNumberValue = NaN;\n this._inputValue = '';\n this._value = '';\n this.requestUpdate('value', oldValue);\n if (this._input) {\n this._input.value = '';\n }\n return;\n }\n\n // Ensure formatters are initialized before using them\n if (!this._numberFormatter || !this._numberParser) {\n this._initializeFormatters();\n }\n\n // Parse the value: string values are parsed, numbers are used directly\n let parsed: number;\n if (typeof val === 'string') {\n parsed = this._numberParser?.parse(val) ?? Number(val);\n } else {\n parsed = val as number;\n }\n\n // Synchronize all text mode state\n this._syncTextModeState(parsed, true);\n this.requestUpdate('value', oldValue);\n } else {\n // For type=\"number\" or empty values, use parent behavior\n super.value = val;\n }\n }\n\n /**\n * Initialize formatters when component connects\n */\n connectedCallback() {\n super.connectedCallback();\n this._initializeFormatters();\n }\n\n /**\n * Called before updates to initialize default value\n */\n willUpdate(changedProperties: Map<string, unknown>) {\n super.willUpdate?.(changedProperties);\n\n // Handle type switching before render\n if (changedProperties.has('type')) {\n this._initializeFormatters();\n this._invalid = false;\n\n const currentValue = this._value || this.value;\n if (currentValue) {\n const parsed = this._numberParser?.parse(currentValue) ?? NaN;\n\n if (!isNaN(parsed)) {\n this._numberValue = parsed;\n this._previousNumberValue = parsed;\n\n if (this.type === NUMBER_INPUT_TYPE.TEXT) {\n this._inputValue = this._numberFormatter?.format(parsed) ?? '';\n this._value = currentValue;\n } else {\n const plainValue = parsed.toString();\n this._value = plainValue;\n super.value = plainValue;\n }\n }\n }\n }\n\n // Handle locale or formatOptions changes before render\n if (\n changedProperties.has('locale') ||\n changedProperties.has('formatOptions')\n ) {\n this._initializeFormatters();\n\n if (this.type === NUMBER_INPUT_TYPE.TEXT) {\n // Re-format with new formatters\n if (this._value) {\n const parsed = Number(this._value);\n if (!isNaN(parsed)) {\n this._syncTextModeState(parsed);\n }\n } else if (!isNaN(this._numberValue)) {\n this._syncTextModeState(this._numberValue);\n }\n }\n }\n\n // Initialize from defaultValue if no value is set\n // This runs before every render, but only sets _value if it's empty\n // AND the user hasn't interacted with the input yet\n if (!this._value && this.defaultValue && !this._hasUserInteraction) {\n if (this.type === NUMBER_INPUT_TYPE.TEXT) {\n const parsed = this._numberParser?.parse(this.defaultValue) ?? NaN;\n this._syncTextModeState(parsed);\n } else {\n // Set the internal value to defaultValue for non-text types\n this._value = this.defaultValue;\n }\n }\n }\n\n /**\n * Update formatters when properties change\n */\n // @ts-expect-error - Override to accept changedProperties parameter\n updated(changedProperties: Map<string, unknown>) {\n super.updated?.();\n // Update the DOM input element if formatOptions or locale changed\n if (\n (changedProperties.has('locale') ||\n changedProperties.has('formatOptions')) &&\n this.type === NUMBER_INPUT_TYPE.TEXT &&\n this._input\n ) {\n this._input.value = this._inputValue;\n }\n }\n\n /**\n * Initialize NumberFormatter and NumberParser instances\n */\n protected _initializeFormatters() {\n if (this.type === NUMBER_INPUT_TYPE.TEXT) {\n try {\n this._numberFormatter = new NumberFormatter(\n this.locale,\n this.formatOptions\n );\n this._numberParser = new NumberParser(this.locale, this.formatOptions);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('[NumberInput] Failed to initialize formatters:', error);\n }\n }\n }\n\n /**\n * Get input validity\n */\n _getInputValidity() {\n if (this.invalid || this._invalid) {\n return false;\n }\n\n // Determine which value to validate based on type and validate function\n // Match React's logic: validate ? inputValue : (type === 'number' ? value : numberValue)\n const valueToCheck =\n this.validate && this.type === NUMBER_INPUT_TYPE.TEXT\n ? this._inputValue\n : this.type === NUMBER_INPUT_TYPE.TEXT\n ? this._numberValue\n : this.value;\n\n // Skip validation if value is empty and allowEmpty is true\n if (valueToCheck === '') {\n const result = this.allowEmpty;\n return result;\n }\n\n // Normalize the value to a number\n let numericValue: number;\n if (typeof valueToCheck === 'string') {\n // For type=\"number\", use simple Number() conversion\n // For type=\"text\", use NumberParser to handle formatted numbers like \"1,234\"\n if (this.type === NUMBER_INPUT_TYPE.NUMBER) {\n numericValue = Number(valueToCheck);\n } else {\n numericValue = this._numberParser?.parse(valueToCheck) ?? NaN;\n }\n } else if (typeof valueToCheck === 'number') {\n numericValue = valueToCheck;\n } else {\n numericValue = NaN;\n }\n\n // If value is NaN, check allowEmpty\n if (isNaN(numericValue)) {\n const result = this.allowEmpty;\n return result;\n }\n\n // Use custom validate ONLY for formatting validation (only for type=\"text\")\n if (this.validate && this.type === NUMBER_INPUT_TYPE.TEXT) {\n const isFormatValid = this.validate(this._inputValue, this.locale);\n if (isFormatValid === false) {\n return false; // invalid format\n }\n }\n\n // Check min/max bounds on the numeric value\n if (this.max !== '' && numericValue > Number(this.max)) {\n return false;\n }\n if (this.min !== '' && numericValue < Number(this.min)) {\n return false;\n }\n return true;\n }\n\n /**\n * Get decimal places from a number\n */\n getDecimalPlaces = (num: number) => {\n const parts = num.toString().split('.');\n return parts[1] ? parts[1].length : 0;\n };\n\n /**\n * Clamp a value between min and max\n */\n protected _clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n }\n\n /**\n * Handle stepping up or down\n * @returns true if the value changed, false if it was clamped to the same value\n */\n protected _handleStep(direction: NUMBER_INPUT_STEP_DIRECTION) {\n const currentValue =\n this.type === NUMBER_INPUT_TYPE.NUMBER\n ? Number(this._input.value)\n : this._numberValue;\n\n let rawValue: number;\n\n if (\n Number.isNaN(currentValue) ||\n currentValue === null ||\n currentValue === undefined\n ) {\n if (typeof this.stepStartValue === 'number' && this.stepStartValue) {\n rawValue = this.stepStartValue;\n } else if (\n (this.min &&\n Number(this.min) < 0 &&\n this.max &&\n Number(this.max) > 0) ||\n (!this.max && !this.min) ||\n this.max\n ) {\n rawValue = direction === 'up' ? 1 : -1;\n } else if (\n (this.min &&\n Number(this.min) > 0 &&\n this.max &&\n Number(this.max) > 0) ||\n this.min\n ) {\n rawValue = Number(this.min);\n } else {\n rawValue = 0;\n }\n } else if (direction === 'up') {\n rawValue = currentValue + Number(this.step);\n } else {\n rawValue = currentValue - Number(this.step);\n }\n\n const precision = Math.max(\n this.getDecimalPlaces(currentValue),\n this.getDecimalPlaces(Number(this.step))\n );\n\n const floatValue = parseFloat(Number(rawValue).toFixed(precision));\n const newValue = this._clamp(\n floatValue,\n this.min !== '' ? Number(this.min) : -Infinity,\n this.max !== '' ? Number(this.max) : Infinity\n );\n\n // Check if value actually changed\n const valueChanged = currentValue !== newValue;\n\n if (this.type === NUMBER_INPUT_TYPE.NUMBER) {\n this._value = String(newValue);\n this.value = this._value;\n } else if (this.type === NUMBER_INPUT_TYPE.TEXT) {\n // Synchronize text mode state after step operation\n this._syncTextModeState(newValue);\n this.requestUpdate();\n }\n\n return valueChanged;\n }\n\n /**\n * Handles incrementing the value in the input\n */\n stepUp() {\n this._handleStep('up');\n }\n\n /**\n * Handles decrementing the value in the input\n */\n stepDown() {\n this._handleStep('down');\n }\n\n protected _getInputValue() {\n if (this.type === NUMBER_INPUT_TYPE.TEXT) {\n // For type=\"text\", use _inputValue directly without falling back to defaultValue\n // defaultValue is only used during initialization (in willUpdate)\n return this._inputValue;\n }\n\n return this._value || this.defaultValue || '';\n }\n\n protected _dispatchInputEvent(\n value: string | number,\n direction: NUMBER_INPUT_STEP_DIRECTION\n ) {\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof CDSNumberInput).eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value,\n direction,\n },\n })\n );\n }\n\n /**\n * Synchronizes text mode state by formatting a numeric value and updating all related state variables.\n * This centralizes the logic for managing _numberValue, _inputValue, _previousNumberValue, and _value.\n *\n * @param numericValue - The numeric value to format and synchronize\n * @param updateInput - Whether to update the DOM input element (default: false)\n */\n protected _syncTextModeState(numericValue: number, updateInput = false) {\n // Format the numeric value\n const formattedValue = isNaN(numericValue)\n ? ''\n : (this._numberFormatter?.format(numericValue) ?? String(numericValue));\n\n // Parse the formatted value back to ensure consistency\n // (formatting can alter the number, e.g., rounding)\n const parsedValue = formattedValue\n ? (this._numberParser?.parse(formattedValue) ?? numericValue)\n : numericValue;\n\n // Update all state variables\n this._numberValue = parsedValue;\n this._previousNumberValue = parsedValue;\n this._inputValue = formattedValue;\n this._value = String(parsedValue);\n\n // Update DOM input if requested\n if (updateInput && this._input) {\n this._input.value = formattedValue;\n }\n }\n\n render() {\n const {\n _handleInput: handleInput,\n _handleUserInitiatedStepDown: handleUserInitiatedStepDown,\n _handleUserInitiatedStepUp: handleUserInitiatedStepUp,\n _handleFocus: handleFocus,\n _handleBlur: handleBlur,\n _handleKeyDown: handleKeyDown,\n } = this;\n\n const isValid = this._getInputValidity();\n const invalidIcon = iconLoader(WarningFilled16, {\n class: `${prefix}--number__invalid`,\n });\n\n const warnIcon = iconLoader(WarningAltFilled16, {\n class: `${prefix}--number__invalid ${prefix}--number__invalid--warning`,\n });\n\n const normalizedProps: {\n disabled: boolean;\n invalid: boolean;\n warn: boolean;\n 'slot-name': string;\n 'slot-text': string;\n icon: ReturnType<typeof iconLoader>;\n buttonsDisabled: boolean;\n } = {\n disabled: this.disabled,\n invalid: !this.readonly && !isValid,\n warn: !this.readonly && isValid && this.warn,\n 'slot-name': '',\n 'slot-text': '',\n icon: null,\n buttonsDisabled: this.disabled || this.readonly,\n };\n\n const wrapperClasses = classMap({\n [`${prefix}--number`]: true,\n [`${prefix}--number--${this.size}`]: this.size,\n [`${prefix}--number--nosteppers`]: this.hideSteppers,\n [`${prefix}--number--readonly`]: this.readonly,\n });\n\n const inputWrapperClasses = classMap({\n [`${prefix}--number__input-wrapper`]: true,\n [`${prefix}--number__input-wrapper--warning`]: normalizedProps.warn,\n [`${prefix}--number__input-wrapper--decorator`]: this._hasAILabel,\n });\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: normalizedProps.disabled,\n [`${prefix}--visually-hidden`]: this.hideLabel,\n });\n\n const helperTextClasses = classMap({\n [`${prefix}--form__helper-text`]: true,\n [`${prefix}--form__helper-text--disabled`]: normalizedProps.disabled,\n });\n\n const inputValue = this._getInputValue();\n\n const incrementButton = html`\n <button\n class=\"${prefix}--number__control-btn up-icon\"\n aria-label=\"${this.iconDescription ||\n this.incrementButtonAssistiveText}\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n type=\"button\"\n ?disabled=${normalizedProps.buttonsDisabled}\n @click=${handleUserInitiatedStepUp}>\n ${iconLoader(Add16)}\n </button>\n <div class=\"${prefix}--number__rule-divider\"></div>\n `;\n\n const decrementButton = html`\n <button\n class=\"${prefix}--number__control-btn down-icon\"\n aria-label=\"${this.iconDescription ||\n this.decrementButtonAssistiveText}\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n type=\"button\"\n ?disabled=${normalizedProps.buttonsDisabled}\n @click=${handleUserInitiatedStepDown}>\n ${iconLoader(Subtract16)}\n </button>\n <div class=\"${prefix}--number__rule-divider\"></div>\n `;\n\n const input = html`\n <input\n autocomplete=\"${ifNonEmpty(this.autocomplete)}\"\n ?autofocus=\"${this.autofocus}\"\n ?data-invalid=\"${normalizedProps.invalid}\"\n ?disabled=\"${normalizedProps.disabled}\"\n id=\"input\"\n name=\"${ifNonEmpty(this.name)}\"\n pattern=\"${this.type === NUMBER_INPUT_TYPE.TEXT\n ? ifNonEmpty(this.pattern)\n : ''}\"\n ?readonly=\"${this.readonly}\"\n ?required=\"${this.required}\"\n type=\"${this.type}\"\n inputmode=\"${this.type === NUMBER_INPUT_TYPE.TEXT\n ? this.inputMode\n : ''}\"\n .value=\"${inputValue}\"\n @input=\"${handleInput}\"\n @focus=\"${handleFocus}\"\n @blur=\"${handleBlur}\"\n @keydown=\"${handleKeyDown}\"\n min=\"${this.type === NUMBER_INPUT_TYPE.NUMBER\n ? ifNonEmpty(this.min)\n : ''}\"\n max=\"${this.type === NUMBER_INPUT_TYPE.NUMBER\n ? ifNonEmpty(this.max)\n : ''}\"\n step=\"${this.type === NUMBER_INPUT_TYPE.NUMBER\n ? ifNonEmpty(this.step)\n : ''}\"\n role=\"alert\"\n aria-atomic=\"true\" />\n `;\n\n if (normalizedProps.invalid) {\n normalizedProps.icon = invalidIcon;\n normalizedProps['slot-name'] = 'invalid-text';\n normalizedProps['slot-text'] = this.invalidText;\n } else if (normalizedProps.warn) {\n normalizedProps.icon = warnIcon;\n normalizedProps['slot-name'] = 'warn-text';\n normalizedProps['slot-text'] = this.warnText;\n }\n\n const validationMessage =\n normalizedProps.invalid || normalizedProps.warn\n ? html`<div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${!normalizedProps.invalid && !normalizedProps.warn}\">\n <slot name=\"${normalizedProps['slot-name']}\">\n ${normalizedProps['slot-text']}\n </slot>\n </div>`\n : null;\n\n const helper = this.helperText\n ? html`<div\n class=\"${helperTextClasses}\"\n id=\"helper-text\"\n ?hidden=\"${normalizedProps.invalid || normalizedProps.warn}\">\n <slot name=\"helper-text\"> ${this.helperText} </slot>\n </div>`\n : null;\n\n return html`\n <div class=\"${wrapperClasses}\" ?data-invalid=${normalizedProps.invalid}>\n <label class=\"${labelClasses}\" for=\"input\">\n <slot name=\"label-text\"> ${this.label} </slot>\n </label>\n <div class=\"${inputWrapperClasses}\">\n ${normalizedProps.icon} ${input}\n <slot name=\"ai-label\" @slotchange=\"${this._handleSlotChange}\"></slot>\n <slot name=\"slug\" @slotchange=\"${this._handleSlotChange}\"></slot>\n <div class=\"${prefix}--number__controls\">\n ${!this.hideSteppers\n ? html`${decrementButton} ${incrementButton}`\n : null}\n </div>\n </div>\n ${this.isFluid\n ? html`<hr class=\"${prefix}--number-input__divider\" />`\n : null}\n ${validationMessage ?? helper}\n </div>\n `;\n }\n\n /**\n * The name of the custom event fired after the value is changed upon a user gesture.\n */\n static get eventInput() {\n return `${prefix}-number-input`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSNumberInput;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"number-input.js","names":["CDSTextInput","ifNonEmpty","styles","customElement"],"sources":["../../../src/components/number-input/number-input.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 { LitElement, html } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { prefix } from '../../globals/settings';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport Add16 from '@carbon/icons/es/add/16.js';\nimport Subtract16 from '@carbon/icons/es/subtract/16.js';\nimport WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';\nimport WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport {\n NUMBER_INPUT_VALIDATION_STATUS,\n NUMBER_INPUT_STEP_DIRECTION,\n} from './defs';\nimport styles from './number-input.scss?lit';\nimport CDSTextInput, { INPUT_SIZE } from '../text-input/text-input';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { NumberFormatter, NumberParser } from '@carbon/utilities';\n\nexport { NUMBER_INPUT_VALIDATION_STATUS };\n\n/**\n * Number input type\n */\nexport enum NUMBER_INPUT_TYPE {\n /**\n * Number type - uses native number input\n */\n NUMBER = 'number',\n /**\n * Text type - uses text input with locale-based formatting\n */\n TEXT = 'text',\n}\n\n/**\n * Number input.\n *\n * @element cds-custom-number-input\n * @fires cds-custom-number-input\n * The name of the custom event fired after the value is changed upon a user gesture.\n * @slot helper-text - The helper text.\n * @slot label-text - The label text.\n * @slot validity-message - The validity message. If present and non-empty, this input shows the UI of its invalid state.\n */\n@customElement(`${prefix}-number-input`)\nclass CDSNumberInput extends CDSTextInput {\n /**\n * The underlying input element\n */\n @query('input')\n protected _input!: HTMLInputElement;\n\n /**\n * The current number value (used for type=\"text\")\n */\n @state()\n protected _numberValue: number = NaN;\n\n /**\n * The previous number value (used for type=\"text\")\n */\n @state()\n protected _previousNumberValue: number = NaN;\n\n /**\n * The current input text value (used for type=\"text\")\n */\n @state()\n protected _inputValue: string = '';\n\n /**\n * Internal validation state (used for type=\"text\")\n */\n @state()\n protected _invalid: boolean = false;\n\n /**\n * Flag to track if the component has been interacted with by the user\n * Used to prevent defaultValue from overriding user-cleared input\n */\n @state()\n protected _hasUserInteraction: boolean = false;\n\n /**\n * NumberFormatter instance for locale-based formatting\n */\n protected _numberFormatter: NumberFormatter | null = null;\n\n /**\n * NumberParser instance for locale-based parsing\n */\n protected _numberParser: NumberParser | null = null;\n\n /**\n * Handles `input` event on the `input` in the shadow DOM.\n */\n protected _handleInput(event: Event) {\n const { target } = event;\n const { value } = target as HTMLInputElement;\n\n if (this.type === NUMBER_INPUT_TYPE.NUMBER) {\n const direction =\n this._value !== undefined && Number(value) > Number(this._value)\n ? 'up'\n : 'down';\n\n this._dispatchInputEvent(value, direction);\n this._value = value;\n // Request update to update invalid state\n this.requestUpdate();\n } else if (this.type === NUMBER_INPUT_TYPE.TEXT) {\n const _value = this.allowEmpty && value === '' ? '' : value;\n const parsedValue = this._numberParser?.parse(_value) ?? NaN;\n\n // Mark that user has interacted with the input\n this._hasUserInteraction = true;\n\n this._numberValue = parsedValue;\n this._inputValue = _value;\n\n // Update _value to keep it synchronized with the current numeric value\n // This ensures locale/formatOptions changes use the current value, not stale data\n if (!isNaN(parsedValue)) {\n this._value = String(parsedValue);\n } else if (this.allowEmpty && _value === '') {\n this._value = '';\n }\n\n // Validate on input when validate function is provided\n if (this.validate) {\n const isValid = this.validate(_value, this.locale);\n // Set internal invalid state only if validate explicitly returns false\n // true or undefined means valid (undefined defers to built-in validation)\n this._invalid = isValid === false;\n } else {\n // Clear internal invalid state when no validation function\n this._invalid = false;\n }\n }\n }\n\n /**\n * Handles `click` event on the down button in the shadow DOM.\n */\n protected _handleUserInitiatedStepDown() {\n const { _input: input } = this;\n const valueChanged = this._handleStep('down');\n\n // Only dispatch event if value actually changed\n if (valueChanged) {\n const newValue =\n this.type === NUMBER_INPUT_TYPE.TEXT ? this._numberValue : input.value;\n\n this._dispatchInputEvent(newValue, 'down');\n }\n }\n\n /**\n * Handles `click` event on the up button in the shadow DOM.\n */\n protected _handleUserInitiatedStepUp() {\n const { _input: input } = this;\n const valueChanged = this._handleStep('up');\n\n // Only dispatch event if value actually changed\n if (valueChanged) {\n const newValue =\n this.type === NUMBER_INPUT_TYPE.TEXT ? this._numberValue : input.value;\n\n this._dispatchInputEvent(newValue, 'up');\n }\n }\n\n /**\n * Handles `focus` event on the `input` in the shadow DOM.\n */\n protected _handleFocus(event: FocusEvent) {\n if (this.disableWheel) {\n (event.target as HTMLInputElement).addEventListener(\n 'wheel',\n this._preventWheel,\n { passive: false }\n );\n }\n }\n\n /**\n * Handles `blur` event on the `input` in the shadow DOM.\n */\n protected _handleBlur(event: FocusEvent) {\n if (this.disableWheel) {\n (event.target as HTMLInputElement).removeEventListener(\n 'wheel',\n this._preventWheel\n );\n }\n\n if (this.type === NUMBER_INPUT_TYPE.TEXT) {\n const rawValue = (event.target as HTMLInputElement).value;\n\n // Validate raw input\n const validationResult = this.validate\n ? this.validate(rawValue, this.locale)\n : true;\n\n // undefined means defer to built-in validation (treat as valid for custom validation)\n const isValid = validationResult !== false;\n\n if (isValid) {\n const formattedValue = isNaN(this._numberValue)\n ? ''\n : (this._numberFormatter?.format(this._numberValue) ?? '');\n\n this._inputValue = formattedValue;\n\n // Re-parse the formatted value to ensure consistency\n const parsedFormattedValue =\n this._numberParser?.parse(formattedValue) ?? NaN;\n\n // Dispatch change event if value changed\n if (\n !(isNaN(this._previousNumberValue) && isNaN(parsedFormattedValue)) &&\n this._previousNumberValue !== parsedFormattedValue\n ) {\n const direction =\n this._previousNumberValue < parsedFormattedValue ? 'up' : 'down';\n\n this._dispatchInputEvent(parsedFormattedValue, direction);\n }\n\n this._numberValue = parsedFormattedValue;\n this._previousNumberValue = parsedFormattedValue;\n this._value = String(parsedFormattedValue);\n this._invalid = false;\n } else {\n this._invalid = true;\n // Keep the invalid input as-is\n this._inputValue = rawValue;\n }\n\n this.requestUpdate();\n }\n }\n\n /**\n * Handles keyboard events for arrow up/down when type=\"text\"\n */\n protected _handleKeyDown(event: KeyboardEvent) {\n if (this.readonly) {\n return;\n }\n if (this.type === NUMBER_INPUT_TYPE.TEXT) {\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n const valueChanged = this._handleStep('up');\n\n // Only dispatch event if value actually changed\n if (valueChanged) {\n this._dispatchInputEvent(this._numberValue, 'up');\n }\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n const valueChanged = this._handleStep('down');\n\n // Only dispatch event if value actually changed\n if (valueChanged) {\n this._dispatchInputEvent(this._numberValue, 'down');\n }\n }\n }\n }\n\n /**\n * Prevents wheel events from changing the input value.\n */\n protected _preventWheel = (event: WheelEvent) => {\n event.preventDefault();\n };\n\n protected _min = '';\n protected _max = '';\n protected _step = '1';\n\n /**\n * The minimum value allowed in the input\n */\n @property({ reflect: true })\n get min() {\n return this._min.toString();\n }\n\n set min(value) {\n const oldValue = this.min;\n this._min = value;\n this.requestUpdate('min', oldValue);\n }\n\n /**\n * The maximum value allowed in the input\n */\n @property({ reflect: true })\n get max() {\n return this._max.toString();\n }\n\n set max(value) {\n const oldValue = this.max;\n this._max = value;\n this.requestUpdate('max', oldValue);\n }\n\n /**\n * The amount the value should increase or decrease by\n */\n @property({ reflect: true })\n get step() {\n return this._step.toString();\n }\n\n set step(value) {\n const oldValue = this.step;\n this._step = value;\n this.requestUpdate('step', oldValue);\n }\n\n /**\n * Provide a description for up/down icons that can be read by screen readers\n */\n @property({ attribute: 'icon-description' })\n iconDescription = '';\n\n /**\n * Aria text for the button that increments the value\n */\n @property({ attribute: 'increment-button-assistive-text' })\n incrementButtonAssistiveText = 'increase number input';\n\n /**\n * Aria text for the button that decrements the value\n */\n @property({ attribute: 'decrement-button-assistive-text' })\n decrementButtonAssistiveText = 'decrease number input';\n\n /**\n * Specify whether you want the steppers to be hidden\n */\n @property({ type: Boolean, attribute: 'hide-steppers', reflect: true })\n hideSteppers = false;\n\n /**\n * `true` to allow empty string.\n */\n @property({ type: Boolean, attribute: 'allow-empty', reflect: true })\n allowEmpty = false;\n\n /**\n * Optional starting value for uncontrolled state\n */\n @property({ attribute: 'default-value' })\n defaultValue = '';\n\n /**\n * Specify if the wheel functionality for the input should be disabled, or not\n */\n @property({ type: Boolean, attribute: 'disable-wheel', reflect: true })\n disableWheel = false;\n\n /**\n * Set to true to use the fluid variant.\n */\n @property({ type: Boolean })\n isFluid = false;\n\n /**\n * The input box size.\n */\n @property({ reflect: true })\n size = INPUT_SIZE.MEDIUM;\n\n /**\n * **Experimental**: Specify if the input should be of type text or number.\n * Use type=\"text\" with `locale`, `formatOptions`, and guide user input with `pattern` and `inputMode`.\n * @experimental\n */\n @property({ reflect: true })\n // @ts-expect-error - Override parent type property with number-specific types\n type: 'number' | 'text' = NUMBER_INPUT_TYPE.NUMBER;\n\n /**\n * **Experimental:** Specify a BCP47 language code for parsing and formatting.\n * Use with `type=\"text\"`, has no effect when `type=\"number\"`.\n * @experimental\n */\n @property({ reflect: true })\n locale = 'en-US';\n\n /**\n * **Experimental:** Specify Intl.NumberFormat options applied to internal number parsing and formatting.\n * Use with `type=\"text\"`, has no effect when `type=\"number\"`.\n * @experimental\n */\n @property({ type: Object, attribute: 'format-options' })\n formatOptions: Intl.NumberFormatOptions = {};\n\n /**\n * When type=\"text\", provide an optional pattern to restrict user input.\n */\n @property({ reflect: true })\n pattern = '[0-9]*';\n\n /**\n * Instruct the browser which keyboard to display on mobile devices.\n */\n @property({ reflect: true, attribute: 'input-mode' })\n inputMode:\n | 'none'\n | 'text'\n | 'tel'\n | 'url'\n | 'email'\n | 'numeric'\n | 'decimal'\n | 'search' = 'decimal';\n\n /**\n * Provide the value stepping should begin at when the input is empty\n */\n @property({ type: Number, attribute: 'step-start-value' })\n stepStartValue = 0;\n\n /**\n * Optional validation function for type=\"text\".\n * Should return false to fail validation, true to pass, or undefined to defer to built-in validation.\n * Note: the min and max attributes still takes priority if they are defined.\n */\n validate?: (value: string, locale: string) => boolean | undefined;\n\n /**\n * Override value setter to handle formatting for type=\"text\"\n */\n @property({ reflect: true })\n override get value() {\n return super.value;\n }\n\n override set value(val: string) {\n const oldValue = this._value;\n\n if (this.type === NUMBER_INPUT_TYPE.TEXT) {\n // Handle empty string\n if (val === '') {\n this._numberValue = NaN;\n this._previousNumberValue = NaN;\n this._inputValue = '';\n this._value = '';\n this.requestUpdate('value', oldValue);\n if (this._input) {\n this._input.value = '';\n }\n return;\n }\n\n // Ensure formatters are initialized before using them\n if (!this._numberFormatter || !this._numberParser) {\n this._initializeFormatters();\n }\n\n // Parse the value: string values are parsed, numbers are used directly\n let parsed: number;\n if (typeof val === 'string') {\n parsed = this._numberParser?.parse(val) ?? Number(val);\n } else {\n parsed = val as number;\n }\n\n // Synchronize all text mode state\n this._syncTextModeState(parsed, true);\n this.requestUpdate('value', oldValue);\n } else {\n // For type=\"number\" or empty values, use parent behavior\n super.value = val;\n }\n }\n\n /**\n * Initialize formatters when component connects\n */\n connectedCallback() {\n super.connectedCallback();\n this._initializeFormatters();\n }\n\n /**\n * Called before updates to initialize default value\n */\n willUpdate(changedProperties: Map<string, unknown>) {\n super.willUpdate?.(changedProperties);\n\n // Handle type switching before render\n if (changedProperties.has('type')) {\n this._initializeFormatters();\n this._invalid = false;\n\n const currentValue = this._value || this.value;\n if (currentValue) {\n const parsed = this._numberParser?.parse(currentValue) ?? NaN;\n\n if (!isNaN(parsed)) {\n this._numberValue = parsed;\n this._previousNumberValue = parsed;\n\n if (this.type === NUMBER_INPUT_TYPE.TEXT) {\n this._inputValue = this._numberFormatter?.format(parsed) ?? '';\n this._value = currentValue;\n } else {\n const plainValue = parsed.toString();\n this._value = plainValue;\n super.value = plainValue;\n }\n }\n }\n }\n\n // Handle locale or formatOptions changes before render\n if (\n changedProperties.has('locale') ||\n changedProperties.has('formatOptions')\n ) {\n this._initializeFormatters();\n\n if (this.type === NUMBER_INPUT_TYPE.TEXT) {\n // Re-format with new formatters\n if (this._value) {\n const parsed = Number(this._value);\n if (!isNaN(parsed)) {\n this._syncTextModeState(parsed);\n }\n } else if (!isNaN(this._numberValue)) {\n this._syncTextModeState(this._numberValue);\n }\n }\n }\n\n // Initialize from defaultValue if no value is set\n // This runs before every render, but only sets _value if it's empty\n // AND the user hasn't interacted with the input yet\n if (!this._value && this.defaultValue && !this._hasUserInteraction) {\n if (this.type === NUMBER_INPUT_TYPE.TEXT) {\n const parsed = this._numberParser?.parse(this.defaultValue) ?? NaN;\n this._syncTextModeState(parsed);\n } else {\n // Set the internal value to defaultValue for non-text types\n this._value = this.defaultValue;\n }\n }\n }\n\n /**\n * Update formatters when properties change\n */\n // @ts-expect-error - Override to accept changedProperties parameter\n updated(changedProperties: Map<string, unknown>) {\n super.updated?.();\n // Update the DOM input element if formatOptions or locale changed\n if (\n (changedProperties.has('locale') ||\n changedProperties.has('formatOptions')) &&\n this.type === NUMBER_INPUT_TYPE.TEXT &&\n this._input\n ) {\n this._input.value = this._inputValue;\n }\n }\n\n /**\n * Initialize NumberFormatter and NumberParser instances\n */\n protected _initializeFormatters() {\n if (this.type === NUMBER_INPUT_TYPE.TEXT) {\n try {\n this._numberFormatter = new NumberFormatter(\n this.locale,\n this.formatOptions\n );\n this._numberParser = new NumberParser(this.locale, this.formatOptions);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('[NumberInput] Failed to initialize formatters:', error);\n }\n }\n }\n\n /**\n * Get input validity\n */\n _getInputValidity() {\n if (this.invalid || this._invalid) {\n return false;\n }\n\n // Determine which value to validate based on type and validate function\n // Match React's logic: validate ? inputValue : (type === 'number' ? value : numberValue)\n const valueToCheck =\n this.validate && this.type === NUMBER_INPUT_TYPE.TEXT\n ? this._inputValue\n : this.type === NUMBER_INPUT_TYPE.TEXT\n ? this._numberValue\n : this.value;\n\n // Skip validation if value is empty and allowEmpty is true\n if (valueToCheck === '') {\n const result = this.allowEmpty;\n return result;\n }\n\n // Normalize the value to a number\n let numericValue: number;\n if (typeof valueToCheck === 'string') {\n // For type=\"number\", use simple Number() conversion\n // For type=\"text\", use NumberParser to handle formatted numbers like \"1,234\"\n if (this.type === NUMBER_INPUT_TYPE.NUMBER) {\n numericValue = Number(valueToCheck);\n } else {\n numericValue = this._numberParser?.parse(valueToCheck) ?? NaN;\n }\n } else if (typeof valueToCheck === 'number') {\n numericValue = valueToCheck;\n } else {\n numericValue = NaN;\n }\n\n // If value is NaN, check allowEmpty\n if (isNaN(numericValue)) {\n const result = this.allowEmpty;\n return result;\n }\n\n // Use custom validate ONLY for formatting validation (only for type=\"text\")\n if (this.validate && this.type === NUMBER_INPUT_TYPE.TEXT) {\n const isFormatValid = this.validate(this._inputValue, this.locale);\n if (isFormatValid === false) {\n return false; // invalid format\n }\n }\n\n // Check min/max bounds on the numeric value\n if (this.max !== '' && numericValue > Number(this.max)) {\n return false;\n }\n if (this.min !== '' && numericValue < Number(this.min)) {\n return false;\n }\n return true;\n }\n\n /**\n * Get decimal places from a number\n */\n getDecimalPlaces = (num: number) => {\n const parts = num.toString().split('.');\n return parts[1] ? parts[1].length : 0;\n };\n\n /**\n * Clamp a value between min and max\n */\n protected _clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n }\n\n /**\n * Handle stepping up or down\n * @returns true if the value changed, false if it was clamped to the same value\n */\n protected _handleStep(direction: NUMBER_INPUT_STEP_DIRECTION) {\n const currentValue =\n this.type === NUMBER_INPUT_TYPE.NUMBER\n ? Number(this._input.value)\n : this._numberValue;\n\n let rawValue: number;\n\n if (\n Number.isNaN(currentValue) ||\n currentValue === null ||\n currentValue === undefined\n ) {\n if (typeof this.stepStartValue === 'number' && this.stepStartValue) {\n rawValue = this.stepStartValue;\n } else if (\n (this.min &&\n Number(this.min) < 0 &&\n this.max &&\n Number(this.max) > 0) ||\n (!this.max && !this.min) ||\n this.max\n ) {\n rawValue = direction === 'up' ? 1 : -1;\n } else if (\n (this.min &&\n Number(this.min) > 0 &&\n this.max &&\n Number(this.max) > 0) ||\n this.min\n ) {\n rawValue = Number(this.min);\n } else {\n rawValue = 0;\n }\n } else if (direction === 'up') {\n rawValue = currentValue + Number(this.step);\n } else {\n rawValue = currentValue - Number(this.step);\n }\n\n const precision = Math.max(\n this.getDecimalPlaces(currentValue),\n this.getDecimalPlaces(Number(this.step))\n );\n\n const floatValue = parseFloat(Number(rawValue).toFixed(precision));\n const newValue = this._clamp(\n floatValue,\n this.min !== '' ? Number(this.min) : -Infinity,\n this.max !== '' ? Number(this.max) : Infinity\n );\n\n // Check if value actually changed\n const valueChanged = currentValue !== newValue;\n\n if (this.type === NUMBER_INPUT_TYPE.NUMBER) {\n this._value = String(newValue);\n this.value = this._value;\n } else if (this.type === NUMBER_INPUT_TYPE.TEXT) {\n // Synchronize text mode state after step operation\n this._syncTextModeState(newValue);\n this.requestUpdate();\n }\n\n return valueChanged;\n }\n\n /**\n * Handles incrementing the value in the input\n */\n stepUp() {\n this._handleStep('up');\n }\n\n /**\n * Handles decrementing the value in the input\n */\n stepDown() {\n this._handleStep('down');\n }\n\n protected _getInputValue() {\n if (this.type === NUMBER_INPUT_TYPE.TEXT) {\n // For type=\"text\", use _inputValue directly without falling back to defaultValue\n // defaultValue is only used during initialization (in willUpdate)\n return this._inputValue;\n }\n\n return this._value || this.defaultValue || '';\n }\n\n protected _dispatchInputEvent(\n value: string | number,\n direction: NUMBER_INPUT_STEP_DIRECTION\n ) {\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof CDSNumberInput).eventInput, {\n bubbles: true,\n composed: true,\n cancelable: false,\n detail: {\n value,\n direction,\n },\n })\n );\n }\n\n /**\n * Synchronizes text mode state by formatting a numeric value and updating all related state variables.\n * This centralizes the logic for managing _numberValue, _inputValue, _previousNumberValue, and _value.\n *\n * @param numericValue - The numeric value to format and synchronize\n * @param updateInput - Whether to update the DOM input element (default: false)\n */\n protected _syncTextModeState(numericValue: number, updateInput = false) {\n // Format the numeric value\n const formattedValue = isNaN(numericValue)\n ? ''\n : (this._numberFormatter?.format(numericValue) ?? String(numericValue));\n\n // Parse the formatted value back to ensure consistency\n // (formatting can alter the number, e.g., rounding)\n const parsedValue = formattedValue\n ? (this._numberParser?.parse(formattedValue) ?? numericValue)\n : numericValue;\n\n // Update all state variables\n this._numberValue = parsedValue;\n this._previousNumberValue = parsedValue;\n this._inputValue = formattedValue;\n this._value = String(parsedValue);\n\n // Update DOM input if requested\n if (updateInput && this._input) {\n this._input.value = formattedValue;\n }\n }\n\n render() {\n const {\n _handleInput: handleInput,\n _handleUserInitiatedStepDown: handleUserInitiatedStepDown,\n _handleUserInitiatedStepUp: handleUserInitiatedStepUp,\n _handleFocus: handleFocus,\n _handleBlur: handleBlur,\n _handleKeyDown: handleKeyDown,\n } = this;\n\n const isValid = this._getInputValidity();\n const invalidIcon = iconLoader(WarningFilled16, {\n class: `${prefix}--number__invalid`,\n });\n\n const warnIcon = iconLoader(WarningAltFilled16, {\n class: `${prefix}--number__invalid ${prefix}--number__invalid--warning`,\n });\n\n const normalizedProps: {\n disabled: boolean;\n invalid: boolean;\n warn: boolean;\n 'slot-name': string;\n 'slot-text': string;\n icon: ReturnType<typeof iconLoader>;\n buttonsDisabled: boolean;\n } = {\n disabled: this.disabled,\n invalid: !this.readonly && !isValid,\n warn: !this.readonly && isValid && this.warn,\n 'slot-name': '',\n 'slot-text': '',\n icon: null,\n buttonsDisabled: this.disabled || this.readonly,\n };\n\n const wrapperClasses = classMap({\n [`${prefix}--number`]: true,\n [`${prefix}--number--${this.size}`]: this.size,\n [`${prefix}--number--nosteppers`]: this.hideSteppers,\n [`${prefix}--number--readonly`]: this.readonly,\n });\n\n const inputWrapperClasses = classMap({\n [`${prefix}--number__input-wrapper`]: true,\n [`${prefix}--number__input-wrapper--warning`]: normalizedProps.warn,\n [`${prefix}--number__input-wrapper--decorator`]: this._hasAILabel,\n });\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: normalizedProps.disabled,\n [`${prefix}--visually-hidden`]: this.hideLabel,\n });\n\n const helperTextClasses = classMap({\n [`${prefix}--form__helper-text`]: true,\n [`${prefix}--form__helper-text--disabled`]: normalizedProps.disabled,\n });\n\n const inputValue = this._getInputValue();\n\n const incrementButton = html`\n <button\n class=\"${prefix}--number__control-btn up-icon\"\n aria-label=\"${this.iconDescription ||\n this.incrementButtonAssistiveText}\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n type=\"button\"\n ?disabled=${normalizedProps.buttonsDisabled}\n @click=${handleUserInitiatedStepUp}>\n ${iconLoader(Add16)}\n </button>\n <div class=\"${prefix}--number__rule-divider\"></div>\n `;\n\n const decrementButton = html`\n <button\n class=\"${prefix}--number__control-btn down-icon\"\n aria-label=\"${this.iconDescription ||\n this.decrementButtonAssistiveText}\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n type=\"button\"\n ?disabled=${normalizedProps.buttonsDisabled}\n @click=${handleUserInitiatedStepDown}>\n ${iconLoader(Subtract16)}\n </button>\n <div class=\"${prefix}--number__rule-divider\"></div>\n `;\n\n const input = html`\n <input\n autocomplete=\"${ifNonEmpty(this.autocomplete)}\"\n ?autofocus=\"${this.autofocus}\"\n ?data-invalid=\"${normalizedProps.invalid}\"\n ?disabled=\"${normalizedProps.disabled}\"\n id=\"input\"\n name=\"${ifNonEmpty(this.name)}\"\n pattern=\"${this.type === NUMBER_INPUT_TYPE.TEXT\n ? ifNonEmpty(this.pattern)\n : ''}\"\n ?readonly=\"${this.readonly}\"\n ?required=\"${this.required}\"\n type=\"${this.type}\"\n inputmode=\"${this.type === NUMBER_INPUT_TYPE.TEXT\n ? this.inputMode\n : ''}\"\n .value=\"${inputValue}\"\n @input=\"${handleInput}\"\n @focus=\"${handleFocus}\"\n @blur=\"${handleBlur}\"\n @keydown=\"${handleKeyDown}\"\n min=\"${this.type === NUMBER_INPUT_TYPE.NUMBER\n ? ifNonEmpty(this.min)\n : ''}\"\n max=\"${this.type === NUMBER_INPUT_TYPE.NUMBER\n ? ifNonEmpty(this.max)\n : ''}\"\n step=\"${this.type === NUMBER_INPUT_TYPE.NUMBER\n ? ifNonEmpty(this.step)\n : ''}\"\n role=\"alert\"\n aria-atomic=\"true\" />\n `;\n\n if (normalizedProps.invalid) {\n normalizedProps.icon = invalidIcon;\n normalizedProps['slot-name'] = 'invalid-text';\n normalizedProps['slot-text'] = this.invalidText;\n } else if (normalizedProps.warn) {\n normalizedProps.icon = warnIcon;\n normalizedProps['slot-name'] = 'warn-text';\n normalizedProps['slot-text'] = this.warnText;\n }\n\n const validationMessage =\n normalizedProps.invalid || normalizedProps.warn\n ? html`<div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${!normalizedProps.invalid && !normalizedProps.warn}\">\n <slot name=\"${normalizedProps['slot-name']}\">\n ${normalizedProps['slot-text']}\n </slot>\n </div>`\n : null;\n\n const helper = this.helperText\n ? html`<div\n class=\"${helperTextClasses}\"\n id=\"helper-text\"\n ?hidden=\"${normalizedProps.invalid || normalizedProps.warn}\">\n <slot name=\"helper-text\"> ${this.helperText} </slot>\n </div>`\n : null;\n\n return html`\n <div class=\"${wrapperClasses}\" ?data-invalid=${normalizedProps.invalid}>\n <label class=\"${labelClasses}\" for=\"input\">\n <slot name=\"label-text\"> ${this.label} </slot>\n </label>\n <div class=\"${inputWrapperClasses}\">\n ${normalizedProps.icon} ${input}\n <slot name=\"ai-label\" @slotchange=\"${this._handleSlotChange}\"></slot>\n <slot name=\"slug\" @slotchange=\"${this._handleSlotChange}\"></slot>\n <div class=\"${prefix}--number__controls\">\n ${!this.hideSteppers\n ? html`${decrementButton} ${incrementButton}`\n : null}\n </div>\n </div>\n ${this.isFluid\n ? html`<hr class=\"${prefix}--number-input__divider\" />`\n : null}\n ${validationMessage ?? helper}\n </div>\n `;\n }\n\n /**\n * The name of the custom event fired after the value is changed upon a user gesture.\n */\n static get eventInput() {\n return `${prefix}-number-input`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSNumberInput;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defs.js","names":[],"sources":["../../../src/components/overflow-menu/defs.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2020, 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\n/**\n * Overflow menu size.\n */\nexport enum OVERFLOW_MENU_SIZE {\n /**\n * Extra small size.\n */\n EXTRA_SMALL = 'xs',\n /**\n * Small size.\n */\n SMALL = 'sm',\n\n /**\n * Medium size.\n */\n MEDIUM = 'md',\n\n /**\n * Large size.\n */\n LARGE = 'lg',\n}\n\nexport const NAVIGATION_DIRECTION = {\n ArrowDown: 1,\n ArrowUp: -1,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AAUA,IAAY,qBAAL,yBAAA,oBAAA;;;;
|
|
1
|
+
{"version":3,"file":"defs.js","names":[],"sources":["../../../src/components/overflow-menu/defs.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2020, 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\n/**\n * Overflow menu size.\n */\nexport enum OVERFLOW_MENU_SIZE {\n /**\n * Extra small size.\n */\n EXTRA_SMALL = 'xs',\n /**\n * Small size.\n */\n SMALL = 'sm',\n\n /**\n * Medium size.\n */\n MEDIUM = 'md',\n\n /**\n * Large size.\n */\n LARGE = 'lg',\n}\n\nexport const NAVIGATION_DIRECTION = {\n ArrowDown: 1,\n ArrowUp: -1,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AAUA,IAAY,qBAAL,yBAAA,oBAAA;;;;CAIL,mBAAA,iBAAA;;;;CAIA,mBAAA,WAAA;;;;CAKA,mBAAA,YAAA;;;;CAKA,mBAAA,WAAA;;AACF,EAAA,CAAA,CAAA;AAEA,MAAa,uBAAuB;CAClC,WAAW;CACX,SAAS;AACX"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import "../../globals/settings.js";
|
|
9
9
|
import { indexOf } 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 HostListener from "../../globals/decorators/host-listener.js";
|
|
13
13
|
import { NAVIGATION_DIRECTION } from "./defs.js";
|
|
14
14
|
import overflow_menu_default from "./overflow-menu.scss.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overflow-menu-body.js","names":["styles","customElement"],"sources":["../../../src/components/overflow-menu/overflow-menu-body.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 CDSFloatingMenu, {\n FLOATING_MENU_DIRECTION,\n getMenuOffset,\n type MenuOffset,\n} from '../floating-menu/floating-menu';\nimport { NAVIGATION_DIRECTION, OVERFLOW_MENU_SIZE } from './defs';\n\nimport CDSOverflowMenuItem from './overflow-menu-item';\nimport HostListener from '../../globals/decorators/host-listener';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { html } from 'lit';\nimport { indexOf } from '../../globals/internal/collection-helpers';\nimport { prefix } from '../../globals/settings';\nimport { property } from 'lit/decorators.js';\nimport styles from './overflow-menu.scss?lit';\n\n/**\n * @param index The index\n * @param length The length of the array.\n * @returns The new index, adjusting overflow/underflow.\n */\nconst capIndex = (index: number, length: number) => {\n if (index < 0) {\n return length - 1;\n }\n if (index >= length) {\n return 0;\n }\n return index;\n};\n\n/**\n * Overflow menu body.\n *\n * @element cds-custom-overflow-menu-body\n */\n@customElement(`${prefix}-overflow-menu-body`)\nclass CDSOverflowMenuBody extends CDSFloatingMenu {\n /**\n * The menu direction.\n */\n @property()\n direction = FLOATING_MENU_DIRECTION.BOTTOM;\n\n /**\n * How the menu is aligned to the trigger button.\n */\n @property({ type: Boolean, reflect: true })\n flipped = false;\n\n /**\n * `true` if the menu should be open.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n selected: CDSOverflowMenuItem | null = null;\n\n /**\n * The overflow menu size.\n */\n @property({ reflect: true })\n size = OVERFLOW_MENU_SIZE.MEDIUM;\n\n /**\n * The adjustment in position applied to the floating menu.\n */\n @property({ attribute: false })\n menuOffset?: MenuOffset;\n\n /**\n * The adjustment in position applied to the floating menu when flipped.\n */\n @property({ attribute: false })\n menuOffsetFlip?: MenuOffset;\n\n /**\n * Gets the appropriate offset (menuOffset or menuOffsetFlip) based on the flipped state.\n * If no offset is provided, falls back to the default centering behavior.\n * Overrides `getOffsetConfig` in `CDSFloatingMenu`.\n *\n * @returns The menu offset configuration (object, function, or undefined).\n */\n protected getOffsetConfig(): MenuOffset | undefined {\n const offset = this.flipped ? this.menuOffsetFlip : this.menuOffset;\n\n if (!offset) {\n const trigger = this.parent as HTMLElement;\n return getMenuOffset(this, this.direction, trigger, this.flipped);\n }\n\n return offset;\n }\n\n /**\n * @param currentItem The currently selected item.\n * @param direction The navigation direction.\n * @returns The item to be selected.\n */\n protected _getNextItem(currentItem: CDSOverflowMenuItem, direction: number) {\n const { selectorItemEnabled } = this\n .constructor as typeof CDSOverflowMenuBody;\n const menuItems = this.querySelectorAll(selectorItemEnabled);\n const currentIndex = indexOf(menuItems, currentItem);\n const nextIndex = capIndex(currentIndex + direction, menuItems.length);\n return nextIndex === currentIndex ? null : menuItems[nextIndex];\n }\n\n /**\n * Navigates through overflow menu items.\n *\n * @param direction `-1` to navigate backward, `1` to navigate forward.\n */\n protected _navigate(direction: number) {\n if (this.selected) {\n const nextItem = this._getNextItem(this.selected, direction);\n (nextItem as HTMLElement)?.focus();\n }\n }\n\n /**\n * Handles `keydown` event on the menu body.\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: KeyboardEvent) => {\n const { key } = event;\n if (this.open) {\n /**\n * sets this.selected to focused menu item. the menu item is focused\n * automatically due to FocusMixin\n */\n if (this.contains(document.activeElement)) {\n this.selected = document.activeElement as CDSOverflowMenuItem;\n }\n\n if (key in NAVIGATION_DIRECTION) {\n event.preventDefault();\n this._navigate(NAVIGATION_DIRECTION[key]);\n return;\n }\n\n if (key === 'Escape') {\n event.preventDefault();\n\n const menuTrigger = this.parent as HTMLElement | null;\n this.open = false;\n\n if (menuTrigger && 'open' in menuTrigger) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (menuTrigger as any).open = false;\n }\n\n requestAnimationFrame(() => {\n const triggerButton =\n menuTrigger?.shadowRoot?.querySelector(\n `button.${prefix}--overflow-menu`\n ) || menuTrigger?.querySelector(`button.${prefix}--overflow-menu`);\n\n if (triggerButton) {\n (triggerButton as HTMLElement).focus();\n }\n });\n return;\n }\n\n const items = this.querySelectorAll(\n CDSOverflowMenuBody.selectorItemEnabled\n );\n const isInsideMenu = Array.from(items).some((item) =>\n item.contains(document.activeElement)\n );\n\n if (isInsideMenu) {\n event.preventDefault();\n\n const menuTrigger = this.parent as HTMLElement | null;\n this.open = false;\n\n if (menuTrigger && 'open' in menuTrigger) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (menuTrigger as any).open = false;\n }\n\n requestAnimationFrame(() => {\n const triggerButton =\n menuTrigger?.shadowRoot?.querySelector(\n `button.${prefix}--overflow-menu`\n ) || menuTrigger?.querySelector(`button.${prefix}--overflow-menu`);\n\n if (triggerButton) {\n (triggerButton as HTMLElement).focus();\n }\n });\n }\n }\n };\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'menu');\n }\n if (!this.hasAttribute('tabindex')) {\n // TODO: Should we use a property?\n this.setAttribute('tabindex', '-1');\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n if (changedProperties.has('size')) {\n const { selectorMenuItem } = this\n .constructor as typeof CDSOverflowMenuBody;\n const menuItems = this.querySelectorAll(selectorMenuItem);\n menuItems.forEach((item) => {\n item.setAttribute('size', this.size);\n });\n }\n\n super.updated(changedProperties);\n }\n\n render() {\n return html` <slot></slot> `;\n }\n\n /**\n * A selector that will return menu items.\n */\n static get selectorMenuItem() {\n return `${prefix}-overflow-menu-item`;\n }\n\n /**\n * A selector that will return enabled menu items.\n */\n static get selectorItemEnabled() {\n return `${prefix}-overflow-menu-item:not([disabled])`;\n }\n\n static styles = styles;\n}\n\nexport default CDSOverflowMenuBody;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"overflow-menu-body.js","names":["styles","customElement"],"sources":["../../../src/components/overflow-menu/overflow-menu-body.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 CDSFloatingMenu, {\n FLOATING_MENU_DIRECTION,\n getMenuOffset,\n type MenuOffset,\n} from '../floating-menu/floating-menu';\nimport { NAVIGATION_DIRECTION, OVERFLOW_MENU_SIZE } from './defs';\n\nimport CDSOverflowMenuItem from './overflow-menu-item';\nimport HostListener from '../../globals/decorators/host-listener';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { html } from 'lit';\nimport { indexOf } from '../../globals/internal/collection-helpers';\nimport { prefix } from '../../globals/settings';\nimport { property } from 'lit/decorators.js';\nimport styles from './overflow-menu.scss?lit';\n\n/**\n * @param index The index\n * @param length The length of the array.\n * @returns The new index, adjusting overflow/underflow.\n */\nconst capIndex = (index: number, length: number) => {\n if (index < 0) {\n return length - 1;\n }\n if (index >= length) {\n return 0;\n }\n return index;\n};\n\n/**\n * Overflow menu body.\n *\n * @element cds-custom-overflow-menu-body\n */\n@customElement(`${prefix}-overflow-menu-body`)\nclass CDSOverflowMenuBody extends CDSFloatingMenu {\n /**\n * The menu direction.\n */\n @property()\n direction = FLOATING_MENU_DIRECTION.BOTTOM;\n\n /**\n * How the menu is aligned to the trigger button.\n */\n @property({ type: Boolean, reflect: true })\n flipped = false;\n\n /**\n * `true` if the menu should be open.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n selected: CDSOverflowMenuItem | null = null;\n\n /**\n * The overflow menu size.\n */\n @property({ reflect: true })\n size = OVERFLOW_MENU_SIZE.MEDIUM;\n\n /**\n * The adjustment in position applied to the floating menu.\n */\n @property({ attribute: false })\n menuOffset?: MenuOffset;\n\n /**\n * The adjustment in position applied to the floating menu when flipped.\n */\n @property({ attribute: false })\n menuOffsetFlip?: MenuOffset;\n\n /**\n * Gets the appropriate offset (menuOffset or menuOffsetFlip) based on the flipped state.\n * If no offset is provided, falls back to the default centering behavior.\n * Overrides `getOffsetConfig` in `CDSFloatingMenu`.\n *\n * @returns The menu offset configuration (object, function, or undefined).\n */\n protected getOffsetConfig(): MenuOffset | undefined {\n const offset = this.flipped ? this.menuOffsetFlip : this.menuOffset;\n\n if (!offset) {\n const trigger = this.parent as HTMLElement;\n return getMenuOffset(this, this.direction, trigger, this.flipped);\n }\n\n return offset;\n }\n\n /**\n * @param currentItem The currently selected item.\n * @param direction The navigation direction.\n * @returns The item to be selected.\n */\n protected _getNextItem(currentItem: CDSOverflowMenuItem, direction: number) {\n const { selectorItemEnabled } = this\n .constructor as typeof CDSOverflowMenuBody;\n const menuItems = this.querySelectorAll(selectorItemEnabled);\n const currentIndex = indexOf(menuItems, currentItem);\n const nextIndex = capIndex(currentIndex + direction, menuItems.length);\n return nextIndex === currentIndex ? null : menuItems[nextIndex];\n }\n\n /**\n * Navigates through overflow menu items.\n *\n * @param direction `-1` to navigate backward, `1` to navigate forward.\n */\n protected _navigate(direction: number) {\n if (this.selected) {\n const nextItem = this._getNextItem(this.selected, direction);\n (nextItem as HTMLElement)?.focus();\n }\n }\n\n /**\n * Handles `keydown` event on the menu body.\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: KeyboardEvent) => {\n const { key } = event;\n if (this.open) {\n /**\n * sets this.selected to focused menu item. the menu item is focused\n * automatically due to FocusMixin\n */\n if (this.contains(document.activeElement)) {\n this.selected = document.activeElement as CDSOverflowMenuItem;\n }\n\n if (key in NAVIGATION_DIRECTION) {\n event.preventDefault();\n this._navigate(NAVIGATION_DIRECTION[key]);\n return;\n }\n\n if (key === 'Escape') {\n event.preventDefault();\n\n const menuTrigger = this.parent as HTMLElement | null;\n this.open = false;\n\n if (menuTrigger && 'open' in menuTrigger) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (menuTrigger as any).open = false;\n }\n\n requestAnimationFrame(() => {\n const triggerButton =\n menuTrigger?.shadowRoot?.querySelector(\n `button.${prefix}--overflow-menu`\n ) || menuTrigger?.querySelector(`button.${prefix}--overflow-menu`);\n\n if (triggerButton) {\n (triggerButton as HTMLElement).focus();\n }\n });\n return;\n }\n\n const items = this.querySelectorAll(\n CDSOverflowMenuBody.selectorItemEnabled\n );\n const isInsideMenu = Array.from(items).some((item) =>\n item.contains(document.activeElement)\n );\n\n if (isInsideMenu) {\n event.preventDefault();\n\n const menuTrigger = this.parent as HTMLElement | null;\n this.open = false;\n\n if (menuTrigger && 'open' in menuTrigger) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (menuTrigger as any).open = false;\n }\n\n requestAnimationFrame(() => {\n const triggerButton =\n menuTrigger?.shadowRoot?.querySelector(\n `button.${prefix}--overflow-menu`\n ) || menuTrigger?.querySelector(`button.${prefix}--overflow-menu`);\n\n if (triggerButton) {\n (triggerButton as HTMLElement).focus();\n }\n });\n }\n }\n };\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'menu');\n }\n if (!this.hasAttribute('tabindex')) {\n // TODO: Should we use a property?\n this.setAttribute('tabindex', '-1');\n }\n super.connectedCallback();\n }\n\n updated(changedProperties) {\n if (changedProperties.has('size')) {\n const { selectorMenuItem } = this\n .constructor as typeof CDSOverflowMenuBody;\n const menuItems = this.querySelectorAll(selectorMenuItem);\n menuItems.forEach((item) => {\n item.setAttribute('size', this.size);\n });\n }\n\n super.updated(changedProperties);\n }\n\n render() {\n return html` <slot></slot> `;\n }\n\n /**\n * A selector that will return menu items.\n */\n static get selectorMenuItem() {\n return `${prefix}-overflow-menu-item`;\n }\n\n /**\n * A selector that will return enabled menu items.\n */\n static get selectorItemEnabled() {\n return `${prefix}-overflow-menu-item:not([disabled])`;\n }\n\n static styles = styles;\n}\n\nexport default CDSOverflowMenuBody;\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 FocusMixin from "../../globals/mixins/focus.js";
|
|
12
12
|
import "./defs.js";
|
|
13
13
|
import overflow_menu_default from "./overflow-menu.scss.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overflow-menu-item.js","names":["styles","customElement"],"sources":["../../../src/components/overflow-menu/overflow-menu-item.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 { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { OVERFLOW_MENU_SIZE } from './defs';\nimport styles from './overflow-menu.scss?lit';\n\n/**\n * Overflow menu item.\n *\n * @element cds-custom-overflow-menu-item\n * @fires cds-custom-overflow-menu-item-clicked - The custom event fired when an overflow menu item is clicked.\n */\n@customElement(`${prefix}-overflow-menu-item`)\nclass CDSOverflowMenuItem extends FocusMixin(LitElement) {\n /**\n * Handles `click` event on this element.\n */\n private _handleClick(event: Event) {\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSOverflowMenuItem).itemClicked,\n {\n bubbles: true,\n composed: true,\n detail: {\n evt: event,\n },\n }\n )\n );\n }\n\n /**\n * `true` if the action is danger.\n */\n @property({ type: Boolean, reflect: true })\n danger = false;\n\n /**\n * Specify the message read by screen readers for the danger over flow menu item variant\n */\n @property({ type: String, attribute: 'danger-description' })\n dangerDescription = '';\n\n /**\n * `true` if the overflow menu item should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if the item has a divider\n */\n @property({ type: Boolean, reflect: true })\n divider = false;\n\n /**\n * The link href of the overflow menu item.\n */\n @property()\n href = '';\n\n /**\n * The size of the overflow menu item.\n */\n @property({ reflect: true })\n size = OVERFLOW_MENU_SIZE.MEDIUM;\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'menuitem');\n }\n super.connectedCallback();\n }\n\n render() {\n const { _handleClick: handleClick } = this;\n const hasDangerDescription = this.danger && Boolean(this.dangerDescription);\n return this.href\n ? html`\n <a\n class=\"${prefix}--overflow-menu-options__btn\"\n ?disabled=${this.disabled}\n href=\"${this.href}\"\n tabindex=\"-1\"\n @click=\"${handleClick}\">\n <div class=\"${prefix}--overflow-menu-options__option-content\">\n <slot></slot>\n ${hasDangerDescription\n ? html`<span\n id=\"danger-description\"\n class=\"${prefix}--visually-hidden\"\n >${this.dangerDescription}</span\n >`\n : html``}\n </div>\n <slot name=\"icon\"></slot>\n </a>\n `\n : html`\n <button\n class=\"${prefix}--overflow-menu-options__btn\"\n ?disabled=${this.disabled}\n tabindex=\"-1\"\n @click=\"${handleClick}\">\n <div class=\"${prefix}--overflow-menu-options__option-content\">\n <slot></slot>\n ${hasDangerDescription\n ? html`<span\n id=\"danger-description\"\n class=\"${prefix}--visually-hidden\"\n >${this.dangerDescription}</span\n >`\n : html``}\n </div>\n <slot name=\"icon\"></slot>\n </button>\n `;\n }\n\n /**\n * The name of the custom event fired when the item is clicked.\n */\n static get itemClicked() {\n return `${prefix}-overflow-menu-item-clicked`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSOverflowMenuItem;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,IAAA,sBAAA,MACM,4BAA4B,WAAW,
|
|
1
|
+
{"version":3,"file":"overflow-menu-item.js","names":["styles","customElement"],"sources":["../../../src/components/overflow-menu/overflow-menu-item.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 { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { OVERFLOW_MENU_SIZE } from './defs';\nimport styles from './overflow-menu.scss?lit';\n\n/**\n * Overflow menu item.\n *\n * @element cds-custom-overflow-menu-item\n * @fires cds-custom-overflow-menu-item-clicked - The custom event fired when an overflow menu item is clicked.\n */\n@customElement(`${prefix}-overflow-menu-item`)\nclass CDSOverflowMenuItem extends FocusMixin(LitElement) {\n /**\n * Handles `click` event on this element.\n */\n private _handleClick(event: Event) {\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSOverflowMenuItem).itemClicked,\n {\n bubbles: true,\n composed: true,\n detail: {\n evt: event,\n },\n }\n )\n );\n }\n\n /**\n * `true` if the action is danger.\n */\n @property({ type: Boolean, reflect: true })\n danger = false;\n\n /**\n * Specify the message read by screen readers for the danger over flow menu item variant\n */\n @property({ type: String, attribute: 'danger-description' })\n dangerDescription = '';\n\n /**\n * `true` if the overflow menu item should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` if the item has a divider\n */\n @property({ type: Boolean, reflect: true })\n divider = false;\n\n /**\n * The link href of the overflow menu item.\n */\n @property()\n href = '';\n\n /**\n * The size of the overflow menu item.\n */\n @property({ reflect: true })\n size = OVERFLOW_MENU_SIZE.MEDIUM;\n\n connectedCallback() {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'menuitem');\n }\n super.connectedCallback();\n }\n\n render() {\n const { _handleClick: handleClick } = this;\n const hasDangerDescription = this.danger && Boolean(this.dangerDescription);\n return this.href\n ? html`\n <a\n class=\"${prefix}--overflow-menu-options__btn\"\n ?disabled=${this.disabled}\n href=\"${this.href}\"\n tabindex=\"-1\"\n @click=\"${handleClick}\">\n <div class=\"${prefix}--overflow-menu-options__option-content\">\n <slot></slot>\n ${hasDangerDescription\n ? html`<span\n id=\"danger-description\"\n class=\"${prefix}--visually-hidden\"\n >${this.dangerDescription}</span\n >`\n : html``}\n </div>\n <slot name=\"icon\"></slot>\n </a>\n `\n : html`\n <button\n class=\"${prefix}--overflow-menu-options__btn\"\n ?disabled=${this.disabled}\n tabindex=\"-1\"\n @click=\"${handleClick}\">\n <div class=\"${prefix}--overflow-menu-options__option-content\">\n <slot></slot>\n ${hasDangerDescription\n ? html`<span\n id=\"danger-description\"\n class=\"${prefix}--visually-hidden\"\n >${this.dangerDescription}</span\n >`\n : html``}\n </div>\n <slot name=\"icon\"></slot>\n </button>\n `;\n }\n\n /**\n * The name of the custom event fired when the item is clicked.\n */\n static get itemClicked() {\n return `${prefix}-overflow-menu-item-clicked`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSOverflowMenuItem;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,IAAA,sBAAA,MACM,4BAA4B,WAAW,UAAU,CAAC,CAAC;;;gBAuB9C;2BAMW;kBAMT;iBAMD;cAMH;;;;;;CA3CP,aAAqB,OAAc;EACjC,KAAK,cACH,IAAI,YACD,KAAK,YAA2C,aACjD;GACE,SAAS;GACT,UAAU;GACV,QAAQ,EACN,KAAK,MACP;EACF,CACF,CACF;CACF;CAsCA,oBAAoB;EAClB,IAAI,CAAC,KAAK,aAAa,MAAM,GAC3B,KAAK,aAAa,QAAQ,UAAU;EAEtC,MAAM,kBAAkB;CAC1B;CAEA,SAAS;EACP,MAAM,EAAE,cAAc,gBAAgB;EACtC,MAAM,uBAAuB,KAAK,UAAU,QAAQ,KAAK,iBAAiB;EAC1E,OAAO,KAAK,OACR,IAAI;;2BAEgB;wBACJ,KAAK,SAAS;oBAClB,KAAK,KAAK;;sBAER,YAAY;gCACD;;gBAEjB,uBACE,IAAI;;mCAEc;uBACb,KAAK,kBAAkB;uBAE5B,IAAI,GAAG;;;;YAKjB,IAAI;;2BAEgB;wBACJ,KAAK,SAAS;;sBAEhB,YAAY;gCACD;;gBAEjB,uBACE,IAAI;;mCAEc;uBACb,KAAK,kBAAkB;uBAE5B,IAAI,GAAG;;;;;CAKvB;;;;CAKA,WAAW,cAAc;EACvB,OAAO;CACT;;2BAE2B;GACzB,GAAG,WAAW;GACd,gBAAgB;EAClB;;;gBACgBA;;AAClB;YAjGG,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,oBAAA,WAAA,UAAA,KAAA,CAAA;YAMzC,SAAS;CAAE,MAAM;CAAQ,WAAW;AAAqB,CAAC,CAAA,GAAA,oBAAA,WAAA,qBAAA,KAAA,CAAA;YAM1D,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,oBAAA,WAAA,YAAA,KAAA,CAAA;YAMzC,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,oBAAA,WAAA,WAAA,KAAA,CAAA;YAMzC,SAAS,CAAA,GAAA,oBAAA,WAAA,QAAA,KAAA,CAAA;YAMT,SAAS,EAAE,SAAS,KAAK,CAAC,CAAA,GAAA,oBAAA,WAAA,QAAA,KAAA,CAAA;kCArD5BC,cAAc,wBAA8B,CAAA,GAAA,mBAAA;AA0H7C,IAAA,6BAAe"}
|
|
@@ -33,6 +33,14 @@ declare const CDSOverflowMenu_base: {
|
|
|
33
33
|
*/
|
|
34
34
|
declare class CDSOverflowMenu extends CDSOverflowMenu_base implements CDSFloatingMenuTrigger {
|
|
35
35
|
private _menuController;
|
|
36
|
+
/**
|
|
37
|
+
* The tooltip element in the shadow DOM.
|
|
38
|
+
*/
|
|
39
|
+
private _tooltip?;
|
|
40
|
+
/**
|
|
41
|
+
* The tooltip content element in the shadow DOM.
|
|
42
|
+
*/
|
|
43
|
+
private _tooltipContent?;
|
|
36
44
|
/**
|
|
37
45
|
* The menu body.
|
|
38
46
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overflow-menu.d.ts","sourceRoot":"","sources":["../../../src/components/overflow-menu/overflow-menu.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,sBAAsB,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,eAAe,CAAC;AAQvB,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,CAAC;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"overflow-menu.d.ts","sourceRoot":"","sources":["../../../src/components/overflow-menu/overflow-menu.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,sBAAsB,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,eAAe,CAAC;AAQvB,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,CAAC;;;;;;;;;;uBAPqB,CAAC;;;;;;;AAqCpD;;;;;GAKG;AACH,cACM,eACJ,SAAQ,oBACR,YAAW,sBAAsB;IAEjC,OAAO,CAAC,eAAe,CAAkC;IAEzD;;OAEG;IAEH,OAAO,CAAC,QAAQ,CAAC,CAAc;IAE/B;;OAEG;IAEH,OAAO,CAAC,eAAe,CAAC,CAAc;IAEtC;;OAEG;IACH,OAAO,CAAC,SAAS,CAAoC;IAErD;;OAEG;IACH,OAAO,CAAC,OAAO,CAED;IAEd;;OAEG;IACH,OAAO,CAAC,0BAA0B,CAAS;IAE3C;;OAEG;IACH,OAAO,CAAC,0BAA0B,CAAS;IAE3C;;OAEG;IACH,OAAO,CAAC,cAAc,CAAK;IAE3B;;OAEG;YACW,0BAA0B;IAuBxC;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAYzB;IAEF;;OAEG;IACH,OAAO,CAAC,qBAAqB,CAS3B;IAEF;;OAEG;IACH,OAAO,CAAC,uBAAuB,CAI7B;IAEF;;OAEG;IACH,OAAO,CAAC,uBAAuB,CAmB7B;IAEF;;OAEG;IAEH,SAAS,UAAS;IAElB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAMH,qBAAqB,UAAS;IAE9B;;OAEG;IAEH,OAAO,UAAS;IAEhB;;OAEG;IAEH,SAAS,UAAS;IAElB;;OAEG;IAEH,IAAI,UAAS;IAEb;;OAEG;IAEH,KAAK,SAAK;IAEV;;OAEG;IAEH,KAAK,SAAM;IAEX;;;OAGG;IAEH,aAAa,EAAE,MAAM,CAAkB;IAEvC;;OAEG;IAEH,IAAI,qBAA6B;IAEjC;;OAEG;IAEH,aAAa,UAAS;IAEtB;;OAEG;IAEH,UAAU,UAAS;IAEnB;;OAEG;IACH,IAAI,eAAe,YAElB;IAED,iBAAiB;IAoBjB,oBAAoB;IAWpB,SAAS,CAAC,qBAAqB;IAc/B,OAAO,CAAC,iBAAiB,KAAA;IA4FzB,MAAM;IAIN,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,kCAAkC;IAU1C;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAOjC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,2BAA2B;IAkBnC,OAAO,CAAC,cAAc;IAkFtB,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,WAAW;YAeL,qBAAqB;IAsBnC,OAAO,CAAC,6BAA6B;IAerC,OAAO,CAAC,wBAAwB;IAgBhC;;OAEG;IACH,OAAO,CAAC,wBAAwB;CAgBjC;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import "../../globals/settings.js";
|
|
9
9
|
import { find } 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 FocusMixin from "../../globals/mixins/focus.js";
|
|
13
13
|
import HostListenerMixin from "../../globals/mixins/host-listener.js";
|
|
14
14
|
import FloatingController from "../../globals/controllers/floating-controller.js";
|
|
@@ -21,7 +21,7 @@ import icon_button_default from "../icon-button/icon-button.scss.js";
|
|
|
21
21
|
import overflow_menu_default$1 from "./overflow-menu.scss.js";
|
|
22
22
|
import icon_button_default$1 from "../icon-button/icon-button.js";
|
|
23
23
|
import { adoptStyles, html } from "lit";
|
|
24
|
-
import { property } from "lit/decorators.js";
|
|
24
|
+
import { property, query } from "lit/decorators.js";
|
|
25
25
|
//#region src/components/overflow-menu/overflow-menu.ts
|
|
26
26
|
/**
|
|
27
27
|
* Copyright IBM Corp. 2019, 2026
|
|
@@ -151,7 +151,7 @@ let CDSOverflowMenu = class CDSOverflowMenu extends HostListenerMixin(FocusMixin
|
|
|
151
151
|
updated(changedProperties) {
|
|
152
152
|
super.updated(changedProperties);
|
|
153
153
|
const menuCompositionEnabled = this._isMenuCompositionEnabled();
|
|
154
|
-
const button = this.
|
|
154
|
+
const button = this._tooltip?.querySelector("button");
|
|
155
155
|
button?.classList.add(`cds-custom--btn--icon-only`, `cds-custom--overflow-menu`);
|
|
156
156
|
if (changedProperties.has("open")) {
|
|
157
157
|
if (!menuCompositionEnabled) {
|
|
@@ -172,15 +172,15 @@ let CDSOverflowMenu = class CDSOverflowMenu extends HostListenerMixin(FocusMixin
|
|
|
172
172
|
this._menuController.hostDisconnected();
|
|
173
173
|
this._resetMenuChildFloatingStyles({ closeMenu: true });
|
|
174
174
|
}
|
|
175
|
-
if (changedProperties.has("dataTable"))
|
|
175
|
+
if (changedProperties.has("dataTable")) this._tooltip?.toggleAttribute("data-table", this.dataTable);
|
|
176
176
|
if (changedProperties.has("size")) {
|
|
177
177
|
button?.classList.forEach((item) => {
|
|
178
178
|
if (item.startsWith(`cds-custom--overflow-menu--`)) button?.classList.remove(item);
|
|
179
179
|
});
|
|
180
180
|
button?.classList.add(`cds-custom--overflow-menu--${this.size}`);
|
|
181
|
-
|
|
181
|
+
this._tooltip?.setAttribute("size", this.size);
|
|
182
182
|
}
|
|
183
|
-
if (changedProperties.has("toolbarAction") && this.toolbarAction) this.
|
|
183
|
+
if (changedProperties.has("toolbarAction") && this.toolbarAction) this._tooltip?.setAttribute("toolbar-action", "");
|
|
184
184
|
const labelText = this._getLabelText();
|
|
185
185
|
const popupId = menuCompositionEnabled ? this._getMenuChild()?.id ?? this._menuId : this._menuBody?.id;
|
|
186
186
|
button?.setAttribute("aria-haspopup", "menu");
|
|
@@ -199,7 +199,7 @@ let CDSOverflowMenu = class CDSOverflowMenu extends HostListenerMixin(FocusMixin
|
|
|
199
199
|
return this.querySelector("[slot=tooltip-content]")?.textContent?.trim() || "Options";
|
|
200
200
|
}
|
|
201
201
|
_getTriggerButton() {
|
|
202
|
-
return this.
|
|
202
|
+
return this._tooltip?.querySelector("button");
|
|
203
203
|
}
|
|
204
204
|
_isTriggerEvent(event) {
|
|
205
205
|
const triggerButton = this._getTriggerButton();
|
|
@@ -327,14 +327,15 @@ let CDSOverflowMenu = class CDSOverflowMenu extends HostListenerMixin(FocusMixin
|
|
|
327
327
|
* Suppresses trigger tooltip interactions while the menu is open.
|
|
328
328
|
*/
|
|
329
329
|
_syncTriggerTooltipState() {
|
|
330
|
-
const tooltip = this.
|
|
331
|
-
const tooltipContent = this.shadowRoot?.querySelector(`cds-custom-tooltip-content`);
|
|
330
|
+
const tooltip = this._tooltip;
|
|
332
331
|
if (!tooltip) return;
|
|
333
332
|
tooltip.keyboardOnly = this.open;
|
|
334
|
-
|
|
333
|
+
this._tooltipContent?.toggleAttribute("hidden", this.disabled || this.open);
|
|
335
334
|
if (this.open) tooltip.open = false;
|
|
336
335
|
}
|
|
337
336
|
};
|
|
337
|
+
__decorate([query(`cds-custom-tooltip`)], CDSOverflowMenu.prototype, "_tooltip", void 0);
|
|
338
|
+
__decorate([query(`cds-custom-tooltip-content`)], CDSOverflowMenu.prototype, "_tooltipContent", void 0);
|
|
338
339
|
__decorate([property({
|
|
339
340
|
type: Boolean,
|
|
340
341
|
reflect: true,
|