@carbon/web-components 2.57.0 → 2.58.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +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/defs.js.map +1 -1
- package/es/components/ai-label/ai-label-action-button.js +1 -1
- package/es/components/ai-label/ai-label-action-button.js.map +1 -1
- package/es/components/ai-label/ai-label.js +1 -1
- package/es/components/ai-label/ai-label.js.map +1 -1
- package/es/components/ai-label/defs.js.map +1 -1
- package/es/components/ai-skeleton/ai-skeleton-icon.js +1 -1
- package/es/components/ai-skeleton/ai-skeleton-icon.js.map +1 -1
- package/es/components/ai-skeleton/ai-skeleton-placeholder.js +1 -1
- package/es/components/ai-skeleton/ai-skeleton-placeholder.js.map +1 -1
- package/es/components/ai-skeleton/ai-skeleton-text.js +1 -1
- package/es/components/ai-skeleton/ai-skeleton-text.js.map +1 -1
- package/es/components/badge-indicator/badge-indicator.js +1 -1
- package/es/components/badge-indicator/badge-indicator.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-item.js +1 -1
- package/es/components/breadcrumb/breadcrumb-item.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-link.js +1 -1
- package/es/components/breadcrumb/breadcrumb-link.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-overflow-menu.js +1 -1
- package/es/components/breadcrumb/breadcrumb-overflow-menu.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb-skeleton.js +1 -1
- package/es/components/breadcrumb/breadcrumb-skeleton.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb.js +1 -1
- package/es/components/breadcrumb/breadcrumb.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb.scss.js +1 -1
- package/es/components/breadcrumb/defs.js.map +1 -1
- package/es/components/button/button-set-base.js +1 -1
- package/es/components/button/button-set-base.js.map +1 -1
- package/es/components/button/button-set.js +1 -1
- package/es/components/button/button-set.js.map +1 -1
- package/es/components/button/button-skeleton.js +1 -1
- package/es/components/button/button-skeleton.js.map +1 -1
- package/es/components/button/button.js +1 -1
- package/es/components/button/button.js.map +1 -1
- package/es/components/button/defs.js.map +1 -1
- package/es/components/chat-button/chat-button-skeleton.js +1 -1
- package/es/components/chat-button/chat-button-skeleton.js.map +1 -1
- package/es/components/chat-button/chat-button.js +1 -1
- package/es/components/chat-button/chat-button.js.map +1 -1
- package/es/components/chat-button/defs.js.map +1 -1
- package/es/components/checkbox/checkbox-group.js +1 -1
- package/es/components/checkbox/checkbox-group.js.map +1 -1
- package/es/components/checkbox/checkbox-skeleton.js +1 -1
- package/es/components/checkbox/checkbox-skeleton.js.map +1 -1
- package/es/components/checkbox/checkbox.js +1 -1
- package/es/components/checkbox/checkbox.js.map +1 -1
- package/es/components/checkbox/defs.js.map +1 -1
- package/es/components/code-snippet/code-snippet-skeleton.js +1 -1
- package/es/components/code-snippet/code-snippet-skeleton.js.map +1 -1
- package/es/components/code-snippet/code-snippet.js +1 -1
- package/es/components/code-snippet/code-snippet.js.map +1 -1
- package/es/components/code-snippet/defs.js.map +1 -1
- package/es/components/combo-box/combo-box-item.js +1 -1
- package/es/components/combo-box/combo-box-item.js.map +1 -1
- package/es/components/combo-box/combo-box.js +1 -1
- package/es/components/combo-box/combo-box.js.map +1 -1
- package/es/components/combo-button/combo-button.js +1 -1
- package/es/components/combo-button/combo-button.js.map +1 -1
- package/es/components/combo-button/defs.js.map +1 -1
- package/es/components/contained-list/contained-list-description.js +1 -1
- package/es/components/contained-list/contained-list-description.js.map +1 -1
- package/es/components/contained-list/contained-list-item.js +1 -1
- package/es/components/contained-list/contained-list-item.js.map +1 -1
- package/es/components/contained-list/contained-list.js +1 -1
- package/es/components/contained-list/contained-list.js.map +1 -1
- package/es/components/content-switcher/content-switcher-item.js +1 -1
- package/es/components/content-switcher/content-switcher-item.js.map +1 -1
- package/es/components/content-switcher/content-switcher.js +1 -1
- package/es/components/content-switcher/content-switcher.js.map +1 -1
- package/es/components/content-switcher/defs.js.map +1 -1
- package/es/components/copy/copy.js +1 -1
- package/es/components/copy/copy.js.map +1 -1
- package/es/components/copy-button/copy-button.js +1 -1
- package/es/components/copy-button/copy-button.js.map +1 -1
- package/es/components/data-table/data-table.scss.js +1 -1
- package/es/components/data-table/defs.js.map +1 -1
- package/es/components/data-table/table-batch-actions.js +1 -1
- package/es/components/data-table/table-batch-actions.js.map +1 -1
- package/es/components/data-table/table-body.js +1 -1
- package/es/components/data-table/table-body.js.map +1 -1
- package/es/components/data-table/table-cell-content.js +1 -1
- package/es/components/data-table/table-cell-content.js.map +1 -1
- package/es/components/data-table/table-cell.js +1 -1
- package/es/components/data-table/table-cell.js.map +1 -1
- package/es/components/data-table/table-expanded-row.js +1 -1
- package/es/components/data-table/table-expanded-row.js.map +1 -1
- package/es/components/data-table/table-head.js +1 -1
- package/es/components/data-table/table-head.js.map +1 -1
- package/es/components/data-table/table-header-cell.js +1 -1
- package/es/components/data-table/table-header-cell.js.map +1 -1
- package/es/components/data-table/table-header-description.js +1 -1
- package/es/components/data-table/table-header-description.js.map +1 -1
- package/es/components/data-table/table-header-row.js +1 -1
- package/es/components/data-table/table-header-row.js.map +1 -1
- package/es/components/data-table/table-header-title.js +1 -1
- package/es/components/data-table/table-header-title.js.map +1 -1
- package/es/components/data-table/table-row.js +1 -1
- package/es/components/data-table/table-row.js.map +1 -1
- package/es/components/data-table/table-skeleton.js +1 -1
- package/es/components/data-table/table-skeleton.js.map +1 -1
- package/es/components/data-table/table-toolbar-content.js +1 -1
- package/es/components/data-table/table-toolbar-content.js.map +1 -1
- package/es/components/data-table/table-toolbar-search.js +1 -1
- package/es/components/data-table/table-toolbar-search.js.map +1 -1
- package/es/components/data-table/table-toolbar.js +1 -1
- package/es/components/data-table/table-toolbar.js.map +1 -1
- package/es/components/data-table/table.js +1 -1
- package/es/components/data-table/table.js.map +1 -1
- package/es/components/date-picker/append-to-plugin.js.map +1 -1
- package/es/components/date-picker/css-class-plugin.js.map +1 -1
- package/es/components/date-picker/date-picker-input-skeleton.js +1 -1
- package/es/components/date-picker/date-picker-input-skeleton.js.map +1 -1
- package/es/components/date-picker/date-picker-input.js +1 -1
- package/es/components/date-picker/date-picker-input.js.map +1 -1
- package/es/components/date-picker/date-picker.js +1 -1
- package/es/components/date-picker/date-picker.js.map +1 -1
- package/es/components/date-picker/defs.js.map +1 -1
- package/es/components/date-picker/fix-events-plugin.js.map +1 -1
- package/es/components/date-picker/focus-plugin.js.map +1 -1
- package/es/components/date-picker/icon-plugin.js.map +1 -1
- package/es/components/date-picker/iso-date.js.map +1 -1
- package/es/components/date-picker/month-select-plugin.js.map +1 -1
- package/es/components/date-picker/range-plugin.js.map +1 -1
- package/es/components/date-picker/shadow-dom-events-plugin.js.map +1 -1
- package/es/components/date-picker/state-handshake-plugin.js.map +1 -1
- package/es/components/dialog/dialog-body.js +1 -1
- package/es/components/dialog/dialog-body.js.map +1 -1
- package/es/components/dialog/dialog-close-button.js +1 -1
- package/es/components/dialog/dialog-close-button.js.map +1 -1
- package/es/components/dialog/dialog-controls.js +1 -1
- package/es/components/dialog/dialog-controls.js.map +1 -1
- package/es/components/dialog/dialog-footer-button.js +1 -1
- package/es/components/dialog/dialog-footer-button.js.map +1 -1
- package/es/components/dialog/dialog-footer.js +1 -1
- package/es/components/dialog/dialog-footer.js.map +1 -1
- package/es/components/dialog/dialog-header.js +1 -1
- package/es/components/dialog/dialog-header.js.map +1 -1
- package/es/components/dialog/dialog-subtitle.js +1 -1
- package/es/components/dialog/dialog-subtitle.js.map +1 -1
- package/es/components/dialog/dialog-title.js +1 -1
- package/es/components/dialog/dialog-title.js.map +1 -1
- package/es/components/dialog/dialog.js +1 -1
- package/es/components/dialog/dialog.js.map +1 -1
- package/es/components/dropdown/defs.js.map +1 -1
- package/es/components/dropdown/dropdown-item.js +1 -1
- package/es/components/dropdown/dropdown-item.js.map +1 -1
- package/es/components/dropdown/dropdown-skeleton.js +1 -1
- package/es/components/dropdown/dropdown-skeleton.js.map +1 -1
- package/es/components/dropdown/dropdown.js +1 -1
- package/es/components/dropdown/dropdown.js.map +1 -1
- package/es/components/feature-flags/index.js +1 -1
- package/es/components/feature-flags/index.js.map +1 -1
- package/es/components/file-uploader/defs.js.map +1 -1
- package/es/components/file-uploader/demo-file-uploader.js +1 -1
- package/es/components/file-uploader/demo-file-uploader.js.map +1 -1
- package/es/components/file-uploader/file-uploader-button.js +1 -1
- package/es/components/file-uploader/file-uploader-button.js.map +1 -1
- package/es/components/file-uploader/file-uploader-drop-container.js +1 -1
- package/es/components/file-uploader/file-uploader-drop-container.js.map +1 -1
- package/es/components/file-uploader/file-uploader-item.js +1 -1
- package/es/components/file-uploader/file-uploader-item.js.map +1 -1
- package/es/components/file-uploader/file-uploader-skeleton.js +1 -1
- package/es/components/file-uploader/file-uploader-skeleton.js.map +1 -1
- package/es/components/file-uploader/file-uploader.js +1 -1
- package/es/components/file-uploader/file-uploader.js.map +1 -1
- package/es/components/floating-menu/defs.js.map +1 -1
- package/es/components/floating-menu/floating-menu.js +1 -1
- package/es/components/floating-menu/floating-menu.js.map +1 -1
- package/es/components/fluid-combo-box/fluid-combo-box-skeleton.js +1 -1
- package/es/components/fluid-combo-box/fluid-combo-box-skeleton.js.map +1 -1
- package/es/components/fluid-combo-box/fluid-combo-box.js +1 -1
- package/es/components/fluid-combo-box/fluid-combo-box.js.map +1 -1
- package/es/components/fluid-dropdown/fluid-dropdown-skeleton.js +1 -1
- package/es/components/fluid-dropdown/fluid-dropdown-skeleton.js.map +1 -1
- package/es/components/fluid-dropdown/fluid-dropdown.js +1 -1
- package/es/components/fluid-dropdown/fluid-dropdown.js.map +1 -1
- package/es/components/fluid-form/fluid-form.js +1 -1
- package/es/components/fluid-form/fluid-form.js.map +1 -1
- package/es/components/fluid-multi-select/fluid-multi-select-skeleton.js +1 -1
- package/es/components/fluid-multi-select/fluid-multi-select-skeleton.js.map +1 -1
- package/es/components/fluid-multi-select/fluid-multi-select.js +1 -1
- package/es/components/fluid-multi-select/fluid-multi-select.js.map +1 -1
- package/es/components/fluid-multi-select/fluid-multi-select.scss.js +1 -1
- package/es/components/fluid-number-input/fluid-number-input-skeleton.js +1 -1
- package/es/components/fluid-number-input/fluid-number-input-skeleton.js.map +1 -1
- package/es/components/fluid-number-input/fluid-number-input.js +1 -1
- package/es/components/fluid-number-input/fluid-number-input.js.map +1 -1
- package/es/components/fluid-password-input/fluid-password-input.js +1 -1
- package/es/components/fluid-password-input/fluid-password-input.js.map +1 -1
- package/es/components/fluid-search/fluid-search-skeleton.js +1 -1
- package/es/components/fluid-search/fluid-search-skeleton.js.map +1 -1
- package/es/components/fluid-search/fluid-search.js +1 -1
- package/es/components/fluid-search/fluid-search.js.map +1 -1
- package/es/components/fluid-select/fluid-select-skeleton.js +1 -1
- package/es/components/fluid-select/fluid-select-skeleton.js.map +1 -1
- package/es/components/fluid-select/fluid-select.js +1 -1
- package/es/components/fluid-select/fluid-select.js.map +1 -1
- package/es/components/fluid-text-input/fluid-text-input-skeleton.js +1 -1
- package/es/components/fluid-text-input/fluid-text-input-skeleton.js.map +1 -1
- package/es/components/fluid-text-input/fluid-text-input.js +1 -1
- package/es/components/fluid-text-input/fluid-text-input.js.map +1 -1
- package/es/components/fluid-textarea/fluid-textarea-skeleton.js +1 -1
- package/es/components/fluid-textarea/fluid-textarea-skeleton.js.map +1 -1
- package/es/components/fluid-textarea/fluid-textarea.js +1 -1
- package/es/components/fluid-textarea/fluid-textarea.js.map +1 -1
- package/es/components/fluid-time-picker/fluid-time-picker-select.js +1 -1
- package/es/components/fluid-time-picker/fluid-time-picker-select.js.map +1 -1
- package/es/components/fluid-time-picker/fluid-time-picker-skeleton.js +1 -1
- package/es/components/fluid-time-picker/fluid-time-picker-skeleton.js.map +1 -1
- package/es/components/fluid-time-picker/fluid-time-picker.js +1 -1
- package/es/components/fluid-time-picker/fluid-time-picker.js.map +1 -1
- package/es/components/form/form-item.js +1 -1
- package/es/components/form/form-item.js.map +1 -1
- package/es/components/form/form.js +1 -1
- package/es/components/form/form.js.map +1 -1
- package/es/components/form-group/form-group.js +1 -1
- package/es/components/form-group/form-group.js.map +1 -1
- package/es/components/grid/column-hang.js +1 -1
- package/es/components/grid/column-hang.js.map +1 -1
- package/es/components/grid/column.js +1 -1
- package/es/components/grid/column.js.map +1 -1
- package/es/components/grid/defs.js.map +1 -1
- package/es/components/grid/grid-context.js.map +1 -1
- package/es/components/grid/grid.js +1 -1
- package/es/components/grid/grid.js.map +1 -1
- package/es/components/heading/heading.js +1 -1
- package/es/components/heading/heading.js.map +1 -1
- package/es/components/icon/icon.js +1 -1
- package/es/components/icon/icon.js.map +1 -1
- package/es/components/icon-button/defs.js.map +1 -1
- package/es/components/icon-button/icon-button.js +1 -1
- package/es/components/icon-button/icon-button.js.map +1 -1
- package/es/components/icon-indicator/defs.js.map +1 -1
- package/es/components/icon-indicator/icon-indicator.js +1 -1
- package/es/components/icon-indicator/icon-indicator.js.map +1 -1
- package/es/components/inline-loading/defs.js.map +1 -1
- package/es/components/inline-loading/inline-loading.js +1 -1
- package/es/components/inline-loading/inline-loading.js.map +1 -1
- package/es/components/layer/layer.js +1 -1
- package/es/components/layer/layer.js.map +1 -1
- package/es/components/layout/layout-constraint.js +1 -1
- package/es/components/layout/layout-constraint.js.map +1 -1
- package/es/components/layout/layout.js +1 -1
- package/es/components/layout/layout.js.map +1 -1
- package/es/components/link/link.d.ts +1 -1
- package/es/components/link/link.js +1 -1
- package/es/components/link/link.js.map +1 -1
- package/es/components/link/link.scss.js +1 -1
- package/es/components/list/list-item.js +1 -1
- package/es/components/list/list-item.js.map +1 -1
- package/es/components/list/ordered-list.js +1 -1
- package/es/components/list/ordered-list.js.map +1 -1
- package/es/components/list/unordered-list.js +1 -1
- package/es/components/list/unordered-list.js.map +1 -1
- package/es/components/loading/defs.js.map +1 -1
- package/es/components/loading/loading-icon.js.map +1 -1
- package/es/components/loading/loading.js +1 -1
- package/es/components/loading/loading.js.map +1 -1
- package/es/components/menu/defs.js.map +1 -1
- package/es/components/menu/menu-context.js.map +1 -1
- package/es/components/menu/menu-item-divider.js +1 -1
- package/es/components/menu/menu-item-divider.js.map +1 -1
- package/es/components/menu/menu-item-group.js +1 -1
- package/es/components/menu/menu-item-group.js.map +1 -1
- package/es/components/menu/menu-item-radio-group.js +1 -1
- package/es/components/menu/menu-item-radio-group.js.map +1 -1
- package/es/components/menu/menu-item-selectable.d.ts +4 -0
- package/es/components/menu/menu-item-selectable.d.ts.map +1 -1
- package/es/components/menu/menu-item-selectable.js +4 -4
- package/es/components/menu/menu-item-selectable.js.map +1 -1
- package/es/components/menu/menu-item.js +1 -1
- package/es/components/menu/menu-item.js.map +1 -1
- package/es/components/menu/menu.d.ts +14 -6
- package/es/components/menu/menu.d.ts.map +1 -1
- package/es/components/menu/menu.js +9 -7
- package/es/components/menu/menu.js.map +1 -1
- package/es/components/menu-button/defs.js.map +1 -1
- package/es/components/menu-button/menu-button.js +1 -1
- package/es/components/menu-button/menu-button.js.map +1 -1
- package/es/components/menu-button/menu-button.scss.js +1 -1
- package/es/components/modal/defs.js.map +1 -1
- package/es/components/modal/modal-base.js +1 -1
- package/es/components/modal/modal-base.js.map +1 -1
- package/es/components/modal/modal-body-content.js +1 -1
- package/es/components/modal/modal-body-content.js.map +1 -1
- package/es/components/modal/modal-body.js +1 -1
- package/es/components/modal/modal-body.js.map +1 -1
- package/es/components/modal/modal-close-button.js +1 -1
- package/es/components/modal/modal-close-button.js.map +1 -1
- package/es/components/modal/modal-footer-button.js +1 -1
- package/es/components/modal/modal-footer-button.js.map +1 -1
- package/es/components/modal/modal-footer.js +1 -1
- package/es/components/modal/modal-footer.js.map +1 -1
- package/es/components/modal/modal-header.js +1 -1
- package/es/components/modal/modal-header.js.map +1 -1
- package/es/components/modal/modal-heading.js +1 -1
- package/es/components/modal/modal-heading.js.map +1 -1
- package/es/components/modal/modal-label.js +1 -1
- package/es/components/modal/modal-label.js.map +1 -1
- package/es/components/modal/modal.js +1 -1
- package/es/components/modal/modal.js.map +1 -1
- package/es/components/multi-select/defs.js.map +1 -1
- package/es/components/multi-select/multi-select-item.js +1 -1
- package/es/components/multi-select/multi-select-item.js.map +1 -1
- package/es/components/multi-select/multi-select.js +1 -1
- package/es/components/multi-select/multi-select.js.map +1 -1
- package/es/components/multi-select/multi-select.scss.js +1 -1
- package/es/components/notification/actionable-notification-button.js +1 -1
- package/es/components/notification/actionable-notification-button.js.map +1 -1
- package/es/components/notification/actionable-notification.js +1 -1
- package/es/components/notification/actionable-notification.js.map +1 -1
- package/es/components/notification/callout-notification.js +1 -1
- package/es/components/notification/callout-notification.js.map +1 -1
- package/es/components/notification/defs.js.map +1 -1
- package/es/components/notification/inline-notification.js +1 -1
- package/es/components/notification/inline-notification.js.map +1 -1
- package/es/components/notification/stories/helper.js.map +1 -1
- package/es/components/notification/toast-notification.js +1 -1
- package/es/components/notification/toast-notification.js.map +1 -1
- package/es/components/number-input/defs.js.map +1 -1
- package/es/components/number-input/number-input-skeleton.js +1 -1
- package/es/components/number-input/number-input-skeleton.js.map +1 -1
- package/es/components/number-input/number-input.js +1 -1
- package/es/components/number-input/number-input.js.map +1 -1
- package/es/components/overflow-menu/defs.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu-body.js +1 -1
- package/es/components/overflow-menu/overflow-menu-body.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu-item.js +1 -1
- package/es/components/overflow-menu/overflow-menu-item.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu.js +1 -1
- package/es/components/overflow-menu/overflow-menu.js.map +1 -1
- package/es/components/page-header/page-header-breadcrumb.js +1 -1
- package/es/components/page-header/page-header-breadcrumb.js.map +1 -1
- package/es/components/page-header/page-header-content-text.js +1 -1
- package/es/components/page-header/page-header-content-text.js.map +1 -1
- package/es/components/page-header/page-header-content.js +1 -1
- package/es/components/page-header/page-header-content.js.map +1 -1
- package/es/components/page-header/page-header-hero-image.js +1 -1
- package/es/components/page-header/page-header-hero-image.js.map +1 -1
- package/es/components/page-header/page-header-tabs.js +1 -1
- package/es/components/page-header/page-header-tabs.js.map +1 -1
- package/es/components/page-header/page-header.js +1 -1
- package/es/components/page-header/page-header.js.map +1 -1
- package/es/components/pagination/defs.js.map +1 -1
- package/es/components/pagination/pagination.d.ts +3 -0
- package/es/components/pagination/pagination.d.ts.map +1 -1
- package/es/components/pagination/pagination.js +18 -23
- package/es/components/pagination/pagination.js.map +1 -1
- package/es/components/pagination-nav/defs.js.map +1 -1
- package/es/components/pagination-nav/pagination-nav.js +1 -1
- package/es/components/pagination-nav/pagination-nav.js.map +1 -1
- package/es/components/password-input/defs.js.map +1 -1
- package/es/components/password-input/password-input-skeleton.js +1 -1
- package/es/components/password-input/password-input-skeleton.js.map +1 -1
- package/es/components/password-input/password-input.js +1 -1
- package/es/components/password-input/password-input.js.map +1 -1
- package/es/components/popover/defs.js.map +1 -1
- package/es/components/popover/popover-content.js +1 -1
- package/es/components/popover/popover-content.js.map +1 -1
- package/es/components/popover/popover.d.ts +5 -0
- package/es/components/popover/popover.d.ts.map +1 -1
- package/es/components/popover/popover.js +23 -2
- package/es/components/popover/popover.js.map +1 -1
- package/es/components/progress-bar/defs.js.map +1 -1
- package/es/components/progress-bar/progress-bar.js +1 -1
- package/es/components/progress-bar/progress-bar.js.map +1 -1
- package/es/components/progress-indicator/defs.js.map +1 -1
- package/es/components/progress-indicator/progress-indicator-skeleton.js +1 -1
- package/es/components/progress-indicator/progress-indicator-skeleton.js.map +1 -1
- package/es/components/progress-indicator/progress-indicator.js +1 -1
- package/es/components/progress-indicator/progress-indicator.js.map +1 -1
- package/es/components/progress-indicator/progress-step-skeleton.js +1 -1
- package/es/components/progress-indicator/progress-step-skeleton.js.map +1 -1
- package/es/components/progress-indicator/progress-step.js +1 -1
- package/es/components/progress-indicator/progress-step.js.map +1 -1
- package/es/components/radio-button/defs.js.map +1 -1
- package/es/components/radio-button/radio-button-group.d.ts +3 -0
- package/es/components/radio-button/radio-button-group.d.ts.map +1 -1
- package/es/components/radio-button/radio-button-group.js +22 -5
- package/es/components/radio-button/radio-button-group.js.map +1 -1
- package/es/components/radio-button/radio-button-skeleton.js +1 -1
- package/es/components/radio-button/radio-button-skeleton.js.map +1 -1
- package/es/components/radio-button/radio-button.js +1 -1
- package/es/components/radio-button/radio-button.js.map +1 -1
- package/es/components/search/defs.js.map +1 -1
- package/es/components/search/search-skeleton.js +1 -1
- package/es/components/search/search-skeleton.js.map +1 -1
- package/es/components/search/search.js +1 -1
- package/es/components/search/search.js.map +1 -1
- package/es/components/select/select-item-group.js +1 -1
- package/es/components/select/select-item-group.js.map +1 -1
- package/es/components/select/select-item.js +1 -1
- package/es/components/select/select-item.js.map +1 -1
- package/es/components/select/select-skeleton.js +1 -1
- package/es/components/select/select-skeleton.js.map +1 -1
- package/es/components/select/select.js +1 -1
- package/es/components/select/select.js.map +1 -1
- package/es/components/shape-indicator/defs.js.map +1 -1
- package/es/components/shape-indicator/shape-indicator.js +1 -1
- package/es/components/shape-indicator/shape-indicator.js.map +1 -1
- package/es/components/side-panel/defs.js.map +1 -1
- package/es/components/side-panel/side-panel.js +1 -1
- package/es/components/side-panel/side-panel.js.map +1 -1
- package/es/components/skeleton-icon/skeleton-icon.js +1 -1
- package/es/components/skeleton-icon/skeleton-icon.js.map +1 -1
- package/es/components/skeleton-placeholder/skeleton-placeholder.js +1 -1
- package/es/components/skeleton-placeholder/skeleton-placeholder.js.map +1 -1
- package/es/components/skeleton-text/defs.js.map +1 -1
- package/es/components/skeleton-text/skeleton-text.js +1 -1
- package/es/components/skeleton-text/skeleton-text.js.map +1 -1
- package/es/components/skip-to-content/skip-to-content.js +1 -1
- package/es/components/skip-to-content/skip-to-content.js.map +1 -1
- package/es/components/slider/slider-input.js +1 -1
- package/es/components/slider/slider-input.js.map +1 -1
- package/es/components/slider/slider-skeleton.js +1 -1
- package/es/components/slider/slider-skeleton.js.map +1 -1
- package/es/components/slider/slider.js +1 -1
- package/es/components/slider/slider.js.map +1 -1
- package/es/components/slug/defs.js.map +1 -1
- package/es/components/slug/slug-action-button.js +1 -1
- package/es/components/slug/slug-action-button.js.map +1 -1
- package/es/components/slug/slug.js +1 -1
- package/es/components/slug/slug.js.map +1 -1
- package/es/components/stack/defs.js.map +1 -1
- package/es/components/stack/stack.js +1 -1
- package/es/components/stack/stack.js.map +1 -1
- package/es/components/structured-list/structured-list-body.js +1 -1
- package/es/components/structured-list/structured-list-body.js.map +1 -1
- package/es/components/structured-list/structured-list-cell.js +1 -1
- package/es/components/structured-list/structured-list-cell.js.map +1 -1
- package/es/components/structured-list/structured-list-head.js +1 -1
- package/es/components/structured-list/structured-list-head.js.map +1 -1
- package/es/components/structured-list/structured-list-header-cell-skeleton.js +1 -1
- package/es/components/structured-list/structured-list-header-cell-skeleton.js.map +1 -1
- package/es/components/structured-list/structured-list-header-cell.js +1 -1
- package/es/components/structured-list/structured-list-header-cell.js.map +1 -1
- package/es/components/structured-list/structured-list-header-row.js +1 -1
- package/es/components/structured-list/structured-list-header-row.js.map +1 -1
- package/es/components/structured-list/structured-list-row.js +1 -1
- package/es/components/structured-list/structured-list-row.js.map +1 -1
- package/es/components/structured-list/structured-list.js +1 -1
- package/es/components/structured-list/structured-list.js.map +1 -1
- package/es/components/tabs/defs.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/tag/defs.js.map +1 -1
- package/es/components/tag/dismissible-tag.js +1 -1
- package/es/components/tag/dismissible-tag.js.map +1 -1
- package/es/components/tag/operational-tag.js +1 -1
- package/es/components/tag/operational-tag.js.map +1 -1
- package/es/components/tag/selectable-tag.js +1 -1
- package/es/components/tag/selectable-tag.js.map +1 -1
- package/es/components/tag/tag-skeleton.js +1 -1
- package/es/components/tag/tag-skeleton.js.map +1 -1
- package/es/components/tag/tag.js +1 -1
- package/es/components/tag/tag.js.map +1 -1
- package/es/components/tearsheet/defs.js.map +1 -1
- package/es/components/tearsheet/tearsheet.js +1 -1
- package/es/components/tearsheet/tearsheet.js.map +1 -1
- package/es/components/text-input/defs.js.map +1 -1
- package/es/components/text-input/stories/helpers.js.map +1 -1
- package/es/components/text-input/text-input-skeleton.js +1 -1
- package/es/components/text-input/text-input-skeleton.js.map +1 -1
- package/es/components/text-input/text-input.js +1 -1
- package/es/components/text-input/text-input.js.map +1 -1
- package/es/components/textarea/stories/helpers.js.map +1 -1
- package/es/components/textarea/textarea-skeleton.js +1 -1
- package/es/components/textarea/textarea-skeleton.js.map +1 -1
- package/es/components/textarea/textarea.js +1 -1
- package/es/components/textarea/textarea.js.map +1 -1
- package/es/components/tile/clickable-tile.js +1 -1
- package/es/components/tile/clickable-tile.js.map +1 -1
- package/es/components/tile/expandable-tile.js +1 -1
- package/es/components/tile/expandable-tile.js.map +1 -1
- package/es/components/tile/radio-tile.js +1 -1
- package/es/components/tile/radio-tile.js.map +1 -1
- package/es/components/tile/selectable-tile.js +1 -1
- package/es/components/tile/selectable-tile.js.map +1 -1
- package/es/components/tile/tile-group.js +1 -1
- package/es/components/tile/tile-group.js.map +1 -1
- package/es/components/tile/tile.js +1 -1
- package/es/components/tile/tile.js.map +1 -1
- package/es/components/tile/tile.scss.js +1 -1
- package/es/components/time-picker/defs.js.map +1 -1
- package/es/components/time-picker/time-picker-select.js +1 -1
- package/es/components/time-picker/time-picker-select.js.map +1 -1
- package/es/components/time-picker/time-picker.js +1 -1
- package/es/components/time-picker/time-picker.js.map +1 -1
- package/es/components/toggle/defs.js.map +1 -1
- package/es/components/toggle/toggle-skeleton.js +1 -1
- package/es/components/toggle/toggle-skeleton.js.map +1 -1
- package/es/components/toggle/toggle.js +1 -1
- package/es/components/toggle/toggle.js.map +1 -1
- package/es/components/toggle-tip/toggletip.js +1 -1
- package/es/components/toggle-tip/toggletip.js.map +1 -1
- package/es/components/tooltip/definition-tooltip.js +1 -1
- package/es/components/tooltip/definition-tooltip.js.map +1 -1
- package/es/components/tooltip/tooltip-content.js +1 -1
- package/es/components/tooltip/tooltip-content.js.map +1 -1
- package/es/components/tooltip/tooltip.js +1 -1
- package/es/components/tooltip/tooltip.js.map +1 -1
- package/es/components/tree-view/defs.js.map +1 -1
- package/es/components/tree-view/tree-node.js +1 -1
- package/es/components/tree-view/tree-node.js.map +1 -1
- package/es/components/tree-view/tree-view.js +1 -1
- package/es/components/tree-view/tree-view.js.map +1 -1
- package/es/components/ui-shell/defs.js.map +1 -1
- package/es/components/ui-shell/header-global-action.js +1 -1
- package/es/components/ui-shell/header-global-action.js.map +1 -1
- package/es/components/ui-shell/header-menu-button.js +1 -1
- package/es/components/ui-shell/header-menu-button.js.map +1 -1
- package/es/components/ui-shell/header-menu-item.js +1 -1
- package/es/components/ui-shell/header-menu-item.js.map +1 -1
- package/es/components/ui-shell/header-menu.js +1 -1
- package/es/components/ui-shell/header-menu.js.map +1 -1
- package/es/components/ui-shell/header-name.js +1 -1
- package/es/components/ui-shell/header-name.js.map +1 -1
- package/es/components/ui-shell/header-nav-item.js +1 -1
- package/es/components/ui-shell/header-nav-item.js.map +1 -1
- package/es/components/ui-shell/header-nav.js +1 -1
- package/es/components/ui-shell/header-nav.js.map +1 -1
- package/es/components/ui-shell/header-panel.js +1 -1
- package/es/components/ui-shell/header-panel.js.map +1 -1
- package/es/components/ui-shell/header-side-nav-items.js +1 -1
- package/es/components/ui-shell/header-side-nav-items.js.map +1 -1
- package/es/components/ui-shell/header.js +1 -1
- package/es/components/ui-shell/header.js.map +1 -1
- package/es/components/ui-shell/side-nav-divider.js +1 -1
- package/es/components/ui-shell/side-nav-divider.js.map +1 -1
- package/es/components/ui-shell/side-nav-items.js +1 -1
- package/es/components/ui-shell/side-nav-items.js.map +1 -1
- package/es/components/ui-shell/side-nav-link.js +1 -1
- package/es/components/ui-shell/side-nav-link.js.map +1 -1
- package/es/components/ui-shell/side-nav-menu-item.js +1 -1
- package/es/components/ui-shell/side-nav-menu-item.js.map +1 -1
- package/es/components/ui-shell/side-nav-menu.js +1 -1
- package/es/components/ui-shell/side-nav-menu.js.map +1 -1
- package/es/components/ui-shell/side-nav.js +1 -1
- package/es/components/ui-shell/side-nav.js.map +1 -1
- package/es/components/ui-shell/switcher-divider.js +1 -1
- package/es/components/ui-shell/switcher-divider.js.map +1 -1
- package/es/components/ui-shell/switcher-item.js +1 -1
- package/es/components/ui-shell/switcher-item.js.map +1 -1
- package/es/components/ui-shell/switcher.js +1 -1
- package/es/components/ui-shell/switcher.js.map +1 -1
- package/es/globals/controllers/floating-controller.js.map +1 -1
- package/es/globals/decorators/carbon-element.js.map +1 -1
- package/es/globals/decorators/host-listener.js.map +1 -1
- package/es/globals/directives/if-non-empty.js.map +1 -1
- package/es/globals/directives/spread.js.map +1 -1
- package/es/globals/internal/collection-helpers.js.map +1 -1
- package/es/globals/internal/deep-shadow-contains.js.map +1 -1
- package/es/globals/internal/icon-loader-utils.js.map +1 -1
- package/es/globals/internal/icon-loader.js.map +1 -1
- package/es/globals/internal/radio-group-manager.js.map +1 -1
- package/es/globals/mixins/focus.js.map +1 -1
- package/es/globals/mixins/form.js.map +1 -1
- package/es/globals/mixins/host-listener.js.map +1 -1
- package/es/globals/mixins/on.js.map +1 -1
- package/es/globals/mixins/validity.js.map +1 -1
- package/es/globals/shared-enums.js.map +1 -1
- package/es/node_modules/flatpickr/dist/esm/index.js.map +1 -1
- package/es/node_modules/flatpickr/dist/esm/l10n/default.js.map +1 -1
- package/es/node_modules/flatpickr/dist/esm/plugins/rangePlugin.js.map +1 -1
- package/es/node_modules/flatpickr/dist/esm/types/options.js.map +1 -1
- package/es/node_modules/flatpickr/dist/esm/utils/dates.js.map +1 -1
- package/es/node_modules/flatpickr/dist/esm/utils/dom.js.map +1 -1
- package/es/node_modules/flatpickr/dist/esm/utils/formatting.js.map +1 -1
- package/es/node_modules/flatpickr/dist/esm/utils/index.js.map +1 -1
- package/es/node_modules/flatpickr/dist/esm/utils/polyfills.js.map +1 -1
- package/es/packages/feature-flags/es/index.js.map +1 -1
- package/es-custom/_virtual/{_@oxc-project_runtime@0.126.0/helpers → _@oxc-project_runtime@0.135.0/helpers/esm}/decorate.js +1 -1
- package/es-custom/components/accordion/accordion-item-skeleton.js +1 -1
- package/es-custom/components/accordion/accordion-item-skeleton.js.map +1 -1
- package/es-custom/components/accordion/accordion-item.js +1 -1
- package/es-custom/components/accordion/accordion-item.js.map +1 -1
- package/es-custom/components/accordion/accordion-skeleton.js +1 -1
- package/es-custom/components/accordion/accordion-skeleton.js.map +1 -1
- package/es-custom/components/accordion/accordion.js +1 -1
- package/es-custom/components/accordion/accordion.js.map +1 -1
- package/es-custom/components/accordion/defs.js.map +1 -1
- package/es-custom/components/ai-label/ai-label-action-button.js +1 -1
- package/es-custom/components/ai-label/ai-label-action-button.js.map +1 -1
- package/es-custom/components/ai-label/ai-label.js +1 -1
- package/es-custom/components/ai-label/ai-label.js.map +1 -1
- package/es-custom/components/ai-label/defs.js.map +1 -1
- package/es-custom/components/ai-skeleton/ai-skeleton-icon.js +1 -1
- package/es-custom/components/ai-skeleton/ai-skeleton-icon.js.map +1 -1
- package/es-custom/components/ai-skeleton/ai-skeleton-placeholder.js +1 -1
- package/es-custom/components/ai-skeleton/ai-skeleton-placeholder.js.map +1 -1
- package/es-custom/components/ai-skeleton/ai-skeleton-text.js +1 -1
- package/es-custom/components/ai-skeleton/ai-skeleton-text.js.map +1 -1
- package/es-custom/components/badge-indicator/badge-indicator.js +1 -1
- package/es-custom/components/badge-indicator/badge-indicator.js.map +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-item.js +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-item.js.map +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-link.js +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-link.js.map +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-overflow-menu.js +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-overflow-menu.js.map +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-skeleton.js +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-skeleton.js.map +1 -1
- package/es-custom/components/breadcrumb/breadcrumb.js +1 -1
- package/es-custom/components/breadcrumb/breadcrumb.js.map +1 -1
- package/es-custom/components/breadcrumb/breadcrumb.scss.js +1 -1
- package/es-custom/components/breadcrumb/defs.js.map +1 -1
- package/es-custom/components/button/button-set-base.js +1 -1
- package/es-custom/components/button/button-set-base.js.map +1 -1
- package/es-custom/components/button/button-set.js +1 -1
- package/es-custom/components/button/button-set.js.map +1 -1
- package/es-custom/components/button/button-skeleton.js +1 -1
- package/es-custom/components/button/button-skeleton.js.map +1 -1
- package/es-custom/components/button/button.js +1 -1
- package/es-custom/components/button/button.js.map +1 -1
- package/es-custom/components/button/defs.js.map +1 -1
- package/es-custom/components/chat-button/chat-button-skeleton.js +1 -1
- package/es-custom/components/chat-button/chat-button-skeleton.js.map +1 -1
- package/es-custom/components/chat-button/chat-button.js +1 -1
- package/es-custom/components/chat-button/chat-button.js.map +1 -1
- package/es-custom/components/chat-button/defs.js.map +1 -1
- package/es-custom/components/checkbox/checkbox-group.js +1 -1
- package/es-custom/components/checkbox/checkbox-group.js.map +1 -1
- package/es-custom/components/checkbox/checkbox-skeleton.js +1 -1
- package/es-custom/components/checkbox/checkbox-skeleton.js.map +1 -1
- package/es-custom/components/checkbox/checkbox.js +1 -1
- package/es-custom/components/checkbox/checkbox.js.map +1 -1
- package/es-custom/components/checkbox/defs.js.map +1 -1
- package/es-custom/components/code-snippet/code-snippet-skeleton.js +1 -1
- package/es-custom/components/code-snippet/code-snippet-skeleton.js.map +1 -1
- package/es-custom/components/code-snippet/code-snippet.js +1 -1
- package/es-custom/components/code-snippet/code-snippet.js.map +1 -1
- package/es-custom/components/code-snippet/defs.js.map +1 -1
- package/es-custom/components/combo-box/combo-box-item.js +1 -1
- package/es-custom/components/combo-box/combo-box-item.js.map +1 -1
- package/es-custom/components/combo-box/combo-box.js +1 -1
- package/es-custom/components/combo-box/combo-box.js.map +1 -1
- package/es-custom/components/combo-button/combo-button.js +1 -1
- package/es-custom/components/combo-button/combo-button.js.map +1 -1
- package/es-custom/components/combo-button/defs.js.map +1 -1
- package/es-custom/components/contained-list/contained-list-description.js +1 -1
- package/es-custom/components/contained-list/contained-list-description.js.map +1 -1
- package/es-custom/components/contained-list/contained-list-item.js +1 -1
- package/es-custom/components/contained-list/contained-list-item.js.map +1 -1
- package/es-custom/components/contained-list/contained-list.js +1 -1
- package/es-custom/components/contained-list/contained-list.js.map +1 -1
- package/es-custom/components/content-switcher/content-switcher-item.js +1 -1
- package/es-custom/components/content-switcher/content-switcher-item.js.map +1 -1
- package/es-custom/components/content-switcher/content-switcher.js +1 -1
- package/es-custom/components/content-switcher/content-switcher.js.map +1 -1
- package/es-custom/components/content-switcher/defs.js.map +1 -1
- package/es-custom/components/copy/copy.js +1 -1
- package/es-custom/components/copy/copy.js.map +1 -1
- package/es-custom/components/copy-button/copy-button.js +1 -1
- package/es-custom/components/copy-button/copy-button.js.map +1 -1
- package/es-custom/components/data-table/data-table.scss.js +1 -1
- package/es-custom/components/data-table/defs.js.map +1 -1
- package/es-custom/components/data-table/table-batch-actions.js +1 -1
- package/es-custom/components/data-table/table-batch-actions.js.map +1 -1
- package/es-custom/components/data-table/table-body.js +1 -1
- package/es-custom/components/data-table/table-body.js.map +1 -1
- package/es-custom/components/data-table/table-cell-content.js +1 -1
- package/es-custom/components/data-table/table-cell-content.js.map +1 -1
- package/es-custom/components/data-table/table-cell.js +1 -1
- package/es-custom/components/data-table/table-cell.js.map +1 -1
- package/es-custom/components/data-table/table-expanded-row.js +1 -1
- package/es-custom/components/data-table/table-expanded-row.js.map +1 -1
- package/es-custom/components/data-table/table-head.js +1 -1
- package/es-custom/components/data-table/table-head.js.map +1 -1
- package/es-custom/components/data-table/table-header-cell.js +1 -1
- package/es-custom/components/data-table/table-header-cell.js.map +1 -1
- package/es-custom/components/data-table/table-header-description.js +1 -1
- package/es-custom/components/data-table/table-header-description.js.map +1 -1
- package/es-custom/components/data-table/table-header-row.js +1 -1
- package/es-custom/components/data-table/table-header-row.js.map +1 -1
- package/es-custom/components/data-table/table-header-title.js +1 -1
- package/es-custom/components/data-table/table-header-title.js.map +1 -1
- package/es-custom/components/data-table/table-row.js +1 -1
- package/es-custom/components/data-table/table-row.js.map +1 -1
- package/es-custom/components/data-table/table-skeleton.js +1 -1
- package/es-custom/components/data-table/table-skeleton.js.map +1 -1
- package/es-custom/components/data-table/table-toolbar-content.js +1 -1
- package/es-custom/components/data-table/table-toolbar-content.js.map +1 -1
- package/es-custom/components/data-table/table-toolbar-search.js +1 -1
- package/es-custom/components/data-table/table-toolbar-search.js.map +1 -1
- package/es-custom/components/data-table/table-toolbar.js +1 -1
- package/es-custom/components/data-table/table-toolbar.js.map +1 -1
- package/es-custom/components/data-table/table.js +1 -1
- package/es-custom/components/data-table/table.js.map +1 -1
- package/es-custom/components/date-picker/append-to-plugin.js.map +1 -1
- package/es-custom/components/date-picker/css-class-plugin.js.map +1 -1
- package/es-custom/components/date-picker/date-picker-input-skeleton.js +1 -1
- package/es-custom/components/date-picker/date-picker-input-skeleton.js.map +1 -1
- package/es-custom/components/date-picker/date-picker-input.js +1 -1
- package/es-custom/components/date-picker/date-picker-input.js.map +1 -1
- package/es-custom/components/date-picker/date-picker.js +1 -1
- package/es-custom/components/date-picker/date-picker.js.map +1 -1
- package/es-custom/components/date-picker/defs.js.map +1 -1
- package/es-custom/components/date-picker/fix-events-plugin.js.map +1 -1
- package/es-custom/components/date-picker/focus-plugin.js.map +1 -1
- package/es-custom/components/date-picker/icon-plugin.js.map +1 -1
- package/es-custom/components/date-picker/iso-date.js.map +1 -1
- package/es-custom/components/date-picker/month-select-plugin.js.map +1 -1
- package/es-custom/components/date-picker/range-plugin.js.map +1 -1
- package/es-custom/components/date-picker/shadow-dom-events-plugin.js.map +1 -1
- package/es-custom/components/date-picker/state-handshake-plugin.js.map +1 -1
- package/es-custom/components/dialog/dialog-body.js +1 -1
- package/es-custom/components/dialog/dialog-body.js.map +1 -1
- package/es-custom/components/dialog/dialog-close-button.js +1 -1
- package/es-custom/components/dialog/dialog-close-button.js.map +1 -1
- package/es-custom/components/dialog/dialog-controls.js +1 -1
- package/es-custom/components/dialog/dialog-controls.js.map +1 -1
- package/es-custom/components/dialog/dialog-footer-button.js +1 -1
- package/es-custom/components/dialog/dialog-footer-button.js.map +1 -1
- package/es-custom/components/dialog/dialog-footer.js +1 -1
- package/es-custom/components/dialog/dialog-footer.js.map +1 -1
- package/es-custom/components/dialog/dialog-header.js +1 -1
- package/es-custom/components/dialog/dialog-header.js.map +1 -1
- package/es-custom/components/dialog/dialog-subtitle.js +1 -1
- package/es-custom/components/dialog/dialog-subtitle.js.map +1 -1
- package/es-custom/components/dialog/dialog-title.js +1 -1
- package/es-custom/components/dialog/dialog-title.js.map +1 -1
- package/es-custom/components/dialog/dialog.js +1 -1
- package/es-custom/components/dialog/dialog.js.map +1 -1
- package/es-custom/components/dropdown/defs.js.map +1 -1
- package/es-custom/components/dropdown/dropdown-item.js +1 -1
- package/es-custom/components/dropdown/dropdown-item.js.map +1 -1
- package/es-custom/components/dropdown/dropdown-skeleton.js +1 -1
- package/es-custom/components/dropdown/dropdown-skeleton.js.map +1 -1
- package/es-custom/components/dropdown/dropdown.js +1 -1
- package/es-custom/components/dropdown/dropdown.js.map +1 -1
- package/es-custom/components/feature-flags/index.js +1 -1
- package/es-custom/components/feature-flags/index.js.map +1 -1
- package/es-custom/components/file-uploader/defs.js.map +1 -1
- package/es-custom/components/file-uploader/demo-file-uploader.js +1 -1
- package/es-custom/components/file-uploader/demo-file-uploader.js.map +1 -1
- package/es-custom/components/file-uploader/file-uploader-button.js +1 -1
- package/es-custom/components/file-uploader/file-uploader-button.js.map +1 -1
- package/es-custom/components/file-uploader/file-uploader-drop-container.js +1 -1
- package/es-custom/components/file-uploader/file-uploader-drop-container.js.map +1 -1
- package/es-custom/components/file-uploader/file-uploader-item.js +1 -1
- package/es-custom/components/file-uploader/file-uploader-item.js.map +1 -1
- package/es-custom/components/file-uploader/file-uploader-skeleton.js +1 -1
- package/es-custom/components/file-uploader/file-uploader-skeleton.js.map +1 -1
- package/es-custom/components/file-uploader/file-uploader.js +1 -1
- package/es-custom/components/file-uploader/file-uploader.js.map +1 -1
- package/es-custom/components/floating-menu/defs.js.map +1 -1
- package/es-custom/components/floating-menu/floating-menu.js +1 -1
- package/es-custom/components/floating-menu/floating-menu.js.map +1 -1
- package/es-custom/components/fluid-combo-box/fluid-combo-box-skeleton.js +1 -1
- package/es-custom/components/fluid-combo-box/fluid-combo-box-skeleton.js.map +1 -1
- package/es-custom/components/fluid-combo-box/fluid-combo-box.js +1 -1
- package/es-custom/components/fluid-combo-box/fluid-combo-box.js.map +1 -1
- package/es-custom/components/fluid-dropdown/fluid-dropdown-skeleton.js +1 -1
- package/es-custom/components/fluid-dropdown/fluid-dropdown-skeleton.js.map +1 -1
- package/es-custom/components/fluid-dropdown/fluid-dropdown.js +1 -1
- package/es-custom/components/fluid-dropdown/fluid-dropdown.js.map +1 -1
- package/es-custom/components/fluid-form/fluid-form.js +1 -1
- package/es-custom/components/fluid-form/fluid-form.js.map +1 -1
- package/es-custom/components/fluid-multi-select/fluid-multi-select-skeleton.js +1 -1
- package/es-custom/components/fluid-multi-select/fluid-multi-select-skeleton.js.map +1 -1
- package/es-custom/components/fluid-multi-select/fluid-multi-select.js +1 -1
- package/es-custom/components/fluid-multi-select/fluid-multi-select.js.map +1 -1
- package/es-custom/components/fluid-multi-select/fluid-multi-select.scss.js +1 -1
- package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.js +1 -1
- package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.js.map +1 -1
- package/es-custom/components/fluid-number-input/fluid-number-input.js +1 -1
- package/es-custom/components/fluid-number-input/fluid-number-input.js.map +1 -1
- package/es-custom/components/fluid-password-input/fluid-password-input.js +1 -1
- package/es-custom/components/fluid-password-input/fluid-password-input.js.map +1 -1
- package/es-custom/components/fluid-search/fluid-search-skeleton.js +1 -1
- package/es-custom/components/fluid-search/fluid-search-skeleton.js.map +1 -1
- package/es-custom/components/fluid-search/fluid-search.js +1 -1
- package/es-custom/components/fluid-search/fluid-search.js.map +1 -1
- package/es-custom/components/fluid-select/fluid-select-skeleton.js +1 -1
- package/es-custom/components/fluid-select/fluid-select-skeleton.js.map +1 -1
- package/es-custom/components/fluid-select/fluid-select.js +1 -1
- package/es-custom/components/fluid-select/fluid-select.js.map +1 -1
- package/es-custom/components/fluid-text-input/fluid-text-input-skeleton.js +1 -1
- package/es-custom/components/fluid-text-input/fluid-text-input-skeleton.js.map +1 -1
- package/es-custom/components/fluid-text-input/fluid-text-input.js +1 -1
- package/es-custom/components/fluid-text-input/fluid-text-input.js.map +1 -1
- package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.js +1 -1
- package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.js.map +1 -1
- package/es-custom/components/fluid-textarea/fluid-textarea.js +1 -1
- package/es-custom/components/fluid-textarea/fluid-textarea.js.map +1 -1
- package/es-custom/components/fluid-time-picker/fluid-time-picker-select.js +1 -1
- package/es-custom/components/fluid-time-picker/fluid-time-picker-select.js.map +1 -1
- package/es-custom/components/fluid-time-picker/fluid-time-picker-skeleton.js +1 -1
- package/es-custom/components/fluid-time-picker/fluid-time-picker-skeleton.js.map +1 -1
- package/es-custom/components/fluid-time-picker/fluid-time-picker.js +1 -1
- package/es-custom/components/fluid-time-picker/fluid-time-picker.js.map +1 -1
- package/es-custom/components/form/form-item.js +1 -1
- package/es-custom/components/form/form-item.js.map +1 -1
- package/es-custom/components/form/form.js +1 -1
- package/es-custom/components/form/form.js.map +1 -1
- package/es-custom/components/form-group/form-group.js +1 -1
- package/es-custom/components/form-group/form-group.js.map +1 -1
- package/es-custom/components/grid/column-hang.js +1 -1
- package/es-custom/components/grid/column-hang.js.map +1 -1
- package/es-custom/components/grid/column.js +1 -1
- package/es-custom/components/grid/column.js.map +1 -1
- package/es-custom/components/grid/defs.js.map +1 -1
- package/es-custom/components/grid/grid-context.js.map +1 -1
- package/es-custom/components/grid/grid.js +1 -1
- package/es-custom/components/grid/grid.js.map +1 -1
- package/es-custom/components/heading/heading.js +1 -1
- package/es-custom/components/heading/heading.js.map +1 -1
- package/es-custom/components/icon/icon.js +1 -1
- package/es-custom/components/icon/icon.js.map +1 -1
- package/es-custom/components/icon-button/defs.js.map +1 -1
- package/es-custom/components/icon-button/icon-button.js +1 -1
- package/es-custom/components/icon-button/icon-button.js.map +1 -1
- package/es-custom/components/icon-indicator/defs.js.map +1 -1
- package/es-custom/components/icon-indicator/icon-indicator.js +1 -1
- package/es-custom/components/icon-indicator/icon-indicator.js.map +1 -1
- package/es-custom/components/inline-loading/defs.js.map +1 -1
- package/es-custom/components/inline-loading/inline-loading.js +1 -1
- package/es-custom/components/inline-loading/inline-loading.js.map +1 -1
- package/es-custom/components/layer/layer.js +1 -1
- package/es-custom/components/layer/layer.js.map +1 -1
- package/es-custom/components/layout/layout-constraint.js +1 -1
- package/es-custom/components/layout/layout-constraint.js.map +1 -1
- package/es-custom/components/layout/layout.js +1 -1
- package/es-custom/components/layout/layout.js.map +1 -1
- package/es-custom/components/link/link.d.ts +1 -1
- package/es-custom/components/link/link.js +1 -1
- package/es-custom/components/link/link.js.map +1 -1
- package/es-custom/components/link/link.scss.js +1 -1
- package/es-custom/components/list/list-item.js +1 -1
- package/es-custom/components/list/list-item.js.map +1 -1
- package/es-custom/components/list/ordered-list.js +1 -1
- package/es-custom/components/list/ordered-list.js.map +1 -1
- package/es-custom/components/list/unordered-list.js +1 -1
- package/es-custom/components/list/unordered-list.js.map +1 -1
- package/es-custom/components/loading/defs.js.map +1 -1
- package/es-custom/components/loading/loading-icon.js.map +1 -1
- package/es-custom/components/loading/loading.js +1 -1
- package/es-custom/components/loading/loading.js.map +1 -1
- package/es-custom/components/menu/defs.js.map +1 -1
- package/es-custom/components/menu/menu-context.js.map +1 -1
- package/es-custom/components/menu/menu-item-divider.js +1 -1
- package/es-custom/components/menu/menu-item-divider.js.map +1 -1
- package/es-custom/components/menu/menu-item-group.js +1 -1
- package/es-custom/components/menu/menu-item-group.js.map +1 -1
- package/es-custom/components/menu/menu-item-radio-group.js +1 -1
- package/es-custom/components/menu/menu-item-radio-group.js.map +1 -1
- package/es-custom/components/menu/menu-item-selectable.d.ts +4 -0
- package/es-custom/components/menu/menu-item-selectable.d.ts.map +1 -1
- package/es-custom/components/menu/menu-item-selectable.js +4 -4
- package/es-custom/components/menu/menu-item-selectable.js.map +1 -1
- package/es-custom/components/menu/menu-item.js +1 -1
- package/es-custom/components/menu/menu-item.js.map +1 -1
- package/es-custom/components/menu/menu.d.ts +14 -6
- package/es-custom/components/menu/menu.d.ts.map +1 -1
- package/es-custom/components/menu/menu.js +9 -7
- package/es-custom/components/menu/menu.js.map +1 -1
- package/es-custom/components/menu-button/defs.js.map +1 -1
- package/es-custom/components/menu-button/menu-button.js +1 -1
- package/es-custom/components/menu-button/menu-button.js.map +1 -1
- package/es-custom/components/menu-button/menu-button.scss.js +1 -1
- package/es-custom/components/modal/defs.js.map +1 -1
- package/es-custom/components/modal/modal-base.js +1 -1
- package/es-custom/components/modal/modal-base.js.map +1 -1
- package/es-custom/components/modal/modal-body-content.js +1 -1
- package/es-custom/components/modal/modal-body-content.js.map +1 -1
- package/es-custom/components/modal/modal-body.js +1 -1
- package/es-custom/components/modal/modal-body.js.map +1 -1
- package/es-custom/components/modal/modal-close-button.js +1 -1
- package/es-custom/components/modal/modal-close-button.js.map +1 -1
- package/es-custom/components/modal/modal-footer-button.js +1 -1
- package/es-custom/components/modal/modal-footer-button.js.map +1 -1
- package/es-custom/components/modal/modal-footer.js +1 -1
- package/es-custom/components/modal/modal-footer.js.map +1 -1
- package/es-custom/components/modal/modal-header.js +1 -1
- package/es-custom/components/modal/modal-header.js.map +1 -1
- package/es-custom/components/modal/modal-heading.js +1 -1
- package/es-custom/components/modal/modal-heading.js.map +1 -1
- package/es-custom/components/modal/modal-label.js +1 -1
- package/es-custom/components/modal/modal-label.js.map +1 -1
- package/es-custom/components/modal/modal.js +1 -1
- package/es-custom/components/modal/modal.js.map +1 -1
- package/es-custom/components/multi-select/defs.js.map +1 -1
- package/es-custom/components/multi-select/multi-select-item.js +1 -1
- package/es-custom/components/multi-select/multi-select-item.js.map +1 -1
- package/es-custom/components/multi-select/multi-select.js +1 -1
- package/es-custom/components/multi-select/multi-select.js.map +1 -1
- package/es-custom/components/multi-select/multi-select.scss.js +1 -1
- package/es-custom/components/notification/actionable-notification-button.js +1 -1
- package/es-custom/components/notification/actionable-notification-button.js.map +1 -1
- package/es-custom/components/notification/actionable-notification.js +1 -1
- package/es-custom/components/notification/actionable-notification.js.map +1 -1
- package/es-custom/components/notification/callout-notification.js +1 -1
- package/es-custom/components/notification/callout-notification.js.map +1 -1
- package/es-custom/components/notification/defs.js.map +1 -1
- package/es-custom/components/notification/inline-notification.js +1 -1
- package/es-custom/components/notification/inline-notification.js.map +1 -1
- package/es-custom/components/notification/stories/helper.js.map +1 -1
- package/es-custom/components/notification/toast-notification.js +1 -1
- package/es-custom/components/notification/toast-notification.js.map +1 -1
- package/es-custom/components/number-input/defs.js.map +1 -1
- package/es-custom/components/number-input/number-input-skeleton.js +1 -1
- package/es-custom/components/number-input/number-input-skeleton.js.map +1 -1
- package/es-custom/components/number-input/number-input.js +1 -1
- package/es-custom/components/number-input/number-input.js.map +1 -1
- package/es-custom/components/overflow-menu/defs.js.map +1 -1
- package/es-custom/components/overflow-menu/overflow-menu-body.js +1 -1
- package/es-custom/components/overflow-menu/overflow-menu-body.js.map +1 -1
- package/es-custom/components/overflow-menu/overflow-menu-item.js +1 -1
- package/es-custom/components/overflow-menu/overflow-menu-item.js.map +1 -1
- package/es-custom/components/overflow-menu/overflow-menu.js +1 -1
- package/es-custom/components/overflow-menu/overflow-menu.js.map +1 -1
- package/es-custom/components/page-header/page-header-breadcrumb.js +1 -1
- package/es-custom/components/page-header/page-header-breadcrumb.js.map +1 -1
- package/es-custom/components/page-header/page-header-content-text.js +1 -1
- package/es-custom/components/page-header/page-header-content-text.js.map +1 -1
- package/es-custom/components/page-header/page-header-content.js +1 -1
- package/es-custom/components/page-header/page-header-content.js.map +1 -1
- package/es-custom/components/page-header/page-header-hero-image.js +1 -1
- package/es-custom/components/page-header/page-header-hero-image.js.map +1 -1
- package/es-custom/components/page-header/page-header-tabs.js +1 -1
- package/es-custom/components/page-header/page-header-tabs.js.map +1 -1
- package/es-custom/components/page-header/page-header.js +1 -1
- package/es-custom/components/page-header/page-header.js.map +1 -1
- package/es-custom/components/pagination/defs.js.map +1 -1
- package/es-custom/components/pagination/pagination.d.ts +3 -0
- package/es-custom/components/pagination/pagination.d.ts.map +1 -1
- package/es-custom/components/pagination/pagination.js +18 -23
- package/es-custom/components/pagination/pagination.js.map +1 -1
- package/es-custom/components/pagination-nav/defs.js.map +1 -1
- package/es-custom/components/pagination-nav/pagination-nav.js +1 -1
- package/es-custom/components/pagination-nav/pagination-nav.js.map +1 -1
- package/es-custom/components/password-input/defs.js.map +1 -1
- package/es-custom/components/password-input/password-input-skeleton.js +1 -1
- package/es-custom/components/password-input/password-input-skeleton.js.map +1 -1
- package/es-custom/components/password-input/password-input.js +1 -1
- package/es-custom/components/password-input/password-input.js.map +1 -1
- package/es-custom/components/popover/defs.js.map +1 -1
- package/es-custom/components/popover/popover-content.js +1 -1
- package/es-custom/components/popover/popover-content.js.map +1 -1
- package/es-custom/components/popover/popover.d.ts +5 -0
- package/es-custom/components/popover/popover.d.ts.map +1 -1
- package/es-custom/components/popover/popover.js +23 -2
- package/es-custom/components/popover/popover.js.map +1 -1
- package/es-custom/components/progress-bar/defs.js.map +1 -1
- package/es-custom/components/progress-bar/progress-bar.js +1 -1
- package/es-custom/components/progress-bar/progress-bar.js.map +1 -1
- package/es-custom/components/progress-indicator/defs.js.map +1 -1
- package/es-custom/components/progress-indicator/progress-indicator-skeleton.js +1 -1
- package/es-custom/components/progress-indicator/progress-indicator-skeleton.js.map +1 -1
- package/es-custom/components/progress-indicator/progress-indicator.js +1 -1
- package/es-custom/components/progress-indicator/progress-indicator.js.map +1 -1
- package/es-custom/components/progress-indicator/progress-step-skeleton.js +1 -1
- package/es-custom/components/progress-indicator/progress-step-skeleton.js.map +1 -1
- package/es-custom/components/progress-indicator/progress-step.js +1 -1
- package/es-custom/components/progress-indicator/progress-step.js.map +1 -1
- package/es-custom/components/radio-button/defs.js.map +1 -1
- package/es-custom/components/radio-button/radio-button-group.d.ts +3 -0
- package/es-custom/components/radio-button/radio-button-group.d.ts.map +1 -1
- package/es-custom/components/radio-button/radio-button-group.js +22 -5
- package/es-custom/components/radio-button/radio-button-group.js.map +1 -1
- package/es-custom/components/radio-button/radio-button-skeleton.js +1 -1
- package/es-custom/components/radio-button/radio-button-skeleton.js.map +1 -1
- package/es-custom/components/radio-button/radio-button.js +1 -1
- package/es-custom/components/radio-button/radio-button.js.map +1 -1
- package/es-custom/components/search/defs.js.map +1 -1
- package/es-custom/components/search/search-skeleton.js +1 -1
- package/es-custom/components/search/search-skeleton.js.map +1 -1
- package/es-custom/components/search/search.js +1 -1
- package/es-custom/components/search/search.js.map +1 -1
- package/es-custom/components/select/select-item-group.js +1 -1
- package/es-custom/components/select/select-item-group.js.map +1 -1
- package/es-custom/components/select/select-item.js +1 -1
- package/es-custom/components/select/select-item.js.map +1 -1
- package/es-custom/components/select/select-skeleton.js +1 -1
- package/es-custom/components/select/select-skeleton.js.map +1 -1
- package/es-custom/components/select/select.js +1 -1
- package/es-custom/components/select/select.js.map +1 -1
- package/es-custom/components/shape-indicator/defs.js.map +1 -1
- package/es-custom/components/shape-indicator/shape-indicator.js +1 -1
- package/es-custom/components/shape-indicator/shape-indicator.js.map +1 -1
- package/es-custom/components/side-panel/defs.js.map +1 -1
- package/es-custom/components/side-panel/side-panel.js +1 -1
- package/es-custom/components/side-panel/side-panel.js.map +1 -1
- package/es-custom/components/skeleton-icon/skeleton-icon.js +1 -1
- package/es-custom/components/skeleton-icon/skeleton-icon.js.map +1 -1
- package/es-custom/components/skeleton-placeholder/skeleton-placeholder.js +1 -1
- package/es-custom/components/skeleton-placeholder/skeleton-placeholder.js.map +1 -1
- package/es-custom/components/skeleton-text/defs.js.map +1 -1
- package/es-custom/components/skeleton-text/skeleton-text.js +1 -1
- package/es-custom/components/skeleton-text/skeleton-text.js.map +1 -1
- package/es-custom/components/skip-to-content/skip-to-content.js +1 -1
- package/es-custom/components/skip-to-content/skip-to-content.js.map +1 -1
- package/es-custom/components/slider/slider-input.js +1 -1
- package/es-custom/components/slider/slider-input.js.map +1 -1
- package/es-custom/components/slider/slider-skeleton.js +1 -1
- package/es-custom/components/slider/slider-skeleton.js.map +1 -1
- package/es-custom/components/slider/slider.js +1 -1
- package/es-custom/components/slider/slider.js.map +1 -1
- package/es-custom/components/slug/defs.js.map +1 -1
- package/es-custom/components/slug/slug-action-button.js +1 -1
- package/es-custom/components/slug/slug-action-button.js.map +1 -1
- package/es-custom/components/slug/slug.js +1 -1
- package/es-custom/components/slug/slug.js.map +1 -1
- package/es-custom/components/stack/defs.js.map +1 -1
- package/es-custom/components/stack/stack.js +1 -1
- package/es-custom/components/stack/stack.js.map +1 -1
- package/es-custom/components/structured-list/structured-list-body.js +1 -1
- package/es-custom/components/structured-list/structured-list-body.js.map +1 -1
- package/es-custom/components/structured-list/structured-list-cell.js +1 -1
- package/es-custom/components/structured-list/structured-list-cell.js.map +1 -1
- package/es-custom/components/structured-list/structured-list-head.js +1 -1
- package/es-custom/components/structured-list/structured-list-head.js.map +1 -1
- package/es-custom/components/structured-list/structured-list-header-cell-skeleton.js +1 -1
- package/es-custom/components/structured-list/structured-list-header-cell-skeleton.js.map +1 -1
- package/es-custom/components/structured-list/structured-list-header-cell.js +1 -1
- package/es-custom/components/structured-list/structured-list-header-cell.js.map +1 -1
- package/es-custom/components/structured-list/structured-list-header-row.js +1 -1
- package/es-custom/components/structured-list/structured-list-header-row.js.map +1 -1
- package/es-custom/components/structured-list/structured-list-row.js +1 -1
- package/es-custom/components/structured-list/structured-list-row.js.map +1 -1
- package/es-custom/components/structured-list/structured-list.js +1 -1
- package/es-custom/components/structured-list/structured-list.js.map +1 -1
- package/es-custom/components/tabs/defs.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/tag/defs.js.map +1 -1
- package/es-custom/components/tag/dismissible-tag.js +1 -1
- package/es-custom/components/tag/dismissible-tag.js.map +1 -1
- package/es-custom/components/tag/operational-tag.js +1 -1
- package/es-custom/components/tag/operational-tag.js.map +1 -1
- package/es-custom/components/tag/selectable-tag.js +1 -1
- package/es-custom/components/tag/selectable-tag.js.map +1 -1
- package/es-custom/components/tag/tag-skeleton.js +1 -1
- package/es-custom/components/tag/tag-skeleton.js.map +1 -1
- package/es-custom/components/tag/tag.js +1 -1
- package/es-custom/components/tag/tag.js.map +1 -1
- package/es-custom/components/tearsheet/defs.js.map +1 -1
- package/es-custom/components/tearsheet/tearsheet.js +1 -1
- package/es-custom/components/tearsheet/tearsheet.js.map +1 -1
- package/es-custom/components/text-input/defs.js.map +1 -1
- package/es-custom/components/text-input/stories/helpers.js.map +1 -1
- package/es-custom/components/text-input/text-input-skeleton.js +1 -1
- package/es-custom/components/text-input/text-input-skeleton.js.map +1 -1
- package/es-custom/components/text-input/text-input.js +1 -1
- package/es-custom/components/text-input/text-input.js.map +1 -1
- package/es-custom/components/textarea/stories/helpers.js.map +1 -1
- package/es-custom/components/textarea/textarea-skeleton.js +1 -1
- package/es-custom/components/textarea/textarea-skeleton.js.map +1 -1
- package/es-custom/components/textarea/textarea.js +1 -1
- package/es-custom/components/textarea/textarea.js.map +1 -1
- package/es-custom/components/tile/clickable-tile.js +1 -1
- package/es-custom/components/tile/clickable-tile.js.map +1 -1
- package/es-custom/components/tile/expandable-tile.js +1 -1
- package/es-custom/components/tile/expandable-tile.js.map +1 -1
- package/es-custom/components/tile/radio-tile.js +1 -1
- package/es-custom/components/tile/radio-tile.js.map +1 -1
- package/es-custom/components/tile/selectable-tile.js +1 -1
- package/es-custom/components/tile/selectable-tile.js.map +1 -1
- package/es-custom/components/tile/tile-group.js +1 -1
- package/es-custom/components/tile/tile-group.js.map +1 -1
- package/es-custom/components/tile/tile.js +1 -1
- package/es-custom/components/tile/tile.js.map +1 -1
- package/es-custom/components/tile/tile.scss.js +1 -1
- package/es-custom/components/time-picker/defs.js.map +1 -1
- package/es-custom/components/time-picker/time-picker-select.js +1 -1
- package/es-custom/components/time-picker/time-picker-select.js.map +1 -1
- package/es-custom/components/time-picker/time-picker.js +1 -1
- package/es-custom/components/time-picker/time-picker.js.map +1 -1
- package/es-custom/components/toggle/defs.js.map +1 -1
- package/es-custom/components/toggle/toggle-skeleton.js +1 -1
- package/es-custom/components/toggle/toggle-skeleton.js.map +1 -1
- package/es-custom/components/toggle/toggle.js +1 -1
- package/es-custom/components/toggle/toggle.js.map +1 -1
- package/es-custom/components/toggle-tip/toggletip.js +1 -1
- package/es-custom/components/toggle-tip/toggletip.js.map +1 -1
- package/es-custom/components/tooltip/definition-tooltip.js +1 -1
- package/es-custom/components/tooltip/definition-tooltip.js.map +1 -1
- package/es-custom/components/tooltip/tooltip-content.js +1 -1
- package/es-custom/components/tooltip/tooltip-content.js.map +1 -1
- package/es-custom/components/tooltip/tooltip.js +1 -1
- package/es-custom/components/tooltip/tooltip.js.map +1 -1
- package/es-custom/components/tree-view/defs.js.map +1 -1
- package/es-custom/components/tree-view/tree-node.js +1 -1
- package/es-custom/components/tree-view/tree-node.js.map +1 -1
- package/es-custom/components/tree-view/tree-view.js +1 -1
- package/es-custom/components/tree-view/tree-view.js.map +1 -1
- package/es-custom/components/ui-shell/defs.js.map +1 -1
- package/es-custom/components/ui-shell/header-global-action.js +1 -1
- package/es-custom/components/ui-shell/header-global-action.js.map +1 -1
- package/es-custom/components/ui-shell/header-menu-button.js +1 -1
- package/es-custom/components/ui-shell/header-menu-button.js.map +1 -1
- package/es-custom/components/ui-shell/header-menu-item.js +1 -1
- package/es-custom/components/ui-shell/header-menu-item.js.map +1 -1
- package/es-custom/components/ui-shell/header-menu.js +1 -1
- package/es-custom/components/ui-shell/header-menu.js.map +1 -1
- package/es-custom/components/ui-shell/header-name.js +1 -1
- package/es-custom/components/ui-shell/header-name.js.map +1 -1
- package/es-custom/components/ui-shell/header-nav-item.js +1 -1
- package/es-custom/components/ui-shell/header-nav-item.js.map +1 -1
- package/es-custom/components/ui-shell/header-nav.js +1 -1
- package/es-custom/components/ui-shell/header-nav.js.map +1 -1
- package/es-custom/components/ui-shell/header-panel.js +1 -1
- package/es-custom/components/ui-shell/header-panel.js.map +1 -1
- package/es-custom/components/ui-shell/header-side-nav-items.js +1 -1
- package/es-custom/components/ui-shell/header-side-nav-items.js.map +1 -1
- package/es-custom/components/ui-shell/header.js +1 -1
- package/es-custom/components/ui-shell/header.js.map +1 -1
- package/es-custom/components/ui-shell/side-nav-divider.js +1 -1
- package/es-custom/components/ui-shell/side-nav-divider.js.map +1 -1
- package/es-custom/components/ui-shell/side-nav-items.js +1 -1
- package/es-custom/components/ui-shell/side-nav-items.js.map +1 -1
- package/es-custom/components/ui-shell/side-nav-link.js +1 -1
- package/es-custom/components/ui-shell/side-nav-link.js.map +1 -1
- package/es-custom/components/ui-shell/side-nav-menu-item.js +1 -1
- package/es-custom/components/ui-shell/side-nav-menu-item.js.map +1 -1
- package/es-custom/components/ui-shell/side-nav-menu.js +1 -1
- package/es-custom/components/ui-shell/side-nav-menu.js.map +1 -1
- package/es-custom/components/ui-shell/side-nav.js +1 -1
- package/es-custom/components/ui-shell/side-nav.js.map +1 -1
- package/es-custom/components/ui-shell/switcher-divider.js +1 -1
- package/es-custom/components/ui-shell/switcher-divider.js.map +1 -1
- package/es-custom/components/ui-shell/switcher-item.js +1 -1
- package/es-custom/components/ui-shell/switcher-item.js.map +1 -1
- package/es-custom/components/ui-shell/switcher.js +1 -1
- package/es-custom/components/ui-shell/switcher.js.map +1 -1
- package/es-custom/globals/controllers/floating-controller.js.map +1 -1
- package/es-custom/globals/decorators/carbon-element.js.map +1 -1
- package/es-custom/globals/decorators/host-listener.js.map +1 -1
- package/es-custom/globals/directives/if-non-empty.js.map +1 -1
- package/es-custom/globals/directives/spread.js.map +1 -1
- package/es-custom/globals/internal/collection-helpers.js.map +1 -1
- package/es-custom/globals/internal/deep-shadow-contains.js.map +1 -1
- package/es-custom/globals/internal/icon-loader-utils.js.map +1 -1
- package/es-custom/globals/internal/icon-loader.js.map +1 -1
- package/es-custom/globals/internal/radio-group-manager.js.map +1 -1
- package/es-custom/globals/mixins/focus.js.map +1 -1
- package/es-custom/globals/mixins/form.js.map +1 -1
- package/es-custom/globals/mixins/host-listener.js.map +1 -1
- package/es-custom/globals/mixins/on.js.map +1 -1
- package/es-custom/globals/mixins/validity.js.map +1 -1
- package/es-custom/globals/shared-enums.js.map +1 -1
- package/es-custom/node_modules/flatpickr/dist/esm/index.js.map +1 -1
- package/es-custom/node_modules/flatpickr/dist/esm/l10n/default.js.map +1 -1
- package/es-custom/node_modules/flatpickr/dist/esm/plugins/rangePlugin.js.map +1 -1
- package/es-custom/node_modules/flatpickr/dist/esm/types/options.js.map +1 -1
- package/es-custom/node_modules/flatpickr/dist/esm/utils/dates.js.map +1 -1
- package/es-custom/node_modules/flatpickr/dist/esm/utils/dom.js.map +1 -1
- package/es-custom/node_modules/flatpickr/dist/esm/utils/formatting.js.map +1 -1
- package/es-custom/node_modules/flatpickr/dist/esm/utils/index.js.map +1 -1
- package/es-custom/node_modules/flatpickr/dist/esm/utils/polyfills.js.map +1 -1
- package/es-custom/packages/feature-flags/es/index.js.map +1 -1
- package/lib/components/accordion/defs.js.map +1 -1
- package/lib/components/ai-label/defs.js.map +1 -1
- package/lib/components/breadcrumb/defs.js.map +1 -1
- package/lib/components/button/defs.js.map +1 -1
- package/lib/components/chat-button/defs.js.map +1 -1
- package/lib/components/checkbox/defs.js.map +1 -1
- package/lib/components/code-snippet/defs.js.map +1 -1
- package/lib/components/combo-button/defs.js.map +1 -1
- package/lib/components/content-switcher/defs.js.map +1 -1
- package/lib/components/data-table/defs.js.map +1 -1
- package/lib/components/date-picker/defs.js.map +1 -1
- package/lib/components/dropdown/defs.js.map +1 -1
- package/lib/components/file-uploader/defs.js.map +1 -1
- package/lib/components/floating-menu/defs.js.map +1 -1
- package/lib/components/grid/defs.js.map +1 -1
- package/lib/components/icon-button/defs.js.map +1 -1
- package/lib/components/icon-indicator/defs.js.map +1 -1
- package/lib/components/inline-loading/defs.js.map +1 -1
- package/lib/components/link/link.d.ts +1 -1
- package/lib/components/loading/defs.js.map +1 -1
- package/lib/components/menu/defs.js.map +1 -1
- package/lib/components/menu/menu-item-selectable.d.ts +4 -0
- package/lib/components/menu/menu-item-selectable.d.ts.map +1 -1
- package/lib/components/menu/menu.d.ts +14 -6
- package/lib/components/menu/menu.d.ts.map +1 -1
- package/lib/components/menu-button/defs.js.map +1 -1
- package/lib/components/modal/defs.js.map +1 -1
- package/lib/components/multi-select/defs.js.map +1 -1
- package/lib/components/notification/defs.js.map +1 -1
- package/lib/components/number-input/defs.js.map +1 -1
- package/lib/components/overflow-menu/defs.js.map +1 -1
- package/lib/components/pagination/defs.js.map +1 -1
- package/lib/components/pagination/pagination.d.ts +3 -0
- package/lib/components/pagination/pagination.d.ts.map +1 -1
- package/lib/components/pagination-nav/defs.js.map +1 -1
- package/lib/components/password-input/defs.js.map +1 -1
- package/lib/components/popover/defs.js.map +1 -1
- package/lib/components/popover/popover.d.ts +5 -0
- package/lib/components/popover/popover.d.ts.map +1 -1
- package/lib/components/progress-bar/defs.js.map +1 -1
- package/lib/components/progress-indicator/defs.js.map +1 -1
- package/lib/components/radio-button/defs.js.map +1 -1
- package/lib/components/radio-button/radio-button-group.d.ts +3 -0
- package/lib/components/radio-button/radio-button-group.d.ts.map +1 -1
- package/lib/components/search/defs.js.map +1 -1
- package/lib/components/shape-indicator/defs.js.map +1 -1
- package/lib/components/side-panel/defs.js.map +1 -1
- package/lib/components/skeleton-text/defs.js.map +1 -1
- package/lib/components/slug/defs.js.map +1 -1
- package/lib/components/stack/defs.js.map +1 -1
- package/lib/components/tabs/defs.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.js","names":["styles","customElement"],"sources":["../../../src/components/pagination/pagination.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport '../button/index';\n\nimport { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\n\nimport CDSSelect from '../select/select';\nimport CaretLeft16 from '@carbon/icons/es/caret--left/16.js';\nimport CaretRight16 from '@carbon/icons/es/caret--right/16.js';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { PAGINATION_SIZE, PAGINATION_TOOLTIP_POSITION } from './defs';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport { prefix } from '../../globals/settings';\nimport styles from './pagination.scss?lit';\n\n/**\n * Pagination UI.\n *\n * @element cds-custom-pagination\n * @slot page-sizes-select - Where to put in the `<page-sizes-select>`.\n * @fires cds-custom-pagination-changed-current - The custom event fired after the current page is changed from `<cds-custom-pages-select>`.\n * @fires cds-custom-page-sizes-select-changed - The custom event fired after the number of rows per page is changed from `<cds-custom-page-sizes-select>`.\n */\n@customElement(`${prefix}-pagination`)\nclass CDSPagination extends FocusMixin(HostListenerMixin(LitElement)) {\n @query(`${prefix}-select`)\n private _pageSizeSelect!: HTMLElement;\n\n private _handleSlotChange({ target }: Event) {\n const content = (target as HTMLSlotElement).assignedNodes().filter(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n (node) => node.nodeType !== Node.TEXT_NODE || node!.textContent!.trim()\n );\n\n content.forEach((item) => {\n this._pageSizeSelect.appendChild(item);\n });\n }\n\n /**\n * @returns Page status text.\n */\n private _renderStatusText() {\n const {\n start,\n pageSize,\n totalItems,\n pagesUnknown,\n formatStatusWithDeterminateTotal,\n formatStatusWithIndeterminateTotal,\n } = this;\n\n const min = totalItems === 0 ? 0 : start + 1;\n\n if (pagesUnknown || totalItems == null) {\n // * Indeterminate total:\n // - totalItems === 0 → \"0–0 of 0 items\"\n // - else → closed range \"1–10 items\", \"11–20 items\", etc.\n if (totalItems === 0) {\n return formatStatusWithDeterminateTotal({ start: 0, end: 0, count: 0 });\n }\n const end = start + pageSize;\n return formatStatusWithIndeterminateTotal({\n start: min,\n end,\n // Use visible range for pluralization, so we get \"items\" not \"item\"\n count: Math.max(0, end - start),\n });\n }\n\n // * Determinate total:\n // - Regular: \"1–10 of 100 items\"\n // - When totalItems === 0 → \"0–0 of 0 item\"\n return formatStatusWithDeterminateTotal({\n start: min,\n end: Math.min(start + pageSize, totalItems),\n count: totalItems,\n });\n }\n\n /**\n * Calculates the start value based on `page`, `pageSize`, and `totalItems`\n */\n private _calculateStart(\n page: number,\n pageSize: number,\n totalItems: number | undefined,\n pagesUnknown: boolean\n ): number {\n if (!pagesUnknown && totalItems === 0) return 0;\n const safePageSize = pageSize > 0 ? pageSize : 1;\n const calculatedStart = (Math.max(1, page) - 1) * safePageSize;\n\n // Only clamp to the last page when the total is determinate\n if (!pagesUnknown && Number.isFinite(totalItems)) {\n const maxStart =\n (Math.ceil((totalItems as number) / safePageSize) - 1) * safePageSize;\n return Math.max(0, Math.min(calculatedStart, maxStart));\n }\n\n return Math.max(0, calculatedStart);\n }\n\n /**\n * Handles user-initiated change in the row number the current page starts with.\n *\n * @param start The new current row number, index that starts with zero.\n */\n private _handleUserInitiatedChangeStart(start: number) {\n this.start = start;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSPagination).eventChangeCurrent,\n {\n bubbles: true,\n composed: true,\n detail: {\n page: this.page,\n pageSize: this.pageSize,\n },\n }\n )\n );\n }\n\n /**\n * Handles user-initiated change in the size of the page.\n */\n private _handleUserInitiatedPageSizeChange() {\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSPagination).eventPageSizeChanged,\n {\n bubbles: true,\n composed: true,\n detail: {\n page: this.page,\n pageSize: this.pageSize,\n },\n }\n )\n );\n }\n\n /**\n * Handles `click` event on the previous button.\n */\n private _handleClickPrevButton() {\n const { start: oldStart, pageSize } = this;\n this.page--;\n const newStart = Math.max(oldStart - pageSize, 0);\n if (newStart !== oldStart) {\n this._handleUserInitiatedChangeStart(newStart);\n }\n // reset focus to forward button if it reaches the beginning\n if (this.page === 1) {\n const { selectorForwardButton } = this\n .constructor as typeof CDSPagination;\n (\n this.shadowRoot?.querySelector(\n `[button-class-name*=${selectorForwardButton}]`\n ) as HTMLElement\n ).focus();\n }\n }\n\n /**\n * Handles `click` event on the next button.\n */\n private _handleClickNextButton() {\n const { start: oldStart, pageSize, totalItems, pagesUnknown } = this;\n this.page++;\n const newStart = oldStart + pageSize;\n\n if (\n newStart < (totalItems == null ? Infinity : totalItems) ||\n pagesUnknown\n ) {\n this._handleUserInitiatedChangeStart(newStart);\n }\n // reset focus to previous button if it reaches the end and `pagesUnknown` is not true\n if (!pagesUnknown && this.page === this.totalPages) {\n const { selectorPreviousButton } = this\n .constructor as typeof CDSPagination;\n (\n this.shadowRoot?.querySelector(\n `[button-class-name*=${selectorPreviousButton}]`\n ) as HTMLElement\n ).focus();\n }\n }\n\n /**\n * Handles user-initiated change in number of rows per page.\n *\n * @param event The event.\n */\n @HostListener(`${prefix}-select-selected`)\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleChangeSelector(event) {\n const { value } = event.detail;\n const { totalItems, pageSize, pagesUnknown } = this;\n\n if (event.composedPath()[0] === this._pageSizeSelect) {\n this.pageSize = parseInt(value);\n // Default pageSize to effectively be 1 when we have a value of 0 to avoid\n // division by 0.\n this.totalPages =\n pageSize > 0 ? Math.ceil(totalItems / pageSize) : totalItems;\n this.page = 1;\n this.start = 0;\n this._handleUserInitiatedPageSizeChange();\n } else {\n this.page = Number(value);\n const newStart = this._calculateStart(\n value,\n pageSize,\n totalItems,\n pagesUnknown\n );\n this._handleUserInitiatedChangeStart(newStart);\n }\n }\n\n /**\n * The assistive text for the button to go to previous page.\n */\n @property({ attribute: 'backward-text' })\n backwardText = 'Previous page';\n\n /**\n * Specify the position of the tooltip for the backward button. Can be one of: top, right, bottom, or left.\n */\n @property({ attribute: 'backward-text-tooltip-position' })\n backwardTextTooltipPosition = PAGINATION_TOOLTIP_POSITION.TOP;\n\n /**\n * The current page\n */\n @property({ type: Number, reflect: true })\n page = 1;\n\n /**\n * The formatter for the assistive text for screen readers to announce.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatLabelText = ({ count }) =>\n `Page of ${count} page${count <= 1 ? '' : 's'}`;\n\n /**\n * The formatter, used with determinate the total pages. Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatStatusWithDeterminateTotal = ({ start, end, count }) =>\n `${start}–${end} of ${count} item${count <= 1 ? '' : 's'}`;\n\n /**\n * The formatter, used with indeterminate the total pages. Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatStatusWithIndeterminateTotal = ({ start, end, count }) =>\n end == null\n ? `Item ${start}–`\n : `${start}–${end} item${count <= 1 ? '' : 's'}`;\n\n /**\n * The formatter for the text next to the select box. Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatSupplementalText = ({ count }) =>\n this.pagesUnknown || !this.totalItems\n ? `page`\n : `of ${count} page${count <= 1 ? '' : 's'}`;\n /**\n * `true` to explicitly state that user is at the last page.\n */\n @property({ type: Boolean, attribute: 'is-last-page' })\n isLastPage!: boolean;\n\n /**\n * The translatable text indicating the number of items per page.\n */\n @property({ attribute: 'items-per-page-text' })\n itemsPerPageText = '';\n\n /**\n * `true` if the pagination UI should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * The assistive text for the button to go to next page.\n */\n @property({ attribute: 'forward-text' })\n forwardText = 'Next page';\n\n /**\n * Specify the position of the tooltip for the forward button. Can be one of: top, right, bottom, or left.\n */\n @property({ attribute: 'forward-text-tooltip-position' })\n forwardTextTooltipPosition = PAGINATION_TOOLTIP_POSITION.TOP;\n\n /**\n * true if the select box to change the page should be disabled.\n */\n @property({ type: Boolean, attribute: 'page-input-disabled' })\n pageInputDisabled = false;\n\n /**\n * Number of items per page.\n */\n @property({ type: Number, attribute: 'page-size', reflect: true })\n pageSize = 10;\n\n /**\n * true if the select box to change the items per page should be disabled.\n */\n @property({ type: Boolean, attribute: 'page-size-input-disabled' })\n pageSizeInputDisabled;\n\n /**\n * The label text for the UI to select page size.\n */\n @property({ attribute: 'page-size-label-text' })\n pageSizeLabelText!: string;\n\n /**\n * true if the total number of items is unknown.\n */\n @property({ type: Boolean, reflect: true, attribute: 'pages-unknown' })\n pagesUnknown = false;\n\n /**\n * Specify the size of the Pagination.\n */\n @property({ reflect: true })\n size = PAGINATION_SIZE.MEDIUM;\n\n /**\n * The row number where current page start with, index that starts with zero.\n */\n @property({ type: Number })\n start = 0;\n\n /**\n * The number of total items.\n */\n @property({\n type: Number,\n attribute: 'total-items',\n converter: {\n fromAttribute: (value) =>\n value === null || value === '' ? undefined : Number(value),\n },\n })\n totalItems!: number;\n\n /**\n * The number of total pages.\n */\n @property({ type: Number })\n totalPages = 1;\n\n updated(changedProperties) {\n const { pageSize, totalItems } = this;\n const { selectorPageSizesSelect, selectorPagesSelect } = this\n .constructor as typeof CDSPagination;\n\n if (changedProperties.has('pageSize')) {\n const pageSizeSelect = this.shadowRoot?.querySelector(\n selectorPageSizesSelect\n ) as CDSSelect | null;\n\n if (pageSizeSelect) {\n pageSizeSelect.value = String(pageSize ?? '');\n }\n }\n\n // Recompute total pages and clamp the visible page whenever any relevant input changes\n if (\n changedProperties.has('pageSize') ||\n changedProperties.has('start') ||\n changedProperties.has('totalItems') ||\n changedProperties.has('page')\n ) {\n const computedTotalPages =\n pageSize > 0\n ? Math.ceil((totalItems ?? 0) / pageSize)\n : (totalItems ?? 0);\n\n // Only assign if it actually changed to avoid unnecessary updates\n if (this.totalPages !== computedTotalPages) {\n this.updateComplete.then(() => {\n this.totalPages = computedTotalPages;\n });\n }\n\n const totalPagesSafe = Math.max(1, computedTotalPages || 1);\n const requestedPage = Math.max(1, Math.floor(this.page || 1));\n const displayPage = Math.min(requestedPage, totalPagesSafe);\n\n const pagesSelect = this.shadowRoot?.querySelector(\n selectorPagesSelect\n ) as CDSSelect | null;\n\n if (pagesSelect) {\n pagesSelect.value = displayPage.toString();\n }\n }\n\n if (changedProperties.has('page')) {\n this.start = this._calculateStart(\n this.page,\n this.pageSize,\n this.totalItems,\n this.pagesUnknown\n );\n const pagesSelect = this.shadowRoot?.querySelector(\n (this.constructor as typeof CDSPagination).selectorPagesSelect\n ) as CDSSelect | null;\n if (pagesSelect) {\n pagesSelect.value = String(this.page);\n }\n }\n }\n\n render() {\n const {\n page,\n disabled,\n forwardText,\n forwardTextTooltipPosition,\n backwardText,\n backwardTextTooltipPosition,\n itemsPerPageText,\n pageInputDisabled,\n pageSize,\n pageSizeInputDisabled,\n pagesUnknown,\n size,\n start,\n totalItems,\n totalPages,\n _handleClickPrevButton: handleClickPrevButton,\n _handleClickNextButton: handleClickNextButton,\n _handleSlotChange: handleSlotChange,\n formatLabelText,\n formatSupplementalText,\n } = this;\n\n const { isLastPage = start + pageSize >= totalItems } = this;\n const prevButtonDisabled = disabled || start === 0;\n const nextButtonDisabled = disabled || (!pagesUnknown && isLastPage);\n\n const prevButtonClassMap = {\n [`${prefix}--btn`]: true,\n [`${prefix}--btn--icon-only`]: true,\n [`${prefix}--pagination__button`]: true,\n [`${prefix}--pagination__button--backward`]: true,\n [`${prefix}--pagination__button--no-index`]: prevButtonDisabled,\n [`${prefix}--btn--${size}`]: true,\n [`${prefix}--btn--ghost`]: true,\n };\n const nextButtonClassMap = {\n [`${prefix}--btn`]: true,\n [`${prefix}--btn--icon-only`]: true,\n [`${prefix}--pagination__button`]: true,\n [`${prefix}--pagination__button--forward`]: true,\n [`${prefix}--pagination__button--no-index`]: nextButtonDisabled,\n [`${prefix}--btn--${size}`]: true,\n [`${prefix}--btn--ghost`]: true,\n };\n\n const prevButtonClasses = Object.entries(prevButtonClassMap)\n .filter(([, value]) => value === true)\n .map(([key]) => key)\n .join(' ');\n const nextButtonClasses = Object.entries(nextButtonClassMap)\n .filter(([, value]) => value === true)\n .map(([key]) => key)\n .join(' ');\n\n const totalPagesSafe =\n Number.isFinite(totalPages) && totalPages > 0\n ? totalPages\n : Math.max(1, page || 1);\n\n return html`\n <div class=\"${prefix}--pagination__left\">\n <cds-custom-select\n ?disabled=${disabled || pageSizeInputDisabled}\n id=\"page-size-select\"\n left-select\n pagination\n size=\"${size}\"\n inline\n value=\"${pageSize}\"\n label-styles-disable>\n <div slot=\"label-text\">\n ${itemsPerPageText &&\n html`<span class=\"${prefix}--pagination__text\"\n >${itemsPerPageText}</span\n >`}\n <slot name=\"label-text\"></slot>\n </div>\n <slot @slotchange=${handleSlotChange}></slot>\n </cds-custom-select>\n <span\n class=\"${prefix}--pagination__text ${prefix}--pagination__items-count\"\n >${this._renderStatusText()}</span\n >\n </div>\n <div class=\"${prefix}--pagination__right\">\n ${pagesUnknown || !totalItems\n ? html`\n <span\n class=\"${prefix}--pagination__text ${prefix}--pagination__page-text ${prefix}--pagination__unknown-pages-text\"\n >${formatSupplementalText({ count: totalPages })} ${page}</span\n >\n `\n : html`\n <cds-custom-select\n ?disabled=${disabled || pageInputDisabled}\n id=\"pages-select\"\n pagination\n size=\"${size}\"\n inline\n value=\"${page}\"\n hide-label>\n <span slot=\"label-text\">\n ${formatLabelText({ count: totalPages })}\n </span>\n ${Array.from(new Array(totalPagesSafe)).map(\n (_item, index) => html`\n <cds-custom-select-item\n value=\"${index + 1}\"\n ?selected=${page === index + 1}>\n ${index + 1}\n </cds-custom-select-item>\n `\n )}\n </cds-custom-select>\n <span class=\"${prefix}--pagination__text\"\n >${formatSupplementalText({ count: totalPages })}</span\n >\n `}\n\n <div class=\"${prefix}--pagination__control-buttons\">\n <cds-custom-button\n tooltip-position=${backwardTextTooltipPosition}\n pagination\n size=\"${size}\"\n ?disabled=\"${prevButtonDisabled}\"\n button-class-name=\"${prevButtonClasses}\"\n tooltip-text=\"${backwardText}\"\n @click=\"${handleClickPrevButton}\">\n ${iconLoader(CaretLeft16, { slot: 'icon' })}\n </cds-custom-button>\n <cds-custom-button\n tooltip-position=${forwardTextTooltipPosition}\n pagination\n size=\"${size}\"\n ?disabled=\"${nextButtonDisabled}\"\n button-class-name=\"${nextButtonClasses}\"\n tooltip-text=\"${forwardText}\"\n @click=\"${handleClickNextButton}\">\n ${iconLoader(CaretRight16, { slot: 'icon' })}\n </cds-custom-button>\n </div>\n </div>\n `;\n }\n\n /**\n * A selector that will return the select box for the current page.\n */\n static get selectorPagesSelect() {\n return `${prefix}-select#pages-select`;\n }\n\n /**\n * A selector that will return the select box for page sizes.\n */\n static get selectorPageSizesSelect() {\n return `${prefix}-select`;\n }\n\n /**\n * A selector that will return the previous button.\n */\n static get selectorPreviousButton() {\n return `${prefix}--pagination__button--backward`;\n }\n\n /**\n * A selector that will return the forward button.\n */\n static get selectorForwardButton() {\n return `${prefix}--pagination__button--forward`;\n }\n\n /**\n * The name of the custom event fired after the current row number is changed.\n */\n static get eventChangeCurrent() {\n return `${prefix}-pagination-changed-current`;\n }\n\n /**\n * The name of the custom event fired after the number of rows per page is changed from `<cds-custom-page-sizes-select>`.\n */\n static get eventPageSizeChanged() {\n return `${prefix}-page-sizes-select-changed`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSPagination;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,IAAA,gBAAA,MACM,sBAAsB,WAAW,kBAAkB,WAAW,CAAC,CAAC;;;sBA6MrD;;cAYR;0BAOY,EAAE,YACnB,WAAW,MAAM,OAAO,SAAS,IAAI,KAAK;2CAMR,EAAE,OAAO,KAAK,YAChD,GAAG,MAAM,GAAG,IAAI,MAAM,MAAM,OAAO,SAAS,IAAI,KAAK;6CAMjB,EAAE,OAAO,KAAK,YAClD,OAAO,OACH,QAAQ,MAAM,KACd,GAAG,MAAM,GAAG,IAAI,OAAO,SAAS,IAAI,KAAK;iCAMrB,EAAE,YAC1B,KAAK,gBAAgB,CAAC,KAAK,aACvB,SACA,MAAM,MAAM,OAAO,SAAS,IAAI,KAAK;0BAWxB;kBAMR;qBAMG;;2BAYM;kBAMT;sBAkBI;;eAYP;oBAmBK;;CAhVb,kBAA0B,EAAE,UAAiB;AAC1B,SAA2B,eAAe,CAAC,QAEzD,SAAS,KAAK,aAAa,KAAK,aAAa,KAAM,YAAa,MAAM,CACxE,CAEO,SAAS,SAAS;AACxB,QAAK,gBAAgB,YAAY,KAAK;IACtC;;;;;CAMJ,oBAA4B;EAC1B,MAAM,EACJ,OACA,UACA,YACA,cACA,kCACA,uCACE;EAEJ,MAAM,MAAM,eAAe,IAAI,IAAI,QAAQ;AAE3C,MAAI,gBAAgB,cAAc,MAAM;AAItC,OAAI,eAAe,EACjB,QAAO,iCAAiC;IAAE,OAAO;IAAG,KAAK;IAAG,OAAO;IAAG,CAAC;GAEzE,MAAM,MAAM,QAAQ;AACpB,UAAO,mCAAmC;IACxC,OAAO;IACP;IAEA,OAAO,KAAK,IAAI,GAAG,MAAM,MAAM;IAChC,CAAC;;AAMJ,SAAO,iCAAiC;GACtC,OAAO;GACP,KAAK,KAAK,IAAI,QAAQ,UAAU,WAAW;GAC3C,OAAO;GACR,CAAC;;;;;CAMJ,gBACE,MACA,UACA,YACA,cACQ;AACR,MAAI,CAAC,gBAAgB,eAAe,EAAG,QAAO;EAC9C,MAAM,eAAe,WAAW,IAAI,WAAW;EAC/C,MAAM,mBAAmB,KAAK,IAAI,GAAG,KAAK,GAAG,KAAK;AAGlD,MAAI,CAAC,gBAAgB,OAAO,SAAS,WAAW,EAAE;GAChD,MAAM,YACH,KAAK,KAAM,aAAwB,aAAa,GAAG,KAAK;AAC3D,UAAO,KAAK,IAAI,GAAG,KAAK,IAAI,iBAAiB,SAAS,CAAC;;AAGzD,SAAO,KAAK,IAAI,GAAG,gBAAgB;;;;;;;CAQrC,gCAAwC,OAAe;AACrD,OAAK,QAAQ;AACb,OAAK,cACH,IAAI,YACD,KAAK,YAAqC,oBAC3C;GACE,SAAS;GACT,UAAU;GACV,QAAQ;IACN,MAAM,KAAK;IACX,UAAU,KAAK;IAChB;GACF,CACF,CACF;;;;;CAMH,qCAA6C;AAC3C,OAAK,cACH,IAAI,YACD,KAAK,YAAqC,sBAC3C;GACE,SAAS;GACT,UAAU;GACV,QAAQ;IACN,MAAM,KAAK;IACX,UAAU,KAAK;IAChB;GACF,CACF,CACF;;;;;CAMH,yBAAiC;EAC/B,MAAM,EAAE,OAAO,UAAU,aAAa;AACtC,OAAK;EACL,MAAM,WAAW,KAAK,IAAI,WAAW,UAAU,EAAE;AACjD,MAAI,aAAa,SACf,MAAK,gCAAgC,SAAS;AAGhD,MAAI,KAAK,SAAS,GAAG;GACnB,MAAM,EAAE,0BAA0B,KAC/B;AACH,IACE,KAAK,YAAY,cACf,uBAAuB,sBAAsB,GAC9C,EACD,OAAO;;;;;;CAOb,yBAAiC;EAC/B,MAAM,EAAE,OAAO,UAAU,UAAU,YAAY,iBAAiB;AAChE,OAAK;EACL,MAAM,WAAW,WAAW;AAE5B,MACE,YAAY,cAAc,OAAO,WAAW,eAC5C,aAEA,MAAK,gCAAgC,SAAS;AAGhD,MAAI,CAAC,gBAAgB,KAAK,SAAS,KAAK,YAAY;GAClD,MAAM,EAAE,2BAA2B,KAChC;AACH,IACE,KAAK,YAAY,cACf,uBAAuB,uBAAuB,GAC/C,EACD,OAAO;;;;;;;;CASb,sBAG8B,OAAO;EACnC,MAAM,EAAE,UAAU,MAAM;EACxB,MAAM,EAAE,YAAY,UAAU,iBAAiB;AAE/C,MAAI,MAAM,cAAc,CAAC,OAAO,KAAK,iBAAiB;AACpD,QAAK,WAAW,SAAS,MAAM;AAG/B,QAAK,aACH,WAAW,IAAI,KAAK,KAAK,aAAa,SAAS,GAAG;AACpD,QAAK,OAAO;AACZ,QAAK,QAAQ;AACb,QAAK,oCAAoC;SACpC;AACL,QAAK,OAAO,OAAO,MAAM;GACzB,MAAM,WAAW,KAAK,gBACpB,OACA,UACA,YACA,aACD;AACD,QAAK,gCAAgC,SAAS;;;CAiJlD,QAAQ,mBAAmB;EACzB,MAAM,EAAE,UAAU,eAAe;EACjC,MAAM,EAAE,yBAAyB,wBAAwB,KACtD;AAEH,MAAI,kBAAkB,IAAI,WAAW,EAAE;GACrC,MAAM,iBAAiB,KAAK,YAAY,cACtC,wBACD;AAED,OAAI,eACF,gBAAe,QAAQ,OAAO,YAAY,GAAG;;AAKjD,MACE,kBAAkB,IAAI,WAAW,IACjC,kBAAkB,IAAI,QAAQ,IAC9B,kBAAkB,IAAI,aAAa,IACnC,kBAAkB,IAAI,OAAO,EAC7B;GACA,MAAM,qBACJ,WAAW,IACP,KAAK,MAAM,cAAc,KAAK,SAAS,GACtC,cAAc;AAGrB,OAAI,KAAK,eAAe,mBACtB,MAAK,eAAe,WAAW;AAC7B,SAAK,aAAa;KAClB;GAGJ,MAAM,iBAAiB,KAAK,IAAI,GAAG,sBAAsB,EAAE;GAC3D,MAAM,gBAAgB,KAAK,IAAI,GAAG,KAAK,MAAM,KAAK,QAAQ,EAAE,CAAC;GAC7D,MAAM,cAAc,KAAK,IAAI,eAAe,eAAe;GAE3D,MAAM,cAAc,KAAK,YAAY,cACnC,oBACD;AAED,OAAI,YACF,aAAY,QAAQ,YAAY,UAAU;;AAI9C,MAAI,kBAAkB,IAAI,OAAO,EAAE;AACjC,QAAK,QAAQ,KAAK,gBAChB,KAAK,MACL,KAAK,UACL,KAAK,YACL,KAAK,aACN;GACD,MAAM,cAAc,KAAK,YAAY,cAClC,KAAK,YAAqC,oBAC5C;AACD,OAAI,YACF,aAAY,QAAQ,OAAO,KAAK,KAAK;;;CAK3C,SAAS;EACP,MAAM,EACJ,MACA,UACA,aACA,4BACA,cACA,6BACA,kBACA,mBACA,UACA,uBACA,cACA,MACA,OACA,YACA,YACA,wBAAwB,uBACxB,wBAAwB,uBACxB,mBAAmB,kBACnB,iBACA,2BACE;EAEJ,MAAM,EAAE,aAAa,QAAQ,YAAY,eAAe;EACxD,MAAM,qBAAqB,YAAY,UAAU;EACjD,MAAM,qBAAqB,YAAa,CAAC,gBAAgB;EAEzD,MAAM,qBAAqB;IACxB,aAAmB;IACnB,wBAA8B;IAC9B,4BAAkC;IAClC,sCAA4C;IAC5C,sCAA4C;IAC5C,aAAmB,SAAS;IAC5B,oBAA0B;GAC5B;EACD,MAAM,qBAAqB;IACxB,aAAmB;IACnB,wBAA8B;IAC9B,4BAAkC;IAClC,qCAA2C;IAC3C,sCAA4C;IAC5C,aAAmB,SAAS;IAC5B,oBAA0B;GAC5B;EAED,MAAM,oBAAoB,OAAO,QAAQ,mBAAmB,CACzD,QAAQ,GAAG,WAAW,UAAU,KAAK,CACrC,KAAK,CAAC,SAAS,IAAI,CACnB,KAAK,IAAI;EACZ,MAAM,oBAAoB,OAAO,QAAQ,mBAAmB,CACzD,QAAQ,GAAG,WAAW,UAAU,KAAK,CACrC,KAAK,CAAC,SAAS,IAAI,CACnB,KAAK,IAAI;EAEZ,MAAM,iBACJ,OAAO,SAAS,WAAW,IAAI,aAAa,IACxC,aACA,KAAK,IAAI,GAAG,QAAQ,EAAE;AAE5B,SAAO,IAAI;0BACY;;sBAEL,YAAY,sBAAsB;;;;kBAItC,KAAK;;mBAEJ,SAAS;;;cAGd,oBACF,IAAI,gBAAA,MAAuB;iBACtB,iBAAiB;eACnB;;;8BAGe,iBAAiB;;;yBAGrB,qBAAA,MAA4B;aACzC,KAAK,mBAAmB,CAAC;;;0BAGX;UACjB,gBAAgB,CAAC,aACf,IAAI;;+BAEgB,qBAAA,MAA4B,0BAAA,MAAiC;mBAC1E,uBAAuB,EAAE,OAAO,YAAY,CAAC,CAAC,GAAG,KAAK;;gBAG7D,IAAI;;4BAEY,YAAY,kBAAkB;;;wBAGlC,KAAK;;yBAEJ,KAAK;;;oBAGV,gBAAgB,EAAE,OAAO,YAAY,CAAC,CAAC;;kBAEzC,MAAM,KAAK,IAAI,MAAM,eAAe,CAAC,CAAC,KACrC,OAAO,UAAU,IAAI;;+BAET,QAAQ,EAAE;kCACP,SAAS,QAAQ,EAAE;wBAC7B,QAAQ,EAAE;;oBAGjB,CAAC;;mCAEkB;mBACjB,uBAAuB,EAAE,OAAO,YAAY,CAAC,CAAC;;cAEnD;;4BAEe;;+BAEE,4BAA4B;;oBAEvC,KAAK;yBACA,mBAAmB;iCACX,kBAAkB;4BACvB,aAAa;sBACnB,sBAAsB;cAC9B,WAAW,aAAa,EAAE,MAAM,QAAQ,CAAC,CAAC;;;+BAGzB,2BAA2B;;oBAEtC,KAAK;yBACA,mBAAmB;iCACX,kBAAkB;4BACvB,YAAY;sBAClB,sBAAsB;cAC9B,WAAW,cAAc,EAAE,MAAM,QAAQ,CAAC,CAAC;;;;;;;;;CAUvD,WAAW,sBAAsB;AAC/B,SAAO;;;;;CAMT,WAAW,0BAA0B;AACnC,SAAO;;;;;CAMT,WAAW,yBAAyB;AAClC,SAAO;;;;;CAMT,WAAW,wBAAwB;AACjC,SAAO;;;;;CAMT,WAAW,qBAAqB;AAC9B,SAAO;;;;;CAMT,WAAW,uBAAuB;AAChC,SAAO;;;2BAGkB;GACzB,GAAG,WAAW;GACd,gBAAgB;GACjB;;;gBACeA;;;YArlBf,MAAM,aAAmB,CAAA,EAAA,cAAA,WAAA,mBAAA,KAAA,EAAA;YA4KzB,aAAa,sBAA4B,CAAA,EAAA,cAAA,WAAA,yBAAA,KAAA;YA+BzC,SAAS,EAAE,WAAW,iBAAiB,CAAC,CAAA,EAAA,cAAA,WAAA,gBAAA,KAAA,EAAA;YAMxC,SAAS,EAAE,WAAW,kCAAkC,CAAC,CAAA,EAAA,cAAA,WAAA,+BAAA,KAAA,EAAA;YAMzD,SAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,CAAC,CAAA,EAAA,cAAA,WAAA,QAAA,KAAA,EAAA;YAOzC,SAAS,EAAE,WAAW,OAAO,CAAC,CAAA,EAAA,cAAA,WAAA,mBAAA,KAAA,EAAA;YAO9B,SAAS,EAAE,WAAW,OAAO,CAAC,CAAA,EAAA,cAAA,WAAA,oCAAA,KAAA,EAAA;YAO9B,SAAS,EAAE,WAAW,OAAO,CAAC,CAAA,EAAA,cAAA,WAAA,sCAAA,KAAA,EAAA;YAS9B,SAAS,EAAE,WAAW,OAAO,CAAC,CAAA,EAAA,cAAA,WAAA,0BAAA,KAAA,EAAA;YAQ9B,SAAS;CAAE,MAAM;CAAS,WAAW;CAAgB,CAAC,CAAA,EAAA,cAAA,WAAA,cAAA,KAAA,EAAA;YAMtD,SAAS,EAAE,WAAW,uBAAuB,CAAC,CAAA,EAAA,cAAA,WAAA,oBAAA,KAAA,EAAA;YAM9C,SAAS;CAAE,MAAM;CAAS,SAAS;CAAM,CAAC,CAAA,EAAA,cAAA,WAAA,YAAA,KAAA,EAAA;YAM1C,SAAS,EAAE,WAAW,gBAAgB,CAAC,CAAA,EAAA,cAAA,WAAA,eAAA,KAAA,EAAA;YAMvC,SAAS,EAAE,WAAW,iCAAiC,CAAC,CAAA,EAAA,cAAA,WAAA,8BAAA,KAAA,EAAA;YAMxD,SAAS;CAAE,MAAM;CAAS,WAAW;CAAuB,CAAC,CAAA,EAAA,cAAA,WAAA,qBAAA,KAAA,EAAA;YAM7D,SAAS;CAAE,MAAM;CAAQ,WAAW;CAAa,SAAS;CAAM,CAAC,CAAA,EAAA,cAAA,WAAA,YAAA,KAAA,EAAA;YAMjE,SAAS;CAAE,MAAM;CAAS,WAAW;CAA4B,CAAC,CAAA,EAAA,cAAA,WAAA,yBAAA,KAAA,EAAA;YAMlE,SAAS,EAAE,WAAW,wBAAwB,CAAC,CAAA,EAAA,cAAA,WAAA,qBAAA,KAAA,EAAA;YAM/C,SAAS;CAAE,MAAM;CAAS,SAAS;CAAM,WAAW;CAAiB,CAAC,CAAA,EAAA,cAAA,WAAA,gBAAA,KAAA,EAAA;YAMtE,SAAS,EAAE,SAAS,MAAM,CAAC,CAAA,EAAA,cAAA,WAAA,QAAA,KAAA,EAAA;YAM3B,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,EAAA,cAAA,WAAA,SAAA,KAAA,EAAA;YAM1B,SAAS;CACR,MAAM;CACN,WAAW;CACX,WAAW,EACT,gBAAgB,UACd,UAAU,QAAQ,UAAU,KAAK,KAAA,IAAY,OAAO,MAAM,EAC7D;CACF,CAAC,CAAA,EAAA,cAAA,WAAA,cAAA,KAAA,EAAA;YAMD,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,EAAA,cAAA,WAAA,cAAA,KAAA,EAAA;4BApV5BC,cAAc,iBAAuB,CAAA,EAAA,cAAA;AA0lBtC,IAAA,qBAAe"}
|
|
1
|
+
{"version":3,"file":"pagination.js","names":["styles","customElement"],"sources":["../../../src/components/pagination/pagination.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport '../button/index';\n\nimport { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\n\nimport CDSSelect from '../select/select';\nimport CaretLeft16 from '@carbon/icons/es/caret--left/16.js';\nimport CaretRight16 from '@carbon/icons/es/caret--right/16.js';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { PAGINATION_SIZE, PAGINATION_TOOLTIP_POSITION } from './defs';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport { prefix } from '../../globals/settings';\nimport styles from './pagination.scss?lit';\n\nconst selectorPagesSelect = `${prefix}-select#pages-select`;\nconst selectorPageSizesSelect = `${prefix}-select`;\nconst selectorPreviousButton = `${prefix}--pagination__button--backward`;\nconst selectorForwardButton = `${prefix}--pagination__button--forward`;\n\n/**\n * Pagination UI.\n *\n * @element cds-custom-pagination\n * @slot page-sizes-select - Where to put in the `<page-sizes-select>`.\n * @fires cds-custom-pagination-changed-current - The custom event fired after the current page is changed from `<cds-custom-pages-select>`.\n * @fires cds-custom-page-sizes-select-changed - The custom event fired after the number of rows per page is changed from `<cds-custom-page-sizes-select>`.\n */\n@customElement(`${prefix}-pagination`)\nclass CDSPagination extends FocusMixin(HostListenerMixin(LitElement)) {\n @query(selectorPageSizesSelect)\n private _pageSizeSelect!: CDSSelect;\n\n @query(selectorPagesSelect)\n private _pagesSelect!: CDSSelect | null;\n\n @query(`[button-class-name*=${selectorPreviousButton}]`)\n private _previousButton!: HTMLElement;\n\n @query(`[button-class-name*=${selectorForwardButton}]`)\n private _forwardButton!: HTMLElement;\n\n private _handleSlotChange({ target }: Event) {\n const content = (target as HTMLSlotElement).assignedNodes().filter(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n (node) => node.nodeType !== Node.TEXT_NODE || node!.textContent!.trim()\n );\n\n content.forEach((item) => {\n this._pageSizeSelect.appendChild(item);\n });\n }\n\n /**\n * @returns Page status text.\n */\n private _renderStatusText() {\n const {\n start,\n pageSize,\n totalItems,\n pagesUnknown,\n formatStatusWithDeterminateTotal,\n formatStatusWithIndeterminateTotal,\n } = this;\n\n const min = totalItems === 0 ? 0 : start + 1;\n\n if (pagesUnknown || totalItems == null) {\n // * Indeterminate total:\n // - totalItems === 0 → \"0–0 of 0 items\"\n // - else → closed range \"1–10 items\", \"11–20 items\", etc.\n if (totalItems === 0) {\n return formatStatusWithDeterminateTotal({ start: 0, end: 0, count: 0 });\n }\n const end = start + pageSize;\n return formatStatusWithIndeterminateTotal({\n start: min,\n end,\n // Use visible range for pluralization, so we get \"items\" not \"item\"\n count: Math.max(0, end - start),\n });\n }\n\n // * Determinate total:\n // - Regular: \"1–10 of 100 items\"\n // - When totalItems === 0 → \"0–0 of 0 item\"\n return formatStatusWithDeterminateTotal({\n start: min,\n end: Math.min(start + pageSize, totalItems),\n count: totalItems,\n });\n }\n\n /**\n * Calculates the start value based on `page`, `pageSize`, and `totalItems`\n */\n private _calculateStart(\n page: number,\n pageSize: number,\n totalItems: number | undefined,\n pagesUnknown: boolean\n ): number {\n if (!pagesUnknown && totalItems === 0) return 0;\n const safePageSize = pageSize > 0 ? pageSize : 1;\n const calculatedStart = (Math.max(1, page) - 1) * safePageSize;\n\n // Only clamp to the last page when the total is determinate\n if (!pagesUnknown && Number.isFinite(totalItems)) {\n const maxStart =\n (Math.ceil((totalItems as number) / safePageSize) - 1) * safePageSize;\n return Math.max(0, Math.min(calculatedStart, maxStart));\n }\n\n return Math.max(0, calculatedStart);\n }\n\n /**\n * Handles user-initiated change in the row number the current page starts with.\n *\n * @param start The new current row number, index that starts with zero.\n */\n private _handleUserInitiatedChangeStart(start: number) {\n this.start = start;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSPagination).eventChangeCurrent,\n {\n bubbles: true,\n composed: true,\n detail: {\n page: this.page,\n pageSize: this.pageSize,\n },\n }\n )\n );\n }\n\n /**\n * Handles user-initiated change in the size of the page.\n */\n private _handleUserInitiatedPageSizeChange() {\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSPagination).eventPageSizeChanged,\n {\n bubbles: true,\n composed: true,\n detail: {\n page: this.page,\n pageSize: this.pageSize,\n },\n }\n )\n );\n }\n\n /**\n * Handles `click` event on the previous button.\n */\n private _handleClickPrevButton() {\n const { start: oldStart, pageSize } = this;\n this.page--;\n const newStart = Math.max(oldStart - pageSize, 0);\n if (newStart !== oldStart) {\n this._handleUserInitiatedChangeStart(newStart);\n }\n // reset focus to forward button if it reaches the beginning\n if (this.page === 1) {\n this._forwardButton.focus();\n }\n }\n\n /**\n * Handles `click` event on the next button.\n */\n private _handleClickNextButton() {\n const { start: oldStart, pageSize, totalItems, pagesUnknown } = this;\n this.page++;\n const newStart = oldStart + pageSize;\n\n if (\n newStart < (totalItems == null ? Infinity : totalItems) ||\n pagesUnknown\n ) {\n this._handleUserInitiatedChangeStart(newStart);\n }\n // reset focus to previous button if it reaches the end and `pagesUnknown` is not true\n if (!pagesUnknown && this.page === this.totalPages) {\n this._previousButton.focus();\n }\n }\n\n /**\n * Handles user-initiated change in number of rows per page.\n *\n * @param event The event.\n */\n @HostListener(`${prefix}-select-selected`)\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleChangeSelector(event) {\n const { value } = event.detail;\n const { totalItems, pageSize, pagesUnknown } = this;\n\n if (event.composedPath()[0] === this._pageSizeSelect) {\n this.pageSize = parseInt(value);\n // Default pageSize to effectively be 1 when we have a value of 0 to avoid\n // division by 0.\n this.totalPages =\n pageSize > 0 ? Math.ceil(totalItems / pageSize) : totalItems;\n this.page = 1;\n this.start = 0;\n this._handleUserInitiatedPageSizeChange();\n } else {\n this.page = Number(value);\n const newStart = this._calculateStart(\n value,\n pageSize,\n totalItems,\n pagesUnknown\n );\n this._handleUserInitiatedChangeStart(newStart);\n }\n }\n\n /**\n * The assistive text for the button to go to previous page.\n */\n @property({ attribute: 'backward-text' })\n backwardText = 'Previous page';\n\n /**\n * Specify the position of the tooltip for the backward button. Can be one of: top, right, bottom, or left.\n */\n @property({ attribute: 'backward-text-tooltip-position' })\n backwardTextTooltipPosition = PAGINATION_TOOLTIP_POSITION.TOP;\n\n /**\n * The current page\n */\n @property({ type: Number, reflect: true })\n page = 1;\n\n /**\n * The formatter for the assistive text for screen readers to announce.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatLabelText = ({ count }) =>\n `Page of ${count} page${count <= 1 ? '' : 's'}`;\n\n /**\n * The formatter, used with determinate the total pages. Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatStatusWithDeterminateTotal = ({ start, end, count }) =>\n `${start}–${end} of ${count} item${count <= 1 ? '' : 's'}`;\n\n /**\n * The formatter, used with indeterminate the total pages. Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatStatusWithIndeterminateTotal = ({ start, end, count }) =>\n end == null\n ? `Item ${start}–`\n : `${start}–${end} item${count <= 1 ? '' : 's'}`;\n\n /**\n * The formatter for the text next to the select box. Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatSupplementalText = ({ count }) =>\n this.pagesUnknown || !this.totalItems\n ? `page`\n : `of ${count} page${count <= 1 ? '' : 's'}`;\n /**\n * `true` to explicitly state that user is at the last page.\n */\n @property({ type: Boolean, attribute: 'is-last-page' })\n isLastPage!: boolean;\n\n /**\n * The translatable text indicating the number of items per page.\n */\n @property({ attribute: 'items-per-page-text' })\n itemsPerPageText = '';\n\n /**\n * `true` if the pagination UI should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * The assistive text for the button to go to next page.\n */\n @property({ attribute: 'forward-text' })\n forwardText = 'Next page';\n\n /**\n * Specify the position of the tooltip for the forward button. Can be one of: top, right, bottom, or left.\n */\n @property({ attribute: 'forward-text-tooltip-position' })\n forwardTextTooltipPosition = PAGINATION_TOOLTIP_POSITION.TOP;\n\n /**\n * true if the select box to change the page should be disabled.\n */\n @property({ type: Boolean, attribute: 'page-input-disabled' })\n pageInputDisabled = false;\n\n /**\n * Number of items per page.\n */\n @property({ type: Number, attribute: 'page-size', reflect: true })\n pageSize = 10;\n\n /**\n * true if the select box to change the items per page should be disabled.\n */\n @property({ type: Boolean, attribute: 'page-size-input-disabled' })\n pageSizeInputDisabled;\n\n /**\n * The label text for the UI to select page size.\n */\n @property({ attribute: 'page-size-label-text' })\n pageSizeLabelText!: string;\n\n /**\n * true if the total number of items is unknown.\n */\n @property({ type: Boolean, reflect: true, attribute: 'pages-unknown' })\n pagesUnknown = false;\n\n /**\n * Specify the size of the Pagination.\n */\n @property({ reflect: true })\n size = PAGINATION_SIZE.MEDIUM;\n\n /**\n * The row number where current page start with, index that starts with zero.\n */\n @property({ type: Number })\n start = 0;\n\n /**\n * The number of total items.\n */\n @property({\n type: Number,\n attribute: 'total-items',\n converter: {\n fromAttribute: (value) =>\n value === null || value === '' ? undefined : Number(value),\n },\n })\n totalItems!: number;\n\n /**\n * The number of total pages.\n */\n @property({ type: Number })\n totalPages = 1;\n\n updated(changedProperties) {\n const { pageSize, totalItems } = this;\n\n if (changedProperties.has('pageSize')) {\n this._pageSizeSelect.value = String(pageSize ?? '');\n }\n\n // Recompute total pages and clamp the visible page whenever any relevant input changes\n if (\n changedProperties.has('pageSize') ||\n changedProperties.has('start') ||\n changedProperties.has('totalItems') ||\n changedProperties.has('page')\n ) {\n const computedTotalPages =\n pageSize > 0\n ? Math.ceil((totalItems ?? 0) / pageSize)\n : (totalItems ?? 0);\n\n // Only assign if it actually changed to avoid unnecessary updates\n if (this.totalPages !== computedTotalPages) {\n this.updateComplete.then(() => {\n this.totalPages = computedTotalPages;\n });\n }\n\n const totalPagesSafe = Math.max(1, computedTotalPages || 1);\n const requestedPage = Math.max(1, Math.floor(this.page || 1));\n const displayPage = Math.min(requestedPage, totalPagesSafe);\n\n if (this._pagesSelect) {\n this._pagesSelect.value = displayPage.toString();\n }\n }\n\n if (changedProperties.has('page')) {\n this.start = this._calculateStart(\n this.page,\n this.pageSize,\n this.totalItems,\n this.pagesUnknown\n );\n if (this._pagesSelect) {\n this._pagesSelect.value = String(this.page);\n }\n }\n }\n\n render() {\n const {\n page,\n disabled,\n forwardText,\n forwardTextTooltipPosition,\n backwardText,\n backwardTextTooltipPosition,\n itemsPerPageText,\n pageInputDisabled,\n pageSize,\n pageSizeInputDisabled,\n pagesUnknown,\n size,\n start,\n totalItems,\n totalPages,\n _handleClickPrevButton: handleClickPrevButton,\n _handleClickNextButton: handleClickNextButton,\n _handleSlotChange: handleSlotChange,\n formatLabelText,\n formatSupplementalText,\n } = this;\n\n const { isLastPage = start + pageSize >= totalItems } = this;\n const prevButtonDisabled = disabled || start === 0;\n const nextButtonDisabled = disabled || (!pagesUnknown && isLastPage);\n\n const prevButtonClassMap = {\n [`${prefix}--btn`]: true,\n [`${prefix}--btn--icon-only`]: true,\n [`${prefix}--pagination__button`]: true,\n [`${prefix}--pagination__button--backward`]: true,\n [`${prefix}--pagination__button--no-index`]: prevButtonDisabled,\n [`${prefix}--btn--${size}`]: true,\n [`${prefix}--btn--ghost`]: true,\n };\n const nextButtonClassMap = {\n [`${prefix}--btn`]: true,\n [`${prefix}--btn--icon-only`]: true,\n [`${prefix}--pagination__button`]: true,\n [`${prefix}--pagination__button--forward`]: true,\n [`${prefix}--pagination__button--no-index`]: nextButtonDisabled,\n [`${prefix}--btn--${size}`]: true,\n [`${prefix}--btn--ghost`]: true,\n };\n\n const prevButtonClasses = Object.entries(prevButtonClassMap)\n .filter(([, value]) => value === true)\n .map(([key]) => key)\n .join(' ');\n const nextButtonClasses = Object.entries(nextButtonClassMap)\n .filter(([, value]) => value === true)\n .map(([key]) => key)\n .join(' ');\n\n const totalPagesSafe =\n Number.isFinite(totalPages) && totalPages > 0\n ? totalPages\n : Math.max(1, page || 1);\n\n return html`\n <div class=\"${prefix}--pagination__left\">\n <cds-custom-select\n ?disabled=${disabled || pageSizeInputDisabled}\n id=\"page-size-select\"\n left-select\n pagination\n size=\"${size}\"\n inline\n value=\"${pageSize}\"\n label-styles-disable>\n <div slot=\"label-text\">\n ${itemsPerPageText &&\n html`<span class=\"${prefix}--pagination__text\"\n >${itemsPerPageText}</span\n >`}\n <slot name=\"label-text\"></slot>\n </div>\n <slot @slotchange=${handleSlotChange}></slot>\n </cds-custom-select>\n <span\n class=\"${prefix}--pagination__text ${prefix}--pagination__items-count\"\n >${this._renderStatusText()}</span\n >\n </div>\n <div class=\"${prefix}--pagination__right\">\n ${pagesUnknown || !totalItems\n ? html`\n <span\n class=\"${prefix}--pagination__text ${prefix}--pagination__page-text ${prefix}--pagination__unknown-pages-text\"\n >${formatSupplementalText({ count: totalPages })} ${page}</span\n >\n `\n : html`\n <cds-custom-select\n ?disabled=${disabled || pageInputDisabled}\n id=\"pages-select\"\n pagination\n size=\"${size}\"\n inline\n value=\"${page}\"\n hide-label>\n <span slot=\"label-text\">\n ${formatLabelText({ count: totalPages })}\n </span>\n ${Array.from(new Array(totalPagesSafe)).map(\n (_item, index) => html`\n <cds-custom-select-item\n value=\"${index + 1}\"\n ?selected=${page === index + 1}>\n ${index + 1}\n </cds-custom-select-item>\n `\n )}\n </cds-custom-select>\n <span class=\"${prefix}--pagination__text\"\n >${formatSupplementalText({ count: totalPages })}</span\n >\n `}\n\n <div class=\"${prefix}--pagination__control-buttons\">\n <cds-custom-button\n tooltip-position=${backwardTextTooltipPosition}\n pagination\n size=\"${size}\"\n ?disabled=\"${prevButtonDisabled}\"\n button-class-name=\"${prevButtonClasses}\"\n tooltip-text=\"${backwardText}\"\n @click=\"${handleClickPrevButton}\">\n ${iconLoader(CaretLeft16, { slot: 'icon' })}\n </cds-custom-button>\n <cds-custom-button\n tooltip-position=${forwardTextTooltipPosition}\n pagination\n size=\"${size}\"\n ?disabled=\"${nextButtonDisabled}\"\n button-class-name=\"${nextButtonClasses}\"\n tooltip-text=\"${forwardText}\"\n @click=\"${handleClickNextButton}\">\n ${iconLoader(CaretRight16, { slot: 'icon' })}\n </cds-custom-button>\n </div>\n </div>\n `;\n }\n\n /**\n * A selector that will return the select box for the current page.\n */\n static get selectorPagesSelect() {\n return selectorPagesSelect;\n }\n\n /**\n * A selector that will return the select box for page sizes.\n */\n static get selectorPageSizesSelect() {\n return selectorPageSizesSelect;\n }\n\n /**\n * A selector that will return the previous button.\n */\n static get selectorPreviousButton() {\n return selectorPreviousButton;\n }\n\n /**\n * A selector that will return the forward button.\n */\n static get selectorForwardButton() {\n return selectorForwardButton;\n }\n\n /**\n * The name of the custom event fired after the current row number is changed.\n */\n static get eventChangeCurrent() {\n return `${prefix}-pagination-changed-current`;\n }\n\n /**\n * The name of the custom event fired after the number of rows per page is changed from `<cds-custom-page-sizes-select>`.\n */\n static get eventPageSizeChanged() {\n return `${prefix}-page-sizes-select-changed`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSPagination;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defs.js","names":[],"sources":["../../../src/components/pagination-nav/defs.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 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\n/**\n * Size of the pagination nav.\n */\nexport enum PAGINATION_NAV_SIZE {\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\n/**\n * Prev/Next button tooltip alignment.\n */\nexport enum PAGINATION_TOOLTIP_ALIGNMENT {\n /**\n * Aligned to the start.\n */\n START = 'start',\n\n /**\n * Aligned to the center.\n */\n CENTER = 'center',\n\n /**\n * Aligned to the end.\n */\n END = 'end',\n}\n\n/**\n * Prev/Next button tooltip position.\n */\nexport enum PAGINATION_TOOLTIP_POSITION {\n /**\n * Positioned on the top.\n */\n TOP = 'top',\n\n /**\n * Positioned on the right.\n */\n RIGHT = 'right',\n\n /**\n * Positioned on the bottom.\n */\n BOTTOM = 'bottom',\n\n /**\n * Positioned on the left.\n */\n LEFT = 'left',\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAUA,IAAY,sBAAL,yBAAA,qBAAA;;;;
|
|
1
|
+
{"version":3,"file":"defs.js","names":[],"sources":["../../../src/components/pagination-nav/defs.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 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\n/**\n * Size of the pagination nav.\n */\nexport enum PAGINATION_NAV_SIZE {\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\n/**\n * Prev/Next button tooltip alignment.\n */\nexport enum PAGINATION_TOOLTIP_ALIGNMENT {\n /**\n * Aligned to the start.\n */\n START = 'start',\n\n /**\n * Aligned to the center.\n */\n CENTER = 'center',\n\n /**\n * Aligned to the end.\n */\n END = 'end',\n}\n\n/**\n * Prev/Next button tooltip position.\n */\nexport enum PAGINATION_TOOLTIP_POSITION {\n /**\n * Positioned on the top.\n */\n TOP = 'top',\n\n /**\n * Positioned on the right.\n */\n RIGHT = 'right',\n\n /**\n * Positioned on the bottom.\n */\n BOTTOM = 'bottom',\n\n /**\n * Positioned on the left.\n */\n LEFT = 'left',\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAUA,IAAY,sBAAL,yBAAA,qBAAA;;;;CAIL,oBAAA,WAAA;;;;CAKA,oBAAA,YAAA;;;;CAKA,oBAAA,WAAA;;AACF,EAAA,CAAA,CAAA;;;;AAKA,IAAY,+BAAL,yBAAA,8BAAA;;;;CAIL,6BAAA,WAAA;;;;CAKA,6BAAA,YAAA;;;;CAKA,6BAAA,SAAA;;AACF,EAAA,CAAA,CAAA;;;;AAKA,IAAY,8BAAL,yBAAA,6BAAA;;;;CAIL,4BAAA,SAAA;;;;CAKA,4BAAA,WAAA;;;;CAKA,4BAAA,YAAA;;;;CAKA,4BAAA,UAAA;;AACF,EAAA,CAAA,CAAA"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import "../../globals/settings.js";
|
|
9
9
|
import { carbonElement } from "../../globals/decorators/carbon-element.js";
|
|
10
|
-
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.
|
|
10
|
+
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.135.0/helpers/esm/decorate.js";
|
|
11
11
|
import iconLoader from "../../globals/internal/icon-loader.js";
|
|
12
12
|
import "../icon-button/index.js";
|
|
13
13
|
import "./defs.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination-nav.js","names":["OverflowMenu","styles","customElement"],"sources":["../../../src/components/pagination-nav/pagination-nav.ts"],"sourcesContent":["/**\n *\n * Copyright IBM Corp. 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, state } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { prefix } from '../../globals/settings';\nimport styles from './pagination-nav.scss?lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport CaretLeft16 from '@carbon/icons/es/caret--left/16.js';\nimport CaretRight16 from '@carbon/icons/es/caret--right/16.js';\nimport OverflowMenu from '@carbon/icons/es/overflow-menu--horizontal/16.js';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport '../icon-button';\nimport {\n PAGINATION_NAV_SIZE,\n PAGINATION_TOOLTIP_ALIGNMENT,\n PAGINATION_TOOLTIP_POSITION,\n} from './defs';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\n/**\n * Translation IDs and default translations\n */\nconst translationIds = {\n 'carbon.pagination-nav.next': 'carbon.pagination-nav.next',\n 'carbon.pagination-nav.previous': 'carbon.pagination-nav.previous',\n 'carbon.pagination-nav.item': 'carbon.pagination-nav.item',\n 'carbon.pagination-nav.active': 'carbon.pagination-nav.active',\n 'carbon.pagination-nav.of': 'carbon.pagination-nav.of',\n} as const;\n\ntype TranslationKey = keyof typeof translationIds;\n\nconst defaultTranslations: Record<TranslationKey, string> = {\n [translationIds['carbon.pagination-nav.next']]: 'Next',\n [translationIds['carbon.pagination-nav.previous']]: 'Previous',\n [translationIds['carbon.pagination-nav.item']]: 'Page',\n [translationIds['carbon.pagination-nav.active']]: 'Active',\n [translationIds['carbon.pagination-nav.of']]: 'of',\n};\n\n/**\n * Default translation function\n */\nconst defaultTranslateWithId = (messageId: TranslationKey): string => {\n return defaultTranslations[messageId];\n};\n\n/**\n * Pagination Navigation.\n *\n * @element cds-custom-pagination-nav\n * @fires cds-custom-page-changed - The custom event fired when the the page has been changed.\n */\n@customElement(`${prefix}-pagination-nav`)\nclass CDSPaginationNav extends LitElement {\n /**\n * Internal state for items displayed on page\n */\n @state()\n private itemsDisplayedOnPage!: number;\n\n /**\n * Internal state for cuts\n */\n @state()\n private cuts = { front: 0, back: 0 };\n\n /**\n * Internal state for previous page\n */\n @state()\n private prevPage: number | null = null;\n\n /**\n * The number of items to be shown (minimum of 4 unless props.items < 4).\n */\n @property({ attribute: 'items-shown', reflect: true, type: Number })\n itemsShown = 10;\n\n /**\n * Whether user should be able to loop through the items when reaching first / last.\n */\n @property({ attribute: 'loop', type: Boolean })\n loop = false;\n\n /**\n * The index of current page.\n */\n @property({ attribute: 'page', reflect: true, type: Number })\n page = 0;\n\n /**\n * The total number of items.\n */\n @property({ attribute: 'total-items', reflect: true, type: Number })\n totalItems = 1;\n\n /**\n * Specify the size of the PaginationNav.\n */\n @property({ reflect: true })\n size = PAGINATION_NAV_SIZE.LARGE;\n\n /**\n * Specify the alignment of the tooltip for the icon-only next/prev buttons.\n * Can be one of: start, center, or end.\n */\n @property({ attribute: 'tooltip-alignment', reflect: true })\n tooltipAlignment = PAGINATION_TOOLTIP_ALIGNMENT.CENTER;\n\n /**\n * Specify the position of the tooltip for the icon-only next/prev buttons.\n * Can be one of: top, right, bottom, or left.\n */\n @property({ attribute: 'tooltip-position', reflect: true })\n tooltipPosition = PAGINATION_TOOLTIP_POSITION.BOTTOM;\n\n /**\n * If true, the '...' pagination overflow will not render page links between the first and last rendered buttons.\n * Set this to true if you are having performance problems with large data sets.\n */\n @property({ attribute: 'disable-overflow', reflect: true, type: Boolean })\n disableOverflow?: boolean;\n\n /**\n * Translates component strings using your i18n tool.\n */\n @property({ attribute: false })\n translateWithId: (messageId: TranslationKey) => string =\n defaultTranslateWithId;\n\n private _calculateCuts(\n page: number,\n totalItems: number,\n itemsDisplayedOnPage: number,\n splitPoint: number | null = null\n ) {\n if (itemsDisplayedOnPage >= totalItems) {\n return { front: 0, back: 0 };\n }\n\n const split = splitPoint || Math.ceil(itemsDisplayedOnPage / 2) - 1;\n\n let frontHidden = page + 1 - split;\n let backHidden = totalItems - page - (itemsDisplayedOnPage - split) + 1;\n\n if (frontHidden <= 1) {\n backHidden -= frontHidden <= 0 ? Math.abs(frontHidden) + 1 : 0;\n frontHidden = 0;\n }\n\n if (backHidden <= 1) {\n frontHidden -= backHidden <= 0 ? Math.abs(backHidden) + 1 : 0;\n backHidden = 0;\n }\n\n return { front: frontHidden, back: backHidden };\n }\n\n private _pageWouldBeHidden(page: number) {\n const startOffset = this.itemsDisplayedOnPage <= 4 && this.page > 1 ? 0 : 1;\n\n const wouldBeHiddenInFront =\n (page >= startOffset && page <= this.cuts.front) || page === 0;\n const wouldBeHiddenInBack =\n page >= this.totalItems - this.cuts.back - 1 &&\n page <= this.totalItems - 2;\n\n return wouldBeHiddenInFront || wouldBeHiddenInBack;\n }\n\n /**\n * Sets the current page to a specified index.\n */\n private _setIndex(index: number) {\n if (index >= 0 && index < this.totalItems) {\n this.page = index;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSPaginationNav).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n page: index,\n },\n }\n )\n );\n }\n }\n\n /**\n * Reduce current page by one, but no lower than 0.\n */\n private _decrementIndex() {\n const { loop, page, totalItems } = this;\n const wouldLoop = page - 1 < 0;\n\n if (loop) {\n this.page = wouldLoop ? totalItems - 1 : page - 1;\n } else {\n this.page = Math.max(this.page - 1, 0);\n }\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSPaginationNav).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n page: this.page,\n },\n }\n )\n );\n }\n\n /**\n * Increase current page by one, but no higher than (this.totalItems - 1).\n */\n private _incrementIndex() {\n const { loop, page, totalItems } = this;\n const wouldLoop = page + 1 >= totalItems;\n\n if (loop) {\n this.page = wouldLoop ? 0 : page + 1;\n } else {\n this.page = Math.min(this.page + 1, this.totalItems - 1);\n }\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSPaginationNav).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n page: this.page,\n },\n }\n )\n );\n }\n\n /**\n * Renders a single pagination item & button.\n */\n private _renderPaginationItem(itemPage: number, isActive = false) {\n const { translateWithId: t } = this;\n const itemLabel = t('carbon.pagination-nav.item');\n const classes = {\n [`${prefix}--pagination-nav__page`]: true,\n [`${prefix}--pagination-nav__page--active`]: isActive,\n };\n\n return html`\n <li class=\"${prefix}--pagination-nav__list-item\">\n <button\n class=${classMap(classes)}\n type=\"button\"\n @click=${() => this._setIndex(itemPage)}\n data-page=\"${itemPage + 1}\"\n aria-current=${ifDefined(isActive ? 'page' : undefined)}>\n <span class=\"${prefix}--pagination-nav__accessibility-label\">\n ${isActive\n ? `${t('carbon.pagination-nav.active')}, ${itemLabel}`\n : itemLabel}\n </span>\n ${itemPage + 1}\n </button>\n </li>\n `;\n }\n\n /**\n * Renders overflow items in a select list.\n *\n */\n private _renderPaginationOverflow(fromIndex: number, count: number) {\n const { translateWithId: t } = this;\n\n if (count > 1) {\n return html`\n <li class=\"${prefix}--pagination-nav__list-item\">\n <div class=\"${prefix}--pagination-nav__select\">\n <select\n class=\"${prefix}--pagination-nav__page ${prefix}--pagination-nav__page--select\"\n aria-label=\"Select ${t('carbon.pagination-nav.item')} number\"\n ?disabled=\"${this.disableOverflow}\"\n @change=${(e: Event) => {\n const target = e.target as HTMLSelectElement;\n const index = Number(target.value);\n this._setIndex(index);\n (e.target as HTMLSelectElement).value = '';\n }}>\n <option value=\"\" hidden></option>\n ${Array.from({ length: count }).map(\n (_, i) => html`\n <option\n value=\"${fromIndex + i}\"\n data-page=\"${fromIndex + i + 1}\"\n key=\"overflow-${fromIndex + i}\">\n ${fromIndex + i + 1}\n </option>\n `\n )}\n </select>\n <div class=\"${prefix}--pagination-nav__select-icon-wrapper\">\n ${iconLoader(OverflowMenu, {\n class: `${prefix}--pagination-nav__select-icon`,\n })}\n </div>\n </div>\n </li>\n `;\n } else if (count === 1) {\n return this._renderPaginationItem(fromIndex);\n } else {\n return html``;\n }\n }\n\n render() {\n const {\n loop,\n page,\n totalItems,\n _incrementIndex: incrementIndex,\n _decrementIndex: decrementIndex,\n translateWithId: t,\n size,\n tooltipAlignment,\n tooltipPosition,\n } = this;\n const backwardButtonDisabled = !loop && page <= 0;\n const forwardButtonDisabled = !loop && page >= totalItems - 1;\n\n const startOffset = this.itemsDisplayedOnPage <= 4 && this.page > 1 ? 0 : 1;\n\n const align =\n tooltipAlignment === 'center'\n ? tooltipPosition\n : `${tooltipPosition}-${tooltipAlignment}`;\n\n const navClasses = classMap({\n [`${prefix}--pagination-nav`]: true,\n [`${prefix}--layout--size-${size}`]: size,\n });\n\n return html`\n <nav class=\"${navClasses}\" aria-label=\"pagination\">\n <ul class=\"${prefix}--pagination-nav__list\">\n <li class=\"${prefix}--pagination-nav__list-item\">\n <cds-custom-icon-button\n kind=\"ghost\"\n align=\"${align}\"\n size=\"${size}\"\n ?disabled=${backwardButtonDisabled}\n @click=${decrementIndex}>\n <span slot=\"tooltip-content\"\n >${this.translateWithId('carbon.pagination-nav.previous')}</span\n >\n ${iconLoader(CaretLeft16, { slot: 'icon' })}\n </cds-custom-icon-button>\n </li>\n\n ${\n // render first item if at least 5 items can be displayed or\n // 4 items can be displayed and the current page is either 0 or 1\n this.itemsDisplayedOnPage >= 5 ||\n (this.itemsDisplayedOnPage <= 4 && this.page <= 1)\n ? this._renderPaginationItem(0, this.page === 0)\n : ''\n }\n ${\n /* render first overflow */\n this._renderPaginationOverflow(startOffset, this.cuts.front)\n }\n ${\n // render items between overflows\n Array.from({ length: this.totalItems })\n .map((_, i) => i)\n .slice(startOffset + this.cuts.front, (1 + this.cuts.back) * -1)\n .map((item) =>\n this._renderPaginationItem(item, this.page === item)\n )\n }\n ${\n /* render second overflow */\n this._renderPaginationOverflow(\n this.totalItems - this.cuts.back - 1,\n this.cuts.back\n )\n }\n ${\n // render last item unless there is only one in total\n this.totalItems > 1\n ? this._renderPaginationItem(\n this.totalItems - 1,\n this.page === this.totalItems - 1\n )\n : ''\n }\n <li class=\"${prefix}--pagination-nav__list-item\">\n <cds-custom-icon-button\n kind=\"ghost\"\n align=\"${align}\"\n size=\"${size}\"\n ?disabled=${forwardButtonDisabled}\n @click=${incrementIndex}>\n <span slot=\"tooltip-content\"\n >${this.translateWithId('carbon.pagination-nav.next')}</span\n >\n ${iconLoader(CaretRight16, { slot: 'icon' })}\n </cds-custom-icon-button>\n </li>\n </ul>\n <div\n aria-live=\"polite\"\n aria-atomic=\"true\"\n class=\"${prefix}--pagination-nav__accessibility-label\">\n ${`${t('carbon.pagination-nav.item')} ${\n this.page + 1\n } ${t('carbon.pagination-nav.of')} ${this.totalItems}`}\n </div>\n </nav>\n `;\n }\n\n shouldUpdate(changedProperties) {\n // Prevent setting \"page\" outside bounds of available pages.\n if (changedProperties.has('totalItems') || changedProperties.has('page')) {\n if (this.page > this.totalItems) {\n this.page = this.totalItems - 1;\n }\n if (this.page < 0) {\n this.page = 0;\n }\n }\n\n return true;\n }\n\n updated(changedProperties) {\n if (changedProperties.has('page')) {\n this.prevPage = changedProperties.get('page');\n }\n\n if (\n changedProperties.has('totalItems') ||\n changedProperties.has('itemsShown') ||\n changedProperties.has('size')\n ) {\n let numberOfPages: number;\n\n switch (this.size) {\n case PAGINATION_NAV_SIZE.MEDIUM:\n numberOfPages = this.itemsShown === 4 ? this.itemsShown : 5;\n break;\n\n case PAGINATION_NAV_SIZE.SMALL:\n numberOfPages = Math.min(Math.max(4, this.itemsShown), 7);\n break;\n\n default:\n numberOfPages = 4;\n break;\n }\n\n this.itemsDisplayedOnPage = Math.max(\n this.itemsShown >= 4 ? this.itemsShown : numberOfPages,\n 4\n );\n\n this.cuts = this._calculateCuts(\n this.page,\n this.totalItems,\n this.itemsDisplayedOnPage\n );\n }\n\n if (changedProperties.has('page') && this._pageWouldBeHidden(this.page)) {\n const delta = this.page - (this.prevPage || 0);\n\n if (delta > 0) {\n const splitPoint = this.itemsDisplayedOnPage - 3;\n this.cuts = this._calculateCuts(\n this.page,\n this.totalItems,\n this.itemsDisplayedOnPage,\n splitPoint\n );\n } else {\n const splitPoint = this.itemsDisplayedOnPage > 4 ? 2 : 1;\n this.cuts = this._calculateCuts(\n this.page,\n this.totalItems,\n this.itemsDisplayedOnPage,\n splitPoint\n );\n }\n }\n }\n\n static get eventChange() {\n return `${prefix}-page-changed`;\n }\n\n static styles = styles;\n}\n\nexport default CDSPaginationNav;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pagination-nav.js","names":["OverflowMenu","styles","customElement"],"sources":["../../../src/components/pagination-nav/pagination-nav.ts"],"sourcesContent":["/**\n *\n * Copyright IBM Corp. 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, state } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { prefix } from '../../globals/settings';\nimport styles from './pagination-nav.scss?lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport CaretLeft16 from '@carbon/icons/es/caret--left/16.js';\nimport CaretRight16 from '@carbon/icons/es/caret--right/16.js';\nimport OverflowMenu from '@carbon/icons/es/overflow-menu--horizontal/16.js';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport '../icon-button';\nimport {\n PAGINATION_NAV_SIZE,\n PAGINATION_TOOLTIP_ALIGNMENT,\n PAGINATION_TOOLTIP_POSITION,\n} from './defs';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\n/**\n * Translation IDs and default translations\n */\nconst translationIds = {\n 'carbon.pagination-nav.next': 'carbon.pagination-nav.next',\n 'carbon.pagination-nav.previous': 'carbon.pagination-nav.previous',\n 'carbon.pagination-nav.item': 'carbon.pagination-nav.item',\n 'carbon.pagination-nav.active': 'carbon.pagination-nav.active',\n 'carbon.pagination-nav.of': 'carbon.pagination-nav.of',\n} as const;\n\ntype TranslationKey = keyof typeof translationIds;\n\nconst defaultTranslations: Record<TranslationKey, string> = {\n [translationIds['carbon.pagination-nav.next']]: 'Next',\n [translationIds['carbon.pagination-nav.previous']]: 'Previous',\n [translationIds['carbon.pagination-nav.item']]: 'Page',\n [translationIds['carbon.pagination-nav.active']]: 'Active',\n [translationIds['carbon.pagination-nav.of']]: 'of',\n};\n\n/**\n * Default translation function\n */\nconst defaultTranslateWithId = (messageId: TranslationKey): string => {\n return defaultTranslations[messageId];\n};\n\n/**\n * Pagination Navigation.\n *\n * @element cds-custom-pagination-nav\n * @fires cds-custom-page-changed - The custom event fired when the the page has been changed.\n */\n@customElement(`${prefix}-pagination-nav`)\nclass CDSPaginationNav extends LitElement {\n /**\n * Internal state for items displayed on page\n */\n @state()\n private itemsDisplayedOnPage!: number;\n\n /**\n * Internal state for cuts\n */\n @state()\n private cuts = { front: 0, back: 0 };\n\n /**\n * Internal state for previous page\n */\n @state()\n private prevPage: number | null = null;\n\n /**\n * The number of items to be shown (minimum of 4 unless props.items < 4).\n */\n @property({ attribute: 'items-shown', reflect: true, type: Number })\n itemsShown = 10;\n\n /**\n * Whether user should be able to loop through the items when reaching first / last.\n */\n @property({ attribute: 'loop', type: Boolean })\n loop = false;\n\n /**\n * The index of current page.\n */\n @property({ attribute: 'page', reflect: true, type: Number })\n page = 0;\n\n /**\n * The total number of items.\n */\n @property({ attribute: 'total-items', reflect: true, type: Number })\n totalItems = 1;\n\n /**\n * Specify the size of the PaginationNav.\n */\n @property({ reflect: true })\n size = PAGINATION_NAV_SIZE.LARGE;\n\n /**\n * Specify the alignment of the tooltip for the icon-only next/prev buttons.\n * Can be one of: start, center, or end.\n */\n @property({ attribute: 'tooltip-alignment', reflect: true })\n tooltipAlignment = PAGINATION_TOOLTIP_ALIGNMENT.CENTER;\n\n /**\n * Specify the position of the tooltip for the icon-only next/prev buttons.\n * Can be one of: top, right, bottom, or left.\n */\n @property({ attribute: 'tooltip-position', reflect: true })\n tooltipPosition = PAGINATION_TOOLTIP_POSITION.BOTTOM;\n\n /**\n * If true, the '...' pagination overflow will not render page links between the first and last rendered buttons.\n * Set this to true if you are having performance problems with large data sets.\n */\n @property({ attribute: 'disable-overflow', reflect: true, type: Boolean })\n disableOverflow?: boolean;\n\n /**\n * Translates component strings using your i18n tool.\n */\n @property({ attribute: false })\n translateWithId: (messageId: TranslationKey) => string =\n defaultTranslateWithId;\n\n private _calculateCuts(\n page: number,\n totalItems: number,\n itemsDisplayedOnPage: number,\n splitPoint: number | null = null\n ) {\n if (itemsDisplayedOnPage >= totalItems) {\n return { front: 0, back: 0 };\n }\n\n const split = splitPoint || Math.ceil(itemsDisplayedOnPage / 2) - 1;\n\n let frontHidden = page + 1 - split;\n let backHidden = totalItems - page - (itemsDisplayedOnPage - split) + 1;\n\n if (frontHidden <= 1) {\n backHidden -= frontHidden <= 0 ? Math.abs(frontHidden) + 1 : 0;\n frontHidden = 0;\n }\n\n if (backHidden <= 1) {\n frontHidden -= backHidden <= 0 ? Math.abs(backHidden) + 1 : 0;\n backHidden = 0;\n }\n\n return { front: frontHidden, back: backHidden };\n }\n\n private _pageWouldBeHidden(page: number) {\n const startOffset = this.itemsDisplayedOnPage <= 4 && this.page > 1 ? 0 : 1;\n\n const wouldBeHiddenInFront =\n (page >= startOffset && page <= this.cuts.front) || page === 0;\n const wouldBeHiddenInBack =\n page >= this.totalItems - this.cuts.back - 1 &&\n page <= this.totalItems - 2;\n\n return wouldBeHiddenInFront || wouldBeHiddenInBack;\n }\n\n /**\n * Sets the current page to a specified index.\n */\n private _setIndex(index: number) {\n if (index >= 0 && index < this.totalItems) {\n this.page = index;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSPaginationNav).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n page: index,\n },\n }\n )\n );\n }\n }\n\n /**\n * Reduce current page by one, but no lower than 0.\n */\n private _decrementIndex() {\n const { loop, page, totalItems } = this;\n const wouldLoop = page - 1 < 0;\n\n if (loop) {\n this.page = wouldLoop ? totalItems - 1 : page - 1;\n } else {\n this.page = Math.max(this.page - 1, 0);\n }\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSPaginationNav).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n page: this.page,\n },\n }\n )\n );\n }\n\n /**\n * Increase current page by one, but no higher than (this.totalItems - 1).\n */\n private _incrementIndex() {\n const { loop, page, totalItems } = this;\n const wouldLoop = page + 1 >= totalItems;\n\n if (loop) {\n this.page = wouldLoop ? 0 : page + 1;\n } else {\n this.page = Math.min(this.page + 1, this.totalItems - 1);\n }\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSPaginationNav).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n page: this.page,\n },\n }\n )\n );\n }\n\n /**\n * Renders a single pagination item & button.\n */\n private _renderPaginationItem(itemPage: number, isActive = false) {\n const { translateWithId: t } = this;\n const itemLabel = t('carbon.pagination-nav.item');\n const classes = {\n [`${prefix}--pagination-nav__page`]: true,\n [`${prefix}--pagination-nav__page--active`]: isActive,\n };\n\n return html`\n <li class=\"${prefix}--pagination-nav__list-item\">\n <button\n class=${classMap(classes)}\n type=\"button\"\n @click=${() => this._setIndex(itemPage)}\n data-page=\"${itemPage + 1}\"\n aria-current=${ifDefined(isActive ? 'page' : undefined)}>\n <span class=\"${prefix}--pagination-nav__accessibility-label\">\n ${isActive\n ? `${t('carbon.pagination-nav.active')}, ${itemLabel}`\n : itemLabel}\n </span>\n ${itemPage + 1}\n </button>\n </li>\n `;\n }\n\n /**\n * Renders overflow items in a select list.\n *\n */\n private _renderPaginationOverflow(fromIndex: number, count: number) {\n const { translateWithId: t } = this;\n\n if (count > 1) {\n return html`\n <li class=\"${prefix}--pagination-nav__list-item\">\n <div class=\"${prefix}--pagination-nav__select\">\n <select\n class=\"${prefix}--pagination-nav__page ${prefix}--pagination-nav__page--select\"\n aria-label=\"Select ${t('carbon.pagination-nav.item')} number\"\n ?disabled=\"${this.disableOverflow}\"\n @change=${(e: Event) => {\n const target = e.target as HTMLSelectElement;\n const index = Number(target.value);\n this._setIndex(index);\n (e.target as HTMLSelectElement).value = '';\n }}>\n <option value=\"\" hidden></option>\n ${Array.from({ length: count }).map(\n (_, i) => html`\n <option\n value=\"${fromIndex + i}\"\n data-page=\"${fromIndex + i + 1}\"\n key=\"overflow-${fromIndex + i}\">\n ${fromIndex + i + 1}\n </option>\n `\n )}\n </select>\n <div class=\"${prefix}--pagination-nav__select-icon-wrapper\">\n ${iconLoader(OverflowMenu, {\n class: `${prefix}--pagination-nav__select-icon`,\n })}\n </div>\n </div>\n </li>\n `;\n } else if (count === 1) {\n return this._renderPaginationItem(fromIndex);\n } else {\n return html``;\n }\n }\n\n render() {\n const {\n loop,\n page,\n totalItems,\n _incrementIndex: incrementIndex,\n _decrementIndex: decrementIndex,\n translateWithId: t,\n size,\n tooltipAlignment,\n tooltipPosition,\n } = this;\n const backwardButtonDisabled = !loop && page <= 0;\n const forwardButtonDisabled = !loop && page >= totalItems - 1;\n\n const startOffset = this.itemsDisplayedOnPage <= 4 && this.page > 1 ? 0 : 1;\n\n const align =\n tooltipAlignment === 'center'\n ? tooltipPosition\n : `${tooltipPosition}-${tooltipAlignment}`;\n\n const navClasses = classMap({\n [`${prefix}--pagination-nav`]: true,\n [`${prefix}--layout--size-${size}`]: size,\n });\n\n return html`\n <nav class=\"${navClasses}\" aria-label=\"pagination\">\n <ul class=\"${prefix}--pagination-nav__list\">\n <li class=\"${prefix}--pagination-nav__list-item\">\n <cds-custom-icon-button\n kind=\"ghost\"\n align=\"${align}\"\n size=\"${size}\"\n ?disabled=${backwardButtonDisabled}\n @click=${decrementIndex}>\n <span slot=\"tooltip-content\"\n >${this.translateWithId('carbon.pagination-nav.previous')}</span\n >\n ${iconLoader(CaretLeft16, { slot: 'icon' })}\n </cds-custom-icon-button>\n </li>\n\n ${\n // render first item if at least 5 items can be displayed or\n // 4 items can be displayed and the current page is either 0 or 1\n this.itemsDisplayedOnPage >= 5 ||\n (this.itemsDisplayedOnPage <= 4 && this.page <= 1)\n ? this._renderPaginationItem(0, this.page === 0)\n : ''\n }\n ${\n /* render first overflow */\n this._renderPaginationOverflow(startOffset, this.cuts.front)\n }\n ${\n // render items between overflows\n Array.from({ length: this.totalItems })\n .map((_, i) => i)\n .slice(startOffset + this.cuts.front, (1 + this.cuts.back) * -1)\n .map((item) =>\n this._renderPaginationItem(item, this.page === item)\n )\n }\n ${\n /* render second overflow */\n this._renderPaginationOverflow(\n this.totalItems - this.cuts.back - 1,\n this.cuts.back\n )\n }\n ${\n // render last item unless there is only one in total\n this.totalItems > 1\n ? this._renderPaginationItem(\n this.totalItems - 1,\n this.page === this.totalItems - 1\n )\n : ''\n }\n <li class=\"${prefix}--pagination-nav__list-item\">\n <cds-custom-icon-button\n kind=\"ghost\"\n align=\"${align}\"\n size=\"${size}\"\n ?disabled=${forwardButtonDisabled}\n @click=${incrementIndex}>\n <span slot=\"tooltip-content\"\n >${this.translateWithId('carbon.pagination-nav.next')}</span\n >\n ${iconLoader(CaretRight16, { slot: 'icon' })}\n </cds-custom-icon-button>\n </li>\n </ul>\n <div\n aria-live=\"polite\"\n aria-atomic=\"true\"\n class=\"${prefix}--pagination-nav__accessibility-label\">\n ${`${t('carbon.pagination-nav.item')} ${\n this.page + 1\n } ${t('carbon.pagination-nav.of')} ${this.totalItems}`}\n </div>\n </nav>\n `;\n }\n\n shouldUpdate(changedProperties) {\n // Prevent setting \"page\" outside bounds of available pages.\n if (changedProperties.has('totalItems') || changedProperties.has('page')) {\n if (this.page > this.totalItems) {\n this.page = this.totalItems - 1;\n }\n if (this.page < 0) {\n this.page = 0;\n }\n }\n\n return true;\n }\n\n updated(changedProperties) {\n if (changedProperties.has('page')) {\n this.prevPage = changedProperties.get('page');\n }\n\n if (\n changedProperties.has('totalItems') ||\n changedProperties.has('itemsShown') ||\n changedProperties.has('size')\n ) {\n let numberOfPages: number;\n\n switch (this.size) {\n case PAGINATION_NAV_SIZE.MEDIUM:\n numberOfPages = this.itemsShown === 4 ? this.itemsShown : 5;\n break;\n\n case PAGINATION_NAV_SIZE.SMALL:\n numberOfPages = Math.min(Math.max(4, this.itemsShown), 7);\n break;\n\n default:\n numberOfPages = 4;\n break;\n }\n\n this.itemsDisplayedOnPage = Math.max(\n this.itemsShown >= 4 ? this.itemsShown : numberOfPages,\n 4\n );\n\n this.cuts = this._calculateCuts(\n this.page,\n this.totalItems,\n this.itemsDisplayedOnPage\n );\n }\n\n if (changedProperties.has('page') && this._pageWouldBeHidden(this.page)) {\n const delta = this.page - (this.prevPage || 0);\n\n if (delta > 0) {\n const splitPoint = this.itemsDisplayedOnPage - 3;\n this.cuts = this._calculateCuts(\n this.page,\n this.totalItems,\n this.itemsDisplayedOnPage,\n splitPoint\n );\n } else {\n const splitPoint = this.itemsDisplayedOnPage > 4 ? 2 : 1;\n this.cuts = this._calculateCuts(\n this.page,\n this.totalItems,\n this.itemsDisplayedOnPage,\n splitPoint\n );\n }\n }\n }\n\n static get eventChange() {\n return `${prefix}-page-changed`;\n }\n\n static styles = styles;\n}\n\nexport default CDSPaginationNav;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defs.js","names":[],"sources":["../../../src/components/password-input/defs.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2025, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport { FORM_ELEMENT_COLOR_SCHEME as INPUT_COLOR_SCHEME } from '../../globals/shared-enums';\n\n/**\n * Input size.\n */\nexport enum INPUT_SIZE {\n /**\n * Extra small size.\n */\n EXTRA_SMALL = 'xs',\n\n /**\n * Small size.\n */\n SMALL = 'sm',\n\n /**\n * Regular size, same as medium size.\n */\n MEDIUM = 'md',\n\n /**\n * Large size.\n */\n LARGE = 'lg',\n}\n\n/**\n * Input tooltop alignment\n */\nexport enum INPUT_TOOLTIP_ALIGNMENT {\n START = 'start',\n\n CENTER = 'center',\n\n END = 'end',\n}\n\n/**\n * Input tooltop direction\n */\nexport enum INPUT_TOOLTIP_DIRECTION {\n TOP = 'top',\n\n RIGHT = 'right',\n\n BOTTOM = 'bottom',\n\n LEFT = 'left',\n}\n\n/**\n * Supported input types.\n *\n * For this component we only support password and text\n */\nexport enum INPUT_TYPE {\n PASSWORD = 'password',\n TEXT = 'text',\n}\n"],"mappings":";;;;;;;;;;;;AAYA,IAAY,aAAL,yBAAA,YAAA;;;;
|
|
1
|
+
{"version":3,"file":"defs.js","names":[],"sources":["../../../src/components/password-input/defs.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2025, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport { FORM_ELEMENT_COLOR_SCHEME as INPUT_COLOR_SCHEME } from '../../globals/shared-enums';\n\n/**\n * Input size.\n */\nexport enum INPUT_SIZE {\n /**\n * Extra small size.\n */\n EXTRA_SMALL = 'xs',\n\n /**\n * Small size.\n */\n SMALL = 'sm',\n\n /**\n * Regular size, same as medium size.\n */\n MEDIUM = 'md',\n\n /**\n * Large size.\n */\n LARGE = 'lg',\n}\n\n/**\n * Input tooltop alignment\n */\nexport enum INPUT_TOOLTIP_ALIGNMENT {\n START = 'start',\n\n CENTER = 'center',\n\n END = 'end',\n}\n\n/**\n * Input tooltop direction\n */\nexport enum INPUT_TOOLTIP_DIRECTION {\n TOP = 'top',\n\n RIGHT = 'right',\n\n BOTTOM = 'bottom',\n\n LEFT = 'left',\n}\n\n/**\n * Supported input types.\n *\n * For this component we only support password and text\n */\nexport enum INPUT_TYPE {\n PASSWORD = 'password',\n TEXT = 'text',\n}\n"],"mappings":";;;;;;;;;;;;AAYA,IAAY,aAAL,yBAAA,YAAA;;;;CAIL,WAAA,iBAAA;;;;CAKA,WAAA,WAAA;;;;CAKA,WAAA,YAAA;;;;CAKA,WAAA,WAAA;;AACF,EAAA,CAAA,CAAA;;;;AAKA,IAAY,0BAAL,yBAAA,yBAAA;CACL,wBAAA,WAAA;CAEA,wBAAA,YAAA;CAEA,wBAAA,SAAA;;AACF,EAAA,CAAA,CAAA;;;;AAKA,IAAY,0BAAL,yBAAA,yBAAA;CACL,wBAAA,SAAA;CAEA,wBAAA,WAAA;CAEA,wBAAA,YAAA;CAEA,wBAAA,UAAA;;AACF,EAAA,CAAA,CAAA;;;;;;AAOA,IAAY,aAAL,yBAAA,YAAA;CACL,WAAA,cAAA;CACA,WAAA,UAAA;;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 password_input_default from "./password-input.scss.js";
|
|
12
12
|
import { LitElement, html } from "lit";
|
|
13
13
|
import { property } from "lit/decorators.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password-input-skeleton.js","names":["styles","customElement"],"sources":["../../../src/components/password-input/password-input-skeleton.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { prefix } from '../../globals/settings';\nimport styles from './password-input.scss?lit';\n\n/**\n * @element cds-custom-password-input-skeleton\n *\n * Skeleton of password input.\n */\n@customElement(`${prefix}-password-input-skeleton`)\nclass CDSPasswordInputSkeleton extends LitElement {\n /**\n * Specify whether the label should be hidden, or not\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-label' })\n hideLabel = false;\n\n render() {\n const { hideLabel } = this;\n return html`\n ${!hideLabel &&\n html` <span class=\"${prefix}--label ${prefix}--skeleton\"></span> `}\n <div class=\"${prefix}--text-input ${prefix}--skeleton\"></div>\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSPasswordInputSkeleton;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,IAAA,2BAAA,MACM,iCAAiC,WAAW;;;mBAKpC;;CAEZ,SAAS;EACP,MAAM,EAAE,cAAc;
|
|
1
|
+
{"version":3,"file":"password-input-skeleton.js","names":["styles","customElement"],"sources":["../../../src/components/password-input/password-input-skeleton.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { prefix } from '../../globals/settings';\nimport styles from './password-input.scss?lit';\n\n/**\n * @element cds-custom-password-input-skeleton\n *\n * Skeleton of password input.\n */\n@customElement(`${prefix}-password-input-skeleton`)\nclass CDSPasswordInputSkeleton extends LitElement {\n /**\n * Specify whether the label should be hidden, or not\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-label' })\n hideLabel = false;\n\n render() {\n const { hideLabel } = this;\n return html`\n ${!hideLabel &&\n html` <span class=\"${prefix}--label ${prefix}--skeleton\"></span> `}\n <div class=\"${prefix}--text-input ${prefix}--skeleton\"></div>\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSPasswordInputSkeleton;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,IAAA,2BAAA,MACM,iCAAiC,WAAW;;;mBAKpC;;CAEZ,SAAS;EACP,MAAM,EAAE,cAAc;EACtB,OAAO,IAAI;QACP,CAAC,aACH,IAAI,iBAAA,MAAwB,UAAA,MAAiB,sBAAsB;0BAC9C,eAAA,MAAsB;;CAE/C;;gBAEgBA;;AAClB;YAbG,SAAS;CAAE,MAAM;CAAS,SAAS;CAAM,WAAW;AAAa,CAAC,CAAA,GAAA,yBAAA,WAAA,aAAA,KAAA,CAAA;uCALpEC,cAAc,6BAAmC,CAAA,GAAA,wBAAA;AAoBlD,IAAA,kCAAe"}
|
|
@@ -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 "../tooltip/tooltip-content.js";
|
|
13
13
|
import "../tooltip/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password-input.js","names":["CDSTextInput","ifNonEmpty","styles","customElement"],"sources":["../../../src/components/password-input/password-input.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2025, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { prefix } from '../../globals/settings';\nimport View16 from '@carbon/icons/es/view/16.js';\nimport ViewOff16 from '@carbon/icons/es/view--off/16.js';\nimport WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';\nimport WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport '../tooltip';\nimport '../tooltip/tooltip-content';\nimport styles from './password-input.scss?lit';\nimport CDSTextInput from '../text-input/text-input';\nimport CDSTooltip from '../tooltip/tooltip';\n\nimport {\n INPUT_COLOR_SCHEME,\n INPUT_SIZE,\n INPUT_TOOLTIP_ALIGNMENT,\n INPUT_TOOLTIP_DIRECTION,\n INPUT_TYPE,\n} from './defs';\n\nexport {\n INPUT_COLOR_SCHEME,\n INPUT_SIZE,\n INPUT_TOOLTIP_ALIGNMENT,\n INPUT_TOOLTIP_DIRECTION,\n INPUT_TYPE,\n};\n/**\n * Password Input element. Supports all the usual attributes for textual input types\n *\n * @element cds-custom-password-input\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}-password-input`)\nclass CDSPasswordInput extends CDSTextInput {\n /**\n * The Show/Hide Password tooltip\n */\n @query(`${prefix}-tooltip`)\n private _passwordTooltip?: HTMLElement;\n\n /**\n * Handles `oninput` event on the `input`.\n *\n * @param event The event.\n * @param event.target The event target.\n */\n protected _handleInput({ target }: Event) {\n this.value = (target as HTMLInputElement).value;\n }\n\n /**\n * \"Hide password\" tooltip text on password visibility toggle\n */\n @property({\n type: String,\n attribute: 'hide-password-label',\n reflect: true,\n })\n hidePasswordLabel = 'Hide password';\n\n /**\n * \"Show password\" tooltip text on password visibility toggle\n */\n @property({\n type: String,\n attribute: 'show-password-label',\n reflect: true,\n })\n showPasswordLabel = 'Show password';\n\n /**\n * The native `<input>` type. Defaults to “password”.\n */\n @property({ reflect: true })\n type: INPUT_TYPE = INPUT_TYPE.PASSWORD;\n\n /**\n * Specify the alignment of the tooltip to the icon-only button.\n * Can be one of: start, center, or end.\n */\n @property({\n type: String,\n attribute: 'tooltip-alignment',\n reflect: true,\n })\n tooltipAlignment = INPUT_TOOLTIP_ALIGNMENT.END;\n\n /**\n * Set to true to use the fluid version.\n */\n @property({ type: Boolean })\n isFluid = false;\n\n /**\n * Specify the direction of the tooltip for icon-only buttons.\n * Can be either top, right, bottom, or left.\n */\n @property({\n type: String,\n attribute: 'tooltip-position',\n reflect: true,\n })\n tooltipDirection = INPUT_TOOLTIP_DIRECTION.BOTTOM;\n\n /**\n * Handles password visibility toggle button click\n */\n private handleTogglePasswordVisibility() {\n if (this.disabled) return;\n this.type =\n this.type === INPUT_TYPE.PASSWORD ? INPUT_TYPE.TEXT : INPUT_TYPE.PASSWORD;\n }\n\n render() {\n const {\n disabled,\n helperText,\n hideLabel,\n inline,\n invalid,\n invalidText,\n label,\n readonly,\n required,\n isFluid,\n size,\n type,\n warn,\n warnText,\n _handleInput: handleInput,\n _handleSlotChange: handleSlotChange,\n } = this;\n\n const invalidIcon = iconLoader(WarningFilled16, {\n class: `${prefix}--text-input__invalid-icon`,\n });\n\n const warnIcon = iconLoader(WarningAltFilled16, {\n class: `${prefix}--text-input__invalid-icon ${prefix}--text-input__invalid-icon--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 } = {\n disabled: !readonly && disabled,\n invalid: !readonly && invalid,\n warn: !readonly && !invalid && warn,\n 'slot-name': '',\n 'slot-text': '',\n icon: null,\n };\n\n if (normalizedProps.invalid) {\n normalizedProps.icon = invalidIcon;\n normalizedProps['slot-name'] = 'invalid-text';\n normalizedProps['slot-text'] = invalidText;\n } else if (normalizedProps.warn) {\n normalizedProps.icon = warnIcon;\n normalizedProps['slot-name'] = 'warn-text';\n normalizedProps['slot-text'] = warnText;\n }\n\n const inputWrapperClasses = classMap({\n [`${prefix}--form-item`]: true,\n [`${prefix}--text-input-wrapper`]: true,\n [`${prefix}--password-input-wrapper`]: true,\n [`${prefix}--text-input-wrapper--inline`]: inline,\n [`${prefix}--text-input-wrapper--readonly`]: readonly,\n [`${prefix}--text-input-wrapper--inline--invalid`]:\n inline && normalizedProps.invalid,\n });\n\n const inputClasses = classMap({\n [`${prefix}--text-input`]: true,\n [`${prefix}--text-input--invalid`]: normalizedProps.invalid,\n [`${prefix}--text-input--warning`]: normalizedProps.warn,\n [`${prefix}--text-input--${size}`]: size !== undefined, // TODO v12 - remove this class\n [`${prefix}--password-input`]: true,\n });\n\n const fieldOuterWrapperClasses = classMap({\n [`${prefix}--text-input__field-outer-wrapper`]: true,\n [`${prefix}--text-input__field-outer-wrapper--inline`]: inline,\n });\n\n const fieldWrapperClasses = classMap({\n [`${prefix}--text-input__field-wrapper`]: true,\n [`${prefix}--text-input__field-wrapper--warning`]: normalizedProps.warn,\n [`${prefix}--layout--size-${size}`]: size !== undefined,\n });\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--visually-hidden`]: hideLabel,\n [`${prefix}--label--disabled`]: normalizedProps.disabled,\n [`${prefix}--label--inline`]: inline,\n });\n\n const helperTextClasses = classMap({\n [`${prefix}--form__helper-text`]: true,\n [`${prefix}--form__helper-text--disabled`]: normalizedProps.disabled,\n [`${prefix}--form__helper-text--inline`]: inline,\n });\n\n const passwordIsVisible = type !== INPUT_TYPE.PASSWORD;\n const passwordVisibilityIcon = passwordIsVisible\n ? iconLoader(ViewOff16, { class: `${prefix}--icon-visibility-off` })\n : iconLoader(View16, { class: `${prefix}--icon-visibility-on` });\n\n const passwordVisibilityTooltipClasses = classMap({\n [`${prefix}--toggle-password-tooltip`]: true,\n [`${prefix}--tooltip--${this.tooltipDirection}`]: this.tooltipDirection,\n [`${prefix}--tooltip--align-${this.tooltipAlignment}`]:\n this.tooltipAlignment,\n });\n\n const passwordVisibilityButtonClasses = classMap({\n [`${prefix}--text-input--password__visibility__toggle`]: true,\n [`${prefix}--btn`]: true,\n [`${prefix}--tooltip__trigger`]: true,\n [`${prefix}--tooltip--a11y`]: true,\n [`${prefix}--btn--disabled`]: normalizedProps.disabled || readonly,\n });\n\n const labelWrapper = html`<div class=\"${prefix}--text-input__label-wrapper\">\n <label class=\"${labelClasses}\"> ${label} </label>\n </div>`;\n\n const helper = helperText\n ? html`<div\n class=\"${helperTextClasses}\"\n id=\"helper-text\"\n ?hidden=\"${normalizedProps.invalid || normalizedProps.warn}\">\n <slot name=\"helper-text\"> ${helperText} </slot>\n </div>`\n : null;\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 let align = '';\n\n if (\n this.tooltipDirection === INPUT_TOOLTIP_DIRECTION.TOP ||\n this.tooltipDirection === INPUT_TOOLTIP_DIRECTION.BOTTOM\n ) {\n if (this.tooltipAlignment === INPUT_TOOLTIP_ALIGNMENT.CENTER) {\n align = this.tooltipDirection;\n }\n if (this.tooltipAlignment === INPUT_TOOLTIP_ALIGNMENT.END) {\n align = `${this.tooltipDirection}-right`;\n }\n if (this.tooltipAlignment === INPUT_TOOLTIP_ALIGNMENT.START) {\n align = `${this.tooltipDirection}-left`;\n }\n }\n\n if (this.tooltipDirection === 'right' || this.tooltipDirection === 'left') {\n align = this.tooltipDirection;\n }\n\n return html`\n <div class=\"${inputWrapperClasses}\">\n ${!inline\n ? labelWrapper\n : html`<div class=\"${prefix}--text-input__label-helper-wrapper\">\n ${labelWrapper}\n </div>`}\n <div class=\"${fieldOuterWrapperClasses}\">\n <div class=\"${fieldWrapperClasses}\" ?data-invalid=\"${invalid}\">\n ${normalizedProps.icon}\n <input\n ?autofocus=\"${this.autofocus}\"\n class=\"${inputClasses}\"\n ?data-invalid=\"${invalid}\"\n ?disabled=\"${disabled}\"\n aria-describedby=\"helper-text\"\n id=\"input\"\n name=\"${ifNonEmpty(this.name)}\"\n pattern=\"${ifNonEmpty(this.pattern)}\"\n placeholder=\"${ifNonEmpty(this.placeholder)}\"\n ?readonly=\"${readonly}\"\n ?required=\"${required}\"\n type=\"${ifNonEmpty(type)}\"\n .value=\"${this._value}\"\n @input=\"${handleInput}\" />\n <slot name=\"slug\" @slotchange=\"${handleSlotChange}\"></slot>\n <cds-custom-tooltip\n align=\"${align}\"\n class=\"${passwordVisibilityTooltipClasses}\"\n .dropShadow=\"${false}\"\n ?disabled=\"${normalizedProps.disabled}\">\n <button\n ?disabled=\"${normalizedProps.disabled}\"\n type=\"button\"\n role=\"button\"\n class=\"${passwordVisibilityButtonClasses}\"\n aria-labelledby=\"content\"\n @click=\"${this.handleTogglePasswordVisibility}\">\n ${passwordVisibilityIcon}\n </button>\n <cds-custom-tooltip-content\n id=\"content\"\n ?toggle-password-tooltip-content=\"${!isFluid}\"\n ?hidden=\"${normalizedProps.disabled}\">\n ${passwordIsVisible\n ? this.hidePasswordLabel\n : this.showPasswordLabel}\n </cds-custom-tooltip-content>\n </cds-custom-tooltip>\n ${isFluid\n ? html`<hr class=\"${prefix}--text-input__divider\" />`\n : null}\n ${isFluid && !inline ? validationMessage : null}\n </div>\n ${/* Non-fluid: validation and helper outside field wrapper */ ''}\n ${!isFluid && !inline ? validationMessage || helper : null}\n </div>\n ${inline && !isFluid\n ? html`<div class=\"${prefix}--text-input__label-helper-wrapper\">\n ${!isFluid ? validationMessage || helper : null}\n </div>`\n : null}\n </div>\n `;\n }\n\n async firstUpdated() {\n await (this._passwordTooltip as CDSTooltip)?.updateComplete;\n this._passwordTooltip?.shadowRoot\n ?.querySelector(`.${prefix}--tooltip`)\n ?.classList.add(`${prefix}--icon-tooltip`);\n }\n /**\n * A selector that will return the slug item.\n *\n * remove in v12\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSPasswordInput;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"password-input.js","names":["CDSTextInput","ifNonEmpty","styles","customElement"],"sources":["../../../src/components/password-input/password-input.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2025, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { prefix } from '../../globals/settings';\nimport View16 from '@carbon/icons/es/view/16.js';\nimport ViewOff16 from '@carbon/icons/es/view--off/16.js';\nimport WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';\nimport WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport '../tooltip';\nimport '../tooltip/tooltip-content';\nimport styles from './password-input.scss?lit';\nimport CDSTextInput from '../text-input/text-input';\nimport CDSTooltip from '../tooltip/tooltip';\n\nimport {\n INPUT_COLOR_SCHEME,\n INPUT_SIZE,\n INPUT_TOOLTIP_ALIGNMENT,\n INPUT_TOOLTIP_DIRECTION,\n INPUT_TYPE,\n} from './defs';\n\nexport {\n INPUT_COLOR_SCHEME,\n INPUT_SIZE,\n INPUT_TOOLTIP_ALIGNMENT,\n INPUT_TOOLTIP_DIRECTION,\n INPUT_TYPE,\n};\n/**\n * Password Input element. Supports all the usual attributes for textual input types\n *\n * @element cds-custom-password-input\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}-password-input`)\nclass CDSPasswordInput extends CDSTextInput {\n /**\n * The Show/Hide Password tooltip\n */\n @query(`${prefix}-tooltip`)\n private _passwordTooltip?: HTMLElement;\n\n /**\n * Handles `oninput` event on the `input`.\n *\n * @param event The event.\n * @param event.target The event target.\n */\n protected _handleInput({ target }: Event) {\n this.value = (target as HTMLInputElement).value;\n }\n\n /**\n * \"Hide password\" tooltip text on password visibility toggle\n */\n @property({\n type: String,\n attribute: 'hide-password-label',\n reflect: true,\n })\n hidePasswordLabel = 'Hide password';\n\n /**\n * \"Show password\" tooltip text on password visibility toggle\n */\n @property({\n type: String,\n attribute: 'show-password-label',\n reflect: true,\n })\n showPasswordLabel = 'Show password';\n\n /**\n * The native `<input>` type. Defaults to “password”.\n */\n @property({ reflect: true })\n type: INPUT_TYPE = INPUT_TYPE.PASSWORD;\n\n /**\n * Specify the alignment of the tooltip to the icon-only button.\n * Can be one of: start, center, or end.\n */\n @property({\n type: String,\n attribute: 'tooltip-alignment',\n reflect: true,\n })\n tooltipAlignment = INPUT_TOOLTIP_ALIGNMENT.END;\n\n /**\n * Set to true to use the fluid version.\n */\n @property({ type: Boolean })\n isFluid = false;\n\n /**\n * Specify the direction of the tooltip for icon-only buttons.\n * Can be either top, right, bottom, or left.\n */\n @property({\n type: String,\n attribute: 'tooltip-position',\n reflect: true,\n })\n tooltipDirection = INPUT_TOOLTIP_DIRECTION.BOTTOM;\n\n /**\n * Handles password visibility toggle button click\n */\n private handleTogglePasswordVisibility() {\n if (this.disabled) return;\n this.type =\n this.type === INPUT_TYPE.PASSWORD ? INPUT_TYPE.TEXT : INPUT_TYPE.PASSWORD;\n }\n\n render() {\n const {\n disabled,\n helperText,\n hideLabel,\n inline,\n invalid,\n invalidText,\n label,\n readonly,\n required,\n isFluid,\n size,\n type,\n warn,\n warnText,\n _handleInput: handleInput,\n _handleSlotChange: handleSlotChange,\n } = this;\n\n const invalidIcon = iconLoader(WarningFilled16, {\n class: `${prefix}--text-input__invalid-icon`,\n });\n\n const warnIcon = iconLoader(WarningAltFilled16, {\n class: `${prefix}--text-input__invalid-icon ${prefix}--text-input__invalid-icon--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 } = {\n disabled: !readonly && disabled,\n invalid: !readonly && invalid,\n warn: !readonly && !invalid && warn,\n 'slot-name': '',\n 'slot-text': '',\n icon: null,\n };\n\n if (normalizedProps.invalid) {\n normalizedProps.icon = invalidIcon;\n normalizedProps['slot-name'] = 'invalid-text';\n normalizedProps['slot-text'] = invalidText;\n } else if (normalizedProps.warn) {\n normalizedProps.icon = warnIcon;\n normalizedProps['slot-name'] = 'warn-text';\n normalizedProps['slot-text'] = warnText;\n }\n\n const inputWrapperClasses = classMap({\n [`${prefix}--form-item`]: true,\n [`${prefix}--text-input-wrapper`]: true,\n [`${prefix}--password-input-wrapper`]: true,\n [`${prefix}--text-input-wrapper--inline`]: inline,\n [`${prefix}--text-input-wrapper--readonly`]: readonly,\n [`${prefix}--text-input-wrapper--inline--invalid`]:\n inline && normalizedProps.invalid,\n });\n\n const inputClasses = classMap({\n [`${prefix}--text-input`]: true,\n [`${prefix}--text-input--invalid`]: normalizedProps.invalid,\n [`${prefix}--text-input--warning`]: normalizedProps.warn,\n [`${prefix}--text-input--${size}`]: size !== undefined, // TODO v12 - remove this class\n [`${prefix}--password-input`]: true,\n });\n\n const fieldOuterWrapperClasses = classMap({\n [`${prefix}--text-input__field-outer-wrapper`]: true,\n [`${prefix}--text-input__field-outer-wrapper--inline`]: inline,\n });\n\n const fieldWrapperClasses = classMap({\n [`${prefix}--text-input__field-wrapper`]: true,\n [`${prefix}--text-input__field-wrapper--warning`]: normalizedProps.warn,\n [`${prefix}--layout--size-${size}`]: size !== undefined,\n });\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--visually-hidden`]: hideLabel,\n [`${prefix}--label--disabled`]: normalizedProps.disabled,\n [`${prefix}--label--inline`]: inline,\n });\n\n const helperTextClasses = classMap({\n [`${prefix}--form__helper-text`]: true,\n [`${prefix}--form__helper-text--disabled`]: normalizedProps.disabled,\n [`${prefix}--form__helper-text--inline`]: inline,\n });\n\n const passwordIsVisible = type !== INPUT_TYPE.PASSWORD;\n const passwordVisibilityIcon = passwordIsVisible\n ? iconLoader(ViewOff16, { class: `${prefix}--icon-visibility-off` })\n : iconLoader(View16, { class: `${prefix}--icon-visibility-on` });\n\n const passwordVisibilityTooltipClasses = classMap({\n [`${prefix}--toggle-password-tooltip`]: true,\n [`${prefix}--tooltip--${this.tooltipDirection}`]: this.tooltipDirection,\n [`${prefix}--tooltip--align-${this.tooltipAlignment}`]:\n this.tooltipAlignment,\n });\n\n const passwordVisibilityButtonClasses = classMap({\n [`${prefix}--text-input--password__visibility__toggle`]: true,\n [`${prefix}--btn`]: true,\n [`${prefix}--tooltip__trigger`]: true,\n [`${prefix}--tooltip--a11y`]: true,\n [`${prefix}--btn--disabled`]: normalizedProps.disabled || readonly,\n });\n\n const labelWrapper = html`<div class=\"${prefix}--text-input__label-wrapper\">\n <label class=\"${labelClasses}\"> ${label} </label>\n </div>`;\n\n const helper = helperText\n ? html`<div\n class=\"${helperTextClasses}\"\n id=\"helper-text\"\n ?hidden=\"${normalizedProps.invalid || normalizedProps.warn}\">\n <slot name=\"helper-text\"> ${helperText} </slot>\n </div>`\n : null;\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 let align = '';\n\n if (\n this.tooltipDirection === INPUT_TOOLTIP_DIRECTION.TOP ||\n this.tooltipDirection === INPUT_TOOLTIP_DIRECTION.BOTTOM\n ) {\n if (this.tooltipAlignment === INPUT_TOOLTIP_ALIGNMENT.CENTER) {\n align = this.tooltipDirection;\n }\n if (this.tooltipAlignment === INPUT_TOOLTIP_ALIGNMENT.END) {\n align = `${this.tooltipDirection}-right`;\n }\n if (this.tooltipAlignment === INPUT_TOOLTIP_ALIGNMENT.START) {\n align = `${this.tooltipDirection}-left`;\n }\n }\n\n if (this.tooltipDirection === 'right' || this.tooltipDirection === 'left') {\n align = this.tooltipDirection;\n }\n\n return html`\n <div class=\"${inputWrapperClasses}\">\n ${!inline\n ? labelWrapper\n : html`<div class=\"${prefix}--text-input__label-helper-wrapper\">\n ${labelWrapper}\n </div>`}\n <div class=\"${fieldOuterWrapperClasses}\">\n <div class=\"${fieldWrapperClasses}\" ?data-invalid=\"${invalid}\">\n ${normalizedProps.icon}\n <input\n ?autofocus=\"${this.autofocus}\"\n class=\"${inputClasses}\"\n ?data-invalid=\"${invalid}\"\n ?disabled=\"${disabled}\"\n aria-describedby=\"helper-text\"\n id=\"input\"\n name=\"${ifNonEmpty(this.name)}\"\n pattern=\"${ifNonEmpty(this.pattern)}\"\n placeholder=\"${ifNonEmpty(this.placeholder)}\"\n ?readonly=\"${readonly}\"\n ?required=\"${required}\"\n type=\"${ifNonEmpty(type)}\"\n .value=\"${this._value}\"\n @input=\"${handleInput}\" />\n <slot name=\"slug\" @slotchange=\"${handleSlotChange}\"></slot>\n <cds-custom-tooltip\n align=\"${align}\"\n class=\"${passwordVisibilityTooltipClasses}\"\n .dropShadow=\"${false}\"\n ?disabled=\"${normalizedProps.disabled}\">\n <button\n ?disabled=\"${normalizedProps.disabled}\"\n type=\"button\"\n role=\"button\"\n class=\"${passwordVisibilityButtonClasses}\"\n aria-labelledby=\"content\"\n @click=\"${this.handleTogglePasswordVisibility}\">\n ${passwordVisibilityIcon}\n </button>\n <cds-custom-tooltip-content\n id=\"content\"\n ?toggle-password-tooltip-content=\"${!isFluid}\"\n ?hidden=\"${normalizedProps.disabled}\">\n ${passwordIsVisible\n ? this.hidePasswordLabel\n : this.showPasswordLabel}\n </cds-custom-tooltip-content>\n </cds-custom-tooltip>\n ${isFluid\n ? html`<hr class=\"${prefix}--text-input__divider\" />`\n : null}\n ${isFluid && !inline ? validationMessage : null}\n </div>\n ${/* Non-fluid: validation and helper outside field wrapper */ ''}\n ${!isFluid && !inline ? validationMessage || helper : null}\n </div>\n ${inline && !isFluid\n ? html`<div class=\"${prefix}--text-input__label-helper-wrapper\">\n ${!isFluid ? validationMessage || helper : null}\n </div>`\n : null}\n </div>\n `;\n }\n\n async firstUpdated() {\n await (this._passwordTooltip as CDSTooltip)?.updateComplete;\n this._passwordTooltip?.shadowRoot\n ?.querySelector(`.${prefix}--tooltip`)\n ?.classList.add(`${prefix}--icon-tooltip`);\n }\n /**\n * A selector that will return the slug item.\n *\n * remove in v12\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSPasswordInput;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defs.js","names":[],"sources":["../../../src/components/popover/defs.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2020, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/**\n * The alignment choices of popover.\n */\nexport enum POPOVER_ALIGNMENT {\n /**\n * Align the top position for the popover content.\n */\n TOP = 'top',\n\n /**\n * Align the top-left position for the popover content.\n *\n * @deprecated\n */\n TOP_LEFT = 'top-left',\n\n /**\n * Align the top right position for the popover content.\n *\n * @deprecated\n */\n TOP_RIGHT = 'top-right',\n\n /**\n * Align the top-start position for the popover content.\n */\n TOP_START = 'top-start',\n\n /**\n * Align the top end position for the popover content.\n */\n TOP_END = 'top-end',\n\n /**\n * Align the bottom position for the popover content.\n */\n BOTTOM = 'bottom',\n\n /**\n * Align the bottom left position for the popover content.\n *\n * @deprecated\n */\n BOTTOM_LEFT = 'bottom-left',\n\n /**\n * Align the bottom right position for the popover content.\n *\n * @deprecated\n */\n BOTTOM_RIGHT = 'bottom-right',\n\n /**\n * Align the bottom start position for the popover content.\n */\n BOTTOM_START = 'bottom-start',\n\n /**\n * Align the bottom end position for the popover content.\n */\n BOTTOM_END = 'bottom-end',\n\n /**\n * Align the left position for the popover content.\n */\n LEFT = 'left',\n\n /**\n * Align the left bottom position for the popover content.\n *\n * @deprecated\n */\n LEFT_BOTTOM = 'left-bottom',\n\n /**\n * Align the left top position for the popover content.\n *\n * @deprecated\n */\n LEFT_TOP = 'left-top',\n\n /**\n * Align the left start position for the popover content.\n */\n LEFT_START = 'left-start',\n\n /**\n * Align the left end position for the popover content.\n */\n LEFT_END = 'left-end',\n\n /**\n * Align the right position for the popover content.\n */\n RIGHT = 'right',\n\n /**\n * Align the right bottom position for the popover content.\n *\n * @deprecated\n */\n RIGHT_BOTTOM = 'right-bottom',\n\n /**\n * Align the right top position for the popover content.\n *\n * @deprecated\n */\n RIGHT_TOP = 'right-top',\n\n /**\n * Align the right start position for the popover content.\n */\n RIGHT_START = 'right-start',\n\n /**\n * Align the right end position for the popover content.\n */\n RIGHT_END = 'right-end',\n}\n\n/**\n * The background token options for popover.\n */\nexport enum POPOVER_BACKGROUND_TOKEN {\n /**\n * Use the layer token for the background.\n */\n LAYER = 'layer',\n\n /**\n * Use the background token for the background.\n */\n BACKGROUND = 'background',\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AASA,IAAY,oBAAL,yBAAA,mBAAA;;;;
|
|
1
|
+
{"version":3,"file":"defs.js","names":[],"sources":["../../../src/components/popover/defs.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2020, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/**\n * The alignment choices of popover.\n */\nexport enum POPOVER_ALIGNMENT {\n /**\n * Align the top position for the popover content.\n */\n TOP = 'top',\n\n /**\n * Align the top-left position for the popover content.\n *\n * @deprecated\n */\n TOP_LEFT = 'top-left',\n\n /**\n * Align the top right position for the popover content.\n *\n * @deprecated\n */\n TOP_RIGHT = 'top-right',\n\n /**\n * Align the top-start position for the popover content.\n */\n TOP_START = 'top-start',\n\n /**\n * Align the top end position for the popover content.\n */\n TOP_END = 'top-end',\n\n /**\n * Align the bottom position for the popover content.\n */\n BOTTOM = 'bottom',\n\n /**\n * Align the bottom left position for the popover content.\n *\n * @deprecated\n */\n BOTTOM_LEFT = 'bottom-left',\n\n /**\n * Align the bottom right position for the popover content.\n *\n * @deprecated\n */\n BOTTOM_RIGHT = 'bottom-right',\n\n /**\n * Align the bottom start position for the popover content.\n */\n BOTTOM_START = 'bottom-start',\n\n /**\n * Align the bottom end position for the popover content.\n */\n BOTTOM_END = 'bottom-end',\n\n /**\n * Align the left position for the popover content.\n */\n LEFT = 'left',\n\n /**\n * Align the left bottom position for the popover content.\n *\n * @deprecated\n */\n LEFT_BOTTOM = 'left-bottom',\n\n /**\n * Align the left top position for the popover content.\n *\n * @deprecated\n */\n LEFT_TOP = 'left-top',\n\n /**\n * Align the left start position for the popover content.\n */\n LEFT_START = 'left-start',\n\n /**\n * Align the left end position for the popover content.\n */\n LEFT_END = 'left-end',\n\n /**\n * Align the right position for the popover content.\n */\n RIGHT = 'right',\n\n /**\n * Align the right bottom position for the popover content.\n *\n * @deprecated\n */\n RIGHT_BOTTOM = 'right-bottom',\n\n /**\n * Align the right top position for the popover content.\n *\n * @deprecated\n */\n RIGHT_TOP = 'right-top',\n\n /**\n * Align the right start position for the popover content.\n */\n RIGHT_START = 'right-start',\n\n /**\n * Align the right end position for the popover content.\n */\n RIGHT_END = 'right-end',\n}\n\n/**\n * The background token options for popover.\n */\nexport enum POPOVER_BACKGROUND_TOKEN {\n /**\n * Use the layer token for the background.\n */\n LAYER = 'layer',\n\n /**\n * Use the background token for the background.\n */\n BACKGROUND = 'background',\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AASA,IAAY,oBAAL,yBAAA,mBAAA;;;;CAIL,kBAAA,SAAA;;;;;;CAOA,kBAAA,cAAA;;;;;;CAOA,kBAAA,eAAA;;;;CAKA,kBAAA,eAAA;;;;CAKA,kBAAA,aAAA;;;;CAKA,kBAAA,YAAA;;;;;;CAOA,kBAAA,iBAAA;;;;;;CAOA,kBAAA,kBAAA;;;;CAKA,kBAAA,kBAAA;;;;CAKA,kBAAA,gBAAA;;;;CAKA,kBAAA,UAAA;;;;;;CAOA,kBAAA,iBAAA;;;;;;CAOA,kBAAA,cAAA;;;;CAKA,kBAAA,gBAAA;;;;CAKA,kBAAA,cAAA;;;;CAKA,kBAAA,WAAA;;;;;;CAOA,kBAAA,kBAAA;;;;;;CAOA,kBAAA,eAAA;;;;CAKA,kBAAA,iBAAA;;;;CAKA,kBAAA,eAAA;;AACF,EAAA,CAAA,CAAA;;;;AAKA,IAAY,2BAAL,yBAAA,0BAAA;;;;CAIL,yBAAA,WAAA;;;;CAKA,yBAAA,gBAAA;;AACF,EAAA,CAAA,CAAA"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import "../../globals/settings.js";
|
|
9
9
|
import { carbonElement } from "../../globals/decorators/carbon-element.js";
|
|
10
|
-
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.
|
|
10
|
+
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.135.0/helpers/esm/decorate.js";
|
|
11
11
|
import "./defs.js";
|
|
12
12
|
import popover_default from "./popover.scss.js";
|
|
13
13
|
import { LitElement, html } from "lit";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover-content.js","names":["styles","customElement"],"sources":["../../../src/components/popover/popover-content.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { prefix } from '../../globals/settings';\nimport styles from './popover.scss?lit';\nimport { POPOVER_BACKGROUND_TOKEN } from './defs';\n\n/**\n * Popover.\n *\n * @element cds-custom-popover-content\n */\n@customElement(`${prefix}-popover-content`)\nclass CDSPopoverContent extends LitElement {\n /**\n * Specify the popover alignment\n */\n @property({ reflect: true, type: String })\n align = '';\n\n /**\n * Specify whether a auto align functionality should be applied\n */\n @property({ type: Boolean, reflect: true })\n autoalign = false;\n\n /**\n * Specify whether a caret should be rendered\n */\n @property({ type: Boolean, reflect: true })\n caret;\n\n /**\n * Specify whether a dropShadow should be rendered\n */\n @property({ type: Boolean, reflect: true })\n dropShadow = true;\n\n /**\n * Specify whether a border should be rendered on the popover\n */\n @property({ type: Boolean, reflect: true })\n border = false;\n\n /**\n * Render the component using the high-contrast variant\n */\n @property({ type: Boolean, reflect: true })\n highContrast = false;\n\n /**\n * Specify whether the component is currently open or closed\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * Render the component using the tab tip variant\n */\n @property({ type: Boolean, reflect: true })\n tabTip = false;\n\n /**\n * Specify the background token to use. Default is 'layer'.\n */\n @property({ reflect: true, type: String })\n backgroundToken = POPOVER_BACKGROUND_TOKEN.LAYER;\n\n /**\n * The shadow slot this popover content should be in.\n */\n @property({ reflect: true })\n slot = 'content';\n\n render() {\n return html`\n <span class=\"${prefix}--popover\">\n <span class=\"${prefix}--popover-content\" part=\"content\" tabindex=\"-1\">\n <slot> </slot>\n ${this.autoalign\n ? html`<span\n class=\"${prefix}--popover-caret ${prefix}--popover--auto-align\"></span>`\n : null}\n </span>\n ${!this.autoalign\n ? html`<span class=\"${prefix}--popover-caret\"></span>`\n : null}\n </span>\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSPopoverContent;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,IAAA,oBAAA,MACM,0BAA0B,WAAW;;;eAKjC;mBAMI;oBAYC;gBAMJ;sBAMM;cAMR;gBAME;;cAYF;;CAEP,SAAS;
|
|
1
|
+
{"version":3,"file":"popover-content.js","names":["styles","customElement"],"sources":["../../../src/components/popover/popover-content.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { prefix } from '../../globals/settings';\nimport styles from './popover.scss?lit';\nimport { POPOVER_BACKGROUND_TOKEN } from './defs';\n\n/**\n * Popover.\n *\n * @element cds-custom-popover-content\n */\n@customElement(`${prefix}-popover-content`)\nclass CDSPopoverContent extends LitElement {\n /**\n * Specify the popover alignment\n */\n @property({ reflect: true, type: String })\n align = '';\n\n /**\n * Specify whether a auto align functionality should be applied\n */\n @property({ type: Boolean, reflect: true })\n autoalign = false;\n\n /**\n * Specify whether a caret should be rendered\n */\n @property({ type: Boolean, reflect: true })\n caret;\n\n /**\n * Specify whether a dropShadow should be rendered\n */\n @property({ type: Boolean, reflect: true })\n dropShadow = true;\n\n /**\n * Specify whether a border should be rendered on the popover\n */\n @property({ type: Boolean, reflect: true })\n border = false;\n\n /**\n * Render the component using the high-contrast variant\n */\n @property({ type: Boolean, reflect: true })\n highContrast = false;\n\n /**\n * Specify whether the component is currently open or closed\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * Render the component using the tab tip variant\n */\n @property({ type: Boolean, reflect: true })\n tabTip = false;\n\n /**\n * Specify the background token to use. Default is 'layer'.\n */\n @property({ reflect: true, type: String })\n backgroundToken = POPOVER_BACKGROUND_TOKEN.LAYER;\n\n /**\n * The shadow slot this popover content should be in.\n */\n @property({ reflect: true })\n slot = 'content';\n\n render() {\n return html`\n <span class=\"${prefix}--popover\">\n <span class=\"${prefix}--popover-content\" part=\"content\" tabindex=\"-1\">\n <slot> </slot>\n ${this.autoalign\n ? html`<span\n class=\"${prefix}--popover-caret ${prefix}--popover--auto-align\"></span>`\n : null}\n </span>\n ${!this.autoalign\n ? html`<span class=\"${prefix}--popover-caret\"></span>`\n : null}\n </span>\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSPopoverContent;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,IAAA,oBAAA,MACM,0BAA0B,WAAW;;;eAKjC;mBAMI;oBAYC;gBAMJ;sBAMM;cAMR;gBAME;;cAYF;;CAEP,SAAS;EACP,OAAO,IAAI;2BACa;6BACE;;YAElB,KAAK,YACH,IAAI;+BACc,kBAAA,MAAyB,kCAC3C,KAAK;;UAET,CAAC,KAAK,YACJ,IAAI,gBAAA,MAAuB,4BAC3B,KAAK;;;CAGf;;gBAEgBA;;AAClB;YA3EG,SAAS;CAAE,SAAS;CAAM,MAAM;AAAO,CAAC,CAAA,GAAA,kBAAA,WAAA,SAAA,KAAA,CAAA;YAMxC,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,kBAAA,WAAA,aAAA,KAAA,CAAA;YAMzC,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,kBAAA,WAAA,SAAA,KAAA,CAAA;YAMzC,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,kBAAA,WAAA,cAAA,KAAA,CAAA;YAMzC,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,kBAAA,WAAA,UAAA,KAAA,CAAA;YAMzC,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,kBAAA,WAAA,gBAAA,KAAA,CAAA;YAMzC,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,kBAAA,WAAA,QAAA,KAAA,CAAA;YAMzC,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,kBAAA,WAAA,UAAA,KAAA,CAAA;YAMzC,SAAS;CAAE,SAAS;CAAM,MAAM;AAAO,CAAC,CAAA,GAAA,kBAAA,WAAA,mBAAA,KAAA,CAAA;YAMxC,SAAS,EAAE,SAAS,KAAK,CAAC,CAAA,GAAA,kBAAA,WAAA,QAAA,KAAA,CAAA;gCA3D5BC,cAAc,qBAA2B,CAAA,GAAA,iBAAA;AAkF1C,IAAA,0BAAe"}
|
|
@@ -102,12 +102,17 @@ declare class CDSPopover extends CDSPopover_base {
|
|
|
102
102
|
disconnectedCallback(): void;
|
|
103
103
|
/**
|
|
104
104
|
* This function resolves the string passed in for `autoAlignBoundary` to either:
|
|
105
|
+
* The viewport (default)
|
|
105
106
|
* "clippingAncestors"
|
|
106
107
|
* An element (found via #id)
|
|
107
108
|
* An array of elements (found via #id1, #id2, #id3, separated by ",")
|
|
108
109
|
* A rect, input format should be 'rect(x,y,width,height)'
|
|
109
110
|
*/
|
|
110
111
|
private _resolveAutoAlignBoundary;
|
|
112
|
+
/**
|
|
113
|
+
* Gets the viewport rectangle for use as the default autoalign boundary.
|
|
114
|
+
*/
|
|
115
|
+
private _getViewportRect;
|
|
111
116
|
updated(changedProperties: any): void;
|
|
112
117
|
render(): import("lit-html").TemplateResult<1>;
|
|
113
118
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../src/components/popover/popover.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AASvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;;;;;;;;;;uBAE9B,CAAC;;;;;AAErB;;;;;;GAMG;AACH,cACM,UAAW,SAAQ,eAA6B;IACpD;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAAkC;IAE3D;;OAEG;IAEH,OAAO,CAAC,gBAAgB,CAAmB;IAE3C;;OAEG;IAEH,OAAO,CAAC,gBAAgB,CAAmB;IAE3C;;OAEG;IACH,OAAO,CAAC,cAAc,CAAS;IAE/B;;OAEG;IAEH,KAAK,SAAM;IAEX;;OAEG;IAEH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IAEH,SAAS,UAAS;IAElB;;OAEG;IAEH,KAAK,UAAQ;IAEb;;OAEG;IAEH,UAAU,UAAQ;IAElB;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,YAAY,UAAS;IAErB;;OAEG;IAEH,IAAI,UAAS;IAEb;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,eAAe,2BAAkC;IAEjD;;;;OAIG;IAEH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK;IAoB7C,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,eAAe;IAyCvB,OAAO,CAAC,mBAAmB;;IAwD3B,iBAAiB;IAKjB,oBAAoB;IAIpB
|
|
1
|
+
{"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../src/components/popover/popover.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AASvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;;;;;;;;;;uBAE9B,CAAC;;;;;AAErB;;;;;;GAMG;AACH,cACM,UAAW,SAAQ,eAA6B;IACpD;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAAkC;IAE3D;;OAEG;IAEH,OAAO,CAAC,gBAAgB,CAAmB;IAE3C;;OAEG;IAEH,OAAO,CAAC,gBAAgB,CAAmB;IAE3C;;OAEG;IACH,OAAO,CAAC,cAAc,CAAS;IAE/B;;OAEG;IAEH,KAAK,SAAM;IAEX;;OAEG;IAEH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IAEH,SAAS,UAAS;IAElB;;OAEG;IAEH,KAAK,UAAQ;IAEb;;OAEG;IAEH,UAAU,UAAQ;IAElB;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,YAAY,UAAS;IAErB;;OAEG;IAEH,IAAI,UAAS;IAEb;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,eAAe,2BAAkC;IAEjD;;;;OAIG;IAEH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK;IAoB7C,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,eAAe;IAyCvB,OAAO,CAAC,mBAAmB;;IAwD3B,iBAAiB;IAKjB,oBAAoB;IAIpB;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;IA+CjC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,iBAAiB,KAAA;IAuDzB,MAAM;IAmDN;;;OAGG;IACH,MAAM,KAAK,2BAA2B,WAErC;IAED;;;OAGG;IACH,MAAM,KAAK,oBAAoB,WAE9B;IAED;;OAEG;IACH,MAAM,KAAK,sBAAsB,WAEhC;IAED;;;OAGG;IACH,MAAM,KAAK,gBAAgB,WAE1B;IAED;;OAEG;IACH,MAAM,KAAK,YAAY,WAEtB;IAED,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import "../../globals/settings.js";
|
|
9
9
|
import { carbonElement } from "../../globals/decorators/carbon-element.js";
|
|
10
|
-
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.
|
|
10
|
+
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.135.0/helpers/esm/decorate.js";
|
|
11
11
|
import HostListener from "../../globals/decorators/host-listener.js";
|
|
12
12
|
import HostListenerMixin from "../../globals/mixins/host-listener.js";
|
|
13
13
|
import "./defs.js";
|
|
@@ -114,6 +114,7 @@ let CDSPopover = class CDSPopover extends HostListenerMixin(LitElement) {
|
|
|
114
114
|
}
|
|
115
115
|
/**
|
|
116
116
|
* This function resolves the string passed in for `autoAlignBoundary` to either:
|
|
117
|
+
* The viewport (default)
|
|
117
118
|
* "clippingAncestors"
|
|
118
119
|
* An element (found via #id)
|
|
119
120
|
* An array of elements (found via #id1, #id2, #id3, separated by ",")
|
|
@@ -121,7 +122,7 @@ let CDSPopover = class CDSPopover extends HostListenerMixin(LitElement) {
|
|
|
121
122
|
*/
|
|
122
123
|
_resolveAutoAlignBoundary() {
|
|
123
124
|
const raw = (this.autoAlignBoundary ?? "").trim();
|
|
124
|
-
if (!raw) return
|
|
125
|
+
if (!raw) return this._getViewportRect();
|
|
125
126
|
if (raw === "clippingAncestors") return "clippingAncestors";
|
|
126
127
|
const rectMatch = /^rect\(\s*([-\d.]+)\s*,\s*([-\d.]+)\s*,\s*([-\d.]+)\s*,\s*([-\d.]+)\s*\)$/i.exec(raw);
|
|
127
128
|
if (rectMatch) {
|
|
@@ -147,6 +148,26 @@ let CDSPopover = class CDSPopover extends HostListenerMixin(LitElement) {
|
|
|
147
148
|
}
|
|
148
149
|
return "clippingAncestors";
|
|
149
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* Gets the viewport rectangle for use as the default autoalign boundary.
|
|
153
|
+
*/
|
|
154
|
+
_getViewportRect() {
|
|
155
|
+
if (window.visualViewport) {
|
|
156
|
+
const viewport = window.visualViewport;
|
|
157
|
+
return {
|
|
158
|
+
x: viewport.offsetLeft,
|
|
159
|
+
y: viewport.offsetTop,
|
|
160
|
+
width: viewport.width,
|
|
161
|
+
height: viewport.height
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
return {
|
|
165
|
+
x: 0,
|
|
166
|
+
y: 0,
|
|
167
|
+
width: window.innerWidth,
|
|
168
|
+
height: window.innerHeight
|
|
169
|
+
};
|
|
170
|
+
}
|
|
150
171
|
updated(changedProperties) {
|
|
151
172
|
const { selectorPopoverContent } = this.constructor;
|
|
152
173
|
[
|