@ui5/webcomponents 2.27.2 → 2.28.1
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 +47 -2
- package/dist/.tsbuildinfo +1 -1
- package/dist/Avatar.d.ts +13 -7
- package/dist/Avatar.js +10 -6
- package/dist/Avatar.js.map +1 -1
- package/dist/AvatarGroup.d.ts +2 -2
- package/dist/AvatarGroup.js +3 -3
- package/dist/AvatarGroup.js.map +1 -1
- package/dist/Bar.d.ts +12 -9
- package/dist/Bar.js +12 -10
- package/dist/Bar.js.map +1 -1
- package/dist/Breadcrumbs.d.ts +2 -1
- package/dist/Breadcrumbs.js +2 -1
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/BreadcrumbsItem.d.ts +1 -1
- package/dist/BreadcrumbsItem.js +1 -1
- package/dist/BreadcrumbsItem.js.map +1 -1
- package/dist/BusyIndicator.d.ts +2 -2
- package/dist/BusyIndicator.js +1 -1
- package/dist/BusyIndicator.js.map +1 -1
- package/dist/Button.d.ts +4 -3
- package/dist/Button.js +3 -2
- package/dist/Button.js.map +1 -1
- package/dist/Calendar.d.ts +4 -1
- package/dist/Calendar.js +4 -1
- package/dist/Calendar.js.map +1 -1
- package/dist/CalendarLegend.d.ts +1 -0
- package/dist/CalendarLegend.js +1 -0
- package/dist/CalendarLegend.js.map +1 -1
- package/dist/Card.d.ts +4 -3
- package/dist/Card.js +1 -0
- package/dist/Card.js.map +1 -1
- package/dist/CardHeader.d.ts +1 -1
- package/dist/CardHeader.js +1 -1
- package/dist/CardHeader.js.map +1 -1
- package/dist/Carousel.d.ts +13 -13
- package/dist/Carousel.js +12 -12
- package/dist/Carousel.js.map +1 -1
- package/dist/CheckBox.d.ts +1 -1
- package/dist/CheckBox.js +1 -1
- package/dist/CheckBox.js.map +1 -1
- package/dist/ColorPalette.d.ts +9 -5
- package/dist/ColorPalette.js +12 -5
- package/dist/ColorPalette.js.map +1 -1
- package/dist/ColorPaletteItem.d.ts +2 -2
- package/dist/ColorPaletteItem.js +2 -2
- package/dist/ColorPaletteItem.js.map +1 -1
- package/dist/ColorPalettePopover.d.ts +2 -2
- package/dist/ColorPalettePopover.js +2 -2
- package/dist/ColorPalettePopover.js.map +1 -1
- package/dist/ColorPicker.d.ts +3 -1
- package/dist/ColorPicker.js +7 -1
- package/dist/ColorPicker.js.map +1 -1
- package/dist/ComboBox.d.ts +35 -7
- package/dist/ComboBox.js +135 -8
- package/dist/ComboBox.js.map +1 -1
- package/dist/ComboBoxItem.d.ts +1 -1
- package/dist/ComboBoxItem.js.map +1 -1
- package/dist/ComboBoxItemGroup.d.ts +1 -1
- package/dist/ComboBoxItemGroup.js +1 -1
- package/dist/ComboBoxItemGroup.js.map +1 -1
- package/dist/ComboBoxPopoverTemplate.js +43 -20
- package/dist/ComboBoxPopoverTemplate.js.map +1 -1
- package/dist/ComboBoxTemplate.js +4 -2
- package/dist/ComboBoxTemplate.js.map +1 -1
- package/dist/DateComponentBase.d.ts +3 -3
- package/dist/DateComponentBase.js +2 -2
- package/dist/DateComponentBase.js.map +1 -1
- package/dist/DatePicker.d.ts +5 -5
- package/dist/DatePicker.js +2 -2
- package/dist/DatePicker.js.map +1 -1
- package/dist/DateRangePicker.d.ts +1 -1
- package/dist/DateRangePicker.js +1 -1
- package/dist/DateRangePicker.js.map +1 -1
- package/dist/DateTimePicker.d.ts +1 -1
- package/dist/DateTimePicker.js +1 -1
- package/dist/DateTimePicker.js.map +1 -1
- package/dist/DayPicker.d.ts +1 -1
- package/dist/DayPicker.js +4 -3
- package/dist/DayPicker.js.map +1 -1
- package/dist/Dialog.d.ts +3 -3
- package/dist/Dialog.js +3 -3
- package/dist/Dialog.js.map +1 -1
- package/dist/FileUploader.d.ts +2 -2
- package/dist/FileUploader.js +1 -1
- package/dist/FileUploader.js.map +1 -1
- package/dist/Form.d.ts +2 -0
- package/dist/Form.js +2 -0
- package/dist/Form.js.map +1 -1
- package/dist/FormTemplate.js +2 -2
- package/dist/FormTemplate.js.map +1 -1
- package/dist/GridWalker.d.ts +1 -0
- package/dist/GridWalker.js +3 -0
- package/dist/GridWalker.js.map +1 -1
- package/dist/Input.d.ts +10 -6
- package/dist/Input.js +7 -3
- package/dist/Input.js.map +1 -1
- package/dist/InputIcon.d.ts +1 -1
- package/dist/InputIcon.js.map +1 -1
- package/dist/Link.d.ts +17 -2
- package/dist/Link.js +16 -1
- package/dist/Link.js.map +1 -1
- package/dist/List.d.ts +9 -6
- package/dist/List.js +9 -6
- package/dist/List.js.map +1 -1
- package/dist/ListItem.d.ts +1 -1
- package/dist/ListItem.js +1 -1
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItemBase.d.ts +1 -1
- package/dist/ListItemBase.js +1 -1
- package/dist/ListItemBase.js.map +1 -1
- package/dist/ListItemCustom.d.ts +1 -1
- package/dist/ListItemCustom.js.map +1 -1
- package/dist/ListItemStandard.d.ts +4 -4
- package/dist/ListItemStandard.js +1 -1
- package/dist/ListItemStandard.js.map +1 -1
- package/dist/Menu.d.ts +3 -0
- package/dist/Menu.js +3 -0
- package/dist/Menu.js.map +1 -1
- package/dist/MessageStrip.d.ts +3 -3
- package/dist/MessageStrip.js +3 -3
- package/dist/MessageStrip.js.map +1 -1
- package/dist/MonthPicker.js +1 -1
- package/dist/MonthPicker.js.map +1 -1
- package/dist/MultiComboBox.d.ts +7 -4
- package/dist/MultiComboBox.js +5 -2
- package/dist/MultiComboBox.js.map +1 -1
- package/dist/MultiInput.d.ts +1 -1
- package/dist/MultiInput.js +1 -1
- package/dist/MultiInput.js.map +1 -1
- package/dist/{NumberInput.d.ts → NumericInput.d.ts} +10 -10
- package/dist/{NumberInput.js → NumericInput.js} +50 -50
- package/dist/NumericInput.js.map +1 -0
- package/dist/NumericInputTemplate.d.ts +2 -0
- package/dist/{NumberInputTemplate.js → NumericInputTemplate.js} +6 -6
- package/dist/NumericInputTemplate.js.map +1 -0
- package/dist/Option.d.ts +1 -1
- package/dist/Option.js.map +1 -1
- package/dist/Panel.d.ts +3 -3
- package/dist/Panel.js +2 -2
- package/dist/Panel.js.map +1 -1
- package/dist/Popover.d.ts +13 -2
- package/dist/Popover.js +50 -3
- package/dist/Popover.js.map +1 -1
- package/dist/PopoverResize.d.ts +3 -0
- package/dist/PopoverResize.js +53 -23
- package/dist/PopoverResize.js.map +1 -1
- package/dist/PopoverTemplate.js +3 -1
- package/dist/PopoverTemplate.js.map +1 -1
- package/dist/Popup.d.ts +2 -2
- package/dist/Popup.js +2 -2
- package/dist/Popup.js.map +1 -1
- package/dist/ProgressIndicator.d.ts +1 -1
- package/dist/ProgressIndicator.js +1 -1
- package/dist/ProgressIndicator.js.map +1 -1
- package/dist/RadioButton.d.ts +1 -1
- package/dist/RadioButton.js +2 -2
- package/dist/RadioButton.js.map +1 -1
- package/dist/RangeSlider.d.ts +1 -1
- package/dist/RangeSlider.js +5 -4
- package/dist/RangeSlider.js.map +1 -1
- package/dist/RangeSliderTemplate.js +3 -3
- package/dist/RangeSliderTemplate.js.map +1 -1
- package/dist/RatingIndicator.d.ts +5 -5
- package/dist/RatingIndicator.js +4 -4
- package/dist/RatingIndicator.js.map +1 -1
- package/dist/ResponsivePopover.d.ts +2 -2
- package/dist/ResponsivePopover.js +2 -2
- package/dist/ResponsivePopover.js.map +1 -1
- package/dist/SegmentedButton.d.ts +2 -1
- package/dist/SegmentedButton.js +2 -1
- package/dist/SegmentedButton.js.map +1 -1
- package/dist/SegmentedButtonItem.d.ts +1 -1
- package/dist/SegmentedButtonItem.js.map +1 -1
- package/dist/Select.d.ts +7 -4
- package/dist/Select.js +5 -2
- package/dist/Select.js.map +1 -1
- package/dist/Slider.d.ts +2 -1
- package/dist/Slider.js +5 -1
- package/dist/Slider.js.map +1 -1
- package/dist/SliderBase.d.ts +1 -0
- package/dist/SliderBase.js +7 -1
- package/dist/SliderBase.js.map +1 -1
- package/dist/SliderHandle.d.ts +4 -0
- package/dist/SliderHandle.js +7 -0
- package/dist/SliderHandle.js.map +1 -1
- package/dist/SliderScale.d.ts +4 -0
- package/dist/SliderScale.js +13 -0
- package/dist/SliderScale.js.map +1 -1
- package/dist/SliderScaleTemplate.js +1 -1
- package/dist/SliderScaleTemplate.js.map +1 -1
- package/dist/SliderTemplate.js +1 -1
- package/dist/SliderTemplate.js.map +1 -1
- package/dist/StepInput.d.ts +8 -7
- package/dist/StepInput.js +6 -2
- package/dist/StepInput.js.map +1 -1
- package/dist/StepInputTemplate.js +2 -2
- package/dist/StepInputTemplate.js.map +1 -1
- package/dist/SuggestionItem.d.ts +1 -1
- package/dist/SuggestionItem.js.map +1 -1
- package/dist/SuggestionListItem.d.ts +1 -1
- package/dist/SuggestionListItem.js.map +1 -1
- package/dist/Switch.d.ts +1 -1
- package/dist/Switch.js +1 -1
- package/dist/Switch.js.map +1 -1
- package/dist/Tab.d.ts +1 -1
- package/dist/Tab.js +1 -1
- package/dist/Tab.js.map +1 -1
- package/dist/TabContainer.d.ts +4 -2
- package/dist/TabContainer.js +3 -1
- package/dist/TabContainer.js.map +1 -1
- package/dist/Table.d.ts +16 -3
- package/dist/Table.js +40 -4
- package/dist/Table.js.map +1 -1
- package/dist/TableGrowing.d.ts +1 -0
- package/dist/TableGrowing.js +12 -10
- package/dist/TableGrowing.js.map +1 -1
- package/dist/TableHeaderRow.d.ts +0 -6
- package/dist/TableHeaderRow.js +1 -19
- package/dist/TableHeaderRow.js.map +1 -1
- package/dist/TableHeaderRowTemplate.js +2 -12
- package/dist/TableHeaderRowTemplate.js.map +1 -1
- package/dist/TableNavigation.d.ts +1 -0
- package/dist/TableNavigation.js +7 -2
- package/dist/TableNavigation.js.map +1 -1
- package/dist/TableRow.js +2 -11
- package/dist/TableRow.js.map +1 -1
- package/dist/TableRowBase.d.ts +3 -7
- package/dist/TableRowBase.js +10 -26
- package/dist/TableRowBase.js.map +1 -1
- package/dist/TableRowTemplate.js +1 -3
- package/dist/TableRowTemplate.js.map +1 -1
- package/dist/TableSelection.d.ts +5 -6
- package/dist/TableSelection.js +28 -12
- package/dist/TableSelection.js.map +1 -1
- package/dist/TableSelectionBase.d.ts +15 -10
- package/dist/TableSelectionBase.js +33 -20
- package/dist/TableSelectionBase.js.map +1 -1
- package/dist/TableSelectionMulti.d.ts +5 -7
- package/dist/TableSelectionMulti.js +14 -10
- package/dist/TableSelectionMulti.js.map +1 -1
- package/dist/TableSelectionSingle.d.ts +3 -2
- package/dist/TableSelectionSingle.js +8 -2
- package/dist/TableSelectionSingle.js.map +1 -1
- package/dist/TableUtils.d.ts +3 -1
- package/dist/TableUtils.js +4 -1
- package/dist/TableUtils.js.map +1 -1
- package/dist/TextArea.d.ts +52 -5
- package/dist/TextArea.js +67 -6
- package/dist/TextArea.js.map +1 -1
- package/dist/TextAreaTemplate.js +2 -2
- package/dist/TextAreaTemplate.js.map +1 -1
- package/dist/TimePicker.d.ts +2 -2
- package/dist/TimePicker.js +1 -1
- package/dist/TimePicker.js.map +1 -1
- package/dist/Toast.d.ts +1 -1
- package/dist/Toast.js +1 -1
- package/dist/Toast.js.map +1 -1
- package/dist/Token.d.ts +2 -2
- package/dist/Token.js +1 -1
- package/dist/Token.js.map +1 -1
- package/dist/Tokenizer.d.ts +1 -0
- package/dist/Tokenizer.js +18 -1
- package/dist/Tokenizer.js.map +1 -1
- package/dist/Toolbar.d.ts +6 -0
- package/dist/Toolbar.js +6 -0
- package/dist/Toolbar.js.map +1 -1
- package/dist/Tree.d.ts +3 -1
- package/dist/Tree.js +5 -3
- package/dist/Tree.js.map +1 -1
- package/dist/TreeItem.d.ts +2 -2
- package/dist/TreeItem.js +1 -1
- package/dist/TreeItem.js.map +1 -1
- package/dist/TreeItemBase.d.ts +3 -3
- package/dist/TreeItemBase.js +3 -3
- package/dist/TreeItemBase.js.map +1 -1
- package/dist/YearPicker.js +1 -1
- package/dist/YearPicker.js.map +1 -1
- package/dist/bundle.esm.js +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/ComboBox.css +1 -1
- package/dist/css/themes/ComboBoxPopover.css +1 -1
- package/dist/css/themes/FileUploader.css +1 -1
- package/dist/css/themes/Form.css +1 -1
- package/dist/css/themes/FormItem.css +1 -1
- package/dist/css/themes/FormItemSpan.css +1 -1
- package/dist/css/themes/Input.css +1 -1
- package/dist/css/themes/MultiComboBox.css +1 -1
- package/dist/css/themes/NumericInput.css +1 -0
- package/dist/css/themes/Popover.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/Select.css +1 -1
- package/dist/css/themes/SliderHandle.css +1 -1
- package/dist/css/themes/SliderScale.css +1 -1
- package/dist/css/themes/SplitButton.css +1 -1
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -2
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -2
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -2
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -2
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_auto/parameters-bundle.css +786 -513
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hc_auto/parameters-bundle.css +742 -494
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +2715 -265
- package/dist/custom-elements.json +2399 -103
- package/dist/features/ColorPaletteMoreColorsTemplate.js +1 -1
- package/dist/features/ColorPaletteMoreColorsTemplate.js.map +1 -1
- package/dist/features/ComboBoxLazyLoading.d.ts +26 -0
- package/dist/features/ComboBoxLazyLoading.js +48 -0
- package/dist/features/ComboBoxLazyLoading.js.map +1 -0
- 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_cnr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
- 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 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
- 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 -1
- 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_id.json +1 -1
- 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_mk.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 -1
- 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_sr.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_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_auto/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_hc_auto/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_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +9 -1
- package/dist/generated/i18n/i18n-defaults.js +10 -2
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/themes/Avatar.css.d.ts +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.d.ts +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/ComboBox.css.d.ts +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/ComboBoxPopover.css.d.ts +1 -1
- package/dist/generated/themes/ComboBoxPopover.css.js +1 -1
- package/dist/generated/themes/ComboBoxPopover.css.js.map +1 -1
- package/dist/generated/themes/FileUploader.css.d.ts +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/Form.css.d.ts +1 -1
- package/dist/generated/themes/Form.css.js +1 -1
- package/dist/generated/themes/Form.css.js.map +1 -1
- package/dist/generated/themes/FormItem.css.d.ts +1 -1
- package/dist/generated/themes/FormItem.css.js +1 -1
- package/dist/generated/themes/FormItem.css.js.map +1 -1
- package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
- package/dist/generated/themes/FormItemSpan.css.js +1 -1
- package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
- package/dist/generated/themes/Input.css.d.ts +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/MultiComboBox.css.d.ts +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/NumericInput.css.d.ts +2 -0
- package/dist/generated/themes/NumericInput.css.js +8 -0
- package/dist/generated/themes/NumericInput.css.js.map +1 -0
- package/dist/generated/themes/Popover.css.d.ts +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/RatingIndicator.css.d.ts +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/Select.css.d.ts +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/SliderHandle.css.d.ts +1 -1
- package/dist/generated/themes/SliderHandle.css.js +1 -1
- package/dist/generated/themes/SliderHandle.css.js.map +1 -1
- package/dist/generated/themes/SliderScale.css.d.ts +1 -1
- package/dist/generated/themes/SliderScale.css.js +1 -1
- package/dist/generated/themes/SliderScale.css.js.map +1 -1
- package/dist/generated/themes/SplitButton.css.d.ts +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/TextArea.css.d.ts +1 -1
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -2
- 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.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -2
- 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.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -2
- 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.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -2
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +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_auto/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js +786 -513
- package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +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_hc_auto/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js +742 -494
- package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +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_hcw/parameters-bundle.css.d.ts +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/types/BarAccessibleRole.d.ts +2 -1
- package/dist/types/BarAccessibleRole.js +2 -1
- package/dist/types/BarAccessibleRole.js.map +1 -1
- package/dist/types/ButtonAccessibleRole.d.ts +1 -1
- package/dist/types/ButtonAccessibleRole.js +1 -1
- package/dist/types/ButtonAccessibleRole.js.map +1 -1
- package/dist/types/TableSelectionBehavior.d.ts +1 -1
- package/dist/types/TableSelectionBehavior.js +1 -1
- package/dist/types/TableSelectionBehavior.js.map +1 -1
- package/dist/types/TableSelectionMultiHeaderSelector.d.ts +1 -1
- package/dist/types/TableSelectionMultiHeaderSelector.js +1 -1
- package/dist/types/TableSelectionMultiHeaderSelector.js.map +1 -1
- package/dist/types/TextAreaCounterMode.d.ts +27 -0
- package/dist/types/TextAreaCounterMode.js +29 -0
- package/dist/types/TextAreaCounterMode.js.map +1 -0
- package/dist/vscode.html-custom-data.json +24 -10
- package/dist/web-types.json +48 -17
- package/package.json +9 -9
- package/src/ComboBoxPopoverTemplate.tsx +140 -106
- package/src/ComboBoxTemplate.tsx +4 -2
- package/src/FormTemplate.tsx +2 -2
- package/src/{NumberInputTemplate.tsx → NumericInputTemplate.tsx} +6 -6
- package/src/PopoverTemplate.tsx +19 -0
- package/src/RangeSliderTemplate.tsx +3 -0
- package/src/SliderScaleTemplate.tsx +1 -1
- package/src/SliderTemplate.tsx +1 -0
- package/src/StepInputTemplate.tsx +3 -3
- package/src/TableHeaderRowTemplate.tsx +1 -26
- package/src/TableRowTemplate.tsx +1 -9
- package/src/TableSelection.tsx +464 -0
- package/src/TableSelectionMulti.tsx +396 -0
- package/src/TableSelectionSingle.tsx +91 -0
- package/src/TextAreaTemplate.tsx +2 -2
- package/src/features/ColorPaletteMoreColorsTemplate.tsx +1 -1
- package/src/i18n/messagebundle.properties +25 -1
- package/src/i18n/messagebundle_ar.properties +1 -1
- package/src/i18n/messagebundle_bg.properties +1 -1
- package/src/i18n/messagebundle_ca.properties +1 -1
- package/src/i18n/messagebundle_cnr.properties +1 -1
- package/src/i18n/messagebundle_cy.properties +1 -1
- package/src/i18n/messagebundle_da.properties +1 -1
- package/src/i18n/messagebundle_de.properties +1 -1
- package/src/i18n/messagebundle_el.properties +1 -1
- package/src/i18n/messagebundle_en.properties +1 -1
- package/src/i18n/messagebundle_en_GB.properties +1 -1
- package/src/i18n/messagebundle_en_US_sappsd.properties +1 -1
- package/src/i18n/messagebundle_en_US_saprigi.properties +17 -1
- package/src/i18n/messagebundle_en_US_saptrc.properties +1 -1
- package/src/i18n/messagebundle_es.properties +1 -1
- package/src/i18n/messagebundle_es_MX.properties +1 -1
- package/src/i18n/messagebundle_et.properties +1 -1
- package/src/i18n/messagebundle_fi.properties +1 -1
- package/src/i18n/messagebundle_fr.properties +1 -1
- package/src/i18n/messagebundle_fr_CA.properties +1 -1
- package/src/i18n/messagebundle_hi.properties +1 -1
- package/src/i18n/messagebundle_hr.properties +1 -1
- package/src/i18n/messagebundle_hu.properties +1 -1
- package/src/i18n/messagebundle_id.properties +1 -1
- package/src/i18n/messagebundle_it.properties +1 -1
- package/src/i18n/messagebundle_iw.properties +1 -1
- package/src/i18n/messagebundle_ja.properties +1 -1
- package/src/i18n/messagebundle_kk.properties +1 -1
- package/src/i18n/messagebundle_ko.properties +1 -1
- package/src/i18n/messagebundle_lt.properties +1 -1
- package/src/i18n/messagebundle_lv.properties +1 -1
- package/src/i18n/messagebundle_mk.properties +1 -1
- package/src/i18n/messagebundle_ms.properties +1 -1
- package/src/i18n/messagebundle_nl.properties +1 -1
- package/src/i18n/messagebundle_no.properties +1 -1
- package/src/i18n/messagebundle_pl.properties +1 -1
- package/src/i18n/messagebundle_pt.properties +2 -2
- package/src/i18n/messagebundle_pt_PT.properties +1 -1
- package/src/i18n/messagebundle_ro.properties +1 -1
- package/src/i18n/messagebundle_ru.properties +1 -1
- package/src/i18n/messagebundle_sh.properties +1 -1
- package/src/i18n/messagebundle_sk.properties +1 -1
- package/src/i18n/messagebundle_sl.properties +1 -1
- package/src/i18n/messagebundle_sr.properties +1 -1
- package/src/i18n/messagebundle_sv.properties +1 -1
- package/src/i18n/messagebundle_th.properties +1 -1
- package/src/i18n/messagebundle_tr.properties +1 -1
- package/src/i18n/messagebundle_uk.properties +1 -1
- package/src/i18n/messagebundle_vi.properties +1 -1
- package/src/i18n/messagebundle_zh_CN.properties +1 -1
- package/src/i18n/messagebundle_zh_TW.properties +1 -1
- package/src/themes/Avatar.css +1 -0
- package/src/themes/AvatarGroup.css +21 -0
- package/src/themes/ComboBox.css +5 -0
- package/src/themes/ComboBoxPopover.css +6 -0
- package/src/themes/Form.css +5 -3
- package/src/themes/FormItem.css +4 -0
- package/src/themes/FormItemSpan.css +5 -0
- package/src/themes/Input.css +1 -1
- package/src/themes/{NumberInput.css → NumericInput.css} +63 -58
- package/src/themes/Popover.css +47 -14
- package/src/themes/RatingIndicator.css +1 -0
- package/src/themes/SliderHandle.css +12 -7
- package/src/themes/SliderScale.css +4 -2
- package/src/themes/SplitButton.css +4 -1
- package/src/themes/TextArea.css +17 -1
- package/src/themes/base/NumericInput-parameters.css +31 -0
- package/src/themes/base/Popover-parameters.css +5 -0
- package/src/themes/base/sizes-parameters.css +3 -3
- package/src/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/src/themes/sap_horizon/AvatarGroup-parameters.css +7 -19
- package/src/themes/sap_horizon/NumericInput-parameters.css +26 -0
- package/src/themes/sap_horizon/parameters-bundle.css +1 -1
- package/src/themes/sap_horizon_dark/NumericInput-parameters.css +26 -0
- package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/src/themes/sap_horizon_hcb/NumericInput-parameters.css +14 -0
- package/src/themes/sap_horizon_hcb/parameters-bundle.css +2 -2
- package/src/themes/sap_horizon_hcw/NumericInput-parameters.css +14 -0
- package/src/themes/sap_horizon_hcw/parameters-bundle.css +2 -2
- package/dist/NumberInput.js.map +0 -1
- package/dist/NumberInputTemplate.d.ts +0 -2
- package/dist/NumberInputTemplate.js.map +0 -1
- package/dist/css/themes/NumberInput.css +0 -1
- package/dist/generated/themes/NumberInput.css.d.ts +0 -2
- package/dist/generated/themes/NumberInput.css.js +0 -8
- package/dist/generated/themes/NumberInput.css.js.map +0 -1
- package/src/themes/base/NumberInput-parameters.css +0 -31
- package/src/themes/sap_horizon/NumberInput-parameters.css +0 -26
- package/src/themes/sap_horizon_dark/NumberInput-parameters.css +0 -26
- package/src/themes/sap_horizon_hcb/NumberInput-parameters.css +0 -14
- package/src/themes/sap_horizon_hcw/NumberInput-parameters.css +0 -14
package/dist/Option.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Option.js","sourceRoot":"","sources":["../src/Option.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,WAAW;AACX,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,SAAS;AACT,OAAO,aAAa,MAAM,sCAAsC,CAAC;AACjE,OAAO,eAAe,MAAM,wCAAwC,CAAC;AACrE,OAAO,yBAAyB,MAAM,kDAAkD,CAAC;AAGzF;;;;;;;;;;;;;;GAcG;AAWH,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,YAAY;IA6DhC,IAAI,gBAAgB;QACnB,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACpB,CAAC;IAgBD,IAAI,oBAAoB;QACvB,OAAO,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;IAC/B,CAAC;CACD,CAAA;AAxEA;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;oCAC5C;AASzB;IADC,QAAQ,EAAE;qCACI;AAYf;IADC,QAAQ,EAAE;oCACG;AASd;IADC,QAAQ,EAAE;8CACa;AASxB;IADC,QAAQ,EAAE;uCACM;AAUT;IADP,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCACF;AAW1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;8CACtB;AAOxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;+CACrB;AA7EpB,MAAM;IAVX,aAAa,CAAC;QACd,GAAG,EAAE,YAAY;QACjB,QAAQ,EAAE,cAAc;QACxB,MAAM,EAAE;YACP,YAAY,CAAC,MAAM;YACnB,yBAAyB;YACzB,eAAe;YACf,aAAa;SACb;KACD,CAAC;GACI,MAAM,CAkFX;AAED,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,eAAe,MAAM,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { IOption } from \"./Select.js\";\nimport ListItemBase from \"./ListItemBase.js\";\n\n// Template\nimport OptionTemplate from \"./OptionTemplate.js\";\n\n// Styles\nimport optionBaseCss from \"./generated/themes/OptionBase.css.js\";\nimport listItemIconCss from \"./generated/themes/ListItemIcon.css.js\";\nimport listItemAdditionalTextCss from \"./generated/themes/ListItemAdditionalText.css.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-option` component defines the content of an option in the `ui5-select`.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Option.js\";`\n * @constructor\n * @extends ListItemBase\n * @implements {IOption}\n * @public\n */\n@customElement({\n\ttag: \"ui5-option\",\n\ttemplate: OptionTemplate,\n\tstyles: [\n\t\tListItemBase.styles,\n\t\tlistItemAdditionalTextCss,\n\t\tlistItemIconCss,\n\t\toptionBaseCss,\n\t],\n})\nclass Option extends ListItemBase implements IOption {\n\teventDetails!: ListItemBase[\"eventDetails\"];\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, invalidateOnChildChange: true })\n\ttext!: DefaultSlot<Node>;\n\n\t/**\n\t * Defines the value of the `ui5-select` inside an HTML Form element when this component is selected.\n\t * For more information on HTML Form support, see the `name` property of `ui5-select`.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tvalue?: string;\n\n\t/**\n\t * Defines the `icon` source URI.\n\t *\n\t * **Note:**\n\t * SAP-icons font provides numerous built-in icons. To find all the available icons, see the\n\t * [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines the `additionalText`, displayed in the end of the option.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0
|
|
1
|
+
{"version":3,"file":"Option.js","sourceRoot":"","sources":["../src/Option.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,WAAW;AACX,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,SAAS;AACT,OAAO,aAAa,MAAM,sCAAsC,CAAC;AACjE,OAAO,eAAe,MAAM,wCAAwC,CAAC;AACrE,OAAO,yBAAyB,MAAM,kDAAkD,CAAC;AAGzF;;;;;;;;;;;;;;GAcG;AAWH,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,YAAY;IA6DhC,IAAI,gBAAgB;QACnB,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACpB,CAAC;IAgBD,IAAI,oBAAoB;QACvB,OAAO,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;IAC/B,CAAC;CACD,CAAA;AAxEA;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;oCAC5C;AASzB;IADC,QAAQ,EAAE;qCACI;AAYf;IADC,QAAQ,EAAE;oCACG;AASd;IADC,QAAQ,EAAE;8CACa;AASxB;IADC,QAAQ,EAAE;uCACM;AAUT;IADP,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCACF;AAW1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;8CACtB;AAOxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;+CACrB;AA7EpB,MAAM;IAVX,aAAa,CAAC;QACd,GAAG,EAAE,YAAY;QACjB,QAAQ,EAAE,cAAc;QACxB,MAAM,EAAE;YACP,YAAY,CAAC,MAAM;YACnB,yBAAyB;YACzB,eAAe;YACf,aAAa;SACb;KACD,CAAC;GACI,MAAM,CAkFX;AAED,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,eAAe,MAAM,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { IOption } from \"./Select.js\";\nimport ListItemBase from \"./ListItemBase.js\";\n\n// Template\nimport OptionTemplate from \"./OptionTemplate.js\";\n\n// Styles\nimport optionBaseCss from \"./generated/themes/OptionBase.css.js\";\nimport listItemIconCss from \"./generated/themes/ListItemIcon.css.js\";\nimport listItemAdditionalTextCss from \"./generated/themes/ListItemAdditionalText.css.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-option` component defines the content of an option in the `ui5-select`.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Option.js\";`\n * @constructor\n * @extends ListItemBase\n * @implements {IOption}\n * @public\n */\n@customElement({\n\ttag: \"ui5-option\",\n\ttemplate: OptionTemplate,\n\tstyles: [\n\t\tListItemBase.styles,\n\t\tlistItemAdditionalTextCss,\n\t\tlistItemIconCss,\n\t\toptionBaseCss,\n\t],\n})\nclass Option extends ListItemBase implements IOption {\n\teventDetails!: ListItemBase[\"eventDetails\"];\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, invalidateOnChildChange: true })\n\ttext!: DefaultSlot<Node>;\n\n\t/**\n\t * Defines the value of the `ui5-select` inside an HTML Form element when this component is selected.\n\t * For more information on HTML Form support, see the `name` property of `ui5-select`.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tvalue?: string;\n\n\t/**\n\t * Defines the `icon` source URI.\n\t *\n\t * **Note:**\n\t * SAP-icons font provides numerous built-in icons. To find all the available icons, see the\n\t * [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines the `additionalText`, displayed in the end of the option.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0\n\t */\n\t@property()\n\tadditionalText?: string;\n\n\t/**\n\t * Defines the tooltip of the option.\n\t * @default undefined\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\ttooltip?: string;\n\n\t/**\n\t * Defines the selected state of the component.\n\t *\n\t * @default false\n\t * @public\n\t * @deprecated since 2.20.0, please use the parent Select's `value` property instead.\n\t */\n\t@property({ type: Boolean })\n\tdeclare selected: boolean;\n\n\tget displayIconBegin(): boolean {\n\t\treturn !!this.icon;\n\t}\n\n\t/**\n\t * Per-group aria-setsize, set by Select when this option is inside a ui5-option-group.\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_forcedSetsize?: number;\n\n\t/**\n\t * Per-group aria-posinset, set by Select when this option is inside a ui5-option-group.\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_forcedPosinset?: number;\n\n\tget effectiveDisplayText() {\n\t\treturn this.textContent || \"\";\n\t}\n}\n\nOption.define();\n\nexport default Option;\n"]}
|
package/dist/Panel.d.ts
CHANGED
|
@@ -92,7 +92,7 @@ declare class Panel extends UI5Element {
|
|
|
92
92
|
* Indicates whether the transition between the expanded and the collapsed state of the component is animated. By default the animation is enabled.
|
|
93
93
|
* @default false
|
|
94
94
|
* @public
|
|
95
|
-
* @since 1.0.0
|
|
95
|
+
* @since 1.0.0
|
|
96
96
|
*/
|
|
97
97
|
noAnimation: boolean;
|
|
98
98
|
/**
|
|
@@ -114,7 +114,7 @@ declare class Panel extends UI5Element {
|
|
|
114
114
|
* Defines the accessible ARIA name of the component.
|
|
115
115
|
* @default undefined
|
|
116
116
|
* @public
|
|
117
|
-
* @since 1.0.0
|
|
117
|
+
* @since 1.0.0
|
|
118
118
|
*/
|
|
119
119
|
accessibleName?: string;
|
|
120
120
|
/**
|
|
@@ -124,7 +124,7 @@ declare class Panel extends UI5Element {
|
|
|
124
124
|
* a solid color will be used for its design.
|
|
125
125
|
* @default false
|
|
126
126
|
* @public
|
|
127
|
-
* @since 1.16.0
|
|
127
|
+
* @since 1.16.0
|
|
128
128
|
*/
|
|
129
129
|
stickyHeader: boolean;
|
|
130
130
|
/**
|
package/dist/Panel.js
CHANGED
|
@@ -99,7 +99,7 @@ let Panel = Panel_1 = class Panel extends UI5Element {
|
|
|
99
99
|
* Indicates whether the transition between the expanded and the collapsed state of the component is animated. By default the animation is enabled.
|
|
100
100
|
* @default false
|
|
101
101
|
* @public
|
|
102
|
-
* @since 1.0.0
|
|
102
|
+
* @since 1.0.0
|
|
103
103
|
*/
|
|
104
104
|
this.noAnimation = false;
|
|
105
105
|
/**
|
|
@@ -124,7 +124,7 @@ let Panel = Panel_1 = class Panel extends UI5Element {
|
|
|
124
124
|
* a solid color will be used for its design.
|
|
125
125
|
* @default false
|
|
126
126
|
* @public
|
|
127
|
-
* @since 1.16.0
|
|
127
|
+
* @since 1.16.0
|
|
128
128
|
*/
|
|
129
129
|
this.stickyHeader = false;
|
|
130
130
|
/**
|
package/dist/Panel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Panel.js","sourceRoot":"","sources":["../src/Panel.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot } 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-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport slideDown from \"@ui5/webcomponents-base/dist/animations/slideDown.js\";\nimport slideUp from \"@ui5/webcomponents-base/dist/animations/slideUp.js\";\nimport { isSpace, isEnter, isEscape } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport AnimationMode from \"@ui5/webcomponents-base/dist/types/AnimationMode.js\";\nimport { getAnimationMode } from \"@ui5/webcomponents-base/dist/config/AnimationMode.js\";\nimport { supportsTouch } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { UI5CustomEvent } from \"@ui5/webcomponents-base\";\nimport type TitleLevel from \"./types/TitleLevel.js\";\nimport type Button from \"./Button.js\";\nimport type PanelAccessibleRole from \"./types/PanelAccessibleRole.js\";\nimport PanelTemplate from \"./PanelTemplate.js\";\nimport { PANEL_ICON } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport panelCss from \"./generated/themes/Panel.css.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-panel` component is a container which has a header and a\n * content area and is used\n * for grouping and displaying information. It can be collapsed to save space on the screen.\n *\n * ### Guidelines:\n *\n * - Nesting two or more panels is not recommended.\n * - Do not stack too many panels on one page.\n *\n * ### Structure\n * The panel's header area consists of a title bar with a header text or custom header.\n *\n * The header is clickable and can be used to toggle between the expanded and collapsed state. It includes an icon which rotates depending on the state.\n *\n * The custom header can be set through the `header` slot and it may contain arbitraray content, such as: title, buttons or any other HTML elements.\n *\n * The content area can contain an arbitrary set of controls.\n *\n * **Note:** The custom header is not clickable out of the box, but in this case the icon is interactive and allows to show/hide the content area.\n *\n * ### Responsive Behavior\n *\n * - If the width of the panel is set to 100% (default), the panel and its children are\n * resized responsively,\n * depending on its parent container.\n * - If the panel has a fixed height, it will take up the space even if the panel is\n * collapsed.\n * - When the panel is expandable (the `fixed` property is set to `false`),\n * an arrow icon (pointing to the right) appears in front of the header.\n * - When the animation is activated, expand/collapse uses a smooth animation to open or\n * close the content area.\n * - When the panel expands/collapses, the arrow icon rotates 90 degrees\n * clockwise/counter-clockwise.\n *\n * ### Keyboard Handling\n *\n * #### Fast Navigation\n * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Panel.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @slot {Array<Node>} default - Defines the content of the component. The content is visible only when the component is expanded.\n * @csspart header-wrapper - Used to style the outermost header wrapper, useful for adjusting sticky header position.\n * @csspart header - Used to style the header.\n * @csspart content - Used to style the wrapper of the content.\n */\n@customElement({\n\ttag: \"ui5-panel\",\n\tfastNavigation: true,\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: PanelTemplate,\n\tstyles: panelCss,\n})\n/**\n * Fired when the component is expanded/collapsed by user interaction.\n * @public\n */\n@event(\"toggle\", {\n\tbubbles: true,\n})\nclass Panel extends UI5Element {\n\teventDetails!: {\n\t\ttoggle: void,\n\t}\n\t/**\n\t * This property is used to set the header text of the component.\n\t * The text is visible in both expanded and collapsed states.\n\t *\n\t * **Note:** This property is overridden by the `header` slot.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\theaderText?: string;\n\n\t/**\n\t * Determines whether the component is in a fixed state that is not\n\t * expandable/collapsible by user interaction.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tfixed = false;\n\n\t/**\n\t * Indicates whether the component is collapsed and only the header is displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tcollapsed = false;\n\n\t/**\n\t * Indicates whether the transition between the expanded and the collapsed state of the component is animated. By default the animation is enabled.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.16\n\t */\n\t@property({ type: Boolean })\n\tnoAnimation = false;\n\n\t/**\n\t * Sets the accessible ARIA role of the component.\n\t * Depending on the usage, you can change the role from the default `Form`\n\t * to `Region` or `Complementary`.\n\t * @default \"Form\"\n\t * @public\n\t */\n\t@property()\n\taccessibleRole: `${PanelAccessibleRole}` = \"Form\";\n\n\t/**\n\t * Defines the \"aria-level\" of component heading,\n\t * set by the `headerText`.\n\t * @default \"H2\"\n\t * @public\n\t*/\n\t@property()\n\theaderLevel: `${TitleLevel}` = \"H2\";\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Indicates whether the Panel header is sticky or not.\n\t * If stickyHeader is set to true, then whenever you scroll the content or\n\t * the application, the header of the panel will be always visible and\n\t * a solid color will be used for its design.\n\t * @default false\n\t * @public\n\t * @since 1.16.0-rc.1\n\t */\n\t@property({ type: Boolean })\n\tstickyHeader = false;\n\n\t/**\n\t * When set to `true`, the `accessibleName` property will be\n\t * applied not only on the panel root itself, but on its toggle button too.\n\t * **Note:** This property only has effect if `accessibleName` is set and a header slot is provided.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tuseAccessibleNameForToggleButton = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_hasHeader = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_contentExpanded = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_animationRunning = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_pendingToggle = false;\n\n\t@property({ type: Boolean })\n\t_touched = false;\n\n\t/**\n\t * Defines the component header area.\n\t *\n\t * **Note:** When a header is provided, the `headerText` property is ignored.\n\t * @public\n\t */\n\t@slot()\n\theader!: Slot<HTMLElement>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonBeforeRendering() {\n\t\t// If the animation is running, it will set the content expanded state at the end\n\t\tif (!this._animationRunning) {\n\t\t\tthis._contentExpanded = !this.collapsed;\n\t\t}\n\n\t\tthis._hasHeader = !!this.header.length;\n\t}\n\n\tshouldToggle(element: HTMLElement): boolean {\n\t\tconst customContent = this.header.length;\n\t\tif (customContent) {\n\t\t\treturn element.classList.contains(\"ui5-panel-header-button\");\n\t\t}\n\t\treturn true;\n\t}\n\n\tget shouldNotAnimate() {\n\t\treturn this.noAnimation || getAnimationMode() === AnimationMode.None;\n\t}\n\n\t_isMobile() {\n\t\tif (supportsTouch()) {\n\t\t\tthis._touched = true;\n\t\t}\n\t}\n\n\t_headerFocusOut() {\n\t\tthis._touched = false;\n\t}\n\n\t_headerClick(e: MouseEvent) {\n\t\tif (!this.shouldToggle(e.target as HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._toggleOpen();\n\t}\n\n\t_toggleButtonClick(e: UI5CustomEvent<Button, \"click\">) {\n\t\tif (e.detail.originalEvent.x === 0 && e.detail.originalEvent.y === 0) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\t}\n\n\t_headerKeyDown(e: KeyboardEvent) {\n\t\tif (!this.shouldToggle(e.target as HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._toggleOpen();\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._pendingToggle = true;\n\t\t}\n\n\t\t// Cancel toggle if Escape is pressed\n\t\tif (isEscape(e) && this._pendingToggle) {\n\t\t\te.preventDefault();\n\t\t\tthis._pendingToggle = false;\n\t\t}\n\t}\n\n\t_headerKeyUp(e: KeyboardEvent) {\n\t\tif (!this.shouldToggle(e.target as HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\t// Only toggle if space was pressed and escape wasn't pressed to cancel\n\t\t\tif (this._pendingToggle) {\n\t\t\t\tthis._toggleOpen();\n\t\t\t}\n\t\t\tthis._pendingToggle = false;\n\t\t}\n\t}\n\n\t_toggleOpen() {\n\t\tif (this.fixed) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.collapsed = !this.collapsed;\n\n\t\tif (this.shouldNotAnimate) {\n\t\t\tthis.fireDecoratorEvent(\"toggle\");\n\t\t\treturn;\n\t\t}\n\n\t\tthis._animationRunning = true;\n\n\t\tconst elements = this.getDomRef()!.querySelectorAll(\".ui5-panel-content\");\n\t\tconst animations: Array<Promise<void | Error>> = [];\n\n\t\t[].forEach.call(elements, oElement => {\n\t\t\tif (this.collapsed) {\n\t\t\t\tanimations.push(slideUp(oElement).promise());\n\t\t\t} else {\n\t\t\t\tanimations.push(slideDown(oElement).promise());\n\t\t\t}\n\t\t});\n\n\t\tPromise.all(animations).then(() => {\n\t\t\tthis._animationRunning = false;\n\t\t\tthis._contentExpanded = !this.collapsed;\n\t\t\tthis.fireDecoratorEvent(\"toggle\");\n\t\t});\n\t}\n\n\t_headerOnTarget(target: HTMLElement) {\n\t\treturn target.classList.contains(\"sapMPanelWrappingDiv\");\n\t}\n\n\tget toggleButtonTitle() {\n\t\treturn Panel.i18nBundle.getText(PANEL_ICON);\n\t}\n\n\tget expanded() {\n\t\treturn !this.collapsed;\n\t}\n\n\tget accRole() {\n\t\treturn this.accessibleRole.toLowerCase() as Lowercase<PanelAccessibleRole>;\n\t}\n\n\tget effectiveAccessibleName() {\n\t\treturn typeof this.accessibleName === \"string\" && this.accessibleName.length ? this.accessibleName : undefined;\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\t\"button\": {\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\t\"expanded\": this.expanded,\n\t\t\t\t},\n\t\t\t\t\"title\": this.toggleButtonTitle,\n\t\t\t\t\"ariaLabelButton\": !this.nonFocusableButton && this.useAccessibleNameForToggleButton ? this.effectiveAccessibleName : undefined,\n\t\t\t},\n\t\t\t\"ariaExpanded\": this.nonFixedInternalHeader ? this.expanded : undefined,\n\t\t\t\"ariaControls\": this.nonFixedInternalHeader ? `${this._id}-content` : undefined,\n\t\t\t\"ariaLabelledby\": this.nonFocusableButton ? this.ariaLabelledbyReference : undefined,\n\t\t\t\"role\": this.nonFixedInternalHeader ? \"button\" : undefined as \"button\" | undefined,\n\t\t};\n\t}\n\n\tget ariaLabelledbyReference() {\n\t\treturn (this.nonFocusableButton && this.headerText && !this.fixed) ? `${this._id}-header-title` : undefined;\n\t}\n\n\tget fixedPanelAriaLabelledbyReference() {\n\t\treturn this.fixed && !this.effectiveAccessibleName ? `${this._id}-header-title` : undefined;\n\t}\n\n\tget headerAriaLevel() {\n\t\treturn Number.parseInt(this.headerLevel.slice(1));\n\t}\n\n\tget headerTabIndex() {\n\t\treturn (this.header.length || this.fixed) ? -1 : 0;\n\t}\n\n\tget headingWrapperAriaLevel() {\n\t\treturn !this._hasHeader ? this.headerAriaLevel : undefined;\n\t}\n\n\tget headingWrapperRole() {\n\t\treturn !this._hasHeader ? \"heading\" : undefined;\n\t}\n\n\tget nonFixedInternalHeader() {\n\t\treturn !this._hasHeader && !this.fixed;\n\t}\n\n\tget hasHeaderOrHeaderText() {\n\t\treturn this._hasHeader || this.headerText;\n\t}\n\n\tget nonFocusableButton() {\n\t\treturn !this.header.length;\n\t}\n}\n\nPanel.define();\n\nexport default Panel;\n"]}
|
|
1
|
+
{"version":3,"file":"Panel.js","sourceRoot":"","sources":["../src/Panel.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot } 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-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport slideDown from \"@ui5/webcomponents-base/dist/animations/slideDown.js\";\nimport slideUp from \"@ui5/webcomponents-base/dist/animations/slideUp.js\";\nimport { isSpace, isEnter, isEscape } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport AnimationMode from \"@ui5/webcomponents-base/dist/types/AnimationMode.js\";\nimport { getAnimationMode } from \"@ui5/webcomponents-base/dist/config/AnimationMode.js\";\nimport { supportsTouch } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { UI5CustomEvent } from \"@ui5/webcomponents-base\";\nimport type TitleLevel from \"./types/TitleLevel.js\";\nimport type Button from \"./Button.js\";\nimport type PanelAccessibleRole from \"./types/PanelAccessibleRole.js\";\nimport PanelTemplate from \"./PanelTemplate.js\";\nimport { PANEL_ICON } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport panelCss from \"./generated/themes/Panel.css.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-panel` component is a container which has a header and a\n * content area and is used\n * for grouping and displaying information. It can be collapsed to save space on the screen.\n *\n * ### Guidelines:\n *\n * - Nesting two or more panels is not recommended.\n * - Do not stack too many panels on one page.\n *\n * ### Structure\n * The panel's header area consists of a title bar with a header text or custom header.\n *\n * The header is clickable and can be used to toggle between the expanded and collapsed state. It includes an icon which rotates depending on the state.\n *\n * The custom header can be set through the `header` slot and it may contain arbitraray content, such as: title, buttons or any other HTML elements.\n *\n * The content area can contain an arbitrary set of controls.\n *\n * **Note:** The custom header is not clickable out of the box, but in this case the icon is interactive and allows to show/hide the content area.\n *\n * ### Responsive Behavior\n *\n * - If the width of the panel is set to 100% (default), the panel and its children are\n * resized responsively,\n * depending on its parent container.\n * - If the panel has a fixed height, it will take up the space even if the panel is\n * collapsed.\n * - When the panel is expandable (the `fixed` property is set to `false`),\n * an arrow icon (pointing to the right) appears in front of the header.\n * - When the animation is activated, expand/collapse uses a smooth animation to open or\n * close the content area.\n * - When the panel expands/collapses, the arrow icon rotates 90 degrees\n * clockwise/counter-clockwise.\n *\n * ### Keyboard Handling\n *\n * #### Fast Navigation\n * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Panel.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @slot {Array<Node>} default - Defines the content of the component. The content is visible only when the component is expanded.\n * @csspart header-wrapper - Used to style the outermost header wrapper, useful for adjusting sticky header position.\n * @csspart header - Used to style the header.\n * @csspart content - Used to style the wrapper of the content.\n */\n@customElement({\n\ttag: \"ui5-panel\",\n\tfastNavigation: true,\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: PanelTemplate,\n\tstyles: panelCss,\n})\n/**\n * Fired when the component is expanded/collapsed by user interaction.\n * @public\n */\n@event(\"toggle\", {\n\tbubbles: true,\n})\nclass Panel extends UI5Element {\n\teventDetails!: {\n\t\ttoggle: void,\n\t}\n\t/**\n\t * This property is used to set the header text of the component.\n\t * The text is visible in both expanded and collapsed states.\n\t *\n\t * **Note:** This property is overridden by the `header` slot.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\theaderText?: string;\n\n\t/**\n\t * Determines whether the component is in a fixed state that is not\n\t * expandable/collapsible by user interaction.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tfixed = false;\n\n\t/**\n\t * Indicates whether the component is collapsed and only the header is displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tcollapsed = false;\n\n\t/**\n\t * Indicates whether the transition between the expanded and the collapsed state of the component is animated. By default the animation is enabled.\n\t * @default false\n\t * @public\n\t * @since 1.0.0\n\t */\n\t@property({ type: Boolean })\n\tnoAnimation = false;\n\n\t/**\n\t * Sets the accessible ARIA role of the component.\n\t * Depending on the usage, you can change the role from the default `Form`\n\t * to `Region` or `Complementary`.\n\t * @default \"Form\"\n\t * @public\n\t */\n\t@property()\n\taccessibleRole: `${PanelAccessibleRole}` = \"Form\";\n\n\t/**\n\t * Defines the \"aria-level\" of component heading,\n\t * set by the `headerText`.\n\t * @default \"H2\"\n\t * @public\n\t*/\n\t@property()\n\theaderLevel: `${TitleLevel}` = \"H2\";\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Indicates whether the Panel header is sticky or not.\n\t * If stickyHeader is set to true, then whenever you scroll the content or\n\t * the application, the header of the panel will be always visible and\n\t * a solid color will be used for its design.\n\t * @default false\n\t * @public\n\t * @since 1.16.0\n\t */\n\t@property({ type: Boolean })\n\tstickyHeader = false;\n\n\t/**\n\t * When set to `true`, the `accessibleName` property will be\n\t * applied not only on the panel root itself, but on its toggle button too.\n\t * **Note:** This property only has effect if `accessibleName` is set and a header slot is provided.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tuseAccessibleNameForToggleButton = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_hasHeader = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_contentExpanded = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_animationRunning = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_pendingToggle = false;\n\n\t@property({ type: Boolean })\n\t_touched = false;\n\n\t/**\n\t * Defines the component header area.\n\t *\n\t * **Note:** When a header is provided, the `headerText` property is ignored.\n\t * @public\n\t */\n\t@slot()\n\theader!: Slot<HTMLElement>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonBeforeRendering() {\n\t\t// If the animation is running, it will set the content expanded state at the end\n\t\tif (!this._animationRunning) {\n\t\t\tthis._contentExpanded = !this.collapsed;\n\t\t}\n\n\t\tthis._hasHeader = !!this.header.length;\n\t}\n\n\tshouldToggle(element: HTMLElement): boolean {\n\t\tconst customContent = this.header.length;\n\t\tif (customContent) {\n\t\t\treturn element.classList.contains(\"ui5-panel-header-button\");\n\t\t}\n\t\treturn true;\n\t}\n\n\tget shouldNotAnimate() {\n\t\treturn this.noAnimation || getAnimationMode() === AnimationMode.None;\n\t}\n\n\t_isMobile() {\n\t\tif (supportsTouch()) {\n\t\t\tthis._touched = true;\n\t\t}\n\t}\n\n\t_headerFocusOut() {\n\t\tthis._touched = false;\n\t}\n\n\t_headerClick(e: MouseEvent) {\n\t\tif (!this.shouldToggle(e.target as HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._toggleOpen();\n\t}\n\n\t_toggleButtonClick(e: UI5CustomEvent<Button, \"click\">) {\n\t\tif (e.detail.originalEvent.x === 0 && e.detail.originalEvent.y === 0) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\t}\n\n\t_headerKeyDown(e: KeyboardEvent) {\n\t\tif (!this.shouldToggle(e.target as HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._toggleOpen();\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._pendingToggle = true;\n\t\t}\n\n\t\t// Cancel toggle if Escape is pressed\n\t\tif (isEscape(e) && this._pendingToggle) {\n\t\t\te.preventDefault();\n\t\t\tthis._pendingToggle = false;\n\t\t}\n\t}\n\n\t_headerKeyUp(e: KeyboardEvent) {\n\t\tif (!this.shouldToggle(e.target as HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\t// Only toggle if space was pressed and escape wasn't pressed to cancel\n\t\t\tif (this._pendingToggle) {\n\t\t\t\tthis._toggleOpen();\n\t\t\t}\n\t\t\tthis._pendingToggle = false;\n\t\t}\n\t}\n\n\t_toggleOpen() {\n\t\tif (this.fixed) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.collapsed = !this.collapsed;\n\n\t\tif (this.shouldNotAnimate) {\n\t\t\tthis.fireDecoratorEvent(\"toggle\");\n\t\t\treturn;\n\t\t}\n\n\t\tthis._animationRunning = true;\n\n\t\tconst elements = this.getDomRef()!.querySelectorAll(\".ui5-panel-content\");\n\t\tconst animations: Array<Promise<void | Error>> = [];\n\n\t\t[].forEach.call(elements, oElement => {\n\t\t\tif (this.collapsed) {\n\t\t\t\tanimations.push(slideUp(oElement).promise());\n\t\t\t} else {\n\t\t\t\tanimations.push(slideDown(oElement).promise());\n\t\t\t}\n\t\t});\n\n\t\tPromise.all(animations).then(() => {\n\t\t\tthis._animationRunning = false;\n\t\t\tthis._contentExpanded = !this.collapsed;\n\t\t\tthis.fireDecoratorEvent(\"toggle\");\n\t\t});\n\t}\n\n\t_headerOnTarget(target: HTMLElement) {\n\t\treturn target.classList.contains(\"sapMPanelWrappingDiv\");\n\t}\n\n\tget toggleButtonTitle() {\n\t\treturn Panel.i18nBundle.getText(PANEL_ICON);\n\t}\n\n\tget expanded() {\n\t\treturn !this.collapsed;\n\t}\n\n\tget accRole() {\n\t\treturn this.accessibleRole.toLowerCase() as Lowercase<PanelAccessibleRole>;\n\t}\n\n\tget effectiveAccessibleName() {\n\t\treturn typeof this.accessibleName === \"string\" && this.accessibleName.length ? this.accessibleName : undefined;\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\t\"button\": {\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\t\"expanded\": this.expanded,\n\t\t\t\t},\n\t\t\t\t\"title\": this.toggleButtonTitle,\n\t\t\t\t\"ariaLabelButton\": !this.nonFocusableButton && this.useAccessibleNameForToggleButton ? this.effectiveAccessibleName : undefined,\n\t\t\t},\n\t\t\t\"ariaExpanded\": this.nonFixedInternalHeader ? this.expanded : undefined,\n\t\t\t\"ariaControls\": this.nonFixedInternalHeader ? `${this._id}-content` : undefined,\n\t\t\t\"ariaLabelledby\": this.nonFocusableButton ? this.ariaLabelledbyReference : undefined,\n\t\t\t\"role\": this.nonFixedInternalHeader ? \"button\" : undefined as \"button\" | undefined,\n\t\t};\n\t}\n\n\tget ariaLabelledbyReference() {\n\t\treturn (this.nonFocusableButton && this.headerText && !this.fixed) ? `${this._id}-header-title` : undefined;\n\t}\n\n\tget fixedPanelAriaLabelledbyReference() {\n\t\treturn this.fixed && !this.effectiveAccessibleName ? `${this._id}-header-title` : undefined;\n\t}\n\n\tget headerAriaLevel() {\n\t\treturn Number.parseInt(this.headerLevel.slice(1));\n\t}\n\n\tget headerTabIndex() {\n\t\treturn (this.header.length || this.fixed) ? -1 : 0;\n\t}\n\n\tget headingWrapperAriaLevel() {\n\t\treturn !this._hasHeader ? this.headerAriaLevel : undefined;\n\t}\n\n\tget headingWrapperRole() {\n\t\treturn !this._hasHeader ? \"heading\" : undefined;\n\t}\n\n\tget nonFixedInternalHeader() {\n\t\treturn !this._hasHeader && !this.fixed;\n\t}\n\n\tget hasHeaderOrHeaderText() {\n\t\treturn this._hasHeader || this.headerText;\n\t}\n\n\tget nonFocusableButton() {\n\t\treturn !this.header.length;\n\t}\n}\n\nPanel.define();\n\nexport default Panel;\n"]}
|
package/dist/Popover.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Slot } from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
2
|
import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
3
|
+
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
3
4
|
import Popup from "./Popup.js";
|
|
4
5
|
import PopoverPlacement from "./types/PopoverPlacement.js";
|
|
5
6
|
import PopoverVerticalAlign from "./types/PopoverVerticalAlign.js";
|
|
@@ -61,7 +62,7 @@ type CalculatedPlacement = {
|
|
|
61
62
|
*
|
|
62
63
|
* @constructor
|
|
63
64
|
* @extends Popup
|
|
64
|
-
* @since 1.0.0
|
|
65
|
+
* @since 1.0.0
|
|
65
66
|
* @public
|
|
66
67
|
* @csspart header - Used to style the header of the component
|
|
67
68
|
* @csspart content - Used to style the content of the component
|
|
@@ -69,6 +70,7 @@ type CalculatedPlacement = {
|
|
|
69
70
|
*/
|
|
70
71
|
declare class Popover extends Popup {
|
|
71
72
|
eventDetails: Popup["eventDetails"];
|
|
73
|
+
static i18nBundle: I18nBundle;
|
|
72
74
|
/**
|
|
73
75
|
* Defines the header text.
|
|
74
76
|
*
|
|
@@ -107,7 +109,7 @@ declare class Popover extends Popup {
|
|
|
107
109
|
* Determines whether the component arrow is hidden.
|
|
108
110
|
* @default false
|
|
109
111
|
* @public
|
|
110
|
-
* @since 1.0.0
|
|
112
|
+
* @since 1.0.0
|
|
111
113
|
*/
|
|
112
114
|
hideArrow: boolean;
|
|
113
115
|
/**
|
|
@@ -285,6 +287,15 @@ declare class Popover extends Popup {
|
|
|
285
287
|
get _actualHorizontalAlign(): PopoverActualHorizontalAlign;
|
|
286
288
|
get _showResizeHandle(): boolean;
|
|
287
289
|
get resizeHandlePlacement(): "TopLeft" | "TopRight" | "BottomLeft" | "BottomRight" | undefined;
|
|
290
|
+
get _resizeHandleAriaLabel(): string;
|
|
291
|
+
get _resizeHandleAriaRoleDescription(): string;
|
|
292
|
+
get _resizeHandleAriaDescribedBy(): string | undefined;
|
|
293
|
+
get _resizeHandleAriaDescribedByText(): string | undefined;
|
|
294
|
+
get _resizeHandleTooltip(): string | undefined;
|
|
295
|
+
get _keyboardResizeHandle(): HTMLElement | null;
|
|
296
|
+
forwardToLast(): Promise<void>;
|
|
297
|
+
_getFirstFocusableElement(): Promise<HTMLElement | null>;
|
|
298
|
+
_onResizeKeyDown(e: KeyboardEvent): void;
|
|
288
299
|
_onResizeMouseDown(e: MouseEvent): void;
|
|
289
300
|
readonly isPopover = true;
|
|
290
301
|
}
|
package/dist/Popover.js
CHANGED
|
@@ -9,6 +9,7 @@ import { instanceOfUI5Element } from "@ui5/webcomponents-base/dist/UI5Element.js
|
|
|
9
9
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
10
10
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
11
11
|
import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
|
|
12
|
+
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
12
13
|
import { isIOS } from "@ui5/webcomponents-base/dist/Device.js";
|
|
13
14
|
import { isClickInRect, getClosedPopupParent } from "@ui5/webcomponents-base/dist/util/PopupUtils.js";
|
|
14
15
|
import clamp from "@ui5/webcomponents-base/dist/util/clamp.js";
|
|
@@ -20,6 +21,7 @@ import PopoverVerticalAlign from "./types/PopoverVerticalAlign.js";
|
|
|
20
21
|
import PopoverHorizontalAlign from "./types/PopoverHorizontalAlign.js";
|
|
21
22
|
import { addOpenedPopover, removeOpenedPopover } from "./popup-utils/PopoverRegistry.js";
|
|
22
23
|
import PopoverResize from "./PopoverResize.js";
|
|
24
|
+
import { POPOVER_RESIZE_HANDLE_ARIA_LABEL, POPOVER_HANDLE_ARIA_ROLEDESCRIPTION, POPOVER_ARIA_DESCRIBEDBY_RESIZABLE, POPOVER_RESIZE_HANDLE_TOOLTIP, } from "./generated/i18n/i18n-defaults.js";
|
|
23
25
|
// Template
|
|
24
26
|
import PopoverTemplate from "./PopoverTemplate.js";
|
|
25
27
|
// Styles
|
|
@@ -70,7 +72,7 @@ var PopoverActualPlacement;
|
|
|
70
72
|
*
|
|
71
73
|
* @constructor
|
|
72
74
|
* @extends Popup
|
|
73
|
-
* @since 1.0.0
|
|
75
|
+
* @since 1.0.0
|
|
74
76
|
* @public
|
|
75
77
|
* @csspart header - Used to style the header of the component
|
|
76
78
|
* @csspart content - Used to style the content of the component
|
|
@@ -112,7 +114,7 @@ let Popover = Popover_1 = class Popover extends Popup {
|
|
|
112
114
|
* Determines whether the component arrow is hidden.
|
|
113
115
|
* @default false
|
|
114
116
|
* @public
|
|
115
|
-
* @since 1.0.0
|
|
117
|
+
* @since 1.0.0
|
|
116
118
|
*/
|
|
117
119
|
this.hideArrow = false;
|
|
118
120
|
/**
|
|
@@ -769,9 +771,51 @@ let Popover = Popover_1 = class Popover extends Popup {
|
|
|
769
771
|
get resizeHandlePlacement() {
|
|
770
772
|
return this._resizeHandlePlacement;
|
|
771
773
|
}
|
|
774
|
+
get _resizeHandleAriaLabel() {
|
|
775
|
+
return Popover_1.i18nBundle.getText(POPOVER_RESIZE_HANDLE_ARIA_LABEL);
|
|
776
|
+
}
|
|
777
|
+
get _resizeHandleAriaRoleDescription() {
|
|
778
|
+
return Popover_1.i18nBundle.getText(POPOVER_HANDLE_ARIA_ROLEDESCRIPTION);
|
|
779
|
+
}
|
|
780
|
+
get _resizeHandleAriaDescribedBy() {
|
|
781
|
+
return this._showResizeHandle ? `${this._id}-resizeDescr` : undefined;
|
|
782
|
+
}
|
|
783
|
+
get _resizeHandleAriaDescribedByText() {
|
|
784
|
+
return this._showResizeHandle ? Popover_1.i18nBundle.getText(POPOVER_ARIA_DESCRIBEDBY_RESIZABLE) : undefined;
|
|
785
|
+
}
|
|
786
|
+
get _resizeHandleTooltip() {
|
|
787
|
+
return this._showResizeHandle ? Popover_1.i18nBundle.getText(POPOVER_RESIZE_HANDLE_TOOLTIP) : undefined;
|
|
788
|
+
}
|
|
789
|
+
get _keyboardResizeHandle() {
|
|
790
|
+
if (!this._showResizeHandle) {
|
|
791
|
+
return null;
|
|
792
|
+
}
|
|
793
|
+
return this.shadowRoot.querySelector(`#${this._id}-keyboardResizeHandle`);
|
|
794
|
+
}
|
|
795
|
+
async forwardToLast() {
|
|
796
|
+
const resizeHandle = this._keyboardResizeHandle;
|
|
797
|
+
if (resizeHandle) {
|
|
798
|
+
resizeHandle.focus();
|
|
799
|
+
return;
|
|
800
|
+
}
|
|
801
|
+
await super.forwardToLast();
|
|
802
|
+
}
|
|
803
|
+
async _getFirstFocusableElement() {
|
|
804
|
+
return await super._getFirstFocusableElement() || this._keyboardResizeHandle;
|
|
805
|
+
}
|
|
806
|
+
_onResizeKeyDown(e) {
|
|
807
|
+
// Freeze handle placement on the first keyboard resize keypress so the
|
|
808
|
+
// handle corner stays stable across presses. Without this, recalculating
|
|
809
|
+
// from live DOM can flip placement when the popover center drifts past the
|
|
810
|
+
// opener center, reversing the resize direction mid-session.
|
|
811
|
+
if (!this._resizeHandlePlacement) {
|
|
812
|
+
this._resizeHandlePlacement = this._popoverResize.getResizeHandlePlacement();
|
|
813
|
+
}
|
|
814
|
+
this._popoverResize.onResizeKeyDown(e);
|
|
815
|
+
}
|
|
772
816
|
_onResizeMouseDown(e) {
|
|
773
|
-
this._popoverResize.onResizeMouseDown(e);
|
|
774
817
|
this._resizeHandlePlacement = this._popoverResize.getResizeHandlePlacement();
|
|
818
|
+
this._popoverResize.onResizeMouseDown(e);
|
|
775
819
|
}
|
|
776
820
|
};
|
|
777
821
|
__decorate([
|
|
@@ -825,6 +869,9 @@ __decorate([
|
|
|
825
869
|
__decorate([
|
|
826
870
|
property({ converter: DOMReferenceConverter })
|
|
827
871
|
], Popover.prototype, "opener", null);
|
|
872
|
+
__decorate([
|
|
873
|
+
i18n("@ui5/webcomponents")
|
|
874
|
+
], Popover, "i18nBundle", void 0);
|
|
828
875
|
Popover = Popover_1 = __decorate([
|
|
829
876
|
customElement({
|
|
830
877
|
tag: "ui5-popover",
|
package/dist/Popover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","sourceRoot":"","sources":["../src/Popover.ts"],"names":[],"mappings":"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","sourcesContent":["import { instanceOfUI5Element } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport { isIOS } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { isClickInRect, getClosedPopupParent } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport Popup from \"./Popup.js\";\nimport PopoverPlacement from \"./types/PopoverPlacement.js\";\nimport PopoverVerticalAlign from \"./types/PopoverVerticalAlign.js\";\nimport PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport { addOpenedPopover, removeOpenedPopover } from \"./popup-utils/PopoverRegistry.js\";\nimport PopoverResize from \"./PopoverResize.js\";\nimport type { ResizeHandlePlacement } from \"./PopoverResize.js\";\n\n// Template\nimport PopoverTemplate from \"./PopoverTemplate.js\";\n// Styles\nimport PopupsCommonCss from \"./generated/themes/PopupsCommon.css.js\";\nimport PopoverCss from \"./generated/themes/Popover.css.js\";\nimport createInstanceChecker from \"@ui5/webcomponents-base/dist/util/createInstanceChecker.js\";\n\nconst ARROW_SIZE = 8;\n\ntype PopoverSize = {\n\twidth: number;\n\theight: number;\n}\n\ntype ArrowPosition = {\n\tx: number;\n\ty: number;\n}\n\nenum PopoverActualHorizontalAlign {\n\tCenter = \"Center\",\n\tLeft = \"Left\",\n\tRight = \"Right\",\n\tStretch = \"Stretch\",\n}\n\nenum PopoverActualPlacement {\n\tLeft = \"Left\",\n\tRight = \"Right\",\n\tTop = \"Top\",\n\tBottom = \"Bottom\",\n}\n\ntype CalculatedPlacement = {\n\tarrow: ArrowPosition,\n\ttop: number,\n\tleft: number,\n\tactualPlacement: `${PopoverActualPlacement}`,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-popover` component displays additional information for an object\n * in a compact way and without leaving the page.\n * The Popover can contain various UI elements, such as fields, tables, images, and charts.\n * It can also include actions in the footer.\n *\n * ### Structure\n *\n * The popover has three main areas:\n *\n * - Header (optional)\n * - Content\n * - Footer (optional)\n *\n * **Note:** The `ui5-popover` is closed when the user clicks\n * or taps outside the popover\n * or selects an action within the popover. You can prevent this with the\n * `modal` property.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Popover.js\";`\n *\n * @constructor\n * @extends Popup\n * @since 1.0.0-rc.6\n * @public\n * @csspart header - Used to style the header of the component\n * @csspart content - Used to style the content of the component\n * @csspart footer - Used to style the footer of the component\n */\n@customElement({\n\ttag: \"ui5-popover\",\n\tstyles: [\n\t\tPopup.styles,\n\t\tPopupsCommonCss,\n\t\tPopoverCss,\n\t],\n\ttemplate: PopoverTemplate,\n})\nclass Popover extends Popup {\n\teventDetails!: Popup[\"eventDetails\"];\n\t/**\n\t * Defines the header text.\n\t *\n\t * **Note:** If `header` slot is provided, the `headerText` is ignored.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\theaderText?: string;\n\n\t/**\n\t * Determines on which side the component is placed at.\n\t * @default \"End\"\n\t * @public\n\t */\n\t@property()\n\tplacement: `${PopoverPlacement}` = \"End\";\n\n\t/**\n\t * Determines the horizontal alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property()\n\thorizontalAlign: `${PopoverHorizontalAlign}` = \"Center\";\n\n\t/**\n\t * Determines the vertical alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property()\n\tverticalAlign: `${PopoverVerticalAlign}` = \"Center\";\n\n\t/**\n\t * Defines whether the component should close when\n\t * clicking/tapping outside the popover.\n\t * If enabled, it blocks any interaction with the background.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmodal = false;\n\n\t/**\n\t * Determines whether the component arrow is hidden.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean })\n\thideArrow = false;\n\n\t/**\n\t * Determines if there is no enough space, the component can be placed\n\t * over the target.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tallowTargetOverlap = false;\n\n\t/**\n\t * Determines whether the component is resizable.\n\t * **Note:** This property is effective only on desktop devices.\n\t * @default false\n\t * @public\n\t * @since 2.19.0\n\t */\n\t@property({ type: Boolean })\n\tresizable = false;\n\n\t/**\n\t * Sets the X translation of the arrow\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\tarrowTranslateX = 0;\n\n\t/**\n\t * Sets the Y translation of the arrow\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\tarrowTranslateY = 0;\n\n\t/**\n\t * Returns the calculated placement depending on the free space\n\t * @private\n\t */\n\t@property()\n\tactualPlacement: `${PopoverActualPlacement}` = \"Right\";\n\n\t@property({ type: Number, noAttribute: true })\n\t_maxHeight?: number;\n\n\t@property({ type: Number, noAttribute: true })\n\t_maxWidth?: number;\n\n\t@property({ noAttribute: true })\n\t_resizeHandlePlacement?: `${ResizeHandlePlacement}`;\n\n\t/**\n\t * Defines the header HTML Element.\n\t * @public\n\t */\n\t@slot()\n\theader!: Slot<HTMLElement>;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t * @public\n\t */\n\t@slot()\n\tfooter!: Slot<HTMLElement>;\n\n\t_opener?: HTMLElement | string | null | undefined;\n\t_openerRect?: DOMRect;\n\t_preventRepositionAndClose?: boolean;\n\t_top?: number;\n\t_left?: number;\n\t_oldPlacement?: CalculatedPlacement;\n\t_width?: string;\n\t_height?: string;\n\t_openerIntersectionObserver?: IntersectionObserver | null;\n\n\t_popoverResize: PopoverResize;\n\n\t_initialWidth?: string;\n\t_initialHeight?: string;\n\n\tstatic get VIEWPORT_MARGIN() {\n\t\treturn 10; // px\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._popoverResize = new PopoverResize(this);\n\t}\n\n\t/**\n\t * Defines the ID or DOM Reference of the element at which the popover is shown.\n\t * When using this attribute in a declarative way, you must only use the `id` (as a string) of the element at which you want to show the popover.\n\t * You can only set the `opener` attribute to a DOM Reference when using JavaScript.\n\t * @public\n\t * @default undefined\n\t * @since 1.2.0\n\t */\n\t@property({ converter: DOMReferenceConverter })\n\tset opener(value: HTMLElement | string | null) {\n\t\tif (this._opener === value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opener = value;\n\n\t\tif (value && this.open) {\n\t\t\tthis.openPopup();\n\t\t}\n\t}\n\n\tget opener(): HTMLElement | string | null | undefined {\n\t\treturn this._opener;\n\t}\n\n\tasync openPopup() {\n\t\tif (this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (!opener) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!opener || this.isOpenerOutsideViewport(opener.getBoundingClientRect())) {\n\t\t\tawait renderFinished();\n\t\t\tthis.open = false;\n\t\t\tthis.fireDecoratorEvent(\"close\");\n\t\t\treturn;\n\t\t}\n\n\t\tthis._initialWidth = this.style.width;\n\t\tthis._initialHeight = this.style.height;\n\n\t\tthis._openerRect = opener.getBoundingClientRect();\n\t\tthis._observeOpenerVisibility();\n\n\t\tawait super.openPopup();\n\t}\n\n\tclosePopup(escPressed = false, preventRegistryUpdate = false, preventFocusRestore = false) : void {\n\t\tthis._unobserveOpenerVisibility();\n\n\t\tObject.assign(this.style, {\n\t\t\twidth: this._initialWidth,\n\t\t\theight: this._initialHeight,\n\t\t});\n\n\t\tthis._popoverResize.reset();\n\t\tdelete this._resizeHandlePlacement;\n\n\t\tsuper.closePopup(escPressed, preventRegistryUpdate, preventFocusRestore);\n\t}\n\n\tisOpenerClicked(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (!opener) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (target === opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (this._isUI5AbstractElement(target) && target.getFocusDomRef() === opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn e.composedPath().indexOf(opener) > -1;\n\t}\n\n\tisClicked(e: MouseEvent) {\n\t\tif (this._showResizeHandle) {\n\t\t\tconst resizeHandle = this.shadowRoot!.querySelector(\".ui5-popover-resize-handle\");\n\t\t\tif (resizeHandle === e.composedPath()[0]) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn isClickInRect(e, this.getBoundingClientRect());\n\t}\n\n\t/**\n\t * Override for the _addOpenedPopup hook, which would otherwise just call addOpenedPopup(this)\n\t * @private\n\t */\n\t_addOpenedPopup() {\n\t\taddOpenedPopover(this);\n\t}\n\n\t/**\n\t * Override for the _removeOpenedPopup hook, which would otherwise just call removeOpenedPopup(this)\n\t * @private\n\t */\n\t_removeOpenedPopup() {\n\t\tremoveOpenedPopover(this);\n\t}\n\n\tgetOpenerHTMLElement(opener: HTMLElement | string | null | undefined): HTMLElement | null | undefined {\n\t\tif (opener === undefined || opener === null) {\n\t\t\treturn opener;\n\t\t}\n\n\t\tif (opener instanceof HTMLElement) {\n\t\t\treturn this._isUI5AbstractElement(opener) ? opener.getFocusDomRef() : opener;\n\t\t}\n\n\t\tlet rootNode = this.getRootNode();\n\n\t\tif (!rootNode) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (rootNode === this) {\n\t\t\trootNode = document;\n\t\t}\n\n\t\tlet openerHTMLElement = (rootNode as Document | ShadowRoot).getElementById(opener);\n\n\t\tif (rootNode instanceof ShadowRoot && !openerHTMLElement) {\n\t\t\topenerHTMLElement = document.getElementById(opener);\n\t\t}\n\n\t\tif (openerHTMLElement) {\n\t\t\treturn this._isUI5AbstractElement(openerHTMLElement) ? openerHTMLElement.getFocusDomRef() : openerHTMLElement;\n\t\t}\n\n\t\treturn openerHTMLElement;\n\t}\n\n\tshouldCloseDueToOverflow(placement: `${PopoverActualPlacement}`, openerRect: DOMRect): boolean {\n\t\tconst threshold = 32;\n\t\tconst limits = {\n\t\t\t\"Left\": openerRect.right,\n\t\t\t\"Right\": openerRect.left,\n\t\t\t\"Top\": openerRect.top,\n\t\t\t\"Bottom\": openerRect.bottom,\n\t\t};\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\t\tconst closedPopupParent = getClosedPopupParent(opener!);\n\t\tlet overflowsBottom = false;\n\t\tlet overflowsTop = false;\n\n\t\tif (closedPopupParent instanceof Popover) {\n\t\t\tconst contentRect = closedPopupParent.getBoundingClientRect();\n\t\t\toverflowsBottom = openerRect.top > (contentRect.top + contentRect.height);\n\t\t\toverflowsTop = (openerRect.top + openerRect.height) < contentRect.top;\n\t\t}\n\n\t\treturn (limits[placement] < 0 || (limits[placement] + threshold > (closedPopupParent as unknown as Window).innerHeight)) || overflowsBottom || overflowsTop;\n\t}\n\n\tshouldCloseDueToNoOpener(openerRect: DOMRect): boolean {\n\t\treturn openerRect.top === 0\n\t\t\t&& openerRect.bottom === 0\n\t\t\t&& openerRect.left === 0\n\t\t\t&& openerRect.right === 0;\n\t}\n\n\tisOpenerOutsideViewport(openerRect: DOMRect): boolean {\n\t\treturn openerRect.bottom < 0\n\t\t\t|| openerRect.top > window.innerHeight\n\t\t\t|| openerRect.right < 0\n\t\t\t|| openerRect.left > window.innerWidth;\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_resize() {\n\t\tsuper._resize();\n\n\t\tif (this.open) {\n\t\t\tthis.reposition();\n\t\t}\n\t}\n\n\tget _viewportMargin() {\n\t\treturn Popover.VIEWPORT_MARGIN;\n\t}\n\n\treposition() {\n\t\tthis._show();\n\n\t\tif (this.resizable) {\n\t\t\tthis._resizeHandlePlacement = this._popoverResize.getResizeHandlePlacement();\n\t\t}\n\t}\n\n\tasync _show() {\n\t\tsuper._show();\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (!opener) {\n\t\t\tObject.assign(this.style, {\n\t\t\t\ttop: `0px`,\n\t\t\t\tleft: `0px`,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tif (opener && instanceOfUI5Element(opener) && !opener.getDomRef()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._opened) {\n\t\t\tthis._showOutsideViewport();\n\t\t}\n\n\t\tconst popoverSize = this.getPopoverSize();\n\t\tlet placement;\n\n\t\tif (popoverSize.width === 0 || popoverSize.height === 0) {\n\t\t\t// size can not be determined properly at this point, popover will be shown with the next reposition\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.open) {\n\t\t\t// update opener rect if it was changed during the popover being opened\n\t\t\tthis._openerRect = opener.getBoundingClientRect();\n\t\t}\n\n\t\tif (this._oldPlacement && this.shouldCloseDueToNoOpener(this._openerRect!) && this.isFocusWithin()) {\n\t\t\t// reuse the old placement as the opener is not available,\n\t\t\t// but keep the popover open as the focus is within\n\t\t\tplacement = this._oldPlacement;\n\t\t} else {\n\t\t\tplacement = this.calcPlacement(this._openerRect!, popoverSize);\n\t\t}\n\n\t\tif (this._preventRepositionAndClose || this.isOpenerOutsideViewport(this._openerRect!)) {\n\t\t\tawait this._waitForDomRef();\n\t\t\treturn this.closePopup();\n\t\t}\n\n\t\tthis._oldPlacement = placement;\n\t\tthis.actualPlacement = placement.actualPlacement;\n\n\t\tlet left = clamp(\n\t\t\tthis._left!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientWidth - popoverSize.width - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverActualPlacement.Right) {\n\t\t\tleft = Math.max(left, this._left!);\n\t\t}\n\n\t\tlet top = clamp(\n\t\t\tthis._top!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientHeight - popoverSize.height - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverActualPlacement.Bottom) {\n\t\t\ttop = Math.max(top, this._top!);\n\t\t}\n\n\t\tthis.arrowTranslateX = placement.arrow.x;\n\t\tthis.arrowTranslateY = placement.arrow.y;\n\n\t\ttop = this._adjustForIOSKeyboard(top);\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t});\n\n\t\tif (this._popoverResize.isResized) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && this._width) {\n\t\t\tthis.style.width = this._width;\n\t\t}\n\n\t\tif (this.verticalAlign === PopoverVerticalAlign.Stretch && this._height) {\n\t\t\tthis.style.height = this._height;\n\t\t}\n\t}\n\n\t/**\n\t * Adjust the desired top position to compensate for shift of the screen\n\t * caused by opened keyboard on iOS which affects all elements with position:fixed.\n\t * @private\n\t * @param top The target top in px.\n\t * @returns The adjusted top in px.\n\t */\n\t_adjustForIOSKeyboard(top: number): number {\n\t\tif (!isIOS()) {\n\t\t\treturn top;\n\t\t}\n\n\t\tconst actualTop = Math.ceil(this.getBoundingClientRect().top);\n\n\t\treturn top + (Number.parseInt(this.style.top || \"0\") - actualTop);\n\t}\n\n\t/**\n\t * Callback invoked when the opener element's intersection status changes.\n\t * Closes the popover when the opener is no longer visible.\n\t * @private\n\t */\n\t_onOpenerIntersection(entries: Array<IntersectionObserverEntry>): void {\n\t\tif (this.open && !entries[0]?.isIntersecting) {\n\t\t\tthis.closePopup();\n\t\t}\n\t}\n\n\t/**\n\t * Starts observing the opener element's visibility in the viewport.\n\t * @private\n\t */\n\t_observeOpenerVisibility(): void {\n\t\tthis._unobserveOpenerVisibility();\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (!opener) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._openerIntersectionObserver = new IntersectionObserver(this._onOpenerIntersection.bind(this));\n\n\t\tthis._openerIntersectionObserver.observe(opener);\n\t}\n\n\t/**\n\t * Stops observing the opener element and cleans up the IntersectionObserver instance.\n\t * @private\n\t */\n\t_unobserveOpenerVisibility(): void {\n\t\tif (this._openerIntersectionObserver) {\n\t\t\tthis._openerIntersectionObserver.disconnect();\n\t\t\tthis._openerIntersectionObserver = null;\n\t\t}\n\t}\n\n\tgetPopoverSize(calcScrollHeight: boolean = false): PopoverSize {\n\t\tconst rect = this.getBoundingClientRect();\n\t\tconst width = rect.width;\n\t\tlet height;\n\n\t\tconst domRef = this.getDomRef();\n\n\t\tif (calcScrollHeight && domRef) {\n\t\t\tconst header = domRef.querySelector(\".ui5-popup-header-root\");\n\t\t\tconst content = domRef.querySelector(\".ui5-popup-content\");\n\t\t\tconst footer = domRef.querySelector(\".ui5-popup-footer-root\");\n\n\t\t\theight = content?.scrollHeight || 0;\n\t\t\theight += header?.scrollHeight || 0;\n\t\t\theight += footer?.scrollHeight || 0;\n\t\t} else {\n\t\t\theight = rect.height;\n\t\t}\n\n\t\treturn { width, height };\n\t}\n\n\t_showOutsideViewport() {\n\t\tObject.assign(this.style, {\n\t\t\ttop: \"-10000px\",\n\t\t\tleft: \"-10000px\",\n\t\t});\n\t}\n\n\t_isUI5AbstractElement(el: HTMLElement): el is UI5Element {\n\t\treturn instanceOfUI5Element(el) && el.isUI5AbstractElement;\n\t}\n\n\tget arrowDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popover-arrow\")!;\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tfocusOpener() {\n\t\tthis.getOpenerHTMLElement(this.opener)?.focus();\n\t}\n\n\t/**\n\t * @private\n\t */\n\tcalcPlacement(targetRect: DOMRect, popoverSize: PopoverSize): CalculatedPlacement {\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\t\tlet top = 0;\n\t\tconst allowTargetOverlap = this.allowTargetOverlap;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tlet maxHeight = clientHeight;\n\t\tlet maxWidth = clientWidth;\n\n\t\tconst actualPlacement = this.getActualPlacement(targetRect);\n\n\t\tthis._preventRepositionAndClose = this.shouldCloseDueToNoOpener(targetRect) || this.shouldCloseDueToOverflow(actualPlacement, targetRect);\n\n\t\tconst isVertical = actualPlacement === PopoverActualPlacement.Top\n\t\t\t|| actualPlacement === PopoverActualPlacement.Bottom;\n\n\t\tif (!this._popoverResize.isResized) {\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && isVertical) {\n\t\t\t\tpopoverSize.width = targetRect.width;\n\t\t\t\tthis._width = `${targetRect.width}px`;\n\t\t\t} else if (this.verticalAlign === PopoverVerticalAlign.Stretch && !isVertical) {\n\t\t\t\tpopoverSize.height = targetRect.height;\n\t\t\t\tthis._height = `${targetRect.height}px`;\n\t\t\t}\n\t\t}\n\n\t\tconst arrowOffset = this.hideArrow ? 0 : ARROW_SIZE;\n\n\t\t// calc popover positions\n\t\tswitch (actualPlacement) {\n\t\tcase PopoverActualPlacement.Top:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = Math.max(targetRect.top - popoverSize.height - arrowOffset, 0);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxHeight = targetRect.top - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverActualPlacement.Bottom:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = targetRect.bottom + arrowOffset;\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\ttop = Math.max(Math.min(top, clientHeight - popoverSize.height), 0);\n\t\t\t} else {\n\t\t\t\tmaxHeight = clientHeight - targetRect.bottom - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverActualPlacement.Left:\n\t\t\tleft = Math.max(targetRect.left - popoverSize.width - arrowOffset, 0);\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxWidth = targetRect.left - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverActualPlacement.Right:\n\t\t\tleft = targetRect.left + targetRect.width + arrowOffset;\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\tleft = Math.max(Math.min(left, clientWidth - popoverSize.width), 0);\n\t\t\t} else {\n\t\t\t\tmaxWidth = clientWidth - targetRect.right - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// correct popover positions\n\t\tif (isVertical) {\n\t\t\tif (popoverSize.width > clientWidth || left < Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = Popover.VIEWPORT_MARGIN;\n\t\t\t} else if (left + popoverSize.width > clientWidth - Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = clientWidth - Popover.VIEWPORT_MARGIN - popoverSize.width;\n\t\t\t}\n\t\t} else {\n\t\t\tif (popoverSize.height > clientHeight || top < Popover.VIEWPORT_MARGIN) { // eslint-disable-line\n\t\t\t\ttop = Popover.VIEWPORT_MARGIN;\n\t\t\t} else if (top + popoverSize.height > clientHeight - Popover.VIEWPORT_MARGIN) {\n\t\t\t\ttop = clientHeight - Popover.VIEWPORT_MARGIN - popoverSize.height;\n\t\t\t}\n\t\t}\n\n\t\tthis._maxHeight = Math.round(maxHeight - Popover.VIEWPORT_MARGIN);\n\t\tthis._maxWidth = Math.round(maxWidth - Popover.VIEWPORT_MARGIN);\n\n\t\tconst borderRadius = Number.parseInt(window.getComputedStyle(this).getPropertyValue(\"border-radius\"));\n\t\tconst arrowPos = this.getArrowPosition(targetRect, popoverSize, left, top, isVertical, borderRadius);\n\n\t\t// Apply the RTL correction before the dead-band check so it is baked into `this._left`\n\t\t// once. Adding it after would re-apply it every reposition, causing the position to drift.\n\t\tleft += this.getRTLCorrectionLeft();\n\n\t\tif (this._left === undefined || Math.abs(this._left - left) > 1.5) {\n\t\t\tthis._left = Math.round(left);\n\t\t}\n\n\t\tif (this._top === undefined || Math.abs(this._top - top) > 1.5) {\n\t\t\tthis._top = Math.round(top);\n\t\t}\n\n\t\treturn {\n\t\t\tarrow: arrowPos,\n\t\t\ttop: this._top,\n\t\t\tleft: this._left,\n\t\t\tactualPlacement,\n\t\t};\n\t}\n\n\tget isVertical() : boolean {\n\t\treturn this.placement === PopoverPlacement.Top || this.placement === PopoverPlacement.Bottom;\n\t}\n\n\tgetRTLCorrectionLeft() {\n\t\treturn parseFloat(window.getComputedStyle(this).left) - this.getBoundingClientRect().left;\n\t}\n\n\t/**\n\t * Calculates the position for the arrow.\n\t * @private\n\t * @param targetRect BoundingClientRect of the target element\n\t * @param popoverSize Width and height of the popover\n\t * @param left Left offset of the popover\n\t * @param top Top offset of the popover\n\t * @param isVertical If the popover is positioned vertically to the target element\n\t * @param borderRadius Value of the border-radius property\n\t * @returns Arrow's coordinates\n\t */\n\tgetArrowPosition(targetRect: DOMRect, popoverSize: PopoverSize, left: number, top: number, isVertical: boolean, borderRadius: number): ArrowPosition {\n\t\tconst actualHorizontalAlign = this._actualHorizontalAlign;\n\t\tlet arrowXCentered = actualHorizontalAlign === PopoverActualHorizontalAlign.Center || actualHorizontalAlign === PopoverActualHorizontalAlign.Stretch;\n\n\t\tif (actualHorizontalAlign === PopoverActualHorizontalAlign.Right && left <= targetRect.left) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tif (actualHorizontalAlign === PopoverActualHorizontalAlign.Left && left + popoverSize.width >= targetRect.left + targetRect.width) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tlet arrowTranslateX = 0;\n\t\tif (isVertical && arrowXCentered) {\n\t\t\tarrowTranslateX = targetRect.left + targetRect.width / 2 - left - popoverSize.width / 2;\n\t\t}\n\n\t\tlet arrowTranslateY = 0;\n\t\tif (!isVertical) {\n\t\t\tarrowTranslateY = targetRect.top + targetRect.height / 2 - top - popoverSize.height / 2;\n\t\t}\n\n\t\t// Restricts the arrow's translate value along each dimension,\n\t\t// so that the arrow does not clip over the popover's rounded borders.\n\t\tconst safeRangeForArrowY = popoverSize.height / 2 - borderRadius - ARROW_SIZE / 2 - 2;\n\t\tarrowTranslateY = clamp(\n\t\t\tarrowTranslateY,\n\t\t\t-safeRangeForArrowY,\n\t\t\tsafeRangeForArrowY,\n\t\t);\n\n\t\tconst safeRangeForArrowX = popoverSize.width / 2 - borderRadius - ARROW_SIZE / 2 - 2;\n\t\tarrowTranslateX = clamp(\n\t\t\tarrowTranslateX,\n\t\t\t-safeRangeForArrowX,\n\t\t\tsafeRangeForArrowX,\n\t\t);\n\n\t\treturn {\n\t\t\tx: Math.round(arrowTranslateX),\n\t\t\ty: Math.round(arrowTranslateY),\n\t\t};\n\t}\n\n\t/**\n\t * Fallbacks to new placement, prioritizing `Left` and `Right` placements.\n\t * @private\n\t */\n\tfallbackPlacement(clientWidth: number, clientHeight: number, targetRect: DOMRect, popoverSize: PopoverSize): PopoverActualPlacement | undefined {\n\t\tif (targetRect.left > popoverSize.width) {\n\t\t\treturn PopoverActualPlacement.Left;\n\t\t}\n\n\t\tif (clientWidth - targetRect.right > targetRect.left) {\n\t\t\treturn PopoverActualPlacement.Right;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom > popoverSize.height) {\n\t\t\treturn PopoverActualPlacement.Bottom;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\treturn PopoverActualPlacement.Top;\n\t\t}\n\t}\n\n\tgetActualPlacement(targetRect: DOMRect): `${PopoverActualPlacement}` {\n\t\tconst placement = this.placement;\n\t\tconst popoverSize = this.getPopoverSize(!this.allowTargetOverlap);\n\n\t\tlet actualPlacement: PopoverActualPlacement = PopoverActualPlacement.Right;\n\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Start:\n\t\t\tactualPlacement = this.isRtl ? PopoverActualPlacement.Right : PopoverActualPlacement.Left;\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tactualPlacement = this.isRtl ? PopoverActualPlacement.Left : PopoverActualPlacement.Right;\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Top:\n\t\t\tactualPlacement = PopoverActualPlacement.Top;\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tactualPlacement = PopoverActualPlacement.Bottom;\n\t\t\tbreak;\n\t\t}\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tlet clientHeight = document.documentElement.clientHeight;\n\t\tlet popoverHeight = popoverSize.height;\n\n\t\tif (this.isVertical) {\n\t\t\tpopoverHeight += this.hideArrow ? 0 : ARROW_SIZE;\n\t\t\tclientHeight -= Popover.VIEWPORT_MARGIN;\n\t\t}\n\n\t\tswitch (actualPlacement) {\n\t\tcase PopoverActualPlacement.Top:\n\t\t\tif (targetRect.top < popoverHeight\n\t\t\t\t&& targetRect.top < clientHeight - targetRect.bottom) {\n\t\t\t\tactualPlacement = PopoverActualPlacement.Bottom;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverActualPlacement.Bottom:\n\t\t\tif (clientHeight - targetRect.bottom < popoverHeight\n\t\t\t\t&& clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\t\tactualPlacement = PopoverActualPlacement.Top;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverActualPlacement.Left:\n\t\t\tif (targetRect.left < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || actualPlacement;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverActualPlacement.Right:\n\t\t\tif (clientWidth - targetRect.right < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || actualPlacement;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\treturn actualPlacement;\n\t}\n\n\tgetVerticalLeft(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tconst actualHorizontalAlign = this._actualHorizontalAlign;\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\n\t\tswitch (actualHorizontalAlign) {\n\t\tcase PopoverActualHorizontalAlign.Center:\n\t\tcase PopoverActualHorizontalAlign.Stretch:\n\t\t\tleft = targetRect.left - (popoverSize.width - targetRect.width) / 2;\n\t\t\tleft = this._popoverResize.getCorrectedLeft(left);\n\t\t\tbreak;\n\t\tcase PopoverActualHorizontalAlign.Left:\n\t\t\tleft = targetRect.left;\n\t\t\tbreak;\n\t\tcase PopoverActualHorizontalAlign.Right:\n\t\t\tleft = targetRect.right - popoverSize.width;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn left;\n\t}\n\n\tgetHorizontalTop(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tlet top = 0;\n\n\t\tswitch (this.verticalAlign) {\n\t\tcase PopoverVerticalAlign.Center:\n\t\tcase PopoverVerticalAlign.Stretch:\n\t\t\ttop = targetRect.top - (popoverSize.height - targetRect.height) / 2;\n\t\t\ttop = this._popoverResize.getCorrectedTop(top);\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Top:\n\t\t\ttop = targetRect.top;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Bottom:\n\t\t\ttop = targetRect.bottom - popoverSize.height;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn top;\n\t}\n\n\tget isModal() { // Required by Popup.js\n\t\treturn this.modal;\n\t}\n\n\tget _ariaLabelledBy() { // Required by Popup.js\n\t\tif (!this._ariaLabel && this._displayHeader) {\n\t\t\treturn \"ui5-popup-header\";\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\t...super.styles,\n\t\t\troot: {\n\t\t\t\t\"max-height\": this._maxHeight ? `${this._maxHeight}px` : \"\",\n\t\t\t\t\"max-width\": this._maxWidth ? `${this._maxWidth}px` : \"\",\n\t\t\t},\n\t\t\tarrow: {\n\t\t\t\ttransform: `translate(${this.arrowTranslateX}px, ${this.arrowTranslateY}px)`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes() {\n\t\tconst allClasses = super.classes;\n\t\tallClasses.root[\"ui5-popover-root\"] = true;\n\t\tallClasses.root[\"ui5-popover-rtl\"] = this.isRtl;\n\n\t\tif (this.resizable) {\n\t\t\tthis._popoverResize.setCorrectResizeHandleClass(allClasses);\n\t\t}\n\n\t\treturn allClasses;\n\t}\n\n\t/**\n\t * Hook for descendants to hide header.\n\t */\n\tget _displayHeader() {\n\t\treturn !!(this.header.length || this.headerText);\n\t}\n\n\t/**\n\t * Hook for descendants to hide footer.\n\t */\n\tget _displayFooter() {\n\t\treturn true;\n\t}\n\n\tget isRtl() {\n\t\treturn this.effectiveDir === \"rtl\";\n\t}\n\n\tget _actualHorizontalAlign() : PopoverActualHorizontalAlign {\n\t\tswitch (this.horizontalAlign) {\n\t\tcase PopoverHorizontalAlign.Start:\n\t\t\treturn this.isRtl ? PopoverActualHorizontalAlign.Right : PopoverActualHorizontalAlign.Left;\n\t\tcase PopoverHorizontalAlign.End:\n\t\t\treturn this.isRtl ? PopoverActualHorizontalAlign.Left : PopoverActualHorizontalAlign.Right;\n\t\tcase PopoverHorizontalAlign.Stretch:\n\t\t\treturn PopoverActualHorizontalAlign.Stretch;\n\t\tcase PopoverHorizontalAlign.Center:\n\t\tdefault:\n\t\t\treturn PopoverActualHorizontalAlign.Center;\n\t\t}\n\t}\n\n\tget _showResizeHandle() {\n\t\treturn this.resizable && this.onDesktop;\n\t}\n\n\tget resizeHandlePlacement() {\n\t\treturn this._resizeHandlePlacement;\n\t}\n\n\t_onResizeMouseDown(e: MouseEvent) {\n\t\tthis._popoverResize.onResizeMouseDown(e);\n\t\tthis._resizeHandlePlacement = this._popoverResize.getResizeHandlePlacement();\n\t}\n\n\t// for instance checks\n\treadonly isPopover = true;\n}\n\nPopover.define();\n\nexport default Popover;\nexport const instanceOfPopover = createInstanceChecker<Popover>(\"isPopover\");\nexport { PopoverActualPlacement, PopoverActualHorizontalAlign };\n"]}
|
|
1
|
+
{"version":3,"file":"Popover.js","sourceRoot":"","sources":["../src/Popover.ts"],"names":[],"mappings":"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","sourcesContent":["import { instanceOfUI5Element } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isIOS } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { isClickInRect, getClosedPopupParent } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport Popup from \"./Popup.js\";\nimport PopoverPlacement from \"./types/PopoverPlacement.js\";\nimport PopoverVerticalAlign from \"./types/PopoverVerticalAlign.js\";\nimport PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport { addOpenedPopover, removeOpenedPopover } from \"./popup-utils/PopoverRegistry.js\";\nimport PopoverResize from \"./PopoverResize.js\";\nimport type { ResizeHandlePlacement } from \"./PopoverResize.js\";\nimport {\n\tPOPOVER_RESIZE_HANDLE_ARIA_LABEL,\n\tPOPOVER_HANDLE_ARIA_ROLEDESCRIPTION,\n\tPOPOVER_ARIA_DESCRIBEDBY_RESIZABLE,\n\tPOPOVER_RESIZE_HANDLE_TOOLTIP,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport PopoverTemplate from \"./PopoverTemplate.js\";\n// Styles\nimport PopupsCommonCss from \"./generated/themes/PopupsCommon.css.js\";\nimport PopoverCss from \"./generated/themes/Popover.css.js\";\nimport createInstanceChecker from \"@ui5/webcomponents-base/dist/util/createInstanceChecker.js\";\n\nconst ARROW_SIZE = 8;\n\ntype PopoverSize = {\n\twidth: number;\n\theight: number;\n}\n\ntype ArrowPosition = {\n\tx: number;\n\ty: number;\n}\n\nenum PopoverActualHorizontalAlign {\n\tCenter = \"Center\",\n\tLeft = \"Left\",\n\tRight = \"Right\",\n\tStretch = \"Stretch\",\n}\n\nenum PopoverActualPlacement {\n\tLeft = \"Left\",\n\tRight = \"Right\",\n\tTop = \"Top\",\n\tBottom = \"Bottom\",\n}\n\ntype CalculatedPlacement = {\n\tarrow: ArrowPosition,\n\ttop: number,\n\tleft: number,\n\tactualPlacement: `${PopoverActualPlacement}`,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-popover` component displays additional information for an object\n * in a compact way and without leaving the page.\n * The Popover can contain various UI elements, such as fields, tables, images, and charts.\n * It can also include actions in the footer.\n *\n * ### Structure\n *\n * The popover has three main areas:\n *\n * - Header (optional)\n * - Content\n * - Footer (optional)\n *\n * **Note:** The `ui5-popover` is closed when the user clicks\n * or taps outside the popover\n * or selects an action within the popover. You can prevent this with the\n * `modal` property.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Popover.js\";`\n *\n * @constructor\n * @extends Popup\n * @since 1.0.0\n * @public\n * @csspart header - Used to style the header of the component\n * @csspart content - Used to style the content of the component\n * @csspart footer - Used to style the footer of the component\n */\n@customElement({\n\ttag: \"ui5-popover\",\n\tstyles: [\n\t\tPopup.styles,\n\t\tPopupsCommonCss,\n\t\tPopoverCss,\n\t],\n\ttemplate: PopoverTemplate,\n})\nclass Popover extends Popup {\n\teventDetails!: Popup[\"eventDetails\"];\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * Defines the header text.\n\t *\n\t * **Note:** If `header` slot is provided, the `headerText` is ignored.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\theaderText?: string;\n\n\t/**\n\t * Determines on which side the component is placed at.\n\t * @default \"End\"\n\t * @public\n\t */\n\t@property()\n\tplacement: `${PopoverPlacement}` = \"End\";\n\n\t/**\n\t * Determines the horizontal alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property()\n\thorizontalAlign: `${PopoverHorizontalAlign}` = \"Center\";\n\n\t/**\n\t * Determines the vertical alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property()\n\tverticalAlign: `${PopoverVerticalAlign}` = \"Center\";\n\n\t/**\n\t * Defines whether the component should close when\n\t * clicking/tapping outside the popover.\n\t * If enabled, it blocks any interaction with the background.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmodal = false;\n\n\t/**\n\t * Determines whether the component arrow is hidden.\n\t * @default false\n\t * @public\n\t * @since 1.0.0\n\t */\n\t@property({ type: Boolean })\n\thideArrow = false;\n\n\t/**\n\t * Determines if there is no enough space, the component can be placed\n\t * over the target.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tallowTargetOverlap = false;\n\n\t/**\n\t * Determines whether the component is resizable.\n\t * **Note:** This property is effective only on desktop devices.\n\t * @default false\n\t * @public\n\t * @since 2.19.0\n\t */\n\t@property({ type: Boolean })\n\tresizable = false;\n\n\t/**\n\t * Sets the X translation of the arrow\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\tarrowTranslateX = 0;\n\n\t/**\n\t * Sets the Y translation of the arrow\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\tarrowTranslateY = 0;\n\n\t/**\n\t * Returns the calculated placement depending on the free space\n\t * @private\n\t */\n\t@property()\n\tactualPlacement: `${PopoverActualPlacement}` = \"Right\";\n\n\t@property({ type: Number, noAttribute: true })\n\t_maxHeight?: number;\n\n\t@property({ type: Number, noAttribute: true })\n\t_maxWidth?: number;\n\n\t@property({ noAttribute: true })\n\t_resizeHandlePlacement?: `${ResizeHandlePlacement}`;\n\n\t/**\n\t * Defines the header HTML Element.\n\t * @public\n\t */\n\t@slot()\n\theader!: Slot<HTMLElement>;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t * @public\n\t */\n\t@slot()\n\tfooter!: Slot<HTMLElement>;\n\n\t_opener?: HTMLElement | string | null | undefined;\n\t_openerRect?: DOMRect;\n\t_preventRepositionAndClose?: boolean;\n\t_top?: number;\n\t_left?: number;\n\t_oldPlacement?: CalculatedPlacement;\n\t_width?: string;\n\t_height?: string;\n\t_openerIntersectionObserver?: IntersectionObserver | null;\n\n\t_popoverResize: PopoverResize;\n\n\t_initialWidth?: string;\n\t_initialHeight?: string;\n\n\tstatic get VIEWPORT_MARGIN() {\n\t\treturn 10; // px\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._popoverResize = new PopoverResize(this);\n\t}\n\n\t/**\n\t * Defines the ID or DOM Reference of the element at which the popover is shown.\n\t * When using this attribute in a declarative way, you must only use the `id` (as a string) of the element at which you want to show the popover.\n\t * You can only set the `opener` attribute to a DOM Reference when using JavaScript.\n\t * @public\n\t * @default undefined\n\t * @since 1.2.0\n\t */\n\t@property({ converter: DOMReferenceConverter })\n\tset opener(value: HTMLElement | string | null) {\n\t\tif (this._opener === value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opener = value;\n\n\t\tif (value && this.open) {\n\t\t\tthis.openPopup();\n\t\t}\n\t}\n\n\tget opener(): HTMLElement | string | null | undefined {\n\t\treturn this._opener;\n\t}\n\n\tasync openPopup() {\n\t\tif (this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (!opener) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!opener || this.isOpenerOutsideViewport(opener.getBoundingClientRect())) {\n\t\t\tawait renderFinished();\n\t\t\tthis.open = false;\n\t\t\tthis.fireDecoratorEvent(\"close\");\n\t\t\treturn;\n\t\t}\n\n\t\tthis._initialWidth = this.style.width;\n\t\tthis._initialHeight = this.style.height;\n\n\t\tthis._openerRect = opener.getBoundingClientRect();\n\t\tthis._observeOpenerVisibility();\n\n\t\tawait super.openPopup();\n\t}\n\n\tclosePopup(escPressed = false, preventRegistryUpdate = false, preventFocusRestore = false) : void {\n\t\tthis._unobserveOpenerVisibility();\n\n\t\tObject.assign(this.style, {\n\t\t\twidth: this._initialWidth,\n\t\t\theight: this._initialHeight,\n\t\t});\n\n\t\tthis._popoverResize.reset();\n\t\tdelete this._resizeHandlePlacement;\n\n\t\tsuper.closePopup(escPressed, preventRegistryUpdate, preventFocusRestore);\n\t}\n\n\tisOpenerClicked(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (!opener) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (target === opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (this._isUI5AbstractElement(target) && target.getFocusDomRef() === opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn e.composedPath().indexOf(opener) > -1;\n\t}\n\n\tisClicked(e: MouseEvent) {\n\t\tif (this._showResizeHandle) {\n\t\t\tconst resizeHandle = this.shadowRoot!.querySelector(\".ui5-popover-resize-handle\");\n\t\t\tif (resizeHandle === e.composedPath()[0]) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn isClickInRect(e, this.getBoundingClientRect());\n\t}\n\n\t/**\n\t * Override for the _addOpenedPopup hook, which would otherwise just call addOpenedPopup(this)\n\t * @private\n\t */\n\t_addOpenedPopup() {\n\t\taddOpenedPopover(this);\n\t}\n\n\t/**\n\t * Override for the _removeOpenedPopup hook, which would otherwise just call removeOpenedPopup(this)\n\t * @private\n\t */\n\t_removeOpenedPopup() {\n\t\tremoveOpenedPopover(this);\n\t}\n\n\tgetOpenerHTMLElement(opener: HTMLElement | string | null | undefined): HTMLElement | null | undefined {\n\t\tif (opener === undefined || opener === null) {\n\t\t\treturn opener;\n\t\t}\n\n\t\tif (opener instanceof HTMLElement) {\n\t\t\treturn this._isUI5AbstractElement(opener) ? opener.getFocusDomRef() : opener;\n\t\t}\n\n\t\tlet rootNode = this.getRootNode();\n\n\t\tif (!rootNode) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (rootNode === this) {\n\t\t\trootNode = document;\n\t\t}\n\n\t\tlet openerHTMLElement = (rootNode as Document | ShadowRoot).getElementById(opener);\n\n\t\tif (rootNode instanceof ShadowRoot && !openerHTMLElement) {\n\t\t\topenerHTMLElement = document.getElementById(opener);\n\t\t}\n\n\t\tif (openerHTMLElement) {\n\t\t\treturn this._isUI5AbstractElement(openerHTMLElement) ? openerHTMLElement.getFocusDomRef() : openerHTMLElement;\n\t\t}\n\n\t\treturn openerHTMLElement;\n\t}\n\n\tshouldCloseDueToOverflow(placement: `${PopoverActualPlacement}`, openerRect: DOMRect): boolean {\n\t\tconst threshold = 32;\n\t\tconst limits = {\n\t\t\t\"Left\": openerRect.right,\n\t\t\t\"Right\": openerRect.left,\n\t\t\t\"Top\": openerRect.top,\n\t\t\t\"Bottom\": openerRect.bottom,\n\t\t};\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\t\tconst closedPopupParent = getClosedPopupParent(opener!);\n\t\tlet overflowsBottom = false;\n\t\tlet overflowsTop = false;\n\n\t\tif (closedPopupParent instanceof Popover) {\n\t\t\tconst contentRect = closedPopupParent.getBoundingClientRect();\n\t\t\toverflowsBottom = openerRect.top > (contentRect.top + contentRect.height);\n\t\t\toverflowsTop = (openerRect.top + openerRect.height) < contentRect.top;\n\t\t}\n\n\t\treturn (limits[placement] < 0 || (limits[placement] + threshold > (closedPopupParent as unknown as Window).innerHeight)) || overflowsBottom || overflowsTop;\n\t}\n\n\tshouldCloseDueToNoOpener(openerRect: DOMRect): boolean {\n\t\treturn openerRect.top === 0\n\t\t\t&& openerRect.bottom === 0\n\t\t\t&& openerRect.left === 0\n\t\t\t&& openerRect.right === 0;\n\t}\n\n\tisOpenerOutsideViewport(openerRect: DOMRect): boolean {\n\t\treturn openerRect.bottom < 0\n\t\t\t|| openerRect.top > window.innerHeight\n\t\t\t|| openerRect.right < 0\n\t\t\t|| openerRect.left > window.innerWidth;\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_resize() {\n\t\tsuper._resize();\n\n\t\tif (this.open) {\n\t\t\tthis.reposition();\n\t\t}\n\t}\n\n\tget _viewportMargin() {\n\t\treturn Popover.VIEWPORT_MARGIN;\n\t}\n\n\treposition() {\n\t\tthis._show();\n\n\t\tif (this.resizable) {\n\t\t\tthis._resizeHandlePlacement = this._popoverResize.getResizeHandlePlacement();\n\t\t}\n\t}\n\n\tasync _show() {\n\t\tsuper._show();\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (!opener) {\n\t\t\tObject.assign(this.style, {\n\t\t\t\ttop: `0px`,\n\t\t\t\tleft: `0px`,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tif (opener && instanceOfUI5Element(opener) && !opener.getDomRef()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._opened) {\n\t\t\tthis._showOutsideViewport();\n\t\t}\n\n\t\tconst popoverSize = this.getPopoverSize();\n\t\tlet placement;\n\n\t\tif (popoverSize.width === 0 || popoverSize.height === 0) {\n\t\t\t// size can not be determined properly at this point, popover will be shown with the next reposition\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.open) {\n\t\t\t// update opener rect if it was changed during the popover being opened\n\t\t\tthis._openerRect = opener.getBoundingClientRect();\n\t\t}\n\n\t\tif (this._oldPlacement && this.shouldCloseDueToNoOpener(this._openerRect!) && this.isFocusWithin()) {\n\t\t\t// reuse the old placement as the opener is not available,\n\t\t\t// but keep the popover open as the focus is within\n\t\t\tplacement = this._oldPlacement;\n\t\t} else {\n\t\t\tplacement = this.calcPlacement(this._openerRect!, popoverSize);\n\t\t}\n\n\t\tif (this._preventRepositionAndClose || this.isOpenerOutsideViewport(this._openerRect!)) {\n\t\t\tawait this._waitForDomRef();\n\t\t\treturn this.closePopup();\n\t\t}\n\n\t\tthis._oldPlacement = placement;\n\t\tthis.actualPlacement = placement.actualPlacement;\n\n\t\tlet left = clamp(\n\t\t\tthis._left!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientWidth - popoverSize.width - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverActualPlacement.Right) {\n\t\t\tleft = Math.max(left, this._left!);\n\t\t}\n\n\t\tlet top = clamp(\n\t\t\tthis._top!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientHeight - popoverSize.height - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverActualPlacement.Bottom) {\n\t\t\ttop = Math.max(top, this._top!);\n\t\t}\n\n\t\tthis.arrowTranslateX = placement.arrow.x;\n\t\tthis.arrowTranslateY = placement.arrow.y;\n\n\t\ttop = this._adjustForIOSKeyboard(top);\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t});\n\n\t\tif (this._popoverResize.isResized) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && this._width) {\n\t\t\tthis.style.width = this._width;\n\t\t}\n\n\t\tif (this.verticalAlign === PopoverVerticalAlign.Stretch && this._height) {\n\t\t\tthis.style.height = this._height;\n\t\t}\n\t}\n\n\t/**\n\t * Adjust the desired top position to compensate for shift of the screen\n\t * caused by opened keyboard on iOS which affects all elements with position:fixed.\n\t * @private\n\t * @param top The target top in px.\n\t * @returns The adjusted top in px.\n\t */\n\t_adjustForIOSKeyboard(top: number): number {\n\t\tif (!isIOS()) {\n\t\t\treturn top;\n\t\t}\n\n\t\tconst actualTop = Math.ceil(this.getBoundingClientRect().top);\n\n\t\treturn top + (Number.parseInt(this.style.top || \"0\") - actualTop);\n\t}\n\n\t/**\n\t * Callback invoked when the opener element's intersection status changes.\n\t * Closes the popover when the opener is no longer visible.\n\t * @private\n\t */\n\t_onOpenerIntersection(entries: Array<IntersectionObserverEntry>): void {\n\t\tif (this.open && !entries[0]?.isIntersecting) {\n\t\t\tthis.closePopup();\n\t\t}\n\t}\n\n\t/**\n\t * Starts observing the opener element's visibility in the viewport.\n\t * @private\n\t */\n\t_observeOpenerVisibility(): void {\n\t\tthis._unobserveOpenerVisibility();\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (!opener) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._openerIntersectionObserver = new IntersectionObserver(this._onOpenerIntersection.bind(this));\n\n\t\tthis._openerIntersectionObserver.observe(opener);\n\t}\n\n\t/**\n\t * Stops observing the opener element and cleans up the IntersectionObserver instance.\n\t * @private\n\t */\n\t_unobserveOpenerVisibility(): void {\n\t\tif (this._openerIntersectionObserver) {\n\t\t\tthis._openerIntersectionObserver.disconnect();\n\t\t\tthis._openerIntersectionObserver = null;\n\t\t}\n\t}\n\n\tgetPopoverSize(calcScrollHeight: boolean = false): PopoverSize {\n\t\tconst rect = this.getBoundingClientRect();\n\t\tconst width = rect.width;\n\t\tlet height;\n\n\t\tconst domRef = this.getDomRef();\n\n\t\tif (calcScrollHeight && domRef) {\n\t\t\tconst header = domRef.querySelector(\".ui5-popup-header-root\");\n\t\t\tconst content = domRef.querySelector(\".ui5-popup-content\");\n\t\t\tconst footer = domRef.querySelector(\".ui5-popup-footer-root\");\n\n\t\t\theight = content?.scrollHeight || 0;\n\t\t\theight += header?.scrollHeight || 0;\n\t\t\theight += footer?.scrollHeight || 0;\n\t\t} else {\n\t\t\theight = rect.height;\n\t\t}\n\n\t\treturn { width, height };\n\t}\n\n\t_showOutsideViewport() {\n\t\tObject.assign(this.style, {\n\t\t\ttop: \"-10000px\",\n\t\t\tleft: \"-10000px\",\n\t\t});\n\t}\n\n\t_isUI5AbstractElement(el: HTMLElement): el is UI5Element {\n\t\treturn instanceOfUI5Element(el) && el.isUI5AbstractElement;\n\t}\n\n\tget arrowDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popover-arrow\")!;\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tfocusOpener() {\n\t\tthis.getOpenerHTMLElement(this.opener)?.focus();\n\t}\n\n\t/**\n\t * @private\n\t */\n\tcalcPlacement(targetRect: DOMRect, popoverSize: PopoverSize): CalculatedPlacement {\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\t\tlet top = 0;\n\t\tconst allowTargetOverlap = this.allowTargetOverlap;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tlet maxHeight = clientHeight;\n\t\tlet maxWidth = clientWidth;\n\n\t\tconst actualPlacement = this.getActualPlacement(targetRect);\n\n\t\tthis._preventRepositionAndClose = this.shouldCloseDueToNoOpener(targetRect) || this.shouldCloseDueToOverflow(actualPlacement, targetRect);\n\n\t\tconst isVertical = actualPlacement === PopoverActualPlacement.Top\n\t\t\t|| actualPlacement === PopoverActualPlacement.Bottom;\n\n\t\tif (!this._popoverResize.isResized) {\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && isVertical) {\n\t\t\t\tpopoverSize.width = targetRect.width;\n\t\t\t\tthis._width = `${targetRect.width}px`;\n\t\t\t} else if (this.verticalAlign === PopoverVerticalAlign.Stretch && !isVertical) {\n\t\t\t\tpopoverSize.height = targetRect.height;\n\t\t\t\tthis._height = `${targetRect.height}px`;\n\t\t\t}\n\t\t}\n\n\t\tconst arrowOffset = this.hideArrow ? 0 : ARROW_SIZE;\n\n\t\t// calc popover positions\n\t\tswitch (actualPlacement) {\n\t\tcase PopoverActualPlacement.Top:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = Math.max(targetRect.top - popoverSize.height - arrowOffset, 0);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxHeight = targetRect.top - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverActualPlacement.Bottom:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = targetRect.bottom + arrowOffset;\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\ttop = Math.max(Math.min(top, clientHeight - popoverSize.height), 0);\n\t\t\t} else {\n\t\t\t\tmaxHeight = clientHeight - targetRect.bottom - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverActualPlacement.Left:\n\t\t\tleft = Math.max(targetRect.left - popoverSize.width - arrowOffset, 0);\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxWidth = targetRect.left - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverActualPlacement.Right:\n\t\t\tleft = targetRect.left + targetRect.width + arrowOffset;\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\tleft = Math.max(Math.min(left, clientWidth - popoverSize.width), 0);\n\t\t\t} else {\n\t\t\t\tmaxWidth = clientWidth - targetRect.right - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// correct popover positions\n\t\tif (isVertical) {\n\t\t\tif (popoverSize.width > clientWidth || left < Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = Popover.VIEWPORT_MARGIN;\n\t\t\t} else if (left + popoverSize.width > clientWidth - Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = clientWidth - Popover.VIEWPORT_MARGIN - popoverSize.width;\n\t\t\t}\n\t\t} else {\n\t\t\tif (popoverSize.height > clientHeight || top < Popover.VIEWPORT_MARGIN) { // eslint-disable-line\n\t\t\t\ttop = Popover.VIEWPORT_MARGIN;\n\t\t\t} else if (top + popoverSize.height > clientHeight - Popover.VIEWPORT_MARGIN) {\n\t\t\t\ttop = clientHeight - Popover.VIEWPORT_MARGIN - popoverSize.height;\n\t\t\t}\n\t\t}\n\n\t\tthis._maxHeight = Math.round(maxHeight - Popover.VIEWPORT_MARGIN);\n\t\tthis._maxWidth = Math.round(maxWidth - Popover.VIEWPORT_MARGIN);\n\n\t\tconst borderRadius = Number.parseInt(window.getComputedStyle(this).getPropertyValue(\"border-radius\"));\n\t\tconst arrowPos = this.getArrowPosition(targetRect, popoverSize, left, top, isVertical, borderRadius);\n\n\t\t// Apply the RTL correction before the dead-band check so it is baked into `this._left`\n\t\t// once. Adding it after would re-apply it every reposition, causing the position to drift.\n\t\tleft += this.getRTLCorrectionLeft();\n\n\t\tif (this._left === undefined || Math.abs(this._left - left) > 1.5) {\n\t\t\tthis._left = Math.round(left);\n\t\t}\n\n\t\tif (this._top === undefined || Math.abs(this._top - top) > 1.5) {\n\t\t\tthis._top = Math.round(top);\n\t\t}\n\n\t\treturn {\n\t\t\tarrow: arrowPos,\n\t\t\ttop: this._top,\n\t\t\tleft: this._left,\n\t\t\tactualPlacement,\n\t\t};\n\t}\n\n\tget isVertical() : boolean {\n\t\treturn this.placement === PopoverPlacement.Top || this.placement === PopoverPlacement.Bottom;\n\t}\n\n\tgetRTLCorrectionLeft() {\n\t\treturn parseFloat(window.getComputedStyle(this).left) - this.getBoundingClientRect().left;\n\t}\n\n\t/**\n\t * Calculates the position for the arrow.\n\t * @private\n\t * @param targetRect BoundingClientRect of the target element\n\t * @param popoverSize Width and height of the popover\n\t * @param left Left offset of the popover\n\t * @param top Top offset of the popover\n\t * @param isVertical If the popover is positioned vertically to the target element\n\t * @param borderRadius Value of the border-radius property\n\t * @returns Arrow's coordinates\n\t */\n\tgetArrowPosition(targetRect: DOMRect, popoverSize: PopoverSize, left: number, top: number, isVertical: boolean, borderRadius: number): ArrowPosition {\n\t\tconst actualHorizontalAlign = this._actualHorizontalAlign;\n\t\tlet arrowXCentered = actualHorizontalAlign === PopoverActualHorizontalAlign.Center || actualHorizontalAlign === PopoverActualHorizontalAlign.Stretch;\n\n\t\tif (actualHorizontalAlign === PopoverActualHorizontalAlign.Right && left <= targetRect.left) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tif (actualHorizontalAlign === PopoverActualHorizontalAlign.Left && left + popoverSize.width >= targetRect.left + targetRect.width) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tlet arrowTranslateX = 0;\n\t\tif (isVertical && arrowXCentered) {\n\t\t\tarrowTranslateX = targetRect.left + targetRect.width / 2 - left - popoverSize.width / 2;\n\t\t}\n\n\t\tlet arrowTranslateY = 0;\n\t\tif (!isVertical) {\n\t\t\tarrowTranslateY = targetRect.top + targetRect.height / 2 - top - popoverSize.height / 2;\n\t\t}\n\n\t\t// Restricts the arrow's translate value along each dimension,\n\t\t// so that the arrow does not clip over the popover's rounded borders.\n\t\tconst safeRangeForArrowY = popoverSize.height / 2 - borderRadius - ARROW_SIZE / 2 - 2;\n\t\tarrowTranslateY = clamp(\n\t\t\tarrowTranslateY,\n\t\t\t-safeRangeForArrowY,\n\t\t\tsafeRangeForArrowY,\n\t\t);\n\n\t\tconst safeRangeForArrowX = popoverSize.width / 2 - borderRadius - ARROW_SIZE / 2 - 2;\n\t\tarrowTranslateX = clamp(\n\t\t\tarrowTranslateX,\n\t\t\t-safeRangeForArrowX,\n\t\t\tsafeRangeForArrowX,\n\t\t);\n\n\t\treturn {\n\t\t\tx: Math.round(arrowTranslateX),\n\t\t\ty: Math.round(arrowTranslateY),\n\t\t};\n\t}\n\n\t/**\n\t * Fallbacks to new placement, prioritizing `Left` and `Right` placements.\n\t * @private\n\t */\n\tfallbackPlacement(clientWidth: number, clientHeight: number, targetRect: DOMRect, popoverSize: PopoverSize): PopoverActualPlacement | undefined {\n\t\tif (targetRect.left > popoverSize.width) {\n\t\t\treturn PopoverActualPlacement.Left;\n\t\t}\n\n\t\tif (clientWidth - targetRect.right > targetRect.left) {\n\t\t\treturn PopoverActualPlacement.Right;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom > popoverSize.height) {\n\t\t\treturn PopoverActualPlacement.Bottom;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\treturn PopoverActualPlacement.Top;\n\t\t}\n\t}\n\n\tgetActualPlacement(targetRect: DOMRect): `${PopoverActualPlacement}` {\n\t\tconst placement = this.placement;\n\t\tconst popoverSize = this.getPopoverSize(!this.allowTargetOverlap);\n\n\t\tlet actualPlacement: PopoverActualPlacement = PopoverActualPlacement.Right;\n\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Start:\n\t\t\tactualPlacement = this.isRtl ? PopoverActualPlacement.Right : PopoverActualPlacement.Left;\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tactualPlacement = this.isRtl ? PopoverActualPlacement.Left : PopoverActualPlacement.Right;\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Top:\n\t\t\tactualPlacement = PopoverActualPlacement.Top;\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tactualPlacement = PopoverActualPlacement.Bottom;\n\t\t\tbreak;\n\t\t}\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tlet clientHeight = document.documentElement.clientHeight;\n\t\tlet popoverHeight = popoverSize.height;\n\n\t\tif (this.isVertical) {\n\t\t\tpopoverHeight += this.hideArrow ? 0 : ARROW_SIZE;\n\t\t\tclientHeight -= Popover.VIEWPORT_MARGIN;\n\t\t}\n\n\t\tswitch (actualPlacement) {\n\t\tcase PopoverActualPlacement.Top:\n\t\t\tif (targetRect.top < popoverHeight\n\t\t\t\t&& targetRect.top < clientHeight - targetRect.bottom) {\n\t\t\t\tactualPlacement = PopoverActualPlacement.Bottom;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverActualPlacement.Bottom:\n\t\t\tif (clientHeight - targetRect.bottom < popoverHeight\n\t\t\t\t&& clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\t\tactualPlacement = PopoverActualPlacement.Top;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverActualPlacement.Left:\n\t\t\tif (targetRect.left < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || actualPlacement;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverActualPlacement.Right:\n\t\t\tif (clientWidth - targetRect.right < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || actualPlacement;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\treturn actualPlacement;\n\t}\n\n\tgetVerticalLeft(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tconst actualHorizontalAlign = this._actualHorizontalAlign;\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\n\t\tswitch (actualHorizontalAlign) {\n\t\tcase PopoverActualHorizontalAlign.Center:\n\t\tcase PopoverActualHorizontalAlign.Stretch:\n\t\t\tleft = targetRect.left - (popoverSize.width - targetRect.width) / 2;\n\t\t\tleft = this._popoverResize.getCorrectedLeft(left);\n\t\t\tbreak;\n\t\tcase PopoverActualHorizontalAlign.Left:\n\t\t\tleft = targetRect.left;\n\t\t\tbreak;\n\t\tcase PopoverActualHorizontalAlign.Right:\n\t\t\tleft = targetRect.right - popoverSize.width;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn left;\n\t}\n\n\tgetHorizontalTop(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tlet top = 0;\n\n\t\tswitch (this.verticalAlign) {\n\t\tcase PopoverVerticalAlign.Center:\n\t\tcase PopoverVerticalAlign.Stretch:\n\t\t\ttop = targetRect.top - (popoverSize.height - targetRect.height) / 2;\n\t\t\ttop = this._popoverResize.getCorrectedTop(top);\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Top:\n\t\t\ttop = targetRect.top;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Bottom:\n\t\t\ttop = targetRect.bottom - popoverSize.height;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn top;\n\t}\n\n\tget isModal() { // Required by Popup.js\n\t\treturn this.modal;\n\t}\n\n\tget _ariaLabelledBy() { // Required by Popup.js\n\t\tif (!this._ariaLabel && this._displayHeader) {\n\t\t\treturn \"ui5-popup-header\";\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\t...super.styles,\n\t\t\troot: {\n\t\t\t\t\"max-height\": this._maxHeight ? `${this._maxHeight}px` : \"\",\n\t\t\t\t\"max-width\": this._maxWidth ? `${this._maxWidth}px` : \"\",\n\t\t\t},\n\t\t\tarrow: {\n\t\t\t\ttransform: `translate(${this.arrowTranslateX}px, ${this.arrowTranslateY}px)`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes() {\n\t\tconst allClasses = super.classes;\n\t\tallClasses.root[\"ui5-popover-root\"] = true;\n\t\tallClasses.root[\"ui5-popover-rtl\"] = this.isRtl;\n\n\t\tif (this.resizable) {\n\t\t\tthis._popoverResize.setCorrectResizeHandleClass(allClasses);\n\t\t}\n\n\t\treturn allClasses;\n\t}\n\n\t/**\n\t * Hook for descendants to hide header.\n\t */\n\tget _displayHeader() {\n\t\treturn !!(this.header.length || this.headerText);\n\t}\n\n\t/**\n\t * Hook for descendants to hide footer.\n\t */\n\tget _displayFooter() {\n\t\treturn true;\n\t}\n\n\tget isRtl() {\n\t\treturn this.effectiveDir === \"rtl\";\n\t}\n\n\tget _actualHorizontalAlign() : PopoverActualHorizontalAlign {\n\t\tswitch (this.horizontalAlign) {\n\t\tcase PopoverHorizontalAlign.Start:\n\t\t\treturn this.isRtl ? PopoverActualHorizontalAlign.Right : PopoverActualHorizontalAlign.Left;\n\t\tcase PopoverHorizontalAlign.End:\n\t\t\treturn this.isRtl ? PopoverActualHorizontalAlign.Left : PopoverActualHorizontalAlign.Right;\n\t\tcase PopoverHorizontalAlign.Stretch:\n\t\t\treturn PopoverActualHorizontalAlign.Stretch;\n\t\tcase PopoverHorizontalAlign.Center:\n\t\tdefault:\n\t\t\treturn PopoverActualHorizontalAlign.Center;\n\t\t}\n\t}\n\n\tget _showResizeHandle() {\n\t\treturn this.resizable && this.onDesktop;\n\t}\n\n\tget resizeHandlePlacement() {\n\t\treturn this._resizeHandlePlacement;\n\t}\n\n\tget _resizeHandleAriaLabel() {\n\t\treturn Popover.i18nBundle.getText(POPOVER_RESIZE_HANDLE_ARIA_LABEL);\n\t}\n\n\tget _resizeHandleAriaRoleDescription() {\n\t\treturn Popover.i18nBundle.getText(POPOVER_HANDLE_ARIA_ROLEDESCRIPTION);\n\t}\n\n\tget _resizeHandleAriaDescribedBy() {\n\t\treturn this._showResizeHandle ? `${this._id}-resizeDescr` : undefined;\n\t}\n\n\tget _resizeHandleAriaDescribedByText() {\n\t\treturn this._showResizeHandle ? Popover.i18nBundle.getText(POPOVER_ARIA_DESCRIBEDBY_RESIZABLE) : undefined;\n\t}\n\n\tget _resizeHandleTooltip() {\n\t\treturn this._showResizeHandle ? Popover.i18nBundle.getText(POPOVER_RESIZE_HANDLE_TOOLTIP) : undefined;\n\t}\n\n\tget _keyboardResizeHandle() {\n\t\tif (!this._showResizeHandle) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`#${this._id}-keyboardResizeHandle`);\n\t}\n\n\tasync forwardToLast() {\n\t\tconst resizeHandle = this._keyboardResizeHandle;\n\n\t\tif (resizeHandle) {\n\t\t\tresizeHandle.focus();\n\t\t\treturn;\n\t\t}\n\t\tawait super.forwardToLast();\n\t}\n\n\tasync _getFirstFocusableElement() {\n\t\treturn await super._getFirstFocusableElement() || this._keyboardResizeHandle;\n\t}\n\n\t_onResizeKeyDown(e: KeyboardEvent) {\n\t\t// Freeze handle placement on the first keyboard resize keypress so the\n\t\t// handle corner stays stable across presses. Without this, recalculating\n\t\t// from live DOM can flip placement when the popover center drifts past the\n\t\t// opener center, reversing the resize direction mid-session.\n\t\tif (!this._resizeHandlePlacement) {\n\t\t\tthis._resizeHandlePlacement = this._popoverResize.getResizeHandlePlacement();\n\t\t}\n\t\tthis._popoverResize.onResizeKeyDown(e);\n\t}\n\n\t_onResizeMouseDown(e: MouseEvent) {\n\t\tthis._resizeHandlePlacement = this._popoverResize.getResizeHandlePlacement();\n\t\tthis._popoverResize.onResizeMouseDown(e);\n\t}\n\n\t// for instance checks\n\treadonly isPopover = true;\n}\n\nPopover.define();\n\nexport default Popover;\nexport const instanceOfPopover = createInstanceChecker<Popover>(\"isPopover\");\nexport { PopoverActualPlacement, PopoverActualHorizontalAlign };\n"]}
|
package/dist/PopoverResize.d.ts
CHANGED