@ui5/webcomponents 0.0.0-39bd3067f → 0.0.0-4180fe799
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 +610 -1
- package/README.md +144 -52
- package/csp.js +7 -0
- package/customI18n.js +50 -0
- package/dist/Assets-static.js +6 -0
- package/dist/Assets.js +2 -1
- package/dist/Avatar.js +197 -46
- package/dist/AvatarGroup.js +603 -0
- package/dist/Badge.js +44 -22
- package/dist/Breadcrumbs.js +563 -0
- package/dist/BreadcrumbsItem.js +109 -0
- package/dist/BusyIndicator.js +159 -20
- package/dist/Button.js +132 -69
- package/dist/Calendar.js +342 -546
- package/dist/CalendarDate.js +45 -0
- package/dist/CalendarHeader.js +133 -62
- package/dist/CalendarPart.js +111 -0
- package/dist/Card.js +44 -158
- package/dist/CardHeader.js +288 -0
- package/dist/Carousel.js +272 -76
- package/dist/CheckBox.js +149 -49
- package/dist/ColorPalette.js +493 -0
- package/dist/ColorPaletteItem.js +137 -0
- package/dist/ColorPalettePopover.js +219 -0
- package/dist/ColorPicker.js +524 -0
- package/dist/ComboBox.js +603 -94
- package/dist/ComboBoxFilters.js +8 -1
- package/dist/ComboBoxGroupItem.js +70 -0
- package/dist/ComboBoxItem.js +12 -24
- package/dist/CustomListItem.js +38 -9
- package/dist/DateComponentBase.js +170 -0
- package/dist/DatePicker.js +418 -403
- package/dist/DateRangePicker.js +328 -0
- package/dist/DateTimePicker.js +111 -384
- package/dist/DayPicker.js +509 -431
- package/dist/Dialog.js +497 -50
- package/dist/DurationPicker.js +170 -317
- package/dist/FileUploader.js +217 -24
- package/dist/GroupHeaderListItem.js +24 -19
- package/dist/Icon.js +197 -36
- package/dist/Input.js +660 -167
- package/dist/Interfaces.js +192 -0
- package/dist/Label.js +27 -12
- package/dist/Link.js +138 -28
- package/dist/List.js +501 -110
- package/dist/ListItem.js +110 -28
- package/dist/ListItemBase.js +42 -8
- package/dist/MessageStrip.js +56 -70
- package/dist/MonthPicker.js +180 -182
- package/dist/MultiComboBox.js +583 -207
- package/dist/MultiComboBoxItem.js +8 -5
- package/dist/MultiInput.js +301 -0
- package/dist/Option.js +48 -5
- package/dist/Panel.js +100 -37
- package/dist/Popover.js +255 -224
- package/dist/Popup.js +381 -284
- package/dist/ProgressIndicator.js +235 -0
- package/dist/RadioButton.js +131 -51
- package/dist/RadioButtonGroup.js +53 -29
- package/dist/RangeSlider.js +769 -0
- package/dist/RatingIndicator.js +291 -0
- package/dist/ResponsivePopover.js +73 -46
- package/dist/SegmentedButton.js +127 -60
- package/dist/SegmentedButtonItem.js +109 -0
- package/dist/Select.js +448 -107
- package/dist/Slider.js +320 -0
- package/dist/SliderBase.js +842 -0
- package/dist/StandardListItem.js +44 -22
- package/dist/StepInput.js +684 -0
- package/dist/SuggestionGroupItem.js +64 -0
- package/dist/SuggestionItem.js +37 -31
- package/dist/SuggestionListItem.js +76 -0
- package/dist/Switch.js +60 -42
- package/dist/Tab.js +55 -24
- package/dist/TabContainer.js +241 -82
- package/dist/TabSeparator.js +1 -0
- package/dist/Table.js +480 -35
- package/dist/TableCell.js +11 -13
- package/dist/TableColumn.js +13 -3
- package/dist/TableGroupRow.js +160 -0
- package/dist/TableRow.js +244 -18
- package/dist/TextArea.js +153 -55
- package/dist/TimePicker.js +55 -644
- package/dist/TimePickerBase.js +463 -0
- package/dist/TimeSelection.js +493 -0
- package/dist/Title.js +16 -9
- package/dist/Toast.js +24 -13
- package/dist/ToggleButton.js +21 -13
- package/dist/Token.js +84 -45
- package/dist/Tokenizer.js +246 -64
- package/dist/Tree.js +443 -0
- package/dist/TreeItem.js +168 -0
- package/dist/TreeListItem.js +332 -0
- package/dist/WheelSlider.js +79 -59
- package/dist/YearPicker.js +199 -255
- package/dist/api.json +6877 -1
- package/dist/features/ColorPaletteMoreColors.js +42 -0
- package/dist/features/InputElementsFormSupport.js +0 -1
- package/dist/features/InputSuggestions.js +276 -53
- package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cy.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_in.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_TW.json +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 -0
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -0
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -0
- package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -0
- package/dist/generated/i18n/i18n-defaults.js +2 -2
- package/dist/generated/json-imports/Themes-static.js +35 -0
- package/dist/generated/json-imports/Themes.js +23 -15
- package/dist/generated/json-imports/i18n-static.js +162 -0
- package/dist/generated/json-imports/i18n.js +113 -89
- package/dist/generated/templates/AvatarGroupTemplate.lit.js +9 -0
- package/dist/generated/templates/AvatarTemplate.lit.js +9 -9
- package/dist/generated/templates/BadgeTemplate.lit.js +5 -6
- package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +8 -0
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js +9 -0
- package/dist/generated/templates/BusyIndicatorTemplate.lit.js +7 -6
- package/dist/generated/templates/ButtonTemplate.lit.js +6 -6
- package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -4
- package/dist/generated/templates/CalendarTemplate.lit.js +4 -4
- package/dist/generated/templates/CardHeaderTemplate.lit.js +12 -0
- package/dist/generated/templates/CardTemplate.lit.js +5 -8
- package/dist/generated/templates/CarouselTemplate.lit.js +13 -12
- package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -7
- package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +7 -0
- package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +7 -0
- package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +8 -0
- package/dist/generated/templates/ColorPaletteTemplate.lit.js +12 -0
- package/dist/generated/templates/ColorPickerTemplate.lit.js +7 -0
- package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +20 -5
- package/dist/generated/templates/ComboBoxTemplate.lit.js +8 -6
- package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -13
- package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -6
- package/dist/generated/templates/DatePickerTemplate.lit.js +6 -5
- package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +9 -12
- package/dist/generated/templates/DayPickerTemplate.lit.js +13 -11
- package/dist/generated/templates/DialogTemplate.lit.js +9 -8
- package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +10 -0
- package/dist/generated/templates/FileUploaderTemplate.lit.js +7 -7
- package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -4
- package/dist/generated/templates/IconTemplate.lit.js +6 -6
- package/dist/generated/templates/InputPopoverTemplate.lit.js +24 -23
- package/dist/generated/templates/InputTemplate.lit.js +9 -8
- package/dist/generated/templates/LabelTemplate.lit.js +4 -4
- package/dist/generated/templates/LinkTemplate.lit.js +5 -5
- package/dist/generated/templates/ListItemTemplate.lit.js +13 -13
- package/dist/generated/templates/ListTemplate.lit.js +12 -9
- package/dist/generated/templates/MessageStripTemplate.lit.js +6 -27
- package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -6
- package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -7
- package/dist/generated/templates/MultiComboBoxTemplate.lit.js +10 -8
- package/dist/generated/templates/MultiInputTemplate.lit.js +16 -0
- package/dist/generated/templates/PanelTemplate.lit.js +9 -6
- package/dist/generated/templates/PopoverTemplate.lit.js +9 -9
- package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +7 -0
- package/dist/generated/templates/PopupTemplate.lit.js +4 -4
- package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +17 -0
- package/dist/generated/templates/RadioButtonTemplate.lit.js +7 -7
- package/dist/generated/templates/RangeSliderTemplate.lit.js +13 -0
- package/dist/generated/templates/RatingIndicatorTemplate.lit.js +14 -0
- package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +16 -14
- package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
- package/dist/generated/templates/SegmentedButtonTemplate.lit.js +4 -11
- package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -6
- package/dist/generated/templates/SelectTemplate.lit.js +6 -5
- package/dist/generated/templates/SliderBaseTemplate.lit.js +11 -0
- package/dist/generated/templates/SliderTemplate.lit.js +12 -0
- package/dist/generated/templates/StandardListItemTemplate.lit.js +21 -19
- package/dist/generated/templates/StepInputTemplate.lit.js +10 -0
- package/dist/generated/templates/SuggestionListItemTemplate.lit.js +27 -0
- package/dist/generated/templates/SwitchTemplate.lit.js +8 -6
- package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +6 -6
- package/dist/generated/templates/TabContainerTemplate.lit.js +16 -14
- package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -17
- package/dist/generated/templates/TabInStripTemplate.lit.js +6 -30
- package/dist/generated/templates/TabSeparatorTemplate.lit.js +4 -4
- package/dist/generated/templates/TabTemplate.lit.js +4 -4
- package/dist/generated/templates/TableCellTemplate.lit.js +4 -4
- package/dist/generated/templates/TableColumnTemplate.lit.js +4 -4
- package/dist/generated/templates/TableGroupRowTemplate.lit.js +7 -0
- package/dist/generated/templates/TableRowTemplate.lit.js +12 -10
- package/dist/generated/templates/TableTemplate.lit.js +13 -8
- package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +8 -8
- package/dist/generated/templates/TextAreaTemplate.lit.js +8 -8
- package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -8
- package/dist/generated/templates/TimePickerTemplate.lit.js +6 -5
- package/dist/generated/templates/TimeSelectionTemplate.lit.js +11 -0
- package/dist/generated/templates/TitleTemplate.lit.js +10 -10
- package/dist/generated/templates/ToastTemplate.lit.js +5 -4
- package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -6
- package/dist/generated/templates/TokenTemplate.lit.js +7 -5
- package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +12 -0
- package/dist/generated/templates/TokenizerTemplate.lit.js +6 -6
- package/dist/generated/templates/TreeListItemTemplate.lit.js +21 -0
- package/dist/generated/templates/TreeTemplate.lit.js +8 -0
- package/dist/generated/templates/WheelSliderTemplate.lit.js +7 -7
- package/dist/generated/templates/YearPickerTemplate.lit.js +6 -6
- package/dist/generated/themes/Avatar.css.js +5 -5
- package/dist/generated/themes/AvatarGroup.css.js +8 -0
- package/dist/generated/themes/Badge.css.js +5 -5
- package/dist/generated/themes/Breadcrumbs.css.js +8 -0
- package/dist/generated/themes/BreadcrumbsPopover.css.js +8 -0
- package/dist/generated/themes/BrowserScrollbar.css.js +8 -0
- package/dist/generated/themes/BusyIndicator.css.js +5 -5
- package/dist/generated/themes/Button.css.js +5 -5
- package/dist/generated/themes/Button.ie11.css.js +8 -0
- package/dist/generated/themes/Calendar.css.js +5 -5
- package/dist/generated/themes/CalendarHeader.css.js +5 -5
- package/dist/generated/themes/Card.css.js +5 -5
- package/dist/generated/themes/CardHeader.css.js +8 -0
- package/dist/generated/themes/Carousel.css.js +5 -5
- package/dist/generated/themes/CheckBox.css.js +5 -5
- package/dist/generated/themes/ColorPalette.css.js +8 -0
- package/dist/generated/themes/ColorPaletteItem.css.js +8 -0
- package/dist/generated/themes/ColorPalettePopover.css.js +8 -0
- package/dist/generated/themes/ColorPaletteStaticArea.css.js +8 -0
- package/dist/generated/themes/ColorPicker.css.js +8 -0
- package/dist/generated/themes/ComboBox.css.js +5 -5
- package/dist/generated/themes/ComboBoxPopover.css.js +5 -5
- package/dist/generated/themes/CustomListItem.css.js +5 -5
- package/dist/generated/themes/DatePicker.css.js +5 -5
- package/dist/generated/themes/DatePickerPopover.css.js +5 -5
- package/dist/generated/themes/DateRangePicker.css.js +8 -0
- package/dist/generated/themes/DateTimePicker.css.js +8 -0
- package/dist/generated/themes/DateTimePickerPopover.css.js +5 -5
- package/dist/generated/themes/DayPicker.css.js +5 -5
- package/dist/generated/themes/Dialog.css.js +5 -5
- package/dist/generated/themes/FileUploader.css.js +5 -5
- package/dist/generated/themes/GroupHeaderListItem.css.js +5 -5
- package/dist/generated/themes/GrowingButton.css.js +8 -0
- package/dist/generated/themes/Icon.css.js +5 -5
- package/dist/generated/themes/Input.css.js +5 -5
- package/dist/generated/themes/InputIcon.css.js +5 -5
- package/dist/generated/themes/InvisibleTextStyles.css.js +5 -5
- package/dist/generated/themes/Label.css.js +5 -5
- package/dist/generated/themes/Link.css.js +5 -5
- package/dist/generated/themes/List.css.js +5 -5
- package/dist/generated/themes/ListItem.css.js +5 -5
- package/dist/generated/themes/ListItemBase.css.js +5 -5
- package/dist/generated/themes/MessageStrip.css.js +5 -5
- package/dist/generated/themes/MonthPicker.css.js +5 -5
- package/dist/generated/themes/MultiComboBox.css.js +5 -5
- package/dist/generated/themes/MultiInput.css.js +8 -0
- package/dist/generated/themes/Panel.css.js +5 -5
- package/dist/generated/themes/Popover.css.js +5 -5
- package/dist/generated/themes/Popup.css.js +5 -5
- package/dist/generated/themes/PopupGlobal.css.js +8 -0
- package/dist/generated/themes/PopupStaticAreaStyles.css.js +8 -0
- package/dist/generated/themes/PopupsCommon.css.js +8 -0
- package/dist/generated/themes/ProgressIndicator.css.js +8 -0
- package/dist/generated/themes/RadioButton.css.js +5 -5
- package/dist/generated/themes/RatingIndicator.css.js +8 -0
- package/dist/generated/themes/ResponsivePopover.css.js +5 -5
- package/dist/generated/themes/ResponsivePopoverCommon.css.js +5 -5
- package/dist/generated/themes/SegmentedButton.css.js +5 -5
- package/dist/generated/themes/Select.css.js +5 -5
- package/dist/generated/themes/SelectPopover.css.js +8 -0
- package/dist/generated/themes/SliderBase.css.js +8 -0
- package/dist/generated/themes/StepInput.css.js +8 -0
- package/dist/generated/themes/Suggestions.css.js +8 -0
- package/dist/generated/themes/Switch.css.js +5 -5
- package/dist/generated/themes/Tab.css.js +5 -5
- package/dist/generated/themes/TabContainer.css.js +5 -5
- package/dist/generated/themes/TabInOverflow.css.js +5 -5
- package/dist/generated/themes/TabInStrip.css.js +5 -5
- package/dist/generated/themes/Table.css.js +5 -5
- package/dist/generated/themes/TableCell.css.js +5 -5
- package/dist/generated/themes/TableColumn.css.js +5 -5
- package/dist/generated/themes/TableGroupRow.css.js +8 -0
- package/dist/generated/themes/TableRow.css.js +5 -5
- package/dist/generated/themes/TapHighlightColor.css.js +8 -0
- package/dist/generated/themes/TextArea.css.js +5 -5
- package/dist/generated/themes/TimePicker.css.js +5 -5
- package/dist/generated/themes/TimePickerPopover.css.js +5 -5
- package/dist/generated/themes/TimeSelection.css.js +8 -0
- package/dist/generated/themes/Title.css.js +5 -5
- package/dist/generated/themes/Toast.css.js +5 -5
- package/dist/generated/themes/ToggleButton.css.js +5 -5
- package/dist/generated/themes/ToggleButton.ie11.css.js +8 -0
- package/dist/generated/themes/Token.css.js +5 -5
- package/dist/generated/themes/Tokenizer.css.js +5 -5
- package/dist/generated/themes/Tree.css.js +8 -0
- package/dist/generated/themes/TreeListItem.css.js +8 -0
- package/dist/generated/themes/ValueStateMessage.css.js +5 -5
- package/dist/generated/themes/WheelSlider.css.js +5 -5
- package/dist/generated/themes/YearPicker.css.js +5 -5
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -0
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -0
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -0
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -0
- package/dist/i18n/messagebundle.properties +335 -0
- package/dist/i18n/messagebundle_ar.properties +224 -0
- package/dist/i18n/messagebundle_bg.properties +224 -0
- package/dist/i18n/messagebundle_ca.properties +224 -0
- package/dist/i18n/messagebundle_cs.properties +224 -0
- package/dist/i18n/messagebundle_cy.properties +224 -0
- package/dist/i18n/messagebundle_da.properties +224 -0
- package/dist/i18n/messagebundle_de.properties +224 -0
- package/dist/i18n/messagebundle_el.properties +224 -0
- package/dist/i18n/messagebundle_en.properties +224 -0
- package/dist/i18n/messagebundle_en_GB.properties +224 -0
- package/dist/i18n/messagebundle_en_US_sappsd.properties +224 -0
- package/dist/i18n/messagebundle_en_US_saprigi.properties +224 -0
- package/dist/i18n/messagebundle_en_US_saptrc.properties +224 -0
- package/dist/i18n/messagebundle_es.properties +224 -0
- package/dist/i18n/messagebundle_es_MX.properties +224 -0
- package/dist/i18n/messagebundle_et.properties +224 -0
- package/dist/i18n/messagebundle_fi.properties +224 -0
- package/dist/i18n/messagebundle_fr.properties +224 -0
- package/dist/i18n/messagebundle_fr_CA.properties +224 -0
- package/dist/i18n/messagebundle_hi.properties +224 -0
- package/dist/i18n/messagebundle_hr.properties +224 -0
- package/dist/i18n/messagebundle_hu.properties +224 -0
- package/dist/i18n/messagebundle_id.properties +224 -0
- package/dist/i18n/messagebundle_in.properties +172 -0
- package/dist/i18n/messagebundle_it.properties +224 -0
- package/dist/i18n/messagebundle_iw.properties +224 -0
- package/dist/i18n/messagebundle_ja.properties +224 -0
- package/dist/i18n/messagebundle_kk.properties +224 -0
- package/dist/i18n/messagebundle_ko.properties +224 -0
- package/dist/i18n/messagebundle_lt.properties +224 -0
- package/dist/i18n/messagebundle_lv.properties +224 -0
- package/dist/i18n/messagebundle_ms.properties +224 -0
- package/dist/i18n/messagebundle_nl.properties +224 -0
- package/dist/i18n/messagebundle_no.properties +224 -0
- package/dist/i18n/messagebundle_pl.properties +224 -0
- package/dist/i18n/messagebundle_pt.properties +224 -0
- package/dist/i18n/messagebundle_pt_PT.properties +224 -0
- package/dist/i18n/messagebundle_ro.properties +224 -0
- package/dist/i18n/messagebundle_ru.properties +224 -0
- package/dist/i18n/messagebundle_sh.properties +224 -0
- package/dist/i18n/messagebundle_sk.properties +224 -0
- package/dist/i18n/messagebundle_sl.properties +224 -0
- package/dist/i18n/messagebundle_sv.properties +224 -0
- package/dist/i18n/messagebundle_th.properties +224 -0
- package/dist/i18n/messagebundle_tr.properties +224 -0
- package/dist/i18n/messagebundle_uk.properties +224 -0
- package/dist/i18n/messagebundle_vi.properties +224 -0
- package/dist/i18n/messagebundle_zh_CN.properties +224 -0
- package/dist/i18n/messagebundle_zh_TW.properties +224 -0
- package/dist/popup-utils/OpenedPopupsRegistry.js +18 -13
- package/dist/popup-utils/PopoverRegistry.js +55 -21
- package/dist/timepicker-utils/TimeSlider.js +15 -13
- package/dist/types/{AvatarBackgroundColor.js → AvatarColorScheme.js} +9 -9
- package/dist/types/AvatarGroupType.js +43 -0
- package/dist/types/AvatarShape.js +1 -1
- package/dist/types/AvatarSize.js +1 -1
- package/dist/types/BreadcrumbsDesign.js +42 -0
- package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
- package/dist/types/BusyIndicatorSize.js +1 -1
- package/dist/types/ButtonDesign.js +8 -1
- package/dist/types/CalendarSelectionMode.js +47 -0
- package/dist/types/CarouselArrowsPlacement.js +3 -3
- package/dist/types/GrowingMode.js +48 -0
- package/dist/types/InputType.js +7 -7
- package/dist/types/LinkDesign.js +1 -1
- package/dist/types/ListGrowingMode.js +15 -0
- package/dist/types/ListItemType.js +2 -2
- package/dist/types/ListMode.js +9 -1
- package/dist/types/ListSeparators.js +1 -1
- package/dist/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
- package/dist/types/PanelAccessibleRole.js +1 -1
- package/dist/types/PopoverHorizontalAlign.js +1 -1
- package/dist/types/PopoverPlacementType.js +2 -2
- package/dist/types/PopoverVerticalAlign.js +1 -2
- package/dist/types/Priority.js +55 -0
- package/dist/types/SemanticColor.js +1 -1
- package/dist/types/SwitchDesign.js +40 -0
- package/dist/types/TabContainerTabsPlacement.js +5 -5
- package/dist/types/TabLayout.js +1 -1
- package/dist/types/TableGrowingMode.js +15 -0
- package/dist/types/TableMode.js +47 -0
- package/dist/types/TableRowType.js +40 -0
- package/dist/types/TitleLevel.js +1 -1
- package/dist/types/ToastPlacement.js +1 -2
- package/dist/types/WrappingType.js +41 -0
- package/dist/webcomponentsjs/CHANGELOG.md +61 -0
- package/dist/webcomponentsjs/README.md +64 -47
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js +38 -38
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +1 -1
- package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js +60 -0
- package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +1 -0
- package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js +95 -0
- package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js.map +1 -0
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +292 -229
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +1 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +190 -170
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +1 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js +151 -132
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +1 -1
- package/dist/webcomponentsjs/custom-elements-es5-adapter.js +2 -2
- package/dist/webcomponentsjs/webcomponents-bundle.js +302 -230
- package/dist/webcomponentsjs/webcomponents-bundle.js.map +1 -1
- package/dist/webcomponentsjs/webcomponents-loader.js +49 -28
- package/package-scripts.js +1 -0
- package/package.json +23 -6
- package/src/Assets-static.js +6 -0
- package/src/Assets.js +7 -0
- package/src/Avatar.hbs +20 -0
- package/src/Avatar.js +392 -0
- package/src/AvatarGroup.hbs +30 -0
- package/src/AvatarGroup.js +603 -0
- package/src/Badge.hbs +14 -0
- package/src/Badge.js +165 -0
- package/src/Breadcrumbs.hbs +42 -0
- package/src/Breadcrumbs.js +563 -0
- package/src/BreadcrumbsItem.js +109 -0
- package/src/BreadcrumbsPopover.hbs +28 -0
- package/src/BusyIndicator.hbs +32 -0
- package/src/BusyIndicator.js +269 -0
- package/src/Button.hbs +45 -0
- package/src/Button.js +463 -0
- package/src/Calendar.hbs +69 -0
- package/src/Calendar.js +489 -0
- package/src/CalendarDate.js +45 -0
- package/src/CalendarHeader.hbs +54 -0
- package/src/CalendarHeader.js +209 -0
- package/src/CalendarPart.js +111 -0
- package/src/Card.hbs +14 -0
- package/src/Card.js +160 -0
- package/src/CardHeader.hbs +35 -0
- package/src/CardHeader.js +288 -0
- package/src/Carousel.hbs +85 -0
- package/src/Carousel.js +681 -0
- package/src/CheckBox.hbs +44 -0
- package/src/CheckBox.js +424 -0
- package/src/ColorPalette.hbs +52 -0
- package/src/ColorPalette.js +493 -0
- package/src/ColorPaletteDialog.hbs +18 -0
- package/src/ColorPaletteItem.hbs +11 -0
- package/src/ColorPaletteItem.js +137 -0
- package/src/ColorPalettePopover.hbs +29 -0
- package/src/ColorPalettePopover.js +219 -0
- package/src/ColorPicker.hbs +98 -0
- package/src/ColorPicker.js +524 -0
- package/src/ComboBox.hbs +49 -0
- package/src/ComboBox.js +1041 -0
- package/src/ComboBoxFilters.js +40 -0
- package/src/ComboBoxGroupItem.js +70 -0
- package/src/ComboBoxItem.js +49 -0
- package/src/ComboBoxPopover.hbs +125 -0
- package/src/CustomListItem.hbs +5 -0
- package/src/CustomListItem.js +99 -0
- package/src/DateComponentBase.js +170 -0
- package/src/DatePicker.hbs +44 -0
- package/src/DatePicker.js +823 -0
- package/src/DatePickerPopover.hbs +63 -0
- package/src/DateRangePicker.js +328 -0
- package/src/DateTimePicker.js +430 -0
- package/src/DateTimePickerPopover.hbs +74 -0
- package/src/DayPicker.hbs +66 -0
- package/src/DayPicker.js +754 -0
- package/src/Dialog.hbs +35 -0
- package/src/Dialog.js +601 -0
- package/src/DurationPicker.js +312 -0
- package/src/FileUploader.hbs +40 -0
- package/src/FileUploader.js +532 -0
- package/src/FileUploaderPopover.hbs +25 -0
- package/src/GroupHeaderListItem.hbs +15 -0
- package/src/GroupHeaderListItem.js +94 -0
- package/src/Icon.hbs +25 -0
- package/src/Icon.js +373 -0
- package/src/Input.hbs +78 -0
- package/src/Input.js +1381 -0
- package/src/InputPopover.hbs +118 -0
- package/src/Interfaces.js +192 -0
- package/src/Label.hbs +13 -0
- package/src/Label.js +152 -0
- package/src/Link.hbs +20 -0
- package/src/Link.js +349 -0
- package/src/List.hbs +89 -0
- package/src/List.js +1056 -0
- package/src/ListItem.hbs +102 -0
- package/src/ListItem.js +371 -0
- package/src/ListItemBase.js +179 -0
- package/src/MessageStrip.hbs +34 -0
- package/src/MessageStrip.js +227 -0
- package/src/MonthPicker.hbs +29 -0
- package/src/MonthPicker.js +299 -0
- package/src/MultiComboBox.hbs +78 -0
- package/src/MultiComboBox.js +1091 -0
- package/src/MultiComboBoxItem.js +43 -0
- package/src/MultiComboBoxPopover.hbs +133 -0
- package/src/MultiInput.hbs +41 -0
- package/src/MultiInput.js +301 -0
- package/src/Option.js +115 -0
- package/src/Panel.hbs +63 -0
- package/src/Panel.js +462 -0
- package/src/Popover.hbs +25 -0
- package/src/Popover.js +786 -0
- package/src/Popup.hbs +34 -0
- package/src/Popup.js +567 -0
- package/src/PopupBlockLayer.hbs +7 -0
- package/src/ProgressIndicator.hbs +35 -0
- package/src/ProgressIndicator.js +235 -0
- package/src/RadioButton.hbs +33 -0
- package/src/RadioButton.js +494 -0
- package/src/RadioButtonGroup.js +205 -0
- package/src/RangeSlider.hbs +70 -0
- package/src/RangeSlider.js +769 -0
- package/src/RatingIndicator.hbs +33 -0
- package/src/RatingIndicator.js +291 -0
- package/src/ResponsivePopover.hbs +39 -0
- package/src/ResponsivePopover.js +206 -0
- package/src/SegmentedButton.hbs +17 -0
- package/src/SegmentedButton.js +290 -0
- package/src/SegmentedButtonItem.hbs +42 -0
- package/src/SegmentedButtonItem.js +109 -0
- package/src/Select.hbs +45 -0
- package/src/Select.js +834 -0
- package/src/SelectPopover.hbs +89 -0
- package/src/Slider.hbs +42 -0
- package/src/Slider.js +320 -0
- package/src/SliderBase.hbs +38 -0
- package/src/SliderBase.js +842 -0
- package/src/StandardListItem.hbs +44 -0
- package/src/StandardListItem.js +191 -0
- package/src/StepInput.hbs +80 -0
- package/src/StepInput.js +684 -0
- package/src/SuggestionGroupItem.js +64 -0
- package/src/SuggestionItem.js +146 -0
- package/src/SuggestionListItem.hbs +33 -0
- package/src/SuggestionListItem.js +76 -0
- package/src/Switch.hbs +50 -0
- package/src/Switch.js +262 -0
- package/src/Tab.hbs +3 -0
- package/src/Tab.js +334 -0
- package/src/TabContainer.hbs +93 -0
- package/src/TabContainer.js +679 -0
- package/src/TabContainerPopover.hbs +24 -0
- package/src/TabInOverflow.hbs +22 -0
- package/src/TabInStrip.hbs +43 -0
- package/src/TabSeparator.hbs +1 -0
- package/src/TabSeparator.js +44 -0
- package/src/Table.hbs +99 -0
- package/src/Table.js +761 -0
- package/src/TableCell.hbs +7 -0
- package/src/TableCell.js +88 -0
- package/src/TableColumn.hbs +8 -0
- package/src/TableColumn.js +136 -0
- package/src/TableGroupRow.hbs +12 -0
- package/src/TableGroupRow.js +160 -0
- package/src/TableRow.hbs +61 -0
- package/src/TableRow.js +388 -0
- package/src/TextArea.hbs +50 -0
- package/src/TextArea.js +691 -0
- package/src/TextAreaPopover.hbs +28 -0
- package/src/TimePicker.hbs +35 -0
- package/src/TimePicker.js +166 -0
- package/src/TimePickerBase.js +463 -0
- package/src/TimePickerPopover.hbs +34 -0
- package/src/TimeSelection.hbs +60 -0
- package/src/TimeSelection.js +493 -0
- package/src/Title.hbs +47 -0
- package/src/Title.js +132 -0
- package/src/Toast.hbs +13 -0
- package/src/Toast.js +243 -0
- package/src/ToggleButton.hbs +5 -0
- package/src/ToggleButton.js +84 -0
- package/src/Token.hbs +30 -0
- package/src/Token.js +219 -0
- package/src/Tokenizer.hbs +27 -0
- package/src/Tokenizer.js +414 -0
- package/src/TokenizerPopover.hbs +50 -0
- package/src/Tree.hbs +42 -0
- package/src/Tree.js +443 -0
- package/src/TreeItem.js +168 -0
- package/src/TreeListItem.hbs +48 -0
- package/src/TreeListItem.js +332 -0
- package/src/WheelSlider.hbs +48 -0
- package/src/WheelSlider.js +435 -0
- package/src/YearPicker.hbs +27 -0
- package/src/YearPicker.js +324 -0
- package/src/features/ColorPaletteMoreColors.js +42 -0
- package/src/features/InputElementsFormSupport.js +88 -0
- package/src/features/InputSuggestions.js +530 -0
- package/src/i18n/messagebundle.properties +335 -0
- package/src/i18n/messagebundle_ar.properties +224 -0
- package/src/i18n/messagebundle_bg.properties +224 -0
- package/src/i18n/messagebundle_ca.properties +224 -0
- package/src/i18n/messagebundle_cs.properties +224 -0
- package/src/i18n/messagebundle_cy.properties +224 -0
- package/src/i18n/messagebundle_da.properties +224 -0
- package/src/i18n/messagebundle_de.properties +224 -0
- package/src/i18n/messagebundle_el.properties +224 -0
- package/src/i18n/messagebundle_en.properties +224 -0
- package/src/i18n/messagebundle_en_GB.properties +224 -0
- package/src/i18n/messagebundle_en_US_sappsd.properties +224 -0
- package/src/i18n/messagebundle_en_US_saprigi.properties +224 -0
- package/src/i18n/messagebundle_en_US_saptrc.properties +224 -0
- package/src/i18n/messagebundle_es.properties +224 -0
- package/src/i18n/messagebundle_es_MX.properties +224 -0
- package/src/i18n/messagebundle_et.properties +224 -0
- package/src/i18n/messagebundle_fi.properties +224 -0
- package/src/i18n/messagebundle_fr.properties +224 -0
- package/src/i18n/messagebundle_fr_CA.properties +224 -0
- package/src/i18n/messagebundle_hi.properties +224 -0
- package/src/i18n/messagebundle_hr.properties +224 -0
- package/src/i18n/messagebundle_hu.properties +224 -0
- package/src/i18n/messagebundle_id.properties +224 -0
- package/src/i18n/messagebundle_in.properties +172 -0
- package/src/i18n/messagebundle_it.properties +224 -0
- package/src/i18n/messagebundle_iw.properties +224 -0
- package/src/i18n/messagebundle_ja.properties +224 -0
- package/src/i18n/messagebundle_kk.properties +224 -0
- package/src/i18n/messagebundle_ko.properties +224 -0
- package/src/i18n/messagebundle_lt.properties +224 -0
- package/src/i18n/messagebundle_lv.properties +224 -0
- package/src/i18n/messagebundle_ms.properties +224 -0
- package/src/i18n/messagebundle_nl.properties +224 -0
- package/src/i18n/messagebundle_no.properties +224 -0
- package/src/i18n/messagebundle_pl.properties +224 -0
- package/src/i18n/messagebundle_pt.properties +224 -0
- package/src/i18n/messagebundle_pt_PT.properties +224 -0
- package/src/i18n/messagebundle_ro.properties +224 -0
- package/src/i18n/messagebundle_ru.properties +224 -0
- package/src/i18n/messagebundle_sh.properties +224 -0
- package/src/i18n/messagebundle_sk.properties +224 -0
- package/src/i18n/messagebundle_sl.properties +224 -0
- package/src/i18n/messagebundle_sv.properties +224 -0
- package/src/i18n/messagebundle_th.properties +224 -0
- package/src/i18n/messagebundle_tr.properties +224 -0
- package/src/i18n/messagebundle_uk.properties +224 -0
- package/src/i18n/messagebundle_vi.properties +224 -0
- package/src/i18n/messagebundle_zh_CN.properties +224 -0
- package/src/i18n/messagebundle_zh_TW.properties +224 -0
- package/src/popup-utils/OpenedPopupsRegistry.js +50 -0
- package/src/popup-utils/PopoverRegistry.js +145 -0
- package/src/timepicker-utils/TimeSlider.js +103 -0
- package/src/types/AvatarColorScheme.js +104 -0
- package/src/types/AvatarGroupType.js +43 -0
- package/src/types/AvatarShape.js +41 -0
- package/src/types/AvatarSize.js +67 -0
- package/src/types/BreadcrumbsDesign.js +42 -0
- package/src/types/BreadcrumbsSeparatorStyle.js +69 -0
- package/src/types/BusyIndicatorSize.js +47 -0
- package/src/types/ButtonDesign.js +68 -0
- package/src/types/CalendarSelectionMode.js +47 -0
- package/src/types/CarouselArrowsPlacement.js +40 -0
- package/src/types/GrowingMode.js +48 -0
- package/src/types/InputType.js +68 -0
- package/src/types/LinkDesign.js +47 -0
- package/src/types/ListGrowingMode.js +15 -0
- package/src/types/ListItemType.js +47 -0
- package/src/types/ListMode.js +77 -0
- package/src/types/ListSeparators.js +46 -0
- package/src/types/MessageStripDesign.js +54 -0
- package/src/types/PanelAccessibleRole.js +48 -0
- package/src/types/PopoverHorizontalAlign.js +54 -0
- package/src/types/PopoverPlacementType.js +54 -0
- package/src/types/PopoverVerticalAlign.js +54 -0
- package/src/types/Priority.js +55 -0
- package/src/types/SemanticColor.js +61 -0
- package/src/types/SwitchDesign.js +40 -0
- package/src/types/TabContainerTabsPlacement.js +40 -0
- package/src/types/TabLayout.js +40 -0
- package/src/types/TableGrowingMode.js +15 -0
- package/src/types/TableMode.js +47 -0
- package/src/types/TableRowType.js +40 -0
- package/src/types/TitleLevel.js +68 -0
- package/src/types/ToastPlacement.js +91 -0
- package/src/types/WrappingType.js +41 -0
- package/dist/Timeline.js +0 -97
- package/dist/TimelineItem.js +0 -161
- package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -7
- package/dist/generated/templates/DurationPickerPopoverTemplate.lit.js +0 -8
- package/dist/generated/templates/DurationPickerTemplate.lit.js +0 -8
- package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -12
- package/dist/generated/templates/TimelineTemplate.lit.js +0 -8
- package/dist/generated/themes/ComboBoxItem.css.js +0 -8
- package/dist/generated/themes/DurationPicker.css.js +0 -8
- package/dist/generated/themes/DurationPickerPopover.css.js +0 -8
- package/dist/generated/themes/Timeline.css.js +0 -8
- package/dist/generated/themes/TimelineItem.css.js +0 -8
- package/dist/popup-utils/PopupUtils.js +0 -55
- package/dist/types/AvatarFitType.js +0 -40
- package/dist/webcomponentsjs/package.json +0 -46
package/dist/Popover.js
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
|
-
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
3
|
-
import { getFirstFocusableElement, getLastFocusableElement } from "@ui5/webcomponents-base/dist/util/FocusableElements.js";
|
|
4
1
|
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
5
|
-
import
|
|
2
|
+
import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
3
|
+
import { getClosedPopupParent } from "@ui5/webcomponents-base/dist/util/PopupUtils.js";
|
|
4
|
+
import clamp from "@ui5/webcomponents-base/dist/util/clamp.js";
|
|
5
|
+
import Popup from "./Popup.js";
|
|
6
6
|
import PopoverPlacementType from "./types/PopoverPlacementType.js";
|
|
7
7
|
import PopoverVerticalAlign from "./types/PopoverVerticalAlign.js";
|
|
8
8
|
import PopoverHorizontalAlign from "./types/PopoverHorizontalAlign.js";
|
|
9
|
-
|
|
10
9
|
import { addOpenedPopover, removeOpenedPopover } from "./popup-utils/PopoverRegistry.js";
|
|
11
|
-
import { getFocusedElement, getClosedPopupParent, getNextZIndex } from "./popup-utils/PopupUtils.js";
|
|
12
10
|
|
|
11
|
+
// Template
|
|
12
|
+
import PopoverTemplate from "./generated/templates/PopoverTemplate.lit.js";
|
|
13
13
|
// Styles
|
|
14
|
+
import browserScrollbarCSS from "./generated/themes/BrowserScrollbar.css.js";
|
|
15
|
+
import PopupsCommonCss from "./generated/themes/PopupsCommon.css.js";
|
|
14
16
|
import PopoverCss from "./generated/themes/Popover.css.js";
|
|
15
17
|
|
|
16
18
|
const arrowSize = 8;
|
|
@@ -21,17 +23,6 @@ const arrowSize = 8;
|
|
|
21
23
|
const metadata = {
|
|
22
24
|
tag: "ui5-popover",
|
|
23
25
|
properties: /** @lends sap.ui.webcomponents.main.Popover.prototype */ {
|
|
24
|
-
/**
|
|
25
|
-
* Defines the ID of the HTML Element, which will get the initial focus.
|
|
26
|
-
*
|
|
27
|
-
* @type {string}
|
|
28
|
-
* @defaultvalue ""
|
|
29
|
-
* @public
|
|
30
|
-
*/
|
|
31
|
-
initialFocus: {
|
|
32
|
-
type: String,
|
|
33
|
-
},
|
|
34
|
-
|
|
35
26
|
/**
|
|
36
27
|
* Defines the header text.
|
|
37
28
|
* <br><br>
|
|
@@ -46,7 +37,7 @@ const metadata = {
|
|
|
46
37
|
},
|
|
47
38
|
|
|
48
39
|
/**
|
|
49
|
-
* Determines on which side the
|
|
40
|
+
* Determines on which side the component is placed at.
|
|
50
41
|
* <br><br>
|
|
51
42
|
* Available options are:
|
|
52
43
|
* <ul>
|
|
@@ -66,7 +57,7 @@ const metadata = {
|
|
|
66
57
|
},
|
|
67
58
|
|
|
68
59
|
/**
|
|
69
|
-
* Determines the horizontal alignment of the
|
|
60
|
+
* Determines the horizontal alignment of the component.
|
|
70
61
|
* <br><br>
|
|
71
62
|
* Available options are:
|
|
72
63
|
* <ul>
|
|
@@ -86,7 +77,7 @@ const metadata = {
|
|
|
86
77
|
},
|
|
87
78
|
|
|
88
79
|
/**
|
|
89
|
-
* Determines the vertical alignment of the
|
|
80
|
+
* Determines the vertical alignment of the component.
|
|
90
81
|
* <br><br>
|
|
91
82
|
* Available options are:
|
|
92
83
|
* <ul>
|
|
@@ -106,7 +97,7 @@ const metadata = {
|
|
|
106
97
|
},
|
|
107
98
|
|
|
108
99
|
/**
|
|
109
|
-
* Defines whether the
|
|
100
|
+
* Defines whether the component should close when
|
|
110
101
|
* clicking/tapping outside of the popover.
|
|
111
102
|
* If enabled, it blocks any interaction with the background.
|
|
112
103
|
*
|
|
@@ -119,18 +110,30 @@ const metadata = {
|
|
|
119
110
|
},
|
|
120
111
|
|
|
121
112
|
/**
|
|
122
|
-
*
|
|
113
|
+
* Defines whether the block layer will be shown if modal property is set to true.
|
|
114
|
+
* @type {boolean}
|
|
115
|
+
* @defaultvalue false
|
|
116
|
+
* @public
|
|
117
|
+
* @since 1.0.0-rc.10
|
|
118
|
+
*/
|
|
119
|
+
hideBackdrop: {
|
|
120
|
+
type: Boolean,
|
|
121
|
+
},
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Determines whether the component arrow is hidden.
|
|
123
125
|
*
|
|
124
126
|
* @type {boolean}
|
|
125
127
|
* @defaultvalue false
|
|
126
128
|
* @public
|
|
129
|
+
* @since 1.0.0-rc.15
|
|
127
130
|
*/
|
|
128
|
-
|
|
131
|
+
hideArrow: {
|
|
129
132
|
type: Boolean,
|
|
130
133
|
},
|
|
131
134
|
|
|
132
135
|
/**
|
|
133
|
-
* Determines if there is no enough space, the
|
|
136
|
+
* Determines if there is no enough space, the component can be placed
|
|
134
137
|
* over the target.
|
|
135
138
|
*
|
|
136
139
|
* @type {boolean}
|
|
@@ -141,6 +144,17 @@ const metadata = {
|
|
|
141
144
|
type: Boolean,
|
|
142
145
|
},
|
|
143
146
|
|
|
147
|
+
/**
|
|
148
|
+
* Defines whether the content is scrollable.
|
|
149
|
+
*
|
|
150
|
+
* @type {boolean}
|
|
151
|
+
* @defaultvalue false
|
|
152
|
+
* @private
|
|
153
|
+
*/
|
|
154
|
+
disableScrolling: {
|
|
155
|
+
type: Boolean,
|
|
156
|
+
},
|
|
157
|
+
|
|
144
158
|
/**
|
|
145
159
|
* Sets the X translation of the arrow
|
|
146
160
|
*
|
|
@@ -173,34 +187,17 @@ const metadata = {
|
|
|
173
187
|
defaultValue: PopoverPlacementType.Right,
|
|
174
188
|
},
|
|
175
189
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
_maxContentHeight: { type: Integer },
|
|
184
|
-
|
|
185
|
-
/**
|
|
186
|
-
* @private
|
|
187
|
-
*/
|
|
188
|
-
_disableInitialFocus: {
|
|
189
|
-
type: Boolean,
|
|
190
|
+
_maxContentHeight: {
|
|
191
|
+
type: Integer,
|
|
192
|
+
noAttribute: true,
|
|
193
|
+
},
|
|
194
|
+
_maxContentWidth: {
|
|
195
|
+
type: Integer,
|
|
196
|
+
noAttribute: true,
|
|
190
197
|
},
|
|
191
198
|
},
|
|
192
199
|
managedSlots: true,
|
|
193
200
|
slots: /** @lends sap.ui.webcomponents.main.Popover.prototype */ {
|
|
194
|
-
/**
|
|
195
|
-
* Defines the content of the Web Component.
|
|
196
|
-
* @type {Node[]}
|
|
197
|
-
* @slot
|
|
198
|
-
* @public
|
|
199
|
-
*/
|
|
200
|
-
"default": {
|
|
201
|
-
type: HTMLElement,
|
|
202
|
-
},
|
|
203
|
-
|
|
204
201
|
/**
|
|
205
202
|
* Defines the header HTML Element.
|
|
206
203
|
*
|
|
@@ -224,40 +221,6 @@ const metadata = {
|
|
|
224
221
|
},
|
|
225
222
|
},
|
|
226
223
|
events: /** @lends sap.ui.webcomponents.main.Popover.prototype */ {
|
|
227
|
-
/**
|
|
228
|
-
* Fired before the component is opened.
|
|
229
|
-
*
|
|
230
|
-
* @public
|
|
231
|
-
* @event
|
|
232
|
-
*/
|
|
233
|
-
beforeOpen: {},
|
|
234
|
-
|
|
235
|
-
/**
|
|
236
|
-
* Fired after the component is opened.
|
|
237
|
-
*
|
|
238
|
-
* @public
|
|
239
|
-
* @event
|
|
240
|
-
*/
|
|
241
|
-
afterOpen: {},
|
|
242
|
-
|
|
243
|
-
/**
|
|
244
|
-
* Fired before the component is closed.
|
|
245
|
-
*
|
|
246
|
-
* @public
|
|
247
|
-
* @event
|
|
248
|
-
* @param {Boolean} escPressed Indicates that <code>ESC</code> key has triggered the event.
|
|
249
|
-
*/
|
|
250
|
-
beforeClose: {
|
|
251
|
-
escPressed: { type: Boolean },
|
|
252
|
-
},
|
|
253
|
-
|
|
254
|
-
/**
|
|
255
|
-
* Fired after the component is closed.
|
|
256
|
-
*
|
|
257
|
-
* @public
|
|
258
|
-
* @event
|
|
259
|
-
*/
|
|
260
|
-
afterClose: {},
|
|
261
224
|
},
|
|
262
225
|
};
|
|
263
226
|
|
|
@@ -292,135 +255,84 @@ const metadata = {
|
|
|
292
255
|
* @constructor
|
|
293
256
|
* @author SAP SE
|
|
294
257
|
* @alias sap.ui.webcomponents.main.Popover
|
|
295
|
-
* @extends
|
|
258
|
+
* @extends Popup
|
|
296
259
|
* @tagname ui5-popover
|
|
297
260
|
* @since 1.0.0-rc.6
|
|
298
261
|
* @public
|
|
299
262
|
*/
|
|
300
|
-
class Popover extends
|
|
301
|
-
|
|
302
|
-
|
|
263
|
+
class Popover extends Popup {
|
|
264
|
+
constructor() {
|
|
265
|
+
super();
|
|
266
|
+
|
|
267
|
+
this._handleResize = this.handleResize.bind(this);
|
|
303
268
|
}
|
|
304
269
|
|
|
305
|
-
static get
|
|
306
|
-
return
|
|
270
|
+
static get metadata() {
|
|
271
|
+
return metadata;
|
|
307
272
|
}
|
|
308
273
|
|
|
309
274
|
static get styles() {
|
|
310
|
-
return PopoverCss;
|
|
275
|
+
return [browserScrollbarCSS, PopupsCommonCss, PopoverCss];
|
|
311
276
|
}
|
|
312
277
|
|
|
313
278
|
static get template() {
|
|
314
279
|
return PopoverTemplate;
|
|
315
280
|
}
|
|
316
281
|
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
if (firstFocusable) {
|
|
321
|
-
firstFocusable.focus();
|
|
322
|
-
}
|
|
282
|
+
static get VIEWPORT_MARGIN() {
|
|
283
|
+
return 10; // px
|
|
323
284
|
}
|
|
324
285
|
|
|
325
|
-
|
|
326
|
-
|
|
286
|
+
onEnterDOM() {
|
|
287
|
+
ResizeHandler.register(this, this._handleResize);
|
|
288
|
+
}
|
|
327
289
|
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
}
|
|
290
|
+
onExitDOM() {
|
|
291
|
+
ResizeHandler.deregister(this, this._handleResize);
|
|
331
292
|
}
|
|
332
293
|
|
|
333
294
|
isOpenerClicked(event) {
|
|
334
295
|
const target = event.target;
|
|
335
|
-
return target === this._opener || (target.getFocusDomRef && target.getFocusDomRef() === this._opener);
|
|
296
|
+
return target === this._opener || (target.getFocusDomRef && target.getFocusDomRef() === this._opener) || event.composedPath().indexOf(this._opener) > -1;
|
|
336
297
|
}
|
|
337
298
|
|
|
338
299
|
/**
|
|
339
|
-
*
|
|
340
|
-
* @param {HTMLElement} opener the element that the popover is
|
|
300
|
+
* Shows the popover.
|
|
301
|
+
* @param {HTMLElement} opener the element that the popover is shown at
|
|
302
|
+
* @param {boolean} preventInitialFocus prevents applying the focus inside the popover
|
|
341
303
|
* @public
|
|
304
|
+
* @async
|
|
305
|
+
* @returns {Promise} Resolved when the popover is open
|
|
342
306
|
*/
|
|
343
|
-
|
|
307
|
+
async showAt(opener, preventInitialFocus = false) {
|
|
344
308
|
if (!opener || this.opened) {
|
|
345
309
|
return;
|
|
346
310
|
}
|
|
347
311
|
|
|
348
312
|
this._opener = opener;
|
|
349
|
-
this.
|
|
350
|
-
this.style.zIndex = getNextZIndex();
|
|
351
|
-
|
|
352
|
-
this.fireEvent("beforeOpen", {});
|
|
353
|
-
this.reposition();
|
|
354
|
-
this.applyInitialFocus();
|
|
313
|
+
this._openerRect = opener.getBoundingClientRect();
|
|
355
314
|
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
this.opened = true;
|
|
359
|
-
this.fireEvent("afterOpen", {});
|
|
315
|
+
await super._open(preventInitialFocus);
|
|
360
316
|
}
|
|
361
317
|
|
|
362
318
|
/**
|
|
363
|
-
*
|
|
364
|
-
* @
|
|
319
|
+
* Override for the _addOpenedPopup hook, which would otherwise just call addOpenedPopup(this)
|
|
320
|
+
* @private
|
|
365
321
|
*/
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
return;
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
this.fireEvent("beforeClose", {
|
|
372
|
-
escPressed,
|
|
373
|
-
}, true);
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
this.opened = false;
|
|
377
|
-
|
|
378
|
-
if (!preventRegitryUpdate) {
|
|
379
|
-
removeOpenedPopover(this);
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
if (!preventFocusRestore) {
|
|
383
|
-
this.resetFocus();
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
this.hide();
|
|
387
|
-
this.fireEvent("afterClose", {});
|
|
388
|
-
}
|
|
389
|
-
|
|
390
|
-
get focusedElement() {
|
|
391
|
-
let element = document.activeElement;
|
|
392
|
-
|
|
393
|
-
while (element.shadowRoot && element.shadowRoot.activeElement) {
|
|
394
|
-
element = element.shadowRoot.activeElement;
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
return (element && typeof element.focus === "function") ? element : null;
|
|
398
|
-
}
|
|
399
|
-
|
|
400
|
-
applyInitialFocus() {
|
|
401
|
-
if (this._disableInitialFocus) {
|
|
402
|
-
return;
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
const element = this.getRootNode().getElementById(this.initialFocus) || document.getElementById(this.initialFocus) || getFirstFocusableElement(this.contentDOM);
|
|
406
|
-
|
|
407
|
-
if (element) {
|
|
408
|
-
element.focus();
|
|
409
|
-
}
|
|
322
|
+
_addOpenedPopup() {
|
|
323
|
+
addOpenedPopover(this);
|
|
410
324
|
}
|
|
411
325
|
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
this
|
|
418
|
-
this._focusedElementBeforeOpen = null;
|
|
326
|
+
/**
|
|
327
|
+
* Override for the _removeOpenedPopup hook, which would otherwise just call removeOpenedPopup(this)
|
|
328
|
+
* @private
|
|
329
|
+
*/
|
|
330
|
+
_removeOpenedPopup() {
|
|
331
|
+
removeOpenedPopover(this);
|
|
419
332
|
}
|
|
420
333
|
|
|
421
|
-
|
|
334
|
+
shouldCloseDueToOverflow(placement, openerRect) {
|
|
422
335
|
const threshold = 32;
|
|
423
|
-
|
|
424
336
|
const limits = {
|
|
425
337
|
"Right": openerRect.right,
|
|
426
338
|
"Left": openerRect.left,
|
|
@@ -432,7 +344,7 @@ class Popover extends UI5Element {
|
|
|
432
344
|
let overflowsBottom = false;
|
|
433
345
|
let overflowsTop = false;
|
|
434
346
|
|
|
435
|
-
if (closedPopupParent.
|
|
347
|
+
if (closedPopupParent.showAt) {
|
|
436
348
|
const contentRect = closedPopupParent.contentDOM.getBoundingClientRect();
|
|
437
349
|
overflowsBottom = openerRect.top > (contentRect.top + contentRect.height);
|
|
438
350
|
overflowsTop = (openerRect.top + openerRect.height) < contentRect.top;
|
|
@@ -441,73 +353,133 @@ class Popover extends UI5Element {
|
|
|
441
353
|
return (limits[placement] < 0 || (limits[placement] + threshold > closedPopupParent.innerHeight)) || overflowsBottom || overflowsTop;
|
|
442
354
|
}
|
|
443
355
|
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
356
|
+
shouldCloseDueToNoOpener(openerRect) {
|
|
357
|
+
return openerRect.top === 0
|
|
358
|
+
&& openerRect.bottom === 0
|
|
359
|
+
&& openerRect.left === 0
|
|
360
|
+
&& openerRect.right === 0;
|
|
361
|
+
}
|
|
449
362
|
|
|
450
|
-
|
|
451
|
-
|
|
363
|
+
handleResize() {
|
|
364
|
+
if (this.opened) {
|
|
365
|
+
this.reposition();
|
|
452
366
|
}
|
|
367
|
+
}
|
|
453
368
|
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
369
|
+
reposition() {
|
|
370
|
+
this._show();
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
_show() {
|
|
374
|
+
let placement;
|
|
375
|
+
const popoverSize = this.getPopoverSize();
|
|
376
|
+
|
|
377
|
+
if (popoverSize.width === 0 || popoverSize.height === 0) {
|
|
378
|
+
// size can not be determined properly at this point, popover will be shown with the next reposition
|
|
457
379
|
return;
|
|
458
380
|
}
|
|
459
381
|
|
|
460
|
-
this.
|
|
382
|
+
if (this.isOpen()) {
|
|
383
|
+
// update opener rect if it was changed during the popover being opened
|
|
384
|
+
this._openerRect = this._opener.getBoundingClientRect();
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
if (this.shouldCloseDueToNoOpener(this._openerRect) && this.isFocusWithin()) {
|
|
388
|
+
// reuse the old placement as the opener is not available,
|
|
389
|
+
// but keep the popover open as the focus is within
|
|
390
|
+
placement = this._oldPlacement;
|
|
391
|
+
} else {
|
|
392
|
+
placement = this.calcPlacement(this._openerRect, popoverSize);
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
const stretching = this.horizontalAlign === PopoverHorizontalAlign.Stretch;
|
|
461
396
|
|
|
397
|
+
if (this._preventRepositionAndClose) {
|
|
398
|
+
return this.close();
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
this._oldPlacement = placement;
|
|
462
402
|
this.actualPlacementType = placement.placementType;
|
|
463
|
-
this.arrowTranslateX = placement.arrowX;
|
|
464
|
-
this.arrowTranslateY = placement.arrowY;
|
|
465
403
|
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
404
|
+
let left = clamp(
|
|
405
|
+
this._left,
|
|
406
|
+
Popover.VIEWPORT_MARGIN,
|
|
407
|
+
document.documentElement.clientWidth - popoverSize.width - Popover.VIEWPORT_MARGIN,
|
|
408
|
+
);
|
|
469
409
|
|
|
470
|
-
if (
|
|
471
|
-
|
|
410
|
+
if (this.actualPlacementType === PopoverPlacementType.Right) {
|
|
411
|
+
left = Math.max(left, this._left);
|
|
472
412
|
}
|
|
473
|
-
}
|
|
474
413
|
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
414
|
+
let top = clamp(
|
|
415
|
+
this._top,
|
|
416
|
+
Popover.VIEWPORT_MARGIN,
|
|
417
|
+
document.documentElement.clientHeight - popoverSize.height - Popover.VIEWPORT_MARGIN,
|
|
418
|
+
);
|
|
478
419
|
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
let rect = this.getBoundingClientRect();
|
|
420
|
+
if (this.actualPlacementType === PopoverPlacementType.Bottom) {
|
|
421
|
+
top = Math.max(top, this._top);
|
|
422
|
+
}
|
|
483
423
|
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
424
|
+
let { arrowX, arrowY } = placement;
|
|
425
|
+
const isVertical = this.actualPlacementType === PopoverPlacementType.Top
|
|
426
|
+
|| this.actualPlacementType === PopoverPlacementType.Bottom;
|
|
487
427
|
|
|
488
|
-
|
|
428
|
+
if (isVertical) {
|
|
429
|
+
const popoverOnLeftBorderOffset = Popover.VIEWPORT_MARGIN - this._left;
|
|
430
|
+
const popoverOnRightBorderOffset = this._left + popoverSize.width + Popover.VIEWPORT_MARGIN - document.documentElement.clientWidth;
|
|
431
|
+
if (popoverOnLeftBorderOffset > 0) {
|
|
432
|
+
arrowX -= popoverOnLeftBorderOffset;
|
|
433
|
+
} else if (popoverOnRightBorderOffset > 0) {
|
|
434
|
+
arrowX += popoverOnRightBorderOffset;
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
this.arrowTranslateX = Math.round(arrowX);
|
|
438
|
+
|
|
439
|
+
if (!isVertical) {
|
|
440
|
+
const popoverOnTopBorderOffset = Popover.VIEWPORT_MARGIN - this._top;
|
|
441
|
+
const popoverOnBottomBorderOffset = this._top + popoverSize.height + Popover.VIEWPORT_MARGIN - document.documentElement.clientHeight;
|
|
442
|
+
if (popoverOnTopBorderOffset > 0) {
|
|
443
|
+
arrowY -= popoverOnTopBorderOffset;
|
|
444
|
+
} else if (popoverOnBottomBorderOffset > 0) {
|
|
445
|
+
arrowY += popoverOnBottomBorderOffset;
|
|
446
|
+
}
|
|
489
447
|
}
|
|
448
|
+
this.arrowTranslateY = Math.round(arrowY);
|
|
490
449
|
|
|
491
|
-
this.style
|
|
492
|
-
|
|
450
|
+
Object.assign(this.style, {
|
|
451
|
+
top: `${top}px`,
|
|
452
|
+
left: `${left}px`,
|
|
453
|
+
});
|
|
454
|
+
super._show();
|
|
493
455
|
|
|
494
|
-
|
|
456
|
+
if (stretching && this._width) {
|
|
457
|
+
this.style.width = this._width;
|
|
458
|
+
}
|
|
459
|
+
}
|
|
495
460
|
|
|
496
|
-
|
|
497
|
-
|
|
461
|
+
getPopoverSize() {
|
|
462
|
+
if (!this.opened) {
|
|
463
|
+
Object.assign(this.style, {
|
|
464
|
+
display: "block",
|
|
465
|
+
top: "-10000px",
|
|
466
|
+
left: "-10000px",
|
|
467
|
+
});
|
|
468
|
+
}
|
|
498
469
|
|
|
499
|
-
|
|
500
|
-
|
|
470
|
+
const rect = this.getBoundingClientRect(),
|
|
471
|
+
width = rect.width,
|
|
472
|
+
height = rect.height;
|
|
501
473
|
|
|
502
474
|
return { width, height };
|
|
503
475
|
}
|
|
504
476
|
|
|
505
477
|
get contentDOM() {
|
|
506
|
-
return this.shadowRoot.querySelector(".ui5-
|
|
478
|
+
return this.shadowRoot.querySelector(".ui5-popup-content");
|
|
507
479
|
}
|
|
508
480
|
|
|
509
481
|
get arrowDOM() {
|
|
510
|
-
return this.shadowRoot.querySelector(".ui5-popover-
|
|
482
|
+
return this.shadowRoot.querySelector(".ui5-popover-arrow");
|
|
511
483
|
}
|
|
512
484
|
|
|
513
485
|
calcPlacement(targetRect, popoverSize) {
|
|
@@ -519,13 +491,14 @@ class Popover extends UI5Element {
|
|
|
519
491
|
const clientHeight = document.documentElement.clientHeight;
|
|
520
492
|
|
|
521
493
|
let maxHeight = clientHeight;
|
|
494
|
+
let maxWidth = clientWidth;
|
|
522
495
|
|
|
523
496
|
let width = "";
|
|
524
497
|
let height = "";
|
|
525
498
|
|
|
526
499
|
const placementType = this.getActualPlacementType(targetRect, popoverSize);
|
|
527
500
|
|
|
528
|
-
this._preventRepositionAndClose = this.
|
|
501
|
+
this._preventRepositionAndClose = this.shouldCloseDueToNoOpener(targetRect) || this.shouldCloseDueToOverflow(placementType, targetRect);
|
|
529
502
|
|
|
530
503
|
const isVertical = placementType === PopoverPlacementType.Top
|
|
531
504
|
|| placementType === PopoverPlacementType.Bottom;
|
|
@@ -541,7 +514,7 @@ class Popover extends UI5Element {
|
|
|
541
514
|
this._width = width;
|
|
542
515
|
this._height = height;
|
|
543
516
|
|
|
544
|
-
const arrowOffset = this.
|
|
517
|
+
const arrowOffset = this.hideArrow ? 0 : arrowSize;
|
|
545
518
|
|
|
546
519
|
// calc popover positions
|
|
547
520
|
switch (placementType) {
|
|
@@ -566,12 +539,17 @@ class Popover extends UI5Element {
|
|
|
566
539
|
case PopoverPlacementType.Left:
|
|
567
540
|
left = Math.max(targetRect.left - popoverSize.width - arrowOffset, 0);
|
|
568
541
|
top = this.getHorizontalTop(targetRect, popoverSize);
|
|
542
|
+
|
|
543
|
+
if (!allowTargetOverlap) {
|
|
544
|
+
maxWidth = targetRect.left - arrowOffset;
|
|
545
|
+
}
|
|
569
546
|
break;
|
|
570
547
|
case PopoverPlacementType.Right:
|
|
571
548
|
if (allowTargetOverlap) {
|
|
572
549
|
left = Math.max(Math.min(targetRect.left + targetRect.width + arrowOffset, clientWidth - popoverSize.width), 0);
|
|
573
550
|
} else {
|
|
574
551
|
left = targetRect.left + targetRect.width + arrowOffset;
|
|
552
|
+
maxWidth = clientWidth - targetRect.right - arrowOffset;
|
|
575
553
|
}
|
|
576
554
|
|
|
577
555
|
top = this.getHorizontalTop(targetRect, popoverSize);
|
|
@@ -593,23 +571,21 @@ class Popover extends UI5Element {
|
|
|
593
571
|
}
|
|
594
572
|
}
|
|
595
573
|
|
|
596
|
-
let maxContentHeight =
|
|
574
|
+
let maxContentHeight = maxHeight;
|
|
597
575
|
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
if (hasHeader) {
|
|
601
|
-
const headerDomRef = this.shadowRoot.querySelector(".ui5-popover-header-root")
|
|
576
|
+
if (this._displayHeader) {
|
|
577
|
+
const headerDomRef = this.shadowRoot.querySelector(".ui5-popup-header-root")
|
|
602
578
|
|| this.shadowRoot.querySelector(".ui5-popup-header-text");
|
|
603
579
|
|
|
604
580
|
if (headerDomRef) {
|
|
605
|
-
maxContentHeight =
|
|
581
|
+
maxContentHeight = maxHeight - headerDomRef.offsetHeight;
|
|
606
582
|
}
|
|
607
583
|
}
|
|
608
584
|
|
|
609
|
-
this._maxContentHeight = maxContentHeight;
|
|
585
|
+
this._maxContentHeight = Math.round(maxContentHeight - Popover.VIEWPORT_MARGIN);
|
|
586
|
+
this._maxContentWidth = Math.round(maxWidth - Popover.VIEWPORT_MARGIN);
|
|
610
587
|
|
|
611
|
-
const
|
|
612
|
-
const arrowTranslateY = !isVertical ? targetRect.top + targetRect.height / 2 - top - popoverSize.height / 2 : 0;
|
|
588
|
+
const arrowPos = this.getArrowPosition(targetRect, popoverSize, left, top, isVertical);
|
|
613
589
|
|
|
614
590
|
if (this._left === undefined || Math.abs(this._left - left) > 1.5) {
|
|
615
591
|
this._left = Math.round(left);
|
|
@@ -620,14 +596,51 @@ class Popover extends UI5Element {
|
|
|
620
596
|
}
|
|
621
597
|
|
|
622
598
|
return {
|
|
623
|
-
arrowX:
|
|
624
|
-
arrowY:
|
|
599
|
+
arrowX: arrowPos.x,
|
|
600
|
+
arrowY: arrowPos.y,
|
|
625
601
|
top: this._top,
|
|
626
602
|
left: this._left,
|
|
627
603
|
placementType,
|
|
628
604
|
};
|
|
629
605
|
}
|
|
630
606
|
|
|
607
|
+
/**
|
|
608
|
+
* Calculates the position for the arrow.
|
|
609
|
+
* @private
|
|
610
|
+
* @param targetRect BoundingClientRect of the target element
|
|
611
|
+
* @param popoverSize Width and height of the popover
|
|
612
|
+
* @param left Left offset of the popover
|
|
613
|
+
* @param top Top offset of the popover
|
|
614
|
+
* @param isVertical if the popover is positioned vertically to the target element
|
|
615
|
+
* @returns {{x: number, y: number}} Arrow's coordinates
|
|
616
|
+
*/
|
|
617
|
+
getArrowPosition(targetRect, popoverSize, left, top, isVertical) {
|
|
618
|
+
let arrowXCentered = this.horizontalAlign === PopoverHorizontalAlign.Center || this.horizontalAlign === PopoverHorizontalAlign.Stretch;
|
|
619
|
+
|
|
620
|
+
if (this.horizontalAlign === PopoverHorizontalAlign.Right && left <= targetRect.left) {
|
|
621
|
+
arrowXCentered = true;
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
if (this.horizontalAlign === PopoverHorizontalAlign.Left && left + popoverSize.width >= targetRect.left + targetRect.width) {
|
|
625
|
+
arrowXCentered = true;
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
let arrowTranslateX = 0;
|
|
629
|
+
if (isVertical && arrowXCentered) {
|
|
630
|
+
arrowTranslateX = targetRect.left + targetRect.width / 2 - left - popoverSize.width / 2;
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
let arrowTranslateY = 0;
|
|
634
|
+
if (!isVertical) {
|
|
635
|
+
arrowTranslateY = targetRect.top + targetRect.height / 2 - top - popoverSize.height / 2;
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
return {
|
|
639
|
+
x: Math.round(arrowTranslateX),
|
|
640
|
+
y: Math.round(arrowTranslateY),
|
|
641
|
+
};
|
|
642
|
+
}
|
|
643
|
+
|
|
631
644
|
/**
|
|
632
645
|
* Fallbacks to new placement, prioritizing <code>Left</code> and <code>Right</code> placements.
|
|
633
646
|
* @private
|
|
@@ -691,6 +704,7 @@ class Popover extends UI5Element {
|
|
|
691
704
|
switch (this.horizontalAlign) {
|
|
692
705
|
case PopoverHorizontalAlign.Center:
|
|
693
706
|
case PopoverHorizontalAlign.Stretch:
|
|
707
|
+
|
|
694
708
|
left = targetRect.left - (popoverSize.width - targetRect.width) / 2;
|
|
695
709
|
break;
|
|
696
710
|
case PopoverHorizontalAlign.Left:
|
|
@@ -723,15 +737,32 @@ class Popover extends UI5Element {
|
|
|
723
737
|
return top;
|
|
724
738
|
}
|
|
725
739
|
|
|
740
|
+
get isModal() { // Required by Popup.js
|
|
741
|
+
return this.modal;
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
get shouldHideBackdrop() { // Required by Popup.js
|
|
745
|
+
return this.hideBackdrop;
|
|
746
|
+
}
|
|
747
|
+
|
|
748
|
+
get _ariaLabelledBy() { // Required by Popup.js
|
|
749
|
+
return this.accessibleName ? undefined : "ui5-popup-header";
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
get _ariaModal() { // Required by Popup.js
|
|
753
|
+
return true;
|
|
754
|
+
}
|
|
755
|
+
|
|
726
756
|
get styles() {
|
|
727
757
|
return {
|
|
758
|
+
...super.styles,
|
|
728
759
|
content: {
|
|
729
760
|
"max-height": `${this._maxContentHeight}px`,
|
|
761
|
+
"max-width": `${this._maxContentWidth}px`,
|
|
730
762
|
},
|
|
731
763
|
arrow: {
|
|
732
764
|
transform: `translate(${this.arrowTranslateX}px, ${this.arrowTranslateY}px)`,
|
|
733
765
|
},
|
|
734
|
-
root: { },
|
|
735
766
|
};
|
|
736
767
|
}
|
|
737
768
|
|
|
@@ -739,7 +770,7 @@ class Popover extends UI5Element {
|
|
|
739
770
|
* Hook for descendants to hide header.
|
|
740
771
|
*/
|
|
741
772
|
get _displayHeader() {
|
|
742
|
-
return
|
|
773
|
+
return this.header.length || this.headerText;
|
|
743
774
|
}
|
|
744
775
|
|
|
745
776
|
/**
|