@ui5/webcomponents 2.0.0-rc.0 → 2.0.0-rc.2
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 +69 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/AvatarGroup.js +4 -0
- package/dist/AvatarGroup.js.map +1 -1
- package/dist/Breadcrumbs.js +1 -1
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/Button.d.ts +1 -6
- package/dist/Button.js +6 -12
- package/dist/Button.js.map +1 -1
- package/dist/Calendar.js +4 -3
- package/dist/Calendar.js.map +1 -1
- package/dist/CalendarPart.d.ts +2 -1
- package/dist/CalendarPart.js +2 -1
- package/dist/CalendarPart.js.map +1 -1
- package/dist/ComboBox.js +4 -5
- package/dist/ComboBox.js.map +1 -1
- package/dist/CustomListItem.d.ts +1 -1
- package/dist/CustomListItem.js +4 -4
- package/dist/CustomListItem.js.map +1 -1
- package/dist/DateComponentBase.js +2 -1
- package/dist/DateComponentBase.js.map +1 -1
- package/dist/DateTimePicker.js +2 -1
- package/dist/DateTimePicker.js.map +1 -1
- package/dist/DayPicker.js +2 -1
- package/dist/DayPicker.js.map +1 -1
- package/dist/Dialog.d.ts +0 -1
- package/dist/Dialog.js +0 -9
- package/dist/Dialog.js.map +1 -1
- package/dist/DropIndicator.d.ts +0 -1
- package/dist/DropIndicator.js +13 -6
- package/dist/DropIndicator.js.map +1 -1
- package/dist/Icon.d.ts +1 -8
- package/dist/Icon.js +6 -13
- package/dist/Icon.js.map +1 -1
- package/dist/Input.js +1 -1
- package/dist/Input.js.map +1 -1
- package/dist/Link.d.ts +3 -3
- package/dist/Link.js +1 -1
- package/dist/Link.js.map +1 -1
- package/dist/ListItem.d.ts +1 -1
- package/dist/ListItem.js +12 -2
- package/dist/ListItem.js.map +1 -1
- package/dist/Menu.js +4 -4
- package/dist/Menu.js.map +1 -1
- package/dist/MenuListItem.js +2 -0
- package/dist/MenuListItem.js.map +1 -1
- package/dist/MessageStrip.d.ts +17 -8
- package/dist/MessageStrip.js +20 -9
- package/dist/MessageStrip.js.map +1 -1
- package/dist/MultiComboBox.d.ts +1 -1
- package/dist/MultiComboBox.js +11 -11
- package/dist/MultiComboBox.js.map +1 -1
- package/dist/Popover.d.ts +9 -8
- package/dist/Popover.js +39 -24
- package/dist/Popover.js.map +1 -1
- package/dist/Popup.d.ts +12 -19
- package/dist/Popup.js +44 -42
- package/dist/Popup.js.map +1 -1
- package/dist/ResponsivePopover.d.ts +1 -0
- package/dist/ResponsivePopover.js +7 -2
- package/dist/ResponsivePopover.js.map +1 -1
- package/dist/SegmentedButton.js +0 -1
- package/dist/SegmentedButton.js.map +1 -1
- package/dist/Select.js +2 -2
- package/dist/Select.js.map +1 -1
- package/dist/SplitButton.d.ts +3 -14
- package/dist/SplitButton.js +18 -34
- package/dist/SplitButton.js.map +1 -1
- package/dist/Tab.d.ts +4 -4
- package/dist/Tab.js +1 -0
- package/dist/Tab.js.map +1 -1
- package/dist/TabContainer.d.ts +24 -12
- package/dist/TabContainer.js +59 -7
- package/dist/TabContainer.js.map +1 -1
- package/dist/TabSeparator.d.ts +3 -2
- package/dist/TabSeparator.js +1 -0
- package/dist/TabSeparator.js.map +1 -1
- package/dist/Text.d.ts +40 -0
- package/dist/Text.js +64 -0
- package/dist/Text.js.map +1 -0
- package/dist/TextArea.d.ts +4 -4
- package/dist/TextArea.js +3 -3
- package/dist/TextArea.js.map +1 -1
- package/dist/TimePickerBase.js +3 -2
- package/dist/TimePickerBase.js.map +1 -1
- package/dist/TimePickerInternals.d.ts +2 -2
- package/dist/TimePickerInternals.js +3 -2
- package/dist/TimePickerInternals.js.map +1 -1
- package/dist/TimeSelection.d.ts +2 -2
- package/dist/TimeSelection.js +3 -2
- package/dist/TimeSelection.js.map +1 -1
- package/dist/Tree.d.ts +19 -1
- package/dist/Tree.js +84 -0
- package/dist/Tree.js.map +1 -1
- package/dist/TreeItemBase.d.ts +1 -1
- package/dist/TreeItemBase.js +2 -2
- package/dist/TreeItemBase.js.map +1 -1
- package/dist/TreeItemCustom.d.ts +2 -0
- package/dist/TreeItemCustom.js +15 -0
- package/dist/TreeItemCustom.js.map +1 -1
- package/dist/bundle.esm.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/Bar.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/DropIndicator.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/PopupBlockLayer.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/Text.css +1 -0
- 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 +380 -137
- package/dist/custom-elements.json +264 -126
- package/dist/features/InputSuggestions.js +1 -1
- package/dist/features/InputSuggestions.js.map +1 -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/i18n/i18n-defaults.d.ts +2 -1
- package/dist/generated/i18n/i18n-defaults.js +2 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/templates/ComboBoxTemplate.lit.js +1 -1
- package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DialogTemplate.lit.js +1 -1
- package/dist/generated/templates/DialogTemplate.lit.js.map +1 -1
- package/dist/generated/templates/IconTemplate.lit.js +1 -1
- package/dist/generated/templates/IconTemplate.lit.js.map +1 -1
- package/dist/generated/templates/LinkTemplate.lit.js +1 -1
- package/dist/generated/templates/LinkTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MultiComboBoxTemplate.lit.js +1 -1
- package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
- package/dist/generated/templates/PopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/PopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +1 -1
- package/dist/generated/templates/PopupBlockLayerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/PopupTemplate.lit.js +1 -1
- package/dist/generated/templates/PopupTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +2 -2
- package/dist/generated/templates/ResponsivePopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SplitButtonTemplate.lit.js +1 -1
- package/dist/generated/templates/SplitButtonTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TreeTemplate.lit.js +1 -1
- package/dist/generated/templates/TreeTemplate.lit.js.map +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/Bar.css.js +1 -1
- package/dist/generated/themes/Bar.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/DropIndicator.css.js +1 -1
- package/dist/generated/themes/DropIndicator.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/PopupBlockLayer.css.js +1 -1
- package/dist/generated/themes/PopupBlockLayer.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/Text.css.d.ts +3 -0
- package/dist/generated/themes/Text.css.js +9 -0
- package/dist/generated/themes/Text.css.js.map +1 -0
- 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/types/MessageStripDesign.d.ts +11 -1
- package/dist/types/MessageStripDesign.js +10 -0
- package/dist/types/MessageStripDesign.js.map +1 -1
- package/dist/vscode.html-custom-data.json +55 -31
- package/dist/web-types.json +119 -60
- package/package.json +9 -9
- package/src/ComboBox.hbs +1 -1
- package/src/Icon.hbs +0 -2
- package/src/Link.hbs +1 -1
- package/src/MultiComboBox.hbs +1 -1
- package/src/Popup.hbs +3 -3
- package/src/PopupBlockLayer.hbs +0 -1
- package/src/ResponsivePopover.hbs +2 -1
- package/src/SplitButton.hbs +17 -17
- package/src/Tree.hbs +8 -0
- package/src/i18n/messagebundle.properties +3 -0
- package/src/themes/AvatarGroup.css +18 -3
- package/src/themes/Button.css +24 -12
- package/src/themes/DayPicker.css +3 -6
- package/src/themes/Dialog.css +8 -0
- package/src/themes/DropIndicator.css +16 -0
- package/src/themes/Icon.css +2 -1
- package/src/themes/MenuListItem.css +5 -0
- package/src/themes/MessageStrip.css +153 -0
- package/src/themes/Popover.css +8 -0
- package/src/themes/PopupBlockLayer.css +3 -12
- package/src/themes/PopupsCommon.css +5 -2
- package/src/themes/ProgressIndicator.css +6 -0
- package/src/themes/SplitButton.css +11 -6
- package/src/themes/StepInput.css +1 -0
- package/src/themes/Text.css +20 -0
- package/src/themes/TextArea.css +9 -9
- package/src/themes/ToggleButton.css +7 -7
- package/src/themes/base/Avatar-parameters.css +2 -0
- package/src/themes/base/DayPicker-parameters.css +3 -3
- package/src/themes/base/MessageStrip-parameters.css +25 -0
- package/src/themes/base/ProgressIndicator-parameters.css +3 -1
- package/src/themes/base/Text-parameters.css +3 -0
- package/src/themes/sap_belize/parameters-bundle.css +1 -0
- package/src/themes/sap_belize_hcb/MessageStrip-parameters.css +22 -0
- package/src/themes/sap_belize_hcb/parameters-bundle.css +1 -0
- package/src/themes/sap_belize_hcw/MessageStrip-parameters.css +22 -0
- package/src/themes/sap_belize_hcw/parameters-bundle.css +1 -0
- package/src/themes/sap_fiori_3/MessageStrip-parameters.css +7 -0
- package/src/themes/sap_fiori_3/parameters-bundle.css +2 -1
- package/src/themes/sap_fiori_3_dark/MessageStrip-parameters.css +9 -0
- package/src/themes/sap_fiori_3_dark/parameters-bundle.css +2 -1
- package/src/themes/sap_fiori_3_hcb/MessageStrip-parameters.css +22 -0
- package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -0
- package/src/themes/sap_fiori_3_hcw/MessageStrip-parameters.css +22 -0
- package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -0
- package/src/themes/sap_horizon/DayPicker-parameters.css +0 -1
- package/src/themes/sap_horizon/ProgressIndicatorLayout-parameters.css +3 -2
- package/src/themes/sap_horizon/parameters-bundle.css +1 -0
- package/src/themes/sap_horizon_dark/DayPicker-parameters.css +0 -1
- package/src/themes/sap_horizon_dark/MessageStrip-parameters.css +5 -0
- package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -0
- package/src/themes/sap_horizon_dark_exp/DayPicker-parameters.css +0 -1
- package/src/themes/sap_horizon_exp/DayPicker-parameters.css +0 -1
- package/src/themes/sap_horizon_exp/ProgressIndicatorLayout-parameters.css +3 -2
- package/src/themes/sap_horizon_hcb/DayPicker-parameters.css +0 -1
- package/src/themes/sap_horizon_hcb/MessageStrip-parameters.css +22 -0
- package/src/themes/sap_horizon_hcb/parameters-bundle.css +1 -0
- package/src/themes/sap_horizon_hcb_exp/DayPicker-parameters.css +0 -1
- package/src/themes/sap_horizon_hcw/DayPicker-parameters.css +0 -1
- package/src/themes/sap_horizon_hcw/MessageStrip-parameters.css +22 -0
- package/src/themes/sap_horizon_hcw/parameters-bundle.css +1 -0
- package/src/themes/sap_horizon_hcw_exp/DayPicker-parameters.css +0 -1
package/dist/SplitButton.d.ts
CHANGED
|
@@ -93,12 +93,6 @@ declare class SplitButton extends UI5Element {
|
|
|
93
93
|
* @public
|
|
94
94
|
*/
|
|
95
95
|
accessibleName?: string;
|
|
96
|
-
/**
|
|
97
|
-
* Indicates if the elements is on focus
|
|
98
|
-
* @default false
|
|
99
|
-
* @private
|
|
100
|
-
*/
|
|
101
|
-
focused: boolean;
|
|
102
96
|
/**
|
|
103
97
|
* Accessibility-related properties for inner elements of the Split Button
|
|
104
98
|
* @private
|
|
@@ -148,7 +142,7 @@ declare class SplitButton extends UI5Element {
|
|
|
148
142
|
*/
|
|
149
143
|
text: Array<Node>;
|
|
150
144
|
_textButtonPress: {
|
|
151
|
-
handleEvent: () => void;
|
|
145
|
+
handleEvent: (e: MouseEvent) => void;
|
|
152
146
|
passive: boolean;
|
|
153
147
|
};
|
|
154
148
|
_isDefaultActionPressed: boolean;
|
|
@@ -156,16 +150,11 @@ declare class SplitButton extends UI5Element {
|
|
|
156
150
|
static i18nBundle: I18nBundle;
|
|
157
151
|
static onDefine(): Promise<void>;
|
|
158
152
|
constructor();
|
|
159
|
-
/**
|
|
160
|
-
* Function that makes sure the focus is properly managed.
|
|
161
|
-
* @private
|
|
162
|
-
*/
|
|
163
|
-
_manageFocus(button?: Button | SplitButton): void;
|
|
164
153
|
onBeforeRendering(): void;
|
|
165
154
|
_handleMouseClick(e: MouseEvent): void;
|
|
166
155
|
_onFocusOut(e: FocusEvent): void;
|
|
167
156
|
_onFocusIn(e: FocusEvent): void;
|
|
168
|
-
|
|
157
|
+
_onInnerButtonFocusIn(e: FocusEvent): void;
|
|
169
158
|
_onKeyDown(e: KeyboardEvent): void;
|
|
170
159
|
_onKeyUp(e: KeyboardEvent): void;
|
|
171
160
|
_fireClick(e?: Event): void;
|
|
@@ -173,7 +162,7 @@ declare class SplitButton extends UI5Element {
|
|
|
173
162
|
_textButtonRelease(): void;
|
|
174
163
|
_arrowButtonPress(e: MouseEvent): void;
|
|
175
164
|
_arrowButtonRelease(e: MouseEvent): void;
|
|
176
|
-
_setTabIndexValue(): void;
|
|
165
|
+
_setTabIndexValue(innerButtonPressed?: boolean): void;
|
|
177
166
|
_onArrowButtonActiveStateChange(e: CustomEvent): void;
|
|
178
167
|
/**
|
|
179
168
|
* Checks if the pressed key is an arrow key.
|
package/dist/SplitButton.js
CHANGED
|
@@ -75,9 +75,9 @@ let SplitButton = SplitButton_1 = class SplitButton extends UI5Element {
|
|
|
75
75
|
super();
|
|
76
76
|
this._isDefaultActionPressed = false;
|
|
77
77
|
this._isKeyDownOperation = false;
|
|
78
|
-
const handleTouchStartEvent = () => {
|
|
78
|
+
const handleTouchStartEvent = (e) => {
|
|
79
|
+
e.stopPropagation();
|
|
79
80
|
this._textButtonActive = true;
|
|
80
|
-
this.focused = false;
|
|
81
81
|
this._tabIndex = "-1";
|
|
82
82
|
};
|
|
83
83
|
this._textButtonPress = {
|
|
@@ -85,16 +85,6 @@ let SplitButton = SplitButton_1 = class SplitButton extends UI5Element {
|
|
|
85
85
|
passive: true,
|
|
86
86
|
};
|
|
87
87
|
}
|
|
88
|
-
/**
|
|
89
|
-
* Function that makes sure the focus is properly managed.
|
|
90
|
-
* @private
|
|
91
|
-
*/
|
|
92
|
-
_manageFocus(button) {
|
|
93
|
-
const buttons = [this.textButton, this.arrowButton, this];
|
|
94
|
-
buttons.forEach(btn => {
|
|
95
|
-
btn.focused = btn === button;
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
88
|
onBeforeRendering() {
|
|
99
89
|
this._textButtonIcon = this.textButton && this.activeIcon !== "" && (this._textButtonActive) && !this._shiftOrEscapePressed ? this.activeIcon : this.icon;
|
|
100
90
|
if (this.disabled) {
|
|
@@ -102,8 +92,6 @@ let SplitButton = SplitButton_1 = class SplitButton extends UI5Element {
|
|
|
102
92
|
}
|
|
103
93
|
}
|
|
104
94
|
_handleMouseClick(e) {
|
|
105
|
-
const target = e.target;
|
|
106
|
-
this._manageFocus(target);
|
|
107
95
|
this._fireClick(e);
|
|
108
96
|
}
|
|
109
97
|
_onFocusOut(e) {
|
|
@@ -112,19 +100,18 @@ let SplitButton = SplitButton_1 = class SplitButton extends UI5Element {
|
|
|
112
100
|
}
|
|
113
101
|
this._shiftOrEscapePressed = false;
|
|
114
102
|
this._setTabIndexValue();
|
|
115
|
-
this._manageFocus();
|
|
116
103
|
}
|
|
117
104
|
_onFocusIn(e) {
|
|
118
105
|
if (this.disabled || getEventMark(e)) {
|
|
119
106
|
return;
|
|
120
107
|
}
|
|
121
108
|
this._shiftOrEscapePressed = false;
|
|
122
|
-
this._manageFocus(this);
|
|
123
109
|
}
|
|
124
|
-
|
|
125
|
-
e
|
|
126
|
-
this.
|
|
127
|
-
|
|
110
|
+
_onInnerButtonFocusIn(e) {
|
|
111
|
+
e.stopPropagation();
|
|
112
|
+
this._setTabIndexValue(true);
|
|
113
|
+
const target = e.target;
|
|
114
|
+
target.focus();
|
|
128
115
|
}
|
|
129
116
|
_onKeyDown(e) {
|
|
130
117
|
this._isKeyDownOperation = true;
|
|
@@ -186,17 +173,16 @@ let SplitButton = SplitButton_1 = class SplitButton extends UI5Element {
|
|
|
186
173
|
this._tabIndex = "-1";
|
|
187
174
|
}
|
|
188
175
|
_arrowButtonPress(e) {
|
|
189
|
-
e.
|
|
190
|
-
this.arrowButton.focus();
|
|
176
|
+
e.stopPropagation();
|
|
191
177
|
this._tabIndex = "-1";
|
|
192
178
|
}
|
|
193
179
|
_arrowButtonRelease(e) {
|
|
194
180
|
e.preventDefault();
|
|
195
181
|
this._tabIndex = "-1";
|
|
196
182
|
}
|
|
197
|
-
_setTabIndexValue() {
|
|
183
|
+
_setTabIndexValue(innerButtonPressed) {
|
|
198
184
|
this._tabIndex = this.disabled ? "-1" : "0";
|
|
199
|
-
if (this._tabIndex === "-1" &&
|
|
185
|
+
if (this._tabIndex === "-1" && innerButtonPressed) {
|
|
200
186
|
this._tabIndex = "0";
|
|
201
187
|
}
|
|
202
188
|
}
|
|
@@ -249,19 +235,20 @@ let SplitButton = SplitButton_1 = class SplitButton extends UI5Element {
|
|
|
249
235
|
_handleDefaultAction(e) {
|
|
250
236
|
e.preventDefault();
|
|
251
237
|
const wasSpacePressed = isSpace(e);
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
this.
|
|
238
|
+
const target = e.target;
|
|
239
|
+
if (this.arrowButton && target === this.arrowButton) {
|
|
240
|
+
this._activeArrowButton = true;
|
|
241
|
+
this._fireArrowClick();
|
|
255
242
|
if (wasSpacePressed) {
|
|
256
243
|
this._spacePressed = true;
|
|
244
|
+
this._textButtonActive = false;
|
|
257
245
|
}
|
|
258
246
|
}
|
|
259
|
-
else
|
|
260
|
-
this.
|
|
261
|
-
this.
|
|
247
|
+
else {
|
|
248
|
+
this._textButtonActive = true;
|
|
249
|
+
this._fireClick();
|
|
262
250
|
if (wasSpacePressed) {
|
|
263
251
|
this._spacePressed = true;
|
|
264
|
-
this._textButtonActive = false;
|
|
265
252
|
}
|
|
266
253
|
}
|
|
267
254
|
}
|
|
@@ -317,9 +304,6 @@ __decorate([
|
|
|
317
304
|
__decorate([
|
|
318
305
|
property({ defaultValue: undefined })
|
|
319
306
|
], SplitButton.prototype, "accessibleName", void 0);
|
|
320
|
-
__decorate([
|
|
321
|
-
property({ type: Boolean })
|
|
322
|
-
], SplitButton.prototype, "focused", void 0);
|
|
323
307
|
__decorate([
|
|
324
308
|
property({ type: Object })
|
|
325
309
|
], SplitButton.prototype, "_splitButtonAccInfo", void 0);
|
package/dist/SplitButton.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitButton.js","sourceRoot":"","sources":["../src/SplitButton.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,EACN,QAAQ,EACR,OAAO,EACP,OAAO,EACP,MAAM,EACN,IAAI,EACJ,SAAS,EACT,OAAO,EACP,IAAI,EACJ,OAAO,EACP,SAAS,EACT,aAAa,GACb,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAE3E,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,kDAAkD,CAAC;AAC1D,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EACN,wBAAwB,EACxB,0BAA0B,GAC1B,MAAM,mCAAmC,CAAC;AAE3C,WAAW;AACX,OAAO,mBAAmB,MAAM,kDAAkD,CAAC;AAEnF,SAAS;AACT,OAAO,cAAc,MAAM,uCAAuC,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAmBH,IAAM,WAAW,mBAAjB,MAAM,WAAY,SAAQ,UAAU;IAuInC,MAAM,CAAC,KAAK,CAAC,QAAQ;QACpB,aAAW,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACpE,CAAC;IAED;QACC,KAAK,EAAE,CAAC;QAVT,4BAAuB,GAAG,KAAK,CAAC;QAChC,wBAAmB,GAAG,KAAK,CAAC;QAW3B,MAAM,qBAAqB,GAAG,GAAG,EAAE;YAClC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC;QAEF,IAAI,CAAC,gBAAgB,GAAG;YACvB,WAAW,EAAE,qBAAqB;YAClC,OAAO,EAAE,IAAI;SACb,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,MAA6B;QACzC,MAAM,OAAO,GAAgC,CAAC,IAAI,CAAC,UAAW,EAAE,IAAI,CAAC,WAAY,EAAE,IAAI,CAAC,CAAC;QAEzF,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACrB,GAAG,CAAC,OAAO,GAAG,GAAG,KAAK,MAAM,CAAC;QAC9B,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1J,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACtB;IACF,CAAC;IAED,iBAAiB,CAAC,CAAa;QAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAgB,CAAC;QAElC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,WAAW,CAAC,CAAa;QACxB,IAAI,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE;YACrC,OAAO;SACP;QAED,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC;IACrB,CAAC;IAED,UAAU,CAAC,CAAa;QACvB,IAAI,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE;YACrC,OAAO;SACP;QACD,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,kBAAkB,CAAC,CAAc;QAChC,CAAC,EAAE,eAAe,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAW,CAAC,CAAC;QAEpC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC1B,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;YAC9B,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAC/B;aAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;YACpC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;SACpC;QAED,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;YACnD,IAAI,CAAC,2BAA2B,EAAE,CAAC;SACnC;QAED,0GAA0G;QAC1G,IAAI,IAAI,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;YACvE,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAC/B;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,QAAQ,CAAC,CAAgB;QACxB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;YAC9B,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAC/B;aAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;YACpC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;gBACf,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;aAC/B;SACD;QAED,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;YAC7B,IAAI,CAAC,2BAA2B,EAAE,CAAC;SACnC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,UAAU,CAAC,CAAS;QACnB,CAAC,EAAE,eAAe,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAChC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SACxB;QACD,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACpC,CAAC;IAED,eAAe,CAAC,CAAS;QACxB,CAAC,EAAE,eAAe,EAAE,CAAC;QAErB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAC/B,CAAC;IAED,kBAAkB;QACjB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1J,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,iBAAiB,CAAC,CAAa;QAC9B,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,WAAY,CAAC,KAAK,EAAE,CAAC;QAE1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,mBAAmB,CAAC,CAAa;QAChC,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAE5C,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE;YACvF,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;SACrB;IACF,CAAC;IAED,+BAA+B,CAAC,CAAc;QAC7C,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC3B,CAAC,CAAC,cAAc,EAAE,CAAC;SACnB;IACF,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,CAAgB;QACjC,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,CAAgB;QAChC,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,CAAgB;QAChC,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,wBAAwB,CAAC,CAA6B;QACrD,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAExB,IAAI,OAAO,CAAE,CAAmB,CAAC,EAAE;YAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC1B;IACF,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,CAAgB;QACpC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAEnC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;YAC7C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,eAAe,EAAE;gBACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC1B;SACD;aAAM,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YACxD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,eAAe,EAAE;gBACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;aAC/B;SACD;IACF,CAAC;IAED,2BAA2B;QAC1B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,IAAI,0BAA0B;QAC7B,OAAO,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,kBAAkB,CAAC;IAC1D,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,IAAI,YAAY;QACf,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IAC3B,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE,aAAa,CAAS,wBAAwB,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE,aAAa,CAAS,yBAAyB,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO;YACN,uBAAuB;YACvB,YAAY,EAAE,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC,YAAY;YAC/E,YAAY,EAAE,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC,YAAY;YAC/E,uBAAuB;YACvB,WAAW,EAAE,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC;YACrE,YAAY,EAAE,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,0BAA0B,CAAC;SACxE,CAAC;IACH,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,CAAC,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzI,CAAC;CACD,CAAA;AA3YA;IADC,QAAQ,EAAE;yCACG;AAQd;IADC,QAAQ,EAAE;+CACS;AASpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sDACA;AAQ5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC;2CAC1C;AAU3B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CACT;AAQnB;IADC,QAAQ,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;mDACd;AAQxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4CACV;AAOlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDACmB;AAQ9C;IADC,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;8CAChC;AAQnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;kDACvB;AAQxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;0DACf;AAQhC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;sDACnB;AAQ5B;IADC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;oDACP;AAQzB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;uDAClB;AAS7B;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;yCACnB;AA/Hd,WAAW;IAlBhB,aAAa,CAAC;QACd,GAAG,EAAE,kBAAkB;QACvB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,cAAc;QACtB,QAAQ,EAAE,mBAAmB;QAC7B,YAAY,EAAE,CAAC,MAAM,CAAC;KACtB,CAAC;IACF;;;OAGG;;IACF,KAAK,CAAC,OAAO,CAAC;IAEf;;;OAGG;;IACF,KAAK,CAAC,aAAa,CAAC;GACf,WAAW,CAuZhB;AAED,WAAW,CAAC,MAAM,EAAE,CAAC;AAErB,eAAe,WAAW,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport {\n\tisEscape,\n\tisSpace,\n\tisEnter,\n\tisDown,\n\tisUp,\n\tisDownAlt,\n\tisUpAlt,\n\tisF4,\n\tisShift,\n\tisTabNext,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getEventMark } from \"@ui5/webcomponents-base/dist/MarkedEvents.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport ButtonDesign from \"./types/ButtonDesign.js\";\nimport Button from \"./Button.js\";\n\nimport {\n\tSPLIT_BUTTON_DESCRIPTION,\n\tSPLIT_BUTTON_KEYBOARD_HINT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport SplitButtonTemplate from \"./generated/templates/SplitButtonTemplate.lit.js\";\n\n// Styles\nimport SplitButtonCss from \"./generated/themes/SplitButton.css.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-split-button` enables users to trigger actions. It is constructed of two separate actions -\n * default action and arrow action that can be activated by clicking or tapping, or by\n * pressing certain keyboard keys - `Space` or `Enter` for default action,\n * and `Arrow Down` or `Arrow Up` for arrow action.\n *\n * ### Usage\n *\n * `ui5-split-button` consists two separate buttons:\n *\n * - for the first one (default action) you can define some `text` or an `icon`, or both.\n * Also, it is possible to define different icon for active state of this button - `activeIcon`.\n * - the second one (arrow action) contains only `slim-arrow-down` icon.\n *\n * You can choose a `design` from a set of predefined types (the same as for ui5-button) that offer\n * different styling to correspond to the triggered action. Both text and arrow actions have the same design.\n *\n * You can set the `ui5-split-button` as enabled or disabled. Both parts of an enabled\n * `ui5-split-button` can be pressed by clicking or tapping it, or by certain keys, which changes\n * the style to provide visual feedback to the user that it is pressed or hovered over with\n * the mouse cursor. A disabled `ui5-split-button` appears inactive and any of the two buttons\n * cannot be pressed.\n *\n * ### Keyboard Handling\n *\n * - `Space` or `Enter` - triggers the default action\n * - `Shift` or `Escape` - if `Space` is pressed, releases the default action button without triggering the click event.\n * - `Arrow Down`, `Arrow Up`, `Alt`+`Arrow Down`, `Alt`+`Arrow Up`, or `F4` - triggers the arrow action\n * There are separate events that are fired on activating of `ui5-split-button` parts:\n *\n * - `click` for the first button (default action)\n * - `arrow-click` for the second button (arrow action)\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/SplitButton.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.1.0\n */\n@customElement({\n\ttag: \"ui5-split-button\",\n\trenderer: litRender,\n\tstyles: SplitButtonCss,\n\ttemplate: SplitButtonTemplate,\n\tdependencies: [Button],\n})\n/**\n * Fired when the user clicks on the default action.\n * @public\n */\n@event(\"click\")\n\n/**\n * Fired when the user clicks on the arrow action.\n * @public\n */\n@event(\"arrow-click\")\nclass SplitButton extends UI5Element {\n\t/**\n\t * Defines the icon to be displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * Example:\n\t *\n\t * See all the available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines the icon to be displayed in active state as graphical element within the component.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tactiveIcon!: string;\n\n\t/**\n\t * Defines whether the arrow button should have the active state styles or not.\n\t * @default false\n\t * @public\n\t * @since 1.21.0\n\t */\n\t@property({ type: Boolean })\n\tactiveArrowButton!: boolean;\n\n\t/**\n\t * Defines the component design.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property({ type: ButtonDesign, defaultValue: ButtonDesign.Default })\n\tdesign!: `${ButtonDesign}`;\n\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be pressed or\n\t * focused, and it is not in the tab chain.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ defaultValue: undefined })\n\taccessibleName?: string;\n\n\t/**\n\t * Indicates if the elements is on focus\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * Accessibility-related properties for inner elements of the Split Button\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_splitButtonAccInfo!: Record<string, boolean>;\n\n\t/**\n\t * Defines the tabIndex of the component.\n\t * @default \"0\"\n\t * @private\n\t */\n\t@property({ defaultValue: \"0\", noAttribute: true })\n\t_tabIndex!: string;\n\n\t/**\n\t * Indicates if there is Space key pressed\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_spacePressed!: boolean;\n\n\t/**\n\t * Indicates if there is SHIFT or ESCAPE key pressed\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_shiftOrEscapePressed!: boolean;\n\n\t/**\n\t * Defines the active state of the text button\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_textButtonActive!: boolean;\n\n\t/**\n\t * Defines the icon of the text button\n\t * @default \"\"\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_textButtonIcon!: string;\n\n\t/**\n\t * Defines the state of the internal Button used for the Arrow button of the SplitButton.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_activeArrowButton!: boolean;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\ttext!: Array<Node>;\n\n\t_textButtonPress: { handleEvent: () => void, passive: boolean };\n\t_isDefaultActionPressed = false;\n\t_isKeyDownOperation = false;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic async onDefine() {\n\t\tSplitButton.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tconst handleTouchStartEvent = () => {\n\t\t\tthis._textButtonActive = true;\n\t\t\tthis.focused = false;\n\t\t\tthis._tabIndex = \"-1\";\n\t\t};\n\n\t\tthis._textButtonPress = {\n\t\t\thandleEvent: handleTouchStartEvent,\n\t\t\tpassive: true,\n\t\t};\n\t}\n\n\t/**\n\t * Function that makes sure the focus is properly managed.\n\t * @private\n\t */\n\t_manageFocus(button?: Button | SplitButton) {\n\t\tconst buttons: Array<Button | SplitButton> = [this.textButton!, this.arrowButton!, this];\n\n\t\tbuttons.forEach(btn => {\n\t\t\tbtn.focused = btn === button;\n\t\t});\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._textButtonIcon = this.textButton && this.activeIcon !== \"\" && (this._textButtonActive) && !this._shiftOrEscapePressed ? this.activeIcon : this.icon;\n\t\tif (this.disabled) {\n\t\t\tthis._tabIndex = \"-1\";\n\t\t}\n\t}\n\n\t_handleMouseClick(e: MouseEvent) {\n\t\tconst target = e.target as Button;\n\n\t\tthis._manageFocus(target);\n\t\tthis._fireClick(e);\n\t}\n\n\t_onFocusOut(e: FocusEvent) {\n\t\tif (this.disabled || getEventMark(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._shiftOrEscapePressed = false;\n\t\tthis._setTabIndexValue();\n\t\tthis._manageFocus();\n\t}\n\n\t_onFocusIn(e: FocusEvent) {\n\t\tif (this.disabled || getEventMark(e)) {\n\t\t\treturn;\n\t\t}\n\t\tthis._shiftOrEscapePressed = false;\n\t\tthis._manageFocus(this);\n\t}\n\n\t_textButtonFocusIn(e?: FocusEvent) {\n\t\te?.stopPropagation();\n\t\tthis._manageFocus(this.textButton!);\n\n\t\tthis._setTabIndexValue();\n\t}\n\n\t_onKeyDown(e: KeyboardEvent) {\n\t\tthis._isKeyDownOperation = true;\n\t\tif (this._isArrowKeyAction(e)) {\n\t\t\tthis._handleArrowButtonAction(e);\n\t\t\tthis._activeArrowButton = true;\n\t\t} else if (this._isDefaultAction(e)) {\n\t\t\tthis._handleDefaultAction(e);\n\t\t\tthis._isDefaultActionPressed = true;\n\t\t}\n\n\t\tif (this._spacePressed && this._isShiftOrEscape(e)) {\n\t\t\tthis._handleShiftOrEscapePressed();\n\t\t}\n\n\t\t// Handles button freeze issue when pressing Enter/Space and navigating with Tab/Shift+Tab simultaneously.\n\t\tif (this._isDefaultActionPressed && (isTabNext(e) || isTabPrevious(e))) {\n\t\t\tthis._activeArrowButton = false;\n\t\t\tthis._textButtonActive = false;\n\t\t}\n\n\t\tthis._tabIndex = \"-1\";\n\t}\n\n\t_onKeyUp(e: KeyboardEvent) {\n\t\tthis._isKeyDownOperation = false;\n\t\tif (this._isArrowKeyAction(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._activeArrowButton = false;\n\t\t\tthis._textButtonActive = false;\n\t\t} else if (this._isDefaultAction(e)) {\n\t\t\tthis._isDefaultActionPressed = false;\n\t\t\tthis._textButtonActive = false;\n\t\t\tif (isSpace(e)) {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\tthis._fireClick();\n\t\t\t\tthis._spacePressed = false;\n\t\t\t\tthis._textButtonActive = false;\n\t\t\t}\n\t\t}\n\n\t\tif (this._isShiftOrEscape(e)) {\n\t\t\tthis._handleShiftOrEscapePressed();\n\t\t}\n\n\t\tthis._tabIndex = \"-1\";\n\t}\n\n\t_fireClick(e?: Event) {\n\t\te?.stopPropagation();\n\t\tif (!this._shiftOrEscapePressed) {\n\t\t\tthis.fireEvent(\"click\");\n\t\t}\n\t\tthis._shiftOrEscapePressed = false;\n\t}\n\n\t_fireArrowClick(e?: Event) {\n\t\te?.stopPropagation();\n\n\t\tthis.fireEvent(\"arrow-click\");\n\t}\n\n\t_textButtonRelease() {\n\t\tthis._textButtonActive = false;\n\t\tthis._textButtonIcon = this.textButton && this.activeIcon !== \"\" && (this._textButtonActive) && !this._shiftOrEscapePressed ? this.activeIcon : this.icon;\n\t\tthis._tabIndex = \"-1\";\n\t}\n\n\t_arrowButtonPress(e: MouseEvent) {\n\t\te.preventDefault();\n\t\tthis.arrowButton!.focus();\n\n\t\tthis._tabIndex = \"-1\";\n\t}\n\n\t_arrowButtonRelease(e: MouseEvent) {\n\t\te.preventDefault();\n\n\t\tthis._tabIndex = \"-1\";\n\t}\n\n\t_setTabIndexValue() {\n\t\tthis._tabIndex = this.disabled ? \"-1\" : \"0\";\n\n\t\tif (this._tabIndex === \"-1\" && (this.textButton?.focused || this.arrowButton?.focused)) {\n\t\t\tthis._tabIndex = \"0\";\n\t\t}\n\t}\n\n\t_onArrowButtonActiveStateChange(e: CustomEvent) {\n\t\tif (this.activeArrowButton) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the pressed key is an arrow key.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_isArrowKeyAction(e: KeyboardEvent): boolean {\n\t\treturn isDown(e) || isUp(e) || isDownAlt(e) || isUpAlt(e) || isF4(e);\n\t}\n\n\t/**\n\t * Checks if the pressed key is a default action key (Space or Enter).\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_isDefaultAction(e: KeyboardEvent): boolean {\n\t\treturn isSpace(e) || isEnter(e);\n\t}\n\n\t/**\n\t * Checks if the pressed key is an escape key or shift key.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_isShiftOrEscape(e: KeyboardEvent): boolean {\n\t\treturn isEscape(e) || isShift(e);\n\t}\n\n\t/**\n\t * Handles the click event and the focus on the arrow button.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_handleArrowButtonAction(e: KeyboardEvent | MouseEvent) {\n\t\te.preventDefault();\n\n\t\tthis._fireArrowClick(e);\n\n\t\tif (isSpace((e as KeyboardEvent))) {\n\t\t\tthis._spacePressed = true;\n\t\t}\n\t}\n\n\t/**\n\t * Handles the default action and the active state of the respective button.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_handleDefaultAction(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tconst wasSpacePressed = isSpace(e);\n\n\t\tif (this.focused || this.textButton?.focused) {\n\t\t\tthis._textButtonActive = true;\n\t\t\tthis._fireClick();\n\t\t\tif (wasSpacePressed) {\n\t\t\t\tthis._spacePressed = true;\n\t\t\t}\n\t\t} else if (this.arrowButton && this.arrowButton.focused) {\n\t\t\tthis._activeArrowButton = true;\n\t\t\tthis._fireArrowClick();\n\t\t\tif (wasSpacePressed) {\n\t\t\t\tthis._spacePressed = true;\n\t\t\t\tthis._textButtonActive = false;\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleShiftOrEscapePressed() {\n\t\tthis._shiftOrEscapePressed = true;\n\t\tthis._textButtonActive = false;\n\t\tthis._isKeyDownOperation = false;\n\t}\n\n\tget effectiveActiveArrowButton() {\n\t\treturn this.activeArrowButton || this._activeArrowButton;\n\t}\n\n\tget textButtonAccText() {\n\t\treturn this.textContent;\n\t}\n\n\tget isTextButton() {\n\t\treturn !!this.textContent;\n\t}\n\n\tget textButton() {\n\t\treturn this.getDomRef()?.querySelector<Button>(\".ui5-split-text-button\");\n\t}\n\n\tget arrowButton() {\n\t\treturn this.getDomRef()?.querySelector<Button>(\".ui5-split-arrow-button\");\n\t}\n\n\tget accessibilityInfo() {\n\t\treturn {\n\t\t\t// affects arrow button\n\t\t\tariaExpanded: this._splitButtonAccInfo && this._splitButtonAccInfo.ariaExpanded,\n\t\t\tariaHaspopup: this._splitButtonAccInfo && this._splitButtonAccInfo.ariaHaspopup,\n\t\t\t// affects root element\n\t\t\tdescription: SplitButton.i18nBundle.getText(SPLIT_BUTTON_DESCRIPTION),\n\t\t\tkeyboardHint: SplitButton.i18nBundle.getText(SPLIT_BUTTON_KEYBOARD_HINT),\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn [SplitButton.i18nBundle.getText(SPLIT_BUTTON_DESCRIPTION), SplitButton.i18nBundle.getText(SPLIT_BUTTON_KEYBOARD_HINT)].join(\" \");\n\t}\n}\n\nSplitButton.define();\n\nexport default SplitButton;\n"]}
|
|
1
|
+
{"version":3,"file":"SplitButton.js","sourceRoot":"","sources":["../src/SplitButton.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 event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport {\n\tisEscape,\n\tisSpace,\n\tisEnter,\n\tisDown,\n\tisUp,\n\tisDownAlt,\n\tisUpAlt,\n\tisF4,\n\tisShift,\n\tisTabNext,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getEventMark } from \"@ui5/webcomponents-base/dist/MarkedEvents.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport ButtonDesign from \"./types/ButtonDesign.js\";\nimport Button from \"./Button.js\";\n\nimport {\n\tSPLIT_BUTTON_DESCRIPTION,\n\tSPLIT_BUTTON_KEYBOARD_HINT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport SplitButtonTemplate from \"./generated/templates/SplitButtonTemplate.lit.js\";\n\n// Styles\nimport SplitButtonCss from \"./generated/themes/SplitButton.css.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-split-button` enables users to trigger actions. It is constructed of two separate actions -\n * default action and arrow action that can be activated by clicking or tapping, or by\n * pressing certain keyboard keys - `Space` or `Enter` for default action,\n * and `Arrow Down` or `Arrow Up` for arrow action.\n *\n * ### Usage\n *\n * `ui5-split-button` consists two separate buttons:\n *\n * - for the first one (default action) you can define some `text` or an `icon`, or both.\n * Also, it is possible to define different icon for active state of this button - `activeIcon`.\n * - the second one (arrow action) contains only `slim-arrow-down` icon.\n *\n * You can choose a `design` from a set of predefined types (the same as for ui5-button) that offer\n * different styling to correspond to the triggered action. Both text and arrow actions have the same design.\n *\n * You can set the `ui5-split-button` as enabled or disabled. Both parts of an enabled\n * `ui5-split-button` can be pressed by clicking or tapping it, or by certain keys, which changes\n * the style to provide visual feedback to the user that it is pressed or hovered over with\n * the mouse cursor. A disabled `ui5-split-button` appears inactive and any of the two buttons\n * cannot be pressed.\n *\n * ### Keyboard Handling\n *\n * - `Space` or `Enter` - triggers the default action\n * - `Shift` or `Escape` - if `Space` is pressed, releases the default action button without triggering the click event.\n * - `Arrow Down`, `Arrow Up`, `Alt`+`Arrow Down`, `Alt`+`Arrow Up`, or `F4` - triggers the arrow action\n * There are separate events that are fired on activating of `ui5-split-button` parts:\n *\n * - `click` for the first button (default action)\n * - `arrow-click` for the second button (arrow action)\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/SplitButton.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.1.0\n */\n@customElement({\n\ttag: \"ui5-split-button\",\n\trenderer: litRender,\n\tstyles: SplitButtonCss,\n\ttemplate: SplitButtonTemplate,\n\tdependencies: [Button],\n})\n/**\n * Fired when the user clicks on the default action.\n * @public\n */\n@event(\"click\")\n\n/**\n * Fired when the user clicks on the arrow action.\n * @public\n */\n@event(\"arrow-click\")\nclass SplitButton extends UI5Element {\n\t/**\n\t * Defines the icon to be displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * Example:\n\t *\n\t * See all the available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines the icon to be displayed in active state as graphical element within the component.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tactiveIcon!: string;\n\n\t/**\n\t * Defines whether the arrow button should have the active state styles or not.\n\t * @default false\n\t * @public\n\t * @since 1.21.0\n\t */\n\t@property({ type: Boolean })\n\tactiveArrowButton!: boolean;\n\n\t/**\n\t * Defines the component design.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property({ type: ButtonDesign, defaultValue: ButtonDesign.Default })\n\tdesign!: `${ButtonDesign}`;\n\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be pressed or\n\t * focused, and it is not in the tab chain.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ defaultValue: undefined })\n\taccessibleName?: string;\n\n\t/**\n\t * Accessibility-related properties for inner elements of the Split Button\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_splitButtonAccInfo!: Record<string, boolean>;\n\n\t/**\n\t * Defines the tabIndex of the component.\n\t * @default \"0\"\n\t * @private\n\t */\n\t@property({ defaultValue: \"0\", noAttribute: true })\n\t_tabIndex!: string;\n\n\t/**\n\t * Indicates if there is Space key pressed\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_spacePressed!: boolean;\n\n\t/**\n\t * Indicates if there is SHIFT or ESCAPE key pressed\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_shiftOrEscapePressed!: boolean;\n\n\t/**\n\t * Defines the active state of the text button\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_textButtonActive!: boolean;\n\n\t/**\n\t * Defines the icon of the text button\n\t * @default \"\"\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_textButtonIcon!: string;\n\n\t/**\n\t * Defines the state of the internal Button used for the Arrow button of the SplitButton.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_activeArrowButton!: boolean;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\ttext!: Array<Node>;\n\n\t_textButtonPress: { handleEvent: (e: MouseEvent) => void, passive: boolean };\n\t_isDefaultActionPressed = false;\n\t_isKeyDownOperation = false;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic async onDefine() {\n\t\tSplitButton.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tconst handleTouchStartEvent = (e: MouseEvent) => {\n\t\t\te.stopPropagation();\n\t\t\tthis._textButtonActive = true;\n\t\t\tthis._tabIndex = \"-1\";\n\t\t};\n\n\t\tthis._textButtonPress = {\n\t\t\thandleEvent: handleTouchStartEvent,\n\t\t\tpassive: true,\n\t\t};\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._textButtonIcon = this.textButton && this.activeIcon !== \"\" && (this._textButtonActive) && !this._shiftOrEscapePressed ? this.activeIcon : this.icon;\n\t\tif (this.disabled) {\n\t\t\tthis._tabIndex = \"-1\";\n\t\t}\n\t}\n\n\t_handleMouseClick(e: MouseEvent) {\n\t\tthis._fireClick(e);\n\t}\n\n\t_onFocusOut(e: FocusEvent) {\n\t\tif (this.disabled || getEventMark(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._shiftOrEscapePressed = false;\n\t\tthis._setTabIndexValue();\n\t}\n\n\t_onFocusIn(e: FocusEvent) {\n\t\tif (this.disabled || getEventMark(e)) {\n\t\t\treturn;\n\t\t}\n\t\tthis._shiftOrEscapePressed = false;\n\t}\n\n\t_onInnerButtonFocusIn(e: FocusEvent) {\n\t\te.stopPropagation();\n\t\tthis._setTabIndexValue(true);\n\t\tconst target = e.target as Button;\n\t\ttarget.focus();\n\t}\n\n\t_onKeyDown(e: KeyboardEvent) {\n\t\tthis._isKeyDownOperation = true;\n\t\tif (this._isArrowKeyAction(e)) {\n\t\t\tthis._handleArrowButtonAction(e);\n\t\t\tthis._activeArrowButton = true;\n\t\t} else if (this._isDefaultAction(e)) {\n\t\t\tthis._handleDefaultAction(e);\n\t\t\tthis._isDefaultActionPressed = true;\n\t\t}\n\n\t\tif (this._spacePressed && this._isShiftOrEscape(e)) {\n\t\t\tthis._handleShiftOrEscapePressed();\n\t\t}\n\n\t\t// Handles button freeze issue when pressing Enter/Space and navigating with Tab/Shift+Tab simultaneously.\n\t\tif (this._isDefaultActionPressed && (isTabNext(e) || isTabPrevious(e))) {\n\t\t\tthis._activeArrowButton = false;\n\t\t\tthis._textButtonActive = false;\n\t\t}\n\n\t\tthis._tabIndex = \"-1\";\n\t}\n\n\t_onKeyUp(e: KeyboardEvent) {\n\t\tthis._isKeyDownOperation = false;\n\t\tif (this._isArrowKeyAction(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._activeArrowButton = false;\n\t\t\tthis._textButtonActive = false;\n\t\t} else if (this._isDefaultAction(e)) {\n\t\t\tthis._isDefaultActionPressed = false;\n\t\t\tthis._textButtonActive = false;\n\t\t\tif (isSpace(e)) {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\tthis._fireClick();\n\t\t\t\tthis._spacePressed = false;\n\t\t\t\tthis._textButtonActive = false;\n\t\t\t}\n\t\t}\n\n\t\tif (this._isShiftOrEscape(e)) {\n\t\t\tthis._handleShiftOrEscapePressed();\n\t\t}\n\n\t\tthis._tabIndex = \"-1\";\n\t}\n\n\t_fireClick(e?: Event) {\n\t\te?.stopPropagation();\n\t\tif (!this._shiftOrEscapePressed) {\n\t\t\tthis.fireEvent(\"click\");\n\t\t}\n\t\tthis._shiftOrEscapePressed = false;\n\t}\n\n\t_fireArrowClick(e?: Event) {\n\t\te?.stopPropagation();\n\n\t\tthis.fireEvent(\"arrow-click\");\n\t}\n\n\t_textButtonRelease() {\n\t\tthis._textButtonActive = false;\n\t\tthis._textButtonIcon = this.textButton && this.activeIcon !== \"\" && (this._textButtonActive) && !this._shiftOrEscapePressed ? this.activeIcon : this.icon;\n\t\tthis._tabIndex = \"-1\";\n\t}\n\n\t_arrowButtonPress(e: MouseEvent) {\n\t\te.stopPropagation();\n\n\t\tthis._tabIndex = \"-1\";\n\t}\n\n\t_arrowButtonRelease(e: MouseEvent) {\n\t\te.preventDefault();\n\n\t\tthis._tabIndex = \"-1\";\n\t}\n\n\t_setTabIndexValue(innerButtonPressed?: boolean) {\n\t\tthis._tabIndex = this.disabled ? \"-1\" : \"0\";\n\n\t\tif (this._tabIndex === \"-1\" && innerButtonPressed) {\n\t\t\tthis._tabIndex = \"0\";\n\t\t}\n\t}\n\n\t_onArrowButtonActiveStateChange(e: CustomEvent) {\n\t\tif (this.activeArrowButton) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the pressed key is an arrow key.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_isArrowKeyAction(e: KeyboardEvent): boolean {\n\t\treturn isDown(e) || isUp(e) || isDownAlt(e) || isUpAlt(e) || isF4(e);\n\t}\n\n\t/**\n\t * Checks if the pressed key is a default action key (Space or Enter).\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_isDefaultAction(e: KeyboardEvent): boolean {\n\t\treturn isSpace(e) || isEnter(e);\n\t}\n\n\t/**\n\t * Checks if the pressed key is an escape key or shift key.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_isShiftOrEscape(e: KeyboardEvent): boolean {\n\t\treturn isEscape(e) || isShift(e);\n\t}\n\n\t/**\n\t * Handles the click event and the focus on the arrow button.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_handleArrowButtonAction(e: KeyboardEvent | MouseEvent) {\n\t\te.preventDefault();\n\n\t\tthis._fireArrowClick(e);\n\n\t\tif (isSpace((e as KeyboardEvent))) {\n\t\t\tthis._spacePressed = true;\n\t\t}\n\t}\n\n\t/**\n\t * Handles the default action and the active state of the respective button.\n\t * @param e - keyboard event\n\t * @private\n\t */\n\t_handleDefaultAction(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tconst wasSpacePressed = isSpace(e);\n\t\tconst target = e.target as Button;\n\n\t\tif (this.arrowButton && target === this.arrowButton) {\n\t\t\tthis._activeArrowButton = true;\n\t\t\tthis._fireArrowClick();\n\t\t\tif (wasSpacePressed) {\n\t\t\t\tthis._spacePressed = true;\n\t\t\t\tthis._textButtonActive = false;\n\t\t\t}\n\t\t} else {\n\t\t\tthis._textButtonActive = true;\n\t\t\tthis._fireClick();\n\t\t\tif (wasSpacePressed) {\n\t\t\t\tthis._spacePressed = true;\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleShiftOrEscapePressed() {\n\t\tthis._shiftOrEscapePressed = true;\n\t\tthis._textButtonActive = false;\n\t\tthis._isKeyDownOperation = false;\n\t}\n\n\tget effectiveActiveArrowButton() {\n\t\treturn this.activeArrowButton || this._activeArrowButton;\n\t}\n\n\tget textButtonAccText() {\n\t\treturn this.textContent;\n\t}\n\n\tget isTextButton() {\n\t\treturn !!this.textContent;\n\t}\n\n\tget textButton() {\n\t\treturn this.getDomRef()?.querySelector<Button>(\".ui5-split-text-button\");\n\t}\n\n\tget arrowButton() {\n\t\treturn this.getDomRef()?.querySelector<Button>(\".ui5-split-arrow-button\");\n\t}\n\n\tget accessibilityInfo() {\n\t\treturn {\n\t\t\t// affects arrow button\n\t\t\tariaExpanded: this._splitButtonAccInfo && this._splitButtonAccInfo.ariaExpanded,\n\t\t\tariaHaspopup: this._splitButtonAccInfo && this._splitButtonAccInfo.ariaHaspopup,\n\t\t\t// affects root element\n\t\t\tdescription: SplitButton.i18nBundle.getText(SPLIT_BUTTON_DESCRIPTION),\n\t\t\tkeyboardHint: SplitButton.i18nBundle.getText(SPLIT_BUTTON_KEYBOARD_HINT),\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn [SplitButton.i18nBundle.getText(SPLIT_BUTTON_DESCRIPTION), SplitButton.i18nBundle.getText(SPLIT_BUTTON_KEYBOARD_HINT)].join(\" \");\n\t}\n}\n\nSplitButton.define();\n\nexport default SplitButton;\n"]}
|
package/dist/Tab.d.ts
CHANGED
|
@@ -6,8 +6,7 @@ import "@ui5/webcomponents-icons/dist/alert.js";
|
|
|
6
6
|
import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
|
|
7
7
|
import SemanticColor from "./types/SemanticColor.js";
|
|
8
8
|
import ListItemType from "./types/ListItemType.js";
|
|
9
|
-
import type
|
|
10
|
-
import type { TabContainerStripInfo, TabContainerOverflowInfo } from "./TabContainer.js";
|
|
9
|
+
import type { TabContainerStripInfo, TabContainerOverflowInfo, ITab } from "./TabContainer.js";
|
|
11
10
|
import CustomListItem from "./CustomListItem.js";
|
|
12
11
|
import TabInStripTemplate from "./generated/templates/TabInStripTemplate.lit.js";
|
|
13
12
|
import TabInOverflowTemplate from "./generated/templates/TabInOverflowTemplate.lit.js";
|
|
@@ -25,9 +24,10 @@ interface TabInOverflow extends CustomListItem {
|
|
|
25
24
|
* @abstract
|
|
26
25
|
* @constructor
|
|
27
26
|
* @extends UI5Element
|
|
27
|
+
* @implements {ITab}
|
|
28
28
|
* @public
|
|
29
29
|
*/
|
|
30
|
-
declare class Tab extends UI5Element implements ITabbable {
|
|
30
|
+
declare class Tab extends UI5Element implements ITabbable, ITab {
|
|
31
31
|
/**
|
|
32
32
|
* The text to be displayed for the item.
|
|
33
33
|
* @default ""
|
|
@@ -97,7 +97,7 @@ declare class Tab extends UI5Element implements ITabbable {
|
|
|
97
97
|
* **Note:** Use `ui5-tab` and `ui5-tab-separator` for the intended design.
|
|
98
98
|
* @public
|
|
99
99
|
*/
|
|
100
|
-
items: Array<
|
|
100
|
+
items: Array<ITab>;
|
|
101
101
|
_isInline?: boolean;
|
|
102
102
|
_forcedMixedMode?: boolean;
|
|
103
103
|
_getElementInStrip?: () => HTMLElement | undefined;
|
package/dist/Tab.js
CHANGED
package/dist/Tab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tab.js","sourceRoot":"","sources":["../src/Tab.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AAErF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAE7E,OAAO,eAAe,MAAM,0DAA0D,CAAC;AACvF,OAAO,eAAe,MAAM,sDAAsD,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EACN,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,GAC1B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,wCAAwC,CAAC;AAChD,OAAO,wCAAwC,CAAC;AAChD,OAAO,8CAA8C,CAAC;AACtD,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAG7C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,YAAY;AACZ,OAAO,WAAW,MAAM,0CAA0C,CAAC;AACnE,OAAO,kBAAkB,MAAM,iDAAiD,CAAC;AACjF,OAAO,qBAAqB,MAAM,oDAAoD,CAAC;AAEvF,SAAS;AACT,OAAO,GAAG,MAAM,+BAA+B,CAAC;AAChD,OAAO,QAAQ,MAAM,sCAAsC,CAAC;AAC5D,OAAO,sBAAsB,MAAM,4CAA4C,CAAC;AAChF,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAElE,MAAM,mBAAmB,GAAG;IAC3B,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,wBAAwB;IAClD,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,wBAAwB;IAClD,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,uBAAuB;IAChD,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,wBAAwB;CAClD,CAAC;AAUF;;;;;;;;;GASG;AAaH,IAAM,GAAG,WAAT,MAAM,GAAI,SAAQ,UAAU;IAuH3B,IAAI,cAAc,CAAC,GAAW;QAC7B,IAAI,CAAC,gBAAgB,EAAG,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,gBAAgB,EAAG,CAAC,YAAY,CAAC,UAAU,CAAE,CAAC;IAC3D,CAAC;IAED,IAAI,WAAW;QACd,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAErB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE;YAC1C,IAAI,IAAI,KAAK,IAAI,CAAC,cAAc,GAAG,CAAC;SACpC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,WAAW;QACd,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO,eAAe,CAAC,KAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,oBAAoB;QACvB,OAAO,eAAe,CAAC,KAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,iBAAiB,CAAC;IAC5E,CAAC;IAED,IAAI,oBAAoB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,CAAC;IAC3E,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;IAC5E,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,CAAC;IAC3E,CAAC;IAED,IAAI,mBAAmB;QACtB,OAAO,IAAI,CAAC,qBAAqB,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACpG,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,eAAe,EAAE,CAAC;IAC7F,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,IAAI,CAAC,qBAAqB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;IACnE,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB,CAAC,EAChB,iBAAiB,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,GACjD;QACvB,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;QAC5C,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,aAAa,CAAC;IACvC,CAAC;IAED,mBAAmB,CAAC,EAAE,KAAK,EAA4B;QACtD,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;IACrC,CAAC;IAED;;;;;;;;OAQG;IACH,gBAAgB;QACf,OAAO,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;IACpC,CAAC;IAED,cAAc;QACb,IAAI,aAAa,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;QAE3C,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;YACzD,aAAa,GAAG,IAAI,CAAC,kBAAkB,EAAG,CAAC;SAC3C;QAED,OAAO,aAAa,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,YAA2B;QACtC,MAAM,cAAc,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC;IAC5C,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;IAC7C,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC;IACnC,CAAC;IAED,IAAI,iBAAiB;QACpB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,IAAI,eAAe,CAAC;IAChE,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAc,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,cAAc;QACjB,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,IAAI,IAAI,CAAC,IAAI,EAAE;YACd,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;SAChC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;SAC1C;QAED,IAAI,IAAI,CAAC,IAAI,EAAE;YACd,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;SAChC;QAED,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,oBAAoB,CAAC,CAAC;SAC7C;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,YAAY;QACf,MAAM,OAAO,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAEvC,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;SAC7C;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;SAC7C;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;SAC3C;QAED,IAAI,IAAI,CAAC,cAAc,EAAE;YACxB,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;SACvD;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACzC,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;SAC7C;QAED,IAAI,IAAI,CAAC,IAAI,EAAE;YACd,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;SAC7C;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACxC,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;SAC9C;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,OAAO,EAAE;YAC1C,OAAO,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;SACjE;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;SACpD;QAED,IAAI,IAAI,CAAC,cAAc,EAAE;YACxB,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;SACjD;QAED,OAAO;YACN,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YAC9B,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;SACjD,CAAC;IACH,CAAC;IAED,IAAI,qBAAqB;QACxB,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,cAAc,EAAE;YACxB,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;SACjD;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtC,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;SACxD;QAED,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO,KAAG,CAAC,UAAU,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAG,CAAC,UAAU,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/F,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC;IAED,IAAI,gBAAgB;QACnB,QAAQ,IAAI,CAAC,MAAM,EAAE;YACrB,KAAK,aAAa,CAAC,QAAQ;gBAC1B,OAAO,aAAa,CAAC;YACtB,KAAK,aAAa,CAAC,QAAQ;gBAC1B,OAAO,OAAO,CAAC;YAChB,KAAK,aAAa,CAAC,QAAQ;gBAC1B,OAAO,OAAO,CAAC;YAChB;gBACC,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;IAED,IAAI,kBAAkB;QACrB,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,OAAO,EAAE;YAC1C,OAAO,IAAI,CAAC;SACZ;QAED,OAAO,KAAG,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,mBAAmB;QACtB,MAAM,OAAO,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAE1C,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,OAAO,EAAE;YACnF,OAAO,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;SACpE;QAED,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,eAAe;QAClB,MAAM,OAAO,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAE1C,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,OAAO,EAAE;YACnF,OAAO,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;SACpE;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;SAChD;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;SACtD;QAED,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC;IAChG,CAAC;IAED,MAAM,KAAK,aAAa;QACvB,OAAO,kBAAkB,CAAC;IAC3B,CAAC;IAED,MAAM,KAAK,gBAAgB;QAC1B,OAAO,qBAAqB,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ;QACpB,KAAG,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC5D,CAAC;IAED,YAAY,CAAC,CAAY;QACxB,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,EAAE;YACpC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;SACzC;IACF,CAAC;IAED,UAAU,CAAC,CAAY;QACtB,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,EAAE;YACpC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;SACxC;IACF,CAAC;CACD,CAAA;AAlaA;IADC,QAAQ,EAAE;iCACG;AAQd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qCACT;AAQnB;IADC,QAAQ,EAAE;2CACa;AAUxB;IADC,QAAQ,EAAE;iCACG;AAkBd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC;mCAC3C;AAQ5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qCACT;AASnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oCACV;AAGlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;2CACH;AAGzB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;2CACH;AAGzB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;kDACnB;AAc5B;IARC,IAAI,CAAC;QACL,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,IAAI;QACf,uBAAuB,EAAE;YACxB,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,KAAK;SACZ;KACD,CAAC;oCACoB;AAgBtB;IARC,IAAI,CAAC;QACL,IAAI,EAAE,WAAW;QACjB,eAAe,EAAE,IAAI;QACrB,uBAAuB,EAAE;YACxB,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,KAAK;SACZ;KACD,CAAC;kCAC+B;AA3G5B,GAAG;IAZR,aAAa,CAAC;QACd,GAAG,EAAE,SAAS;QACd,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,GAAG;QACX,YAAY,EAAE;YACb,IAAI;YACJ,MAAM;YACN,cAAc;SACd;KACD,CAAC;GACI,GAAG,CAyaR;AAED,GAAG,CAAC,MAAM,EAAE,CAAC;AAEb,YAAY,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACzC,YAAY,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;AACvD,YAAY,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;AAE5C,eAAe,GAAG,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport executeTemplate from \"@ui5/webcomponents-base/dist/renderer/executeTemplate.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport {\n\tTAB_ARIA_DESIGN_POSITIVE,\n\tTAB_ARIA_DESIGN_NEGATIVE,\n\tTAB_ARIA_DESIGN_CRITICAL,\n\tTAB_ARIA_DESIGN_NEUTRAL,\n\tTABCONTAINER_END_OVERFLOW,\n\tTAB_SPLIT_ROLE_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport SemanticColor from \"./types/SemanticColor.js\";\nimport ListItemType from \"./types/ListItemType.js\";\nimport TabContainer from \"./TabContainer.js\";\nimport type TabSeparator from \"./TabSeparator.js\";\nimport type { TabContainerStripInfo, TabContainerOverflowInfo } from \"./TabContainer.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\nimport CustomListItem from \"./CustomListItem.js\";\n\n// Templates\nimport TabTemplate from \"./generated/templates/TabTemplate.lit.js\";\nimport TabInStripTemplate from \"./generated/templates/TabInStripTemplate.lit.js\";\nimport TabInOverflowTemplate from \"./generated/templates/TabInOverflowTemplate.lit.js\";\n\n// Styles\nimport css from \"./generated/themes/Tab.css.js\";\nimport stripCss from \"./generated/themes/TabInStrip.css.js\";\nimport draggableElementStyles from \"./generated/themes/DraggableElement.css.js\";\nimport overflowCss from \"./generated/themes/TabInOverflow.css.js\";\n\nconst DESIGN_DESCRIPTIONS = {\n\t[SemanticColor.Positive]: TAB_ARIA_DESIGN_POSITIVE,\n\t[SemanticColor.Negative]: TAB_ARIA_DESIGN_NEGATIVE,\n\t[SemanticColor.Neutral]: TAB_ARIA_DESIGN_NEUTRAL,\n\t[SemanticColor.Critical]: TAB_ARIA_DESIGN_CRITICAL,\n};\n\ninterface TabInStrip extends HTMLElement {\n\trealTabReference: Tab;\n}\n\ninterface TabInOverflow extends CustomListItem {\n\trealTabReference: Tab;\n}\n\n/**\n * @class\n * The `ui5-tab` represents a selectable item inside a `ui5-tabcontainer`.\n * It defines both the item in the tab strip (top part of the `ui5-tabcontainer`) and the\n * content that is presented to the user once the tab is selected.\n * @abstract\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n\ttag: \"ui5-tab\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: TabTemplate,\n\tstyles: css,\n\tdependencies: [\n\t\tIcon,\n\t\tButton,\n\t\tCustomListItem,\n\t],\n})\nclass Tab extends UI5Element implements ITabbable {\n\t/**\n\t * The text to be displayed for the item.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ttext!: string;\n\n\t/**\n\t * Disabled tabs can't be selected.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Represents the \"additionalText\" text, which is displayed in the tab. In the cases when in the same time there are tabs with icons and tabs without icons, if a tab has no icon the \"additionalText\" is displayed larger.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tadditionalText!: string;\n\n\t/**\n\t * Defines the icon source URI to be displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous built-in icons.\n\t * See all the available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines the component's design color.\n\t *\n\t * The design is applied to:\n\t *\n\t * - the component icon\n\t * - the `text` when the component overflows\n\t * - the tab selection line\n\t *\n\t * Available designs are: `\"Default\"`, `\"Neutral\"`, `\"Positive\"`, `\"Critical\"` and `\"Negative\"`.\n\t *\n\t * **Note:** The design depends on the current theme.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property({ type: SemanticColor, defaultValue: SemanticColor.Default })\n\tdesign!: `${SemanticColor}`;\n\n\t/**\n\t * Specifies if the component is selected.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected!: boolean;\n\n\t/**\n\t * Defines if the tab is movable.\n\t *\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tmovable!: boolean;\n\n\t@property({ type: Boolean })\n\tforcedSelected!: boolean;\n\n\t@property({ type: Boolean })\n\t_isTopLevelTab!: boolean;\n\n\t@property({ type: Object, defaultValue: null })\n\t_selectedTabReference!: Tab;\n\n\t/**\n\t * Holds the content associated with this tab.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: Node,\n\t\t\"default\": true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\tcontent!: Array<Node>;\n\n\t/**\n\t * Defines hierarchies with nested sub tabs.\n\t *\n\t * **Note:** Use `ui5-tab` and `ui5-tab-separator` for the intended design.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\titems!: Array<Tab | TabSeparator>\n\n\t_isInline?: boolean;\n\t_forcedMixedMode?: boolean;\n\t_getElementInStrip?: () => HTMLElement | undefined;\n\t_individualSlot!: string;\n\t_forcedPosinset?: number;\n\t_forcedSetsize?: number;\n\t_forcedStyleInOverflow?: Record<string, any>;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tset forcedTabIndex(val: string) {\n\t\tthis.getDomRefInStrip()!.setAttribute(\"tabindex\", val);\n\t}\n\n\tget forcedTabIndex() {\n\t\treturn this.getDomRefInStrip()!.getAttribute(\"tabindex\")!;\n\t}\n\n\tget displayText() {\n\t\tlet text = this.text;\n\n\t\tif (this._isInline && this.additionalText) {\n\t\t\ttext += ` (${this.additionalText})`;\n\t\t}\n\n\t\treturn text;\n\t}\n\n\tget isSeparator() {\n\t\treturn false;\n\t}\n\n\tget stripPresentation() {\n\t\treturn executeTemplate(Tab.stripTemplate, this);\n\t}\n\n\tget overflowPresentation() {\n\t\treturn executeTemplate(Tab.overflowTemplate, this);\n\t}\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n\n\tget requiresExpandButton() {\n\t\treturn this.items.length > 0 && this._isTopLevelTab && this.hasOwnContent;\n\t}\n\n\tget isSingleClickArea() {\n\t\treturn this.items.length > 0 && this._isTopLevelTab && !this.hasOwnContent;\n\t}\n\n\tget isTwoClickArea() {\n\t\treturn this.items.length > 0 && this._isTopLevelTab && this.hasOwnContent;\n\t}\n\n\tget isOnSelectedTabPath(): boolean {\n\t\treturn this._selectedTabReference === this || this.tabs.some(subTab => subTab.isOnSelectedTabPath);\n\t}\n\n\tget _effectiveSlotName() {\n\t\treturn this.isOnSelectedTabPath ? this._individualSlot : `disabled-${this._individualSlot}`;\n\t}\n\n\tget _defaultSlotName() {\n\t\treturn this._selectedTabReference === this ? \"\" : \"disabled-slot\";\n\t}\n\n\tget hasOwnContent() {\n\t\treturn willShowContent(this.content);\n\t}\n\n\treceiveStripInfo({\n\t\tgetElementInStrip, posinset, setsize, isInline, isTopLevelTab, mixedMode,\n\t}: TabContainerStripInfo) {\n\t\tthis._getElementInStrip = getElementInStrip;\n\t\tthis._forcedPosinset = posinset;\n\t\tthis._forcedSetsize = setsize;\n\t\tthis._forcedMixedMode = mixedMode;\n\t\tthis._isInline = isInline;\n\t\tthis._isTopLevelTab = !!isTopLevelTab;\n\t}\n\n\treceiveOverflowInfo({ style }: TabContainerOverflowInfo) {\n\t\tthis._forcedStyleInOverflow = style;\n\t}\n\n\t/**\n\t * Returns the DOM reference of the tab that is placed in the header.\n\t *\n\t * **Note:** Tabs, placed in the `items` slot of other tabs are not shown in the header. Calling this method on such tabs will return `undefined`.\n\t *\n\t * **Note:** If you need a DOM ref to the tab content please use the `getDomRef` method.\n\t * @public\n\t * @since 1.0.0-rc.16\n\t */\n\tgetDomRefInStrip(): HTMLElement | undefined {\n\t\treturn this._getElementInStrip?.();\n\t}\n\n\tgetFocusDomRef() {\n\t\tlet focusedDomRef = super.getFocusDomRef();\n\n\t\tif (this._getElementInStrip && this._getElementInStrip()) {\n\t\t\tfocusedDomRef = this._getElementInStrip()!;\n\t\t}\n\n\t\treturn focusedDomRef;\n\t}\n\n\tasync focus(focusOptions?: FocusOptions): Promise<void> {\n\t\tawait renderFinished();\n\t\treturn super.focus(focusOptions);\n\t}\n\n\tget isMixedModeTab() {\n\t\treturn !this.icon && this._forcedMixedMode;\n\t}\n\n\tget isTextOnlyTab() {\n\t\treturn !this.icon && !this._forcedMixedMode;\n\t}\n\n\tget isIconTab() {\n\t\treturn !!this.icon;\n\t}\n\n\tget effectiveDisabled() {\n\t\treturn this.disabled || undefined;\n\t}\n\n\tget effectiveSelected() {\n\t\tconst subItemSelected = this.tabs.some(elem => elem.effectiveSelected);\n\t\treturn this.selected || this.forcedSelected || subItemSelected;\n\t}\n\n\tget effectiveHidden() {\n\t\treturn !this.effectiveSelected;\n\t}\n\n\tget tabs(): Array<Tab> {\n\t\treturn this.items.filter((tab): tab is Tab => !tab.isSeparator);\n\t}\n\n\tget ariaLabelledBy() {\n\t\tconst labels = [];\n\n\t\tif (this.text) {\n\t\t\tlabels.push(`${this._id}-text`);\n\t\t}\n\n\t\tif (this.additionalText) {\n\t\t\tlabels.push(`${this._id}-additionalText`);\n\t\t}\n\n\t\tif (this.icon) {\n\t\t\tlabels.push(`${this._id}-icon`);\n\t\t}\n\n\t\tif (this._designDescription) {\n\t\t\tlabels.push(`${this._id}-designDescription`);\n\t\t}\n\n\t\treturn labels.join(\" \");\n\t}\n\n\tget stripClasses() {\n\t\tconst classes = [\"ui5-tab-strip-item\"];\n\n\t\tif (this.effectiveSelected) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--selected\");\n\t\t}\n\n\t\tif (this.disabled) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--disabled\");\n\t\t}\n\n\t\tif (this._isInline) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--inline\");\n\t\t}\n\n\t\tif (this.additionalText) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--withAdditionalText\");\n\t\t}\n\n\t\tif (!this.icon && !this._forcedMixedMode) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--textOnly\");\n\t\t}\n\n\t\tif (this.icon) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--withIcon\");\n\t\t}\n\n\t\tif (!this.icon && this._forcedMixedMode) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--mixedMode\");\n\t\t}\n\n\t\tif (this.design !== SemanticColor.Default) {\n\t\t\tclasses.push(`ui5-tab-strip-item--${this.design.toLowerCase()}`);\n\t\t}\n\n\t\tif (this.isSingleClickArea) {\n\t\t\tclasses.push(`ui5-tab-strip-item--singleClickArea`);\n\t\t}\n\n\t\tif (this.isTwoClickArea) {\n\t\t\tclasses.push(`ui5-tab-strip-item--twoClickArea`);\n\t\t}\n\n\t\treturn {\n\t\t\titemClasses: classes.join(\" \"),\n\t\t\tadditionalTextClasses: this.additionalTextClasses,\n\t\t};\n\t}\n\n\tget additionalTextClasses() {\n\t\tconst classes = [];\n\t\tif (this.additionalText) {\n\t\t\tclasses.push(\"ui5-tab-strip-itemAdditionalText\");\n\t\t}\n\n\t\tif (this.icon && !this.additionalText) {\n\t\t\tclasses.push(\"ui5-tab-strip-itemAdditionalText-hidden\");\n\t\t}\n\n\t\treturn classes.join(\" \");\n\t}\n\n\tget expandButtonTitle() {\n\t\treturn Tab.i18nBundle.getText(TABCONTAINER_END_OVERFLOW);\n\t}\n\n\tget _roleDescription() {\n\t\treturn this.items.length > 0 ? Tab.i18nBundle.getText(TAB_SPLIT_ROLE_DESCRIPTION) : undefined;\n\t}\n\n\tget _ariaHasPopup() {\n\t\treturn this.isSingleClickArea ? \"menu\" : undefined;\n\t}\n\n\tget semanticIconName() {\n\t\tswitch (this.design) {\n\t\tcase SemanticColor.Positive:\n\t\t\treturn \"sys-enter-2\";\n\t\tcase SemanticColor.Negative:\n\t\t\treturn \"error\";\n\t\tcase SemanticColor.Critical:\n\t\t\treturn \"alert\";\n\t\tdefault:\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tget _designDescription() {\n\t\tif (this.design === SemanticColor.Default) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn Tab.i18nBundle.getText(DESIGN_DESCRIPTIONS[this.design]);\n\t}\n\n\tget semanticIconClasses() {\n\t\tconst classes = [\"ui5-tab-semantic-icon\"];\n\n\t\tif (this.design !== SemanticColor.Default && this.design !== SemanticColor.Neutral) {\n\t\t\tclasses.push(`ui5-tab-semantic-icon--${this.design.toLowerCase()}`);\n\t\t}\n\n\t\treturn classes.join(\" \");\n\t}\n\n\tget overflowClasses() {\n\t\tconst classes = [\"ui5-tab-overflow-item\"];\n\n\t\tif (this.design !== SemanticColor.Default && this.design !== SemanticColor.Neutral) {\n\t\t\tclasses.push(`ui5-tab-overflow-item--${this.design.toLowerCase()}`);\n\t\t}\n\n\t\tif (this.effectiveDisabled) {\n\t\t\tclasses.push(\"ui5-tab-overflow-item--disabled\");\n\t\t}\n\n\t\tif (this.selected) {\n\t\t\tclasses.push(\"ui5-tab-overflow-item--selectedSubTab\");\n\t\t}\n\n\t\treturn classes.join(\" \");\n\t}\n\n\tget overflowState() {\n\t\treturn (this.disabled || this.isSingleClickArea) ? ListItemType.Inactive : ListItemType.Active;\n\t}\n\n\tstatic get stripTemplate() {\n\t\treturn TabInStripTemplate;\n\t}\n\n\tstatic get overflowTemplate() {\n\t\treturn TabInOverflowTemplate;\n\t}\n\n\tstatic async onDefine() {\n\t\tTab.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\t_ondragstart(e: DragEvent) {\n\t\tif (e.target instanceof HTMLElement) {\n\t\t\te.target.setAttribute(\"data-moving\", \"\");\n\t\t}\n\t}\n\n\t_ondragend(e: DragEvent) {\n\t\tif (e.target instanceof HTMLElement) {\n\t\t\te.target.removeAttribute(\"data-moving\");\n\t\t}\n\t}\n}\n\nTab.define();\n\nTabContainer.registerTabStyles(stripCss);\nTabContainer.registerTabStyles(draggableElementStyles);\nTabContainer.registerTabStyles(overflowCss);\n\nexport default Tab;\nexport type {\n\tTabInStrip,\n\tTabInOverflow,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Tab.js","sourceRoot":"","sources":["../src/Tab.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 type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport executeTemplate from \"@ui5/webcomponents-base/dist/renderer/executeTemplate.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport {\n\tTAB_ARIA_DESIGN_POSITIVE,\n\tTAB_ARIA_DESIGN_NEGATIVE,\n\tTAB_ARIA_DESIGN_CRITICAL,\n\tTAB_ARIA_DESIGN_NEUTRAL,\n\tTABCONTAINER_END_OVERFLOW,\n\tTAB_SPLIT_ROLE_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport SemanticColor from \"./types/SemanticColor.js\";\nimport ListItemType from \"./types/ListItemType.js\";\nimport TabContainer from \"./TabContainer.js\";\nimport type { TabContainerStripInfo, TabContainerOverflowInfo, ITab } from \"./TabContainer.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\nimport CustomListItem from \"./CustomListItem.js\";\n\n// Templates\nimport TabTemplate from \"./generated/templates/TabTemplate.lit.js\";\nimport TabInStripTemplate from \"./generated/templates/TabInStripTemplate.lit.js\";\nimport TabInOverflowTemplate from \"./generated/templates/TabInOverflowTemplate.lit.js\";\n\n// Styles\nimport css from \"./generated/themes/Tab.css.js\";\nimport stripCss from \"./generated/themes/TabInStrip.css.js\";\nimport draggableElementStyles from \"./generated/themes/DraggableElement.css.js\";\nimport overflowCss from \"./generated/themes/TabInOverflow.css.js\";\n\nconst DESIGN_DESCRIPTIONS = {\n\t[SemanticColor.Positive]: TAB_ARIA_DESIGN_POSITIVE,\n\t[SemanticColor.Negative]: TAB_ARIA_DESIGN_NEGATIVE,\n\t[SemanticColor.Neutral]: TAB_ARIA_DESIGN_NEUTRAL,\n\t[SemanticColor.Critical]: TAB_ARIA_DESIGN_CRITICAL,\n};\n\ninterface TabInStrip extends HTMLElement {\n\trealTabReference: Tab;\n}\n\ninterface TabInOverflow extends CustomListItem {\n\trealTabReference: Tab;\n}\n\n/**\n * @class\n * The `ui5-tab` represents a selectable item inside a `ui5-tabcontainer`.\n * It defines both the item in the tab strip (top part of the `ui5-tabcontainer`) and the\n * content that is presented to the user once the tab is selected.\n * @abstract\n * @constructor\n * @extends UI5Element\n * @implements {ITab}\n * @public\n */\n@customElement({\n\ttag: \"ui5-tab\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: TabTemplate,\n\tstyles: css,\n\tdependencies: [\n\t\tIcon,\n\t\tButton,\n\t\tCustomListItem,\n\t],\n})\nclass Tab extends UI5Element implements ITabbable, ITab {\n\t/**\n\t * The text to be displayed for the item.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ttext!: string;\n\n\t/**\n\t * Disabled tabs can't be selected.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Represents the \"additionalText\" text, which is displayed in the tab. In the cases when in the same time there are tabs with icons and tabs without icons, if a tab has no icon the \"additionalText\" is displayed larger.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tadditionalText!: string;\n\n\t/**\n\t * Defines the icon source URI to be displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous built-in icons.\n\t * See all the available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines the component's design color.\n\t *\n\t * The design is applied to:\n\t *\n\t * - the component icon\n\t * - the `text` when the component overflows\n\t * - the tab selection line\n\t *\n\t * Available designs are: `\"Default\"`, `\"Neutral\"`, `\"Positive\"`, `\"Critical\"` and `\"Negative\"`.\n\t *\n\t * **Note:** The design depends on the current theme.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property({ type: SemanticColor, defaultValue: SemanticColor.Default })\n\tdesign!: `${SemanticColor}`;\n\n\t/**\n\t * Specifies if the component is selected.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected!: boolean;\n\n\t/**\n\t * Defines if the tab is movable.\n\t *\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tmovable!: boolean;\n\n\t@property({ type: Boolean })\n\tforcedSelected!: boolean;\n\n\t@property({ type: Boolean })\n\t_isTopLevelTab!: boolean;\n\n\t@property({ type: Object, defaultValue: null })\n\t_selectedTabReference!: Tab;\n\n\t/**\n\t * Holds the content associated with this tab.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: Node,\n\t\t\"default\": true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\tcontent!: Array<Node>;\n\n\t/**\n\t * Defines hierarchies with nested sub tabs.\n\t *\n\t * **Note:** Use `ui5-tab` and `ui5-tab-separator` for the intended design.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\titems!: Array<ITab>\n\n\t_isInline?: boolean;\n\t_forcedMixedMode?: boolean;\n\t_getElementInStrip?: () => HTMLElement | undefined;\n\t_individualSlot!: string;\n\t_forcedPosinset?: number;\n\t_forcedSetsize?: number;\n\t_forcedStyleInOverflow?: Record<string, any>;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tset forcedTabIndex(val: string) {\n\t\tthis.getDomRefInStrip()!.setAttribute(\"tabindex\", val);\n\t}\n\n\tget forcedTabIndex() {\n\t\treturn this.getDomRefInStrip()!.getAttribute(\"tabindex\")!;\n\t}\n\n\tget displayText() {\n\t\tlet text = this.text;\n\n\t\tif (this._isInline && this.additionalText) {\n\t\t\ttext += ` (${this.additionalText})`;\n\t\t}\n\n\t\treturn text;\n\t}\n\n\tget isSeparator() {\n\t\treturn false;\n\t}\n\n\tget stripPresentation() {\n\t\treturn executeTemplate(Tab.stripTemplate, this);\n\t}\n\n\tget overflowPresentation() {\n\t\treturn executeTemplate(Tab.overflowTemplate, this);\n\t}\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n\n\tget requiresExpandButton() {\n\t\treturn this.items.length > 0 && this._isTopLevelTab && this.hasOwnContent;\n\t}\n\n\tget isSingleClickArea() {\n\t\treturn this.items.length > 0 && this._isTopLevelTab && !this.hasOwnContent;\n\t}\n\n\tget isTwoClickArea() {\n\t\treturn this.items.length > 0 && this._isTopLevelTab && this.hasOwnContent;\n\t}\n\n\tget isOnSelectedTabPath(): boolean {\n\t\treturn this._selectedTabReference === this || this.tabs.some(subTab => subTab.isOnSelectedTabPath);\n\t}\n\n\tget _effectiveSlotName() {\n\t\treturn this.isOnSelectedTabPath ? this._individualSlot : `disabled-${this._individualSlot}`;\n\t}\n\n\tget _defaultSlotName() {\n\t\treturn this._selectedTabReference === this ? \"\" : \"disabled-slot\";\n\t}\n\n\tget hasOwnContent() {\n\t\treturn willShowContent(this.content);\n\t}\n\n\treceiveStripInfo({\n\t\tgetElementInStrip, posinset, setsize, isInline, isTopLevelTab, mixedMode,\n\t}: TabContainerStripInfo) {\n\t\tthis._getElementInStrip = getElementInStrip;\n\t\tthis._forcedPosinset = posinset;\n\t\tthis._forcedSetsize = setsize;\n\t\tthis._forcedMixedMode = mixedMode;\n\t\tthis._isInline = isInline;\n\t\tthis._isTopLevelTab = !!isTopLevelTab;\n\t}\n\n\treceiveOverflowInfo({ style }: TabContainerOverflowInfo) {\n\t\tthis._forcedStyleInOverflow = style;\n\t}\n\n\t/**\n\t * Returns the DOM reference of the tab that is placed in the header.\n\t *\n\t * **Note:** Tabs, placed in the `items` slot of other tabs are not shown in the header. Calling this method on such tabs will return `undefined`.\n\t *\n\t * **Note:** If you need a DOM ref to the tab content please use the `getDomRef` method.\n\t * @public\n\t * @since 1.0.0-rc.16\n\t */\n\tgetDomRefInStrip(): HTMLElement | undefined {\n\t\treturn this._getElementInStrip?.();\n\t}\n\n\tgetFocusDomRef() {\n\t\tlet focusedDomRef = super.getFocusDomRef();\n\n\t\tif (this._getElementInStrip && this._getElementInStrip()) {\n\t\t\tfocusedDomRef = this._getElementInStrip()!;\n\t\t}\n\n\t\treturn focusedDomRef;\n\t}\n\n\tasync focus(focusOptions?: FocusOptions): Promise<void> {\n\t\tawait renderFinished();\n\t\treturn super.focus(focusOptions);\n\t}\n\n\tget isMixedModeTab() {\n\t\treturn !this.icon && this._forcedMixedMode;\n\t}\n\n\tget isTextOnlyTab() {\n\t\treturn !this.icon && !this._forcedMixedMode;\n\t}\n\n\tget isIconTab() {\n\t\treturn !!this.icon;\n\t}\n\n\tget effectiveDisabled() {\n\t\treturn this.disabled || undefined;\n\t}\n\n\tget effectiveSelected() {\n\t\tconst subItemSelected = this.tabs.some(elem => elem.effectiveSelected);\n\t\treturn this.selected || this.forcedSelected || subItemSelected;\n\t}\n\n\tget effectiveHidden() {\n\t\treturn !this.effectiveSelected;\n\t}\n\n\tget tabs(): Array<Tab> {\n\t\treturn this.items.filter((tab): tab is Tab => !tab.isSeparator);\n\t}\n\n\tget ariaLabelledBy() {\n\t\tconst labels = [];\n\n\t\tif (this.text) {\n\t\t\tlabels.push(`${this._id}-text`);\n\t\t}\n\n\t\tif (this.additionalText) {\n\t\t\tlabels.push(`${this._id}-additionalText`);\n\t\t}\n\n\t\tif (this.icon) {\n\t\t\tlabels.push(`${this._id}-icon`);\n\t\t}\n\n\t\tif (this._designDescription) {\n\t\t\tlabels.push(`${this._id}-designDescription`);\n\t\t}\n\n\t\treturn labels.join(\" \");\n\t}\n\n\tget stripClasses() {\n\t\tconst classes = [\"ui5-tab-strip-item\"];\n\n\t\tif (this.effectiveSelected) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--selected\");\n\t\t}\n\n\t\tif (this.disabled) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--disabled\");\n\t\t}\n\n\t\tif (this._isInline) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--inline\");\n\t\t}\n\n\t\tif (this.additionalText) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--withAdditionalText\");\n\t\t}\n\n\t\tif (!this.icon && !this._forcedMixedMode) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--textOnly\");\n\t\t}\n\n\t\tif (this.icon) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--withIcon\");\n\t\t}\n\n\t\tif (!this.icon && this._forcedMixedMode) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--mixedMode\");\n\t\t}\n\n\t\tif (this.design !== SemanticColor.Default) {\n\t\t\tclasses.push(`ui5-tab-strip-item--${this.design.toLowerCase()}`);\n\t\t}\n\n\t\tif (this.isSingleClickArea) {\n\t\t\tclasses.push(`ui5-tab-strip-item--singleClickArea`);\n\t\t}\n\n\t\tif (this.isTwoClickArea) {\n\t\t\tclasses.push(`ui5-tab-strip-item--twoClickArea`);\n\t\t}\n\n\t\treturn {\n\t\t\titemClasses: classes.join(\" \"),\n\t\t\tadditionalTextClasses: this.additionalTextClasses,\n\t\t};\n\t}\n\n\tget additionalTextClasses() {\n\t\tconst classes = [];\n\t\tif (this.additionalText) {\n\t\t\tclasses.push(\"ui5-tab-strip-itemAdditionalText\");\n\t\t}\n\n\t\tif (this.icon && !this.additionalText) {\n\t\t\tclasses.push(\"ui5-tab-strip-itemAdditionalText-hidden\");\n\t\t}\n\n\t\treturn classes.join(\" \");\n\t}\n\n\tget expandButtonTitle() {\n\t\treturn Tab.i18nBundle.getText(TABCONTAINER_END_OVERFLOW);\n\t}\n\n\tget _roleDescription() {\n\t\treturn this.items.length > 0 ? Tab.i18nBundle.getText(TAB_SPLIT_ROLE_DESCRIPTION) : undefined;\n\t}\n\n\tget _ariaHasPopup() {\n\t\treturn this.isSingleClickArea ? \"menu\" : undefined;\n\t}\n\n\tget semanticIconName() {\n\t\tswitch (this.design) {\n\t\tcase SemanticColor.Positive:\n\t\t\treturn \"sys-enter-2\";\n\t\tcase SemanticColor.Negative:\n\t\t\treturn \"error\";\n\t\tcase SemanticColor.Critical:\n\t\t\treturn \"alert\";\n\t\tdefault:\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tget _designDescription() {\n\t\tif (this.design === SemanticColor.Default) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn Tab.i18nBundle.getText(DESIGN_DESCRIPTIONS[this.design]);\n\t}\n\n\tget semanticIconClasses() {\n\t\tconst classes = [\"ui5-tab-semantic-icon\"];\n\n\t\tif (this.design !== SemanticColor.Default && this.design !== SemanticColor.Neutral) {\n\t\t\tclasses.push(`ui5-tab-semantic-icon--${this.design.toLowerCase()}`);\n\t\t}\n\n\t\treturn classes.join(\" \");\n\t}\n\n\tget overflowClasses() {\n\t\tconst classes = [\"ui5-tab-overflow-item\"];\n\n\t\tif (this.design !== SemanticColor.Default && this.design !== SemanticColor.Neutral) {\n\t\t\tclasses.push(`ui5-tab-overflow-item--${this.design.toLowerCase()}`);\n\t\t}\n\n\t\tif (this.effectiveDisabled) {\n\t\t\tclasses.push(\"ui5-tab-overflow-item--disabled\");\n\t\t}\n\n\t\tif (this.selected) {\n\t\t\tclasses.push(\"ui5-tab-overflow-item--selectedSubTab\");\n\t\t}\n\n\t\treturn classes.join(\" \");\n\t}\n\n\tget overflowState() {\n\t\treturn (this.disabled || this.isSingleClickArea) ? ListItemType.Inactive : ListItemType.Active;\n\t}\n\n\tstatic get stripTemplate() {\n\t\treturn TabInStripTemplate;\n\t}\n\n\tstatic get overflowTemplate() {\n\t\treturn TabInOverflowTemplate;\n\t}\n\n\tstatic async onDefine() {\n\t\tTab.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\t_ondragstart(e: DragEvent) {\n\t\tif (e.target instanceof HTMLElement) {\n\t\t\te.target.setAttribute(\"data-moving\", \"\");\n\t\t}\n\t}\n\n\t_ondragend(e: DragEvent) {\n\t\tif (e.target instanceof HTMLElement) {\n\t\t\te.target.removeAttribute(\"data-moving\");\n\t\t}\n\t}\n}\n\nTab.define();\n\nTabContainer.registerTabStyles(stripCss);\nTabContainer.registerTabStyles(draggableElementStyles);\nTabContainer.registerTabStyles(overflowCss);\n\nexport default Tab;\nexport type {\n\tTabInStrip,\n\tTabInOverflow,\n};\n"]}
|
package/dist/TabContainer.d.ts
CHANGED
|
@@ -10,7 +10,6 @@ import Button from "./Button.js";
|
|
|
10
10
|
import DropIndicator from "./DropIndicator.js";
|
|
11
11
|
import type Tab from "./Tab.js";
|
|
12
12
|
import type { TabInStrip, TabInOverflow } from "./Tab.js";
|
|
13
|
-
import type TabSeparator from "./TabSeparator.js";
|
|
14
13
|
import type { TabSeparatorInStrip } from "./TabSeparator.js";
|
|
15
14
|
import type { ListItemClickEventDetail, ListMoveEventDetail } from "./List.js";
|
|
16
15
|
import ResponsivePopover from "./ResponsivePopover.js";
|
|
@@ -44,6 +43,19 @@ type TabContainerMoveEventDetail = {
|
|
|
44
43
|
placement: `${MovePlacement}`;
|
|
45
44
|
};
|
|
46
45
|
};
|
|
46
|
+
/**
|
|
47
|
+
* Interface for components that may be slotted inside `ui5-tabcontainer` as items
|
|
48
|
+
*
|
|
49
|
+
* **Note:** Use directly `ui5-tab` or `ui5-tab-seprator`. Implementing the interface does not guarantee that the class can work as a tab.
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
52
|
+
interface ITab extends UI5Element {
|
|
53
|
+
isSeparator: boolean;
|
|
54
|
+
receiveStripInfo: (arg0: TabContainerStripInfo) => void;
|
|
55
|
+
receiveOverflowInfo: (arg0: TabContainerOverflowInfo) => void;
|
|
56
|
+
getDomRefInStrip: () => HTMLElement | undefined;
|
|
57
|
+
items?: Array<ITab>;
|
|
58
|
+
}
|
|
47
59
|
/**
|
|
48
60
|
* @class
|
|
49
61
|
*
|
|
@@ -149,7 +161,7 @@ declare class TabContainer extends UI5Element {
|
|
|
149
161
|
_contentCollapsed: boolean;
|
|
150
162
|
_startOverflowText: string;
|
|
151
163
|
_endOverflowText: string;
|
|
152
|
-
_popoverItemsFlat: Array<
|
|
164
|
+
_popoverItemsFlat: Array<ITab>;
|
|
153
165
|
_width?: number;
|
|
154
166
|
/**
|
|
155
167
|
* Defines the tabs.
|
|
@@ -157,7 +169,7 @@ declare class TabContainer extends UI5Element {
|
|
|
157
169
|
* **Note:** Use `ui5-tab` and `ui5-tab-separator` for the intended design.
|
|
158
170
|
* @public
|
|
159
171
|
*/
|
|
160
|
-
items: Array<
|
|
172
|
+
items: Array<ITab>;
|
|
161
173
|
/**
|
|
162
174
|
* Defines the button which will open the overflow menu. If nothing is provided to this slot,
|
|
163
175
|
* the default button will be used.
|
|
@@ -173,7 +185,7 @@ declare class TabContainer extends UI5Element {
|
|
|
173
185
|
*/
|
|
174
186
|
startOverflowButton: Array<IButton>;
|
|
175
187
|
_itemNavigation: ItemNavigation;
|
|
176
|
-
_itemsFlat?: Array<
|
|
188
|
+
_itemsFlat?: Array<ITab>;
|
|
177
189
|
responsivePopover?: ResponsivePopover;
|
|
178
190
|
_hasScheduledPopoverOpen: boolean;
|
|
179
191
|
_handleResizeBound: () => void;
|
|
@@ -187,7 +199,7 @@ declare class TabContainer extends UI5Element {
|
|
|
187
199
|
onExitDOM(): void;
|
|
188
200
|
_handleResize(): void;
|
|
189
201
|
_updateMediaRange(width: number): void;
|
|
190
|
-
_sendStripPresentationInfos(items: Array<
|
|
202
|
+
_sendStripPresentationInfos(items: Array<ITab>): void;
|
|
191
203
|
_onHeaderFocusin(e: FocusEvent): void;
|
|
192
204
|
_onDragStart(e: DragEvent): void;
|
|
193
205
|
_onHeaderDragEnter(e: DragEvent): void;
|
|
@@ -212,8 +224,8 @@ declare class TabContainer extends UI5Element {
|
|
|
212
224
|
* @public
|
|
213
225
|
* @default []
|
|
214
226
|
*/
|
|
215
|
-
get allItems(): Array<
|
|
216
|
-
_flatten(items: Array<
|
|
227
|
+
get allItems(): Array<ITab>;
|
|
228
|
+
_flatten(items: Array<ITab>): ITab[];
|
|
217
229
|
_onItemSelect(selectedTabId: string): void;
|
|
218
230
|
/**
|
|
219
231
|
* Fires the `tab-select` event and changes the internal reference for the currently selected tab.
|
|
@@ -227,8 +239,8 @@ declare class TabContainer extends UI5Element {
|
|
|
227
239
|
slideContentDown(element: HTMLElement): Promise<void | Error>;
|
|
228
240
|
slideContentUp(element: HTMLElement): Promise<void | Error>;
|
|
229
241
|
_onOverflowClick(e: Event): Promise<void>;
|
|
230
|
-
_setIndentLevels(items: Array<
|
|
231
|
-
_sendOverflowPresentationInfos(items: Array<
|
|
242
|
+
_setIndentLevels(items: Array<ITab>, level: number, extraIndent: boolean): void;
|
|
243
|
+
_sendOverflowPresentationInfos(items: Array<ITab>): void;
|
|
232
244
|
_onOverflowKeyDown(e: KeyboardEvent): Promise<void>;
|
|
233
245
|
_setItemsForStrip(): void;
|
|
234
246
|
_getRootTab(tab: Tab): Tab;
|
|
@@ -255,8 +267,8 @@ declare class TabContainer extends UI5Element {
|
|
|
255
267
|
_getHeader(): HTMLElement;
|
|
256
268
|
_getTabs(): Array<Tab>;
|
|
257
269
|
_getPopoverOwner(opener: HTMLElement): TabContainerPopoverOwner;
|
|
258
|
-
_getPopoverItemsFor(targetOwner: TabContainerPopoverOwner):
|
|
259
|
-
_setPopoverItems(items: Array<
|
|
270
|
+
_getPopoverItemsFor(targetOwner: TabContainerPopoverOwner): ITab[];
|
|
271
|
+
_setPopoverItems(items: Array<ITab>): void;
|
|
260
272
|
_togglePopover(opener: HTMLElement, setInitialFocus?: boolean): Promise<void>;
|
|
261
273
|
_showPopoverAt(opener: HTMLElement, setInitialFocus?: boolean, preventInitialFocus?: boolean): Promise<void>;
|
|
262
274
|
get hasItems(): boolean;
|
|
@@ -305,4 +317,4 @@ declare class TabContainer extends UI5Element {
|
|
|
305
317
|
static onDefine(): Promise<void>;
|
|
306
318
|
}
|
|
307
319
|
export default TabContainer;
|
|
308
|
-
export type { TabContainerTabSelectEventDetail, TabContainerMoveEventDetail, TabContainerStripInfo, TabContainerOverflowInfo, };
|
|
320
|
+
export type { TabContainerTabSelectEventDetail, TabContainerMoveEventDetail, TabContainerStripInfo, TabContainerOverflowInfo, ITab, };
|