@carbon/web-components 2.53.0 → 2.54.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 +769 -106
- package/es/components/ai-label/ai-label.scss.js +1 -1
- package/es/components/breadcrumb/breadcrumb.scss.js +1 -1
- package/es/components/button/button.scss.js +1 -1
- package/es/components/checkbox/checkbox.scss.js +1 -1
- package/es/components/code-snippet/code-snippet.scss.js +1 -1
- package/es/components/combo-box/combo-box.scss.js +1 -1
- package/es/components/combo-button/combo-button.scss.js +1 -1
- package/es/components/contained-list/contained-list.scss.js +1 -1
- package/es/components/content-switcher/content-switcher.scss.js +1 -1
- package/es/components/copy-button/copy-button.scss.js +1 -1
- package/es/components/data-table/data-table.scss.js +1 -1
- package/es/components/data-table/table-toolbar-search.d.ts +3 -3
- package/es/components/data-table/table-toolbar-search.d.ts.map +1 -1
- package/es/components/data-table/table-toolbar-search.js +2 -3
- package/es/components/data-table/table-toolbar-search.js.map +1 -1
- package/es/components/date-picker/date-picker.d.ts +4 -0
- package/es/components/date-picker/date-picker.d.ts.map +1 -1
- package/es/components/date-picker/date-picker.js +5 -1
- package/es/components/date-picker/date-picker.js.map +1 -1
- package/es/components/date-picker/date-picker.scss.js +1 -1
- package/es/components/date-picker/fix-events-plugin.d.ts.map +1 -1
- package/es/components/date-picker/fix-events-plugin.js +0 -6
- package/es/components/date-picker/fix-events-plugin.js.map +1 -1
- package/es/components/date-picker/range-plugin.d.ts +2 -8
- package/es/components/date-picker/range-plugin.d.ts.map +1 -1
- package/es/components/date-picker/range-plugin.js +3 -9
- package/es/components/date-picker/range-plugin.js.map +1 -1
- package/es/components/dialog/dialog.scss.js +1 -1
- package/es/components/dropdown/dropdown.scss.js +1 -1
- package/es/components/feature-flags/index.js +1 -1
- package/es/components/file-uploader/file-uploader.scss.js +1 -1
- package/es/components/fluid-combo-box/fluid-combo-box-skeleton.d.ts +18 -0
- package/es/components/fluid-combo-box/fluid-combo-box-skeleton.d.ts.map +1 -0
- package/es/components/fluid-combo-box/fluid-combo-box-skeleton.js +45 -0
- package/es/components/fluid-combo-box/fluid-combo-box-skeleton.js.map +1 -0
- package/es/components/fluid-combo-box/fluid-combo-box.d.ts +23 -0
- package/es/components/fluid-combo-box/fluid-combo-box.d.ts.map +1 -0
- package/es/components/fluid-combo-box/fluid-combo-box.js +53 -0
- package/es/components/fluid-combo-box/fluid-combo-box.js.map +1 -0
- package/es/components/fluid-combo-box/fluid-combo-box.scss.js +14 -0
- package/es/components/fluid-combo-box/fluid-combo-box.scss.js.map +1 -0
- package/es/components/fluid-combo-box/index.d.ts +9 -0
- package/es/components/fluid-combo-box/index.d.ts.map +1 -0
- package/es/components/fluid-combo-box/index.js +9 -0
- package/es/components/fluid-dropdown/fluid-dropdown.scss.js +1 -1
- package/es/components/fluid-multi-select/fluid-multi-select.scss.js +1 -1
- package/es/components/fluid-number-input/fluid-number-input.scss.js +1 -1
- package/es/components/fluid-password-input/fluid-password-input.scss.js +1 -1
- package/es/components/fluid-password-input/fluid-password-input.scss.js.map +1 -1
- package/es/components/fluid-search/fluid-search.scss.js +1 -1
- package/es/components/fluid-select/fluid-select.scss.js +1 -1
- package/es/components/fluid-text-input/fluid-text-input.scss.js +1 -1
- package/es/components/fluid-textarea/fluid-textarea.scss.js +1 -1
- package/es/components/fluid-time-picker/fluid-time-picker.scss.js +1 -1
- package/es/components/form/form-item.scss.js +1 -1
- package/es/components/form/form.scss.js +1 -1
- package/es/components/form-group/form-group.scss.js +1 -1
- package/es/components/grid/column-hang.scss.js +1 -1
- package/es/components/grid/grid.d.ts +5 -0
- package/es/components/grid/grid.d.ts.map +1 -1
- package/es/components/grid/grid.js +11 -1
- package/es/components/grid/grid.js.map +1 -1
- package/es/components/grid/grid.scss.js +1 -1
- package/es/components/grid/grid.scss.js.map +1 -1
- package/es/components/menu/menu-item.d.ts +1 -0
- package/es/components/menu/menu-item.d.ts.map +1 -1
- package/es/components/menu/menu-item.js +5 -0
- package/es/components/menu/menu-item.js.map +1 -1
- package/es/components/menu/menu-item.scss.js +1 -1
- package/es/components/menu/menu-item.scss.js.map +1 -1
- package/es/components/menu-button/menu-button.d.ts.map +1 -1
- package/es/components/menu-button/menu-button.js +0 -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/modal.scss.js +1 -1
- package/es/components/multi-select/multi-select.d.ts +38 -4
- package/es/components/multi-select/multi-select.d.ts.map +1 -1
- package/es/components/multi-select/multi-select.js +30 -27
- 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.scss.js +1 -1
- package/es/components/notification/inline-notification.scss.js +1 -1
- package/es/components/notification/toast-notification.scss.js +1 -1
- package/es/components/number-input/number-input.scss.js +1 -1
- package/es/components/overflow-menu/overflow-menu.scss.js +1 -1
- package/es/components/page-header/page-header.scss.js +1 -1
- package/es/components/pagination/defs.d.ts +25 -0
- package/es/components/pagination/defs.d.ts.map +1 -1
- package/es/components/pagination/defs.js +27 -1
- package/es/components/pagination/defs.js.map +1 -1
- package/es/components/pagination/pagination.d.ts +9 -1
- package/es/components/pagination/pagination.d.ts.map +1 -1
- package/es/components/pagination/pagination.js +7 -2
- package/es/components/pagination/pagination.js.map +1 -1
- package/es/components/pagination/pagination.scss.js +1 -1
- package/es/components/pagination/pagination.scss.js.map +1 -1
- package/es/components/pagination-nav/pagination-nav.scss.js +1 -1
- package/es/components/password-input/defs.d.ts +5 -1
- package/es/components/password-input/defs.d.ts.map +1 -1
- package/es/components/password-input/defs.js +4 -0
- package/es/components/password-input/defs.js.map +1 -1
- package/es/components/password-input/password-input.d.ts +1 -1
- package/es/components/password-input/password-input.d.ts.map +1 -1
- package/es/components/password-input/password-input.js +14 -14
- package/es/components/password-input/password-input.js.map +1 -1
- package/es/components/password-input/password-input.scss.js +1 -1
- package/es/components/password-input/password-input.scss.js.map +1 -1
- package/es/components/popover/popover.scss.js +1 -1
- package/es/components/progress-indicator/progress-indicator.scss.js +1 -1
- package/es/components/radio-button/radio-button.scss.js +1 -1
- package/es/components/search/defs.d.ts +28 -0
- package/es/components/search/defs.d.ts.map +1 -0
- package/es/components/search/defs.js +40 -0
- package/es/components/search/defs.js.map +1 -0
- package/es/components/search/search-skeleton.d.ts +4 -4
- package/es/components/search/search-skeleton.d.ts.map +1 -1
- package/es/components/search/search-skeleton.js +9 -9
- package/es/components/search/search-skeleton.js.map +1 -1
- package/es/components/search/search.d.ts +4 -3
- package/es/components/search/search.d.ts.map +1 -1
- package/es/components/search/search.js +3 -5
- package/es/components/search/search.js.map +1 -1
- package/es/components/search/search.scss.js +1 -1
- package/es/components/search/search.scss.js.map +1 -1
- package/es/components/select/select.d.ts +1 -1
- package/es/components/select/select.d.ts.map +1 -1
- package/es/components/select/select.js +1 -4
- package/es/components/select/select.js.map +1 -1
- package/es/components/select/select.scss.js +1 -1
- package/es/components/select/select.scss.js.map +1 -1
- package/es/components/skip-to-content/skip-to-content.scss.js +1 -1
- package/es/components/slider/slider.d.ts.map +1 -1
- package/es/components/slider/slider.js +2 -2
- package/es/components/slider/slider.js.map +1 -1
- package/es/components/slider/slider.scss.js +1 -1
- package/es/components/slug/slug.scss.js +1 -1
- package/es/components/tabs/stories/tabs-wrapper.d.ts +53 -0
- package/es/components/tabs/stories/tabs-wrapper.d.ts.map +1 -0
- package/es/components/tabs/stories/tabs-wrapper.js +129 -0
- package/es/components/tabs/stories/tabs-wrapper.js.map +1 -0
- package/es/components/tabs/tab.d.ts +23 -0
- package/es/components/tabs/tab.d.ts.map +1 -1
- package/es/components/tabs/tab.js +59 -3
- package/es/components/tabs/tab.js.map +1 -1
- package/es/components/tabs/tabs.d.ts +14 -0
- package/es/components/tabs/tabs.d.ts.map +1 -1
- package/es/components/tabs/tabs.js +74 -25
- package/es/components/tabs/tabs.js.map +1 -1
- package/es/components/tabs/tabs.scss.js +1 -1
- package/es/components/tabs/tabs.scss.js.map +1 -1
- package/es/components/tag/tag.scss.js +1 -1
- package/es/components/text-input/defs.d.ts +5 -1
- package/es/components/text-input/defs.d.ts.map +1 -1
- package/es/components/text-input/defs.js +4 -0
- package/es/components/text-input/defs.js.map +1 -1
- package/es/components/text-input/text-input-skeleton.d.ts +5 -0
- package/es/components/text-input/text-input-skeleton.d.ts.map +1 -1
- package/es/components/text-input/text-input-skeleton.js +10 -3
- package/es/components/text-input/text-input-skeleton.js.map +1 -1
- package/es/components/text-input/text-input.d.ts +2 -2
- package/es/components/text-input/text-input.d.ts.map +1 -1
- package/es/components/text-input/text-input.js +15 -11
- package/es/components/text-input/text-input.js.map +1 -1
- package/es/components/text-input/text-input.scss.js +1 -1
- package/es/components/text-input/text-input.scss.js.map +1 -1
- package/es/components/textarea/textarea.scss.js +1 -1
- package/es/components/tile/tile.scss.js +1 -1
- package/es/components/time-picker/time-picker.scss.js +1 -1
- package/es/components/toggle-tip/toggletip.scss.js +1 -1
- package/es/components/tooltip/tooltip.scss.js +1 -1
- package/es/components/tooltip/tooltip.scss.js.map +1 -1
- package/es/components/tree-view/tree-view.scss.js +1 -1
- package/es/components/ui-shell/header.scss.js +1 -1
- package/es/index.js +1 -1
- package/es/node_modules/flatpickr/dist/esm/index.js +1516 -0
- package/es/node_modules/flatpickr/dist/esm/index.js.map +1 -0
- package/es/node_modules/flatpickr/dist/esm/l10n/default.js +99 -0
- package/es/node_modules/flatpickr/dist/esm/l10n/default.js.map +1 -0
- package/es/node_modules/flatpickr/dist/esm/plugins/rangePlugin.js +130 -0
- package/es/node_modules/flatpickr/dist/esm/plugins/rangePlugin.js.map +1 -0
- package/es/node_modules/flatpickr/dist/esm/types/options.js +90 -0
- package/es/node_modules/flatpickr/dist/esm/types/options.js.map +1 -0
- package/es/node_modules/flatpickr/dist/esm/utils/dates.js +118 -0
- package/es/node_modules/flatpickr/dist/esm/utils/dates.js.map +1 -0
- package/es/node_modules/flatpickr/dist/esm/utils/dom.js +52 -0
- package/es/node_modules/flatpickr/dist/esm/utils/dom.js.map +1 -0
- package/es/node_modules/flatpickr/dist/esm/utils/formatting.js +181 -0
- package/es/node_modules/flatpickr/dist/esm/utils/formatting.js.map +1 -0
- package/es/node_modules/flatpickr/dist/esm/utils/index.js +33 -0
- package/es/node_modules/flatpickr/dist/esm/utils/index.js.map +1 -0
- package/es/node_modules/flatpickr/dist/esm/utils/polyfills.js +26 -0
- package/es/node_modules/flatpickr/dist/esm/utils/polyfills.js.map +1 -0
- package/es/packages/feature-flags/es/index.js.map +1 -0
- package/es-custom/components/ai-label/ai-label.scss.js +1 -1
- package/es-custom/components/breadcrumb/breadcrumb.scss.js +1 -1
- package/es-custom/components/button/button.scss.js +1 -1
- package/es-custom/components/checkbox/checkbox.scss.js +1 -1
- package/es-custom/components/code-snippet/code-snippet.scss.js +1 -1
- package/es-custom/components/combo-box/combo-box.scss.js +1 -1
- package/es-custom/components/combo-button/combo-button.scss.js +1 -1
- package/es-custom/components/contained-list/contained-list.scss.js +1 -1
- package/es-custom/components/content-switcher/content-switcher.scss.js +1 -1
- package/es-custom/components/copy-button/copy-button.scss.js +1 -1
- package/es-custom/components/data-table/data-table.scss.js +1 -1
- package/es-custom/components/data-table/table-toolbar-search.d.ts +3 -3
- package/es-custom/components/data-table/table-toolbar-search.d.ts.map +1 -1
- package/es-custom/components/data-table/table-toolbar-search.js +2 -3
- package/es-custom/components/data-table/table-toolbar-search.js.map +1 -1
- package/es-custom/components/date-picker/date-picker.d.ts +4 -0
- package/es-custom/components/date-picker/date-picker.d.ts.map +1 -1
- package/es-custom/components/date-picker/date-picker.js +5 -1
- package/es-custom/components/date-picker/date-picker.js.map +1 -1
- package/es-custom/components/date-picker/date-picker.scss.js +1 -1
- package/es-custom/components/date-picker/fix-events-plugin.d.ts.map +1 -1
- package/es-custom/components/date-picker/fix-events-plugin.js +0 -6
- package/es-custom/components/date-picker/fix-events-plugin.js.map +1 -1
- package/es-custom/components/date-picker/range-plugin.d.ts +2 -8
- package/es-custom/components/date-picker/range-plugin.d.ts.map +1 -1
- package/es-custom/components/date-picker/range-plugin.js +3 -9
- package/es-custom/components/date-picker/range-plugin.js.map +1 -1
- package/es-custom/components/dialog/dialog.scss.js +1 -1
- package/es-custom/components/dropdown/dropdown.scss.js +1 -1
- package/es-custom/components/feature-flags/index.js +1 -1
- package/es-custom/components/file-uploader/file-uploader.scss.js +1 -1
- package/es-custom/components/fluid-combo-box/fluid-combo-box-skeleton.d.ts +18 -0
- package/es-custom/components/fluid-combo-box/fluid-combo-box-skeleton.d.ts.map +1 -0
- package/es-custom/components/fluid-combo-box/fluid-combo-box-skeleton.js +45 -0
- package/es-custom/components/fluid-combo-box/fluid-combo-box-skeleton.js.map +1 -0
- package/es-custom/components/fluid-combo-box/fluid-combo-box.d.ts +23 -0
- package/es-custom/components/fluid-combo-box/fluid-combo-box.d.ts.map +1 -0
- package/es-custom/components/fluid-combo-box/fluid-combo-box.js +53 -0
- package/es-custom/components/fluid-combo-box/fluid-combo-box.js.map +1 -0
- package/es-custom/components/fluid-combo-box/fluid-combo-box.scss.js +14 -0
- package/es-custom/components/fluid-combo-box/fluid-combo-box.scss.js.map +1 -0
- package/es-custom/components/fluid-combo-box/index.d.ts +9 -0
- package/es-custom/components/fluid-combo-box/index.d.ts.map +1 -0
- package/es-custom/components/fluid-combo-box/index.js +9 -0
- package/es-custom/components/fluid-dropdown/fluid-dropdown.scss.js +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.scss.js +1 -1
- package/es-custom/components/fluid-password-input/fluid-password-input.scss.js +1 -1
- package/es-custom/components/fluid-password-input/fluid-password-input.scss.js.map +1 -1
- package/es-custom/components/fluid-search/fluid-search.scss.js +1 -1
- package/es-custom/components/fluid-select/fluid-select.scss.js +1 -1
- package/es-custom/components/fluid-text-input/fluid-text-input.scss.js +1 -1
- package/es-custom/components/fluid-textarea/fluid-textarea.scss.js +1 -1
- package/es-custom/components/fluid-time-picker/fluid-time-picker.scss.js +1 -1
- package/es-custom/components/form/form-item.scss.js +1 -1
- package/es-custom/components/form/form.scss.js +1 -1
- package/es-custom/components/form-group/form-group.scss.js +1 -1
- package/es-custom/components/grid/column-hang.scss.js +1 -1
- package/es-custom/components/grid/grid.d.ts +5 -0
- package/es-custom/components/grid/grid.d.ts.map +1 -1
- package/es-custom/components/grid/grid.js +11 -1
- package/es-custom/components/grid/grid.js.map +1 -1
- package/es-custom/components/grid/grid.scss.js +1 -1
- package/es-custom/components/grid/grid.scss.js.map +1 -1
- package/es-custom/components/menu/menu-item.d.ts +1 -0
- package/es-custom/components/menu/menu-item.d.ts.map +1 -1
- package/es-custom/components/menu/menu-item.js +5 -0
- package/es-custom/components/menu/menu-item.js.map +1 -1
- package/es-custom/components/menu/menu-item.scss.js +1 -1
- package/es-custom/components/menu/menu-item.scss.js.map +1 -1
- package/es-custom/components/menu-button/menu-button.d.ts.map +1 -1
- package/es-custom/components/menu-button/menu-button.js +0 -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/modal.scss.js +1 -1
- package/es-custom/components/multi-select/multi-select.d.ts +38 -4
- package/es-custom/components/multi-select/multi-select.d.ts.map +1 -1
- package/es-custom/components/multi-select/multi-select.js +30 -27
- 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.scss.js +1 -1
- package/es-custom/components/notification/inline-notification.scss.js +1 -1
- package/es-custom/components/notification/toast-notification.scss.js +1 -1
- package/es-custom/components/number-input/number-input.scss.js +1 -1
- package/es-custom/components/overflow-menu/overflow-menu.scss.js +1 -1
- package/es-custom/components/page-header/page-header.scss.js +1 -1
- package/es-custom/components/pagination/defs.d.ts +25 -0
- package/es-custom/components/pagination/defs.d.ts.map +1 -1
- package/es-custom/components/pagination/defs.js +27 -1
- package/es-custom/components/pagination/defs.js.map +1 -1
- package/es-custom/components/pagination/pagination.d.ts +9 -1
- package/es-custom/components/pagination/pagination.d.ts.map +1 -1
- package/es-custom/components/pagination/pagination.js +7 -2
- package/es-custom/components/pagination/pagination.js.map +1 -1
- package/es-custom/components/pagination/pagination.scss.js +1 -1
- package/es-custom/components/pagination/pagination.scss.js.map +1 -1
- package/es-custom/components/pagination-nav/pagination-nav.scss.js +1 -1
- package/es-custom/components/password-input/defs.d.ts +5 -1
- package/es-custom/components/password-input/defs.d.ts.map +1 -1
- package/es-custom/components/password-input/defs.js +4 -0
- package/es-custom/components/password-input/defs.js.map +1 -1
- package/es-custom/components/password-input/password-input.d.ts +1 -1
- package/es-custom/components/password-input/password-input.d.ts.map +1 -1
- package/es-custom/components/password-input/password-input.js +14 -14
- package/es-custom/components/password-input/password-input.js.map +1 -1
- package/es-custom/components/password-input/password-input.scss.js +1 -1
- package/es-custom/components/password-input/password-input.scss.js.map +1 -1
- package/es-custom/components/popover/popover.scss.js +1 -1
- package/es-custom/components/progress-indicator/progress-indicator.scss.js +1 -1
- package/es-custom/components/radio-button/radio-button.scss.js +1 -1
- package/es-custom/components/search/defs.d.ts +28 -0
- package/es-custom/components/search/defs.d.ts.map +1 -0
- package/es-custom/components/search/defs.js +40 -0
- package/es-custom/components/search/defs.js.map +1 -0
- package/es-custom/components/search/search-skeleton.d.ts +4 -4
- package/es-custom/components/search/search-skeleton.d.ts.map +1 -1
- package/es-custom/components/search/search-skeleton.js +9 -9
- package/es-custom/components/search/search-skeleton.js.map +1 -1
- package/es-custom/components/search/search.d.ts +4 -3
- package/es-custom/components/search/search.d.ts.map +1 -1
- package/es-custom/components/search/search.js +3 -5
- package/es-custom/components/search/search.js.map +1 -1
- package/es-custom/components/search/search.scss.js +1 -1
- package/es-custom/components/search/search.scss.js.map +1 -1
- package/es-custom/components/select/select.d.ts +1 -1
- package/es-custom/components/select/select.d.ts.map +1 -1
- package/es-custom/components/select/select.js +1 -4
- package/es-custom/components/select/select.js.map +1 -1
- package/es-custom/components/select/select.scss.js +1 -1
- package/es-custom/components/select/select.scss.js.map +1 -1
- package/es-custom/components/skip-to-content/skip-to-content.scss.js +1 -1
- package/es-custom/components/slider/slider.d.ts.map +1 -1
- package/es-custom/components/slider/slider.js +2 -2
- package/es-custom/components/slider/slider.js.map +1 -1
- package/es-custom/components/slider/slider.scss.js +1 -1
- package/es-custom/components/slug/slug.scss.js +1 -1
- package/es-custom/components/tabs/stories/tabs-wrapper.d.ts +53 -0
- package/es-custom/components/tabs/stories/tabs-wrapper.d.ts.map +1 -0
- package/es-custom/components/tabs/stories/tabs-wrapper.js +129 -0
- package/es-custom/components/tabs/stories/tabs-wrapper.js.map +1 -0
- package/es-custom/components/tabs/tab.d.ts +23 -0
- package/es-custom/components/tabs/tab.d.ts.map +1 -1
- package/es-custom/components/tabs/tab.js +59 -3
- package/es-custom/components/tabs/tab.js.map +1 -1
- package/es-custom/components/tabs/tabs.d.ts +14 -0
- package/es-custom/components/tabs/tabs.d.ts.map +1 -1
- package/es-custom/components/tabs/tabs.js +74 -25
- package/es-custom/components/tabs/tabs.js.map +1 -1
- package/es-custom/components/tabs/tabs.scss.js +1 -1
- package/es-custom/components/tabs/tabs.scss.js.map +1 -1
- package/es-custom/components/tag/tag.scss.js +1 -1
- package/es-custom/components/text-input/defs.d.ts +5 -1
- package/es-custom/components/text-input/defs.d.ts.map +1 -1
- package/es-custom/components/text-input/defs.js +4 -0
- package/es-custom/components/text-input/defs.js.map +1 -1
- package/es-custom/components/text-input/text-input-skeleton.d.ts +5 -0
- package/es-custom/components/text-input/text-input-skeleton.d.ts.map +1 -1
- package/es-custom/components/text-input/text-input-skeleton.js +10 -3
- package/es-custom/components/text-input/text-input-skeleton.js.map +1 -1
- package/es-custom/components/text-input/text-input.d.ts +2 -2
- package/es-custom/components/text-input/text-input.d.ts.map +1 -1
- package/es-custom/components/text-input/text-input.js +15 -11
- package/es-custom/components/text-input/text-input.js.map +1 -1
- package/es-custom/components/text-input/text-input.scss.js +1 -1
- package/es-custom/components/text-input/text-input.scss.js.map +1 -1
- package/es-custom/components/textarea/textarea.scss.js +1 -1
- package/es-custom/components/tile/tile.scss.js +1 -1
- package/es-custom/components/time-picker/time-picker.scss.js +1 -1
- package/es-custom/components/toggle-tip/toggletip.scss.js +1 -1
- package/es-custom/components/tooltip/tooltip.scss.js +1 -1
- package/es-custom/components/tooltip/tooltip.scss.js.map +1 -1
- package/es-custom/components/tree-view/tree-view.scss.js +1 -1
- package/es-custom/components/ui-shell/header.scss.js +1 -1
- package/es-custom/index.js +1 -1
- package/es-custom/node_modules/flatpickr/dist/esm/index.js +1516 -0
- package/es-custom/node_modules/flatpickr/dist/esm/index.js.map +1 -0
- package/es-custom/node_modules/flatpickr/dist/esm/l10n/default.js +99 -0
- package/es-custom/node_modules/flatpickr/dist/esm/l10n/default.js.map +1 -0
- package/es-custom/node_modules/flatpickr/dist/esm/plugins/rangePlugin.js +130 -0
- package/es-custom/node_modules/flatpickr/dist/esm/plugins/rangePlugin.js.map +1 -0
- package/es-custom/node_modules/flatpickr/dist/esm/types/options.js +90 -0
- package/es-custom/node_modules/flatpickr/dist/esm/types/options.js.map +1 -0
- package/es-custom/node_modules/flatpickr/dist/esm/utils/dates.js +118 -0
- package/es-custom/node_modules/flatpickr/dist/esm/utils/dates.js.map +1 -0
- package/es-custom/node_modules/flatpickr/dist/esm/utils/dom.js +52 -0
- package/es-custom/node_modules/flatpickr/dist/esm/utils/dom.js.map +1 -0
- package/es-custom/node_modules/flatpickr/dist/esm/utils/formatting.js +181 -0
- package/es-custom/node_modules/flatpickr/dist/esm/utils/formatting.js.map +1 -0
- package/es-custom/node_modules/flatpickr/dist/esm/utils/index.js +33 -0
- package/es-custom/node_modules/flatpickr/dist/esm/utils/index.js.map +1 -0
- package/es-custom/node_modules/flatpickr/dist/esm/utils/polyfills.js +26 -0
- package/es-custom/node_modules/flatpickr/dist/esm/utils/polyfills.js.map +1 -0
- package/es-custom/packages/feature-flags/es/index.js.map +1 -0
- package/lib/components/data-table/table-toolbar-search.d.ts +3 -3
- package/lib/components/data-table/table-toolbar-search.d.ts.map +1 -1
- package/lib/components/date-picker/date-picker.d.ts +4 -0
- package/lib/components/date-picker/date-picker.d.ts.map +1 -1
- package/lib/components/date-picker/fix-events-plugin.d.ts.map +1 -1
- package/lib/components/date-picker/range-plugin.d.ts +2 -8
- package/lib/components/date-picker/range-plugin.d.ts.map +1 -1
- package/lib/components/fluid-combo-box/fluid-combo-box-skeleton.d.ts +18 -0
- package/lib/components/fluid-combo-box/fluid-combo-box-skeleton.d.ts.map +1 -0
- package/lib/components/fluid-combo-box/fluid-combo-box.d.ts +23 -0
- package/lib/components/fluid-combo-box/fluid-combo-box.d.ts.map +1 -0
- package/lib/components/fluid-combo-box/index.d.ts +9 -0
- package/lib/components/fluid-combo-box/index.d.ts.map +1 -0
- package/lib/components/grid/grid.d.ts +5 -0
- package/lib/components/grid/grid.d.ts.map +1 -1
- package/lib/components/menu/menu-item.d.ts +1 -0
- package/lib/components/menu/menu-item.d.ts.map +1 -1
- package/lib/components/menu-button/menu-button.d.ts.map +1 -1
- package/lib/components/multi-select/multi-select.d.ts +38 -4
- package/lib/components/multi-select/multi-select.d.ts.map +1 -1
- package/lib/components/pagination/defs.d.ts +25 -0
- package/lib/components/pagination/defs.d.ts.map +1 -1
- package/lib/components/pagination/defs.js +27 -0
- package/lib/components/pagination/defs.js.map +1 -1
- package/lib/components/pagination/pagination.d.ts +9 -1
- package/lib/components/pagination/pagination.d.ts.map +1 -1
- package/lib/components/password-input/defs.d.ts +5 -1
- package/lib/components/password-input/defs.d.ts.map +1 -1
- package/lib/components/password-input/defs.js +4 -0
- package/lib/components/password-input/defs.js.map +1 -1
- package/lib/components/password-input/password-input.d.ts +1 -1
- package/lib/components/password-input/password-input.d.ts.map +1 -1
- package/lib/components/search/defs.d.ts +28 -0
- package/lib/components/search/defs.d.ts.map +1 -0
- package/lib/components/search/defs.js +41 -0
- package/lib/components/search/defs.js.map +1 -0
- package/lib/components/search/search-skeleton.d.ts +4 -4
- package/lib/components/search/search-skeleton.d.ts.map +1 -1
- package/lib/components/search/search.d.ts +4 -3
- package/lib/components/search/search.d.ts.map +1 -1
- package/lib/components/select/select.d.ts +1 -1
- package/lib/components/select/select.d.ts.map +1 -1
- package/lib/components/slider/slider.d.ts.map +1 -1
- package/lib/components/tabs/stories/tabs-wrapper.d.ts +53 -0
- package/lib/components/tabs/stories/tabs-wrapper.d.ts.map +1 -0
- package/lib/components/tabs/tab.d.ts +23 -0
- package/lib/components/tabs/tab.d.ts.map +1 -1
- package/lib/components/tabs/tabs.d.ts +14 -0
- package/lib/components/tabs/tabs.d.ts.map +1 -1
- package/lib/components/text-input/defs.d.ts +5 -1
- package/lib/components/text-input/defs.d.ts.map +1 -1
- package/lib/components/text-input/defs.js +4 -0
- package/lib/components/text-input/defs.js.map +1 -1
- package/lib/components/text-input/text-input-skeleton.d.ts +5 -0
- package/lib/components/text-input/text-input-skeleton.d.ts.map +1 -1
- package/lib/components/text-input/text-input.d.ts +2 -2
- package/lib/components/text-input/text-input.d.ts.map +1 -1
- package/package.json +9 -6
- package/scss/components/data-table/_table-action.scss +9 -1
- package/scss/components/fluid-combo-box/fluid-combo-box.scss +252 -0
- package/scss/components/fluid-password-input/fluid-password-input.scss +0 -15
- package/scss/components/grid/grid.scss +20 -0
- package/scss/components/menu/menu-item.scss +5 -1
- package/scss/components/pagination/pagination.scss +3 -7
- package/scss/components/password-input/password-input.scss +1 -17
- package/scss/components/search/search.scss +20 -53
- package/scss/components/select/select.scss +4 -0
- package/scss/components/tabs/tabs-story.scss +19 -1
- package/scss/components/tabs/tabs.scss +74 -6
- package/scss/components/text-input/text-input.scss +7 -9
- package/scss/components/tooltip/tooltip.scss +13 -1
- package/telemetry.yml +25 -11
- package/es/feature-flags/es/index.js.map +0 -1
- package/es-custom/feature-flags/es/index.js.map +0 -1
- /package/es/{feature-flags → packages/feature-flags}/es/index.js +0 -0
- /package/es-custom/{feature-flags → packages/feature-flags}/es/index.js +0 -0
|
@@ -32,6 +32,7 @@ let CDSPagination = class CDSPagination extends FocusMixin(HostListenerMixin(Lit
|
|
|
32
32
|
constructor(..._args) {
|
|
33
33
|
super(..._args);
|
|
34
34
|
this.backwardText = "Previous page";
|
|
35
|
+
this.backwardTextTooltipPosition = "top";
|
|
35
36
|
this.page = 1;
|
|
36
37
|
this.formatLabelText = ({ count }) => `Page of ${count} page${count <= 1 ? "" : "s"}`;
|
|
37
38
|
this.formatStatusWithDeterminateTotal = ({ start, end, count }) => `${start}–${end} of ${count} item${count <= 1 ? "" : "s"}`;
|
|
@@ -40,6 +41,7 @@ let CDSPagination = class CDSPagination extends FocusMixin(HostListenerMixin(Lit
|
|
|
40
41
|
this.itemsPerPageText = "";
|
|
41
42
|
this.disabled = false;
|
|
42
43
|
this.forwardText = "Next page";
|
|
44
|
+
this.forwardTextTooltipPosition = "top";
|
|
43
45
|
this.pageInputDisabled = false;
|
|
44
46
|
this.pageSize = 10;
|
|
45
47
|
this.pagesUnknown = false;
|
|
@@ -190,7 +192,7 @@ let CDSPagination = class CDSPagination extends FocusMixin(HostListenerMixin(Lit
|
|
|
190
192
|
}
|
|
191
193
|
}
|
|
192
194
|
render() {
|
|
193
|
-
const { page, disabled, forwardText, backwardText, itemsPerPageText, pageInputDisabled, pageSize, pageSizeInputDisabled, pagesUnknown, size, start, totalItems, totalPages, _handleClickPrevButton: handleClickPrevButton, _handleClickNextButton: handleClickNextButton, _handleSlotChange: handleSlotChange, formatLabelText, formatSupplementalText } = this;
|
|
195
|
+
const { page, disabled, forwardText, forwardTextTooltipPosition, backwardText, backwardTextTooltipPosition, itemsPerPageText, pageInputDisabled, pageSize, pageSizeInputDisabled, pagesUnknown, size, start, totalItems, totalPages, _handleClickPrevButton: handleClickPrevButton, _handleClickNextButton: handleClickNextButton, _handleSlotChange: handleSlotChange, formatLabelText, formatSupplementalText } = this;
|
|
194
196
|
const { isLastPage = start + pageSize >= totalItems } = this;
|
|
195
197
|
const prevButtonDisabled = disabled || start === 0;
|
|
196
198
|
const nextButtonDisabled = disabled || !pagesUnknown && isLastPage;
|
|
@@ -272,6 +274,7 @@ let CDSPagination = class CDSPagination extends FocusMixin(HostListenerMixin(Lit
|
|
|
272
274
|
|
|
273
275
|
<div class="${"cds-custom"}--pagination__control-buttons">
|
|
274
276
|
<cds-custom-button
|
|
277
|
+
tooltip-position=${backwardTextTooltipPosition}
|
|
275
278
|
pagination
|
|
276
279
|
size="${size}"
|
|
277
280
|
?disabled="${prevButtonDisabled}"
|
|
@@ -281,7 +284,7 @@ let CDSPagination = class CDSPagination extends FocusMixin(HostListenerMixin(Lit
|
|
|
281
284
|
${iconLoader(CaretLeft16, { slot: "icon" })}
|
|
282
285
|
</cds-custom-button>
|
|
283
286
|
<cds-custom-button
|
|
284
|
-
tooltip-position
|
|
287
|
+
tooltip-position=${forwardTextTooltipPosition}
|
|
285
288
|
pagination
|
|
286
289
|
size="${size}"
|
|
287
290
|
?disabled="${nextButtonDisabled}"
|
|
@@ -343,6 +346,7 @@ let CDSPagination = class CDSPagination extends FocusMixin(HostListenerMixin(Lit
|
|
|
343
346
|
__decorate([query(`cds-custom-select`)], CDSPagination.prototype, "_pageSizeSelect", void 0);
|
|
344
347
|
__decorate([HostListener(`cds-custom-select-selected`)], CDSPagination.prototype, "_handleChangeSelector", null);
|
|
345
348
|
__decorate([property({ attribute: "backward-text" })], CDSPagination.prototype, "backwardText", void 0);
|
|
349
|
+
__decorate([property({ attribute: "backward-text-tooltip-position" })], CDSPagination.prototype, "backwardTextTooltipPosition", void 0);
|
|
346
350
|
__decorate([property({
|
|
347
351
|
type: Number,
|
|
348
352
|
reflect: true
|
|
@@ -361,6 +365,7 @@ __decorate([property({
|
|
|
361
365
|
reflect: true
|
|
362
366
|
})], CDSPagination.prototype, "disabled", void 0);
|
|
363
367
|
__decorate([property({ attribute: "forward-text" })], CDSPagination.prototype, "forwardText", void 0);
|
|
368
|
+
__decorate([property({ attribute: "forward-text-tooltip-position" })], CDSPagination.prototype, "forwardTextTooltipPosition", void 0);
|
|
364
369
|
__decorate([property({
|
|
365
370
|
type: Boolean,
|
|
366
371
|
attribute: "page-input-disabled"
|
|
@@ -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 } 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 * 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 * 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 backwardText,\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 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=\"top\"\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":"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"}
|
|
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":"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"}
|