@ui5/webcomponents 2.2.0-rc.2 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/cypress/specs/Button.cy.ts +361 -0
- package/cypress/specs/List.cy.ts +34 -0
- package/cypress/specs/Menu.cy.ts +429 -0
- package/cypress/specs/ResponsivePopover.mobile.cy.ts +93 -0
- package/cypress/specs/Select.cy.ts +39 -0
- package/cypress/specs/TableLoading.cy.ts +44 -0
- package/cypress/specs/TextArea.cy.ts +699 -0
- package/cypress/support/commands/Menu.commands.ts +48 -0
- package/cypress/support/commands.ts +75 -0
- package/cypress/support/component.ts +3 -0
- package/cypress/tsconfig.json +36 -0
- package/cypress.config.js +8 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/BreadcrumbsItem.d.ts +2 -0
- package/dist/BreadcrumbsItem.js +5 -0
- package/dist/BreadcrumbsItem.js.map +1 -1
- package/dist/Calendar.d.ts +2 -0
- package/dist/Calendar.js +4 -2
- package/dist/Calendar.js.map +1 -1
- package/dist/ColorPicker.js +1 -0
- package/dist/ColorPicker.js.map +1 -1
- package/dist/DateComponentBase.d.ts +9 -0
- package/dist/DateComponentBase.js +11 -0
- package/dist/DateComponentBase.js.map +1 -1
- package/dist/DateRangePicker.d.ts +0 -5
- package/dist/DateRangePicker.js +0 -7
- package/dist/DateRangePicker.js.map +1 -1
- package/dist/DayPicker.d.ts +2 -3
- package/dist/DayPicker.js +25 -21
- package/dist/DayPicker.js.map +1 -1
- package/dist/Dialog.js +2 -2
- package/dist/Dialog.js.map +1 -1
- package/dist/FileUploader.d.ts +3 -3
- package/dist/FileUploader.js +3 -3
- package/dist/FileUploader.js.map +1 -1
- package/dist/Link.d.ts +1 -1
- package/dist/Link.js.map +1 -1
- package/dist/List.js +4 -3
- package/dist/List.js.map +1 -1
- package/dist/MonthPicker.d.ts +40 -2
- package/dist/MonthPicker.js +83 -10
- package/dist/MonthPicker.js.map +1 -1
- package/dist/MultiComboBox.js +8 -4
- package/dist/MultiComboBox.js.map +1 -1
- package/dist/Popover.js +2 -2
- package/dist/Popover.js.map +1 -1
- package/dist/Popup.js +0 -2
- package/dist/Popup.js.map +1 -1
- package/dist/TextArea.d.ts +1 -1
- package/dist/TextArea.js +7 -4
- package/dist/TextArea.js.map +1 -1
- package/dist/YearPicker.d.ts +39 -1
- package/dist/YearPicker.js +82 -9
- package/dist/YearPicker.js.map +1 -1
- package/dist/css/themes/Avatar.css +1 -1
- package/dist/css/themes/AvatarGroup.css +1 -1
- package/dist/css/themes/Bar.css +1 -1
- package/dist/css/themes/Breadcrumbs.css +1 -1
- package/dist/css/themes/BrowserScrollbar.css +1 -1
- package/dist/css/themes/BusyIndicator.css +1 -1
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/Calendar.css +1 -1
- package/dist/css/themes/CalendarHeader.css +1 -1
- package/dist/css/themes/CalendarLegend.css +1 -1
- package/dist/css/themes/CalendarLegendItem.css +1 -1
- package/dist/css/themes/Card.css +1 -1
- package/dist/css/themes/CardHeader.css +1 -1
- package/dist/css/themes/Carousel.css +1 -1
- package/dist/css/themes/CheckBox.css +1 -1
- package/dist/css/themes/ColorPalette.css +1 -1
- package/dist/css/themes/ColorPaletteItem.css +1 -1
- package/dist/css/themes/ColorPalettePopover.css +1 -1
- package/dist/css/themes/ColorPicker.css +1 -1
- package/dist/css/themes/ComboBox.css +1 -1
- package/dist/css/themes/DatePicker.css +1 -1
- package/dist/css/themes/DateTimePickerPopover.css +1 -1
- package/dist/css/themes/DayPicker.css +1 -1
- package/dist/css/themes/Dialog.css +1 -1
- package/dist/css/themes/FileUploader.css +1 -1
- package/dist/css/themes/Form.css +1 -1
- package/dist/css/themes/FormItem.css +1 -1
- package/dist/css/themes/FormLabelSpan.css +1 -1
- package/dist/css/themes/GrowingButton.css +1 -1
- package/dist/css/themes/Icon.css +1 -1
- package/dist/css/themes/Input.css +1 -1
- package/dist/css/themes/InputIcon.css +1 -1
- package/dist/css/themes/InputSharedStyles.css +1 -1
- package/dist/css/themes/Link.css +1 -1
- package/dist/css/themes/List.css +1 -1
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/ListItemBase.css +1 -1
- package/dist/css/themes/ListItemCustom.css +1 -1
- package/dist/css/themes/ListItemGroup.css +1 -1
- package/dist/css/themes/ListItemGroupHeader.css +1 -1
- package/dist/css/themes/ListItemIcon.css +1 -1
- package/dist/css/themes/Menu.css +1 -1
- package/dist/css/themes/MenuItem.css +1 -1
- package/dist/css/themes/MessageStrip.css +1 -1
- package/dist/css/themes/MonthPicker.css +1 -1
- package/dist/css/themes/MultiComboBox.css +1 -1
- package/dist/css/themes/MultiComboBoxPopover.css +1 -1
- package/dist/css/themes/MultiInput.css +1 -1
- package/dist/css/themes/NavigationMenu.css +1 -1
- package/dist/css/themes/NavigationMenuItem.css +1 -1
- package/dist/css/themes/OptionBase.css +1 -1
- package/dist/css/themes/Panel.css +1 -1
- package/dist/css/themes/Popover.css +1 -1
- package/dist/css/themes/PopupsCommon.css +1 -1
- package/dist/css/themes/ProgressIndicator.css +1 -1
- package/dist/css/themes/RadioButton.css +1 -1
- package/dist/css/themes/RangeSlider.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/ResponsivePopover.css +1 -1
- package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
- package/dist/css/themes/SegmentedButton.css +1 -1
- package/dist/css/themes/SegmentedButtonItem.css +1 -1
- package/dist/css/themes/Select.css +1 -1
- package/dist/css/themes/SliderBase.css +1 -1
- package/dist/css/themes/SplitButton.css +1 -1
- package/dist/css/themes/StepInput.css +1 -1
- package/dist/css/themes/SuggestionItem.css +1 -1
- package/dist/css/themes/SuggestionItemCustom.css +1 -1
- package/dist/css/themes/Switch.css +1 -1
- package/dist/css/themes/TabContainer.css +1 -1
- package/dist/css/themes/TabInOverflow.css +1 -1
- package/dist/css/themes/TabInStrip.css +1 -1
- package/dist/css/themes/TabSemanticIcon.css +1 -1
- package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
- package/dist/css/themes/Table.css +1 -1
- package/dist/css/themes/TableCellBase.css +1 -1
- package/dist/css/themes/TableHeaderRow.css +1 -1
- package/dist/css/themes/TableRow.css +1 -1
- package/dist/css/themes/TableRowBase.css +1 -1
- package/dist/css/themes/Tag.css +1 -1
- package/dist/css/themes/Text.css +1 -1
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/css/themes/TimePicker.css +1 -1
- package/dist/css/themes/Toast.css +1 -1
- package/dist/css/themes/ToggleButton.css +1 -1
- package/dist/css/themes/Token.css +1 -1
- package/dist/css/themes/Tokenizer.css +1 -1
- package/dist/css/themes/TokenizerPopover.css +1 -1
- package/dist/css/themes/Toolbar.css +1 -1
- package/dist/css/themes/ToolbarPopover.css +1 -1
- package/dist/css/themes/TreeItem.css +1 -1
- package/dist/css/themes/ValueStateMessage.css +1 -1
- package/dist/css/themes/YearPicker.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +274 -3
- package/dist/custom-elements.json +222 -3
- 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_cs.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_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_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
- package/dist/generated/templates/CalendarTemplate.lit.js +1 -1
- package/dist/generated/templates/CalendarTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/DatePickerPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
- package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DateRangePickerTemplate.lit.js +1 -1
- package/dist/generated/templates/DateRangePickerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DateTimePickerTemplate.lit.js +1 -1
- package/dist/generated/templates/DateTimePickerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/LinkTemplate.lit.js +1 -1
- package/dist/generated/templates/LinkTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MonthPickerTemplate.lit.js +2 -2
- package/dist/generated/templates/MonthPickerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/YearPickerTemplate.lit.js +2 -2
- package/dist/generated/templates/YearPickerTemplate.lit.js.map +1 -1
- package/dist/generated/themes/Avatar.css.js +1 -1
- package/dist/generated/themes/Avatar.css.js.map +1 -1
- package/dist/generated/themes/AvatarGroup.css.js +1 -1
- package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
- package/dist/generated/themes/Bar.css.js +1 -1
- package/dist/generated/themes/Bar.css.js.map +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
- package/dist/generated/themes/BrowserScrollbar.css.js +1 -1
- package/dist/generated/themes/BrowserScrollbar.css.js.map +1 -1
- package/dist/generated/themes/BusyIndicator.css.js +1 -1
- package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/Calendar.css.js +1 -1
- package/dist/generated/themes/Calendar.css.js.map +1 -1
- package/dist/generated/themes/CalendarHeader.css.js +1 -1
- package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
- package/dist/generated/themes/CalendarLegend.css.js +1 -1
- package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
- package/dist/generated/themes/Card.css.js +1 -1
- package/dist/generated/themes/Card.css.js.map +1 -1
- package/dist/generated/themes/CardHeader.css.js +1 -1
- package/dist/generated/themes/CardHeader.css.js.map +1 -1
- package/dist/generated/themes/Carousel.css.js +1 -1
- package/dist/generated/themes/Carousel.css.js.map +1 -1
- package/dist/generated/themes/CheckBox.css.js +1 -1
- package/dist/generated/themes/CheckBox.css.js.map +1 -1
- package/dist/generated/themes/ColorPalette.css.js +1 -1
- package/dist/generated/themes/ColorPalette.css.js.map +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
- package/dist/generated/themes/ColorPicker.css.js +1 -1
- package/dist/generated/themes/ColorPicker.css.js.map +1 -1
- package/dist/generated/themes/ComboBox.css.js +1 -1
- package/dist/generated/themes/ComboBox.css.js.map +1 -1
- package/dist/generated/themes/DatePicker.css.js +1 -1
- package/dist/generated/themes/DatePicker.css.js.map +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/DayPicker.css.js +1 -1
- package/dist/generated/themes/DayPicker.css.js.map +1 -1
- package/dist/generated/themes/Dialog.css.js +1 -1
- package/dist/generated/themes/Dialog.css.js.map +1 -1
- package/dist/generated/themes/FileUploader.css.js +1 -1
- package/dist/generated/themes/FileUploader.css.js.map +1 -1
- package/dist/generated/themes/Form.css.js +1 -1
- package/dist/generated/themes/Form.css.js.map +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/FormLabelSpan.css.js +1 -1
- package/dist/generated/themes/FormLabelSpan.css.js.map +1 -1
- package/dist/generated/themes/GrowingButton.css.js +1 -1
- package/dist/generated/themes/GrowingButton.css.js.map +1 -1
- package/dist/generated/themes/Icon.css.js +1 -1
- package/dist/generated/themes/Icon.css.js.map +1 -1
- package/dist/generated/themes/Input.css.js +1 -1
- package/dist/generated/themes/Input.css.js.map +1 -1
- package/dist/generated/themes/InputIcon.css.js +1 -1
- package/dist/generated/themes/InputIcon.css.js.map +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
- package/dist/generated/themes/Link.css.js +1 -1
- package/dist/generated/themes/Link.css.js.map +1 -1
- package/dist/generated/themes/List.css.js +1 -1
- package/dist/generated/themes/List.css.js.map +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/ListItemBase.css.js +1 -1
- package/dist/generated/themes/ListItemBase.css.js.map +1 -1
- package/dist/generated/themes/ListItemCustom.css.js +1 -1
- package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
- package/dist/generated/themes/ListItemGroup.css.js +1 -1
- package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
- package/dist/generated/themes/ListItemIcon.css.js +1 -1
- package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
- package/dist/generated/themes/Menu.css.js +1 -1
- package/dist/generated/themes/Menu.css.js.map +1 -1
- package/dist/generated/themes/MenuItem.css.js +1 -1
- package/dist/generated/themes/MenuItem.css.js.map +1 -1
- package/dist/generated/themes/MessageStrip.css.js +1 -1
- package/dist/generated/themes/MessageStrip.css.js.map +1 -1
- package/dist/generated/themes/MonthPicker.css.js +1 -1
- package/dist/generated/themes/MonthPicker.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBox.css.js +1 -1
- package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
- package/dist/generated/themes/MultiInput.css.js +1 -1
- package/dist/generated/themes/MultiInput.css.js.map +1 -1
- package/dist/generated/themes/NavigationMenu.css.js +1 -1
- package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
- package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
- package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
- package/dist/generated/themes/OptionBase.css.js +1 -1
- package/dist/generated/themes/OptionBase.css.js.map +1 -1
- package/dist/generated/themes/Panel.css.js +1 -1
- package/dist/generated/themes/Panel.css.js.map +1 -1
- package/dist/generated/themes/Popover.css.js +1 -1
- package/dist/generated/themes/Popover.css.js.map +1 -1
- package/dist/generated/themes/PopupsCommon.css.js +1 -1
- package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
- package/dist/generated/themes/RadioButton.css.js +1 -1
- package/dist/generated/themes/RadioButton.css.js.map +1 -1
- package/dist/generated/themes/RangeSlider.css.js +1 -1
- package/dist/generated/themes/RangeSlider.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButton.css.js +1 -1
- package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
- package/dist/generated/themes/Select.css.js +1 -1
- package/dist/generated/themes/Select.css.js.map +1 -1
- package/dist/generated/themes/SliderBase.css.js +1 -1
- package/dist/generated/themes/SliderBase.css.js.map +1 -1
- package/dist/generated/themes/SplitButton.css.js +1 -1
- package/dist/generated/themes/SplitButton.css.js.map +1 -1
- package/dist/generated/themes/StepInput.css.js +1 -1
- package/dist/generated/themes/StepInput.css.js.map +1 -1
- package/dist/generated/themes/SuggestionItem.css.js +1 -1
- package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
- package/dist/generated/themes/Switch.css.js +1 -1
- package/dist/generated/themes/Switch.css.js.map +1 -1
- package/dist/generated/themes/TabContainer.css.js +1 -1
- package/dist/generated/themes/TabContainer.css.js.map +1 -1
- package/dist/generated/themes/TabInOverflow.css.js +1 -1
- package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
- package/dist/generated/themes/TabInStrip.css.js +1 -1
- package/dist/generated/themes/TabInStrip.css.js.map +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
- package/dist/generated/themes/Table.css.js +1 -1
- package/dist/generated/themes/Table.css.js.map +1 -1
- package/dist/generated/themes/TableCellBase.css.js +1 -1
- package/dist/generated/themes/TableCellBase.css.js.map +1 -1
- package/dist/generated/themes/TableHeaderRow.css.js +1 -1
- package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
- package/dist/generated/themes/TableRow.css.js +1 -1
- package/dist/generated/themes/TableRow.css.js.map +1 -1
- package/dist/generated/themes/TableRowBase.css.js +1 -1
- package/dist/generated/themes/TableRowBase.css.js.map +1 -1
- package/dist/generated/themes/Tag.css.js +1 -1
- package/dist/generated/themes/Tag.css.js.map +1 -1
- package/dist/generated/themes/Text.css.js +1 -1
- package/dist/generated/themes/Text.css.js.map +1 -1
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js.map +1 -1
- package/dist/generated/themes/TimePicker.css.js +1 -1
- package/dist/generated/themes/TimePicker.css.js.map +1 -1
- package/dist/generated/themes/Toast.css.js +1 -1
- package/dist/generated/themes/Toast.css.js.map +1 -1
- package/dist/generated/themes/ToggleButton.css.js +1 -1
- package/dist/generated/themes/ToggleButton.css.js.map +1 -1
- package/dist/generated/themes/Token.css.js +1 -1
- package/dist/generated/themes/Token.css.js.map +1 -1
- package/dist/generated/themes/Tokenizer.css.js +1 -1
- package/dist/generated/themes/Tokenizer.css.js.map +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
- package/dist/generated/themes/Toolbar.css.js +1 -1
- package/dist/generated/themes/Toolbar.css.js.map +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
- package/dist/generated/themes/TreeItem.css.js +1 -1
- package/dist/generated/themes/TreeItem.css.js.map +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
- package/dist/generated/themes/YearPicker.css.js +1 -1
- package/dist/generated/themes/YearPicker.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
- package/dist/types/CalendarWeekNumbering.d.ts +44 -0
- package/dist/types/CalendarWeekNumbering.js +46 -0
- package/dist/types/CalendarWeekNumbering.js.map +1 -0
- package/dist/vscode.html-custom-data.json +62 -2
- package/dist/web-types.json +73 -5
- package/package.json +11 -10
- package/src/Breadcrumbs.hbs +1 -0
- package/src/Calendar.hbs +5 -2
- package/src/ColorPalettePopover.hbs +1 -1
- package/src/DatePickerPopover.hbs +1 -0
- package/src/DateRangePicker.hbs +1 -0
- package/src/DateTimePickerPopover.hbs +1 -0
- package/src/Link.hbs +1 -0
- package/src/MonthPicker.hbs +2 -0
- package/src/YearPicker.hbs +3 -1
- package/src/i18n/messagebundle_ar.properties +9 -0
- package/src/i18n/messagebundle_bg.properties +9 -0
- package/src/i18n/messagebundle_ca.properties +9 -0
- package/src/i18n/messagebundle_cnr.properties +9 -0
- package/src/i18n/messagebundle_cs.properties +9 -0
- package/src/i18n/messagebundle_cy.properties +9 -0
- package/src/i18n/messagebundle_da.properties +9 -0
- package/src/i18n/messagebundle_de.properties +9 -0
- package/src/i18n/messagebundle_el.properties +9 -0
- package/src/i18n/messagebundle_en.properties +9 -0
- package/src/i18n/messagebundle_en_GB.properties +9 -0
- package/src/i18n/messagebundle_en_US_sappsd.properties +9 -0
- package/src/i18n/messagebundle_en_US_saprigi.properties +9 -0
- package/src/i18n/messagebundle_en_US_saptrc.properties +197 -188
- package/src/i18n/messagebundle_es.properties +9 -0
- package/src/i18n/messagebundle_es_MX.properties +9 -0
- package/src/i18n/messagebundle_et.properties +9 -0
- package/src/i18n/messagebundle_fi.properties +9 -0
- package/src/i18n/messagebundle_fr.properties +9 -0
- package/src/i18n/messagebundle_fr_CA.properties +9 -0
- package/src/i18n/messagebundle_hi.properties +9 -0
- package/src/i18n/messagebundle_hr.properties +9 -0
- package/src/i18n/messagebundle_hu.properties +11 -2
- package/src/i18n/messagebundle_id.properties +11 -2
- package/src/i18n/messagebundle_it.properties +9 -0
- package/src/i18n/messagebundle_iw.properties +9 -0
- package/src/i18n/messagebundle_ja.properties +9 -0
- package/src/i18n/messagebundle_kk.properties +9 -0
- package/src/i18n/messagebundle_ko.properties +9 -0
- package/src/i18n/messagebundle_lt.properties +9 -0
- package/src/i18n/messagebundle_lv.properties +9 -0
- package/src/i18n/messagebundle_mk.properties +9 -0
- package/src/i18n/messagebundle_ms.properties +9 -0
- package/src/i18n/messagebundle_nl.properties +9 -0
- package/src/i18n/messagebundle_no.properties +9 -0
- package/src/i18n/messagebundle_pl.properties +9 -0
- package/src/i18n/messagebundle_pt.properties +9 -0
- package/src/i18n/messagebundle_pt_PT.properties +9 -0
- package/src/i18n/messagebundle_ro.properties +9 -0
- package/src/i18n/messagebundle_ru.properties +10 -1
- package/src/i18n/messagebundle_sh.properties +9 -0
- package/src/i18n/messagebundle_sk.properties +9 -0
- package/src/i18n/messagebundle_sl.properties +9 -0
- package/src/i18n/messagebundle_sr.properties +9 -0
- package/src/i18n/messagebundle_sv.properties +9 -0
- package/src/i18n/messagebundle_th.properties +9 -0
- package/src/i18n/messagebundle_tr.properties +9 -0
- package/src/i18n/messagebundle_uk.properties +9 -0
- package/src/i18n/messagebundle_vi.properties +9 -0
- package/src/i18n/messagebundle_zh_CN.properties +9 -0
- package/src/i18n/messagebundle_zh_TW.properties +9 -0
- package/src/themes/BrowserScrollbar.css +8 -8
- package/src/themes/MenuItem.css +12 -2
- package/src/themes/MonthPicker.css +46 -26
- package/src/themes/TextArea.css +6 -6
- package/src/themes/YearPicker.css +41 -22
- package/src/themes/base/MonthPicker-parameters.css +6 -13
- package/src/themes/base/YearPicker-parameters.css +6 -13
- package/src/themes/sap_fiori_3/parameters-bundle.css +0 -1
- package/src/themes/sap_fiori_3_dark/parameters-bundle.css +0 -1
- package/src/themes/sap_fiori_3_hcb/MonthPicker-parameters.css +0 -6
- package/src/themes/sap_fiori_3_hcb/YearPicker-parameters.css +0 -6
- package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +0 -1
- package/src/themes/sap_fiori_3_hcw/MonthPicker-parameters.css +0 -6
- package/src/themes/sap_fiori_3_hcw/YearPicker-parameters.css +0 -6
- package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon/MonthPicker-parameters.css +0 -11
- package/src/themes/sap_horizon/YearPicker-parameters.css +0 -10
- package/src/themes/sap_horizon/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_dark/MonthPicker-parameters.css +0 -11
- package/src/themes/sap_horizon_dark/YearPicker-parameters.css +0 -10
- package/src/themes/sap_horizon_dark/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_dark_exp/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_exp/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_hcb/MonthPicker-parameters.css +0 -7
- package/src/themes/sap_horizon_hcb/YearPicker-parameters.css +0 -7
- package/src/themes/sap_horizon_hcb/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_hcb_exp/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_hcw/MonthPicker-parameters.css +0 -7
- package/src/themes/sap_horizon_hcw/YearPicker-parameters.css +0 -7
- package/src/themes/sap_horizon_hcw/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_hcw_exp/parameters-bundle.css +0 -1
- package/src/themes/base/BrowserScrollbar-parameters.css +0 -4
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 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.js\";\nimport { isIOS } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getClosedPopupParent } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport isElementContainingBlock from \"@ui5/webcomponents-base/dist/util/isElementContainingBlock.js\";\nimport getParentElement from \"@ui5/webcomponents-base/dist/util/getParentElement.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\n\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport Popup from \"./Popup.js\";\nimport type { PopupBeforeCloseEventDetail as PopoverBeforeCloseEventDetail } 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\";\n\n// Template\nimport PopoverTemplate from \"./generated/templates/PopoverTemplate.lit.js\";\n// Styles\nimport browserScrollbarCSS from \"./generated/themes/BrowserScrollbar.css.js\";\nimport PopupsCommonCss from \"./generated/themes/PopupsCommon.css.js\";\nimport PopoverCss from \"./generated/themes/Popover.css.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\ntype CalculatedPlacement = {\n\tarrow: ArrowPosition,\n\ttop: number,\n\tleft: number,\n\tplacement: `${PopoverPlacement}`,\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\tbrowserScrollbarCSS,\n\t\tPopupsCommonCss,\n\t\tPopoverCss,\n\t],\n\ttemplate: PopoverTemplate,\n})\nclass Popover extends Popup {\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 of 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 * Defines whether the content is scrollable.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tdisableScrolling = 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: `${PopoverPlacement}` = \"End\";\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/**\n\t * Defines the header HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\tfooter!: Array<HTMLElement>;\n\n\t_opener?: HTMLElement | string;\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\n\tstatic get VIEWPORT_MARGIN() {\n\t\treturn 10; // px\n\t}\n\n\tconstructor() {\n\t\tsuper();\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) {\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 | 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\tconsole.warn(\"Valid opener id is required. It must be defined before opening the popover.\"); // eslint-disable-line\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isOpenerOutsideViewport(opener.getBoundingClientRect())) {\n\t\t\tawait renderFinished();\n\t\t\tthis.open = false;\n\t\t\tthis.fireEvent(\"close\", {}, false, false);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._openerRect = opener.getBoundingClientRect();\n\n\t\tawait super.openPopup();\n\t}\n\n\tisOpenerClicked(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (target === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst ui5ElementTarget = target as UI5Element;\n\n\t\tif (ui5ElementTarget.getFocusDomRef && ui5ElementTarget.getFocusDomRef() === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn e.composedPath().indexOf(this._opener as EventTarget) > -1;\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 | undefined): HTMLElement | null | undefined {\n\t\tif (opener === undefined || opener instanceof HTMLElement) {\n\t\t\treturn opener;\n\t\t}\n\n\t\tconst rootNode = this.getRootNode();\n\n\t\tif (rootNode instanceof Document) {\n\t\t\treturn rootNode.getElementById(opener);\n\t\t}\n\t\treturn document.getElementById(opener);\n\t}\n\n\tshouldCloseDueToOverflow(placement: `${PopoverPlacement}`, openerRect: DOMRect): boolean {\n\t\tconst threshold = 32;\n\t\tconst limits = {\n\t\t\t\"Start\": openerRect.right,\n\t\t\t\"End\": 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.contentDOM.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\treposition() {\n\t\tthis._show();\n\t}\n\n\tasync _show() {\n\t\tsuper._show();\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (opener && this._isUI5Element(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.placement;\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 === PopoverPlacement.End) {\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 === PopoverPlacement.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.horizontalAlign === PopoverHorizontalAlign.Stretch && this._width) {\n\t\t\tthis.style.width = this._width;\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_getContainingBlockClientLocation() {\n\t\tlet parentElement = getParentElement(this);\n\n\t\twhile (parentElement) {\n\t\t\tif (isElementContainingBlock(parentElement)) {\n\t\t\t\treturn parentElement.getBoundingClientRect();\n\t\t\t}\n\n\t\t\tparentElement = getParentElement(parentElement);\n\t\t}\n\n\t\treturn { left: 0, top: 0 };\n\t}\n\n\tgetPopoverSize(): PopoverSize {\n\t\tconst rect = this.getBoundingClientRect(),\n\t\t\twidth = rect.width,\n\t\t\theight = rect.height;\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_isUI5Element(el: HTMLElement): el is UI5Element {\n\t\treturn \"isUI5Element\" in el;\n\t}\n\n\tget arrowDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popover-arrow\")!;\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 placement = this.getActualPlacement(targetRect, popoverSize);\n\n\t\tthis._preventRepositionAndClose = this.shouldCloseDueToNoOpener(targetRect) || this.shouldCloseDueToOverflow(placement, targetRect);\n\n\t\tconst isVertical = placement === PopoverPlacement.Top\n\t\t\t|| placement === PopoverPlacement.Bottom;\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && isVertical) {\n\t\t\tpopoverSize.width = targetRect.width;\n\t\t\tthis._width = `${targetRect.width}px`;\n\t\t} else if (this.verticalAlign === PopoverVerticalAlign.Stretch && !isVertical) {\n\t\t\tpopoverSize.height = targetRect.height;\n\t\t}\n\n\t\tconst arrowOffset = this.hideArrow ? 0 : ARROW_SIZE;\n\n\t\t// calc popover positions\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.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 PopoverPlacement.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 PopoverPlacement.Start:\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 PopoverPlacement.End:\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 < 0) { // eslint-disable-line\n\t\t\t\ttop = 0;\n\t\t\t} else if (top + popoverSize.height > clientHeight) {\n\t\t\t\ttop -= top + popoverSize.height - clientHeight;\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\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\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\treturn {\n\t\t\tarrow: arrowPos,\n\t\t\ttop: this._top,\n\t\t\tleft: this._left,\n\t\t\tplacement,\n\t\t};\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 horizontalAlign = this._actualHorizontalAlign;\n\t\tlet arrowXCentered = horizontalAlign === PopoverHorizontalAlign.Center || horizontalAlign === PopoverHorizontalAlign.Stretch;\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.End && left <= targetRect.left) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.Start && 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;\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;\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): PopoverPlacement | undefined {\n\t\tif (targetRect.left > popoverSize.width) {\n\t\t\treturn PopoverPlacement.Start;\n\t\t}\n\n\t\tif (clientWidth - targetRect.right > targetRect.left) {\n\t\t\treturn PopoverPlacement.End;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom > popoverSize.height) {\n\t\t\treturn PopoverPlacement.Bottom;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\treturn PopoverPlacement.Top;\n\t\t}\n\t}\n\n\tgetActualPlacement(targetRect: DOMRect, popoverSize: PopoverSize): `${PopoverPlacement}` {\n\t\tconst placement = this.placement;\n\t\tlet actualPlacement = placement;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tif (targetRect.top < popoverSize.height\n\t\t\t\t&& targetRect.top < clientHeight - targetRect.bottom) {\n\t\t\t\tactualPlacement = PopoverPlacement.Bottom;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tif (clientHeight - targetRect.bottom < popoverSize.height\n\t\t\t\t&& clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\t\tactualPlacement = PopoverPlacement.Top;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tif (targetRect.left < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tif (clientWidth - targetRect.right < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\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 horizontalAlign = this._actualHorizontalAlign;\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\n\t\tswitch (horizontalAlign) {\n\t\tcase PopoverHorizontalAlign.Center:\n\t\tcase PopoverHorizontalAlign.Stretch:\n\t\t\tleft = targetRect.left - (popoverSize.width - targetRect.width) / 2;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.Start:\n\t\t\tleft = targetRect.left;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.End:\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\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\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 _actualHorizontalAlign() {\n\t\tif (this.effectiveDir === \"rtl\") {\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Start) {\n\t\t\t\treturn PopoverHorizontalAlign.End;\n\t\t\t}\n\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.End) {\n\t\t\t\treturn PopoverHorizontalAlign.Start;\n\t\t\t}\n\t\t}\n\n\t\treturn this.horizontalAlign;\n\t}\n}\n\nconst instanceOfPopover = (object: any): object is Popover => {\n\treturn \"opener\" in object;\n};\n\nPopover.define();\n\nexport default Popover;\n\nexport { instanceOfPopover };\n\nexport type {\n\tPopoverBeforeCloseEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Popover.js","sourceRoot":"","sources":["../src/Popover.ts"],"names":[],"mappings":"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","sourcesContent":["import 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.js\";\nimport { isIOS } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getClosedPopupParent } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport isElementContainingBlock from \"@ui5/webcomponents-base/dist/util/isElementContainingBlock.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport getParentElement from \"@ui5/webcomponents-base/dist/util/getParentElement.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\n\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport Popup from \"./Popup.js\";\nimport type { PopupBeforeCloseEventDetail as PopoverBeforeCloseEventDetail } 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\";\n\n// Template\nimport PopoverTemplate from \"./generated/templates/PopoverTemplate.lit.js\";\n// Styles\nimport PopupsCommonCss from \"./generated/themes/PopupsCommon.css.js\";\nimport PopoverCss from \"./generated/themes/Popover.css.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\ntype CalculatedPlacement = {\n\tarrow: ArrowPosition,\n\ttop: number,\n\tleft: number,\n\tplacement: `${PopoverPlacement}`,\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\tgetEffectiveScrollbarStyle(),\n\t],\n\ttemplate: PopoverTemplate,\n})\nclass Popover extends Popup {\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 of 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 * Defines whether the content is scrollable.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tdisableScrolling = 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: `${PopoverPlacement}` = \"End\";\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/**\n\t * Defines the header HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\tfooter!: Array<HTMLElement>;\n\n\t_opener?: HTMLElement | string;\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\n\tstatic get VIEWPORT_MARGIN() {\n\t\treturn 10; // px\n\t}\n\n\tconstructor() {\n\t\tsuper();\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) {\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 | 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\tconsole.warn(\"Valid opener id is required. It must be defined before opening the popover.\"); // eslint-disable-line\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isOpenerOutsideViewport(opener.getBoundingClientRect())) {\n\t\t\tawait renderFinished();\n\t\t\tthis.open = false;\n\t\t\tthis.fireEvent(\"close\", {}, false, false);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._openerRect = opener.getBoundingClientRect();\n\n\t\tawait super.openPopup();\n\t}\n\n\tisOpenerClicked(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (target === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst ui5ElementTarget = target as UI5Element;\n\n\t\tif (ui5ElementTarget.getFocusDomRef && ui5ElementTarget.getFocusDomRef() === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn e.composedPath().indexOf(this._opener as EventTarget) > -1;\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 | undefined): HTMLElement | null | undefined {\n\t\tif (opener === undefined || opener instanceof HTMLElement) {\n\t\t\treturn opener;\n\t\t}\n\n\t\tconst rootNode = this.getRootNode();\n\n\t\tif (rootNode instanceof Document) {\n\t\t\treturn rootNode.getElementById(opener);\n\t\t}\n\t\treturn document.getElementById(opener);\n\t}\n\n\tshouldCloseDueToOverflow(placement: `${PopoverPlacement}`, openerRect: DOMRect): boolean {\n\t\tconst threshold = 32;\n\t\tconst limits = {\n\t\t\t\"Start\": openerRect.right,\n\t\t\t\"End\": 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.contentDOM.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\treposition() {\n\t\tthis._show();\n\t}\n\n\tasync _show() {\n\t\tsuper._show();\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (opener && this._isUI5Element(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.placement;\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 === PopoverPlacement.End) {\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 === PopoverPlacement.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.horizontalAlign === PopoverHorizontalAlign.Stretch && this._width) {\n\t\t\tthis.style.width = this._width;\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_getContainingBlockClientLocation() {\n\t\tlet parentElement = getParentElement(this);\n\n\t\twhile (parentElement) {\n\t\t\tif (isElementContainingBlock(parentElement)) {\n\t\t\t\treturn parentElement.getBoundingClientRect();\n\t\t\t}\n\n\t\t\tparentElement = getParentElement(parentElement);\n\t\t}\n\n\t\treturn { left: 0, top: 0 };\n\t}\n\n\tgetPopoverSize(): PopoverSize {\n\t\tconst rect = this.getBoundingClientRect(),\n\t\t\twidth = rect.width,\n\t\t\theight = rect.height;\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_isUI5Element(el: HTMLElement): el is UI5Element {\n\t\treturn \"isUI5Element\" in el;\n\t}\n\n\tget arrowDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popover-arrow\")!;\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 placement = this.getActualPlacement(targetRect, popoverSize);\n\n\t\tthis._preventRepositionAndClose = this.shouldCloseDueToNoOpener(targetRect) || this.shouldCloseDueToOverflow(placement, targetRect);\n\n\t\tconst isVertical = placement === PopoverPlacement.Top\n\t\t\t|| placement === PopoverPlacement.Bottom;\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && isVertical) {\n\t\t\tpopoverSize.width = targetRect.width;\n\t\t\tthis._width = `${targetRect.width}px`;\n\t\t} else if (this.verticalAlign === PopoverVerticalAlign.Stretch && !isVertical) {\n\t\t\tpopoverSize.height = targetRect.height;\n\t\t}\n\n\t\tconst arrowOffset = this.hideArrow ? 0 : ARROW_SIZE;\n\n\t\t// calc popover positions\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.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 PopoverPlacement.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 PopoverPlacement.Start:\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 PopoverPlacement.End:\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 < 0) { // eslint-disable-line\n\t\t\t\ttop = 0;\n\t\t\t} else if (top + popoverSize.height > clientHeight) {\n\t\t\t\ttop -= top + popoverSize.height - clientHeight;\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\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\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\treturn {\n\t\t\tarrow: arrowPos,\n\t\t\ttop: this._top,\n\t\t\tleft: this._left,\n\t\t\tplacement,\n\t\t};\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 horizontalAlign = this._actualHorizontalAlign;\n\t\tlet arrowXCentered = horizontalAlign === PopoverHorizontalAlign.Center || horizontalAlign === PopoverHorizontalAlign.Stretch;\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.End && left <= targetRect.left) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.Start && 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;\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;\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): PopoverPlacement | undefined {\n\t\tif (targetRect.left > popoverSize.width) {\n\t\t\treturn PopoverPlacement.Start;\n\t\t}\n\n\t\tif (clientWidth - targetRect.right > targetRect.left) {\n\t\t\treturn PopoverPlacement.End;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom > popoverSize.height) {\n\t\t\treturn PopoverPlacement.Bottom;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\treturn PopoverPlacement.Top;\n\t\t}\n\t}\n\n\tgetActualPlacement(targetRect: DOMRect, popoverSize: PopoverSize): `${PopoverPlacement}` {\n\t\tconst placement = this.placement;\n\t\tlet actualPlacement = placement;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tif (targetRect.top < popoverSize.height\n\t\t\t\t&& targetRect.top < clientHeight - targetRect.bottom) {\n\t\t\t\tactualPlacement = PopoverPlacement.Bottom;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tif (clientHeight - targetRect.bottom < popoverSize.height\n\t\t\t\t&& clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\t\tactualPlacement = PopoverPlacement.Top;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tif (targetRect.left < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tif (clientWidth - targetRect.right < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\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 horizontalAlign = this._actualHorizontalAlign;\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\n\t\tswitch (horizontalAlign) {\n\t\tcase PopoverHorizontalAlign.Center:\n\t\tcase PopoverHorizontalAlign.Stretch:\n\t\t\tleft = targetRect.left - (popoverSize.width - targetRect.width) / 2;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.Start:\n\t\t\tleft = targetRect.left;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.End:\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\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\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 _actualHorizontalAlign() {\n\t\tif (this.effectiveDir === \"rtl\") {\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Start) {\n\t\t\t\treturn PopoverHorizontalAlign.End;\n\t\t\t}\n\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.End) {\n\t\t\t\treturn PopoverHorizontalAlign.Start;\n\t\t\t}\n\t\t}\n\n\t\treturn this.horizontalAlign;\n\t}\n}\n\nconst instanceOfPopover = (object: any): object is Popover => {\n\treturn \"opener\" in object;\n};\n\nPopover.define();\n\nexport default Popover;\n\nexport { instanceOfPopover };\n\nexport type {\n\tPopoverBeforeCloseEventDetail,\n};\n"]}
|
package/dist/Popup.js
CHANGED
|
@@ -15,7 +15,6 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
|
15
15
|
import { isChrome, isDesktop, isPhone, } from "@ui5/webcomponents-base/dist/Device.js";
|
|
16
16
|
import { getFirstFocusableElement, getLastFocusableElement } from "@ui5/webcomponents-base/dist/util/FocusableElements.js";
|
|
17
17
|
import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
|
|
18
|
-
import getEffectiveScrollbarStyle from "@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js";
|
|
19
18
|
import { hasStyle, createStyle } from "@ui5/webcomponents-base/dist/ManagedStyles.js";
|
|
20
19
|
import { isEnter, isTabPrevious } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
21
20
|
import { getFocusedElement, isFocusedElementWithinNode } from "@ui5/webcomponents-base/dist/util/PopupUtils.js";
|
|
@@ -419,7 +418,6 @@ let Popup = Popup_1 = class Popup extends UI5Element {
|
|
|
419
418
|
return {
|
|
420
419
|
root: {
|
|
421
420
|
"ui5-popup-root": true,
|
|
422
|
-
"ui5-content-native-scrollbars": getEffectiveScrollbarStyle(),
|
|
423
421
|
},
|
|
424
422
|
content: {
|
|
425
423
|
"ui5-popup-content": true,
|
package/dist/Popup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popup.js","sourceRoot":"","sources":["../src/Popup.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport {\n\tisChrome,\n\tisDesktop,\n\tisPhone,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getFirstFocusableElement, getLastFocusableElement } from \"@ui5/webcomponents-base/dist/util/FocusableElements.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport { hasStyle, createStyle } from \"@ui5/webcomponents-base/dist/ManagedStyles.js\";\nimport { isEnter, isTabPrevious } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getFocusedElement, isFocusedElementWithinNode } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport MediaRange from \"@ui5/webcomponents-base/dist/MediaRange.js\";\nimport Title from \"./Title.js\";\nimport PopupTemplate from \"./generated/templates/PopupTemplate.lit.js\";\nimport PopupAccessibleRole from \"./types/PopupAccessibleRole.js\";\nimport { addOpenedPopup, removeOpenedPopup } from \"./popup-utils/OpenedPopupsRegistry.js\";\n\n// Styles\nimport popupStlyes from \"./generated/themes/Popup.css.js\";\nimport popupBlockLayerStyles from \"./generated/themes/PopupBlockLayer.css.js\";\nimport globalStyles from \"./generated/themes/PopupGlobal.css.js\";\n\nconst createBlockingStyle = (): void => {\n\tif (!hasStyle(\"data-ui5-popup-scroll-blocker\")) {\n\t\tcreateStyle(globalStyles, \"data-ui5-popup-scroll-blocker\");\n\t}\n};\n\ncreateBlockingStyle();\n\nconst pageScrollingBlockers = new Set<Popup>();\n\ntype PopupScrollEventDetail = {\n\tscrollTop: number;\n\ttargetRef: HTMLElement;\n}\n\ntype PopupBeforeCloseEventDetail = {\n\tescPressed: boolean;\n}\n\n/**\n * @class\n * ### Overview\n * Base class for all popup Web Components.\n *\n * If you need to create your own popup-like custom UI5 Web Components.\n *\n * 1. The Popup class handles modality:\n * - The \"isModal\" getter can be overridden by derivatives to provide their own conditions when they are modal or not\n * - Derivatives may call the \"blockPageScrolling\" and \"unblockPageScrolling\" static methods to temporarily remove scrollbars on the html element\n * - Derivatives may call the \"openPopup\" and \"closePopup\" methods which handle focus, manage the popup registry and for modal popups, manage the blocking layer\n *\n * 2. Provides blocking layer (relevant for modal popups only):\n * - Controlled by the \"open\" and \"close\" methods\n *\n * 3. The Popup class \"traps\" focus:\n * - Derivatives may call the \"applyInitialFocus\" method (usually when opening, to transfer focus inside the popup)\n *\n * 4. The template of this component exposes two inline partials you can override in derivatives:\n * - beforeContent (upper part of the box, useful for header/title/close button)\n * - afterContent (lower part, useful for footer/action buttons)\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n\trenderer: litRender,\n\tstyles: [popupStlyes, popupBlockLayerStyles],\n\ttemplate: PopupTemplate,\n\tdependencies: [\n\t\tTitle,\n\t],\n})\n/**\n * Fired before the component is opened. This event can be cancelled, which will prevent the popup from opening. **This event does not bubble.**\n * @public\n * @allowPreventDefault\n */\n@event(\"before-open\")\n\n/**\n * Fired after the component is opened. **This event does not bubble.**\n * @public\n */\n@event(\"open\")\n\n/**\n * Fired before the component is closed. This event can be cancelled, which will prevent the popup from closing. **This event does not bubble.**\n * @public\n * @allowPreventDefault\n * @param {boolean} escPressed Indicates that `ESC` key has triggered the event.\n */\n@event<PopupBeforeCloseEventDetail>(\"before-close\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tescPressed: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n})\n\n/**\n * Fired after the component is closed. **This event does not bubble.**\n * @public\n */\n@event(\"close\")\n\n/**\n * Fired whenever the popup content area is scrolled\n * @private\n */\n@event(\"scroll\")\nabstract class Popup extends UI5Element {\n\t/**\n\t * Defines the ID of the HTML Element, which will get the initial focus.\n\t *\n\t * **Note:** If an element with `autofocus` attribute is added inside the component,\n\t * `initialFocus` won't take effect.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tinitialFocus?: string;\n\n\t/**\n\t * Defines if the focus should be returned to the previously focused element,\n\t * when the popup closes.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.8\n\t*/\n\t@property({ type: Boolean })\n\tpreventFocusRestore = false;\n\n\t/**\n\t * Defines the accessible 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 * Defines the IDs of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Allows setting a custom role.\n\t * @default \"Dialog\"\n\t * @public\n\t * @since 1.10.0\n\t */\n\t@property()\n\taccessibleRole: `${PopupAccessibleRole}` = \"Dialog\";\n\n\t/**\n\t * Defines the current media query size.\n\t * @private\n\t */\n\t@property()\n\tmediaRange?: string;\n\n\t/**\n\t * Indicates whether initial focus should be prevented.\n\t * @public\n\t * @default false\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\tpreventInitialFocus = false;\n\n\t/**\n\t * Indicates if the element is the top modal popup\n\t *\n\t * This property is calculated automatically\n\t * @private\n\t * @default false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\tisTopModalPopup = false;\n\n\t/**\n\t * Defines the content of the Popup.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\tcontent!: Array<HTMLElement>;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonPhone = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonDesktop = false;\n\n\t_resizeHandler: ResizeObserverCallback;\n\t_shouldFocusRoot?: boolean;\n\t_focusedElementBeforeOpen?: HTMLElement | null;\n\t_opened = false;\n\t_open = false;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._resizeHandler = this._resize.bind(this);\n\n\t\tthis._getRealDomRef = () => {\n\t\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\"[root-element]\")!;\n\t\t};\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.onPhone = isPhone();\n\t\tthis.onDesktop = isDesktop();\n\t}\n\n\tonAfterRendering() {\n\t\trenderFinished().then(() => {\n\t\t\tthis._updateMediaRange();\n\t\t});\n\t}\n\n\tonEnterDOM() {\n\t\tthis.setAttribute(\"popover\", \"manual\");\n\t\tResizeHandler.register(this, this._resizeHandler);\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\n\t\tthis.tabIndex = -1;\n\n\t\tif (this.open) {\n\t\t\tthis.showPopover();\n\t\t}\n\t}\n\n\tonExitDOM() {\n\t\tif (this._opened) {\n\t\t\tPopup.unblockPageScrolling(this);\n\t\t\tthis._removeOpenedPopup();\n\t\t}\n\n\t\tResizeHandler.deregister(this, this._resizeHandler);\n\t}\n\n\t/**\n\t * Indicates if the element is open\n\t * @public\n\t * @default false\n\t * @since 1.2.0\n\t */\n\t@property({ type: Boolean })\n\tset open(value: boolean) {\n\t\tif (this._open === value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._open = value;\n\n\t\tif (value) {\n\t\t\tthis.openPopup();\n\t\t} else {\n\t\t\tthis.closePopup();\n\t\t}\n\t}\n\n\tget open() : boolean {\n\t\treturn this._open;\n\t}\n\n\tasync openPopup() {\n\t\tif (this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevented = !this.fireEvent(\"before-open\", {}, true, false);\n\n\t\tif (prevented || this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opened = true;\n\n\t\tif (this.isModal) {\n\t\t\tPopup.blockPageScrolling(this);\n\t\t}\n\n\t\tthis._focusedElementBeforeOpen = getFocusedElement();\n\n\t\tthis._show();\n\n\t\tif (this.getDomRef()) {\n\t\t\tthis._updateMediaRange();\n\t\t}\n\n\t\tthis._addOpenedPopup();\n\n\t\tthis.open = true;\n\n\t\t// initial focus, if focused element is statically created\n\t\tawait this.applyInitialFocus();\n\n\t\tawait renderFinished();\n\n\t\t// initial focus, if focused element is dynamically created\n\t\tawait this.applyInitialFocus();\n\n\t\tif (this.isConnected) {\n\t\t\tthis.fireEvent(\"open\", {}, false, false);\n\t\t}\n\t}\n\n\t_resize() {\n\t\tthis._updateMediaRange();\n\t}\n\n\t/**\n\t * Prevents the user from interacting with the content under the block layer\n\t */\n\t_preventBlockLayerFocus(e: KeyboardEvent | MouseEvent) {\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Temporarily removes scrollbars from the html element\n\t * @protected\n\t */\n\tstatic blockPageScrolling(popup: Popup) {\n\t\tpageScrollingBlockers.add(popup);\n\n\t\tif (pageScrollingBlockers.size !== 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.documentElement.classList.add(\"ui5-popup-scroll-blocker\");\n\t}\n\n\t/**\n\t * Restores scrollbars on the html element, if needed\n\t * @protected\n\t */\n\tstatic unblockPageScrolling(popup: Popup) {\n\t\tpageScrollingBlockers.delete(popup);\n\n\t\tif (pageScrollingBlockers.size !== 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.documentElement.classList.remove(\"ui5-popup-scroll-blocker\");\n\t}\n\n\t_scroll(e: Event) {\n\t\tthis.fireEvent<PopupScrollEventDetail>(\"scroll\", {\n\t\t\tscrollTop: (e.target as HTMLElement).scrollTop,\n\t\t\ttargetRef: e.target as HTMLElement,\n\t\t});\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isTabOutAttempt = e.target === this._root && isTabPrevious(e);\n\t\t// if the popup is closed, focus is already moved, so Enter keydown may result in click on the newly focused element\n\t\tconst isEnterOnClosedPopupChild = isEnter(e) && !this.open;\n\n\t\tif (isTabOutAttempt || isEnterOnClosedPopupChild) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\t// relatedTarget is the element, which will get focus. If no such element exists, focus the root.\n\t\t// This happens after the mouse is released in order to not interrupt text selection.\n\t\tif (!e.relatedTarget) {\n\t\t\tthis._shouldFocusRoot = true;\n\t\t}\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tif (this.shadowRoot!.contains(e.target as HTMLElement)) {\n\t\t\tthis._shouldFocusRoot = true;\n\t\t} else {\n\t\t\tthis._shouldFocusRoot = false;\n\t\t}\n\t}\n\n\t_onmouseup() {\n\t\tif (this._shouldFocusRoot) {\n\t\t\tif (isChrome()) {\n\t\t\t\tthis._root.focus();\n\t\t\t}\n\t\t\tthis._shouldFocusRoot = false;\n\t\t}\n\t}\n\n\t/**\n\t * Focus trapping\n\t * @private\n\t */\n\tasync forwardToFirst() {\n\t\tconst firstFocusable = await getFirstFocusableElement(this);\n\n\t\tif (firstFocusable) {\n\t\t\tfirstFocusable.focus();\n\t\t} else {\n\t\t\tthis._root.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Focus trapping\n\t * @private\n\t */\n\tasync forwardToLast() {\n\t\tconst lastFocusable = await getLastFocusableElement(this);\n\n\t\tif (lastFocusable) {\n\t\t\tlastFocusable.focus();\n\t\t} else {\n\t\t\tthis._root.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Use this method to focus the element denoted by \"initialFocus\", if provided,\n\t * or the first focusable element otherwise.\n\t * @protected\n\t */\n\tasync applyInitialFocus() {\n\t\tif (!this.preventInitialFocus) {\n\t\t\tawait this.applyFocus();\n\t\t}\n\t}\n\n\t/**\n\t * Focuses the element denoted by `initialFocus`, if provided,\n\t * or the first focusable element otherwise.\n\t * @public\n\t * @returns Promise that resolves when the focus is applied\n\t */\n\tasync applyFocus(): Promise<void> {\n\t\t// do nothing if the standard HTML autofocus is used\n\t\tif (this.querySelector(\"[autofocus]\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this._waitForDomRef();\n\n\t\tif (this.getRootNode() === this) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet element;\n\n\t\tif (this.initialFocus) {\n\t\t\telement = (this.getRootNode() as Document).getElementById(this.initialFocus)\n\t\t\t|| document.getElementById(this.initialFocus);\n\t\t}\n\n\t\telement = element || await getFirstFocusableElement(this) || this._root; // in case of no focusable content focus the root\n\n\t\tif (element) {\n\t\t\tif (element === this._root) {\n\t\t\t\telement.tabIndex = -1;\n\t\t\t}\n\t\t\telement.focus();\n\t\t}\n\t}\n\n\tisFocusWithin() {\n\t\treturn isFocusedElementWithinNode(this._root);\n\t}\n\n\t_updateMediaRange() {\n\t\tthis.mediaRange = MediaRange.getCurrentRange(MediaRange.RANGESETS.RANGE_4STEPS, this.getDomRef()!.offsetWidth);\n\t}\n\n\t/**\n\t * Adds the popup to the \"opened popups registry\"\n\t * @protected\n\t */\n\t_addOpenedPopup() {\n\t\taddOpenedPopup(this);\n\t}\n\n\t/**\n\t * Closes the popup.\n\t */\n\tclosePopup(escPressed = false, preventRegistryUpdate = false, preventFocusRestore = false): void {\n\t\tif (!this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevented = !this.fireEvent<PopupBeforeCloseEventDetail>(\"before-close\", { escPressed }, true, false);\n\t\tif (prevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opened = false;\n\n\t\tif (this.isModal) {\n\t\t\tPopup.unblockPageScrolling(this);\n\t\t}\n\n\t\tthis.hide();\n\t\tthis.open = false;\n\n\t\tif (!preventRegistryUpdate) {\n\t\t\tthis._removeOpenedPopup();\n\t\t}\n\n\t\tif (!this.preventFocusRestore && !preventFocusRestore) {\n\t\t\tthis.resetFocus();\n\t\t}\n\n\t\tthis.fireEvent(\"close\", {}, false, false);\n\t}\n\n\t/**\n\t * Removes the popup from the \"opened popups registry\"\n\t * @protected\n\t */\n\t_removeOpenedPopup() {\n\t\tremoveOpenedPopup(this);\n\t}\n\n\t/**\n\t * Returns the focus to the previously focused element\n\t * @protected\n\t */\n\tresetFocus() {\n\t\tif (!this._focusedElementBeforeOpen) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focusedElementBeforeOpen.focus();\n\t\tthis._focusedElementBeforeOpen = null;\n\t}\n\n\t/**\n\t * Sets \"block\" display to the popup. The property can be overriden by derivatives of Popup.\n\t * @protected\n\t */\n\t_show() {\n\t\tif (this.isConnected) {\n\t\t\tthis.setAttribute(\"popover\", \"manual\");\n\t\t\tthis.showPopover();\n\t\t}\n\t}\n\n\t/**\n\t * Sets \"none\" display to the popup\n\t * @protected\n\t */\n\thide() {\n\t\tthis.isConnected && this.hidePopover();\n\t}\n\n\t/**\n\t * Implement this getter with relevant logic regarding the modality of the popup (e.g. based on a public property)\n\t * @protected\n\t */\n\tabstract get isModal(): boolean\n\n\t/**\n\t * Return the ID of an element in the shadow DOM that is going to label this popup\n\t * @protected\n\t */\n\tabstract get _ariaLabelledBy(): string | undefined\n\n\t/**\n\t * Ensures ariaLabel is never null or empty string\n\t * @protected\n\t */\n\tget _ariaLabel() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget _root(): HTMLElement {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-root\")!;\n\t}\n\n\tget _role(): string | undefined {\n\t\treturn (this.accessibleRole === PopupAccessibleRole.None) ? undefined : this.accessibleRole.toLowerCase();\n\t}\n\n\tget _ariaModal(): string | undefined {\n\t\treturn this.accessibleRole === PopupAccessibleRole.None ? undefined : \"true\";\n\t}\n\n\tget contentDOM(): HTMLElement {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-content\")!;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\troot: {},\n\t\t\tcontent: {},\n\t\t};\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-popup-root\": true,\n\t\t\t\t\"ui5-content-native-scrollbars\": getEffectiveScrollbarStyle(),\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\t\"ui5-popup-content\": true,\n\t\t\t},\n\t\t};\n\t}\n}\n\nexport default Popup;\n\nexport type {\n\tPopupScrollEventDetail,\n\tPopupBeforeCloseEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Popup.js","sourceRoot":"","sources":["../src/Popup.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport {\n\tisChrome,\n\tisDesktop,\n\tisPhone,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getFirstFocusableElement, getLastFocusableElement } from \"@ui5/webcomponents-base/dist/util/FocusableElements.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport { hasStyle, createStyle } from \"@ui5/webcomponents-base/dist/ManagedStyles.js\";\nimport { isEnter, isTabPrevious } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getFocusedElement, isFocusedElementWithinNode } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport MediaRange from \"@ui5/webcomponents-base/dist/MediaRange.js\";\nimport Title from \"./Title.js\";\nimport PopupTemplate from \"./generated/templates/PopupTemplate.lit.js\";\nimport PopupAccessibleRole from \"./types/PopupAccessibleRole.js\";\nimport { addOpenedPopup, removeOpenedPopup } from \"./popup-utils/OpenedPopupsRegistry.js\";\n\n// Styles\nimport popupStlyes from \"./generated/themes/Popup.css.js\";\nimport popupBlockLayerStyles from \"./generated/themes/PopupBlockLayer.css.js\";\nimport globalStyles from \"./generated/themes/PopupGlobal.css.js\";\n\nconst createBlockingStyle = (): void => {\n\tif (!hasStyle(\"data-ui5-popup-scroll-blocker\")) {\n\t\tcreateStyle(globalStyles, \"data-ui5-popup-scroll-blocker\");\n\t}\n};\n\ncreateBlockingStyle();\n\nconst pageScrollingBlockers = new Set<Popup>();\n\ntype PopupScrollEventDetail = {\n\tscrollTop: number;\n\ttargetRef: HTMLElement;\n}\n\ntype PopupBeforeCloseEventDetail = {\n\tescPressed: boolean;\n}\n\n/**\n * @class\n * ### Overview\n * Base class for all popup Web Components.\n *\n * If you need to create your own popup-like custom UI5 Web Components.\n *\n * 1. The Popup class handles modality:\n * - The \"isModal\" getter can be overridden by derivatives to provide their own conditions when they are modal or not\n * - Derivatives may call the \"blockPageScrolling\" and \"unblockPageScrolling\" static methods to temporarily remove scrollbars on the html element\n * - Derivatives may call the \"openPopup\" and \"closePopup\" methods which handle focus, manage the popup registry and for modal popups, manage the blocking layer\n *\n * 2. Provides blocking layer (relevant for modal popups only):\n * - Controlled by the \"open\" and \"close\" methods\n *\n * 3. The Popup class \"traps\" focus:\n * - Derivatives may call the \"applyInitialFocus\" method (usually when opening, to transfer focus inside the popup)\n *\n * 4. The template of this component exposes two inline partials you can override in derivatives:\n * - beforeContent (upper part of the box, useful for header/title/close button)\n * - afterContent (lower part, useful for footer/action buttons)\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n\trenderer: litRender,\n\tstyles: [popupStlyes, popupBlockLayerStyles],\n\ttemplate: PopupTemplate,\n\tdependencies: [\n\t\tTitle,\n\t],\n})\n/**\n * Fired before the component is opened. This event can be cancelled, which will prevent the popup from opening. **This event does not bubble.**\n * @public\n * @allowPreventDefault\n */\n@event(\"before-open\")\n\n/**\n * Fired after the component is opened. **This event does not bubble.**\n * @public\n */\n@event(\"open\")\n\n/**\n * Fired before the component is closed. This event can be cancelled, which will prevent the popup from closing. **This event does not bubble.**\n * @public\n * @allowPreventDefault\n * @param {boolean} escPressed Indicates that `ESC` key has triggered the event.\n */\n@event<PopupBeforeCloseEventDetail>(\"before-close\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tescPressed: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n})\n\n/**\n * Fired after the component is closed. **This event does not bubble.**\n * @public\n */\n@event(\"close\")\n\n/**\n * Fired whenever the popup content area is scrolled\n * @private\n */\n@event(\"scroll\")\nabstract class Popup extends UI5Element {\n\t/**\n\t * Defines the ID of the HTML Element, which will get the initial focus.\n\t *\n\t * **Note:** If an element with `autofocus` attribute is added inside the component,\n\t * `initialFocus` won't take effect.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tinitialFocus?: string;\n\n\t/**\n\t * Defines if the focus should be returned to the previously focused element,\n\t * when the popup closes.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.8\n\t*/\n\t@property({ type: Boolean })\n\tpreventFocusRestore = false;\n\n\t/**\n\t * Defines the accessible 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 * Defines the IDs of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Allows setting a custom role.\n\t * @default \"Dialog\"\n\t * @public\n\t * @since 1.10.0\n\t */\n\t@property()\n\taccessibleRole: `${PopupAccessibleRole}` = \"Dialog\";\n\n\t/**\n\t * Defines the current media query size.\n\t * @private\n\t */\n\t@property()\n\tmediaRange?: string;\n\n\t/**\n\t * Indicates whether initial focus should be prevented.\n\t * @public\n\t * @default false\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\tpreventInitialFocus = false;\n\n\t/**\n\t * Indicates if the element is the top modal popup\n\t *\n\t * This property is calculated automatically\n\t * @private\n\t * @default false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\tisTopModalPopup = false;\n\n\t/**\n\t * Defines the content of the Popup.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\tcontent!: Array<HTMLElement>;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonPhone = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonDesktop = false;\n\n\t_resizeHandler: ResizeObserverCallback;\n\t_shouldFocusRoot?: boolean;\n\t_focusedElementBeforeOpen?: HTMLElement | null;\n\t_opened = false;\n\t_open = false;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._resizeHandler = this._resize.bind(this);\n\n\t\tthis._getRealDomRef = () => {\n\t\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\"[root-element]\")!;\n\t\t};\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.onPhone = isPhone();\n\t\tthis.onDesktop = isDesktop();\n\t}\n\n\tonAfterRendering() {\n\t\trenderFinished().then(() => {\n\t\t\tthis._updateMediaRange();\n\t\t});\n\t}\n\n\tonEnterDOM() {\n\t\tthis.setAttribute(\"popover\", \"manual\");\n\t\tResizeHandler.register(this, this._resizeHandler);\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\n\t\tthis.tabIndex = -1;\n\n\t\tif (this.open) {\n\t\t\tthis.showPopover();\n\t\t}\n\t}\n\n\tonExitDOM() {\n\t\tif (this._opened) {\n\t\t\tPopup.unblockPageScrolling(this);\n\t\t\tthis._removeOpenedPopup();\n\t\t}\n\n\t\tResizeHandler.deregister(this, this._resizeHandler);\n\t}\n\n\t/**\n\t * Indicates if the element is open\n\t * @public\n\t * @default false\n\t * @since 1.2.0\n\t */\n\t@property({ type: Boolean })\n\tset open(value: boolean) {\n\t\tif (this._open === value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._open = value;\n\n\t\tif (value) {\n\t\t\tthis.openPopup();\n\t\t} else {\n\t\t\tthis.closePopup();\n\t\t}\n\t}\n\n\tget open() : boolean {\n\t\treturn this._open;\n\t}\n\n\tasync openPopup() {\n\t\tif (this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevented = !this.fireEvent(\"before-open\", {}, true, false);\n\n\t\tif (prevented || this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opened = true;\n\n\t\tif (this.isModal) {\n\t\t\tPopup.blockPageScrolling(this);\n\t\t}\n\n\t\tthis._focusedElementBeforeOpen = getFocusedElement();\n\n\t\tthis._show();\n\n\t\tif (this.getDomRef()) {\n\t\t\tthis._updateMediaRange();\n\t\t}\n\n\t\tthis._addOpenedPopup();\n\n\t\tthis.open = true;\n\n\t\t// initial focus, if focused element is statically created\n\t\tawait this.applyInitialFocus();\n\n\t\tawait renderFinished();\n\n\t\t// initial focus, if focused element is dynamically created\n\t\tawait this.applyInitialFocus();\n\n\t\tif (this.isConnected) {\n\t\t\tthis.fireEvent(\"open\", {}, false, false);\n\t\t}\n\t}\n\n\t_resize() {\n\t\tthis._updateMediaRange();\n\t}\n\n\t/**\n\t * Prevents the user from interacting with the content under the block layer\n\t */\n\t_preventBlockLayerFocus(e: KeyboardEvent | MouseEvent) {\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Temporarily removes scrollbars from the html element\n\t * @protected\n\t */\n\tstatic blockPageScrolling(popup: Popup) {\n\t\tpageScrollingBlockers.add(popup);\n\n\t\tif (pageScrollingBlockers.size !== 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.documentElement.classList.add(\"ui5-popup-scroll-blocker\");\n\t}\n\n\t/**\n\t * Restores scrollbars on the html element, if needed\n\t * @protected\n\t */\n\tstatic unblockPageScrolling(popup: Popup) {\n\t\tpageScrollingBlockers.delete(popup);\n\n\t\tif (pageScrollingBlockers.size !== 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.documentElement.classList.remove(\"ui5-popup-scroll-blocker\");\n\t}\n\n\t_scroll(e: Event) {\n\t\tthis.fireEvent<PopupScrollEventDetail>(\"scroll\", {\n\t\t\tscrollTop: (e.target as HTMLElement).scrollTop,\n\t\t\ttargetRef: e.target as HTMLElement,\n\t\t});\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isTabOutAttempt = e.target === this._root && isTabPrevious(e);\n\t\t// if the popup is closed, focus is already moved, so Enter keydown may result in click on the newly focused element\n\t\tconst isEnterOnClosedPopupChild = isEnter(e) && !this.open;\n\n\t\tif (isTabOutAttempt || isEnterOnClosedPopupChild) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\t// relatedTarget is the element, which will get focus. If no such element exists, focus the root.\n\t\t// This happens after the mouse is released in order to not interrupt text selection.\n\t\tif (!e.relatedTarget) {\n\t\t\tthis._shouldFocusRoot = true;\n\t\t}\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tif (this.shadowRoot!.contains(e.target as HTMLElement)) {\n\t\t\tthis._shouldFocusRoot = true;\n\t\t} else {\n\t\t\tthis._shouldFocusRoot = false;\n\t\t}\n\t}\n\n\t_onmouseup() {\n\t\tif (this._shouldFocusRoot) {\n\t\t\tif (isChrome()) {\n\t\t\t\tthis._root.focus();\n\t\t\t}\n\t\t\tthis._shouldFocusRoot = false;\n\t\t}\n\t}\n\n\t/**\n\t * Focus trapping\n\t * @private\n\t */\n\tasync forwardToFirst() {\n\t\tconst firstFocusable = await getFirstFocusableElement(this);\n\n\t\tif (firstFocusable) {\n\t\t\tfirstFocusable.focus();\n\t\t} else {\n\t\t\tthis._root.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Focus trapping\n\t * @private\n\t */\n\tasync forwardToLast() {\n\t\tconst lastFocusable = await getLastFocusableElement(this);\n\n\t\tif (lastFocusable) {\n\t\t\tlastFocusable.focus();\n\t\t} else {\n\t\t\tthis._root.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Use this method to focus the element denoted by \"initialFocus\", if provided,\n\t * or the first focusable element otherwise.\n\t * @protected\n\t */\n\tasync applyInitialFocus() {\n\t\tif (!this.preventInitialFocus) {\n\t\t\tawait this.applyFocus();\n\t\t}\n\t}\n\n\t/**\n\t * Focuses the element denoted by `initialFocus`, if provided,\n\t * or the first focusable element otherwise.\n\t * @public\n\t * @returns Promise that resolves when the focus is applied\n\t */\n\tasync applyFocus(): Promise<void> {\n\t\t// do nothing if the standard HTML autofocus is used\n\t\tif (this.querySelector(\"[autofocus]\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this._waitForDomRef();\n\n\t\tif (this.getRootNode() === this) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet element;\n\n\t\tif (this.initialFocus) {\n\t\t\telement = (this.getRootNode() as Document).getElementById(this.initialFocus)\n\t\t\t|| document.getElementById(this.initialFocus);\n\t\t}\n\n\t\telement = element || await getFirstFocusableElement(this) || this._root; // in case of no focusable content focus the root\n\n\t\tif (element) {\n\t\t\tif (element === this._root) {\n\t\t\t\telement.tabIndex = -1;\n\t\t\t}\n\t\t\telement.focus();\n\t\t}\n\t}\n\n\tisFocusWithin() {\n\t\treturn isFocusedElementWithinNode(this._root);\n\t}\n\n\t_updateMediaRange() {\n\t\tthis.mediaRange = MediaRange.getCurrentRange(MediaRange.RANGESETS.RANGE_4STEPS, this.getDomRef()!.offsetWidth);\n\t}\n\n\t/**\n\t * Adds the popup to the \"opened popups registry\"\n\t * @protected\n\t */\n\t_addOpenedPopup() {\n\t\taddOpenedPopup(this);\n\t}\n\n\t/**\n\t * Closes the popup.\n\t */\n\tclosePopup(escPressed = false, preventRegistryUpdate = false, preventFocusRestore = false): void {\n\t\tif (!this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevented = !this.fireEvent<PopupBeforeCloseEventDetail>(\"before-close\", { escPressed }, true, false);\n\t\tif (prevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opened = false;\n\n\t\tif (this.isModal) {\n\t\t\tPopup.unblockPageScrolling(this);\n\t\t}\n\n\t\tthis.hide();\n\t\tthis.open = false;\n\n\t\tif (!preventRegistryUpdate) {\n\t\t\tthis._removeOpenedPopup();\n\t\t}\n\n\t\tif (!this.preventFocusRestore && !preventFocusRestore) {\n\t\t\tthis.resetFocus();\n\t\t}\n\n\t\tthis.fireEvent(\"close\", {}, false, false);\n\t}\n\n\t/**\n\t * Removes the popup from the \"opened popups registry\"\n\t * @protected\n\t */\n\t_removeOpenedPopup() {\n\t\tremoveOpenedPopup(this);\n\t}\n\n\t/**\n\t * Returns the focus to the previously focused element\n\t * @protected\n\t */\n\tresetFocus() {\n\t\tif (!this._focusedElementBeforeOpen) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focusedElementBeforeOpen.focus();\n\t\tthis._focusedElementBeforeOpen = null;\n\t}\n\n\t/**\n\t * Sets \"block\" display to the popup. The property can be overriden by derivatives of Popup.\n\t * @protected\n\t */\n\t_show() {\n\t\tif (this.isConnected) {\n\t\t\tthis.setAttribute(\"popover\", \"manual\");\n\t\t\tthis.showPopover();\n\t\t}\n\t}\n\n\t/**\n\t * Sets \"none\" display to the popup\n\t * @protected\n\t */\n\thide() {\n\t\tthis.isConnected && this.hidePopover();\n\t}\n\n\t/**\n\t * Implement this getter with relevant logic regarding the modality of the popup (e.g. based on a public property)\n\t * @protected\n\t */\n\tabstract get isModal(): boolean\n\n\t/**\n\t * Return the ID of an element in the shadow DOM that is going to label this popup\n\t * @protected\n\t */\n\tabstract get _ariaLabelledBy(): string | undefined\n\n\t/**\n\t * Ensures ariaLabel is never null or empty string\n\t * @protected\n\t */\n\tget _ariaLabel() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget _root(): HTMLElement {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-root\")!;\n\t}\n\n\tget _role(): string | undefined {\n\t\treturn (this.accessibleRole === PopupAccessibleRole.None) ? undefined : this.accessibleRole.toLowerCase();\n\t}\n\n\tget _ariaModal(): string | undefined {\n\t\treturn this.accessibleRole === PopupAccessibleRole.None ? undefined : \"true\";\n\t}\n\n\tget contentDOM(): HTMLElement {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-content\")!;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\troot: {},\n\t\t\tcontent: {},\n\t\t};\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-popup-root\": true,\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\t\"ui5-popup-content\": true,\n\t\t\t},\n\t\t};\n\t}\n}\n\nexport default Popup;\n\nexport type {\n\tPopupScrollEventDetail,\n\tPopupBeforeCloseEventDetail,\n};\n"]}
|
package/dist/TextArea.d.ts
CHANGED
|
@@ -232,7 +232,7 @@ declare class TextArea extends UI5Element implements IFormInputElement {
|
|
|
232
232
|
get classes(): {
|
|
233
233
|
root: {
|
|
234
234
|
"ui5-textarea-root": boolean;
|
|
235
|
-
"ui5-content-
|
|
235
|
+
"ui5-content-custom-scrollbars": boolean;
|
|
236
236
|
};
|
|
237
237
|
valueStateMsg: {
|
|
238
238
|
"ui5-valuestatemessage-header": boolean;
|
package/dist/TextArea.js
CHANGED
|
@@ -26,9 +26,8 @@ import "@ui5/webcomponents-icons/dist/information.js";
|
|
|
26
26
|
import TextAreaTemplate from "./generated/templates/TextAreaTemplate.lit.js";
|
|
27
27
|
import { VALUE_STATE_SUCCESS, VALUE_STATE_INFORMATION, VALUE_STATE_ERROR, VALUE_STATE_WARNING, VALUE_STATE_TYPE_SUCCESS, VALUE_STATE_TYPE_INFORMATION, VALUE_STATE_TYPE_ERROR, VALUE_STATE_TYPE_WARNING, TEXTAREA_CHARACTERS_LEFT, TEXTAREA_CHARACTERS_EXCEEDED, FORM_TEXTFIELD_REQUIRED, } from "./generated/i18n/i18n-defaults.js";
|
|
28
28
|
// Styles
|
|
29
|
-
import
|
|
29
|
+
import textareaStyles from "./generated/themes/TextArea.css.js";
|
|
30
30
|
import valueStateMessageStyles from "./generated/themes/ValueStateMessage.css.js";
|
|
31
|
-
import browserScrollbarCSS from "./generated/themes/BrowserScrollbar.css.js";
|
|
32
31
|
/**
|
|
33
32
|
* @class
|
|
34
33
|
*
|
|
@@ -315,7 +314,7 @@ let TextArea = TextArea_1 = class TextArea extends UI5Element {
|
|
|
315
314
|
return {
|
|
316
315
|
root: {
|
|
317
316
|
"ui5-textarea-root": true,
|
|
318
|
-
"ui5-content-
|
|
317
|
+
"ui5-content-custom-scrollbars": !!getEffectiveScrollbarStyle(),
|
|
319
318
|
},
|
|
320
319
|
valueStateMsg: {
|
|
321
320
|
"ui5-valuestatemessage-header": true,
|
|
@@ -478,7 +477,11 @@ TextArea = TextArea_1 = __decorate([
|
|
|
478
477
|
tag: "ui5-textarea",
|
|
479
478
|
formAssociated: true,
|
|
480
479
|
languageAware: true,
|
|
481
|
-
styles: [
|
|
480
|
+
styles: [
|
|
481
|
+
textareaStyles,
|
|
482
|
+
valueStateMessageStyles,
|
|
483
|
+
getEffectiveScrollbarStyle(),
|
|
484
|
+
],
|
|
482
485
|
renderer: litRender,
|
|
483
486
|
template: TextAreaTemplate,
|
|
484
487
|
dependencies: [Popover, Icon],
|
package/dist/TextArea.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextArea.js","sourceRoot":"","sources":["../src/TextArea.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { getEffectiveAriaLabelText, getAssociatedLabelForTexts } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isEscape } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport Popover from \"./Popover.js\";\nimport Icon from \"./Icon.js\";\nimport type PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\n\nimport TextAreaTemplate from \"./generated/templates/TextAreaTemplate.lit.js\";\n\nimport {\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_INFORMATION,\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_TYPE_SUCCESS,\n\tVALUE_STATE_TYPE_INFORMATION,\n\tVALUE_STATE_TYPE_ERROR,\n\tVALUE_STATE_TYPE_WARNING,\n\tTEXTAREA_CHARACTERS_LEFT,\n\tTEXTAREA_CHARACTERS_EXCEEDED,\n\tFORM_TEXTFIELD_REQUIRED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport styles from \"./generated/themes/TextArea.css.js\";\nimport valueStateMessageStyles from \"./generated/themes/ValueStateMessage.css.js\";\nimport browserScrollbarCSS from \"./generated/themes/BrowserScrollbar.css.js\";\n\ntype TokenizedText = Array<string>;\ntype IndexedTokenizedText = Array<{\n\ttext: string;\n\tlast: boolean;\n}>;\n\ntype ExceededText = {\n\texceededText?: string;\n\tleftCharactersCount?: number;\n\tcalcedMaxLength?: number;\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-textarea` component is used to enter multiple rows of text.\n *\n * When empty, it can hold a placeholder similar to a `ui5-input`.\n * You can define the rows of the `ui5-textarea` and also determine specific behavior when handling long texts.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TextArea.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart textarea - Used to style the native textarea\n */\n@customElement({\n\ttag: \"ui5-textarea\",\n\tformAssociated: true,\n\tlanguageAware: true,\n\tstyles: [browserScrollbarCSS, styles, valueStateMessageStyles],\n\trenderer: litRender,\n\ttemplate: TextAreaTemplate,\n\tdependencies: [Popover, Icon],\n})\n/**\n * Fired when the text has changed and the focus leaves the component.\n * @public\n */\n@event(\"change\")\n\n/**\n * Fired when the value of the component changes at each keystroke or when\n * something is pasted.\n * @since 1.0.0-rc.5\n * @public\n */\n@event(\"input\")\n\n/**\n * Fired when some text has been selected.\n *\n * @since 1.23.0\n * @public\n */\n@event(\"select\")\n\n/**\n * Fired when textarea is scrolled.\n *\n * @since 1.23.0\n * @public\n */\n@event(\"scroll\")\n\nclass TextArea extends UI5Element implements IFormInputElement {\n\t/**\n\t * Defines the value of the component.\n\t * @formEvents change input\n\t * @formProperty\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tvalue = \"\";\n\t/**\n\t * Indicates whether the user can interact with the component or not.\n\t *\n\t * **Note:** A disabled component is completely noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\t/**\n\t * Defines whether the component is read-only.\n\t *\n\t * **Note:** A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly = false;\n\t/**\n\t * Defines whether the component is required.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.3\n\t */\n\t@property({ type: Boolean })\n\trequired = false;\n\n\t/**\n\t * Defines a short hint intended to aid the user with data entry when the component has no value.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tplaceholder?: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t *\n\t * **Note:** If `maxlength` property is set,\n\t * the component turns into \"Critical\" state once the characters exceeds the limit.\n\t * In this case, only the \"Negative\" state is considered and can be applied.\n\t * @default \"None\"\n\t * @since 1.0.0-rc.7\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines the number of visible text rows for the component.\n\t *\n\t * **Notes:**\n\t *\n\t * - If the `growing` property is enabled, this property defines the minimum rows to be displayed\n\t * in the textarea.\n\t * - The CSS `height` property wins over the `rows` property, if both are set.\n\t * @default 0\n\t * @public\n\t */\n\t@property({ type: Number })\n\trows = 0;\n\n\t/**\n\t * Defines the maximum number of characters that the `value` can have.\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: Number })\n\tmaxlength?: number\n\n\t/**\n\t * Determines whether the characters exceeding the maximum allowed character count are visible\n\t * in the component.\n\t *\n\t * If set to `false`, the user is not allowed to enter more characters than what is set in the\n\t * `maxlength` property.\n\t * If set to `true` the characters exceeding the `maxlength` value are selected on\n\t * paste and the counter below the component displays their number.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowExceededText = false;\n\n\t/**\n\t * Enables the component to automatically grow and shrink dynamically with its content.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tgrowing = false;\n\n\t/**\n\t * Defines the maximum number of rows that the component can grow.\n\t * @default 0\n\t * @public\n\t */\n\t@property({ type: Number })\n\tgrowingMaxRows = 0;\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tname?: string;\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 * Receives id(or many ids) of the elements that label the textarea.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused = false;\n\n\t/**\n\t * @private\n\t */\n\t @property({ type: Boolean })\n\texceeding = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Array })\n\t_mirrorText: IndexedTokenizedText = [];\n\n\t/**\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_maxHeight?: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_width?: number;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t * The value state message slot should contain only one root element.\n \t *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed if the component has\n\t * `valueState` of type `Information`, `Critical` or `Negative`.\n\t * @since 1.0.0-rc.7\n\t * @public\n\t */\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\t_fnOnResize: ResizeObserverCallback;\n\t_firstRendering: boolean;\n\t_openValueStateMsgPopover: boolean;\n\t_exceededTextProps!: ExceededText;\n\t_keyDown?: boolean;\n\tpreviousValue: string;\n\tvalueStatePopover?: Popover;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tget formValidityMessage() {\n\t\treturn TextArea.i18nBundle.getText(FORM_TEXTFIELD_REQUIRED);\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\treturn { valueMissing: this.required && !this.value };\n\t}\n\n\tasync formElementAnchor() {\n\t\treturn this.getFocusDomRefAsync();\n\t}\n\n\tget formFormattedValue(): FormData | string | null {\n\t\treturn this.value;\n\t}\n\n\tstatic async onDefine() {\n\t\tTextArea.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._firstRendering = true;\n\t\tthis._openValueStateMsgPopover = false;\n\t\tthis._fnOnResize = this._onResize.bind(this);\n\t\tthis.previousValue = \"\";\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._fnOnResize);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._fnOnResize);\n\t}\n\n\tonBeforeRendering() {\n\t\tif (!this.value) {\n\t\t\t// fallback to default value\n\t\t\tthis.value = \"\";\n\t\t}\n\n\t\tthis._exceededTextProps = this._calcExceededText();\n\t\tthis._mirrorText = this._tokenizeText(this.value);\n\n\t\tthis.exceeding = !!this._exceededTextProps.leftCharactersCount && this._exceededTextProps.leftCharactersCount < 0;\n\t\tthis._setCSSParams();\n\t}\n\n\tonAfterRendering() {\n\t\tconst nativeTextArea = this.getInputDomRef()!;\n\n\t\tif (this.rows === 1) {\n\t\t\tnativeTextArea.setAttribute(\"rows\", \"1\");\n\t\t} else {\n\t\t\tnativeTextArea.removeAttribute(\"rows\");\n\t\t}\n\n\t\tthis.toggleValueStateMessage(this.openValueStateMsgPopover);\n\t\tthis._firstRendering = false;\n\t}\n\n\tgetInputDomRef() {\n\t\treturn this.getDomRef()!.querySelector<HTMLTextAreaElement>(\"textarea\")!;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tthis._keyDown = true;\n\n\t\tif (isEscape(e)) {\n\t\t\tconst nativeTextArea = this.getInputDomRef();\n\n\t\t\tthis.value = this.previousValue;\n\t\t\tnativeTextArea.value = this.value;\n\t\t\tthis.fireEvent(\"input\");\n\t\t}\n\t}\n\n\t_onkeyup() {\n\t\tthis._keyDown = false;\n\t}\n\n\t_onfocusin() {\n\t\tthis.focused = true;\n\t\tthis._openValueStateMsgPopover = true;\n\t\tthis.previousValue = this.getInputDomRef().value;\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\tconst eTarget = e.relatedTarget as HTMLElement;\n\t\tconst focusedOutToValueStateMessage = eTarget && this.contains(eTarget);\n\n\t\tthis.focused = false;\n\n\t\tif (!focusedOutToValueStateMessage) {\n\t\t\tthis._openValueStateMsgPopover = false;\n\t\t}\n\t}\n\n\t_onchange() {\n\t\tthis.fireEvent(\"change\", {});\n\t}\n\n\t_onselect() {\n\t\tthis.fireEvent(\"select\", {});\n\t}\n\n\t_onscroll() {\n\t\tthis.fireEvent(\"scroll\", {});\n\t}\n\n\t_oninput(e: InputEvent) {\n\t\tconst nativeTextArea = this.getInputDomRef()!;\n\n\t\tif (e.target === nativeTextArea) {\n\t\t\t// stop the native event, as the semantic \"input\" would be fired.\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.value = nativeTextArea.value;\n\t\tconst valueLength = this.value.length;\n\n\t\tif (e.inputType === \"insertFromPaste\" && this.maxlength && valueLength > this.maxlength) {\n\t\t\tnativeTextArea.setSelectionRange(this.maxlength, valueLength);\n\t\t}\n\n\t\tthis.fireEvent(\"input\", {});\n\n\t\t// Angular two way data binding\n\t\tthis.fireEvent(\"value-changed\");\n\t}\n\n\t_onResize() {\n\t\tif (this.displayValueStateMessagePopover) {\n\t\t\tthis._width = this.offsetWidth;\n\t\t}\n\t}\n\n\t_setCSSParams() {\n\t\tthis.style.setProperty(\"--_textarea_rows\", this.rows ? String(this.rows) : \"2\");\n\t\tthis.style.setProperty(\"--_textarea_growing_max_rows\", String(this.growingMaxRows));\n\t}\n\n\ttoggleValueStateMessage(toggle: boolean) {\n\t\tif (toggle) {\n\t\t\tthis.openPopover();\n\t\t} else {\n\t\t\tthis.closePopover();\n\t\t}\n\t}\n\n\topenPopover() {\n\t\tthis.valueStatePopover = this._getPopover();\n\t\tif (this.valueStatePopover) {\n\t\t\tthis.valueStatePopover.opener = this.shadowRoot!.querySelector<HTMLElement>(\".ui5-textarea-root .ui5-textarea-wrapper\")!;\n\t\t\tthis.valueStatePopover.open = true;\n\t\t}\n\t}\n\n\tclosePopover() {\n\t\tthis.valueStatePopover = this._getPopover();\n\t\tif (this.valueStatePopover) {\n\t\t\tthis.valueStatePopover.open = false;\n\t\t}\n\t}\n\n\t_getPopover() {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\"[ui5-popover]\")!;\n\t}\n\n\t_tokenizeText(value: string) {\n\t\tconst tokenizedText = value.replace(/&/gm, \"&\").replace(/\"/gm, \""\").replace(/'/gm, \"'\").replace(/</gm, \"<\")\n\t\t\t.replace(/>/gm, \">\")\n\t\t\t.split(\"\\n\");\n\n\t\tif (tokenizedText.length < this.rows) {\n\t\t\treturn this._mapTokenizedTextToObject([...tokenizedText, ...Array(this.rows - tokenizedText.length).fill(\"\")] as TokenizedText);\n\t\t}\n\n\t\treturn this._mapTokenizedTextToObject(tokenizedText);\n\t}\n\n\t_mapTokenizedTextToObject(tokenizedText: TokenizedText) {\n\t\treturn tokenizedText.map((token, index) => {\n\t\t\treturn {\n\t\t\t\ttext: token,\n\t\t\t\tlast: index === (tokenizedText.length - 1),\n\t\t\t};\n\t\t});\n\t}\n\n\t_calcExceededText() {\n\t\tlet calcedMaxLength,\n\t\t\texceededText,\n\t\t\tleftCharactersCount;\n\n\t\tif (this.showExceededText) {\n\t\t\tconst maxLength = this.maxlength;\n\n\t\t\tif (maxLength !== null && maxLength !== undefined) {\n\t\t\t\tleftCharactersCount = maxLength - this.value.length;\n\n\t\t\t\tif (leftCharactersCount >= 0) {\n\t\t\t\t\texceededText = TextArea.i18nBundle.getText(TEXTAREA_CHARACTERS_LEFT, leftCharactersCount);\n\t\t\t\t} else {\n\t\t\t\t\texceededText = TextArea.i18nBundle.getText(TEXTAREA_CHARACTERS_EXCEEDED, Math.abs(leftCharactersCount));\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tcalcedMaxLength = this.maxlength;\n\t\t}\n\n\t\treturn {\n\t\t\texceededText, leftCharactersCount, calcedMaxLength,\n\t\t};\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-textarea-root\": true,\n\t\t\t\t\"ui5-content-native-scrollbars\": getEffectiveScrollbarStyle(),\n\t\t\t},\n\t\t\tvalueStateMsg: {\n\t\t\t\t\"ui5-valuestatemessage-header\": true,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Negative,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Critical,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t},\n\t\t};\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tvalueStateMsgPopover: {\n\t\t\t\t\"max-width\": `${this._width!}px`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget tabIndex() {\n\t\treturn this.disabled ? -1 : 0;\n\t}\n\n\tget ariaLabelText() {\n\t\tconst effectiveAriaLabelText = getEffectiveAriaLabelText(this) || getAssociatedLabelForTexts(this);\n\n\t\tif (this.showExceededText) {\n\t\t\tif (effectiveAriaLabelText) {\n\t\t\t\treturn effectiveAriaLabelText.concat(\" \", this._exceededTextProps.exceededText!);\n\t\t\t}\n\n\t\t\treturn this._exceededTextProps.exceededText;\n\t\t}\n\n\t\treturn effectiveAriaLabelText;\n\t}\n\n\tget ariaDescribedBy() {\n\t\treturn this.hasValueState ? `${this._id}-valueStateDesc` : undefined;\n\t}\n\n\tget ariaValueStateHiddenText() {\n\t\tif (!this.hasValueState) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.valueState === ValueState.None) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.hasCustomValueState) {\n\t\t\treturn `${this.valueStateTypeMappings[this.valueState]}`.concat(\" \", this.valueStateMessage.map(el => el.textContent).join(\" \"));\n\t\t}\n\n\t\treturn `${this.valueStateTypeMappings[this.valueState]} ${this.valueStateDefaultText}`;\n\t}\n\n\tget valueStateDefaultText() {\n\t\tif (this.valueState !== ValueState.None) {\n\t\t\treturn this.valueStateTextMappings[this.valueState];\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tget ariaInvalid() {\n\t\treturn this.valueState === ValueState.Negative ? \"true\" : null;\n\t}\n\n\tget openValueStateMsgPopover() {\n\t\treturn !this._firstRendering && this._openValueStateMsgPopover && this.displayValueStateMessagePopover;\n\t}\n\n\tget displayValueStateMessagePopover() {\n\t\treturn !this.readonly && (this.hasCustomValueState || this.hasValueState);\n\t}\n\n\tget hasCustomValueState() {\n\t\treturn !!this.valueStateMessage.length && this.hasValueState;\n\t}\n\n\tget hasValueState() {\n\t\treturn this.valueState === ValueState.Negative || this.valueState === ValueState.Critical || this.valueState === ValueState.Information;\n\t}\n\n\tget _valueStatePopoverHorizontalAlign(): `${PopoverHorizontalAlign}` {\n\t\treturn this.effectiveDir !== \"rtl\" ? \"Start\" : \"End\";\n\t}\n\n\t/**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\tget _valueStateMessageIcon() {\n\t\tconst iconPerValueState = {\n\t\t\tNegative: \"error\",\n\t\t\tCritical: \"alert\",\n\t\t\tPositive: \"sys-enter-2\",\n\t\t\tInformation: \"information\",\n\t\t};\n\n\t\treturn this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : \"\";\n\t}\n\n\tget valueStateTextMappings() {\n\t\treturn {\n\t\t\t\"Positive\": TextArea.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t\"Information\": TextArea.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t\t\"Negative\": TextArea.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t\"Critical\": TextArea.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t};\n\t}\n\n\tget valueStateTypeMappings() {\n\t\treturn {\n\t\t\t\"Positive\": TextArea.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),\n\t\t\t\"Information\": TextArea.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),\n\t\t\t\"Negative\": TextArea.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),\n\t\t\t\"Critical\": TextArea.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),\n\t\t};\n\t}\n}\n\nTextArea.define();\n\nexport default TextArea;\n"]}
|
|
1
|
+
{"version":3,"file":"TextArea.js","sourceRoot":"","sources":["../src/TextArea.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { getEffectiveAriaLabelText, getAssociatedLabelForTexts } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isEscape } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport Popover from \"./Popover.js\";\nimport Icon from \"./Icon.js\";\nimport type PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\n\nimport TextAreaTemplate from \"./generated/templates/TextAreaTemplate.lit.js\";\n\nimport {\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_INFORMATION,\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_TYPE_SUCCESS,\n\tVALUE_STATE_TYPE_INFORMATION,\n\tVALUE_STATE_TYPE_ERROR,\n\tVALUE_STATE_TYPE_WARNING,\n\tTEXTAREA_CHARACTERS_LEFT,\n\tTEXTAREA_CHARACTERS_EXCEEDED,\n\tFORM_TEXTFIELD_REQUIRED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport textareaStyles from \"./generated/themes/TextArea.css.js\";\nimport valueStateMessageStyles from \"./generated/themes/ValueStateMessage.css.js\";\n\ntype TokenizedText = Array<string>;\ntype IndexedTokenizedText = Array<{\n\ttext: string;\n\tlast: boolean;\n}>;\n\ntype ExceededText = {\n\texceededText?: string;\n\tleftCharactersCount?: number;\n\tcalcedMaxLength?: number;\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-textarea` component is used to enter multiple rows of text.\n *\n * When empty, it can hold a placeholder similar to a `ui5-input`.\n * You can define the rows of the `ui5-textarea` and also determine specific behavior when handling long texts.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TextArea.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart textarea - Used to style the native textarea\n */\n@customElement({\n\ttag: \"ui5-textarea\",\n\tformAssociated: true,\n\tlanguageAware: true,\n\tstyles: [\n\t\ttextareaStyles,\n\t\tvalueStateMessageStyles,\n\t\tgetEffectiveScrollbarStyle(),\n\t],\n\trenderer: litRender,\n\ttemplate: TextAreaTemplate,\n\tdependencies: [Popover, Icon],\n})\n/**\n * Fired when the text has changed and the focus leaves the component.\n * @public\n */\n@event(\"change\")\n\n/**\n * Fired when the value of the component changes at each keystroke or when\n * something is pasted.\n * @since 1.0.0-rc.5\n * @public\n */\n@event(\"input\")\n\n/**\n * Fired when some text has been selected.\n *\n * @since 1.23.0\n * @public\n */\n@event(\"select\")\n\n/**\n * Fired when textarea is scrolled.\n *\n * @since 1.23.0\n * @public\n */\n@event(\"scroll\")\n\nclass TextArea extends UI5Element implements IFormInputElement {\n\t/**\n\t * Defines the value of the component.\n\t * @formEvents change input\n\t * @formProperty\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tvalue = \"\";\n\t/**\n\t * Indicates whether the user can interact with the component or not.\n\t *\n\t * **Note:** A disabled component is completely noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\t/**\n\t * Defines whether the component is read-only.\n\t *\n\t * **Note:** A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly = false;\n\t/**\n\t * Defines whether the component is required.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.3\n\t */\n\t@property({ type: Boolean })\n\trequired = false;\n\n\t/**\n\t * Defines a short hint intended to aid the user with data entry when the component has no value.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tplaceholder?: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t *\n\t * **Note:** If `maxlength` property is set,\n\t * the component turns into \"Critical\" state once the characters exceeds the limit.\n\t * In this case, only the \"Negative\" state is considered and can be applied.\n\t * @default \"None\"\n\t * @since 1.0.0-rc.7\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines the number of visible text rows for the component.\n\t *\n\t * **Notes:**\n\t *\n\t * - If the `growing` property is enabled, this property defines the minimum rows to be displayed\n\t * in the textarea.\n\t * - The CSS `height` property wins over the `rows` property, if both are set.\n\t * @default 0\n\t * @public\n\t */\n\t@property({ type: Number })\n\trows = 0;\n\n\t/**\n\t * Defines the maximum number of characters that the `value` can have.\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: Number })\n\tmaxlength?: number\n\n\t/**\n\t * Determines whether the characters exceeding the maximum allowed character count are visible\n\t * in the component.\n\t *\n\t * If set to `false`, the user is not allowed to enter more characters than what is set in the\n\t * `maxlength` property.\n\t * If set to `true` the characters exceeding the `maxlength` value are selected on\n\t * paste and the counter below the component displays their number.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowExceededText = false;\n\n\t/**\n\t * Enables the component to automatically grow and shrink dynamically with its content.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tgrowing = false;\n\n\t/**\n\t * Defines the maximum number of rows that the component can grow.\n\t * @default 0\n\t * @public\n\t */\n\t@property({ type: Number })\n\tgrowingMaxRows = 0;\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tname?: string;\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 * Receives id(or many ids) of the elements that label the textarea.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused = false;\n\n\t/**\n\t * @private\n\t */\n\t @property({ type: Boolean })\n\texceeding = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Array })\n\t_mirrorText: IndexedTokenizedText = [];\n\n\t/**\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_maxHeight?: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_width?: number;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t * The value state message slot should contain only one root element.\n \t *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed if the component has\n\t * `valueState` of type `Information`, `Critical` or `Negative`.\n\t * @since 1.0.0-rc.7\n\t * @public\n\t */\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\t_fnOnResize: ResizeObserverCallback;\n\t_firstRendering: boolean;\n\t_openValueStateMsgPopover: boolean;\n\t_exceededTextProps!: ExceededText;\n\t_keyDown?: boolean;\n\tpreviousValue: string;\n\tvalueStatePopover?: Popover;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tget formValidityMessage() {\n\t\treturn TextArea.i18nBundle.getText(FORM_TEXTFIELD_REQUIRED);\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\treturn { valueMissing: this.required && !this.value };\n\t}\n\n\tasync formElementAnchor() {\n\t\treturn this.getFocusDomRefAsync();\n\t}\n\n\tget formFormattedValue(): FormData | string | null {\n\t\treturn this.value;\n\t}\n\n\tstatic async onDefine() {\n\t\tTextArea.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._firstRendering = true;\n\t\tthis._openValueStateMsgPopover = false;\n\t\tthis._fnOnResize = this._onResize.bind(this);\n\t\tthis.previousValue = \"\";\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._fnOnResize);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._fnOnResize);\n\t}\n\n\tonBeforeRendering() {\n\t\tif (!this.value) {\n\t\t\t// fallback to default value\n\t\t\tthis.value = \"\";\n\t\t}\n\n\t\tthis._exceededTextProps = this._calcExceededText();\n\t\tthis._mirrorText = this._tokenizeText(this.value);\n\n\t\tthis.exceeding = !!this._exceededTextProps.leftCharactersCount && this._exceededTextProps.leftCharactersCount < 0;\n\t\tthis._setCSSParams();\n\t}\n\n\tonAfterRendering() {\n\t\tconst nativeTextArea = this.getInputDomRef()!;\n\n\t\tif (this.rows === 1) {\n\t\t\tnativeTextArea.setAttribute(\"rows\", \"1\");\n\t\t} else {\n\t\t\tnativeTextArea.removeAttribute(\"rows\");\n\t\t}\n\n\t\tthis.toggleValueStateMessage(this.openValueStateMsgPopover);\n\t\tthis._firstRendering = false;\n\t}\n\n\tgetInputDomRef() {\n\t\treturn this.getDomRef()!.querySelector<HTMLTextAreaElement>(\"textarea\")!;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tthis._keyDown = true;\n\n\t\tif (isEscape(e)) {\n\t\t\tconst nativeTextArea = this.getInputDomRef();\n\n\t\t\tthis.value = this.previousValue;\n\t\t\tnativeTextArea.value = this.value;\n\t\t\tthis.fireEvent(\"input\");\n\t\t}\n\t}\n\n\t_onkeyup() {\n\t\tthis._keyDown = false;\n\t}\n\n\t_onfocusin() {\n\t\tthis.focused = true;\n\t\tthis._openValueStateMsgPopover = true;\n\t\tthis.previousValue = this.getInputDomRef().value;\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\tconst eTarget = e.relatedTarget as HTMLElement;\n\t\tconst focusedOutToValueStateMessage = eTarget && this.contains(eTarget);\n\n\t\tthis.focused = false;\n\n\t\tif (!focusedOutToValueStateMessage) {\n\t\t\tthis._openValueStateMsgPopover = false;\n\t\t}\n\t}\n\n\t_onchange() {\n\t\tthis.fireEvent(\"change\", {});\n\t}\n\n\t_onselect() {\n\t\tthis.fireEvent(\"select\", {});\n\t}\n\n\t_onscroll() {\n\t\tthis.fireEvent(\"scroll\", {});\n\t}\n\n\t_oninput(e: InputEvent) {\n\t\tconst nativeTextArea = this.getInputDomRef()!;\n\n\t\tif (e.target === nativeTextArea) {\n\t\t\t// stop the native event, as the semantic \"input\" would be fired.\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.value = nativeTextArea.value;\n\t\tconst valueLength = this.value.length;\n\n\t\tif (e.inputType === \"insertFromPaste\" && this.maxlength && valueLength > this.maxlength) {\n\t\t\tnativeTextArea.setSelectionRange(this.maxlength, valueLength);\n\t\t}\n\n\t\tthis.fireEvent(\"input\", {});\n\n\t\t// Angular two way data binding\n\t\tthis.fireEvent(\"value-changed\");\n\t}\n\n\t_onResize() {\n\t\tif (this.displayValueStateMessagePopover) {\n\t\t\tthis._width = this.offsetWidth;\n\t\t}\n\t}\n\n\t_setCSSParams() {\n\t\tthis.style.setProperty(\"--_textarea_rows\", this.rows ? String(this.rows) : \"2\");\n\t\tthis.style.setProperty(\"--_textarea_growing_max_rows\", String(this.growingMaxRows));\n\t}\n\n\ttoggleValueStateMessage(toggle: boolean) {\n\t\tif (toggle) {\n\t\t\tthis.openPopover();\n\t\t} else {\n\t\t\tthis.closePopover();\n\t\t}\n\t}\n\n\topenPopover() {\n\t\tthis.valueStatePopover = this._getPopover();\n\t\tif (this.valueStatePopover) {\n\t\t\tthis.valueStatePopover.opener = this.shadowRoot!.querySelector<HTMLElement>(\".ui5-textarea-root .ui5-textarea-wrapper\")!;\n\t\t\tthis.valueStatePopover.open = true;\n\t\t}\n\t}\n\n\tclosePopover() {\n\t\tthis.valueStatePopover = this._getPopover();\n\t\tif (this.valueStatePopover) {\n\t\t\tthis.valueStatePopover.open = false;\n\t\t}\n\t}\n\n\t_getPopover() {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\"[ui5-popover]\")!;\n\t}\n\n\t_tokenizeText(value: string) {\n\t\tconst tokenizedText = value.replace(/&/gm, \"&\").replace(/\"/gm, \""\").replace(/'/gm, \"'\").replace(/</gm, \"<\")\n\t\t\t.replace(/>/gm, \">\")\n\t\t\t.split(\"\\n\");\n\n\t\tif (tokenizedText.length < this.rows) {\n\t\t\treturn this._mapTokenizedTextToObject([...tokenizedText, ...Array(this.rows - tokenizedText.length).fill(\"\")] as TokenizedText);\n\t\t}\n\n\t\treturn this._mapTokenizedTextToObject(tokenizedText);\n\t}\n\n\t_mapTokenizedTextToObject(tokenizedText: TokenizedText) {\n\t\treturn tokenizedText.map((token, index) => {\n\t\t\treturn {\n\t\t\t\ttext: token,\n\t\t\t\tlast: index === (tokenizedText.length - 1),\n\t\t\t};\n\t\t});\n\t}\n\n\t_calcExceededText() {\n\t\tlet calcedMaxLength,\n\t\t\texceededText,\n\t\t\tleftCharactersCount;\n\n\t\tif (this.showExceededText) {\n\t\t\tconst maxLength = this.maxlength;\n\n\t\t\tif (maxLength !== null && maxLength !== undefined) {\n\t\t\t\tleftCharactersCount = maxLength - this.value.length;\n\n\t\t\t\tif (leftCharactersCount >= 0) {\n\t\t\t\t\texceededText = TextArea.i18nBundle.getText(TEXTAREA_CHARACTERS_LEFT, leftCharactersCount);\n\t\t\t\t} else {\n\t\t\t\t\texceededText = TextArea.i18nBundle.getText(TEXTAREA_CHARACTERS_EXCEEDED, Math.abs(leftCharactersCount));\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tcalcedMaxLength = this.maxlength;\n\t\t}\n\n\t\treturn {\n\t\t\texceededText, leftCharactersCount, calcedMaxLength,\n\t\t};\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-textarea-root\": true,\n\t\t\t\t\"ui5-content-custom-scrollbars\": !!getEffectiveScrollbarStyle(),\n\t\t\t},\n\t\t\tvalueStateMsg: {\n\t\t\t\t\"ui5-valuestatemessage-header\": true,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Negative,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Critical,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t},\n\t\t};\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tvalueStateMsgPopover: {\n\t\t\t\t\"max-width\": `${this._width!}px`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget tabIndex() {\n\t\treturn this.disabled ? -1 : 0;\n\t}\n\n\tget ariaLabelText() {\n\t\tconst effectiveAriaLabelText = getEffectiveAriaLabelText(this) || getAssociatedLabelForTexts(this);\n\n\t\tif (this.showExceededText) {\n\t\t\tif (effectiveAriaLabelText) {\n\t\t\t\treturn effectiveAriaLabelText.concat(\" \", this._exceededTextProps.exceededText!);\n\t\t\t}\n\n\t\t\treturn this._exceededTextProps.exceededText;\n\t\t}\n\n\t\treturn effectiveAriaLabelText;\n\t}\n\n\tget ariaDescribedBy() {\n\t\treturn this.hasValueState ? `${this._id}-valueStateDesc` : undefined;\n\t}\n\n\tget ariaValueStateHiddenText() {\n\t\tif (!this.hasValueState) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.valueState === ValueState.None) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.hasCustomValueState) {\n\t\t\treturn `${this.valueStateTypeMappings[this.valueState]}`.concat(\" \", this.valueStateMessage.map(el => el.textContent).join(\" \"));\n\t\t}\n\n\t\treturn `${this.valueStateTypeMappings[this.valueState]} ${this.valueStateDefaultText}`;\n\t}\n\n\tget valueStateDefaultText() {\n\t\tif (this.valueState !== ValueState.None) {\n\t\t\treturn this.valueStateTextMappings[this.valueState];\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tget ariaInvalid() {\n\t\treturn this.valueState === ValueState.Negative ? \"true\" : null;\n\t}\n\n\tget openValueStateMsgPopover() {\n\t\treturn !this._firstRendering && this._openValueStateMsgPopover && this.displayValueStateMessagePopover;\n\t}\n\n\tget displayValueStateMessagePopover() {\n\t\treturn !this.readonly && (this.hasCustomValueState || this.hasValueState);\n\t}\n\n\tget hasCustomValueState() {\n\t\treturn !!this.valueStateMessage.length && this.hasValueState;\n\t}\n\n\tget hasValueState() {\n\t\treturn this.valueState === ValueState.Negative || this.valueState === ValueState.Critical || this.valueState === ValueState.Information;\n\t}\n\n\tget _valueStatePopoverHorizontalAlign(): `${PopoverHorizontalAlign}` {\n\t\treturn this.effectiveDir !== \"rtl\" ? \"Start\" : \"End\";\n\t}\n\n\t/**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\tget _valueStateMessageIcon() {\n\t\tconst iconPerValueState = {\n\t\t\tNegative: \"error\",\n\t\t\tCritical: \"alert\",\n\t\t\tPositive: \"sys-enter-2\",\n\t\t\tInformation: \"information\",\n\t\t};\n\n\t\treturn this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : \"\";\n\t}\n\n\tget valueStateTextMappings() {\n\t\treturn {\n\t\t\t\"Positive\": TextArea.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t\"Information\": TextArea.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t\t\"Negative\": TextArea.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t\"Critical\": TextArea.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t};\n\t}\n\n\tget valueStateTypeMappings() {\n\t\treturn {\n\t\t\t\"Positive\": TextArea.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),\n\t\t\t\"Information\": TextArea.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),\n\t\t\t\"Negative\": TextArea.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),\n\t\t\t\"Critical\": TextArea.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),\n\t\t};\n\t}\n}\n\nTextArea.define();\n\nexport default TextArea;\n"]}
|