@ui5/webcomponents 1.24.9 → 1.24.11
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/CHANGELOG.md +26 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/Dialog.js +2 -2
- package/dist/Dialog.js.map +1 -1
- package/dist/Input.js +14 -2
- package/dist/Input.js.map +1 -1
- package/dist/List.js +1 -3
- package/dist/List.js.map +1 -1
- package/dist/Menu.js +1 -1
- package/dist/Menu.js.map +1 -1
- package/dist/Popover.d.ts +1 -0
- package/dist/Popover.js +6 -2
- package/dist/Popover.js.map +1 -1
- package/dist/Popup.js +0 -2
- package/dist/Popup.js.map +1 -1
- package/dist/Table.d.ts +0 -1
- package/dist/Table.js +1 -1
- package/dist/Table.js.map +1 -1
- package/dist/TextArea.d.ts +1 -1
- package/dist/TextArea.js +2 -3
- package/dist/TextArea.js.map +1 -1
- package/dist/css/themes/Avatar.css +1 -1
- package/dist/css/themes/AvatarGroup.css +1 -1
- package/dist/css/themes/Badge.css +1 -1
- package/dist/css/themes/Breadcrumbs.css +1 -1
- package/dist/css/themes/BusyIndicator.css +1 -1
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/Calendar.css +1 -1
- package/dist/css/themes/CalendarHeader.css +1 -1
- package/dist/css/themes/CalendarLegend.css +1 -1
- package/dist/css/themes/CalendarLegendItem.css +1 -1
- package/dist/css/themes/Card.css +1 -1
- package/dist/css/themes/CardHeader.css +1 -1
- package/dist/css/themes/Carousel.css +1 -1
- package/dist/css/themes/CheckBox.css +1 -1
- package/dist/css/themes/ColorPalette.css +1 -1
- package/dist/css/themes/ColorPaletteItem.css +1 -1
- package/dist/css/themes/ColorPalettePopover.css +1 -1
- package/dist/css/themes/ColorPicker.css +1 -1
- package/dist/css/themes/ComboBox.css +1 -1
- package/dist/css/themes/CustomListItem.css +1 -1
- package/dist/css/themes/DatePicker.css +1 -1
- package/dist/css/themes/DateTimePickerPopover.css +1 -1
- package/dist/css/themes/DayPicker.css +1 -1
- package/dist/css/themes/Dialog.css +1 -1
- package/dist/css/themes/FileUploader.css +1 -1
- package/dist/css/themes/GroupHeaderListItem.css +1 -1
- package/dist/css/themes/GrowingButton.css +1 -1
- package/dist/css/themes/Icon.css +1 -1
- package/dist/css/themes/Input.css +1 -1
- package/dist/css/themes/InputIcon.css +1 -1
- package/dist/css/themes/InputSharedStyles.css +1 -1
- package/dist/css/themes/Link.css +1 -1
- package/dist/css/themes/List.css +1 -1
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/ListItemBase.css +1 -1
- package/dist/css/themes/Menu.css +1 -1
- package/dist/css/themes/MenuListItem.css +1 -1
- package/dist/css/themes/MessageStrip.css +1 -1
- package/dist/css/themes/MonthPicker.css +1 -1
- package/dist/css/themes/MultiComboBox.css +1 -1
- package/dist/css/themes/MultiComboBoxPopover.css +1 -1
- package/dist/css/themes/MultiInput.css +1 -1
- package/dist/css/themes/NavigationMenu.css +1 -1
- package/dist/css/themes/Panel.css +1 -1
- package/dist/css/themes/Popover.css +1 -1
- package/dist/css/themes/PopupStaticAreaStyles.css +1 -1
- package/dist/css/themes/PopupsCommon.css +1 -1
- package/dist/css/themes/ProgressIndicator.css +1 -1
- package/dist/css/themes/RadioButton.css +1 -1
- package/dist/css/themes/RangeSlider.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/ResponsivePopover.css +1 -1
- package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
- package/dist/css/themes/SegmentedButton.css +1 -1
- package/dist/css/themes/Select.css +1 -1
- package/dist/css/themes/SelectMenu.css +1 -1
- package/dist/css/themes/SelectPopover.css +1 -1
- package/dist/css/themes/SliderBase.css +1 -1
- package/dist/css/themes/SplitButton.css +1 -1
- package/dist/css/themes/StepInput.css +1 -1
- package/dist/css/themes/Switch.css +1 -1
- package/dist/css/themes/TabContainer.css +1 -1
- package/dist/css/themes/TabInOverflow.css +1 -1
- package/dist/css/themes/TabInStrip.css +1 -1
- package/dist/css/themes/TabSemanticIcon.css +1 -1
- package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
- package/dist/css/themes/Table.css +1 -1
- package/dist/css/themes/TableCell.css +1 -1
- package/dist/css/themes/TableColumn.css +1 -1
- package/dist/css/themes/TableGroupRow.css +1 -1
- package/dist/css/themes/TableRow.css +1 -1
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/css/themes/TimePicker.css +1 -1
- package/dist/css/themes/Toast.css +1 -1
- package/dist/css/themes/ToggleButton.css +1 -1
- package/dist/css/themes/Token.css +1 -1
- package/dist/css/themes/Tokenizer.css +1 -1
- package/dist/css/themes/TokenizerPopover.css +1 -1
- package/dist/css/themes/Toolbar.css +1 -1
- package/dist/css/themes/ToolbarPopover.css +1 -1
- package/dist/css/themes/TreeItem.css +1 -1
- package/dist/css/themes/ValueStateMessage.css +1 -1
- package/dist/css/themes/WheelSlider.css +1 -1
- package/dist/css/themes/YearPicker.css +1 -1
- package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +3 -1
- package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/themes/Avatar.css.js +1 -1
- package/dist/generated/themes/Avatar.css.js.map +1 -1
- package/dist/generated/themes/AvatarGroup.css.js +1 -1
- package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
- package/dist/generated/themes/Badge.css.js +1 -1
- package/dist/generated/themes/Badge.css.js.map +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
- package/dist/generated/themes/BusyIndicator.css.js +1 -1
- package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/Calendar.css.js +1 -1
- package/dist/generated/themes/Calendar.css.js.map +1 -1
- package/dist/generated/themes/CalendarHeader.css.js +1 -1
- package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
- package/dist/generated/themes/CalendarLegend.css.js +1 -1
- package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
- package/dist/generated/themes/Card.css.js +1 -1
- package/dist/generated/themes/Card.css.js.map +1 -1
- package/dist/generated/themes/CardHeader.css.js +1 -1
- package/dist/generated/themes/CardHeader.css.js.map +1 -1
- package/dist/generated/themes/Carousel.css.js +1 -1
- package/dist/generated/themes/Carousel.css.js.map +1 -1
- package/dist/generated/themes/CheckBox.css.js +1 -1
- package/dist/generated/themes/CheckBox.css.js.map +1 -1
- package/dist/generated/themes/ColorPalette.css.js +1 -1
- package/dist/generated/themes/ColorPalette.css.js.map +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
- package/dist/generated/themes/ColorPicker.css.js +1 -1
- package/dist/generated/themes/ColorPicker.css.js.map +1 -1
- package/dist/generated/themes/ComboBox.css.js +1 -1
- package/dist/generated/themes/ComboBox.css.js.map +1 -1
- package/dist/generated/themes/CustomListItem.css.js +1 -1
- package/dist/generated/themes/CustomListItem.css.js.map +1 -1
- package/dist/generated/themes/DatePicker.css.js +1 -1
- package/dist/generated/themes/DatePicker.css.js.map +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/DayPicker.css.js +1 -1
- package/dist/generated/themes/DayPicker.css.js.map +1 -1
- package/dist/generated/themes/Dialog.css.js +1 -1
- package/dist/generated/themes/Dialog.css.js.map +1 -1
- package/dist/generated/themes/FileUploader.css.js +1 -1
- package/dist/generated/themes/FileUploader.css.js.map +1 -1
- package/dist/generated/themes/GroupHeaderListItem.css.js +1 -1
- package/dist/generated/themes/GroupHeaderListItem.css.js.map +1 -1
- package/dist/generated/themes/GrowingButton.css.js +1 -1
- package/dist/generated/themes/GrowingButton.css.js.map +1 -1
- package/dist/generated/themes/Icon.css.js +1 -1
- package/dist/generated/themes/Icon.css.js.map +1 -1
- package/dist/generated/themes/Input.css.js +1 -1
- package/dist/generated/themes/Input.css.js.map +1 -1
- package/dist/generated/themes/InputIcon.css.js +1 -1
- package/dist/generated/themes/InputIcon.css.js.map +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
- package/dist/generated/themes/Link.css.js +1 -1
- package/dist/generated/themes/Link.css.js.map +1 -1
- package/dist/generated/themes/List.css.js +1 -1
- package/dist/generated/themes/List.css.js.map +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/ListItemBase.css.js +1 -1
- package/dist/generated/themes/ListItemBase.css.js.map +1 -1
- package/dist/generated/themes/Menu.css.js +1 -1
- package/dist/generated/themes/Menu.css.js.map +1 -1
- package/dist/generated/themes/MenuListItem.css.js +1 -1
- package/dist/generated/themes/MenuListItem.css.js.map +1 -1
- package/dist/generated/themes/MessageStrip.css.js +1 -1
- package/dist/generated/themes/MessageStrip.css.js.map +1 -1
- package/dist/generated/themes/MonthPicker.css.js +1 -1
- package/dist/generated/themes/MonthPicker.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBox.css.js +1 -1
- package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
- package/dist/generated/themes/MultiInput.css.js +1 -1
- package/dist/generated/themes/MultiInput.css.js.map +1 -1
- package/dist/generated/themes/NavigationMenu.css.js +1 -1
- package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
- package/dist/generated/themes/Panel.css.js +1 -1
- package/dist/generated/themes/Panel.css.js.map +1 -1
- package/dist/generated/themes/Popover.css.js +1 -1
- package/dist/generated/themes/Popover.css.js.map +1 -1
- package/dist/generated/themes/PopupStaticAreaStyles.css.js +1 -1
- package/dist/generated/themes/PopupStaticAreaStyles.css.js.map +1 -1
- package/dist/generated/themes/PopupsCommon.css.js +1 -1
- package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
- package/dist/generated/themes/RadioButton.css.js +1 -1
- package/dist/generated/themes/RadioButton.css.js.map +1 -1
- package/dist/generated/themes/RangeSlider.css.js +1 -1
- package/dist/generated/themes/RangeSlider.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButton.css.js +1 -1
- package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
- package/dist/generated/themes/Select.css.js +1 -1
- package/dist/generated/themes/Select.css.js.map +1 -1
- package/dist/generated/themes/SelectMenu.css.js +1 -1
- package/dist/generated/themes/SelectMenu.css.js.map +1 -1
- package/dist/generated/themes/SelectPopover.css.js +1 -1
- package/dist/generated/themes/SelectPopover.css.js.map +1 -1
- package/dist/generated/themes/SliderBase.css.js +1 -1
- package/dist/generated/themes/SliderBase.css.js.map +1 -1
- package/dist/generated/themes/SplitButton.css.js +1 -1
- package/dist/generated/themes/SplitButton.css.js.map +1 -1
- package/dist/generated/themes/StepInput.css.js +1 -1
- package/dist/generated/themes/StepInput.css.js.map +1 -1
- package/dist/generated/themes/Switch.css.js +1 -1
- package/dist/generated/themes/Switch.css.js.map +1 -1
- package/dist/generated/themes/TabContainer.css.js +1 -1
- package/dist/generated/themes/TabContainer.css.js.map +1 -1
- package/dist/generated/themes/TabInOverflow.css.js +1 -1
- package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
- package/dist/generated/themes/TabInStrip.css.js +1 -1
- package/dist/generated/themes/TabInStrip.css.js.map +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
- package/dist/generated/themes/Table.css.js +1 -1
- package/dist/generated/themes/Table.css.js.map +1 -1
- package/dist/generated/themes/TableCell.css.js +1 -1
- package/dist/generated/themes/TableCell.css.js.map +1 -1
- package/dist/generated/themes/TableColumn.css.js +1 -1
- package/dist/generated/themes/TableColumn.css.js.map +1 -1
- package/dist/generated/themes/TableGroupRow.css.js +1 -1
- package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
- package/dist/generated/themes/TableRow.css.js +1 -1
- package/dist/generated/themes/TableRow.css.js.map +1 -1
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js.map +1 -1
- package/dist/generated/themes/TimePicker.css.js +1 -1
- package/dist/generated/themes/TimePicker.css.js.map +1 -1
- package/dist/generated/themes/Toast.css.js +1 -1
- package/dist/generated/themes/Toast.css.js.map +1 -1
- package/dist/generated/themes/ToggleButton.css.js +1 -1
- package/dist/generated/themes/ToggleButton.css.js.map +1 -1
- package/dist/generated/themes/Token.css.js +1 -1
- package/dist/generated/themes/Token.css.js.map +1 -1
- package/dist/generated/themes/Tokenizer.css.js +1 -1
- package/dist/generated/themes/Tokenizer.css.js.map +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
- package/dist/generated/themes/Toolbar.css.js +1 -1
- package/dist/generated/themes/Toolbar.css.js.map +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
- package/dist/generated/themes/TreeItem.css.js +1 -1
- package/dist/generated/themes/TreeItem.css.js.map +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
- package/dist/generated/themes/WheelSlider.css.js +1 -1
- package/dist/generated/themes/WheelSlider.css.js.map +1 -1
- package/dist/generated/themes/YearPicker.css.js +1 -1
- package/dist/generated/themes/YearPicker.css.js.map +1 -1
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
- package/dist/web-types.json +1 -1
- package/package.json +10 -10
- package/src/themes/Popover.css +1 -1
- package/src/themes/TextArea.css +6 -6
- package/src/themes/sap_fiori_3/parameters-bundle.css +0 -1
- package/src/themes/sap_fiori_3_dark/parameters-bundle.css +0 -1
- package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +0 -1
- package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_dark/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_dark_exp/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_exp/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_hcb/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_hcb_exp/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_hcw/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_hcw_exp/parameters-bundle.css +0 -1
- package/dist/css/themes/BrowserScrollbar.css +0 -1
- package/dist/generated/themes/BrowserScrollbar.css.d.ts +0 -3
- package/dist/generated/themes/BrowserScrollbar.css.js +0 -9
- package/dist/generated/themes/BrowserScrollbar.css.js.map +0 -1
- package/src/themes/BrowserScrollbar.css +0 -25
- package/src/themes/base/BrowserScrollbar-parameters.css +0 -4
package/dist/List.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sourceRoot":"","sources":["../src/List.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport {\n\tisTabNext,\n\tisSpace,\n\tisEnter,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport DragRegistry from \"@ui5/webcomponents-base/dist/util/dragAndDrop/DragRegistry.js\";\nimport findClosestPosition from \"@ui5/webcomponents-base/dist/util/dragAndDrop/findClosestPosition.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport getNormalizedTarget from \"@ui5/webcomponents-base/dist/util/getNormalizedTarget.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport debounce from \"@ui5/webcomponents-base/dist/util/debounce.js\";\nimport isElementInView from \"@ui5/webcomponents-base/dist/util/isElementInView.js\";\nimport Orientation from \"@ui5/webcomponents-base/dist/types/Orientation.js\";\nimport MovePlacement from \"@ui5/webcomponents-base/dist/types/MovePlacement.js\";\nimport ListMode from \"./types/ListMode.js\";\nimport ListGrowingMode from \"./types/ListGrowingMode.js\";\nimport ListItemBase from \"./ListItemBase.js\";\nimport DropIndicator from \"./DropIndicator.js\";\nimport type ListItem from \"./ListItem.js\";\nimport type {\n\tSelectionRequestEventDetail,\n\tPressEventDetail,\n} from \"./ListItem.js\";\nimport ListSeparators from \"./types/ListSeparators.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\n\n// Template\nimport ListTemplate from \"./generated/templates/ListTemplate.lit.js\";\n\n// Styles\nimport listCss from \"./generated/themes/List.css.js\";\nimport browserScrollbarCSS from \"./generated/themes/BrowserScrollbar.css.js\";\n\n// Texts\nimport {\n\tLOAD_MORE_TEXT, ARIA_LABEL_LIST_SELECTABLE,\n\tARIA_LABEL_LIST_MULTISELECTABLE,\n\tARIA_LABEL_LIST_DELETABLE,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport CheckBox from \"./CheckBox.js\";\nimport RadioButton from \"./RadioButton.js\";\n\nconst INFINITE_SCROLL_DEBOUNCE_RATE = 250; // ms\n\nconst PAGE_UP_DOWN_SIZE = 10;\n\n// ListItemBase-based events\ntype ListItemFocusEventDetail = {\n\titem: ListItemBase,\n}\n\ntype ListSelectionChangeEventDetail = {\n\tselectedItems: Array<ListItemBase>;\n\tpreviouslySelectedItems: Array<ListItemBase>;\n\tselectionComponentPressed: boolean;\n\ttargetItem: ListItemBase;\n\tkey?: string;\n}\n\ntype ListItemDeleteEventDetail = {\n\titem: ListItemBase,\n}\n\ntype ListMoveEventDetail = {\n\tsource: {\n\t\telement: HTMLElement,\n\t},\n\tdestination: {\n\t\telement: HTMLElement,\n\t\tplacement: `${MovePlacement}`,\n\t}\n}\n\n// ListItem-based events\ntype ListItemCloseEventDetail = {\n\titem: ListItemBase,\n}\n\ntype ListItemToggleEventDetail = {\n\titem: ListItemBase,\n}\n\ntype ListItemClickEventDetail = {\n\titem: ListItemBase,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-list` component allows displaying a list of items, advanced keyboard\n * handling support for navigating between items, and predefined modes to improve the development efficiency.\n *\n * The `ui5-list` is a container for the available list items:\n *\n * - `ui5-li`\n * - `ui5-li-custom`\n * - `ui5-li-groupheader`\n *\n * To benefit from the built-in selection mechanism, you can use the available\n * selection modes, such as\n * `SingleSelect`, `MultiSelect` and `Delete`.\n *\n * Additionally, the `ui5-list` provides header, footer, and customization for the list item separators.\n *\n * ### Keyboard Handling\n *\n * #### Basic Navigation\n * The `ui5-list` provides advanced keyboard handling.\n * When a list is focused the user can use the following keyboard\n * shortcuts in order to perform a navigation:\n *\n * - [Up] or [Down] - Navigates up and down the items\n * - [Home] - Navigates to first item\n * - [End] - Navigates to the last item\n *\n * The user can use the following keyboard shortcuts to perform actions (such as select, delete),\n * when the `mode` property is in use:\n *\n * - [Space] - Select an item (if `type` is 'Active') when `mode` is selection\n * - [Delete] - Delete an item if `mode` property is `Delete`\n *\n * #### Fast Navigation\n * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/List.js\";`\n *\n * `import \"@ui5/webcomponents/dist/StandardListItem.js\";` (for `ui5-li`)\n *\n * `import \"@ui5/webcomponents/dist/CustomListItem.js\";` (for `ui5-li-custom`)\n *\n * `import \"@ui5/webcomponents/dist/GroupHeaderListItem.js\";` (for `ui5-li-groupheader`)\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n\ttag: \"ui5-list\",\n\tfastNavigation: true,\n\trenderer: litRender,\n\ttemplate: ListTemplate,\n\tstyles: [browserScrollbarCSS, listCss],\n\tdependencies: [BusyIndicator, DropIndicator],\n})\n/**\n * Fired when an item is activated, unless the item's `type` property\n * is set to `Inactive`.\n * @allowPreventDefault\n * @param {HTMLElement} item The clicked item.\n * @public\n */\n@event<ListItemClickEventDetail>(\"item-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired when the `Close` button of any item is clicked\n *\n * **Note:** This event is only applicable to list items that can be closed (such as notification list items),\n * not to be confused with `item-delete`.\n * @param {HTMLElement} item the item about to be closed.\n * @public\n * @since 1.0.0-rc.8\n */\n@event<ListItemCloseEventDetail>(\"item-close\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired when the `Toggle` button of any item is clicked.\n *\n * **Note:** This event is only applicable to list items that can be toggled (such as notification group list items).\n * @param {HTMLElement} item the toggled item.\n * @public\n * @since 1.0.0-rc.8\n */\n@event<ListItemToggleEventDetail>(\"item-toggle\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired when the Delete button of any item is pressed.\n *\n * **Note:** A Delete button is displayed on each item,\n * when the component `mode` property is set to `Delete`.\n * @param {HTMLElement} item the deleted item.\n * @public\n */\n@event<ListItemDeleteEventDetail>(\"item-delete\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired when selection is changed by user interaction\n * in `SingleSelect`, `SingleSelectBegin`, `SingleSelectEnd` and `MultiSelect` modes.\n * @allowPreventDefault\n * @param {Array<ListItemBase>} selectedItems An array of the selected items.\n * @param {Array<ListItemBase>} previouslySelectedItems An array of the previously selected items.\n * @public\n */\n@event<ListSelectionChangeEventDetail>(\"selection-change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tselectedItems: { type: Array },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tpreviouslySelectedItems: { type: Array },\n\t\t/**\n\t\t * protected, holds the event target item\n\t\t * @protected\n\t\t */\n\t\ttargetItem: { type: HTMLElement },\n\t\t/**\n\t\t * protected, indicates if the user used the selection components to change the selection\n\t\t * @protected\n\t\t */\n\t\tselectionComponentPressed: { type: Boolean },\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tkey: { type: String },\n\t},\n})\n\n/**\n * Fired when the user scrolls to the bottom of the list.\n *\n * **Note:** The event is fired when the `growing='Scroll'` property is enabled.\n * @public\n * @since 1.0.0-rc.6\n */\n@event(\"load-more\")\n\n/**\n * @private\n */\n@event<ListItemFocusEventDetail>(\"item-focused\", {\n\tdetail: {\n\t\titem: { type: HTMLElement },\n\t},\n})\nclass List extends UI5Element {\n\t/**\n\t * Defines the component header text.\n\t *\n\t * **Note:** If `header` is set this property is ignored.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\theaderText!: string;\n\n\t/**\n\t * Defines the footer text.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tfooterText!: string;\n\n\t/**\n\t * Determines whether the component is indented.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tindent!: boolean;\n\n\t/**\n\t * Defines the mode of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: ListMode, defaultValue: ListMode.None })\n\tmode!: `${ListMode}`;\n\n\t/**\n\t * Defines the text that is displayed when the component contains no items.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tnoDataText!: string;\n\n\t/**\n\t * Defines the item separator style that is used.\n\t * @default \"All\"\n\t * @public\n\t */\n\t@property({ type: ListSeparators, defaultValue: ListSeparators.All })\n\tseparators!: `${ListSeparators}`;\n\n\t/**\n\t * Defines whether the component will have growing capability either by pressing a `More` button,\n\t * or via user scroll. In both cases `load-more` event is fired.\n\t *\n\t * **Restrictions:** `growing=\"Scroll\"` is not supported for Internet Explorer,\n\t * on IE the component will fallback to `growing=\"Button\"`.\n\t * @default \"None\"\n\t * @since 1.0.0-rc.13\n\t * @public\n\t */\n\t@property({ type: ListGrowingMode, defaultValue: ListGrowingMode.None })\n\tgrowing!: `${ListGrowingMode}`;\n\n\t/**\n\t * Defines the text that will be displayed inside the growing button.\n\t *\n\t * **Note:** If not specified a built-in text will be displayed.\n\t *\n\t * **Note:** This property takes effect if the `growing` property is set to the `Button`.\n\t * @default \"\"\n\t * @since 1.24\n\t * @public\n\t */\n\t@property()\n\tgrowingButtonText!: string;\n\n\t/**\n\t * Defines if the component would display a loading indicator over the list.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.6\n\t */\n\t@property({ type: Boolean })\n\tbusy!: boolean;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the busy indicator will show up for this component.\n\t * @default 1000\n\t * @public\n\t */\n\t@property({ validator: Integer, defaultValue: 1000 })\n\tbusyDelay!: number;\n\n\t/**\n\t * Defines the accessible name of the component.\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Defines the IDs of the elements that label the input.\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ defaultValue: \"\" })\n\taccessibleNameRef!: string;\n\n\t/**\n\t * Defines the accessible role of the component.\n\t * @public\n\t * @default \"list\"\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ defaultValue: \"list\" })\n\taccessibleRole!: string;\n\n\t/**\n\t * Defines the description for the accessible role of the component.\n\t * @protected\n\t * @default undefined\n\t * @since 1.10.0\n\t */\n\t@property({ defaultValue: undefined, noAttribute: true })\n\taccessibleRoleDescription?: string;\n\n\t/**\n\t * Defines if the entire list is in view port.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_inViewport!: boolean;\n\n\t/**\n\t * Defines the active state of the `More` button.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_loadMoreActive!: boolean;\n\n\t/**\n\t * Defines the items of the component.\n\t *\n\t * **Note:** Use `ui5-li`, `ui5-li-custom`, and `ui5-li-groupheader` for the intended design.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\titems!: Array<ListItemBase>;\n\n\t/**\n\t * Defines the component header.\n\t *\n\t * **Note:** When `header` is set, the\n\t * `headerText` property is ignored.\n\t * @public\n\t */\n\t@slot()\n\theader!: Array<HTMLElement>;\n\n\tstatic i18nBundle: I18nBundle;\n\t_previouslyFocusedItem: ListItemBase | null;\n\t_forwardingFocus: boolean;\n\tresizeListenerAttached: boolean;\n\tlistEndObserved: boolean;\n\t_handleResize: ResizeObserverCallback;\n\tinitialIntersection: boolean;\n\t_selectionRequested?: boolean;\n\tgrowingIntersectionObserver?: IntersectionObserver | null;\n\t_itemNavigation: ItemNavigation;\n\t_beforeElement?: HTMLElement | null;\n\t_afterElement?: HTMLElement | null;\n\n\tstatic async onDefine() {\n\t\tList.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._previouslyFocusedItem = null;\n\n\t\t// Indicates that the List is forwarding the focus before or after the internal ul.\n\t\tthis._forwardingFocus = false;\n\n\t\t// Indicates that the List has already subscribed for resize.\n\t\tthis.resizeListenerAttached = false;\n\n\t\t// Indicates if the IntersectionObserver started observing the List\n\t\tthis.listEndObserved = false;\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items\n\t\t\tnavigationMode: NavigationMode.Vertical,\n\t\t\tgetItemsCallback: () => this.getEnabledItems(),\n\t\t});\n\n\t\tthis._handleResize = this.checkListInViewport.bind(this);\n\n\t\tthis._handleResize = this.checkListInViewport.bind(this);\n\n\t\t// Indicates the List bottom most part has been detected by the IntersectionObserver\n\t\t// for the first time.\n\t\tthis.initialIntersection = true;\n\t}\n\n\tonEnterDOM() {\n\t\tDragRegistry.subscribe(this);\n\t}\n\n\tonExitDOM() {\n\t\tthis.unobserveListEnd();\n\t\tthis.resizeListenerAttached = false;\n\t\tResizeHandler.deregister(this.getDomRef()!, this._handleResize);\n\t\tDragRegistry.unsubscribe(this);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.prepareListItems();\n\t}\n\n\tonAfterRendering() {\n\t\tif (this.growsOnScroll) {\n\t\t\tthis.observeListEnd();\n\t\t} else if (this.listEndObserved) {\n\t\t\tthis.unobserveListEnd();\n\t\t}\n\n\t\tif (this.grows) {\n\t\t\tthis.checkListInViewport();\n\t\t\tthis.attachForResize();\n\t\t}\n\t}\n\n\tattachForResize() {\n\t\tif (!this.resizeListenerAttached) {\n\t\t\tthis.resizeListenerAttached = true;\n\t\t\tResizeHandler.register(this.getDomRef()!, this._handleResize);\n\t\t}\n\t}\n\n\tget shouldRenderH1() {\n\t\treturn !this.header.length && this.headerText;\n\t}\n\n\tget headerID() {\n\t\treturn `${this._id}-header`;\n\t}\n\n\tget modeLabelID() {\n\t\treturn `${this._id}-modeLabel`;\n\t}\n\n\tget listEndDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-list-end-marker\");\n\t}\n\n\tget dropIndicatorDOM(): DropIndicator | null {\n\t\treturn this.shadowRoot!.querySelector(\"[ui5-drop-indicator]\");\n\t}\n\n\tget hasData() {\n\t\treturn this.getItems().length !== 0;\n\t}\n\n\tget showNoDataText() {\n\t\treturn !this.hasData && this.noDataText;\n\t}\n\n\tget isDelete() {\n\t\treturn this.mode === ListMode.Delete;\n\t}\n\n\tget isSingleSelect() {\n\t\treturn [\n\t\t\tListMode.SingleSelect,\n\t\t\tListMode.SingleSelectBegin,\n\t\t\tListMode.SingleSelectEnd,\n\t\t\tListMode.SingleSelectAuto,\n\t\t].includes(this.mode as ListMode);\n\t}\n\n\tget isMultiSelect() {\n\t\treturn this.mode === ListMode.MultiSelect;\n\t}\n\n\tget ariaLabelledBy() {\n\t\tif (this.accessibleNameRef || this.accessibleName) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst ids = [];\n\n\t\tif (this.isMultiSelect || this.isSingleSelect || this.isDelete) {\n\t\t\tids.push(this.modeLabelID);\n\t\t}\n\n\t\tif (this.shouldRenderH1) {\n\t\t\tids.push(this.headerID);\n\t\t}\n\n\t\treturn ids.length ? ids.join(\" \") : undefined;\n\t}\n\n\tget ariaLabelTxt() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget ariaLabelModeText(): string {\n\t\tif (this.hasData) {\n\t\t\tif (this.isMultiSelect) {\n\t\t\t\treturn List.i18nBundle.getText(ARIA_LABEL_LIST_MULTISELECTABLE);\n\t\t\t}\n\t\t\tif (this.isSingleSelect) {\n\t\t\t\treturn List.i18nBundle.getText(ARIA_LABEL_LIST_SELECTABLE);\n\t\t\t}\n\t\t\tif (this.isDelete) {\n\t\t\t\treturn List.i18nBundle.getText(ARIA_LABEL_LIST_DELETABLE);\n\t\t\t}\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tget grows() {\n\t\treturn this.growing !== ListGrowingMode.None;\n\t}\n\n\tget growsOnScroll() {\n\t\treturn this.growing === ListGrowingMode.Scroll;\n\t}\n\n\tget growsWithButton() {\n\t\treturn this.growing === ListGrowingMode.Button;\n\t}\n\n\tget _growingButtonText(): string {\n\t\treturn this.growingButtonText || List.i18nBundle.getText(LOAD_MORE_TEXT);\n\t}\n\n\tget busyIndPosition() {\n\t\tif (!this.grows) {\n\t\t\treturn \"absolute\";\n\t\t}\n\n\t\treturn this._inViewport ? \"absolute\" : \"sticky\";\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tbusyInd: {\n\t\t\t\tposition: this.busyIndPosition,\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-list-root\": true,\n\t\t\t\t\"ui5-content-native-scrollbars\": getEffectiveScrollbarStyle(),\n\t\t\t},\n\t\t};\n\t}\n\n\tprepareListItems() {\n\t\tconst slottedItems = this.getItemsForProcessing();\n\n\t\tslottedItems.forEach((item, key) => {\n\t\t\tconst isLastChild = key === slottedItems.length - 1;\n\t\t\tconst showBottomBorder = this.separators === ListSeparators.All\n\t\t\t\t|| (this.separators === ListSeparators.Inner && !isLastChild);\n\n\t\t\tif (item.hasConfigurableMode) {\n\t\t\t\t(item as ListItem)._mode = this.mode;\n\t\t\t}\n\t\t\titem.hasBorder = showBottomBorder;\n\t\t});\n\t}\n\n\tasync observeListEnd() {\n\t\tif (!this.listEndObserved) {\n\t\t\tawait renderFinished();\n\t\t\tthis.getIntersectionObserver().observe(this.listEndDOM!);\n\t\t\tthis.listEndObserved = true;\n\t\t}\n\t}\n\n\tunobserveListEnd() {\n\t\tif (this.growingIntersectionObserver) {\n\t\t\tthis.growingIntersectionObserver.disconnect();\n\t\t\tthis.growingIntersectionObserver = null;\n\t\t\tthis.listEndObserved = false;\n\t\t}\n\t}\n\n\tonInteresection(entries: Array<IntersectionObserverEntry>) {\n\t\tif (this.initialIntersection) {\n\t\t\tthis.initialIntersection = false;\n\t\t\treturn;\n\t\t}\n\t\tentries.forEach(entry => {\n\t\t\tif (entry.isIntersecting) {\n\t\t\t\tdebounce(this.loadMore.bind(this), INFINITE_SCROLL_DEBOUNCE_RATE);\n\t\t\t}\n\t\t});\n\t}\n\n\t/*\n\t* ITEM SELECTION BASED ON THE CURRENT MODE\n\t*/\n\tonSelectionRequested(e: CustomEvent<SelectionRequestEventDetail>) {\n\t\tconst previouslySelectedItems = this.getSelectedItems();\n\t\tlet selectionChange = false;\n\t\tthis._selectionRequested = true;\n\n\t\tif (this.mode !== ListMode.None && this[`handle${this.mode}`]) {\n\t\t\tselectionChange = this[`handle${this.mode}`](e.detail.item, !!e.detail.selected);\n\t\t}\n\n\t\tif (selectionChange) {\n\t\t\tconst changePrevented = !this.fireEvent<ListSelectionChangeEventDetail>(\"selection-change\", {\n\t\t\t\tselectedItems: this.getSelectedItems(),\n\t\t\t\tpreviouslySelectedItems,\n\t\t\t\tselectionComponentPressed: e.detail.selectionComponentPressed,\n\t\t\t\ttargetItem: e.detail.item,\n\t\t\t\tkey: e.detail.key,\n\t\t\t}, true);\n\t\t\tif (changePrevented) {\n\t\t\t\tthis._revertSelection(previouslySelectedItems);\n\t\t\t}\n\t\t}\n\t}\n\n\thandleSingleSelect(item: ListItemBase): boolean {\n\t\tif (item.selected) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.deselectSelectedItems();\n\t\titem.selected = true;\n\n\t\treturn true;\n\t}\n\n\thandleSingleSelectBegin(item: ListItemBase): boolean {\n\t\treturn this.handleSingleSelect(item);\n\t}\n\n\thandleSingleSelectEnd(item: ListItemBase): boolean {\n\t\treturn this.handleSingleSelect(item);\n\t}\n\n\thandleSingleSelectAuto(item: ListItemBase): boolean {\n\t\treturn this.handleSingleSelect(item);\n\t}\n\n\thandleMultiSelect(item: ListItemBase, selected: boolean): boolean {\n\t\titem.selected = selected;\n\t\treturn true;\n\t}\n\n\thandleDelete(item: ListItemBase): boolean {\n\t\tthis.fireEvent<ListItemDeleteEventDetail>(\"item-delete\", { item });\n\n\t\treturn true;\n\t}\n\n\tdeselectSelectedItems() {\n\t\tthis.getSelectedItems().forEach(item => { item.selected = false; });\n\t}\n\n\tgetSelectedItems(): Array<ListItemBase> {\n\t\treturn this.getItems().filter(item => item.selected);\n\t}\n\n\tgetEnabledItems(): Array<ListItemBase> {\n\t\treturn this.getItems().filter(item => item._focusable);\n\t}\n\n\tgetItems(): Array<ListItemBase> {\n\t\treturn this.getSlottedNodes<ListItemBase>(\"items\");\n\t}\n\n\tgetItemsForProcessing(): Array<ListItemBase> {\n\t\treturn this.getItems();\n\t}\n\n\t_revertSelection(previouslySelectedItems: Array<ListItemBase>) {\n\t\tthis.getItems().forEach((item: ListItemBase) => {\n\t\t\tconst oldSelection = previouslySelectedItems.indexOf(item) !== -1;\n\t\t\tconst multiSelectCheckBox = item.shadowRoot!.querySelector<CheckBox>(\".ui5-li-multisel-cb\");\n\t\t\tconst singleSelectRadioButton = item.shadowRoot!.querySelector<RadioButton>(\".ui5-li-singlesel-radiobtn\");\n\n\t\t\titem.selected = oldSelection;\n\t\t\tif (multiSelectCheckBox) {\n\t\t\t\tmultiSelectCheckBox.checked = oldSelection;\n\t\t\t} else if (singleSelectRadioButton) {\n\t\t\t\tsingleSelectRadioButton.checked = oldSelection;\n\t\t\t}\n\t\t});\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isTabNext(e)) {\n\t\t\tthis._handleTabNext(e);\n\t\t}\n\t}\n\n\t_onLoadMoreKeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._loadMoreActive = true;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._onLoadMoreClick();\n\t\t\tthis._loadMoreActive = true;\n\t\t}\n\n\t\tif (isTabNext(e)) {\n\t\t\tthis.focusAfterElement();\n\t\t}\n\n\t\tif (isTabPrevious(e)) {\n\t\t\tif (this.getPreviouslyFocusedItem()) {\n\t\t\t\tthis.focusPreviouslyFocusedItem();\n\t\t\t} else {\n\t\t\t\tthis.focusFirstItem();\n\t\t\t}\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onLoadMoreKeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._onLoadMoreClick();\n\t\t}\n\t\tthis._loadMoreActive = false;\n\t}\n\n\t_onLoadMoreMousedown() {\n\t\tthis._loadMoreActive = true;\n\t}\n\n\t_onLoadMoreMouseup() {\n\t\tthis._loadMoreActive = false;\n\t}\n\n\t_onLoadMoreClick() {\n\t\tthis.loadMore();\n\t}\n\n\tcheckListInViewport() {\n\t\tthis._inViewport = isElementInView(this.getDomRef()!);\n\t}\n\n\tloadMore() {\n\t\tthis.fireEvent(\"load-more\");\n\t}\n\n\t/*\n\t* KEYBOARD SUPPORT\n\t*/\n\t_handleTabNext(e: KeyboardEvent) {\n\t\tlet lastTabbableEl;\n\t\tconst target = getNormalizedTarget(e.target as HTMLElement);\n\n\t\tif (!lastTabbableEl) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (lastTabbableEl === target) {\n\t\t\tif (this.getFirstItem(x => x.selected && x._focusable)) {\n\t\t\t\tthis.focusFirstSelectedItem();\n\t\t\t} else if (this.getPreviouslyFocusedItem()) {\n\t\t\t\tthis.focusPreviouslyFocusedItem();\n\t\t\t} else {\n\t\t\t\tthis.focusFirstItem();\n\t\t\t}\n\n\t\t\te.stopImmediatePropagation();\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tconst target = getNormalizedTarget(e.target as HTMLElement);\n\t\t// If the focusin event does not origin from one of the 'triggers' - ignore it.\n\t\tif (!this.isForwardElement(target)) {\n\t\t\te.stopImmediatePropagation();\n\t\t\treturn;\n\t\t}\n\n\t\t// The focus arrives in the List for the first time.\n\t\t// If there is selected item - focus it or focus the first item.\n\t\tif (!this.getPreviouslyFocusedItem()) {\n\t\t\tif (this.growsWithButton && this.isForwardAfterElement(target)) {\n\t\t\t\tthis.focusGrowingButton();\n\t\t\t} else {\n\t\t\t\tthis.focusFirstItem();\n\t\t\t}\n\t\t\te.stopImmediatePropagation();\n\t\t\treturn;\n\t\t}\n\n\t\t// The focus returns to the List,\n\t\t// focus the first selected item or the previously focused element.\n\t\tif (!this.getForwardingFocus()) {\n\t\t\tif (this.growsWithButton && this.isForwardAfterElement(target)) {\n\t\t\t\tthis.focusGrowingButton();\n\t\t\t\te.stopImmediatePropagation();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.focusPreviouslyFocusedItem();\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.setForwardingFocus(false);\n\t}\n\n\t_ondragenter(e: DragEvent) {\n\t\te.preventDefault();\n\t}\n\n\t_ondragleave(e: DragEvent) {\n\t\tif (e.relatedTarget instanceof Node && this.shadowRoot!.contains(e.relatedTarget)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.dropIndicatorDOM!.targetReference = null;\n\t}\n\n\t_ondragover(e: DragEvent) {\n\t\tconst draggedElement = DragRegistry.getDraggedElement();\n\n\t\tif (!(e.target instanceof HTMLElement) || !draggedElement) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst closestPosition = findClosestPosition(\n\t\t\tthis.items,\n\t\t\te.clientY,\n\t\t\tOrientation.Vertical,\n\t\t);\n\n\t\tif (!closestPosition) {\n\t\t\tthis.dropIndicatorDOM!.targetReference = null;\n\t\t\treturn;\n\t\t}\n\n\t\tlet placements = closestPosition.placements;\n\n\t\tif (closestPosition.element === draggedElement) {\n\t\t\tplacements = placements.filter(placement => placement !== MovePlacement.On);\n\t\t}\n\n\t\tconst placementAccepted = placements.some(placement => {\n\t\t\tconst beforeItemMovePrevented = !this.fireEvent<ListMoveEventDetail>(\"move-over\", {\n\t\t\t\tsource: {\n\t\t\t\t\telement: draggedElement,\n\t\t\t\t},\n\t\t\t\tdestination: {\n\t\t\t\t\telement: closestPosition.element,\n\t\t\t\t\tplacement,\n\t\t\t\t},\n\t\t\t}, true);\n\n\t\t\tif (beforeItemMovePrevented) {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.dropIndicatorDOM!.targetReference = closestPosition.element;\n\t\t\t\tthis.dropIndicatorDOM!.placement = placement;\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t});\n\n\t\tif (!placementAccepted) {\n\t\t\tthis.dropIndicatorDOM!.targetReference = null;\n\t\t}\n\t}\n\n\t_ondrop(e: DragEvent) {\n\t\te.preventDefault();\n\t\tconst draggedElement = DragRegistry.getDraggedElement()!;\n\n\t\tthis.fireEvent<ListMoveEventDetail>(\"move\", {\n\t\t\tsource: {\n\t\t\t\telement: draggedElement,\n\t\t\t},\n\t\t\tdestination: {\n\t\t\t\telement: this.dropIndicatorDOM!.targetReference!,\n\t\t\t\tplacement: this.dropIndicatorDOM!.placement,\n\t\t\t},\n\t\t});\n\n\t\tthis.dropIndicatorDOM!.targetReference = null;\n\t\tdraggedElement.focus();\n\t}\n\n\tisForwardElement(element: HTMLElement) {\n\t\tconst elementId = element.id;\n\t\tconst beforeElement = this.getBeforeElement();\n\n\t\tif (this._id === elementId || (beforeElement && beforeElement.id === elementId)) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn this.isForwardAfterElement(element);\n\t}\n\n\tisForwardAfterElement(element: HTMLElement) {\n\t\tconst elementId = element.id;\n\t\tconst afterElement = this.getAfterElement();\n\n\t\treturn afterElement && afterElement.id === elementId;\n\t}\n\n\tonItemTabIndexChange(e: CustomEvent) {\n\t\tconst target = e.target as ListItemBase;\n\t\tthis._itemNavigation.setCurrentItem(target);\n\t}\n\n\tonItemFocused(e: CustomEvent) {\n\t\tconst target = e.target as ListItemBase;\n\n\t\te.stopPropagation();\n\n\t\tthis._itemNavigation.setCurrentItem(target);\n\t\tthis.fireEvent<ListItemFocusEventDetail>(\"item-focused\", { item: target });\n\n\t\tif (this.mode === ListMode.SingleSelectAuto) {\n\t\t\tconst detail: SelectionRequestEventDetail = {\n\t\t\t\titem: target,\n\t\t\t\tselectionComponentPressed: false,\n\t\t\t\tselected: true,\n\t\t\t\tkey: e.detail.key,\n\t\t\t};\n\n\t\t\tthis.onSelectionRequested({ detail } as CustomEvent<SelectionRequestEventDetail>);\n\t\t}\n\t}\n\n\tonItemPress(e: CustomEvent<PressEventDetail>) {\n\t\tconst pressedItem = e.detail.item;\n\n\t\tif (!this.fireEvent<ListItemClickEventDetail>(\"item-click\", { item: pressedItem }, true)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._selectionRequested && this.mode !== ListMode.Delete) {\n\t\t\tthis._selectionRequested = true;\n\t\t\tconst detail: SelectionRequestEventDetail = {\n\t\t\t\titem: pressedItem,\n\t\t\t\tselectionComponentPressed: false,\n\t\t\t\tselected: !pressedItem.selected,\n\t\t\t\tkey: e.detail.key,\n\t\t\t};\n\n\t\t\tthis.onSelectionRequested({ detail } as CustomEvent<SelectionRequestEventDetail>);\n\t\t}\n\n\t\tthis._selectionRequested = false;\n\t}\n\n\t// This is applicable to NotificationListItem\n\tonItemClose(e: CustomEvent<ListItemCloseEventDetail>) {\n\t\tconst target = e.target as UI5Element | null;\n\t\tconst shouldFireItemClose = target?.hasAttribute(\"ui5-li-notification\") || target?.hasAttribute(\"ui5-li-notification-group\");\n\n\t\tif (shouldFireItemClose) {\n\t\t\tthis.fireEvent<ListItemCloseEventDetail>(\"item-close\", { item: e.detail?.item });\n\t\t}\n\t}\n\n\tonItemToggle(e: CustomEvent<ListItemToggleEventDetail>) {\n\t\tthis.fireEvent<ListItemToggleEventDetail>(\"item-toggle\", { item: e.detail.item });\n\t}\n\n\tonForwardBefore(e: CustomEvent) {\n\t\tthis.setPreviouslyFocusedItem(e.target as ListItemBase);\n\t\tthis.focusBeforeElement();\n\t\te.stopPropagation();\n\t}\n\n\tonForwardAfter(e: CustomEvent) {\n\t\tthis.setPreviouslyFocusedItem(e.target as ListItemBase);\n\n\t\tif (!this.growsWithButton) {\n\t\t\tthis.focusAfterElement();\n\t\t} else {\n\t\t\tthis.focusGrowingButton();\n\t\t\te.preventDefault();\n\t\t}\n\n\t\te.stopPropagation();\n\t}\n\n\tfocusBeforeElement() {\n\t\tthis.setForwardingFocus(true);\n\t\tthis.getBeforeElement().focus();\n\t}\n\n\tfocusAfterElement() {\n\t\tthis.setForwardingFocus(true);\n\t\tthis.getAfterElement().focus();\n\t}\n\n\tfocusGrowingButton() {\n\t\tconst growingBtn = this.getGrowingButton();\n\n\t\tif (growingBtn) {\n\t\t\tgrowingBtn.focus();\n\t\t}\n\t}\n\n\tgetGrowingButton() {\n\t\treturn this.shadowRoot!.querySelector(`[id=\"${this._id}-growing-btn\"]`) as HTMLElement;\n\t}\n\n\t/**\n\t * Focuses the first list item and sets its tabindex to \"0\" via the ItemNavigation\n\t * @protected\n\t */\n\tfocusFirstItem() {\n\t\t// only enabled items are focusable\n\t\tconst firstItem = this.getFirstItem(x => x._focusable);\n\n\t\tif (firstItem) {\n\t\t\tfirstItem.focus();\n\t\t}\n\t}\n\n\tfocusPreviouslyFocusedItem() {\n\t\tconst previouslyFocusedItem = this.getPreviouslyFocusedItem();\n\n\t\tif (previouslyFocusedItem) {\n\t\t\tpreviouslyFocusedItem.focus();\n\t\t}\n\t}\n\n\tfocusFirstSelectedItem() {\n\t\t// only enabled items are focusable\n\t\tconst firstSelectedItem = this.getFirstItem(x => x.selected && x._focusable);\n\n\t\tif (firstSelectedItem) {\n\t\t\tfirstSelectedItem.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Focuses a list item and sets its tabindex to \"0\" via the ItemNavigation\n\t * @protected\n\t * @param item\n\t */\n\tfocusItem(item: ListItemBase) {\n\t\tthis._itemNavigation.setCurrentItem(item);\n\t\titem.focus();\n\t}\n\n\tonFocusRequested(e: CustomEvent) {\n\t\tsetTimeout(() => {\n\t\t\tthis.setPreviouslyFocusedItem(e.target as ListItemBase);\n\t\t\tthis.focusPreviouslyFocusedItem();\n\t\t}, 0);\n\t}\n\n\tsetForwardingFocus(forwardingFocus: boolean) {\n\t\tthis._forwardingFocus = forwardingFocus;\n\t}\n\n\tgetForwardingFocus() {\n\t\treturn this._forwardingFocus;\n\t}\n\n\tsetPreviouslyFocusedItem(item: ListItemBase) {\n\t\tthis._previouslyFocusedItem = item;\n\t}\n\n\tgetPreviouslyFocusedItem() {\n\t\treturn this._previouslyFocusedItem;\n\t}\n\n\tgetFirstItem(filter: (item: ListItemBase) => boolean): ListItemBase | null {\n\t\tconst slottedItems = this.getItems();\n\t\tlet firstItem = null;\n\n\t\tif (!filter) {\n\t\t\treturn slottedItems.length ? slottedItems[0] : null;\n\t\t}\n\n\t\tfor (let i = 0; i < slottedItems.length; i++) {\n\t\t\tif (filter(slottedItems[i])) {\n\t\t\t\tfirstItem = slottedItems[i];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn firstItem;\n\t}\n\n\tgetAfterElement() {\n\t\tif (!this._afterElement) {\n\t\t\tthis._afterElement = this.shadowRoot!.querySelector(`[id=\"${this._id}-after\"]`) as HTMLElement;\n\t\t}\n\t\treturn this._afterElement;\n\t}\n\n\tgetBeforeElement() {\n\t\tif (!this._beforeElement) {\n\t\t\tthis._beforeElement = this.shadowRoot!.querySelector(`[id=\"${this._id}-before\"]`) as HTMLElement;\n\t\t}\n\t\treturn this._beforeElement;\n\t}\n\n\tgetIntersectionObserver() {\n\t\tif (!this.growingIntersectionObserver) {\n\t\t\tthis.growingIntersectionObserver = new IntersectionObserver(this.onInteresection.bind(this), {\n\t\t\t\troot: null,\n\t\t\t\trootMargin: \"0px\",\n\t\t\t\tthreshold: 1.0,\n\t\t\t});\n\t\t}\n\n\t\treturn this.growingIntersectionObserver;\n\t}\n}\n\nList.define();\n\nexport default List;\nexport type {\n\tListItemClickEventDetail,\n\tListItemFocusEventDetail,\n\tListItemDeleteEventDetail,\n\tListItemCloseEventDetail,\n\tListItemToggleEventDetail,\n\tListSelectionChangeEventDetail,\n\tListMoveEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"List.js","sourceRoot":"","sources":["../src/List.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport {\n\tisTabNext,\n\tisSpace,\n\tisEnter,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport DragRegistry from \"@ui5/webcomponents-base/dist/util/dragAndDrop/DragRegistry.js\";\nimport findClosestPosition from \"@ui5/webcomponents-base/dist/util/dragAndDrop/findClosestPosition.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport getNormalizedTarget from \"@ui5/webcomponents-base/dist/util/getNormalizedTarget.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport debounce from \"@ui5/webcomponents-base/dist/util/debounce.js\";\nimport isElementInView from \"@ui5/webcomponents-base/dist/util/isElementInView.js\";\nimport Orientation from \"@ui5/webcomponents-base/dist/types/Orientation.js\";\nimport MovePlacement from \"@ui5/webcomponents-base/dist/types/MovePlacement.js\";\nimport ListMode from \"./types/ListMode.js\";\nimport ListGrowingMode from \"./types/ListGrowingMode.js\";\nimport ListItemBase from \"./ListItemBase.js\";\nimport DropIndicator from \"./DropIndicator.js\";\nimport type ListItem from \"./ListItem.js\";\nimport type {\n\tSelectionRequestEventDetail,\n\tPressEventDetail,\n} from \"./ListItem.js\";\nimport ListSeparators from \"./types/ListSeparators.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\n\n// Template\nimport ListTemplate from \"./generated/templates/ListTemplate.lit.js\";\n\n// Styles\nimport listCss from \"./generated/themes/List.css.js\";\n\n// Texts\nimport {\n\tLOAD_MORE_TEXT, ARIA_LABEL_LIST_SELECTABLE,\n\tARIA_LABEL_LIST_MULTISELECTABLE,\n\tARIA_LABEL_LIST_DELETABLE,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport CheckBox from \"./CheckBox.js\";\nimport RadioButton from \"./RadioButton.js\";\n\nconst INFINITE_SCROLL_DEBOUNCE_RATE = 250; // ms\n\nconst PAGE_UP_DOWN_SIZE = 10;\n\n// ListItemBase-based events\ntype ListItemFocusEventDetail = {\n\titem: ListItemBase,\n}\n\ntype ListSelectionChangeEventDetail = {\n\tselectedItems: Array<ListItemBase>;\n\tpreviouslySelectedItems: Array<ListItemBase>;\n\tselectionComponentPressed: boolean;\n\ttargetItem: ListItemBase;\n\tkey?: string;\n}\n\ntype ListItemDeleteEventDetail = {\n\titem: ListItemBase,\n}\n\ntype ListMoveEventDetail = {\n\tsource: {\n\t\telement: HTMLElement,\n\t},\n\tdestination: {\n\t\telement: HTMLElement,\n\t\tplacement: `${MovePlacement}`,\n\t}\n}\n\n// ListItem-based events\ntype ListItemCloseEventDetail = {\n\titem: ListItemBase,\n}\n\ntype ListItemToggleEventDetail = {\n\titem: ListItemBase,\n}\n\ntype ListItemClickEventDetail = {\n\titem: ListItemBase,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-list` component allows displaying a list of items, advanced keyboard\n * handling support for navigating between items, and predefined modes to improve the development efficiency.\n *\n * The `ui5-list` is a container for the available list items:\n *\n * - `ui5-li`\n * - `ui5-li-custom`\n * - `ui5-li-groupheader`\n *\n * To benefit from the built-in selection mechanism, you can use the available\n * selection modes, such as\n * `SingleSelect`, `MultiSelect` and `Delete`.\n *\n * Additionally, the `ui5-list` provides header, footer, and customization for the list item separators.\n *\n * ### Keyboard Handling\n *\n * #### Basic Navigation\n * The `ui5-list` provides advanced keyboard handling.\n * When a list is focused the user can use the following keyboard\n * shortcuts in order to perform a navigation:\n *\n * - [Up] or [Down] - Navigates up and down the items\n * - [Home] - Navigates to first item\n * - [End] - Navigates to the last item\n *\n * The user can use the following keyboard shortcuts to perform actions (such as select, delete),\n * when the `mode` property is in use:\n *\n * - [Space] - Select an item (if `type` is 'Active') when `mode` is selection\n * - [Delete] - Delete an item if `mode` property is `Delete`\n *\n * #### Fast Navigation\n * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/List.js\";`\n *\n * `import \"@ui5/webcomponents/dist/StandardListItem.js\";` (for `ui5-li`)\n *\n * `import \"@ui5/webcomponents/dist/CustomListItem.js\";` (for `ui5-li-custom`)\n *\n * `import \"@ui5/webcomponents/dist/GroupHeaderListItem.js\";` (for `ui5-li-groupheader`)\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n\ttag: \"ui5-list\",\n\tfastNavigation: true,\n\trenderer: litRender,\n\ttemplate: ListTemplate,\n\tstyles: [getEffectiveScrollbarStyle(), listCss],\n\tdependencies: [BusyIndicator, DropIndicator],\n})\n/**\n * Fired when an item is activated, unless the item's `type` property\n * is set to `Inactive`.\n * @allowPreventDefault\n * @param {HTMLElement} item The clicked item.\n * @public\n */\n@event<ListItemClickEventDetail>(\"item-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired when the `Close` button of any item is clicked\n *\n * **Note:** This event is only applicable to list items that can be closed (such as notification list items),\n * not to be confused with `item-delete`.\n * @param {HTMLElement} item the item about to be closed.\n * @public\n * @since 1.0.0-rc.8\n */\n@event<ListItemCloseEventDetail>(\"item-close\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired when the `Toggle` button of any item is clicked.\n *\n * **Note:** This event is only applicable to list items that can be toggled (such as notification group list items).\n * @param {HTMLElement} item the toggled item.\n * @public\n * @since 1.0.0-rc.8\n */\n@event<ListItemToggleEventDetail>(\"item-toggle\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired when the Delete button of any item is pressed.\n *\n * **Note:** A Delete button is displayed on each item,\n * when the component `mode` property is set to `Delete`.\n * @param {HTMLElement} item the deleted item.\n * @public\n */\n@event<ListItemDeleteEventDetail>(\"item-delete\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t},\n})\n\n/**\n * Fired when selection is changed by user interaction\n * in `SingleSelect`, `SingleSelectBegin`, `SingleSelectEnd` and `MultiSelect` modes.\n * @allowPreventDefault\n * @param {Array<ListItemBase>} selectedItems An array of the selected items.\n * @param {Array<ListItemBase>} previouslySelectedItems An array of the previously selected items.\n * @public\n */\n@event<ListSelectionChangeEventDetail>(\"selection-change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tselectedItems: { type: Array },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tpreviouslySelectedItems: { type: Array },\n\t\t/**\n\t\t * protected, holds the event target item\n\t\t * @protected\n\t\t */\n\t\ttargetItem: { type: HTMLElement },\n\t\t/**\n\t\t * protected, indicates if the user used the selection components to change the selection\n\t\t * @protected\n\t\t */\n\t\tselectionComponentPressed: { type: Boolean },\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tkey: { type: String },\n\t},\n})\n\n/**\n * Fired when the user scrolls to the bottom of the list.\n *\n * **Note:** The event is fired when the `growing='Scroll'` property is enabled.\n * @public\n * @since 1.0.0-rc.6\n */\n@event(\"load-more\")\n\n/**\n * @private\n */\n@event<ListItemFocusEventDetail>(\"item-focused\", {\n\tdetail: {\n\t\titem: { type: HTMLElement },\n\t},\n})\nclass List extends UI5Element {\n\t/**\n\t * Defines the component header text.\n\t *\n\t * **Note:** If `header` is set this property is ignored.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\theaderText!: string;\n\n\t/**\n\t * Defines the footer text.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tfooterText!: string;\n\n\t/**\n\t * Determines whether the component is indented.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tindent!: boolean;\n\n\t/**\n\t * Defines the mode of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: ListMode, defaultValue: ListMode.None })\n\tmode!: `${ListMode}`;\n\n\t/**\n\t * Defines the text that is displayed when the component contains no items.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tnoDataText!: string;\n\n\t/**\n\t * Defines the item separator style that is used.\n\t * @default \"All\"\n\t * @public\n\t */\n\t@property({ type: ListSeparators, defaultValue: ListSeparators.All })\n\tseparators!: `${ListSeparators}`;\n\n\t/**\n\t * Defines whether the component will have growing capability either by pressing a `More` button,\n\t * or via user scroll. In both cases `load-more` event is fired.\n\t *\n\t * **Restrictions:** `growing=\"Scroll\"` is not supported for Internet Explorer,\n\t * on IE the component will fallback to `growing=\"Button\"`.\n\t * @default \"None\"\n\t * @since 1.0.0-rc.13\n\t * @public\n\t */\n\t@property({ type: ListGrowingMode, defaultValue: ListGrowingMode.None })\n\tgrowing!: `${ListGrowingMode}`;\n\n\t/**\n\t * Defines the text that will be displayed inside the growing button.\n\t *\n\t * **Note:** If not specified a built-in text will be displayed.\n\t *\n\t * **Note:** This property takes effect if the `growing` property is set to the `Button`.\n\t * @default \"\"\n\t * @since 1.24\n\t * @public\n\t */\n\t@property()\n\tgrowingButtonText!: string;\n\n\t/**\n\t * Defines if the component would display a loading indicator over the list.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.6\n\t */\n\t@property({ type: Boolean })\n\tbusy!: boolean;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the busy indicator will show up for this component.\n\t * @default 1000\n\t * @public\n\t */\n\t@property({ validator: Integer, defaultValue: 1000 })\n\tbusyDelay!: number;\n\n\t/**\n\t * Defines the accessible name of the component.\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Defines the IDs of the elements that label the input.\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ defaultValue: \"\" })\n\taccessibleNameRef!: string;\n\n\t/**\n\t * Defines the accessible role of the component.\n\t * @public\n\t * @default \"list\"\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ defaultValue: \"list\" })\n\taccessibleRole!: string;\n\n\t/**\n\t * Defines the description for the accessible role of the component.\n\t * @protected\n\t * @default undefined\n\t * @since 1.10.0\n\t */\n\t@property({ defaultValue: undefined, noAttribute: true })\n\taccessibleRoleDescription?: string;\n\n\t/**\n\t * Defines if the entire list is in view port.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_inViewport!: boolean;\n\n\t/**\n\t * Defines the active state of the `More` button.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_loadMoreActive!: boolean;\n\n\t/**\n\t * Defines the items of the component.\n\t *\n\t * **Note:** Use `ui5-li`, `ui5-li-custom`, and `ui5-li-groupheader` for the intended design.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\titems!: Array<ListItemBase>;\n\n\t/**\n\t * Defines the component header.\n\t *\n\t * **Note:** When `header` is set, the\n\t * `headerText` property is ignored.\n\t * @public\n\t */\n\t@slot()\n\theader!: Array<HTMLElement>;\n\n\tstatic i18nBundle: I18nBundle;\n\t_previouslyFocusedItem: ListItemBase | null;\n\t_forwardingFocus: boolean;\n\tresizeListenerAttached: boolean;\n\tlistEndObserved: boolean;\n\t_handleResize: ResizeObserverCallback;\n\tinitialIntersection: boolean;\n\t_selectionRequested?: boolean;\n\tgrowingIntersectionObserver?: IntersectionObserver | null;\n\t_itemNavigation: ItemNavigation;\n\t_beforeElement?: HTMLElement | null;\n\t_afterElement?: HTMLElement | null;\n\n\tstatic async onDefine() {\n\t\tList.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._previouslyFocusedItem = null;\n\n\t\t// Indicates that the List is forwarding the focus before or after the internal ul.\n\t\tthis._forwardingFocus = false;\n\n\t\t// Indicates that the List has already subscribed for resize.\n\t\tthis.resizeListenerAttached = false;\n\n\t\t// Indicates if the IntersectionObserver started observing the List\n\t\tthis.listEndObserved = false;\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items\n\t\t\tnavigationMode: NavigationMode.Vertical,\n\t\t\tgetItemsCallback: () => this.getEnabledItems(),\n\t\t});\n\n\t\tthis._handleResize = this.checkListInViewport.bind(this);\n\n\t\tthis._handleResize = this.checkListInViewport.bind(this);\n\n\t\t// Indicates the List bottom most part has been detected by the IntersectionObserver\n\t\t// for the first time.\n\t\tthis.initialIntersection = true;\n\t}\n\n\tonEnterDOM() {\n\t\tDragRegistry.subscribe(this);\n\t}\n\n\tonExitDOM() {\n\t\tthis.unobserveListEnd();\n\t\tthis.resizeListenerAttached = false;\n\t\tResizeHandler.deregister(this.getDomRef()!, this._handleResize);\n\t\tDragRegistry.unsubscribe(this);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.prepareListItems();\n\t}\n\n\tonAfterRendering() {\n\t\tif (this.growsOnScroll) {\n\t\t\tthis.observeListEnd();\n\t\t} else if (this.listEndObserved) {\n\t\t\tthis.unobserveListEnd();\n\t\t}\n\n\t\tif (this.grows) {\n\t\t\tthis.checkListInViewport();\n\t\t\tthis.attachForResize();\n\t\t}\n\t}\n\n\tattachForResize() {\n\t\tif (!this.resizeListenerAttached) {\n\t\t\tthis.resizeListenerAttached = true;\n\t\t\tResizeHandler.register(this.getDomRef()!, this._handleResize);\n\t\t}\n\t}\n\n\tget shouldRenderH1() {\n\t\treturn !this.header.length && this.headerText;\n\t}\n\n\tget headerID() {\n\t\treturn `${this._id}-header`;\n\t}\n\n\tget modeLabelID() {\n\t\treturn `${this._id}-modeLabel`;\n\t}\n\n\tget listEndDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-list-end-marker\");\n\t}\n\n\tget dropIndicatorDOM(): DropIndicator | null {\n\t\treturn this.shadowRoot!.querySelector(\"[ui5-drop-indicator]\");\n\t}\n\n\tget hasData() {\n\t\treturn this.getItems().length !== 0;\n\t}\n\n\tget showNoDataText() {\n\t\treturn !this.hasData && this.noDataText;\n\t}\n\n\tget isDelete() {\n\t\treturn this.mode === ListMode.Delete;\n\t}\n\n\tget isSingleSelect() {\n\t\treturn [\n\t\t\tListMode.SingleSelect,\n\t\t\tListMode.SingleSelectBegin,\n\t\t\tListMode.SingleSelectEnd,\n\t\t\tListMode.SingleSelectAuto,\n\t\t].includes(this.mode as ListMode);\n\t}\n\n\tget isMultiSelect() {\n\t\treturn this.mode === ListMode.MultiSelect;\n\t}\n\n\tget ariaLabelledBy() {\n\t\tif (this.accessibleNameRef || this.accessibleName) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst ids = [];\n\n\t\tif (this.isMultiSelect || this.isSingleSelect || this.isDelete) {\n\t\t\tids.push(this.modeLabelID);\n\t\t}\n\n\t\tif (this.shouldRenderH1) {\n\t\t\tids.push(this.headerID);\n\t\t}\n\n\t\treturn ids.length ? ids.join(\" \") : undefined;\n\t}\n\n\tget ariaLabelTxt() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget ariaLabelModeText(): string {\n\t\tif (this.hasData) {\n\t\t\tif (this.isMultiSelect) {\n\t\t\t\treturn List.i18nBundle.getText(ARIA_LABEL_LIST_MULTISELECTABLE);\n\t\t\t}\n\t\t\tif (this.isSingleSelect) {\n\t\t\t\treturn List.i18nBundle.getText(ARIA_LABEL_LIST_SELECTABLE);\n\t\t\t}\n\t\t\tif (this.isDelete) {\n\t\t\t\treturn List.i18nBundle.getText(ARIA_LABEL_LIST_DELETABLE);\n\t\t\t}\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tget grows() {\n\t\treturn this.growing !== ListGrowingMode.None;\n\t}\n\n\tget growsOnScroll() {\n\t\treturn this.growing === ListGrowingMode.Scroll;\n\t}\n\n\tget growsWithButton() {\n\t\treturn this.growing === ListGrowingMode.Button;\n\t}\n\n\tget _growingButtonText(): string {\n\t\treturn this.growingButtonText || List.i18nBundle.getText(LOAD_MORE_TEXT);\n\t}\n\n\tget busyIndPosition() {\n\t\tif (!this.grows) {\n\t\t\treturn \"absolute\";\n\t\t}\n\n\t\treturn this._inViewport ? \"absolute\" : \"sticky\";\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tbusyInd: {\n\t\t\t\tposition: this.busyIndPosition,\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-list-root\": true,\n\t\t\t},\n\t\t};\n\t}\n\n\tprepareListItems() {\n\t\tconst slottedItems = this.getItemsForProcessing();\n\n\t\tslottedItems.forEach((item, key) => {\n\t\t\tconst isLastChild = key === slottedItems.length - 1;\n\t\t\tconst showBottomBorder = this.separators === ListSeparators.All\n\t\t\t\t|| (this.separators === ListSeparators.Inner && !isLastChild);\n\n\t\t\tif (item.hasConfigurableMode) {\n\t\t\t\t(item as ListItem)._mode = this.mode;\n\t\t\t}\n\t\t\titem.hasBorder = showBottomBorder;\n\t\t});\n\t}\n\n\tasync observeListEnd() {\n\t\tif (!this.listEndObserved) {\n\t\t\tawait renderFinished();\n\t\t\tthis.getIntersectionObserver().observe(this.listEndDOM!);\n\t\t\tthis.listEndObserved = true;\n\t\t}\n\t}\n\n\tunobserveListEnd() {\n\t\tif (this.growingIntersectionObserver) {\n\t\t\tthis.growingIntersectionObserver.disconnect();\n\t\t\tthis.growingIntersectionObserver = null;\n\t\t\tthis.listEndObserved = false;\n\t\t}\n\t}\n\n\tonInteresection(entries: Array<IntersectionObserverEntry>) {\n\t\tif (this.initialIntersection) {\n\t\t\tthis.initialIntersection = false;\n\t\t\treturn;\n\t\t}\n\t\tentries.forEach(entry => {\n\t\t\tif (entry.isIntersecting) {\n\t\t\t\tdebounce(this.loadMore.bind(this), INFINITE_SCROLL_DEBOUNCE_RATE);\n\t\t\t}\n\t\t});\n\t}\n\n\t/*\n\t* ITEM SELECTION BASED ON THE CURRENT MODE\n\t*/\n\tonSelectionRequested(e: CustomEvent<SelectionRequestEventDetail>) {\n\t\tconst previouslySelectedItems = this.getSelectedItems();\n\t\tlet selectionChange = false;\n\t\tthis._selectionRequested = true;\n\n\t\tif (this.mode !== ListMode.None && this[`handle${this.mode}`]) {\n\t\t\tselectionChange = this[`handle${this.mode}`](e.detail.item, !!e.detail.selected);\n\t\t}\n\n\t\tif (selectionChange) {\n\t\t\tconst changePrevented = !this.fireEvent<ListSelectionChangeEventDetail>(\"selection-change\", {\n\t\t\t\tselectedItems: this.getSelectedItems(),\n\t\t\t\tpreviouslySelectedItems,\n\t\t\t\tselectionComponentPressed: e.detail.selectionComponentPressed,\n\t\t\t\ttargetItem: e.detail.item,\n\t\t\t\tkey: e.detail.key,\n\t\t\t}, true);\n\t\t\tif (changePrevented) {\n\t\t\t\tthis._revertSelection(previouslySelectedItems);\n\t\t\t}\n\t\t}\n\t}\n\n\thandleSingleSelect(item: ListItemBase): boolean {\n\t\tif (item.selected) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.deselectSelectedItems();\n\t\titem.selected = true;\n\n\t\treturn true;\n\t}\n\n\thandleSingleSelectBegin(item: ListItemBase): boolean {\n\t\treturn this.handleSingleSelect(item);\n\t}\n\n\thandleSingleSelectEnd(item: ListItemBase): boolean {\n\t\treturn this.handleSingleSelect(item);\n\t}\n\n\thandleSingleSelectAuto(item: ListItemBase): boolean {\n\t\treturn this.handleSingleSelect(item);\n\t}\n\n\thandleMultiSelect(item: ListItemBase, selected: boolean): boolean {\n\t\titem.selected = selected;\n\t\treturn true;\n\t}\n\n\thandleDelete(item: ListItemBase): boolean {\n\t\tthis.fireEvent<ListItemDeleteEventDetail>(\"item-delete\", { item });\n\n\t\treturn true;\n\t}\n\n\tdeselectSelectedItems() {\n\t\tthis.getSelectedItems().forEach(item => { item.selected = false; });\n\t}\n\n\tgetSelectedItems(): Array<ListItemBase> {\n\t\treturn this.getItems().filter(item => item.selected);\n\t}\n\n\tgetEnabledItems(): Array<ListItemBase> {\n\t\treturn this.getItems().filter(item => item._focusable);\n\t}\n\n\tgetItems(): Array<ListItemBase> {\n\t\treturn this.getSlottedNodes<ListItemBase>(\"items\");\n\t}\n\n\tgetItemsForProcessing(): Array<ListItemBase> {\n\t\treturn this.getItems();\n\t}\n\n\t_revertSelection(previouslySelectedItems: Array<ListItemBase>) {\n\t\tthis.getItems().forEach((item: ListItemBase) => {\n\t\t\tconst oldSelection = previouslySelectedItems.indexOf(item) !== -1;\n\t\t\tconst multiSelectCheckBox = item.shadowRoot!.querySelector<CheckBox>(\".ui5-li-multisel-cb\");\n\t\t\tconst singleSelectRadioButton = item.shadowRoot!.querySelector<RadioButton>(\".ui5-li-singlesel-radiobtn\");\n\n\t\t\titem.selected = oldSelection;\n\t\t\tif (multiSelectCheckBox) {\n\t\t\t\tmultiSelectCheckBox.checked = oldSelection;\n\t\t\t} else if (singleSelectRadioButton) {\n\t\t\t\tsingleSelectRadioButton.checked = oldSelection;\n\t\t\t}\n\t\t});\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isTabNext(e)) {\n\t\t\tthis._handleTabNext(e);\n\t\t}\n\t}\n\n\t_onLoadMoreKeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._loadMoreActive = true;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._onLoadMoreClick();\n\t\t\tthis._loadMoreActive = true;\n\t\t}\n\n\t\tif (isTabNext(e)) {\n\t\t\tthis.focusAfterElement();\n\t\t}\n\n\t\tif (isTabPrevious(e)) {\n\t\t\tif (this.getPreviouslyFocusedItem()) {\n\t\t\t\tthis.focusPreviouslyFocusedItem();\n\t\t\t} else {\n\t\t\t\tthis.focusFirstItem();\n\t\t\t}\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onLoadMoreKeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._onLoadMoreClick();\n\t\t}\n\t\tthis._loadMoreActive = false;\n\t}\n\n\t_onLoadMoreMousedown() {\n\t\tthis._loadMoreActive = true;\n\t}\n\n\t_onLoadMoreMouseup() {\n\t\tthis._loadMoreActive = false;\n\t}\n\n\t_onLoadMoreClick() {\n\t\tthis.loadMore();\n\t}\n\n\tcheckListInViewport() {\n\t\tthis._inViewport = isElementInView(this.getDomRef()!);\n\t}\n\n\tloadMore() {\n\t\tthis.fireEvent(\"load-more\");\n\t}\n\n\t/*\n\t* KEYBOARD SUPPORT\n\t*/\n\t_handleTabNext(e: KeyboardEvent) {\n\t\tlet lastTabbableEl;\n\t\tconst target = getNormalizedTarget(e.target as HTMLElement);\n\n\t\tif (!lastTabbableEl) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (lastTabbableEl === target) {\n\t\t\tif (this.getFirstItem(x => x.selected && x._focusable)) {\n\t\t\t\tthis.focusFirstSelectedItem();\n\t\t\t} else if (this.getPreviouslyFocusedItem()) {\n\t\t\t\tthis.focusPreviouslyFocusedItem();\n\t\t\t} else {\n\t\t\t\tthis.focusFirstItem();\n\t\t\t}\n\n\t\t\te.stopImmediatePropagation();\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tconst target = getNormalizedTarget(e.target as HTMLElement);\n\t\t// If the focusin event does not origin from one of the 'triggers' - ignore it.\n\t\tif (!this.isForwardElement(target)) {\n\t\t\te.stopImmediatePropagation();\n\t\t\treturn;\n\t\t}\n\n\t\t// The focus arrives in the List for the first time.\n\t\t// If there is selected item - focus it or focus the first item.\n\t\tif (!this.getPreviouslyFocusedItem()) {\n\t\t\tif (this.growsWithButton && this.isForwardAfterElement(target)) {\n\t\t\t\tthis.focusGrowingButton();\n\t\t\t} else {\n\t\t\t\tthis.focusFirstItem();\n\t\t\t}\n\t\t\te.stopImmediatePropagation();\n\t\t\treturn;\n\t\t}\n\n\t\t// The focus returns to the List,\n\t\t// focus the first selected item or the previously focused element.\n\t\tif (!this.getForwardingFocus()) {\n\t\t\tif (this.growsWithButton && this.isForwardAfterElement(target)) {\n\t\t\t\tthis.focusGrowingButton();\n\t\t\t\te.stopImmediatePropagation();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.focusPreviouslyFocusedItem();\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.setForwardingFocus(false);\n\t}\n\n\t_ondragenter(e: DragEvent) {\n\t\te.preventDefault();\n\t}\n\n\t_ondragleave(e: DragEvent) {\n\t\tif (e.relatedTarget instanceof Node && this.shadowRoot!.contains(e.relatedTarget)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.dropIndicatorDOM!.targetReference = null;\n\t}\n\n\t_ondragover(e: DragEvent) {\n\t\tconst draggedElement = DragRegistry.getDraggedElement();\n\n\t\tif (!(e.target instanceof HTMLElement) || !draggedElement) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst closestPosition = findClosestPosition(\n\t\t\tthis.items,\n\t\t\te.clientY,\n\t\t\tOrientation.Vertical,\n\t\t);\n\n\t\tif (!closestPosition) {\n\t\t\tthis.dropIndicatorDOM!.targetReference = null;\n\t\t\treturn;\n\t\t}\n\n\t\tlet placements = closestPosition.placements;\n\n\t\tif (closestPosition.element === draggedElement) {\n\t\t\tplacements = placements.filter(placement => placement !== MovePlacement.On);\n\t\t}\n\n\t\tconst placementAccepted = placements.some(placement => {\n\t\t\tconst beforeItemMovePrevented = !this.fireEvent<ListMoveEventDetail>(\"move-over\", {\n\t\t\t\tsource: {\n\t\t\t\t\telement: draggedElement,\n\t\t\t\t},\n\t\t\t\tdestination: {\n\t\t\t\t\telement: closestPosition.element,\n\t\t\t\t\tplacement,\n\t\t\t\t},\n\t\t\t}, true);\n\n\t\t\tif (beforeItemMovePrevented) {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.dropIndicatorDOM!.targetReference = closestPosition.element;\n\t\t\t\tthis.dropIndicatorDOM!.placement = placement;\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t});\n\n\t\tif (!placementAccepted) {\n\t\t\tthis.dropIndicatorDOM!.targetReference = null;\n\t\t}\n\t}\n\n\t_ondrop(e: DragEvent) {\n\t\te.preventDefault();\n\t\tconst draggedElement = DragRegistry.getDraggedElement()!;\n\n\t\tthis.fireEvent<ListMoveEventDetail>(\"move\", {\n\t\t\tsource: {\n\t\t\t\telement: draggedElement,\n\t\t\t},\n\t\t\tdestination: {\n\t\t\t\telement: this.dropIndicatorDOM!.targetReference!,\n\t\t\t\tplacement: this.dropIndicatorDOM!.placement,\n\t\t\t},\n\t\t});\n\n\t\tthis.dropIndicatorDOM!.targetReference = null;\n\t\tdraggedElement.focus();\n\t}\n\n\tisForwardElement(element: HTMLElement) {\n\t\tconst elementId = element.id;\n\t\tconst beforeElement = this.getBeforeElement();\n\n\t\tif (this._id === elementId || (beforeElement && beforeElement.id === elementId)) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn this.isForwardAfterElement(element);\n\t}\n\n\tisForwardAfterElement(element: HTMLElement) {\n\t\tconst elementId = element.id;\n\t\tconst afterElement = this.getAfterElement();\n\n\t\treturn afterElement && afterElement.id === elementId;\n\t}\n\n\tonItemTabIndexChange(e: CustomEvent) {\n\t\tconst target = e.target as ListItemBase;\n\t\tthis._itemNavigation.setCurrentItem(target);\n\t}\n\n\tonItemFocused(e: CustomEvent) {\n\t\tconst target = e.target as ListItemBase;\n\n\t\te.stopPropagation();\n\n\t\tthis._itemNavigation.setCurrentItem(target);\n\t\tthis.fireEvent<ListItemFocusEventDetail>(\"item-focused\", { item: target });\n\n\t\tif (this.mode === ListMode.SingleSelectAuto) {\n\t\t\tconst detail: SelectionRequestEventDetail = {\n\t\t\t\titem: target,\n\t\t\t\tselectionComponentPressed: false,\n\t\t\t\tselected: true,\n\t\t\t\tkey: e.detail.key,\n\t\t\t};\n\n\t\t\tthis.onSelectionRequested({ detail } as CustomEvent<SelectionRequestEventDetail>);\n\t\t}\n\t}\n\n\tonItemPress(e: CustomEvent<PressEventDetail>) {\n\t\tconst pressedItem = e.detail.item;\n\n\t\tif (!this.fireEvent<ListItemClickEventDetail>(\"item-click\", { item: pressedItem }, true)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._selectionRequested && this.mode !== ListMode.Delete) {\n\t\t\tthis._selectionRequested = true;\n\t\t\tconst detail: SelectionRequestEventDetail = {\n\t\t\t\titem: pressedItem,\n\t\t\t\tselectionComponentPressed: false,\n\t\t\t\tselected: !pressedItem.selected,\n\t\t\t\tkey: e.detail.key,\n\t\t\t};\n\n\t\t\tthis.onSelectionRequested({ detail } as CustomEvent<SelectionRequestEventDetail>);\n\t\t}\n\n\t\tthis._selectionRequested = false;\n\t}\n\n\t// This is applicable to NotificationListItem\n\tonItemClose(e: CustomEvent<ListItemCloseEventDetail>) {\n\t\tconst target = e.target as UI5Element | null;\n\t\tconst shouldFireItemClose = target?.hasAttribute(\"ui5-li-notification\") || target?.hasAttribute(\"ui5-li-notification-group\");\n\n\t\tif (shouldFireItemClose) {\n\t\t\tthis.fireEvent<ListItemCloseEventDetail>(\"item-close\", { item: e.detail?.item });\n\t\t}\n\t}\n\n\tonItemToggle(e: CustomEvent<ListItemToggleEventDetail>) {\n\t\tthis.fireEvent<ListItemToggleEventDetail>(\"item-toggle\", { item: e.detail.item });\n\t}\n\n\tonForwardBefore(e: CustomEvent) {\n\t\tthis.setPreviouslyFocusedItem(e.target as ListItemBase);\n\t\tthis.focusBeforeElement();\n\t\te.stopPropagation();\n\t}\n\n\tonForwardAfter(e: CustomEvent) {\n\t\tthis.setPreviouslyFocusedItem(e.target as ListItemBase);\n\n\t\tif (!this.growsWithButton) {\n\t\t\tthis.focusAfterElement();\n\t\t} else {\n\t\t\tthis.focusGrowingButton();\n\t\t\te.preventDefault();\n\t\t}\n\n\t\te.stopPropagation();\n\t}\n\n\tfocusBeforeElement() {\n\t\tthis.setForwardingFocus(true);\n\t\tthis.getBeforeElement().focus();\n\t}\n\n\tfocusAfterElement() {\n\t\tthis.setForwardingFocus(true);\n\t\tthis.getAfterElement().focus();\n\t}\n\n\tfocusGrowingButton() {\n\t\tconst growingBtn = this.getGrowingButton();\n\n\t\tif (growingBtn) {\n\t\t\tgrowingBtn.focus();\n\t\t}\n\t}\n\n\tgetGrowingButton() {\n\t\treturn this.shadowRoot!.querySelector(`[id=\"${this._id}-growing-btn\"]`) as HTMLElement;\n\t}\n\n\t/**\n\t * Focuses the first list item and sets its tabindex to \"0\" via the ItemNavigation\n\t * @protected\n\t */\n\tfocusFirstItem() {\n\t\t// only enabled items are focusable\n\t\tconst firstItem = this.getFirstItem(x => x._focusable);\n\n\t\tif (firstItem) {\n\t\t\tfirstItem.focus();\n\t\t}\n\t}\n\n\tfocusPreviouslyFocusedItem() {\n\t\tconst previouslyFocusedItem = this.getPreviouslyFocusedItem();\n\n\t\tif (previouslyFocusedItem) {\n\t\t\tpreviouslyFocusedItem.focus();\n\t\t}\n\t}\n\n\tfocusFirstSelectedItem() {\n\t\t// only enabled items are focusable\n\t\tconst firstSelectedItem = this.getFirstItem(x => x.selected && x._focusable);\n\n\t\tif (firstSelectedItem) {\n\t\t\tfirstSelectedItem.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Focuses a list item and sets its tabindex to \"0\" via the ItemNavigation\n\t * @protected\n\t * @param item\n\t */\n\tfocusItem(item: ListItemBase) {\n\t\tthis._itemNavigation.setCurrentItem(item);\n\t\titem.focus();\n\t}\n\n\tonFocusRequested(e: CustomEvent) {\n\t\tsetTimeout(() => {\n\t\t\tthis.setPreviouslyFocusedItem(e.target as ListItemBase);\n\t\t\tthis.focusPreviouslyFocusedItem();\n\t\t}, 0);\n\t}\n\n\tsetForwardingFocus(forwardingFocus: boolean) {\n\t\tthis._forwardingFocus = forwardingFocus;\n\t}\n\n\tgetForwardingFocus() {\n\t\treturn this._forwardingFocus;\n\t}\n\n\tsetPreviouslyFocusedItem(item: ListItemBase) {\n\t\tthis._previouslyFocusedItem = item;\n\t}\n\n\tgetPreviouslyFocusedItem() {\n\t\treturn this._previouslyFocusedItem;\n\t}\n\n\tgetFirstItem(filter: (item: ListItemBase) => boolean): ListItemBase | null {\n\t\tconst slottedItems = this.getItems();\n\t\tlet firstItem = null;\n\n\t\tif (!filter) {\n\t\t\treturn slottedItems.length ? slottedItems[0] : null;\n\t\t}\n\n\t\tfor (let i = 0; i < slottedItems.length; i++) {\n\t\t\tif (filter(slottedItems[i])) {\n\t\t\t\tfirstItem = slottedItems[i];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn firstItem;\n\t}\n\n\tgetAfterElement() {\n\t\tif (!this._afterElement) {\n\t\t\tthis._afterElement = this.shadowRoot!.querySelector(`[id=\"${this._id}-after\"]`) as HTMLElement;\n\t\t}\n\t\treturn this._afterElement;\n\t}\n\n\tgetBeforeElement() {\n\t\tif (!this._beforeElement) {\n\t\t\tthis._beforeElement = this.shadowRoot!.querySelector(`[id=\"${this._id}-before\"]`) as HTMLElement;\n\t\t}\n\t\treturn this._beforeElement;\n\t}\n\n\tgetIntersectionObserver() {\n\t\tif (!this.growingIntersectionObserver) {\n\t\t\tthis.growingIntersectionObserver = new IntersectionObserver(this.onInteresection.bind(this), {\n\t\t\t\troot: null,\n\t\t\t\trootMargin: \"0px\",\n\t\t\t\tthreshold: 1.0,\n\t\t\t});\n\t\t}\n\n\t\treturn this.growingIntersectionObserver;\n\t}\n}\n\nList.define();\n\nexport default List;\nexport type {\n\tListItemClickEventDetail,\n\tListItemFocusEventDetail,\n\tListItemDeleteEventDetail,\n\tListItemCloseEventDetail,\n\tListItemToggleEventDetail,\n\tListSelectionChangeEventDetail,\n\tListMoveEventDetail,\n};\n"]}
|
package/dist/Menu.js
CHANGED
|
@@ -211,7 +211,7 @@ let Menu = Menu_1 = class Menu extends UI5Element {
|
|
|
211
211
|
_getSubmenuReference(item) {
|
|
212
212
|
const index = item.parentElement?.items.indexOf(item);
|
|
213
213
|
return this.staticAreaItem
|
|
214
|
-
? this.staticAreaItem.shadowRoot.querySelector(
|
|
214
|
+
? this.staticAreaItem.shadowRoot.querySelector(`.ui5-menu-submenus > ui5-menu[id$=menu-item-${index}]`)
|
|
215
215
|
: undefined;
|
|
216
216
|
}
|
|
217
217
|
_clonedItemsFragment(item) {
|
package/dist/Menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","sourceRoot":"","sources":["../src/Menu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport DOMReference from \"@ui5/webcomponents-base/dist/types/DOMReference.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport {\n\tisPhone,\n\tisDesktop,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type { Timeout } from \"@ui5/webcomponents-base/dist/types.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport type { ResponsivePopoverBeforeCloseEventDetail } from \"./ResponsivePopover.js\";\nimport Button from \"./Button.js\";\nimport List from \"./List.js\";\nimport MenuListItem from \"./MenuListItem.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport Icon from \"./Icon.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\nimport type MenuItem from \"./MenuItem.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport staticAreaMenuTemplate from \"./generated/templates/MenuTemplate.lit.js\";\nimport {\n\tMENU_BACK_BUTTON_ARIA_LABEL,\n\tMENU_CLOSE_BUTTON_ARIA_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/nav-back.js\";\n\n// Styles\nimport staticAreaMenuCss from \"./generated/themes/Menu.css.js\";\n\ntype CurrentItem = {\n\titem: MenuItem,\n\tposition: number,\n\tariaHasPopup: string | undefined,\n}\n\nconst MENU_OPEN_DELAY = 300;\nconst MENU_CLOSE_DELAY = 400;\n\ntype MenuItemClickEventDetail = {\n\titem: MenuItem,\n\ttext: string,\n}\n\ntype MenuBeforeOpenEventDetail = { item?: MenuItem };\ntype MenuBeforeCloseEventDetail = { escPressed: boolean };\n\ntype MenuItemFocusEventDetail = {\n\tref: HTMLElement,\n\titem: MenuItem,\n};\n\ntype OpenerStandardListItem = StandardListItem & { associatedItem: MenuItem };\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-menu` component represents a hierarchical menu structure.\n *\n * ### Usage\n *\n * `ui5-menu` contains `ui5-menu-item` components.\n * An arbitrary hierarchy structure can be represented by recursively nesting menu items.\n *\n * ### Keyboard Handling\n *\n * The `ui5-menu` provides advanced keyboard handling.\n * The user can use the following keyboard shortcuts in order to navigate trough the tree:\n *\n * - `Arrow Up` / `Arrow Down` - Navigates up and down the menu items that are currently visible.\n * - `Arrow Right`, `Space` or `Enter` - Opens a sub-menu if there are menu items nested\n * in the currently clicked menu item.\n * - `Arrow Left` or `Escape` - Closes the currently opened sub-menu.\n *\n * Note: if the text ditrection is set to Right-to-left (RTL), `Arrow Right` and `Arrow Left` functionality is swapped.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Menu.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.3.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-menu\",\n\trenderer: litRender,\n\tstaticAreaStyles: staticAreaMenuCss,\n\tstaticAreaTemplate: staticAreaMenuTemplate,\n\tdependencies: [\n\t\tResponsivePopover,\n\t\tButton,\n\t\tList,\n\t\tStandardListItem,\n\t\tMenuListItem,\n\t\tIcon,\n\t\tBusyIndicator,\n\t],\n})\n\n/**\n * Fired when an item is being clicked.\n *\n * **Note:** Since 1.17.0 the event is preventable, allowing the menu to remain open after an item is pressed.\n * @allowPreventDefault\n * @param { HTMLElement } item The currently clicked menu item.\n * @param { string } text The text of the currently clicked menu item.\n * @public\n */\n@event<MenuItemClickEventDetail>(\"item-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: {\n\t\t\ttype: HTMLElement,\n\t\t},\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttext: {\n\t\t\ttype: String,\n\t\t},\n\t},\n})\n\n/**\n * Fired before the menu is opened. This event can be cancelled, which will prevent the menu from opening. **This event does not bubble.**\n *\n * **Note:** Since 1.14.0 the event is also fired before a sub-menu opens.\n * @public\n * @allowPreventDefault\n * @since 1.10.0\n * @param { HTMLElement } item The `ui5-menu-item` that triggers opening of the sub-menu or undefined when fired upon root menu opening.\n */\n@event<MenuBeforeOpenEventDetail>(\"before-open\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t * @since 1.14.0\n\t\t */\n\t\titem: {\n\t\t\ttype: HTMLElement,\n\t\t},\n\t},\n})\n\n/**\n * Fired after the menu is opened. **This event does not bubble.**\n * @public\n * @since 1.10.0\n */\n@event(\"after-open\")\n\n/**\n * Fired before the menu is closed. This event can be cancelled, which will prevent the menu from closing. **This event does not bubble.**\n * @public\n * @allowPreventDefault\n * @param {boolean} escPressed Indicates that `ESC` key has triggered the event.\n * @since 1.10.0\n */\n@event<MenuBeforeCloseEventDetail>(\"before-close\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tescPressed: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n})\n\n/**\n * Fired after the menu is closed. **This event does not bubble.**\n * @public\n * @since 1.10.0\n */\n@event(\"after-close\")\n\n/**\n * Fired when a menu item receives focus.\n *\n * @public\n * @param { HTMLElement } ref The currently focused element representing a <code>ui5-menu-item</code>.\n * @param { HTMLElement } item The <code>ui5-menu-item</code> represented by the focused element.\n * @since 1.23.1\n */\n@event<MenuItemFocusEventDetail>(\"item-focus\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tref: {\n\t\t\ttype: HTMLElement,\n\t\t},\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: {\n\t\t\ttype: HTMLElement,\n\t\t},\n\t},\n})\n\nclass Menu extends UI5Element {\n\t/**\n\t * Defines the header text of the menu (displayed on mobile).\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\theaderText!: string;\n\n\t/**\n\t * Indicates if the menu is open\n\t * @public\n\t * @default false\n\t * @since 1.10.0\n\t */\n\t@property({ type: Boolean })\n\topen!:boolean;\n\n\t/**\n\t * Defines if a loading indicator would be displayed inside the corresponding ui5-menu popover.\n\t * @default false\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ type: Boolean })\n\tbusy!: boolean;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the busy indicator will be displayed inside the corresponding ui5-menu popover..\n\t * @default 1000\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ validator: Integer, defaultValue: 1000 })\n\tbusyDelay!: number;\n\n\t/**\n\t * Defines the ID or DOM Reference of the element that the menu is shown at\n\t * @public\n\t * @default \"\"\n\t * @since 1.10.0\n\t */\n\t@property({ validator: DOMReference, defaultValue: \"\" })\n\topener!: HTMLElement | string;\n\n\t/**\n\t * Defines if the menu is sub-menu (not first-level).\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_isSubMenu!: boolean;\n\n\t/**\n\t * Stores id of a list item that opened sub-menu.\n\t * @private\n\t */\n\t@property()\n\t_subMenuOpenerId!: string;\n\n\t/**\n\t * Defines the currently available menu items.\n\t * (in case of non-phone devices these are the items of the menu,\n\t * but for phone devices the items of the currently opened sub-menu\n\t * will be populated here)\n\t * @private\n\t */\n\t@property({ type: Object, multiple: true })\n\t_currentItems!: Array<CurrentItem>;\n\n\t/**\n\t * Stores the ResponsivePopover instance\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_popover?: ResponsivePopover;\n\n\t/**\n\t * Stores parent menu item (if there is such).\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_parentMenuItem?: MenuItem;\n\n\t/**\n\t * Stores parent menu item DOM representation (if there is such).\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_opener?: HTMLElement;\n\n\t/**\n\t * Stores menu item that have sub-menu opened.\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_openedSubMenuItem?: MenuItem;\n\n\t/**\n\t * Defines the items of this component.\n\t *\n\t * **Note:** Use `ui5-menu-item` for the intended design.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\titems!: Array<MenuItem>;\n\n\tstatic i18nBundle: I18nBundle;\n\t_timeout?: Timeout;\n\n\tstatic async onDefine() {\n\t\tMenu.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tget itemsWithChildren() {\n\t\treturn !!this._currentItems.filter(item => item.item.items.length).length;\n\t}\n\n\tget itemsWithIcon() {\n\t\treturn !!this._currentItems.filter(item => item.item.icon !== \"\").length;\n\t}\n\n\tget isRtl() {\n\t\treturn this.effectiveDir === \"rtl\";\n\t}\n\n\tget placementType() {\n\t\tconst placement = this.isRtl ? \"Left\" : \"Right\";\n\t\treturn this._isSubMenu ? placement : \"Bottom\";\n\t}\n\n\tget verticalAlign() {\n\t\treturn this._isSubMenu ? \"Top\" : \"Bottom\";\n\t}\n\n\tget labelBack() {\n\t\treturn Menu.i18nBundle.getText(MENU_BACK_BUTTON_ARIA_LABEL);\n\t}\n\n\tget labelClose() {\n\t\treturn Menu.i18nBundle.getText(MENU_CLOSE_BUTTON_ARIA_LABEL);\n\t}\n\n\tget isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget isSubMenuOpened() {\n\t\treturn this.items.some(menuItem => menuItem.subMenuOpened);\n\t}\n\n\tget menuHeaderTextPhone() {\n\t\tconst parentMenuItem = this._getParentMenuItem(this);\n\t\treturn parentMenuItem ? parentMenuItem.text : this.headerText;\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._prepareCurrentItems(this.items);\n\n\t\tconst itemsWithChildren = this.itemsWithChildren;\n\t\tconst itemsWithIcon = this.itemsWithIcon;\n\n\t\tthis._currentItems.forEach(item => {\n\t\t\tconst menuItem = item.item;\n\t\t\tmenuItem._siblingsWithChildren = itemsWithChildren;\n\t\t\tmenuItem._siblingsWithIcon = itemsWithIcon;\n\n\t\t\tconst subMenu = this._isSubMenu ? this._getSubmenuReference(menuItem) : menuItem._subMenu;\n\n\t\t\tif (subMenu) {\n\t\t\t\tsubMenu.innerHTML = \"\";\n\t\t\t\tconst fragment = this._clonedItemsFragment(menuItem);\n\t\t\t\tsubMenu.appendChild(fragment);\n\t\t\t\tsubMenu.busy = menuItem.busy;\n\t\t\t\tsubMenu.busyDelay = menuItem.busyDelay;\n\t\t\t}\n\t\t});\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this.opener) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.open) {\n\t\t\tconst opener = this.getOpener();\n\t\t\tif (opener && !this.isSubMenuOpened) {\n\t\t\t\tthis.showAt(opener);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\t/**\n\t * Shows the Menu near the opener element.\n\t * @param opener the element that the popover is shown at\n\t * @public\n\t */\n\tasync showAt(opener: HTMLElement): Promise<void> {\n\t\tlet parentMenuItem = this._getParentMenuItem(this);\n\n\t\tif (!this._isSubMenu) {\n\t\t\tparentMenuItem = undefined;\n\t\t\tthis._opener = undefined;\n\t\t}\n\t\tconst busyWithoutItems = !parentMenuItem?.items.length && parentMenuItem?.busy;\n\t\tconst popover = await this._createPopover();\n\t\tpopover.initialFocus = `${this._id}-menu-item-0`;\n\t\tpopover.showAt(opener, busyWithoutItems);\n\t}\n\n\t/**\n\t * Closes the Menu.\n\t * @public\n\t */\n\tclose(): void {\n\t\tthis._popover?.close(false, false, true);\n\t}\n\n\tasync _createPopover() {\n\t\tif (!this._popover) {\n\t\t\tconst staticAreaItemDomRef = await this.getStaticAreaItemDomRef();\n\t\t\tthis._popover = staticAreaItemDomRef!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t\t}\n\t\treturn this._popover;\n\t}\n\n\tgetOpener() {\n\t\tconst rootNode = this.getRootNode() as Document;\n\t\treturn this.opener instanceof HTMLElement ? this.opener : rootNode?.getElementById?.(this.opener);\n\t}\n\n\t_navigateBack() {\n\t\tconst parentMenuItem = this._getParentMenuItem(this);\n\t\tif (parentMenuItem) {\n\t\t\tthis._closeItemSubMenu(parentMenuItem, true);\n\t\t}\n\t}\n\n\t_closeAll() {\n\t\tlet menu = this as Menu,\n\t\t\tparentMenuItem;\n\n\t\tdo {\n\t\t\tif (menu) {\n\t\t\t\tmenu.close();\n\t\t\t\tparentMenuItem = menu._getParentMenuItem(menu);\n\t\t\t}\n\t\t\tmenu = parentMenuItem ? parentMenuItem.parentElement as Menu : menu;\n\t\t} while (parentMenuItem);\n\t}\n\n\t_prepareCurrentItems(items: Array<MenuItem>) {\n\t\tthis._currentItems = items.map((item, index) => {\n\t\t\treturn {\n\t\t\t\titem,\n\t\t\t\tposition: index + 1,\n\t\t\t\tariaHasPopup: item.hasSubmenu ? \"menu\" : undefined,\n\t\t\t};\n\t\t});\n\t}\n\n\t_createSubMenu(item: MenuItem, opener: HTMLElement) {\n\t\tlet subMenu = item._subMenu;\n\t\tlet subMenuRef = this._getSubmenuReference(item);\n\n\t\tif ((!subMenu && !this._isSubMenu) || (!subMenuRef && this._isSubMenu)) {\n\t\t\tsubMenu = document.createElement(this.tagName.toLowerCase()) as Menu;\n\t\t\tsubMenu._isSubMenu = true;\n\t\t\tsubMenu.setAttribute(\"id\", `submenu-${opener.id}`);\n\t\t\tsubMenu._parentMenuItem = item;\n\t\t\tsubMenu._opener = opener;\n\t\t\tsubMenu.busy = item.busy;\n\t\t\tsubMenu.busyDelay = item.busyDelay;\n\t\t\tconst fragment = this._clonedItemsFragment(item);\n\t\t\tsubMenu.appendChild(fragment);\n\t\t\tthis.staticAreaItem!.shadowRoot!.querySelector(\".ui5-menu-submenus\")!.appendChild(subMenu);\n\t\t\tsubMenuRef = subMenu;\n\t\t}\n\n\t\titem._subMenu = this._isSubMenu ? subMenuRef : subMenu;\n\t}\n\n\t_getSubmenuReference(item: MenuItem) {\n\t\tconst index = (item.parentElement as Menu)?.items.indexOf(item);\n\t\treturn this.staticAreaItem\n\t\t\t? this.staticAreaItem.shadowRoot!.querySelector(\".ui5-menu-submenus\")!.children[index] as Menu\n\t\t\t: undefined;\n\t}\n\n\t_clonedItemsFragment(item: MenuItem) {\n\t\tconst fragment = document.createDocumentFragment();\n\n\t\tfor (let i = 0; i < item.items.length; ++i) {\n\t\t\tconst clonedItem = item.items[i].cloneNode(true);\n\t\t\tfragment.appendChild(clonedItem);\n\t\t}\n\n\t\treturn fragment;\n\t}\n\n\t_openItemSubMenu(item: MenuItem, opener: HTMLElement) {\n\t\tconst mainMenu = this._findMainMenu(item);\n\t\tmainMenu?.fireEvent<MenuBeforeOpenEventDetail>(\"before-open\", {\n\t\t\titem,\n\t\t}, false, false);\n\t\titem._subMenu!.showAt(opener);\n\t\titem._preventSubMenuClose = true;\n\t\tthis._openedSubMenuItem = item;\n\t\tthis._subMenuOpenerId = opener.id;\n\t}\n\n\t_closeItemSubMenu(item: MenuItem, forceClose = false, keyboard = false) {\n\t\tif (item) {\n\t\t\tconst subMenu = item._subMenu\n\t\t\t\t? item._subMenu\n\t\t\t\t: (item.parentElement as Menu)?._getSubmenuReference(item);\n\t\t\tif (forceClose) {\n\t\t\t\titem._preventSubMenuClose = false;\n\t\t\t\tthis._closeSubMenuPopover(subMenu!, forceClose, keyboard);\n\t\t\t} else {\n\t\t\t\tsetTimeout(() => this._closeSubMenuPopover(subMenu!), 0);\n\t\t\t}\n\t\t}\n\t}\n\n\t_closeSubMenuPopover(subMenu: Menu, forceClose = false, keyboard = false) {\n\t\tif (subMenu) {\n\t\t\tconst parentItem = subMenu._getParentMenuItem(subMenu)!;\n\n\t\t\tif (forceClose || !parentItem._preventSubMenuClose) {\n\t\t\t\tsubMenu.close();\n\t\t\t\tif (keyboard) {\n\t\t\t\t\tsubMenu._opener?.focus();\n\t\t\t\t}\n\t\t\t\tthis._openedSubMenuItem = undefined;\n\t\t\t\tthis._subMenuOpenerId = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t_prepareSubMenu(item: MenuItem, opener: HTMLElement) {\n\t\tconst menuItem = item.parentElement ? item : (opener as OpenerStandardListItem).associatedItem;\n\t\tconst parentMenuItem = this._getParentMenuItem(menuItem);\n\n\t\tif (opener.id !== this._subMenuOpenerId || (menuItem && menuItem.hasSubmenu)) {\n\t\t\t// close opened sub-menu if there is any opened\n\t\t\tthis._closeItemSubMenu(this._openedSubMenuItem!, true);\n\t\t}\n\t\tif (menuItem && menuItem.hasSubmenu) {\n\t\t\t// create new sub-menu\n\t\t\tthis._createSubMenu(menuItem, opener);\n\t\t\tthis._openItemSubMenu(menuItem, opener);\n\t\t}\n\t\tif (parentMenuItem) {\n\t\t\tparentMenuItem._preventSubMenuClose = true;\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent): void {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst menuListItem = target.hasAttribute(\"ui5-menu-li\")\n\t\t\t? target as MenuListItem\n\t\t\t: (target.getRootNode() as ShadowRoot).host as MenuListItem;\n\t\tconst item = menuListItem.associatedItem;\n\t\tconst mainMenu = this._findMainMenu(item);\n\t\tmainMenu?.fireEvent<MenuItemFocusEventDetail>(\"item-focus\", { ref: menuListItem, item });\n\t}\n\n\t_startOpenTimeout(item: MenuItem, opener: HTMLElement) {\n\t\tclearTimeout(this._timeout);\n\n\t\t// Sets the new timeout\n\t\tthis._timeout = setTimeout(() => {\n\t\t\tthis._prepareSubMenu(item, opener);\n\t\t}, MENU_OPEN_DELAY);\n\t}\n\n\t_startCloseTimeout(item: MenuItem) {\n\t\tclearTimeout(this._timeout);\n\n\t\t// Sets the new timeout\n\t\tthis._timeout = setTimeout(() => {\n\t\t\tthis._closeItemSubMenu(item);\n\t\t}, MENU_CLOSE_DELAY);\n\t}\n\n\t_itemMouseOver(e: MouseEvent) {\n\t\tif (isDesktop()) {\n\t\t\t// respect mouseover only on desktop\n\t\t\tconst opener = e.target as OpenerStandardListItem;\n\t\t\tconst item = opener.associatedItem;\n\n\t\t\topener.focus();\n\n\t\t\t// Opens submenu with 300ms delay\n\t\t\tthis._startOpenTimeout(item, opener);\n\t\t}\n\t}\n\n\t_busyMouseOver() {\n\t\tconst parentMenuItem = this._getParentMenuItem(this);\n\t\tif (parentMenuItem) {\n\t\t\tparentMenuItem._preventSubMenuClose = true;\n\t\t}\n\t}\n\n\t_itemMouseOut(e: MouseEvent) {\n\t\tif (isDesktop()) {\n\t\t\tconst opener = e.target as OpenerStandardListItem;\n\t\t\tconst item = opener.associatedItem;\n\n\t\t\tclearTimeout(this._timeout);\n\n\t\t\t// Close submenu with 400ms delay\n\t\t\tconst subMenu = this._getSubmenuReference(item);\n\n\t\t\tif (item && item.hasSubmenu && subMenu) {\n\t\t\t\t// try to close the sub-menu\n\t\t\t\titem._preventSubMenuClose = false;\n\t\t\t\tthis._startCloseTimeout(item);\n\t\t\t}\n\t\t}\n\t}\n\n\t_itemKeyDown(e: KeyboardEvent) {\n\t\tconst shouldCloseMenu = this.isRtl ? isRight(e) : isLeft(e);\n\t\tconst shouldOpenMenu = this.isRtl ? isLeft(e) : isRight(e);\n\t\tconst opener = e.target as OpenerStandardListItem;\n\t\tconst item = opener.associatedItem;\n\t\tconst parentMenuItem = this._getParentMenuItem(item);\n\n\t\tif (isEnter(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t\tif (shouldOpenMenu) {\n\t\t\titem.hasSubmenu && this._prepareSubMenu(item, opener);\n\t\t} else if (shouldCloseMenu && this._isSubMenu && parentMenuItem) {\n\t\t\tconst parentMenuItemMenu = parentMenuItem.parentElement as Menu;\n\t\t\tparentMenuItemMenu?._closeItemSubMenu(parentMenuItem, true, true);\n\t\t}\n\t}\n\n\t_itemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tclearTimeout(this._timeout);\n\t\tconst opener = e.detail.item as OpenerStandardListItem;\n\t\tconst item = opener.associatedItem;\n\n\t\tif (!item.hasSubmenu) {\n\t\t\t// click on an item that doesn't have sub-items fires an \"item-click\" event\n\t\t\tif (!this._isSubMenu) {\n\t\t\t\t// fire event if the click is on top-level menu item\n\t\t\t\tconst prevented = !this.fireEvent<MenuItemClickEventDetail>(\"item-click\", {\n\t\t\t\t\t\"item\": item,\n\t\t\t\t\t\"text\": item.text,\n\t\t\t\t}, true, false);\n\n\t\t\t\tif (!prevented) {\n\t\t\t\t\tthis._popover!.close();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst mainMenu = this._findMainMenu(item);\n\t\t\t\tconst prevented = !mainMenu?.fireEvent<MenuItemClickEventDetail>(\"item-click\", {\n\t\t\t\t\t\"item\": item,\n\t\t\t\t\t\"text\": item.text,\n\t\t\t\t}, true, false);\n\n\t\t\t\tif (!prevented) {\n\t\t\t\t\tlet openerMenuItem = item;\n\t\t\t\t\tlet parentMenu = openerMenuItem.parentElement as Menu;\n\t\t\t\t\tdo {\n\t\t\t\t\t\topenerMenuItem._preventSubMenuClose = false;\n\t\t\t\t\t\tthis._closeItemSubMenu(openerMenuItem);\n\t\t\t\t\t\tparentMenu = openerMenuItem.parentElement as Menu;\n\t\t\t\t\t\topenerMenuItem = parentMenu._getParentMenuItem(parentMenu) as MenuItem;\n\t\t\t\t\t} while (parentMenu._getParentMenuItem(parentMenu));\n\n\t\t\t\t\tmainMenu._popover!.close();\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthis._prepareSubMenu(item, opener);\n\t\t}\n\t}\n\n\t_findMainMenu(element: MenuItem | Menu) {\n\t\tlet menu = this._isMenu(element) ? element as Menu : element.parentElement as Menu,\n\t\t\tparentMenuItem;\n\n\t\tdo {\n\t\t\tparentMenuItem = this._getParentMenuItem(menu);\n\t\t\tmenu = parentMenuItem ? parentMenuItem.parentElement as Menu : menu;\n\t\t} while (parentMenuItem);\n\n\t\treturn menu;\n\t}\n\n\t_isMenu(element: HTMLElement) {\n\t\treturn element?.hasAttribute(\"ui5-menu\");\n\t}\n\n\t_getParentMenuItem(element: MenuItem | Menu) {\n\t\tif (!element) {\n\t\t\treturn;\n\t\t}\n\t\tconst menu = this._isMenu(element) ? element as Menu : element.parentElement as Menu;\n\t\treturn !menu._parentMenuItem || menu._parentMenuItem.parentElement\n\t\t\t? menu._parentMenuItem\n\t\t\t: (menu._opener as MenuListItem)?.associatedItem;\n\t}\n\n\t_beforePopoverOpen(e: CustomEvent) {\n\t\tconst prevented = !this.fireEvent<MenuBeforeOpenEventDetail>(\"before-open\", {}, true, false);\n\n\t\tif (prevented) {\n\t\t\tthis.open = false;\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_afterPopoverOpen() {\n\t\tthis.open = true;\n\t\tthis.fireEvent(\"after-open\", {}, false, false);\n\t}\n\n\t_beforePopoverClose(e: CustomEvent<ResponsivePopoverBeforeCloseEventDetail>) {\n\t\tconst prevented = !this.fireEvent<MenuBeforeCloseEventDetail>(\"before-close\", { escPressed: e.detail.escPressed }, true, false);\n\n\t\tif (prevented) {\n\t\t\tthis.open = true;\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._openedSubMenuItem) {\n\t\t\tthis._openedSubMenuItem._preventSubMenuClose = false;\n\t\t\tthis._closeItemSubMenu(this._openedSubMenuItem);\n\t\t}\n\t}\n\n\t_afterPopoverClose() {\n\t\tthis.open = false;\n\t\tthis.fireEvent(\"after-close\", {}, false, false);\n\t}\n}\n\nMenu.define();\n\nexport default Menu;\nexport type {\n\tMenuItemClickEventDetail,\n\tMenuBeforeCloseEventDetail,\n\tMenuBeforeOpenEventDetail,\n\tMenuItemFocusEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Menu.js","sourceRoot":"","sources":["../src/Menu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport DOMReference from \"@ui5/webcomponents-base/dist/types/DOMReference.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport {\n\tisPhone,\n\tisDesktop,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type { Timeout } from \"@ui5/webcomponents-base/dist/types.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport type { ResponsivePopoverBeforeCloseEventDetail } from \"./ResponsivePopover.js\";\nimport Button from \"./Button.js\";\nimport List from \"./List.js\";\nimport MenuListItem from \"./MenuListItem.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport Icon from \"./Icon.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\nimport type MenuItem from \"./MenuItem.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport staticAreaMenuTemplate from \"./generated/templates/MenuTemplate.lit.js\";\nimport {\n\tMENU_BACK_BUTTON_ARIA_LABEL,\n\tMENU_CLOSE_BUTTON_ARIA_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/nav-back.js\";\n\n// Styles\nimport staticAreaMenuCss from \"./generated/themes/Menu.css.js\";\n\ntype CurrentItem = {\n\titem: MenuItem,\n\tposition: number,\n\tariaHasPopup: string | undefined,\n}\n\nconst MENU_OPEN_DELAY = 300;\nconst MENU_CLOSE_DELAY = 400;\n\ntype MenuItemClickEventDetail = {\n\titem: MenuItem,\n\ttext: string,\n}\n\ntype MenuBeforeOpenEventDetail = { item?: MenuItem };\ntype MenuBeforeCloseEventDetail = { escPressed: boolean };\n\ntype MenuItemFocusEventDetail = {\n\tref: HTMLElement,\n\titem: MenuItem,\n};\n\ntype OpenerStandardListItem = StandardListItem & { associatedItem: MenuItem };\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-menu` component represents a hierarchical menu structure.\n *\n * ### Usage\n *\n * `ui5-menu` contains `ui5-menu-item` components.\n * An arbitrary hierarchy structure can be represented by recursively nesting menu items.\n *\n * ### Keyboard Handling\n *\n * The `ui5-menu` provides advanced keyboard handling.\n * The user can use the following keyboard shortcuts in order to navigate trough the tree:\n *\n * - `Arrow Up` / `Arrow Down` - Navigates up and down the menu items that are currently visible.\n * - `Arrow Right`, `Space` or `Enter` - Opens a sub-menu if there are menu items nested\n * in the currently clicked menu item.\n * - `Arrow Left` or `Escape` - Closes the currently opened sub-menu.\n *\n * Note: if the text ditrection is set to Right-to-left (RTL), `Arrow Right` and `Arrow Left` functionality is swapped.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Menu.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.3.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-menu\",\n\trenderer: litRender,\n\tstaticAreaStyles: staticAreaMenuCss,\n\tstaticAreaTemplate: staticAreaMenuTemplate,\n\tdependencies: [\n\t\tResponsivePopover,\n\t\tButton,\n\t\tList,\n\t\tStandardListItem,\n\t\tMenuListItem,\n\t\tIcon,\n\t\tBusyIndicator,\n\t],\n})\n\n/**\n * Fired when an item is being clicked.\n *\n * **Note:** Since 1.17.0 the event is preventable, allowing the menu to remain open after an item is pressed.\n * @allowPreventDefault\n * @param { HTMLElement } item The currently clicked menu item.\n * @param { string } text The text of the currently clicked menu item.\n * @public\n */\n@event<MenuItemClickEventDetail>(\"item-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: {\n\t\t\ttype: HTMLElement,\n\t\t},\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttext: {\n\t\t\ttype: String,\n\t\t},\n\t},\n})\n\n/**\n * Fired before the menu is opened. This event can be cancelled, which will prevent the menu from opening. **This event does not bubble.**\n *\n * **Note:** Since 1.14.0 the event is also fired before a sub-menu opens.\n * @public\n * @allowPreventDefault\n * @since 1.10.0\n * @param { HTMLElement } item The `ui5-menu-item` that triggers opening of the sub-menu or undefined when fired upon root menu opening.\n */\n@event<MenuBeforeOpenEventDetail>(\"before-open\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t * @since 1.14.0\n\t\t */\n\t\titem: {\n\t\t\ttype: HTMLElement,\n\t\t},\n\t},\n})\n\n/**\n * Fired after the menu is opened. **This event does not bubble.**\n * @public\n * @since 1.10.0\n */\n@event(\"after-open\")\n\n/**\n * Fired before the menu is closed. This event can be cancelled, which will prevent the menu from closing. **This event does not bubble.**\n * @public\n * @allowPreventDefault\n * @param {boolean} escPressed Indicates that `ESC` key has triggered the event.\n * @since 1.10.0\n */\n@event<MenuBeforeCloseEventDetail>(\"before-close\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tescPressed: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n})\n\n/**\n * Fired after the menu is closed. **This event does not bubble.**\n * @public\n * @since 1.10.0\n */\n@event(\"after-close\")\n\n/**\n * Fired when a menu item receives focus.\n *\n * @public\n * @param { HTMLElement } ref The currently focused element representing a <code>ui5-menu-item</code>.\n * @param { HTMLElement } item The <code>ui5-menu-item</code> represented by the focused element.\n * @since 1.23.1\n */\n@event<MenuItemFocusEventDetail>(\"item-focus\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tref: {\n\t\t\ttype: HTMLElement,\n\t\t},\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: {\n\t\t\ttype: HTMLElement,\n\t\t},\n\t},\n})\n\nclass Menu extends UI5Element {\n\t/**\n\t * Defines the header text of the menu (displayed on mobile).\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\theaderText!: string;\n\n\t/**\n\t * Indicates if the menu is open\n\t * @public\n\t * @default false\n\t * @since 1.10.0\n\t */\n\t@property({ type: Boolean })\n\topen!:boolean;\n\n\t/**\n\t * Defines if a loading indicator would be displayed inside the corresponding ui5-menu popover.\n\t * @default false\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ type: Boolean })\n\tbusy!: boolean;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the busy indicator will be displayed inside the corresponding ui5-menu popover..\n\t * @default 1000\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ validator: Integer, defaultValue: 1000 })\n\tbusyDelay!: number;\n\n\t/**\n\t * Defines the ID or DOM Reference of the element that the menu is shown at\n\t * @public\n\t * @default \"\"\n\t * @since 1.10.0\n\t */\n\t@property({ validator: DOMReference, defaultValue: \"\" })\n\topener!: HTMLElement | string;\n\n\t/**\n\t * Defines if the menu is sub-menu (not first-level).\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_isSubMenu!: boolean;\n\n\t/**\n\t * Stores id of a list item that opened sub-menu.\n\t * @private\n\t */\n\t@property()\n\t_subMenuOpenerId!: string;\n\n\t/**\n\t * Defines the currently available menu items.\n\t * (in case of non-phone devices these are the items of the menu,\n\t * but for phone devices the items of the currently opened sub-menu\n\t * will be populated here)\n\t * @private\n\t */\n\t@property({ type: Object, multiple: true })\n\t_currentItems!: Array<CurrentItem>;\n\n\t/**\n\t * Stores the ResponsivePopover instance\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_popover?: ResponsivePopover;\n\n\t/**\n\t * Stores parent menu item (if there is such).\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_parentMenuItem?: MenuItem;\n\n\t/**\n\t * Stores parent menu item DOM representation (if there is such).\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_opener?: HTMLElement;\n\n\t/**\n\t * Stores menu item that have sub-menu opened.\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_openedSubMenuItem?: MenuItem;\n\n\t/**\n\t * Defines the items of this component.\n\t *\n\t * **Note:** Use `ui5-menu-item` for the intended design.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\titems!: Array<MenuItem>;\n\n\tstatic i18nBundle: I18nBundle;\n\t_timeout?: Timeout;\n\n\tstatic async onDefine() {\n\t\tMenu.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tget itemsWithChildren() {\n\t\treturn !!this._currentItems.filter(item => item.item.items.length).length;\n\t}\n\n\tget itemsWithIcon() {\n\t\treturn !!this._currentItems.filter(item => item.item.icon !== \"\").length;\n\t}\n\n\tget isRtl() {\n\t\treturn this.effectiveDir === \"rtl\";\n\t}\n\n\tget placementType() {\n\t\tconst placement = this.isRtl ? \"Left\" : \"Right\";\n\t\treturn this._isSubMenu ? placement : \"Bottom\";\n\t}\n\n\tget verticalAlign() {\n\t\treturn this._isSubMenu ? \"Top\" : \"Bottom\";\n\t}\n\n\tget labelBack() {\n\t\treturn Menu.i18nBundle.getText(MENU_BACK_BUTTON_ARIA_LABEL);\n\t}\n\n\tget labelClose() {\n\t\treturn Menu.i18nBundle.getText(MENU_CLOSE_BUTTON_ARIA_LABEL);\n\t}\n\n\tget isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget isSubMenuOpened() {\n\t\treturn this.items.some(menuItem => menuItem.subMenuOpened);\n\t}\n\n\tget menuHeaderTextPhone() {\n\t\tconst parentMenuItem = this._getParentMenuItem(this);\n\t\treturn parentMenuItem ? parentMenuItem.text : this.headerText;\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._prepareCurrentItems(this.items);\n\n\t\tconst itemsWithChildren = this.itemsWithChildren;\n\t\tconst itemsWithIcon = this.itemsWithIcon;\n\n\t\tthis._currentItems.forEach(item => {\n\t\t\tconst menuItem = item.item;\n\t\t\tmenuItem._siblingsWithChildren = itemsWithChildren;\n\t\t\tmenuItem._siblingsWithIcon = itemsWithIcon;\n\n\t\t\tconst subMenu = this._isSubMenu ? this._getSubmenuReference(menuItem) : menuItem._subMenu;\n\n\t\t\tif (subMenu) {\n\t\t\t\tsubMenu.innerHTML = \"\";\n\t\t\t\tconst fragment = this._clonedItemsFragment(menuItem);\n\t\t\t\tsubMenu.appendChild(fragment);\n\t\t\t\tsubMenu.busy = menuItem.busy;\n\t\t\t\tsubMenu.busyDelay = menuItem.busyDelay;\n\t\t\t}\n\t\t});\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this.opener) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.open) {\n\t\t\tconst opener = this.getOpener();\n\t\t\tif (opener && !this.isSubMenuOpened) {\n\t\t\t\tthis.showAt(opener);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\t/**\n\t * Shows the Menu near the opener element.\n\t * @param opener the element that the popover is shown at\n\t * @public\n\t */\n\tasync showAt(opener: HTMLElement): Promise<void> {\n\t\tlet parentMenuItem = this._getParentMenuItem(this);\n\n\t\tif (!this._isSubMenu) {\n\t\t\tparentMenuItem = undefined;\n\t\t\tthis._opener = undefined;\n\t\t}\n\t\tconst busyWithoutItems = !parentMenuItem?.items.length && parentMenuItem?.busy;\n\t\tconst popover = await this._createPopover();\n\t\tpopover.initialFocus = `${this._id}-menu-item-0`;\n\t\tpopover.showAt(opener, busyWithoutItems);\n\t}\n\n\t/**\n\t * Closes the Menu.\n\t * @public\n\t */\n\tclose(): void {\n\t\tthis._popover?.close(false, false, true);\n\t}\n\n\tasync _createPopover() {\n\t\tif (!this._popover) {\n\t\t\tconst staticAreaItemDomRef = await this.getStaticAreaItemDomRef();\n\t\t\tthis._popover = staticAreaItemDomRef!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t\t}\n\t\treturn this._popover;\n\t}\n\n\tgetOpener() {\n\t\tconst rootNode = this.getRootNode() as Document;\n\t\treturn this.opener instanceof HTMLElement ? this.opener : rootNode?.getElementById?.(this.opener);\n\t}\n\n\t_navigateBack() {\n\t\tconst parentMenuItem = this._getParentMenuItem(this);\n\t\tif (parentMenuItem) {\n\t\t\tthis._closeItemSubMenu(parentMenuItem, true);\n\t\t}\n\t}\n\n\t_closeAll() {\n\t\tlet menu = this as Menu,\n\t\t\tparentMenuItem;\n\n\t\tdo {\n\t\t\tif (menu) {\n\t\t\t\tmenu.close();\n\t\t\t\tparentMenuItem = menu._getParentMenuItem(menu);\n\t\t\t}\n\t\t\tmenu = parentMenuItem ? parentMenuItem.parentElement as Menu : menu;\n\t\t} while (parentMenuItem);\n\t}\n\n\t_prepareCurrentItems(items: Array<MenuItem>) {\n\t\tthis._currentItems = items.map((item, index) => {\n\t\t\treturn {\n\t\t\t\titem,\n\t\t\t\tposition: index + 1,\n\t\t\t\tariaHasPopup: item.hasSubmenu ? \"menu\" : undefined,\n\t\t\t};\n\t\t});\n\t}\n\n\t_createSubMenu(item: MenuItem, opener: HTMLElement) {\n\t\tlet subMenu = item._subMenu;\n\t\tlet subMenuRef = this._getSubmenuReference(item);\n\n\t\tif ((!subMenu && !this._isSubMenu) || (!subMenuRef && this._isSubMenu)) {\n\t\t\tsubMenu = document.createElement(this.tagName.toLowerCase()) as Menu;\n\t\t\tsubMenu._isSubMenu = true;\n\t\t\tsubMenu.setAttribute(\"id\", `submenu-${opener.id}`);\n\t\t\tsubMenu._parentMenuItem = item;\n\t\t\tsubMenu._opener = opener;\n\t\t\tsubMenu.busy = item.busy;\n\t\t\tsubMenu.busyDelay = item.busyDelay;\n\t\t\tconst fragment = this._clonedItemsFragment(item);\n\t\t\tsubMenu.appendChild(fragment);\n\t\t\tthis.staticAreaItem!.shadowRoot!.querySelector(\".ui5-menu-submenus\")!.appendChild(subMenu);\n\t\t\tsubMenuRef = subMenu;\n\t\t}\n\n\t\titem._subMenu = this._isSubMenu ? subMenuRef : subMenu;\n\t}\n\n\t_getSubmenuReference(item: MenuItem) {\n\t\tconst index = (item.parentElement as Menu)?.items.indexOf(item);\n\t\treturn this.staticAreaItem\n\t\t\t? this.staticAreaItem.shadowRoot!.querySelector(`.ui5-menu-submenus > ui5-menu[id$=menu-item-${index}]`) as Menu\n\t\t\t: undefined;\n\t}\n\n\t_clonedItemsFragment(item: MenuItem) {\n\t\tconst fragment = document.createDocumentFragment();\n\n\t\tfor (let i = 0; i < item.items.length; ++i) {\n\t\t\tconst clonedItem = item.items[i].cloneNode(true);\n\t\t\tfragment.appendChild(clonedItem);\n\t\t}\n\n\t\treturn fragment;\n\t}\n\n\t_openItemSubMenu(item: MenuItem, opener: HTMLElement) {\n\t\tconst mainMenu = this._findMainMenu(item);\n\t\tmainMenu?.fireEvent<MenuBeforeOpenEventDetail>(\"before-open\", {\n\t\t\titem,\n\t\t}, false, false);\n\t\titem._subMenu!.showAt(opener);\n\t\titem._preventSubMenuClose = true;\n\t\tthis._openedSubMenuItem = item;\n\t\tthis._subMenuOpenerId = opener.id;\n\t}\n\n\t_closeItemSubMenu(item: MenuItem, forceClose = false, keyboard = false) {\n\t\tif (item) {\n\t\t\tconst subMenu = item._subMenu\n\t\t\t\t? item._subMenu\n\t\t\t\t: (item.parentElement as Menu)?._getSubmenuReference(item);\n\t\t\tif (forceClose) {\n\t\t\t\titem._preventSubMenuClose = false;\n\t\t\t\tthis._closeSubMenuPopover(subMenu!, forceClose, keyboard);\n\t\t\t} else {\n\t\t\t\tsetTimeout(() => this._closeSubMenuPopover(subMenu!), 0);\n\t\t\t}\n\t\t}\n\t}\n\n\t_closeSubMenuPopover(subMenu: Menu, forceClose = false, keyboard = false) {\n\t\tif (subMenu) {\n\t\t\tconst parentItem = subMenu._getParentMenuItem(subMenu)!;\n\n\t\t\tif (forceClose || !parentItem._preventSubMenuClose) {\n\t\t\t\tsubMenu.close();\n\t\t\t\tif (keyboard) {\n\t\t\t\t\tsubMenu._opener?.focus();\n\t\t\t\t}\n\t\t\t\tthis._openedSubMenuItem = undefined;\n\t\t\t\tthis._subMenuOpenerId = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t_prepareSubMenu(item: MenuItem, opener: HTMLElement) {\n\t\tconst menuItem = item.parentElement ? item : (opener as OpenerStandardListItem).associatedItem;\n\t\tconst parentMenuItem = this._getParentMenuItem(menuItem);\n\n\t\tif (opener.id !== this._subMenuOpenerId || (menuItem && menuItem.hasSubmenu)) {\n\t\t\t// close opened sub-menu if there is any opened\n\t\t\tthis._closeItemSubMenu(this._openedSubMenuItem!, true);\n\t\t}\n\t\tif (menuItem && menuItem.hasSubmenu) {\n\t\t\t// create new sub-menu\n\t\t\tthis._createSubMenu(menuItem, opener);\n\t\t\tthis._openItemSubMenu(menuItem, opener);\n\t\t}\n\t\tif (parentMenuItem) {\n\t\t\tparentMenuItem._preventSubMenuClose = true;\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent): void {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst menuListItem = target.hasAttribute(\"ui5-menu-li\")\n\t\t\t? target as MenuListItem\n\t\t\t: (target.getRootNode() as ShadowRoot).host as MenuListItem;\n\t\tconst item = menuListItem.associatedItem;\n\t\tconst mainMenu = this._findMainMenu(item);\n\t\tmainMenu?.fireEvent<MenuItemFocusEventDetail>(\"item-focus\", { ref: menuListItem, item });\n\t}\n\n\t_startOpenTimeout(item: MenuItem, opener: HTMLElement) {\n\t\tclearTimeout(this._timeout);\n\n\t\t// Sets the new timeout\n\t\tthis._timeout = setTimeout(() => {\n\t\t\tthis._prepareSubMenu(item, opener);\n\t\t}, MENU_OPEN_DELAY);\n\t}\n\n\t_startCloseTimeout(item: MenuItem) {\n\t\tclearTimeout(this._timeout);\n\n\t\t// Sets the new timeout\n\t\tthis._timeout = setTimeout(() => {\n\t\t\tthis._closeItemSubMenu(item);\n\t\t}, MENU_CLOSE_DELAY);\n\t}\n\n\t_itemMouseOver(e: MouseEvent) {\n\t\tif (isDesktop()) {\n\t\t\t// respect mouseover only on desktop\n\t\t\tconst opener = e.target as OpenerStandardListItem;\n\t\t\tconst item = opener.associatedItem;\n\n\t\t\topener.focus();\n\n\t\t\t// Opens submenu with 300ms delay\n\t\t\tthis._startOpenTimeout(item, opener);\n\t\t}\n\t}\n\n\t_busyMouseOver() {\n\t\tconst parentMenuItem = this._getParentMenuItem(this);\n\t\tif (parentMenuItem) {\n\t\t\tparentMenuItem._preventSubMenuClose = true;\n\t\t}\n\t}\n\n\t_itemMouseOut(e: MouseEvent) {\n\t\tif (isDesktop()) {\n\t\t\tconst opener = e.target as OpenerStandardListItem;\n\t\t\tconst item = opener.associatedItem;\n\n\t\t\tclearTimeout(this._timeout);\n\n\t\t\t// Close submenu with 400ms delay\n\t\t\tconst subMenu = this._getSubmenuReference(item);\n\n\t\t\tif (item && item.hasSubmenu && subMenu) {\n\t\t\t\t// try to close the sub-menu\n\t\t\t\titem._preventSubMenuClose = false;\n\t\t\t\tthis._startCloseTimeout(item);\n\t\t\t}\n\t\t}\n\t}\n\n\t_itemKeyDown(e: KeyboardEvent) {\n\t\tconst shouldCloseMenu = this.isRtl ? isRight(e) : isLeft(e);\n\t\tconst shouldOpenMenu = this.isRtl ? isLeft(e) : isRight(e);\n\t\tconst opener = e.target as OpenerStandardListItem;\n\t\tconst item = opener.associatedItem;\n\t\tconst parentMenuItem = this._getParentMenuItem(item);\n\n\t\tif (isEnter(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t\tif (shouldOpenMenu) {\n\t\t\titem.hasSubmenu && this._prepareSubMenu(item, opener);\n\t\t} else if (shouldCloseMenu && this._isSubMenu && parentMenuItem) {\n\t\t\tconst parentMenuItemMenu = parentMenuItem.parentElement as Menu;\n\t\t\tparentMenuItemMenu?._closeItemSubMenu(parentMenuItem, true, true);\n\t\t}\n\t}\n\n\t_itemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tclearTimeout(this._timeout);\n\t\tconst opener = e.detail.item as OpenerStandardListItem;\n\t\tconst item = opener.associatedItem;\n\n\t\tif (!item.hasSubmenu) {\n\t\t\t// click on an item that doesn't have sub-items fires an \"item-click\" event\n\t\t\tif (!this._isSubMenu) {\n\t\t\t\t// fire event if the click is on top-level menu item\n\t\t\t\tconst prevented = !this.fireEvent<MenuItemClickEventDetail>(\"item-click\", {\n\t\t\t\t\t\"item\": item,\n\t\t\t\t\t\"text\": item.text,\n\t\t\t\t}, true, false);\n\n\t\t\t\tif (!prevented) {\n\t\t\t\t\tthis._popover!.close();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst mainMenu = this._findMainMenu(item);\n\t\t\t\tconst prevented = !mainMenu?.fireEvent<MenuItemClickEventDetail>(\"item-click\", {\n\t\t\t\t\t\"item\": item,\n\t\t\t\t\t\"text\": item.text,\n\t\t\t\t}, true, false);\n\n\t\t\t\tif (!prevented) {\n\t\t\t\t\tlet openerMenuItem = item;\n\t\t\t\t\tlet parentMenu = openerMenuItem.parentElement as Menu;\n\t\t\t\t\tdo {\n\t\t\t\t\t\topenerMenuItem._preventSubMenuClose = false;\n\t\t\t\t\t\tthis._closeItemSubMenu(openerMenuItem);\n\t\t\t\t\t\tparentMenu = openerMenuItem.parentElement as Menu;\n\t\t\t\t\t\topenerMenuItem = parentMenu._getParentMenuItem(parentMenu) as MenuItem;\n\t\t\t\t\t} while (parentMenu._getParentMenuItem(parentMenu));\n\n\t\t\t\t\tmainMenu._popover!.close();\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthis._prepareSubMenu(item, opener);\n\t\t}\n\t}\n\n\t_findMainMenu(element: MenuItem | Menu) {\n\t\tlet menu = this._isMenu(element) ? element as Menu : element.parentElement as Menu,\n\t\t\tparentMenuItem;\n\n\t\tdo {\n\t\t\tparentMenuItem = this._getParentMenuItem(menu);\n\t\t\tmenu = parentMenuItem ? parentMenuItem.parentElement as Menu : menu;\n\t\t} while (parentMenuItem);\n\n\t\treturn menu;\n\t}\n\n\t_isMenu(element: HTMLElement) {\n\t\treturn element?.hasAttribute(\"ui5-menu\");\n\t}\n\n\t_getParentMenuItem(element: MenuItem | Menu) {\n\t\tif (!element) {\n\t\t\treturn;\n\t\t}\n\t\tconst menu = this._isMenu(element) ? element as Menu : element.parentElement as Menu;\n\t\treturn !menu._parentMenuItem || menu._parentMenuItem.parentElement\n\t\t\t? menu._parentMenuItem\n\t\t\t: (menu._opener as MenuListItem)?.associatedItem;\n\t}\n\n\t_beforePopoverOpen(e: CustomEvent) {\n\t\tconst prevented = !this.fireEvent<MenuBeforeOpenEventDetail>(\"before-open\", {}, true, false);\n\n\t\tif (prevented) {\n\t\t\tthis.open = false;\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_afterPopoverOpen() {\n\t\tthis.open = true;\n\t\tthis.fireEvent(\"after-open\", {}, false, false);\n\t}\n\n\t_beforePopoverClose(e: CustomEvent<ResponsivePopoverBeforeCloseEventDetail>) {\n\t\tconst prevented = !this.fireEvent<MenuBeforeCloseEventDetail>(\"before-close\", { escPressed: e.detail.escPressed }, true, false);\n\n\t\tif (prevented) {\n\t\t\tthis.open = true;\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._openedSubMenuItem) {\n\t\t\tthis._openedSubMenuItem._preventSubMenuClose = false;\n\t\t\tthis._closeItemSubMenu(this._openedSubMenuItem);\n\t\t}\n\t}\n\n\t_afterPopoverClose() {\n\t\tthis.open = false;\n\t\tthis.fireEvent(\"after-close\", {}, false, false);\n\t}\n}\n\nMenu.define();\n\nexport default Menu;\nexport type {\n\tMenuItemClickEventDetail,\n\tMenuBeforeCloseEventDetail,\n\tMenuBeforeOpenEventDetail,\n\tMenuItemFocusEventDetail,\n};\n"]}
|
package/dist/Popover.d.ts
CHANGED
package/dist/Popover.js
CHANGED
|
@@ -12,6 +12,7 @@ import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
|
12
12
|
import { isIOS } from "@ui5/webcomponents-base/dist/Device.js";
|
|
13
13
|
import DOMReference from "@ui5/webcomponents-base/dist/types/DOMReference.js";
|
|
14
14
|
import { getClosedPopupParent } from "@ui5/webcomponents-base/dist/util/PopupUtils.js";
|
|
15
|
+
import getEffectiveScrollbarStyle from "@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js";
|
|
15
16
|
import clamp from "@ui5/webcomponents-base/dist/util/clamp.js";
|
|
16
17
|
import isElementContainingBlock from "@ui5/webcomponents-base/dist/util/isElementContainingBlock.js";
|
|
17
18
|
import getParentElement from "@ui5/webcomponents-base/dist/util/getParentElement.js";
|
|
@@ -23,7 +24,6 @@ import { addOpenedPopover, removeOpenedPopover } from "./popup-utils/PopoverRegi
|
|
|
23
24
|
// Template
|
|
24
25
|
import PopoverTemplate from "./generated/templates/PopoverTemplate.lit.js";
|
|
25
26
|
// Styles
|
|
26
|
-
import browserScrollbarCSS from "./generated/themes/BrowserScrollbar.css.js";
|
|
27
27
|
import PopupsCommonCss from "./generated/themes/PopupsCommon.css.js";
|
|
28
28
|
import PopoverCss from "./generated/themes/Popover.css.js";
|
|
29
29
|
const ARROW_SIZE = 8;
|
|
@@ -225,6 +225,9 @@ let Popover = Popover_1 = class Popover extends Popup {
|
|
|
225
225
|
if (this.horizontalAlign === PopoverHorizontalAlign.Stretch && this._width) {
|
|
226
226
|
this.style.width = this._width;
|
|
227
227
|
}
|
|
228
|
+
if (this.verticalAlign === PopoverVerticalAlign.Stretch && this._height) {
|
|
229
|
+
this.style.height = this._height;
|
|
230
|
+
}
|
|
228
231
|
}
|
|
229
232
|
/**
|
|
230
233
|
* Adjust the desired top position to compensate for shift of the screen
|
|
@@ -285,6 +288,7 @@ let Popover = Popover_1 = class Popover extends Popup {
|
|
|
285
288
|
}
|
|
286
289
|
else if (this.verticalAlign === PopoverVerticalAlign.Stretch && !isVertical) {
|
|
287
290
|
popoverSize.height = targetRect.height;
|
|
291
|
+
this._height = `${targetRect.height}px`;
|
|
288
292
|
}
|
|
289
293
|
const arrowOffset = this.hideArrow ? 0 : ARROW_SIZE;
|
|
290
294
|
// calc popover positions
|
|
@@ -587,7 +591,7 @@ Popover = Popover_1 = __decorate([
|
|
|
587
591
|
customElement({
|
|
588
592
|
tag: "ui5-popover",
|
|
589
593
|
styles: [
|
|
590
|
-
|
|
594
|
+
getEffectiveScrollbarStyle(),
|
|
591
595
|
PopupsCommonCss,
|
|
592
596
|
PopoverCss,
|
|
593
597
|
],
|