@carbon/web-components 2.47.0 → 2.48.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 +963 -145
- package/es/components/accordion/accordion-item.d.ts +28 -12
- package/es/components/accordion/accordion-item.js +7 -5
- package/es/components/accordion/accordion-item.js.map +1 -1
- package/es/components/accordion/accordion-skeleton.d.ts +1 -1
- package/es/components/accordion/accordion-skeleton.js +7 -5
- package/es/components/accordion/accordion-skeleton.js.map +1 -1
- package/es/components/accordion/accordion.d.ts +1 -1
- package/es/components/accordion/accordion.js +7 -5
- package/es/components/accordion/accordion.js.map +1 -1
- package/es/components/ai-label/ai-label.d.ts +1 -1
- package/es/components/ai-label/ai-label.js +6 -5
- package/es/components/ai-label/ai-label.js.map +1 -1
- package/es/components/button/button.d.ts +56 -22
- package/es/components/checkbox/checkbox-group.d.ts +2 -0
- package/es/components/checkbox/checkbox.d.ts +57 -23
- package/es/components/checkbox/checkbox.js +7 -5
- package/es/components/checkbox/checkbox.js.map +1 -1
- package/es/components/code-snippet/code-snippet.d.ts +29 -11
- package/es/components/code-snippet/code-snippet.js +15 -14
- package/es/components/code-snippet/code-snippet.js.map +1 -1
- package/es/components/combo-box/combo-box.scss.js +1 -1
- package/es/components/combo-button/combo-button.d.ts +27 -11
- package/es/components/content-switcher/content-switcher-item.d.ts +29 -11
- package/es/components/copy-button/copy-button.d.ts +27 -11
- package/es/components/data-table/table-expanded-row.d.ts +28 -12
- package/es/components/data-table/table-expanded-row.js +7 -5
- package/es/components/data-table/table-expanded-row.js.map +1 -1
- package/es/components/data-table/table-header-cell.d.ts +29 -11
- package/es/components/data-table/table-row.d.ts +54 -22
- package/es/components/data-table/table-toolbar-search.d.ts +29 -11
- package/es/components/data-table/table.d.ts +28 -12
- package/es/components/data-table/table.js +9 -8
- package/es/components/data-table/table.js.map +1 -1
- package/es/components/date-picker/date-picker-input.d.ts +29 -11
- package/es/components/date-picker/date-picker.d.ts +54 -22
- package/es/components/dropdown/dropdown.d.ts +110 -44
- package/es/components/dropdown/dropdown.js +8 -6
- package/es/components/dropdown/dropdown.js.map +1 -1
- package/es/components/file-uploader/file-uploader-button.d.ts +27 -11
- package/es/components/file-uploader/file-uploader-drop-container.d.ts +27 -11
- package/es/components/floating-menu/floating-menu.d.ts +56 -22
- package/es/components/fluid-select/fluid-select.d.ts +5 -0
- package/es/components/fluid-select/fluid-select.js +50 -1
- package/es/components/fluid-select/fluid-select.js.map +1 -1
- package/es/components/fluid-textarea/fluid-textarea-skeleton.d.ts +3 -3
- package/es/components/fluid-textarea/fluid-textarea-skeleton.js +3 -3
- package/es/components/fluid-textarea/fluid-textarea-skeleton.js.map +1 -1
- package/es/components/fluid-time-picker/fluid-time-picker-select.d.ts +21 -0
- package/es/components/fluid-time-picker/fluid-time-picker-select.js +53 -0
- package/es/components/fluid-time-picker/fluid-time-picker-select.js.map +1 -0
- package/es/components/fluid-time-picker/fluid-time-picker-skeleton.d.ts +23 -0
- package/es/components/fluid-time-picker/fluid-time-picker-skeleton.js +63 -0
- package/es/components/fluid-time-picker/fluid-time-picker-skeleton.js.map +1 -0
- package/es/components/fluid-time-picker/fluid-time-picker.d.ts +32 -0
- package/es/components/fluid-time-picker/fluid-time-picker.js +239 -0
- package/es/components/fluid-time-picker/fluid-time-picker.js.map +1 -0
- package/es/components/fluid-time-picker/fluid-time-picker.scss.js +13 -0
- package/es/components/fluid-time-picker/fluid-time-picker.scss.js.map +1 -0
- package/es/components/fluid-time-picker/index.d.ts +9 -0
- package/es/components/fluid-time-picker/index.js +11 -0
- package/es/components/fluid-time-picker/index.js.map +1 -0
- package/es/components/grid/column.d.ts +3 -1
- package/es/components/grid/column.js +6 -0
- package/es/components/grid/column.js.map +1 -1
- package/es/components/icon-button/icon-button.d.ts +1 -1
- package/es/components/icon-button/icon-button.js +6 -5
- package/es/components/icon-button/icon-button.js.map +1 -1
- package/es/components/link/link.d.ts +29 -11
- package/es/components/menu/menu-item-selectable.d.ts +5 -3
- package/es/components/menu/menu-item-selectable.js +3 -3
- package/es/components/menu/menu-item-selectable.js.map +1 -1
- package/es/components/menu/menu-item.d.ts +68 -23
- package/es/components/menu/menu-item.js +37 -2
- package/es/components/menu/menu-item.js.map +1 -1
- package/es/components/menu/menu.d.ts +27 -11
- package/es/components/menu-button/menu-button.d.ts +27 -11
- package/es/components/modal/modal-close-button.d.ts +29 -11
- package/es/components/modal/modal.d.ts +27 -11
- package/es/components/modal/modal.js +6 -4
- package/es/components/modal/modal.js.map +1 -1
- package/es/components/multi-select/multi-select.js +12 -8
- package/es/components/multi-select/multi-select.js.map +1 -1
- package/es/components/notification/actionable-notification.d.ts +27 -11
- package/es/components/notification/actionable-notification.scss.js +1 -1
- package/es/components/notification/inline-notification.d.ts +27 -11
- 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.d.ts +2 -0
- package/es/components/overflow-menu/overflow-menu-item.d.ts +29 -11
- package/es/components/overflow-menu/overflow-menu.d.ts +54 -22
- package/es/components/pagination/pagination.d.ts +56 -22
- package/es/components/pagination-nav/defs.d.ts +61 -0
- package/es/components/pagination-nav/defs.js +74 -0
- package/es/components/pagination-nav/defs.js.map +1 -0
- package/es/components/pagination-nav/index.d.ts +7 -0
- package/es/components/pagination-nav/index.js +9 -0
- package/es/components/pagination-nav/index.js.map +1 -0
- package/es/components/pagination-nav/pagination-nav.d.ts +109 -0
- package/es/components/pagination-nav/pagination-nav.js +427 -0
- package/es/components/pagination-nav/pagination-nav.js.map +1 -0
- package/es/components/pagination-nav/pagination-nav.scss.js +13 -0
- package/es/components/pagination-nav/pagination-nav.scss.js.map +1 -0
- package/es/components/password-input/password-input.d.ts +2 -0
- package/es/components/popover/popover.d.ts +27 -11
- package/es/components/popover/popover.js +1 -1
- package/es/components/popover/popover.js.map +1 -1
- package/es/components/progress-indicator/progress-step.d.ts +29 -11
- package/es/components/radio-button/radio-button-group.d.ts +54 -22
- package/es/components/radio-button/radio-button.d.ts +57 -23
- package/es/components/radio-button/radio-button.js +7 -5
- package/es/components/radio-button/radio-button.js.map +1 -1
- package/es/components/search/search.d.ts +83 -33
- package/es/components/select/select.d.ts +29 -11
- package/es/components/side-panel/side-panel.d.ts +27 -11
- package/es/components/skip-to-content/skip-to-content.d.ts +29 -11
- package/es/components/slider/slider-input.d.ts +29 -11
- package/es/components/slider/slider.d.ts +84 -34
- package/es/components/slider/slider.js +9 -7
- package/es/components/slider/slider.js.map +1 -1
- package/es/components/slug/slug.d.ts +1 -1
- package/es/components/slug/slug.js +6 -4
- package/es/components/slug/slug.js.map +1 -1
- package/es/components/structured-list/structured-list-row.d.ts +27 -11
- package/es/components/structured-list/structured-list.d.ts +30 -12
- package/es/components/structured-list/structured-list.js +7 -5
- package/es/components/structured-list/structured-list.js.map +1 -1
- package/es/components/tabs/tabs.d.ts +27 -11
- package/es/components/tag/dismissible-tag.d.ts +54 -22
- package/es/components/tag/operational-tag.d.ts +54 -22
- package/es/components/tag/selectable-tag.d.ts +54 -22
- package/es/components/tag/tag.d.ts +54 -22
- package/es/components/tearsheet/tearsheet.d.ts +27 -11
- package/es/components/text-input/text-input.d.ts +56 -22
- package/es/components/textarea/textarea.d.ts +2 -0
- package/es/components/tile/expandable-tile.d.ts +54 -22
- package/es/components/tile/selectable-tile.d.ts +56 -22
- package/es/components/tile/tile-group.d.ts +27 -11
- package/es/components/time-picker/time-picker-select.d.ts +29 -11
- package/es/components/time-picker/time-picker.d.ts +56 -22
- package/es/components/toggle/toggle.d.ts +27 -11
- package/es/components/toggle-tip/toggletip.d.ts +57 -23
- package/es/components/toggle-tip/toggletip.js +7 -5
- package/es/components/toggle-tip/toggletip.js.map +1 -1
- package/es/components/tooltip/tooltip.d.ts +28 -12
- package/es/components/tooltip/tooltip.js +7 -5
- package/es/components/tooltip/tooltip.js.map +1 -1
- package/es/components/tree-view/tree-view.d.ts +28 -12
- package/es/components/tree-view/tree-view.js +7 -5
- package/es/components/tree-view/tree-view.js.map +1 -1
- package/es/components/ui-shell/header-global-action.d.ts +2 -0
- package/es/components/ui-shell/header-menu-button.d.ts +29 -11
- package/es/components/ui-shell/header-menu.d.ts +56 -22
- package/es/components/ui-shell/header-name.d.ts +29 -11
- package/es/components/ui-shell/header-nav-item.d.ts +29 -11
- package/es/components/ui-shell/header-panel.d.ts +2 -0
- package/es/components/ui-shell/side-nav-link.d.ts +29 -11
- package/es/components/ui-shell/side-nav-menu-item.d.ts +29 -11
- package/es/components/ui-shell/side-nav-menu.d.ts +29 -11
- package/es/components/ui-shell/side-nav.d.ts +27 -11
- package/es/components/ui-shell/switcher-item.d.ts +29 -11
- package/es/components/ui-shell/switcher.d.ts +2 -0
- package/es/globals/mixins/focus.d.ts +27 -11
- package/es/globals/mixins/form.d.ts +27 -11
- package/es/globals/mixins/host-listener.d.ts +27 -11
- package/es/globals/mixins/validity.d.ts +27 -11
- package/es-custom/components/accordion/accordion-item.d.ts +28 -12
- package/es-custom/components/accordion/accordion-item.js +7 -5
- package/es-custom/components/accordion/accordion-item.js.map +1 -1
- package/es-custom/components/accordion/accordion-skeleton.d.ts +1 -1
- package/es-custom/components/accordion/accordion-skeleton.js +7 -5
- package/es-custom/components/accordion/accordion-skeleton.js.map +1 -1
- package/es-custom/components/accordion/accordion.d.ts +1 -1
- package/es-custom/components/accordion/accordion.js +7 -5
- package/es-custom/components/accordion/accordion.js.map +1 -1
- package/es-custom/components/ai-label/ai-label.d.ts +1 -1
- package/es-custom/components/ai-label/ai-label.js +6 -5
- package/es-custom/components/ai-label/ai-label.js.map +1 -1
- package/es-custom/components/button/button.d.ts +56 -22
- package/es-custom/components/checkbox/checkbox-group.d.ts +2 -0
- package/es-custom/components/checkbox/checkbox.d.ts +57 -23
- package/es-custom/components/checkbox/checkbox.js +7 -5
- package/es-custom/components/checkbox/checkbox.js.map +1 -1
- package/es-custom/components/code-snippet/code-snippet.d.ts +29 -11
- package/es-custom/components/code-snippet/code-snippet.js +15 -14
- package/es-custom/components/code-snippet/code-snippet.js.map +1 -1
- package/es-custom/components/combo-box/combo-box.scss.js +1 -1
- package/es-custom/components/combo-button/combo-button.d.ts +27 -11
- package/es-custom/components/content-switcher/content-switcher-item.d.ts +29 -11
- package/es-custom/components/copy-button/copy-button.d.ts +27 -11
- package/es-custom/components/data-table/table-expanded-row.d.ts +28 -12
- package/es-custom/components/data-table/table-expanded-row.js +7 -5
- package/es-custom/components/data-table/table-expanded-row.js.map +1 -1
- package/es-custom/components/data-table/table-header-cell.d.ts +29 -11
- package/es-custom/components/data-table/table-row.d.ts +54 -22
- package/es-custom/components/data-table/table-toolbar-search.d.ts +29 -11
- package/es-custom/components/data-table/table.d.ts +28 -12
- package/es-custom/components/data-table/table.js +9 -8
- package/es-custom/components/data-table/table.js.map +1 -1
- package/es-custom/components/date-picker/date-picker-input.d.ts +29 -11
- package/es-custom/components/date-picker/date-picker.d.ts +54 -22
- package/es-custom/components/dropdown/dropdown.d.ts +110 -44
- package/es-custom/components/dropdown/dropdown.js +8 -6
- package/es-custom/components/dropdown/dropdown.js.map +1 -1
- package/es-custom/components/file-uploader/file-uploader-button.d.ts +27 -11
- package/es-custom/components/file-uploader/file-uploader-drop-container.d.ts +27 -11
- package/es-custom/components/floating-menu/floating-menu.d.ts +56 -22
- package/es-custom/components/fluid-select/fluid-select.d.ts +5 -0
- package/es-custom/components/fluid-select/fluid-select.js +50 -1
- package/es-custom/components/fluid-select/fluid-select.js.map +1 -1
- package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.d.ts +3 -3
- package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.js +3 -3
- package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.js.map +1 -1
- package/es-custom/components/fluid-time-picker/fluid-time-picker-select.d.ts +21 -0
- package/es-custom/components/fluid-time-picker/fluid-time-picker-select.js +53 -0
- package/es-custom/components/fluid-time-picker/fluid-time-picker-select.js.map +1 -0
- package/es-custom/components/fluid-time-picker/fluid-time-picker-skeleton.d.ts +23 -0
- package/es-custom/components/fluid-time-picker/fluid-time-picker-skeleton.js +63 -0
- package/es-custom/components/fluid-time-picker/fluid-time-picker-skeleton.js.map +1 -0
- package/es-custom/components/fluid-time-picker/fluid-time-picker.d.ts +32 -0
- package/es-custom/components/fluid-time-picker/fluid-time-picker.js +239 -0
- package/es-custom/components/fluid-time-picker/fluid-time-picker.js.map +1 -0
- package/es-custom/components/fluid-time-picker/fluid-time-picker.scss.js +13 -0
- package/es-custom/components/fluid-time-picker/fluid-time-picker.scss.js.map +1 -0
- package/es-custom/components/fluid-time-picker/index.d.ts +9 -0
- package/es-custom/components/fluid-time-picker/index.js +11 -0
- package/es-custom/components/fluid-time-picker/index.js.map +1 -0
- package/es-custom/components/grid/column.d.ts +3 -1
- package/es-custom/components/grid/column.js +6 -0
- package/es-custom/components/grid/column.js.map +1 -1
- package/es-custom/components/icon-button/icon-button.d.ts +1 -1
- package/es-custom/components/icon-button/icon-button.js +6 -5
- package/es-custom/components/icon-button/icon-button.js.map +1 -1
- package/es-custom/components/link/link.d.ts +29 -11
- package/es-custom/components/menu/menu-item-selectable.d.ts +5 -3
- package/es-custom/components/menu/menu-item-selectable.js +3 -3
- package/es-custom/components/menu/menu-item-selectable.js.map +1 -1
- package/es-custom/components/menu/menu-item.d.ts +68 -23
- package/es-custom/components/menu/menu-item.js +37 -2
- package/es-custom/components/menu/menu-item.js.map +1 -1
- package/es-custom/components/menu/menu.d.ts +27 -11
- package/es-custom/components/menu-button/menu-button.d.ts +27 -11
- package/es-custom/components/modal/modal-close-button.d.ts +29 -11
- package/es-custom/components/modal/modal.d.ts +27 -11
- package/es-custom/components/modal/modal.js +6 -4
- package/es-custom/components/modal/modal.js.map +1 -1
- package/es-custom/components/multi-select/multi-select.js +12 -8
- package/es-custom/components/multi-select/multi-select.js.map +1 -1
- package/es-custom/components/notification/actionable-notification.d.ts +27 -11
- package/es-custom/components/notification/actionable-notification.scss.js +1 -1
- package/es-custom/components/notification/inline-notification.d.ts +27 -11
- 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.d.ts +2 -0
- package/es-custom/components/overflow-menu/overflow-menu-item.d.ts +29 -11
- package/es-custom/components/overflow-menu/overflow-menu.d.ts +54 -22
- package/es-custom/components/pagination/pagination.d.ts +56 -22
- package/es-custom/components/pagination-nav/defs.d.ts +61 -0
- package/es-custom/components/pagination-nav/defs.js +74 -0
- package/es-custom/components/pagination-nav/defs.js.map +1 -0
- package/es-custom/components/pagination-nav/index.d.ts +7 -0
- package/es-custom/components/pagination-nav/index.js +9 -0
- package/es-custom/components/pagination-nav/index.js.map +1 -0
- package/es-custom/components/pagination-nav/pagination-nav.d.ts +109 -0
- package/es-custom/components/pagination-nav/pagination-nav.js +427 -0
- package/es-custom/components/pagination-nav/pagination-nav.js.map +1 -0
- package/es-custom/components/pagination-nav/pagination-nav.scss.js +13 -0
- package/es-custom/components/pagination-nav/pagination-nav.scss.js.map +1 -0
- package/es-custom/components/password-input/password-input.d.ts +2 -0
- package/es-custom/components/popover/popover.d.ts +27 -11
- package/es-custom/components/popover/popover.js +1 -1
- package/es-custom/components/popover/popover.js.map +1 -1
- package/es-custom/components/progress-indicator/progress-step.d.ts +29 -11
- package/es-custom/components/radio-button/radio-button-group.d.ts +54 -22
- package/es-custom/components/radio-button/radio-button.d.ts +57 -23
- package/es-custom/components/radio-button/radio-button.js +7 -5
- package/es-custom/components/radio-button/radio-button.js.map +1 -1
- package/es-custom/components/search/search.d.ts +83 -33
- package/es-custom/components/select/select.d.ts +29 -11
- package/es-custom/components/side-panel/side-panel.d.ts +27 -11
- package/es-custom/components/skip-to-content/skip-to-content.d.ts +29 -11
- package/es-custom/components/slider/slider-input.d.ts +29 -11
- package/es-custom/components/slider/slider.d.ts +84 -34
- package/es-custom/components/slider/slider.js +9 -7
- package/es-custom/components/slider/slider.js.map +1 -1
- package/es-custom/components/slug/slug.d.ts +1 -1
- package/es-custom/components/slug/slug.js +6 -4
- package/es-custom/components/slug/slug.js.map +1 -1
- package/es-custom/components/structured-list/structured-list-row.d.ts +27 -11
- package/es-custom/components/structured-list/structured-list.d.ts +30 -12
- package/es-custom/components/structured-list/structured-list.js +7 -5
- package/es-custom/components/structured-list/structured-list.js.map +1 -1
- package/es-custom/components/tabs/tabs.d.ts +27 -11
- package/es-custom/components/tag/dismissible-tag.d.ts +54 -22
- package/es-custom/components/tag/operational-tag.d.ts +54 -22
- package/es-custom/components/tag/selectable-tag.d.ts +54 -22
- package/es-custom/components/tag/tag.d.ts +54 -22
- package/es-custom/components/tearsheet/tearsheet.d.ts +27 -11
- package/es-custom/components/text-input/text-input.d.ts +56 -22
- package/es-custom/components/textarea/textarea.d.ts +2 -0
- package/es-custom/components/tile/expandable-tile.d.ts +54 -22
- package/es-custom/components/tile/selectable-tile.d.ts +56 -22
- package/es-custom/components/tile/tile-group.d.ts +27 -11
- package/es-custom/components/time-picker/time-picker-select.d.ts +29 -11
- package/es-custom/components/time-picker/time-picker.d.ts +56 -22
- package/es-custom/components/toggle/toggle.d.ts +27 -11
- package/es-custom/components/toggle-tip/toggletip.d.ts +57 -23
- package/es-custom/components/toggle-tip/toggletip.js +7 -5
- package/es-custom/components/toggle-tip/toggletip.js.map +1 -1
- package/es-custom/components/tooltip/tooltip.d.ts +28 -12
- package/es-custom/components/tooltip/tooltip.js +7 -5
- package/es-custom/components/tooltip/tooltip.js.map +1 -1
- package/es-custom/components/tree-view/tree-view.d.ts +28 -12
- package/es-custom/components/tree-view/tree-view.js +7 -5
- package/es-custom/components/tree-view/tree-view.js.map +1 -1
- package/es-custom/components/ui-shell/header-global-action.d.ts +2 -0
- package/es-custom/components/ui-shell/header-menu-button.d.ts +29 -11
- package/es-custom/components/ui-shell/header-menu.d.ts +56 -22
- package/es-custom/components/ui-shell/header-name.d.ts +29 -11
- package/es-custom/components/ui-shell/header-nav-item.d.ts +29 -11
- package/es-custom/components/ui-shell/header-panel.d.ts +2 -0
- package/es-custom/components/ui-shell/side-nav-link.d.ts +29 -11
- package/es-custom/components/ui-shell/side-nav-menu-item.d.ts +29 -11
- package/es-custom/components/ui-shell/side-nav-menu.d.ts +29 -11
- package/es-custom/components/ui-shell/side-nav.d.ts +27 -11
- package/es-custom/components/ui-shell/switcher-item.d.ts +29 -11
- package/es-custom/components/ui-shell/switcher.d.ts +2 -0
- package/es-custom/globals/mixins/focus.d.ts +27 -11
- package/es-custom/globals/mixins/form.d.ts +27 -11
- package/es-custom/globals/mixins/host-listener.d.ts +27 -11
- package/es-custom/globals/mixins/validity.d.ts +27 -11
- package/lib/components/accordion/accordion-item.d.ts +28 -12
- package/lib/components/accordion/accordion-skeleton.d.ts +1 -1
- package/lib/components/accordion/accordion.d.ts +1 -1
- package/lib/components/ai-label/ai-label.d.ts +1 -1
- package/lib/components/button/button.d.ts +56 -22
- package/lib/components/checkbox/checkbox-group.d.ts +2 -0
- package/lib/components/checkbox/checkbox.d.ts +57 -23
- package/lib/components/code-snippet/code-snippet.d.ts +29 -11
- package/lib/components/combo-button/combo-button.d.ts +27 -11
- package/lib/components/content-switcher/content-switcher-item.d.ts +29 -11
- package/lib/components/copy-button/copy-button.d.ts +27 -11
- package/lib/components/data-table/table-expanded-row.d.ts +28 -12
- package/lib/components/data-table/table-header-cell.d.ts +29 -11
- package/lib/components/data-table/table-row.d.ts +54 -22
- package/lib/components/data-table/table-toolbar-search.d.ts +29 -11
- package/lib/components/data-table/table.d.ts +28 -12
- package/lib/components/date-picker/date-picker-input.d.ts +29 -11
- package/lib/components/date-picker/date-picker.d.ts +54 -22
- package/lib/components/dropdown/dropdown.d.ts +110 -44
- package/lib/components/file-uploader/file-uploader-button.d.ts +27 -11
- package/lib/components/file-uploader/file-uploader-drop-container.d.ts +27 -11
- package/lib/components/floating-menu/floating-menu.d.ts +56 -22
- package/lib/components/fluid-select/fluid-select.d.ts +5 -0
- package/lib/components/fluid-textarea/fluid-textarea-skeleton.d.ts +3 -3
- package/lib/components/fluid-time-picker/fluid-time-picker-select.d.ts +21 -0
- package/lib/components/fluid-time-picker/fluid-time-picker-skeleton.d.ts +23 -0
- package/lib/components/fluid-time-picker/fluid-time-picker.d.ts +32 -0
- package/lib/components/fluid-time-picker/index.d.ts +9 -0
- package/lib/components/grid/column.d.ts +3 -1
- package/lib/components/icon-button/icon-button.d.ts +1 -1
- package/lib/components/link/link.d.ts +29 -11
- package/lib/components/menu/menu-item-selectable.d.ts +5 -3
- package/lib/components/menu/menu-item.d.ts +68 -23
- package/lib/components/menu/menu.d.ts +27 -11
- package/lib/components/menu-button/menu-button.d.ts +27 -11
- package/lib/components/modal/modal-close-button.d.ts +29 -11
- package/lib/components/modal/modal.d.ts +27 -11
- package/lib/components/notification/actionable-notification.d.ts +27 -11
- package/lib/components/notification/inline-notification.d.ts +27 -11
- package/lib/components/number-input/number-input.d.ts +2 -0
- package/lib/components/overflow-menu/overflow-menu-item.d.ts +29 -11
- package/lib/components/overflow-menu/overflow-menu.d.ts +54 -22
- package/lib/components/pagination/pagination.d.ts +56 -22
- package/lib/components/pagination-nav/defs.d.ts +61 -0
- package/lib/components/pagination-nav/defs.js +74 -0
- package/lib/components/pagination-nav/defs.js.map +1 -0
- package/lib/components/pagination-nav/index.d.ts +7 -0
- package/lib/components/pagination-nav/pagination-nav.d.ts +109 -0
- package/lib/components/password-input/password-input.d.ts +2 -0
- package/lib/components/popover/popover.d.ts +27 -11
- package/lib/components/progress-indicator/progress-step.d.ts +29 -11
- package/lib/components/radio-button/radio-button-group.d.ts +54 -22
- package/lib/components/radio-button/radio-button.d.ts +57 -23
- package/lib/components/search/search.d.ts +83 -33
- package/lib/components/select/select.d.ts +29 -11
- package/lib/components/side-panel/side-panel.d.ts +27 -11
- package/lib/components/skip-to-content/skip-to-content.d.ts +29 -11
- package/lib/components/slider/slider-input.d.ts +29 -11
- package/lib/components/slider/slider.d.ts +84 -34
- package/lib/components/slug/slug.d.ts +1 -1
- package/lib/components/structured-list/structured-list-row.d.ts +27 -11
- package/lib/components/structured-list/structured-list.d.ts +30 -12
- package/lib/components/tabs/tabs.d.ts +27 -11
- package/lib/components/tag/dismissible-tag.d.ts +54 -22
- package/lib/components/tag/operational-tag.d.ts +54 -22
- package/lib/components/tag/selectable-tag.d.ts +54 -22
- package/lib/components/tag/tag.d.ts +54 -22
- package/lib/components/tearsheet/tearsheet.d.ts +27 -11
- package/lib/components/text-input/text-input.d.ts +56 -22
- package/lib/components/textarea/textarea.d.ts +2 -0
- package/lib/components/tile/expandable-tile.d.ts +54 -22
- package/lib/components/tile/selectable-tile.d.ts +56 -22
- package/lib/components/tile/tile-group.d.ts +27 -11
- package/lib/components/time-picker/time-picker-select.d.ts +29 -11
- package/lib/components/time-picker/time-picker.d.ts +56 -22
- package/lib/components/toggle/toggle.d.ts +27 -11
- package/lib/components/toggle-tip/toggletip.d.ts +57 -23
- package/lib/components/tooltip/tooltip.d.ts +28 -12
- package/lib/components/tree-view/tree-view.d.ts +28 -12
- package/lib/components/ui-shell/header-global-action.d.ts +2 -0
- package/lib/components/ui-shell/header-menu-button.d.ts +29 -11
- package/lib/components/ui-shell/header-menu.d.ts +56 -22
- package/lib/components/ui-shell/header-name.d.ts +29 -11
- package/lib/components/ui-shell/header-nav-item.d.ts +29 -11
- package/lib/components/ui-shell/header-panel.d.ts +2 -0
- package/lib/components/ui-shell/side-nav-link.d.ts +29 -11
- package/lib/components/ui-shell/side-nav-menu-item.d.ts +29 -11
- package/lib/components/ui-shell/side-nav-menu.d.ts +29 -11
- package/lib/components/ui-shell/side-nav.d.ts +27 -11
- package/lib/components/ui-shell/switcher-item.d.ts +29 -11
- package/lib/components/ui-shell/switcher.d.ts +2 -0
- package/lib/globals/mixins/focus.d.ts +27 -11
- package/lib/globals/mixins/form.d.ts +27 -11
- package/lib/globals/mixins/host-listener.d.ts +27 -11
- package/lib/globals/mixins/validity.d.ts +27 -11
- package/package.json +7 -7
- package/scss/components/combo-box/combo-box.scss +1 -1
- package/scss/components/fluid-time-picker/fluid-time-picker.scss +198 -0
- package/scss/components/pagination-nav/pagination-nav.scss +29 -0
- package/telemetry.yml +16 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.js","sources":["../../../src/components/modal/modal.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { MODAL_SIZE } from './defs';\nimport styles from './modal.scss?lit';\nimport { selectorTabbable } from '../../globals/settings';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport '../inline-loading';\nimport CDSModalFooter from './modal-footer';\n\nexport { MODAL_SIZE };\n\n/**\n * Modal.\n *\n * @element cds-custom-modal\n * @csspart dialog The dialog.\n * @fires cds-custom-modal-beingclosed\n * The custom event fired before this modal is being closed upon a user gesture.\n * Cancellation of this event stops the user-initiated action of closing this modal.\n * @fires cds-custom-modal-closed - The custom event fired after this modal is closed upon a user gesture.\n */\n@customElement(`${prefix}-modal`)\nclass CDSModal extends HostListenerMixin(LitElement) {\n /**\n * The element that had focus before this modal gets open.\n */\n private _launcher: Element | null = null;\n\n /**\n * The inline loading element that renders when `loading-status` is not `inactive`\n */\n private _loadingEl: HTMLElement | null = null;\n\n /**\n * MutationObserver that observes the modal-footer\n */\n private _footerObserver?: MutationObserver;\n\n /**\n * MutationObserver that observes the modal-header\n */\n private _headerObserver?: MutationObserver;\n\n /**\n * Loading statuses that are not `inactive`\n */\n private WORKING_LOADING_STATUSES = ['active', 'finished', 'error'];\n\n /**\n * Handles `click` event on this element.\n *\n * @param event The event.\n */\n @HostListener('click')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleClick = (event: MouseEvent) => {\n if (\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n event.composedPath().indexOf(this.shadowRoot!) < 0 &&\n !this.preventCloseOnClickOutside\n ) {\n this._handleUserInitiatedClose(event.target);\n }\n };\n\n /**\n * Handle the keydown event.\n * Trap the focus inside the side-panel by tracking keydown.key == `Tab`\n *\n * @param {KeyboardEvent} event The keyboard event object.\n */\n @HostListener('keydown')\n protected _handleHostKeydown = (event: KeyboardEvent) => {\n const target = event.target as HTMLElement | null;\n const { primaryButton } = this._getFooterElements();\n\n if (\n this.open &&\n this.shouldSubmitOnEnter &&\n event.key === 'Enter' &&\n target &&\n document.activeElement !== primaryButton\n ) {\n const closeButton = (this.constructor as typeof CDSModal)\n .selectorCloseButton;\n\n const targetIsCloseButton =\n !!target.closest(closeButton) ||\n !!document.activeElement?.closest?.(closeButton);\n\n if (!targetIsCloseButton) {\n primaryButton?.click();\n return;\n }\n }\n if (event.key === 'Tab') {\n const { first: _firstElement, last: _lastElement } = this.getFocusable();\n\n if (\n event.shiftKey &&\n (this.shadowRoot?.activeElement === _firstElement ||\n document.activeElement === _firstElement)\n ) {\n event.preventDefault();\n\n _lastElement?.focus();\n } else if (!event.shiftKey && document.activeElement === _lastElement) {\n event.preventDefault();\n\n _firstElement?.focus();\n }\n }\n };\n\n @HostListener('document:keydown')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydown = ({ key, target }: KeyboardEvent) => {\n if (key === 'Esc' || key === 'Escape') {\n this._handleUserInitiatedClose(target);\n }\n };\n\n /**\n * Get focusable elements.\n *\n * Querying all tabbable items.\n *\n * @returns {{first: HTMLElement, last: HTMLElement, all: HTMLElement[]}} Returns an object with various elements.\n */\n private getFocusable(): {\n first: HTMLElement | undefined;\n last: HTMLElement | undefined;\n all: HTMLElement[];\n } {\n const elements: HTMLElement[] = [];\n\n // Add tabbable elements inside light DOM\n const tabbableItems = this.querySelectorAll<HTMLElement>(selectorTabbable);\n if (tabbableItems?.length) {\n elements.push(...tabbableItems);\n }\n\n // Flatten NodeList arrays and filter for focusable items\n const all = elements?.filter(\n (el): el is HTMLElement => typeof el?.focus === 'function'\n );\n\n return {\n first: all[0],\n last: all[all.length - 1],\n all,\n };\n }\n\n /**\n * Handles `click` event on the modal container.\n *\n * @param event The event.\n */\n private _handleClickContainer(event: MouseEvent) {\n if (\n (event.target as Element).matches(\n (this.constructor as typeof CDSModal).selectorCloseButton\n ) &&\n !this.preventClose\n ) {\n this._handleUserInitiatedClose(event.target);\n }\n }\n\n /**\n * Handles user-initiated close request of this modal.\n *\n * @param triggeredBy The element that triggered this close request.\n */\n private _handleUserInitiatedClose(triggeredBy: EventTarget | null) {\n if (this.open) {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n triggeredBy,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSModal).eventBeforeClose,\n init\n )\n )\n ) {\n this.open = false;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSModal).eventClose,\n init\n )\n );\n }\n }\n }\n\n /**\n * Handles `slotchange` event.\n */\n private _handleSlotChange() {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n this.querySelector(`${prefix}-modal-footer`)\n ? this.setAttribute('has-footer', '')\n : this.removeAttribute('has-footer');\n }\n\n /**\n * Specify whether the Modal is displaying an alert, error or warning.\n * Should go hand in hand with the danger prop.\n */\n @property({ type: Boolean, reflect: true })\n alert = false;\n\n /**\n * Specify text for the accessibility label of the header\n */\n @property({ attribute: 'aria-label' })\n ariaLabel = '';\n\n /**\n * The additional CSS class names for the container <div> of the element.\n */\n @property({ attribute: 'container-class' })\n containerClass = '';\n\n /**\n * Specify whether or not the Modal content should have any inner padding.\n */\n @property({ type: Boolean, reflect: true, attribute: 'full-width' })\n fullWidth = false;\n\n /**\n * Specify whether the modal contains scrolling content\n */\n @property({\n type: Boolean,\n reflect: true,\n attribute: 'has-scrolling-content',\n })\n hasScrollingContent = false;\n\n /**\n * `true` if the modal should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * Modal size.\n */\n @property({ reflect: true })\n size = MODAL_SIZE.MEDIUM;\n\n /**\n * Prevent closing on click outside of modal\n */\n @property({ type: Boolean, attribute: 'prevent-close-on-click-outside' })\n preventCloseOnClickOutside = false;\n\n /**\n * Specify the loading status\n */\n @property({ reflect: true, attribute: 'loading-status' })\n loadingStatus: 'inactive' | 'active' | 'finished' | 'error' = 'inactive';\n\n /**\n * Specify the description for the loading text\n */\n @property({ type: String, attribute: 'loading-description' })\n loadingDescription = '';\n\n /**\n * Provide a delay for the setTimeout for success\n */\n @property({ type: Number, attribute: 'loading-success-delay' })\n loadingSuccessDelay = 1500;\n\n /**\n * Specify the description for the loading icon\n */\n @property({ type: String, attribute: 'loading-icon-description' })\n loadingIconDescription = 'Loading';\n\n /**\n * Specify if Enter key should be used as \"submit\" action that clicks the primary footer button\n */\n @property({\n type: Boolean,\n reflect: true,\n attribute: 'should-submit-on-enter',\n })\n shouldSubmitOnEnter = false;\n\n /**\n * Prevent the modal from closing after clicking the close button\n */\n @property({ type: Boolean, attribute: 'prevent-close' })\n preventClose = false;\n\n // Initializes the inline-loading element\n private _initializeLoadingEl(footer: CDSModalFooter) {\n if (!footer) return null;\n\n if (\n !this._loadingEl &&\n this.WORKING_LOADING_STATUSES.includes(this.loadingStatus)\n ) {\n const el = document.createElement(`${prefix}-inline-loading`);\n el.setAttribute('controlled', '');\n el.setAttribute('aria-live', 'off');\n footer.appendChild(el);\n this._loadingEl = el as HTMLElement;\n }\n return this._loadingEl;\n }\n\n private _getFooterElements() {\n const footer = this.querySelector(`${prefix}-modal-footer`);\n\n const primaryButton =\n this.querySelector<HTMLElement>(\n `${prefix}-modal-footer-button[kind=\"primary\"]`\n ) ||\n this.querySelector<HTMLElement>(\n `${prefix}-modal-footer-button[kind=\"danger\"]`\n ) ||\n null;\n\n const secondaryButtons = Array.from(\n this.querySelectorAll<HTMLElement>(\n `${prefix}-modal-footer-button[kind=\"secondary\"]`\n )\n );\n\n return { footer, primaryButton, secondaryButtons };\n }\n\n // Updates the inline loading element in the modal footer\n private _updateLoadingElement() {\n const { footer, primaryButton, secondaryButtons } =\n this._getFooterElements();\n\n const loader = this._initializeLoadingEl(footer as CDSModalFooter);\n if (!footer || !loader || !primaryButton) return;\n\n if (this.WORKING_LOADING_STATUSES.includes(this.loadingStatus)) {\n loader.style.display = 'inline-flex';\n loader.setAttribute('status', String(this.loadingStatus));\n loader.setAttribute('aria-live', 'assertive');\n loader.setAttribute(\n 'icon-description',\n String(this.loadingIconDescription)\n );\n loader.textContent = this.loadingDescription;\n primaryButton.style.display = 'none';\n\n if (secondaryButtons[0]) {\n if (!footer.hasAttribute('has-three-buttons')) {\n secondaryButtons[0].setAttribute('disabled', '');\n } else {\n secondaryButtons.forEach((b) => b.removeAttribute('disabled'));\n }\n }\n\n if (this.loadingStatus === 'finished') {\n // fire event for successful load\n setTimeout(() => {\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSModal).eventOnLoadingSuccess,\n {\n bubbles: true,\n cancelable: true,\n composed: true,\n }\n )\n );\n }, this.loadingSuccessDelay);\n }\n } else if (this.loadingStatus === 'inactive') {\n loader.style.display = 'none';\n loader.setAttribute('aria-live', 'off');\n\n if (primaryButton) primaryButton.style.display = '';\n if (secondaryButtons)\n secondaryButtons.forEach((b) => b.removeAttribute('disabled'));\n }\n }\n\n async firstUpdated() {\n const body = this.querySelector(\n (this.constructor as typeof CDSModal).selectorModalBody\n );\n\n if (!body) {\n const bodyElement = document.createElement(\n (this.constructor as typeof CDSModal).selectorModalBody\n );\n this.appendChild(bodyElement);\n }\n }\n\n /**\n * Computes the aria-label of the modal based on (in order of highest to lowest precedence):\n * - `modal-label`\n * - `aria-label`\n * - `modal-heading`\n */\n private _computeAriaLabel(): string {\n const labelEl = this.querySelector(`${prefix}-modal-label`);\n const label = labelEl?.textContent?.trim();\n if (label) return label;\n\n const ariaLabel = this.ariaLabel?.trim();\n if (ariaLabel) return ariaLabel;\n\n const headingEl = this.querySelector(`${prefix}-modal-heading`);\n const heading = headingEl?.textContent?.trim();\n return heading || '';\n }\n\n /**\n * Observes the modal footer's `has-three-buttons` attribute to account for cases\n * where the loading status and the amount of footer-buttons\n * are being changed dynamically\n */\n private _observeFooter() {\n const footer = this.querySelector(`${prefix}-modal-footer`);\n if (!footer) return;\n\n this._footerObserver = new MutationObserver(() => {\n this._updateLoadingElement();\n });\n this._footerObserver.observe(footer, {\n attributes: true,\n childList: true,\n attributeFilter: ['has-three-buttons'],\n });\n }\n\n /**\n * Observes the modal header to account for cases where the modal-heading,\n * modal-label, and/or `aria-label` are dynamically changing\n * to update the `aria-label` put on the modal\n */\n private _observeHeader() {\n const header = this.querySelector(`${prefix}-modal-header`);\n if (!header) return;\n\n this._headerObserver = new MutationObserver(() => {\n this.requestUpdate('ariaLabel');\n });\n this._headerObserver.observe(header, {\n subtree: true,\n characterData: true,\n childList: true,\n });\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n this._observeFooter();\n this._observeHeader();\n }\n\n disconnectedCallback() {\n this._footerObserver?.disconnect();\n this._headerObserver?.disconnect();\n super.disconnectedCallback?.();\n }\n\n render() {\n const { alert, size, hasScrollingContent } = this;\n const containerClass = this.containerClass\n .split(' ')\n .filter(Boolean)\n .reduce((acc, item) => ({ ...acc, [item]: true }), {});\n const containerClasses = classMap({\n [`${prefix}--modal-container`]: true,\n [`${prefix}--modal-container--${size}`]: size,\n ...containerClass,\n });\n return html`\n <div\n aria-label=${this._computeAriaLabel()}\n part=\"dialog\"\n class=${containerClasses}\n aria-modal=${true}\n role=\"${alert ? 'alert' : 'dialog'}\"\n tabindex=\"-1\"\n @click=${this._handleClickContainer}>\n <slot @slotchange=\"${this._handleSlotChange}\"></slot>\n ${hasScrollingContent\n ? html` <div class=\"cds-custom--modal-content--overflow-indicator\"></div> `\n : ``}\n </div>\n `;\n }\n\n async updated(changedProperties) {\n if (changedProperties.has('open')) {\n if (this.open) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n this._launcher = this.ownerDocument!.activeElement;\n const primaryFocusNode = this.querySelector(\n (this.constructor as typeof CDSModal).selectorPrimaryFocus\n );\n await (this.constructor as typeof CDSModal)._delay();\n if (primaryFocusNode) {\n // For cases where a `carbon-web-components` component (e.g. `<cds-custom-button>`) being `primaryFocusNode`,\n // where its first update/render cycle that makes it focusable happens after `<cds-custom-modal>`'s first update/render cycle\n (primaryFocusNode as HTMLElement).focus();\n } else {\n const { primaryButton, secondaryButtons } = this._getFooterElements();\n\n if (primaryButton) {\n const kind = primaryButton?.getAttribute('kind');\n\n if (kind === 'danger' && secondaryButtons[0]) {\n secondaryButtons[0].focus();\n } else {\n primaryButton.focus();\n }\n } else {\n const { first } = this.getFocusable();\n\n first?.focus();\n }\n }\n } else if (\n this._launcher &&\n typeof (this._launcher as HTMLElement).focus === 'function'\n ) {\n (this._launcher as HTMLElement).focus();\n this._launcher = null;\n }\n }\n if (\n changedProperties.has('loadingStatus') ||\n changedProperties.has('loadingDescription') ||\n changedProperties.has('loadingSuccessDelay') ||\n changedProperties.has('loadingIconDescription')\n ) {\n await (this.constructor as typeof CDSModal)._delay();\n this._updateLoadingElement();\n }\n }\n\n /**\n * @param ms The number of milliseconds.\n * @returns A promise that is resolves after the given milliseconds.\n */\n private static _delay(ms = 0) {\n return new Promise((resolve) => {\n setTimeout(resolve, ms);\n });\n }\n\n /**\n * A selector selecting buttons that should close this modal.\n */\n static get selectorCloseButton() {\n return `[data-modal-close],${prefix}-modal-close-button`;\n }\n\n /**\n * A selector selecting tabbable nodes.\n */\n static get selectorTabbable() {\n return selectorTabbable;\n }\n\n /**\n * A selector selecting the nodes that should be focused when modal gets open.\n */\n static get selectorPrimaryFocus() {\n return `[data-modal-primary-focus],${prefix}-modal-footer ${prefix}-button[kind=\"primary\"]`;\n }\n\n /**\n * A selector selecting the modal body component\n */\n static get selectorModalBody() {\n return `${prefix}-modal-body`;\n }\n\n /**\n * The name of the custom event fired before this modal is being closed upon a user gesture.\n * Cancellation of this event stops the user-initiated action of closing this modal.\n */\n static get eventBeforeClose() {\n return `${prefix}-modal-beingclosed`;\n }\n\n /**\n * The name of the custom event fired after this modal is closed upon a user gesture.\n */\n static get eventClose() {\n return `${prefix}-modal-closed`;\n }\n\n /**\n * The name of the custom event fired when this modal reaches a `finished` loading state\n */\n static get eventOnLoadingSuccess() {\n return `${prefix}-modal-on-loadingsuccess`;\n }\n\n static styles = styles;\n}\n\nexport default CDSModal;\n"],"names":["customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"modal.js","sources":["../../../src/components/modal/modal.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { MODAL_SIZE } from './defs';\nimport styles from './modal.scss?lit';\nimport { selectorTabbable } from '../../globals/settings';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport '../inline-loading';\nimport CDSModalFooter from './modal-footer';\n\nexport { MODAL_SIZE };\n\n/**\n * Modal.\n *\n * @element cds-custom-modal\n * @csspart dialog The dialog.\n * @fires cds-custom-modal-beingclosed\n * The custom event fired before this modal is being closed upon a user gesture.\n * Cancellation of this event stops the user-initiated action of closing this modal.\n * @fires cds-custom-modal-closed - The custom event fired after this modal is closed upon a user gesture.\n */\n@customElement(`${prefix}-modal`)\nclass CDSModal extends HostListenerMixin(LitElement) {\n /**\n * The element that had focus before this modal gets open.\n */\n private _launcher: Element | null = null;\n\n /**\n * The inline loading element that renders when `loading-status` is not `inactive`\n */\n private _loadingEl: HTMLElement | null = null;\n\n /**\n * MutationObserver that observes the modal-footer\n */\n private _footerObserver?: MutationObserver;\n\n /**\n * MutationObserver that observes the modal-header\n */\n private _headerObserver?: MutationObserver;\n\n /**\n * Loading statuses that are not `inactive`\n */\n private WORKING_LOADING_STATUSES = ['active', 'finished', 'error'];\n\n /**\n * Handles `click` event on this element.\n *\n * @param event The event.\n */\n @HostListener('click')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleClick = (event: MouseEvent) => {\n if (\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n event.composedPath().indexOf(this.shadowRoot!) < 0 &&\n !this.preventCloseOnClickOutside\n ) {\n this._handleUserInitiatedClose(event.target);\n }\n };\n\n /**\n * Handle the keydown event.\n * Trap the focus inside the side-panel by tracking keydown.key == `Tab`\n *\n * @param {KeyboardEvent} event The keyboard event object.\n */\n @HostListener('keydown')\n protected _handleHostKeydown = (event: KeyboardEvent) => {\n const target = event.target as HTMLElement | null;\n const { primaryButton } = this._getFooterElements();\n\n if (\n this.open &&\n this.shouldSubmitOnEnter &&\n event.key === 'Enter' &&\n target &&\n document.activeElement !== primaryButton\n ) {\n const closeButton = (this.constructor as typeof CDSModal)\n .selectorCloseButton;\n\n const targetIsCloseButton =\n !!target.closest(closeButton) ||\n !!document.activeElement?.closest?.(closeButton);\n\n if (!targetIsCloseButton) {\n primaryButton?.click();\n return;\n }\n }\n if (event.key === 'Tab') {\n const { first: _firstElement, last: _lastElement } = this.getFocusable();\n\n if (\n event.shiftKey &&\n (this.shadowRoot?.activeElement === _firstElement ||\n document.activeElement === _firstElement)\n ) {\n event.preventDefault();\n\n _lastElement?.focus();\n } else if (!event.shiftKey && document.activeElement === _lastElement) {\n event.preventDefault();\n\n _firstElement?.focus();\n }\n }\n };\n\n @HostListener('document:keydown')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleKeydown = ({ key, target }: KeyboardEvent) => {\n if (key === 'Esc' || key === 'Escape') {\n this._handleUserInitiatedClose(target);\n }\n };\n\n /**\n * Get focusable elements.\n *\n * Querying all tabbable items.\n *\n * @returns {{first: HTMLElement, last: HTMLElement, all: HTMLElement[]}} Returns an object with various elements.\n */\n private getFocusable(): {\n first: HTMLElement | undefined;\n last: HTMLElement | undefined;\n all: HTMLElement[];\n } {\n const elements: HTMLElement[] = [];\n\n // Add tabbable elements inside light DOM\n const tabbableItems = this.querySelectorAll<HTMLElement>(selectorTabbable);\n if (tabbableItems?.length) {\n elements.push(...tabbableItems);\n }\n\n // Flatten NodeList arrays and filter for focusable items\n const all = elements?.filter(\n (el): el is HTMLElement => typeof el?.focus === 'function'\n );\n\n return {\n first: all[0],\n last: all[all.length - 1],\n all,\n };\n }\n\n /**\n * Handles `click` event on the modal container.\n *\n * @param event The event.\n */\n private _handleClickContainer(event: MouseEvent) {\n if (\n (event.target as Element).matches(\n (this.constructor as typeof CDSModal).selectorCloseButton\n ) &&\n !this.preventClose\n ) {\n this._handleUserInitiatedClose(event.target);\n }\n }\n\n /**\n * Handles user-initiated close request of this modal.\n *\n * @param triggeredBy The element that triggered this close request.\n */\n private _handleUserInitiatedClose(triggeredBy: EventTarget | null) {\n if (this.open) {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n triggeredBy,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSModal).eventBeforeClose,\n init\n )\n )\n ) {\n this.open = false;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSModal).eventClose,\n init\n )\n );\n }\n }\n }\n\n /**\n * Handles `slotchange` event.\n */\n private _handleSlotChange() {\n if (this.querySelector(`${prefix}-modal-footer`)) {\n this.setAttribute('has-footer', '');\n } else {\n this.removeAttribute('has-footer');\n }\n }\n\n /**\n * Specify whether the Modal is displaying an alert, error or warning.\n * Should go hand in hand with the danger prop.\n */\n @property({ type: Boolean, reflect: true })\n alert = false;\n\n /**\n * Specify text for the accessibility label of the header\n */\n @property({ attribute: 'aria-label' })\n ariaLabel = '';\n\n /**\n * The additional CSS class names for the container <div> of the element.\n */\n @property({ attribute: 'container-class' })\n containerClass = '';\n\n /**\n * Specify whether or not the Modal content should have any inner padding.\n */\n @property({ type: Boolean, reflect: true, attribute: 'full-width' })\n fullWidth = false;\n\n /**\n * Specify whether the modal contains scrolling content\n */\n @property({\n type: Boolean,\n reflect: true,\n attribute: 'has-scrolling-content',\n })\n hasScrollingContent = false;\n\n /**\n * `true` if the modal should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * Modal size.\n */\n @property({ reflect: true })\n size = MODAL_SIZE.MEDIUM;\n\n /**\n * Prevent closing on click outside of modal\n */\n @property({ type: Boolean, attribute: 'prevent-close-on-click-outside' })\n preventCloseOnClickOutside = false;\n\n /**\n * Specify the loading status\n */\n @property({ reflect: true, attribute: 'loading-status' })\n loadingStatus: 'inactive' | 'active' | 'finished' | 'error' = 'inactive';\n\n /**\n * Specify the description for the loading text\n */\n @property({ type: String, attribute: 'loading-description' })\n loadingDescription = '';\n\n /**\n * Provide a delay for the setTimeout for success\n */\n @property({ type: Number, attribute: 'loading-success-delay' })\n loadingSuccessDelay = 1500;\n\n /**\n * Specify the description for the loading icon\n */\n @property({ type: String, attribute: 'loading-icon-description' })\n loadingIconDescription = 'Loading';\n\n /**\n * Specify if Enter key should be used as \"submit\" action that clicks the primary footer button\n */\n @property({\n type: Boolean,\n reflect: true,\n attribute: 'should-submit-on-enter',\n })\n shouldSubmitOnEnter = false;\n\n /**\n * Prevent the modal from closing after clicking the close button\n */\n @property({ type: Boolean, attribute: 'prevent-close' })\n preventClose = false;\n\n // Initializes the inline-loading element\n private _initializeLoadingEl(footer: CDSModalFooter) {\n if (!footer) return null;\n\n if (\n !this._loadingEl &&\n this.WORKING_LOADING_STATUSES.includes(this.loadingStatus)\n ) {\n const el = document.createElement(`${prefix}-inline-loading`);\n el.setAttribute('controlled', '');\n el.setAttribute('aria-live', 'off');\n footer.appendChild(el);\n this._loadingEl = el as HTMLElement;\n }\n return this._loadingEl;\n }\n\n private _getFooterElements() {\n const footer = this.querySelector(`${prefix}-modal-footer`);\n\n const primaryButton =\n this.querySelector<HTMLElement>(\n `${prefix}-modal-footer-button[kind=\"primary\"]`\n ) ||\n this.querySelector<HTMLElement>(\n `${prefix}-modal-footer-button[kind=\"danger\"]`\n ) ||\n null;\n\n const secondaryButtons = Array.from(\n this.querySelectorAll<HTMLElement>(\n `${prefix}-modal-footer-button[kind=\"secondary\"]`\n )\n );\n\n return { footer, primaryButton, secondaryButtons };\n }\n\n // Updates the inline loading element in the modal footer\n private _updateLoadingElement() {\n const { footer, primaryButton, secondaryButtons } =\n this._getFooterElements();\n\n const loader = this._initializeLoadingEl(footer as CDSModalFooter);\n if (!footer || !loader || !primaryButton) return;\n\n if (this.WORKING_LOADING_STATUSES.includes(this.loadingStatus)) {\n loader.style.display = 'inline-flex';\n loader.setAttribute('status', String(this.loadingStatus));\n loader.setAttribute('aria-live', 'assertive');\n loader.setAttribute(\n 'icon-description',\n String(this.loadingIconDescription)\n );\n loader.textContent = this.loadingDescription;\n primaryButton.style.display = 'none';\n\n if (secondaryButtons[0]) {\n if (!footer.hasAttribute('has-three-buttons')) {\n secondaryButtons[0].setAttribute('disabled', '');\n } else {\n secondaryButtons.forEach((b) => b.removeAttribute('disabled'));\n }\n }\n\n if (this.loadingStatus === 'finished') {\n // fire event for successful load\n setTimeout(() => {\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSModal).eventOnLoadingSuccess,\n {\n bubbles: true,\n cancelable: true,\n composed: true,\n }\n )\n );\n }, this.loadingSuccessDelay);\n }\n } else if (this.loadingStatus === 'inactive') {\n loader.style.display = 'none';\n loader.setAttribute('aria-live', 'off');\n\n if (primaryButton) primaryButton.style.display = '';\n if (secondaryButtons)\n secondaryButtons.forEach((b) => b.removeAttribute('disabled'));\n }\n }\n\n async firstUpdated() {\n const body = this.querySelector(\n (this.constructor as typeof CDSModal).selectorModalBody\n );\n\n if (!body) {\n const bodyElement = document.createElement(\n (this.constructor as typeof CDSModal).selectorModalBody\n );\n this.appendChild(bodyElement);\n }\n }\n\n /**\n * Computes the aria-label of the modal based on (in order of highest to lowest precedence):\n * - `modal-label`\n * - `aria-label`\n * - `modal-heading`\n */\n private _computeAriaLabel(): string {\n const labelEl = this.querySelector(`${prefix}-modal-label`);\n const label = labelEl?.textContent?.trim();\n if (label) return label;\n\n const ariaLabel = this.ariaLabel?.trim();\n if (ariaLabel) return ariaLabel;\n\n const headingEl = this.querySelector(`${prefix}-modal-heading`);\n const heading = headingEl?.textContent?.trim();\n return heading || '';\n }\n\n /**\n * Observes the modal footer's `has-three-buttons` attribute to account for cases\n * where the loading status and the amount of footer-buttons\n * are being changed dynamically\n */\n private _observeFooter() {\n const footer = this.querySelector(`${prefix}-modal-footer`);\n if (!footer) return;\n\n this._footerObserver = new MutationObserver(() => {\n this._updateLoadingElement();\n });\n this._footerObserver.observe(footer, {\n attributes: true,\n childList: true,\n attributeFilter: ['has-three-buttons'],\n });\n }\n\n /**\n * Observes the modal header to account for cases where the modal-heading,\n * modal-label, and/or `aria-label` are dynamically changing\n * to update the `aria-label` put on the modal\n */\n private _observeHeader() {\n const header = this.querySelector(`${prefix}-modal-header`);\n if (!header) return;\n\n this._headerObserver = new MutationObserver(() => {\n this.requestUpdate('ariaLabel');\n });\n this._headerObserver.observe(header, {\n subtree: true,\n characterData: true,\n childList: true,\n });\n }\n\n connectedCallback() {\n super.connectedCallback?.();\n this._observeFooter();\n this._observeHeader();\n }\n\n disconnectedCallback() {\n this._footerObserver?.disconnect();\n this._headerObserver?.disconnect();\n super.disconnectedCallback?.();\n }\n\n render() {\n const { alert, size, hasScrollingContent } = this;\n const containerClass = this.containerClass\n .split(' ')\n .filter(Boolean)\n .reduce((acc, item) => ({ ...acc, [item]: true }), {});\n const containerClasses = classMap({\n [`${prefix}--modal-container`]: true,\n [`${prefix}--modal-container--${size}`]: size,\n ...containerClass,\n });\n return html`\n <div\n aria-label=${this._computeAriaLabel()}\n part=\"dialog\"\n class=${containerClasses}\n aria-modal=${true}\n role=\"${alert ? 'alert' : 'dialog'}\"\n tabindex=\"-1\"\n @click=${this._handleClickContainer}>\n <slot @slotchange=\"${this._handleSlotChange}\"></slot>\n ${hasScrollingContent\n ? html` <div class=\"cds-custom--modal-content--overflow-indicator\"></div> `\n : ``}\n </div>\n `;\n }\n\n async updated(changedProperties) {\n if (changedProperties.has('open')) {\n if (this.open) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n this._launcher = this.ownerDocument!.activeElement;\n const primaryFocusNode = this.querySelector(\n (this.constructor as typeof CDSModal).selectorPrimaryFocus\n );\n await (this.constructor as typeof CDSModal)._delay();\n if (primaryFocusNode) {\n // For cases where a `carbon-web-components` component (e.g. `<cds-custom-button>`) being `primaryFocusNode`,\n // where its first update/render cycle that makes it focusable happens after `<cds-custom-modal>`'s first update/render cycle\n (primaryFocusNode as HTMLElement).focus();\n } else {\n const { primaryButton, secondaryButtons } = this._getFooterElements();\n\n if (primaryButton) {\n const kind = primaryButton?.getAttribute('kind');\n\n if (kind === 'danger' && secondaryButtons[0]) {\n secondaryButtons[0].focus();\n } else {\n primaryButton.focus();\n }\n } else {\n const { first } = this.getFocusable();\n\n first?.focus();\n }\n }\n } else if (\n this._launcher &&\n typeof (this._launcher as HTMLElement).focus === 'function'\n ) {\n (this._launcher as HTMLElement).focus();\n this._launcher = null;\n }\n }\n if (\n changedProperties.has('loadingStatus') ||\n changedProperties.has('loadingDescription') ||\n changedProperties.has('loadingSuccessDelay') ||\n changedProperties.has('loadingIconDescription')\n ) {\n await (this.constructor as typeof CDSModal)._delay();\n this._updateLoadingElement();\n }\n }\n\n /**\n * @param ms The number of milliseconds.\n * @returns A promise that is resolves after the given milliseconds.\n */\n private static _delay(ms = 0) {\n return new Promise((resolve) => {\n setTimeout(resolve, ms);\n });\n }\n\n /**\n * A selector selecting buttons that should close this modal.\n */\n static get selectorCloseButton() {\n return `[data-modal-close],${prefix}-modal-close-button`;\n }\n\n /**\n * A selector selecting tabbable nodes.\n */\n static get selectorTabbable() {\n return selectorTabbable;\n }\n\n /**\n * A selector selecting the nodes that should be focused when modal gets open.\n */\n static get selectorPrimaryFocus() {\n return `[data-modal-primary-focus],${prefix}-modal-footer ${prefix}-button[kind=\"primary\"]`;\n }\n\n /**\n * A selector selecting the modal body component\n */\n static get selectorModalBody() {\n return `${prefix}-modal-body`;\n }\n\n /**\n * The name of the custom event fired before this modal is being closed upon a user gesture.\n * Cancellation of this event stops the user-initiated action of closing this modal.\n */\n static get eventBeforeClose() {\n return `${prefix}-modal-beingclosed`;\n }\n\n /**\n * The name of the custom event fired after this modal is closed upon a user gesture.\n */\n static get eventClose() {\n return `${prefix}-modal-closed`;\n }\n\n /**\n * The name of the custom event fired when this modal reaches a `finished` loading state\n */\n static get eventOnLoadingSuccess() {\n return `${prefix}-modal-on-loadingsuccess`;\n }\n\n static styles = styles;\n}\n\nexport default CDSModal;\n"],"names":["customElement"],"mappings":"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"}
|
|
@@ -528,8 +528,9 @@ let CDSMultiSelect = class CDSMultiSelect extends CDSDropdown {
|
|
|
528
528
|
compareItems: this.compareItems,
|
|
529
529
|
locale,
|
|
530
530
|
});
|
|
531
|
-
|
|
532
|
-
|
|
531
|
+
if (aiLabel) {
|
|
532
|
+
sortedMenuItems.unshift(aiLabel);
|
|
533
|
+
}
|
|
533
534
|
// @todo remove typecast once we've updated to Typescript.
|
|
534
535
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452
|
|
535
536
|
this.replaceChildren(...sortedMenuItems);
|
|
@@ -542,8 +543,9 @@ let CDSMultiSelect = class CDSMultiSelect extends CDSDropdown {
|
|
|
542
543
|
compareItems: this.compareItems,
|
|
543
544
|
locale,
|
|
544
545
|
});
|
|
545
|
-
|
|
546
|
-
|
|
546
|
+
if (aiLabel) {
|
|
547
|
+
sortedMenuItems.unshift(aiLabel);
|
|
548
|
+
}
|
|
547
549
|
// @todo remove typecast once we've updated to Typescript.
|
|
548
550
|
sortedMenuItems.forEach((item) => {
|
|
549
551
|
this.appendChild(item);
|
|
@@ -569,10 +571,12 @@ let CDSMultiSelect = class CDSMultiSelect extends CDSDropdown {
|
|
|
569
571
|
itemToFocus.setAttribute('highlighted', '');
|
|
570
572
|
}
|
|
571
573
|
else {
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
574
|
+
if (this.filterable) {
|
|
575
|
+
this._filterInputNode.focus();
|
|
576
|
+
}
|
|
577
|
+
else {
|
|
578
|
+
this._triggerNode.focus();
|
|
579
|
+
}
|
|
576
580
|
}
|
|
577
581
|
}
|
|
578
582
|
// reorder items so that select all is always at the top of the list
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-select.js","sources":["../../../src/components/multi-select/multi-select.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2020, 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 { html, PropertyValues, TemplateResult } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { prefix } from '../../globals/settings';\nimport Close16 from '@carbon/icons/es/close/16.js';\nimport { filter, forEach } from '../../globals/internal/collection-helpers';\nimport CDSDropdown, {\n DROPDOWN_KEYBOARD_ACTION,\n DROPDOWN_TYPE,\n} from '../dropdown/dropdown';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport { SELECTION_FEEDBACK_OPTION } from './defs';\nimport CDSMultiSelectItem from './multi-select-item';\nimport styles from './multi-select.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport {\n DROPDOWN_SIZE,\n DROPDOWN_TYPE,\n DROPDOWN_DIRECTION,\n} from '../dropdown/dropdown';\n\nexport { SELECTION_FEEDBACK_OPTION };\n\n/**\n * Multi select.\n *\n * @element cds-custom-multi-select\n * @fires cds-custom-multi-select-beingselected\n * The custom event fired before a multi select item is selected upon a user gesture.\n * Cancellation of this event stops changing the user-initiated selection.\n * @fires cds-custom-multi-select-selected - The custom event fired after a multi select item is selected upon a user gesture.\n * @fires cds-custom-multi-select-beingtoggled\n * The custom event fired before the open state of this multi select is toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated toggling.\n * @fires cds-custom-multi-select-toggled\n * The custom event fired after the open state of this multi select is toggled upon a user gesture.\n */\n@customElement(`${prefix}-multi-select`)\nclass CDSMultiSelect extends CDSDropdown {\n @property({ type: Boolean })\n filterable;\n\n /**\n * The count of selected items.\n */\n private _selectedItemsCount = 0;\n\n /**\n * The clear button.\n */\n @query('#clear-button')\n private _clearButtonNode!: HTMLElement;\n\n /**\n * The selection button.\n */\n @query('#selection-button')\n private _selectionButtonNode!: HTMLElement;\n\n /**\n * The `<input>` for filtering.\n */\n @query('input')\n private _filterInputNode!: HTMLInputElement;\n\n protected get _supportsMenuInputFiltering() {\n return Boolean(this.filterable);\n }\n\n protected willUpdate(changedProperties: PropertyValues) {\n this._shouldTriggerBeFocusable = !this.filterable;\n super.willUpdate(changedProperties);\n }\n\n protected get _menuInputNode(): HTMLInputElement | null {\n return this.filterable ? (this._filterInputNode ?? null) : null;\n }\n\n protected _clearMenuInputFiltering() {\n if (this.filterable) {\n this._handleUserInitiatedClearInput();\n }\n }\n\n protected _shouldClearMenuInputOnEscape({\n menuOpen,\n isInputTarget,\n }: {\n event: KeyboardEvent;\n menuOpen: boolean;\n isInputTarget: boolean;\n }) {\n if (!menuOpen) {\n return true;\n }\n\n if (!isInputTarget) {\n return false;\n }\n\n return Boolean(this._filterInputNode?.value);\n }\n\n /**\n * The trigger button.\n */\n @query(`.${prefix}--list-box__field`)\n private _triggerNode!: HTMLElement;\n\n protected _selectionShouldChange(itemToSelect?: CDSMultiSelectItem) {\n // If we are selecting an item, assumes we always toggle\n return Boolean(this.value || itemToSelect);\n }\n\n protected _selectionDidChange(itemToSelect?: CDSMultiSelectItem) {\n const allItems = Array.from(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n )\n ) as CDSMultiSelectItem[];\n\n // clicked \"select all\" when it was indeterminate\n if (itemToSelect?.isSelectAll && itemToSelect.indeterminate) {\n allItems.forEach((i) => {\n i.selected = false;\n i.indeterminate = false;\n });\n this.value = '';\n return;\n }\n\n if (itemToSelect) {\n // clicked select all\n if (itemToSelect.isSelectAll) {\n const items = this.filterable\n ? Array.from(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItemResults\n )\n )\n : allItems;\n items.forEach((i) => {\n if (\n !(i as CDSMultiSelectItem).isSelectAll &&\n !(i as CDSMultiSelectItem).disabled\n ) {\n (i as CDSMultiSelectItem).selected = !itemToSelect.selected;\n }\n (i as CDSMultiSelectItem).indeterminate = false;\n });\n itemToSelect.selected = !itemToSelect.selected;\n // clicked regular item\n } else {\n itemToSelect.selected = !itemToSelect.selected;\n }\n } else {\n forEach(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItemSelected\n ),\n (item) => {\n (item as CDSMultiSelectItem).selected = false;\n }\n );\n this._handleUserInitiatedToggle(false);\n }\n if (this.selectAll) this._computeSelectAllState();\n // Change in `.selected` hasn't been reflected to the corresponding attribute yet\n this.value = filter(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n ),\n (item) => (item as CDSMultiSelectItem).selected\n )\n .map((item) => (item as CDSMultiSelectItem).value)\n .join(',');\n }\n\n // Keep the menu open for individual selections, close only when clearing.\n\n protected _shouldCloseAfterSelection(item?: CDSMultiSelectItem) {\n return !item;\n }\n\n protected _handleClickInner(event: MouseEvent) {\n const clickedItem = (event.target as HTMLElement).closest(\n `${prefix}-multi-select-item`\n ) as CDSMultiSelectItem | null;\n if (\n this._selectionButtonNode?.contains(event.target as Node) &&\n !this.readOnly\n ) {\n this._handleUserInitiatedSelectItem();\n if (this.filterable) {\n this._filterInputNode.focus();\n } else {\n this._triggerNode.focus();\n }\n } else if (clickedItem && !clickedItem.hasAttribute('disabled')) {\n // Handle focus highlight\n const allItems = this.querySelectorAll(`${prefix}-multi-select-item`);\n allItems.forEach((el) => el.removeAttribute('highlighted'));\n clickedItem.setAttribute('highlighted', '');\n this._handleUserInitiatedSelectItem(clickedItem);\n this.setAttribute('item-clicked', '');\n if (this.filterable) {\n this._filterInputNode.focus();\n }\n } else if (this._clearButtonNode?.contains(event.target as Node)) {\n this._handleUserInitiatedClearInput();\n } else if (\n !(event.target as HTMLElement)?.matches(\n (this.constructor as typeof CDSMultiSelect).aiLabelItem\n ) &&\n // remove reference to slug in v12\n !(event.target as HTMLElement)?.matches(\n (this.constructor as typeof CDSMultiSelect).slugItem\n )\n ) {\n super._handleClickInner(event);\n if (this.filterable) {\n this._filterInputNode.focus();\n }\n }\n }\n\n /**\n * Handler for the `keypress` event, ensures filter still works upon entering space\n */\n protected _handleKeypressInner(event: KeyboardEvent) {\n const { key } = event;\n const action = (this.constructor as typeof CDSDropdown).getAction(key);\n const { TRIGGERING } = DROPDOWN_KEYBOARD_ACTION;\n\n if (\n this._clearButtonNode?.contains(event.target as Node) &&\n // Space key should be handled by `<input>` unless \"clear selection\" button has focus\n (action === TRIGGERING || key === ' ')\n ) {\n this._handleUserInitiatedClearInput();\n } else if (this._selectionButtonNode?.contains(event.target as Node)) {\n this._handleUserInitiatedSelectItem();\n this.open = true;\n if (this.filterable) {\n this._filterInputNode.focus();\n } else {\n this._triggerNode.focus();\n }\n } else if (this.filterable) {\n this._handleKeypressInnerFlterable(event);\n } else {\n super._handleKeypressInner(event);\n }\n }\n\n protected _handleMouseoverInner(event: MouseEvent) {\n const item = this._getDropdownItemFromEvent(event);\n const isFiltering =\n this.filterable && Boolean(this._filterInputNode?.value.length);\n\n if (\n !item ||\n isFiltering ||\n !item.hasAttribute('selected') ||\n !item.hasAttribute('highlighted')\n ) {\n return;\n }\n\n super._handleMouseoverInner(event);\n }\n\n protected _handleMouseleaveInner(event: MouseEvent) {\n const constructor = this.constructor as typeof CDSMultiSelect;\n const isFiltering =\n this.filterable && Boolean(this._filterInputNode?.value.length);\n const highlightedItem = this.querySelector(\n constructor.selectorItemHighlighted\n ) as CDSMultiSelectItem | null;\n\n if (isFiltering || highlightedItem?.hasAttribute('selected')) {\n return;\n }\n\n super._handleMouseleaveInner(event);\n }\n\n /**\n * Special andler for the `keypress` event, ensures space selection for filterable\n * variation is disabled\n */\n\n protected _handleKeypressInnerFlterable(event: KeyboardEvent) {\n const { key } = event;\n const action = (this.constructor as typeof CDSDropdown).getAction(key);\n if (!this.open) {\n switch (action) {\n case DROPDOWN_KEYBOARD_ACTION.TRIGGERING:\n this._handleUserInitiatedToggle(true);\n break;\n default:\n break;\n }\n } else {\n switch (key) {\n case 'Enter':\n {\n const constructor = this.constructor as typeof CDSDropdown;\n const highlightedItem = this.querySelector(\n constructor.selectorItemHighlighted\n ) as CDSMultiSelectItem;\n if (highlightedItem) {\n this._handleUserInitiatedSelectItem(highlightedItem);\n } else {\n this._handleUserInitiatedToggle(false);\n }\n }\n break;\n default:\n break;\n }\n }\n }\n\n protected _renderTitleLabel() {\n const {\n clearSelectionDescription,\n clearSelectionText,\n disabled,\n hideLabel,\n titleText,\n _selectedItemsCount: selectedItemsCount,\n _slotTitleTextNode: slotTitleTextNode,\n _handleSlotchangeLabelText: handleSlotchangeLabelText,\n } = this;\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: disabled,\n [`${prefix}--visually-hidden`]: hideLabel,\n });\n\n const hasTitleText =\n titleText ||\n (slotTitleTextNode && slotTitleTextNode.assignedNodes().length > 0);\n\n return html`\n <label\n part=\"title-text\"\n class=\"${labelClasses}\"\n ?hidden=\"${!hasTitleText}\">\n <slot name=\"title-text\" @slotchange=\"${handleSlotchangeLabelText}\"\n >${titleText}</slot\n >\n ${selectedItemsCount > 0\n ? html`\n <span class=\"${prefix}--visually-hidden\">\n ${clearSelectionDescription} ${selectedItemsCount},\n ${clearSelectionText}\n </span>\n `\n : null}\n </label>\n `;\n }\n\n protected _renderPrecedingLabel() {\n const {\n disabled,\n readOnly,\n clearSelectionLabel,\n _selectedItemsCount: selectedItemsCount,\n } = this;\n\n const selectionButtonClasses = classMap({\n [`${prefix}--list-box__selection`]: true,\n [`${prefix}--list-box__selection--multi`]: true,\n [`${prefix}--tag`]: true,\n [`${prefix}--tag--filter`]: true,\n [`${prefix}--tag--high-contrast`]: true,\n [`${prefix}--tag--disabled`]: disabled,\n });\n return selectedItemsCount === 0\n ? undefined\n : html`\n <div\n id=\"selection-button\"\n role=\"button\"\n class=\"${selectionButtonClasses}\"\n tabindex=\"-1\"\n aria-disabled=${readOnly}\n title=\"${clearSelectionLabel}\">\n ${selectedItemsCount}\n ${iconLoader(Close16, {\n 'aria-label': clearSelectionLabel,\n class: `${prefix}--tag__close-icon`,\n })}\n </div>\n `;\n }\n\n /**\n @returns The main content of the trigger button.\n */\n protected _renderLabel(): TemplateResult {\n const { label, value, _selectedItemContent: selectedItemContent } = this;\n\n const inputClasses = classMap({\n [`${prefix}--text-input`]: true,\n [`${prefix}--text-input--empty`]: !value,\n });\n\n return !this.filterable\n ? html`\n <span id=\"trigger-label\" class=\"${prefix}--list-box__label\"\n >${selectedItemContent || label}</span\n >\n `\n : html`\n <input\n id=\"trigger-label\"\n class=\"${inputClasses}\"\n placeholder=\"${label}\"\n role=\"combobox\"\n aria-controls=\"menu-body\"\n aria-expanded=\"${String(this.open)}\"\n aria-autocomplete=\"list\"\n @input=\"${this._handleInput}\" />\n `;\n }\n\n protected _renderFollowingLabel(): TemplateResult | undefined {\n const { clearSelectionLabel, _filterInputNode: filterInputNode } = this;\n return filterInputNode &&\n filterInputNode.value.length > 0 &&\n this.filterable\n ? html`\n <div\n id=\"clear-button\"\n role=\"button\"\n class=\"${prefix}--list-box__selection\"\n tabindex=\"0\"\n title=\"${clearSelectionLabel}\">\n ${iconLoader(Close16, { 'aria-label': clearSelectionLabel })}\n </div>\n `\n : undefined;\n }\n\n /**\n * Handles `input` event on the `<input>` for filtering.\n */\n protected _handleInput() {\n const items = this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n );\n const inputValue = this._filterInputNode.value.toLocaleLowerCase();\n this.toggleAttribute('has-value', inputValue.length > 0);\n\n if (!this.open) {\n this.open = true;\n }\n\n forEach(items, (item) => {\n // always show the selectAll item\n if ((item as CDSMultiSelectItem).isSelectAll) {\n item.removeAttribute('filtered');\n return;\n }\n const itemValue = (item as HTMLElement).innerText.toLocaleLowerCase();\n\n if (!itemValue.includes(inputValue)) {\n (item as CDSMultiSelectItem).setAttribute('filtered', '');\n (item as CDSMultiSelectItem).removeAttribute('highlighted');\n } else {\n (item as CDSMultiSelectItem).removeAttribute('filtered');\n }\n });\n\n this.requestUpdate();\n\n if (this.selectAll) {\n const selectAllItem = this.querySelector(\n `${prefix}-multi-select-item[is-select-all]`\n ) as CDSMultiSelectItem;\n if (selectAllItem) {\n const visible = Array.from(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItemResults\n )\n ) as CDSMultiSelectItem[];\n const actionable = visible.filter((i) => !i.isSelectAll && !i.disabled);\n if (actionable.length === 0) {\n selectAllItem.setAttribute('filtered', '');\n } else {\n selectAllItem.removeAttribute('filtered');\n this._computeSelectAllState();\n }\n }\n }\n\n const constructor = this.constructor as typeof CDSMultiSelect;\n const visibleItems = Array.from(\n this.querySelectorAll(constructor.selectorItemResults)\n ) as CDSMultiSelectItem[];\n\n if (visibleItems.length > 0) {\n visibleItems.forEach((i) => i.removeAttribute('highlighted'));\n this.setAttribute('item-clicked', '');\n const first = visibleItems[0] as HTMLElement;\n first.setAttribute('highlighted', '');\n first.focus();\n } else {\n this._filterInputNode.focus();\n }\n }\n\n /**\n * Navigate through dropdown items.\n *\n * @param direction `-1` to navigate backward, `1` to navigate forward.\n */\n protected _navigate(direction: number) {\n super._navigate(direction);\n if (this.filterable) {\n this.setAttribute('item-clicked', '');\n } else {\n this._triggerNode.classList.add('no-focus-style');\n }\n }\n\n /**\n * Handles user-initiated clearing the `<input>` for filtering.\n */\n protected _handleUserInitiatedClearInput() {\n const constructor = this.constructor as typeof CDSMultiSelect;\n const items = this.querySelectorAll(constructor.selectorItemFiltered);\n this._filterInputNode.value = '';\n this.open = true;\n this._filterInputNode.focus();\n forEach(items, (item) => {\n (item as CDSMultiSelectItem).removeAttribute('filtered');\n });\n this._filterInputNode.dispatchEvent(\n new Event('input', { bubbles: true, composed: true })\n );\n }\n\n /**\n * The `aria-label` attribute for the icon to clear selection.\n */\n @property({ attribute: 'clear-selection-label' })\n clearSelectionLabel = '';\n\n /**\n * Specify the text that should be read for screen readers that describes total items selected\n */\n @property({ attribute: 'clear-selection-description' })\n clearSelectionDescription = 'Total items selected: ';\n\n /**\n * Specify the text that should be read for screen readers to clear selection.\n */\n @property({ attribute: 'clear-selection-text' })\n clearSelectionText = 'To clear selection, press Delete or Backspace.';\n\n /**\n * Specify the locale of the control. Used for the default compareItems used for sorting the list of items in the control.\n */\n @property()\n locale = 'en';\n\n /**\n * Enables rendering of a “Select all” multi-select-item\n */\n @property({ type: Boolean, reflect: true, attribute: 'select-all' })\n selectAll = false;\n\n /**\n * Specify feedback (mode) of the selection.\n * `top`: selected item jumps to top\n * `fixed`: selected item stays at it's position\n * `top-after-reopen`: selected item jump to top after reopen dropdown\n */\n @property({ attribute: 'selection-feedback' })\n selectionFeedback = SELECTION_FEEDBACK_OPTION.TOP_AFTER_REOPEN;\n\n /**\n * The CSS class list for multi-select listbox\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452\n protected get _classes(): any {\n const {\n disabled,\n size,\n type,\n invalid,\n readOnly,\n open,\n warn,\n _selectedItemsCount: selectedItemsCount,\n } = this;\n const inline = type === DROPDOWN_TYPE.INLINE;\n\n const isInteractive = !readOnly && !disabled;\n\n const normalizedProps: {\n invalid: boolean;\n warn: boolean;\n } = {\n invalid: isInteractive && invalid,\n warn: isInteractive && !invalid && warn,\n };\n\n return classMap({\n [`${prefix}--multi-select`]: true,\n [`${prefix}--list-box`]: true,\n [`${prefix}--list-box--disabled`]: disabled,\n [`${prefix}--list-box--inline`]: inline,\n [`${prefix}--list-box--expanded`]: open,\n [`${prefix}--list-box--${size}`]: size,\n [`${prefix}--multi-select--invalid`]: normalizedProps.invalid,\n [`${prefix}--multi-select--warn`]: normalizedProps.warn,\n [`${prefix}--multi-select--inline`]: inline,\n [`${prefix}--multi-select--readonly`]: readOnly,\n [`${prefix}--multi-select--selected`]: selectedItemsCount > 0,\n [`${prefix}--list-box__wrapper--decorator`]: this._hasAILabel, // inherited from CDSDropdown\n [`${prefix}--multi-select--selectall`]: this.selectAll,\n });\n }\n\n protected compareItems = (itemA, itemB, { locale }) => {\n itemA.localeCompare(itemB, locale, { numeric: true });\n };\n\n protected sortItems = (\n menuItems: NodeList,\n { values, compareItems, locale = 'en' }\n ) => {\n const menuItemsArray = Array.from(menuItems);\n\n const sortedArray = menuItemsArray.sort((itemA, itemB) => {\n const hasItemA = values.includes((itemA as HTMLInputElement).value);\n const hasItemB = values.includes((itemB as HTMLInputElement).value);\n\n // Prefer whichever item is in the `value` array first\n if (hasItemA && !hasItemB) {\n return -1;\n }\n\n if (hasItemB && !hasItemA) {\n return 1;\n }\n\n return compareItems(\n (itemA as HTMLInputElement).value,\n (itemB as HTMLInputElement).value,\n {\n locale,\n }\n );\n });\n\n return sortedArray;\n };\n\n shouldUpdate(changedProperties) {\n const { selectorItem, aiLabelItem, slugItem } = this\n .constructor as typeof CDSMultiSelect;\n const aiLabel =\n this.querySelector(aiLabelItem) || this.querySelector(slugItem);\n const items = this.querySelectorAll(selectorItem);\n\n const { value, locale } = this;\n const values = !value ? [] : value.split(',');\n\n if (changedProperties.has('size')) {\n forEach(this.querySelectorAll(selectorItem), (elem) => {\n (elem as CDSMultiSelectItem).size = this.size;\n });\n }\n if (changedProperties.has('value')) {\n // Updates selection beforehand because our rendering logic for `<cds-custom-multi-select>` looks for selected items via `qSA()`\n forEach(items, (elem) => {\n (elem as CDSMultiSelectItem).selected =\n values.indexOf((elem as CDSMultiSelectItem).value) >= 0;\n });\n this._selectedItemsCount = filter(\n items,\n (elem) =>\n values.indexOf((elem as CDSMultiSelectItem).value) >= 0 &&\n !(elem as CDSMultiSelectItem).isSelectAll\n ).length;\n\n if (this.selectionFeedback === SELECTION_FEEDBACK_OPTION.TOP) {\n const sortedMenuItems = this.sortItems(items, {\n values,\n compareItems: this.compareItems,\n locale,\n });\n\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n aiLabel ? sortedMenuItems.unshift(aiLabel as Node) : '';\n // @todo remove typecast once we've updated to Typescript.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452\n (this as any).replaceChildren(...sortedMenuItems);\n }\n }\n if (changedProperties.has('open')) {\n if (\n this.selectionFeedback === SELECTION_FEEDBACK_OPTION.TOP_AFTER_REOPEN\n ) {\n const sortedMenuItems = this.sortItems(items, {\n values,\n compareItems: this.compareItems,\n locale,\n });\n\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n aiLabel ? sortedMenuItems.unshift(aiLabel as Node) : '';\n // @todo remove typecast once we've updated to Typescript.\n sortedMenuItems.forEach((item) => {\n this.appendChild(item);\n });\n }\n }\n return true;\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n\n if (changedProperties.has('open') && this.open) {\n const selectedItems = Array.from(\n this.querySelectorAll(`${prefix}-multi-select-item[selected]`)\n ) as CDSMultiSelectItem[];\n\n if (selectedItems.length > 0) {\n let itemToFocus: HTMLElement | null = null;\n if (this.selectAll) {\n itemToFocus = this.querySelector(\n `${prefix}-multi-select-item[is-select-all]`\n ) as CDSMultiSelectItem;\n }\n if (!itemToFocus) {\n itemToFocus = selectedItems[0] as HTMLElement;\n }\n this.setAttribute('item-clicked', '');\n itemToFocus.focus();\n itemToFocus.setAttribute('highlighted', '');\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n this.filterable\n ? this._filterInputNode.focus()\n : this._triggerNode.focus();\n }\n }\n // reorder items so that select all is always at the top of the list\n if (this.selectAll && changedProperties.has('open') && this.open) {\n const items = Array.from(\n this.querySelectorAll('cds-custom-multi-select-item')\n ) as CDSMultiSelectItem[];\n\n const selectAllItem = items.find((i) => i.isSelectAll);\n if (selectAllItem) {\n this.appendChild(selectAllItem);\n items\n .filter((i) => i !== selectAllItem)\n .forEach((i) => this.appendChild(i));\n }\n }\n\n // flush the top of the first element\n Array.from(this.querySelectorAll('cds-custom-multi-select-item')).forEach(\n (item, index) => {\n if (index === 0 && !item.hasAttribute('is-select-all')) {\n item.setAttribute('flush-top', '');\n } else if (index === 1 && this.selectAll) {\n item.setAttribute('flush-top', '');\n } else {\n item.removeAttribute('flush-top');\n }\n }\n );\n\n if (changedProperties.has('open') && !this.open) {\n this._triggerNode.classList.remove('no-focus-style');\n this.removeAttribute('item-clicked');\n }\n }\n\n firstUpdated(changedProperties) {\n super.firstUpdated?.(changedProperties);\n\n // whenever more items are added/removed, recompute the state of the select all option\n if (!this.selectAll) return;\n const defaultSlot =\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n this.shadowRoot!.querySelector<HTMLSlotElement>('slot:not([name])')!;\n defaultSlot.addEventListener('slotchange', () =>\n this._computeSelectAllState()\n );\n }\n\n /**\n * Computes the state of the select all option and sets it to either\n * 'selected' or 'indeterminate'\n */\n private _computeSelectAllState() {\n if (!this.selectAll) return;\n\n const allItems = Array.from(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n )\n ) as CDSMultiSelectItem[];\n const selectAllItem = allItems.find((i) => i.isSelectAll);\n if (!selectAllItem || selectAllItem.hasAttribute('filtered')) {\n return;\n }\n\n const enabledItems = allItems\n .filter((i) => !i.isSelectAll && !i.disabled)\n .filter((i) => !this.filterable || !i.hasAttribute('filtered'));\n const selectedCount = enabledItems.filter((i) => i.selected).length;\n const allSelected = selectedCount === enabledItems.length;\n\n selectAllItem.selected = allSelected;\n selectAllItem.indeterminate = selectedCount > 0 && !allSelected;\n }\n\n connectedCallback() {\n super.connectedCallback();\n /**\n * Detect if multi-select already has initially selected items\n */\n this.value = filter(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n ),\n (item) => (item as CDSMultiSelectItem).hasAttribute('selected')\n )\n .map((item) => (item as CDSMultiSelectItem).getAttribute('value'))\n .join(',');\n }\n\n /**\n * A selector that will return menu body.\n */\n static get selectorMenuBody() {\n return `div[part=\"menu-body\"]`;\n }\n\n /**\n * A selector that will return highlighted items.\n */\n static get selectorItemHighlighted() {\n return `${prefix}-multi-select-item[highlighted]`;\n }\n\n /**\n * A selector that will return multi select items.\n * We use a separate property from `.itemTagName` due to the nature in difference of tag name vs. selector.\n */\n static get selectorItem() {\n return `${prefix}-multi-select-item`;\n }\n\n /**\n * A selector that will return remaining items after a filter.\n */\n static get selectorItemFiltered() {\n return `${prefix}-multi-select-item[filtered]`;\n }\n\n /**\n * A selector that will return remaining items after a filter.\n */\n static get selectorItemResults() {\n return `${prefix}-multi-select-item:not([filtered])`;\n }\n\n /**\n * A selector that will return selected items.\n */\n static get selectorItemSelected() {\n return `${prefix}-multi-select-item[selected]`;\n }\n\n /**\n * The name of the custom event fired before this multi select item is being toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated action of toggling this multi select item.\n */\n static get eventBeforeToggle() {\n return `${prefix}-multi-select-beingtoggled`;\n }\n\n /**\n * The name of the custom event fired after this multi select item is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${prefix}-multi-select-toggled`;\n }\n\n /**\n * The name of the custom event fired before a multi select item is selected upon a user gesture.\n * Cancellation of this event stops changing the user-initiated selection.\n */\n static get eventBeforeSelect() {\n return `${prefix}-multi-select-beingselected`;\n }\n\n /**\n * The name of the custom event fired after a a multi select item is selected upon a user gesture.\n */\n static get eventSelect() {\n return `${prefix}-multi-select-selected`;\n }\n\n static styles = styles;\n}\n\nexport default CDSMultiSelect;\n"],"names":["customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"multi-select.js","sources":["../../../src/components/multi-select/multi-select.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2020, 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 { html, PropertyValues, TemplateResult } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { prefix } from '../../globals/settings';\nimport Close16 from '@carbon/icons/es/close/16.js';\nimport { filter, forEach } from '../../globals/internal/collection-helpers';\nimport CDSDropdown, {\n DROPDOWN_KEYBOARD_ACTION,\n DROPDOWN_TYPE,\n} from '../dropdown/dropdown';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport { SELECTION_FEEDBACK_OPTION } from './defs';\nimport CDSMultiSelectItem from './multi-select-item';\nimport styles from './multi-select.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport {\n DROPDOWN_SIZE,\n DROPDOWN_TYPE,\n DROPDOWN_DIRECTION,\n} from '../dropdown/dropdown';\n\nexport { SELECTION_FEEDBACK_OPTION };\n\n/**\n * Multi select.\n *\n * @element cds-custom-multi-select\n * @fires cds-custom-multi-select-beingselected\n * The custom event fired before a multi select item is selected upon a user gesture.\n * Cancellation of this event stops changing the user-initiated selection.\n * @fires cds-custom-multi-select-selected - The custom event fired after a multi select item is selected upon a user gesture.\n * @fires cds-custom-multi-select-beingtoggled\n * The custom event fired before the open state of this multi select is toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated toggling.\n * @fires cds-custom-multi-select-toggled\n * The custom event fired after the open state of this multi select is toggled upon a user gesture.\n */\n@customElement(`${prefix}-multi-select`)\nclass CDSMultiSelect extends CDSDropdown {\n @property({ type: Boolean })\n filterable;\n\n /**\n * The count of selected items.\n */\n private _selectedItemsCount = 0;\n\n /**\n * The clear button.\n */\n @query('#clear-button')\n private _clearButtonNode!: HTMLElement;\n\n /**\n * The selection button.\n */\n @query('#selection-button')\n private _selectionButtonNode!: HTMLElement;\n\n /**\n * The `<input>` for filtering.\n */\n @query('input')\n private _filterInputNode!: HTMLInputElement;\n\n protected get _supportsMenuInputFiltering() {\n return Boolean(this.filterable);\n }\n\n protected willUpdate(changedProperties: PropertyValues) {\n this._shouldTriggerBeFocusable = !this.filterable;\n super.willUpdate(changedProperties);\n }\n\n protected get _menuInputNode(): HTMLInputElement | null {\n return this.filterable ? (this._filterInputNode ?? null) : null;\n }\n\n protected _clearMenuInputFiltering() {\n if (this.filterable) {\n this._handleUserInitiatedClearInput();\n }\n }\n\n protected _shouldClearMenuInputOnEscape({\n menuOpen,\n isInputTarget,\n }: {\n event: KeyboardEvent;\n menuOpen: boolean;\n isInputTarget: boolean;\n }) {\n if (!menuOpen) {\n return true;\n }\n\n if (!isInputTarget) {\n return false;\n }\n\n return Boolean(this._filterInputNode?.value);\n }\n\n /**\n * The trigger button.\n */\n @query(`.${prefix}--list-box__field`)\n private _triggerNode!: HTMLElement;\n\n protected _selectionShouldChange(itemToSelect?: CDSMultiSelectItem) {\n // If we are selecting an item, assumes we always toggle\n return Boolean(this.value || itemToSelect);\n }\n\n protected _selectionDidChange(itemToSelect?: CDSMultiSelectItem) {\n const allItems = Array.from(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n )\n ) as CDSMultiSelectItem[];\n\n // clicked \"select all\" when it was indeterminate\n if (itemToSelect?.isSelectAll && itemToSelect.indeterminate) {\n allItems.forEach((i) => {\n i.selected = false;\n i.indeterminate = false;\n });\n this.value = '';\n return;\n }\n\n if (itemToSelect) {\n // clicked select all\n if (itemToSelect.isSelectAll) {\n const items = this.filterable\n ? Array.from(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItemResults\n )\n )\n : allItems;\n items.forEach((i) => {\n if (\n !(i as CDSMultiSelectItem).isSelectAll &&\n !(i as CDSMultiSelectItem).disabled\n ) {\n (i as CDSMultiSelectItem).selected = !itemToSelect.selected;\n }\n (i as CDSMultiSelectItem).indeterminate = false;\n });\n itemToSelect.selected = !itemToSelect.selected;\n // clicked regular item\n } else {\n itemToSelect.selected = !itemToSelect.selected;\n }\n } else {\n forEach(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItemSelected\n ),\n (item) => {\n (item as CDSMultiSelectItem).selected = false;\n }\n );\n this._handleUserInitiatedToggle(false);\n }\n if (this.selectAll) this._computeSelectAllState();\n // Change in `.selected` hasn't been reflected to the corresponding attribute yet\n this.value = filter(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n ),\n (item) => (item as CDSMultiSelectItem).selected\n )\n .map((item) => (item as CDSMultiSelectItem).value)\n .join(',');\n }\n\n // Keep the menu open for individual selections, close only when clearing.\n\n protected _shouldCloseAfterSelection(item?: CDSMultiSelectItem) {\n return !item;\n }\n\n protected _handleClickInner(event: MouseEvent) {\n const clickedItem = (event.target as HTMLElement).closest(\n `${prefix}-multi-select-item`\n ) as CDSMultiSelectItem | null;\n if (\n this._selectionButtonNode?.contains(event.target as Node) &&\n !this.readOnly\n ) {\n this._handleUserInitiatedSelectItem();\n if (this.filterable) {\n this._filterInputNode.focus();\n } else {\n this._triggerNode.focus();\n }\n } else if (clickedItem && !clickedItem.hasAttribute('disabled')) {\n // Handle focus highlight\n const allItems = this.querySelectorAll(`${prefix}-multi-select-item`);\n allItems.forEach((el) => el.removeAttribute('highlighted'));\n clickedItem.setAttribute('highlighted', '');\n this._handleUserInitiatedSelectItem(clickedItem);\n this.setAttribute('item-clicked', '');\n if (this.filterable) {\n this._filterInputNode.focus();\n }\n } else if (this._clearButtonNode?.contains(event.target as Node)) {\n this._handleUserInitiatedClearInput();\n } else if (\n !(event.target as HTMLElement)?.matches(\n (this.constructor as typeof CDSMultiSelect).aiLabelItem\n ) &&\n // remove reference to slug in v12\n !(event.target as HTMLElement)?.matches(\n (this.constructor as typeof CDSMultiSelect).slugItem\n )\n ) {\n super._handleClickInner(event);\n if (this.filterable) {\n this._filterInputNode.focus();\n }\n }\n }\n\n /**\n * Handler for the `keypress` event, ensures filter still works upon entering space\n */\n protected _handleKeypressInner(event: KeyboardEvent) {\n const { key } = event;\n const action = (this.constructor as typeof CDSDropdown).getAction(key);\n const { TRIGGERING } = DROPDOWN_KEYBOARD_ACTION;\n\n if (\n this._clearButtonNode?.contains(event.target as Node) &&\n // Space key should be handled by `<input>` unless \"clear selection\" button has focus\n (action === TRIGGERING || key === ' ')\n ) {\n this._handleUserInitiatedClearInput();\n } else if (this._selectionButtonNode?.contains(event.target as Node)) {\n this._handleUserInitiatedSelectItem();\n this.open = true;\n if (this.filterable) {\n this._filterInputNode.focus();\n } else {\n this._triggerNode.focus();\n }\n } else if (this.filterable) {\n this._handleKeypressInnerFlterable(event);\n } else {\n super._handleKeypressInner(event);\n }\n }\n\n protected _handleMouseoverInner(event: MouseEvent) {\n const item = this._getDropdownItemFromEvent(event);\n const isFiltering =\n this.filterable && Boolean(this._filterInputNode?.value.length);\n\n if (\n !item ||\n isFiltering ||\n !item.hasAttribute('selected') ||\n !item.hasAttribute('highlighted')\n ) {\n return;\n }\n\n super._handleMouseoverInner(event);\n }\n\n protected _handleMouseleaveInner(event: MouseEvent) {\n const constructor = this.constructor as typeof CDSMultiSelect;\n const isFiltering =\n this.filterable && Boolean(this._filterInputNode?.value.length);\n const highlightedItem = this.querySelector(\n constructor.selectorItemHighlighted\n ) as CDSMultiSelectItem | null;\n\n if (isFiltering || highlightedItem?.hasAttribute('selected')) {\n return;\n }\n\n super._handleMouseleaveInner(event);\n }\n\n /**\n * Special andler for the `keypress` event, ensures space selection for filterable\n * variation is disabled\n */\n\n protected _handleKeypressInnerFlterable(event: KeyboardEvent) {\n const { key } = event;\n const action = (this.constructor as typeof CDSDropdown).getAction(key);\n if (!this.open) {\n switch (action) {\n case DROPDOWN_KEYBOARD_ACTION.TRIGGERING:\n this._handleUserInitiatedToggle(true);\n break;\n default:\n break;\n }\n } else {\n switch (key) {\n case 'Enter':\n {\n const constructor = this.constructor as typeof CDSDropdown;\n const highlightedItem = this.querySelector(\n constructor.selectorItemHighlighted\n ) as CDSMultiSelectItem;\n if (highlightedItem) {\n this._handleUserInitiatedSelectItem(highlightedItem);\n } else {\n this._handleUserInitiatedToggle(false);\n }\n }\n break;\n default:\n break;\n }\n }\n }\n\n protected _renderTitleLabel() {\n const {\n clearSelectionDescription,\n clearSelectionText,\n disabled,\n hideLabel,\n titleText,\n _selectedItemsCount: selectedItemsCount,\n _slotTitleTextNode: slotTitleTextNode,\n _handleSlotchangeLabelText: handleSlotchangeLabelText,\n } = this;\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: disabled,\n [`${prefix}--visually-hidden`]: hideLabel,\n });\n\n const hasTitleText =\n titleText ||\n (slotTitleTextNode && slotTitleTextNode.assignedNodes().length > 0);\n\n return html`\n <label\n part=\"title-text\"\n class=\"${labelClasses}\"\n ?hidden=\"${!hasTitleText}\">\n <slot name=\"title-text\" @slotchange=\"${handleSlotchangeLabelText}\"\n >${titleText}</slot\n >\n ${selectedItemsCount > 0\n ? html`\n <span class=\"${prefix}--visually-hidden\">\n ${clearSelectionDescription} ${selectedItemsCount},\n ${clearSelectionText}\n </span>\n `\n : null}\n </label>\n `;\n }\n\n protected _renderPrecedingLabel() {\n const {\n disabled,\n readOnly,\n clearSelectionLabel,\n _selectedItemsCount: selectedItemsCount,\n } = this;\n\n const selectionButtonClasses = classMap({\n [`${prefix}--list-box__selection`]: true,\n [`${prefix}--list-box__selection--multi`]: true,\n [`${prefix}--tag`]: true,\n [`${prefix}--tag--filter`]: true,\n [`${prefix}--tag--high-contrast`]: true,\n [`${prefix}--tag--disabled`]: disabled,\n });\n return selectedItemsCount === 0\n ? undefined\n : html`\n <div\n id=\"selection-button\"\n role=\"button\"\n class=\"${selectionButtonClasses}\"\n tabindex=\"-1\"\n aria-disabled=${readOnly}\n title=\"${clearSelectionLabel}\">\n ${selectedItemsCount}\n ${iconLoader(Close16, {\n 'aria-label': clearSelectionLabel,\n class: `${prefix}--tag__close-icon`,\n })}\n </div>\n `;\n }\n\n /**\n @returns The main content of the trigger button.\n */\n protected _renderLabel(): TemplateResult {\n const { label, value, _selectedItemContent: selectedItemContent } = this;\n\n const inputClasses = classMap({\n [`${prefix}--text-input`]: true,\n [`${prefix}--text-input--empty`]: !value,\n });\n\n return !this.filterable\n ? html`\n <span id=\"trigger-label\" class=\"${prefix}--list-box__label\"\n >${selectedItemContent || label}</span\n >\n `\n : html`\n <input\n id=\"trigger-label\"\n class=\"${inputClasses}\"\n placeholder=\"${label}\"\n role=\"combobox\"\n aria-controls=\"menu-body\"\n aria-expanded=\"${String(this.open)}\"\n aria-autocomplete=\"list\"\n @input=\"${this._handleInput}\" />\n `;\n }\n\n protected _renderFollowingLabel(): TemplateResult | undefined {\n const { clearSelectionLabel, _filterInputNode: filterInputNode } = this;\n return filterInputNode &&\n filterInputNode.value.length > 0 &&\n this.filterable\n ? html`\n <div\n id=\"clear-button\"\n role=\"button\"\n class=\"${prefix}--list-box__selection\"\n tabindex=\"0\"\n title=\"${clearSelectionLabel}\">\n ${iconLoader(Close16, { 'aria-label': clearSelectionLabel })}\n </div>\n `\n : undefined;\n }\n\n /**\n * Handles `input` event on the `<input>` for filtering.\n */\n protected _handleInput() {\n const items = this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n );\n const inputValue = this._filterInputNode.value.toLocaleLowerCase();\n this.toggleAttribute('has-value', inputValue.length > 0);\n\n if (!this.open) {\n this.open = true;\n }\n\n forEach(items, (item) => {\n // always show the selectAll item\n if ((item as CDSMultiSelectItem).isSelectAll) {\n item.removeAttribute('filtered');\n return;\n }\n const itemValue = (item as HTMLElement).innerText.toLocaleLowerCase();\n\n if (!itemValue.includes(inputValue)) {\n (item as CDSMultiSelectItem).setAttribute('filtered', '');\n (item as CDSMultiSelectItem).removeAttribute('highlighted');\n } else {\n (item as CDSMultiSelectItem).removeAttribute('filtered');\n }\n });\n\n this.requestUpdate();\n\n if (this.selectAll) {\n const selectAllItem = this.querySelector(\n `${prefix}-multi-select-item[is-select-all]`\n ) as CDSMultiSelectItem;\n if (selectAllItem) {\n const visible = Array.from(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItemResults\n )\n ) as CDSMultiSelectItem[];\n const actionable = visible.filter((i) => !i.isSelectAll && !i.disabled);\n if (actionable.length === 0) {\n selectAllItem.setAttribute('filtered', '');\n } else {\n selectAllItem.removeAttribute('filtered');\n this._computeSelectAllState();\n }\n }\n }\n\n const constructor = this.constructor as typeof CDSMultiSelect;\n const visibleItems = Array.from(\n this.querySelectorAll(constructor.selectorItemResults)\n ) as CDSMultiSelectItem[];\n\n if (visibleItems.length > 0) {\n visibleItems.forEach((i) => i.removeAttribute('highlighted'));\n this.setAttribute('item-clicked', '');\n const first = visibleItems[0] as HTMLElement;\n first.setAttribute('highlighted', '');\n first.focus();\n } else {\n this._filterInputNode.focus();\n }\n }\n\n /**\n * Navigate through dropdown items.\n *\n * @param direction `-1` to navigate backward, `1` to navigate forward.\n */\n protected _navigate(direction: number) {\n super._navigate(direction);\n if (this.filterable) {\n this.setAttribute('item-clicked', '');\n } else {\n this._triggerNode.classList.add('no-focus-style');\n }\n }\n\n /**\n * Handles user-initiated clearing the `<input>` for filtering.\n */\n protected _handleUserInitiatedClearInput() {\n const constructor = this.constructor as typeof CDSMultiSelect;\n const items = this.querySelectorAll(constructor.selectorItemFiltered);\n this._filterInputNode.value = '';\n this.open = true;\n this._filterInputNode.focus();\n forEach(items, (item) => {\n (item as CDSMultiSelectItem).removeAttribute('filtered');\n });\n this._filterInputNode.dispatchEvent(\n new Event('input', { bubbles: true, composed: true })\n );\n }\n\n /**\n * The `aria-label` attribute for the icon to clear selection.\n */\n @property({ attribute: 'clear-selection-label' })\n clearSelectionLabel = '';\n\n /**\n * Specify the text that should be read for screen readers that describes total items selected\n */\n @property({ attribute: 'clear-selection-description' })\n clearSelectionDescription = 'Total items selected: ';\n\n /**\n * Specify the text that should be read for screen readers to clear selection.\n */\n @property({ attribute: 'clear-selection-text' })\n clearSelectionText = 'To clear selection, press Delete or Backspace.';\n\n /**\n * Specify the locale of the control. Used for the default compareItems used for sorting the list of items in the control.\n */\n @property()\n locale = 'en';\n\n /**\n * Enables rendering of a “Select all” multi-select-item\n */\n @property({ type: Boolean, reflect: true, attribute: 'select-all' })\n selectAll = false;\n\n /**\n * Specify feedback (mode) of the selection.\n * `top`: selected item jumps to top\n * `fixed`: selected item stays at it's position\n * `top-after-reopen`: selected item jump to top after reopen dropdown\n */\n @property({ attribute: 'selection-feedback' })\n selectionFeedback = SELECTION_FEEDBACK_OPTION.TOP_AFTER_REOPEN;\n\n /**\n * The CSS class list for multi-select listbox\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452\n protected get _classes(): any {\n const {\n disabled,\n size,\n type,\n invalid,\n readOnly,\n open,\n warn,\n _selectedItemsCount: selectedItemsCount,\n } = this;\n const inline = type === DROPDOWN_TYPE.INLINE;\n\n const isInteractive = !readOnly && !disabled;\n\n const normalizedProps: {\n invalid: boolean;\n warn: boolean;\n } = {\n invalid: isInteractive && invalid,\n warn: isInteractive && !invalid && warn,\n };\n\n return classMap({\n [`${prefix}--multi-select`]: true,\n [`${prefix}--list-box`]: true,\n [`${prefix}--list-box--disabled`]: disabled,\n [`${prefix}--list-box--inline`]: inline,\n [`${prefix}--list-box--expanded`]: open,\n [`${prefix}--list-box--${size}`]: size,\n [`${prefix}--multi-select--invalid`]: normalizedProps.invalid,\n [`${prefix}--multi-select--warn`]: normalizedProps.warn,\n [`${prefix}--multi-select--inline`]: inline,\n [`${prefix}--multi-select--readonly`]: readOnly,\n [`${prefix}--multi-select--selected`]: selectedItemsCount > 0,\n [`${prefix}--list-box__wrapper--decorator`]: this._hasAILabel, // inherited from CDSDropdown\n [`${prefix}--multi-select--selectall`]: this.selectAll,\n });\n }\n\n protected compareItems = (itemA, itemB, { locale }) => {\n itemA.localeCompare(itemB, locale, { numeric: true });\n };\n\n protected sortItems = (\n menuItems: NodeList,\n { values, compareItems, locale = 'en' }\n ) => {\n const menuItemsArray = Array.from(menuItems);\n\n const sortedArray = menuItemsArray.sort((itemA, itemB) => {\n const hasItemA = values.includes((itemA as HTMLInputElement).value);\n const hasItemB = values.includes((itemB as HTMLInputElement).value);\n\n // Prefer whichever item is in the `value` array first\n if (hasItemA && !hasItemB) {\n return -1;\n }\n\n if (hasItemB && !hasItemA) {\n return 1;\n }\n\n return compareItems(\n (itemA as HTMLInputElement).value,\n (itemB as HTMLInputElement).value,\n {\n locale,\n }\n );\n });\n\n return sortedArray;\n };\n\n shouldUpdate(changedProperties) {\n const { selectorItem, aiLabelItem, slugItem } = this\n .constructor as typeof CDSMultiSelect;\n const aiLabel =\n this.querySelector(aiLabelItem) || this.querySelector(slugItem);\n const items = this.querySelectorAll(selectorItem);\n\n const { value, locale } = this;\n const values = !value ? [] : value.split(',');\n\n if (changedProperties.has('size')) {\n forEach(this.querySelectorAll(selectorItem), (elem) => {\n (elem as CDSMultiSelectItem).size = this.size;\n });\n }\n if (changedProperties.has('value')) {\n // Updates selection beforehand because our rendering logic for `<cds-custom-multi-select>` looks for selected items via `qSA()`\n forEach(items, (elem) => {\n (elem as CDSMultiSelectItem).selected =\n values.indexOf((elem as CDSMultiSelectItem).value) >= 0;\n });\n this._selectedItemsCount = filter(\n items,\n (elem) =>\n values.indexOf((elem as CDSMultiSelectItem).value) >= 0 &&\n !(elem as CDSMultiSelectItem).isSelectAll\n ).length;\n\n if (this.selectionFeedback === SELECTION_FEEDBACK_OPTION.TOP) {\n const sortedMenuItems = this.sortItems(items, {\n values,\n compareItems: this.compareItems,\n locale,\n });\n\n if (aiLabel) {\n sortedMenuItems.unshift(aiLabel);\n }\n // @todo remove typecast once we've updated to Typescript.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452\n (this as any).replaceChildren(...sortedMenuItems);\n }\n }\n if (changedProperties.has('open')) {\n if (\n this.selectionFeedback === SELECTION_FEEDBACK_OPTION.TOP_AFTER_REOPEN\n ) {\n const sortedMenuItems = this.sortItems(items, {\n values,\n compareItems: this.compareItems,\n locale,\n });\n\n if (aiLabel) {\n sortedMenuItems.unshift(aiLabel);\n }\n // @todo remove typecast once we've updated to Typescript.\n sortedMenuItems.forEach((item) => {\n this.appendChild(item);\n });\n }\n }\n return true;\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n\n if (changedProperties.has('open') && this.open) {\n const selectedItems = Array.from(\n this.querySelectorAll(`${prefix}-multi-select-item[selected]`)\n ) as CDSMultiSelectItem[];\n\n if (selectedItems.length > 0) {\n let itemToFocus: HTMLElement | null = null;\n if (this.selectAll) {\n itemToFocus = this.querySelector(\n `${prefix}-multi-select-item[is-select-all]`\n ) as CDSMultiSelectItem;\n }\n if (!itemToFocus) {\n itemToFocus = selectedItems[0] as HTMLElement;\n }\n this.setAttribute('item-clicked', '');\n itemToFocus.focus();\n itemToFocus.setAttribute('highlighted', '');\n } else {\n if (this.filterable) {\n this._filterInputNode.focus();\n } else {\n this._triggerNode.focus();\n }\n }\n }\n // reorder items so that select all is always at the top of the list\n if (this.selectAll && changedProperties.has('open') && this.open) {\n const items = Array.from(\n this.querySelectorAll('cds-custom-multi-select-item')\n ) as CDSMultiSelectItem[];\n\n const selectAllItem = items.find((i) => i.isSelectAll);\n if (selectAllItem) {\n this.appendChild(selectAllItem);\n items\n .filter((i) => i !== selectAllItem)\n .forEach((i) => this.appendChild(i));\n }\n }\n\n // flush the top of the first element\n Array.from(this.querySelectorAll('cds-custom-multi-select-item')).forEach(\n (item, index) => {\n if (index === 0 && !item.hasAttribute('is-select-all')) {\n item.setAttribute('flush-top', '');\n } else if (index === 1 && this.selectAll) {\n item.setAttribute('flush-top', '');\n } else {\n item.removeAttribute('flush-top');\n }\n }\n );\n\n if (changedProperties.has('open') && !this.open) {\n this._triggerNode.classList.remove('no-focus-style');\n this.removeAttribute('item-clicked');\n }\n }\n\n firstUpdated(changedProperties) {\n super.firstUpdated?.(changedProperties);\n\n // whenever more items are added/removed, recompute the state of the select all option\n if (!this.selectAll) return;\n const defaultSlot =\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n this.shadowRoot!.querySelector<HTMLSlotElement>('slot:not([name])')!;\n defaultSlot.addEventListener('slotchange', () =>\n this._computeSelectAllState()\n );\n }\n\n /**\n * Computes the state of the select all option and sets it to either\n * 'selected' or 'indeterminate'\n */\n private _computeSelectAllState() {\n if (!this.selectAll) return;\n\n const allItems = Array.from(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n )\n ) as CDSMultiSelectItem[];\n const selectAllItem = allItems.find((i) => i.isSelectAll);\n if (!selectAllItem || selectAllItem.hasAttribute('filtered')) {\n return;\n }\n\n const enabledItems = allItems\n .filter((i) => !i.isSelectAll && !i.disabled)\n .filter((i) => !this.filterable || !i.hasAttribute('filtered'));\n const selectedCount = enabledItems.filter((i) => i.selected).length;\n const allSelected = selectedCount === enabledItems.length;\n\n selectAllItem.selected = allSelected;\n selectAllItem.indeterminate = selectedCount > 0 && !allSelected;\n }\n\n connectedCallback() {\n super.connectedCallback();\n /**\n * Detect if multi-select already has initially selected items\n */\n this.value = filter(\n this.querySelectorAll(\n (this.constructor as typeof CDSMultiSelect).selectorItem\n ),\n (item) => (item as CDSMultiSelectItem).hasAttribute('selected')\n )\n .map((item) => (item as CDSMultiSelectItem).getAttribute('value'))\n .join(',');\n }\n\n /**\n * A selector that will return menu body.\n */\n static get selectorMenuBody() {\n return `div[part=\"menu-body\"]`;\n }\n\n /**\n * A selector that will return highlighted items.\n */\n static get selectorItemHighlighted() {\n return `${prefix}-multi-select-item[highlighted]`;\n }\n\n /**\n * A selector that will return multi select items.\n * We use a separate property from `.itemTagName` due to the nature in difference of tag name vs. selector.\n */\n static get selectorItem() {\n return `${prefix}-multi-select-item`;\n }\n\n /**\n * A selector that will return remaining items after a filter.\n */\n static get selectorItemFiltered() {\n return `${prefix}-multi-select-item[filtered]`;\n }\n\n /**\n * A selector that will return remaining items after a filter.\n */\n static get selectorItemResults() {\n return `${prefix}-multi-select-item:not([filtered])`;\n }\n\n /**\n * A selector that will return selected items.\n */\n static get selectorItemSelected() {\n return `${prefix}-multi-select-item[selected]`;\n }\n\n /**\n * The name of the custom event fired before this multi select item is being toggled upon a user gesture.\n * Cancellation of this event stops the user-initiated action of toggling this multi select item.\n */\n static get eventBeforeToggle() {\n return `${prefix}-multi-select-beingtoggled`;\n }\n\n /**\n * The name of the custom event fired after this multi select item is toggled upon a user gesture.\n */\n static get eventToggle() {\n return `${prefix}-multi-select-toggled`;\n }\n\n /**\n * The name of the custom event fired before a multi select item is selected upon a user gesture.\n * Cancellation of this event stops changing the user-initiated selection.\n */\n static get eventBeforeSelect() {\n return `${prefix}-multi-select-beingselected`;\n }\n\n /**\n * The name of the custom event fired after a a multi select item is selected upon a user gesture.\n */\n static get eventSelect() {\n return `${prefix}-multi-select-selected`;\n }\n\n static styles = styles;\n}\n\nexport default CDSMultiSelect;\n"],"names":["customElement"],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ declare const CDSActionableNotification_base: {
|
|
|
19
19
|
accessKey: string;
|
|
20
20
|
readonly accessKeyLabel: string;
|
|
21
21
|
autocapitalize: string;
|
|
22
|
+
autocorrect: boolean;
|
|
22
23
|
dir: string;
|
|
23
24
|
draggable: boolean;
|
|
24
25
|
hidden: boolean;
|
|
@@ -40,13 +41,14 @@ declare const CDSActionableNotification_base: {
|
|
|
40
41
|
click(): void;
|
|
41
42
|
hidePopover(): void;
|
|
42
43
|
showPopover(): void;
|
|
43
|
-
togglePopover(
|
|
44
|
+
togglePopover(options?: boolean): boolean;
|
|
44
45
|
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
45
46
|
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
46
47
|
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
47
48
|
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
48
49
|
readonly attributes: NamedNodeMap;
|
|
49
|
-
|
|
50
|
+
get classList(): DOMTokenList;
|
|
51
|
+
set classList(value: string);
|
|
50
52
|
className: string;
|
|
51
53
|
readonly clientHeight: number;
|
|
52
54
|
readonly clientLeft: number;
|
|
@@ -61,7 +63,8 @@ declare const CDSActionableNotification_base: {
|
|
|
61
63
|
onfullscreenerror: ((this: Element, ev: Event) => any) | null;
|
|
62
64
|
outerHTML: string;
|
|
63
65
|
readonly ownerDocument: Document;
|
|
64
|
-
|
|
66
|
+
get part(): DOMTokenList;
|
|
67
|
+
set part(value: string);
|
|
65
68
|
readonly prefix: string | null;
|
|
66
69
|
readonly scrollHeight: number;
|
|
67
70
|
scrollLeft: number;
|
|
@@ -124,6 +127,8 @@ declare const CDSActionableNotification_base: {
|
|
|
124
127
|
setPointerCapture(pointerId: number): void;
|
|
125
128
|
toggleAttribute(qualifiedName: string, force?: boolean): boolean;
|
|
126
129
|
webkitMatchesSelector(selectors: string): boolean;
|
|
130
|
+
get textContent(): string;
|
|
131
|
+
set textContent(value: string | null);
|
|
127
132
|
readonly baseURI: string;
|
|
128
133
|
readonly childNodes: NodeListOf<ChildNode>;
|
|
129
134
|
readonly firstChild: ChildNode | null;
|
|
@@ -136,9 +141,8 @@ declare const CDSActionableNotification_base: {
|
|
|
136
141
|
readonly parentElement: HTMLElement | null;
|
|
137
142
|
readonly parentNode: ParentNode | null;
|
|
138
143
|
readonly previousSibling: ChildNode | null;
|
|
139
|
-
textContent: string | null;
|
|
140
144
|
appendChild<T extends Node>(node: T): T;
|
|
141
|
-
cloneNode(
|
|
145
|
+
cloneNode(subtree?: boolean): Node;
|
|
142
146
|
compareDocumentPosition(other: Node): number;
|
|
143
147
|
contains(other: Node | null): boolean;
|
|
144
148
|
getRootNode(options?: GetRootNodeOptions): Node;
|
|
@@ -171,6 +175,7 @@ declare const CDSActionableNotification_base: {
|
|
|
171
175
|
readonly DOCUMENT_POSITION_CONTAINED_BY: 16;
|
|
172
176
|
readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
|
|
173
177
|
dispatchEvent(event: Event): boolean;
|
|
178
|
+
ariaActiveDescendantElement: Element | null;
|
|
174
179
|
ariaAtomic: string | null;
|
|
175
180
|
ariaAutoComplete: string | null;
|
|
176
181
|
ariaBrailleLabel: string | null;
|
|
@@ -181,25 +186,33 @@ declare const CDSActionableNotification_base: {
|
|
|
181
186
|
ariaColIndex: string | null;
|
|
182
187
|
ariaColIndexText: string | null;
|
|
183
188
|
ariaColSpan: string | null;
|
|
189
|
+
ariaControlsElements: ReadonlyArray<Element> | null;
|
|
184
190
|
ariaCurrent: string | null;
|
|
191
|
+
ariaDescribedByElements: ReadonlyArray<Element> | null;
|
|
185
192
|
ariaDescription: string | null;
|
|
193
|
+
ariaDetailsElements: ReadonlyArray<Element> | null;
|
|
186
194
|
ariaDisabled: string | null;
|
|
195
|
+
ariaErrorMessageElements: ReadonlyArray<Element> | null;
|
|
187
196
|
ariaExpanded: string | null;
|
|
197
|
+
ariaFlowToElements: ReadonlyArray<Element> | null;
|
|
188
198
|
ariaHasPopup: string | null;
|
|
189
199
|
ariaHidden: string | null;
|
|
190
200
|
ariaInvalid: string | null;
|
|
191
201
|
ariaKeyShortcuts: string | null;
|
|
192
202
|
ariaLabel: string | null;
|
|
203
|
+
ariaLabelledByElements: ReadonlyArray<Element> | null;
|
|
193
204
|
ariaLevel: string | null;
|
|
194
205
|
ariaLive: string | null;
|
|
195
206
|
ariaModal: string | null;
|
|
196
207
|
ariaMultiLine: string | null;
|
|
197
208
|
ariaMultiSelectable: string | null;
|
|
198
209
|
ariaOrientation: string | null;
|
|
210
|
+
ariaOwnsElements: ReadonlyArray<Element> | null;
|
|
199
211
|
ariaPlaceholder: string | null;
|
|
200
212
|
ariaPosInSet: string | null;
|
|
201
213
|
ariaPressed: string | null;
|
|
202
214
|
ariaReadOnly: string | null;
|
|
215
|
+
ariaRelevant: string | null;
|
|
203
216
|
ariaRequired: string | null;
|
|
204
217
|
ariaRoleDescription: string | null;
|
|
205
218
|
ariaRowCount: string | null;
|
|
@@ -241,7 +254,8 @@ declare const CDSActionableNotification_base: {
|
|
|
241
254
|
replaceChildren(...nodes: (Node | string)[]): void;
|
|
242
255
|
readonly assignedSlot: HTMLSlotElement | null;
|
|
243
256
|
readonly attributeStyleMap: StylePropertyMap;
|
|
244
|
-
|
|
257
|
+
get style(): CSSStyleDeclaration;
|
|
258
|
+
set style(cssText: string);
|
|
245
259
|
contentEditable: string;
|
|
246
260
|
enterKeyHint: string;
|
|
247
261
|
inputMode: string;
|
|
@@ -251,18 +265,19 @@ declare const CDSActionableNotification_base: {
|
|
|
251
265
|
onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
|
|
252
266
|
onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
|
|
253
267
|
onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
|
|
254
|
-
onauxclick: ((this: GlobalEventHandlers, ev:
|
|
268
|
+
onauxclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
|
|
255
269
|
onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null;
|
|
256
|
-
|
|
270
|
+
onbeforematch: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
271
|
+
onbeforetoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null;
|
|
257
272
|
onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;
|
|
258
273
|
oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
259
274
|
oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
260
275
|
oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
261
276
|
onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
262
|
-
onclick: ((this: GlobalEventHandlers, ev:
|
|
277
|
+
onclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
|
|
263
278
|
onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
264
279
|
oncontextlost: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
265
|
-
oncontextmenu: ((this: GlobalEventHandlers, ev:
|
|
280
|
+
oncontextmenu: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
|
|
266
281
|
oncontextrestored: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
267
282
|
oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
|
|
268
283
|
oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
@@ -310,6 +325,7 @@ declare const CDSActionableNotification_base: {
|
|
|
310
325
|
onpointermove: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
|
|
311
326
|
onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
|
|
312
327
|
onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
|
|
328
|
+
onpointerrawupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
313
329
|
onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
|
|
314
330
|
onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null;
|
|
315
331
|
onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
@@ -328,7 +344,7 @@ declare const CDSActionableNotification_base: {
|
|
|
328
344
|
onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null;
|
|
329
345
|
onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
330
346
|
ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
331
|
-
ontoggle: ((this: GlobalEventHandlers, ev:
|
|
347
|
+
ontoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null;
|
|
332
348
|
ontouchcancel?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
|
|
333
349
|
ontouchend?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
|
|
334
350
|
ontouchmove?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
|