@ui5/webcomponents 2.27.1 → 2.28.0-rc.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 +33 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/Avatar.d.ts +13 -7
- package/dist/Avatar.js +10 -6
- package/dist/Avatar.js.map +1 -1
- package/dist/AvatarGroup.d.ts +2 -2
- package/dist/AvatarGroup.js +3 -3
- package/dist/AvatarGroup.js.map +1 -1
- package/dist/Bar.d.ts +1 -1
- package/dist/Bar.js +1 -1
- package/dist/Bar.js.map +1 -1
- package/dist/Breadcrumbs.d.ts +2 -1
- package/dist/Breadcrumbs.js +2 -1
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/BreadcrumbsItem.d.ts +1 -1
- package/dist/BreadcrumbsItem.js +1 -1
- package/dist/BreadcrumbsItem.js.map +1 -1
- package/dist/BusyIndicator.d.ts +2 -2
- package/dist/BusyIndicator.js +1 -1
- package/dist/BusyIndicator.js.map +1 -1
- package/dist/Button.d.ts +4 -3
- package/dist/Button.js +3 -2
- package/dist/Button.js.map +1 -1
- package/dist/Calendar.d.ts +4 -1
- package/dist/Calendar.js +4 -1
- package/dist/Calendar.js.map +1 -1
- package/dist/CalendarLegend.d.ts +1 -0
- package/dist/CalendarLegend.js +1 -0
- package/dist/CalendarLegend.js.map +1 -1
- package/dist/Card.d.ts +4 -3
- package/dist/Card.js +1 -0
- package/dist/Card.js.map +1 -1
- package/dist/CardHeader.d.ts +1 -1
- package/dist/CardHeader.js +1 -1
- package/dist/CardHeader.js.map +1 -1
- package/dist/Carousel.d.ts +13 -13
- package/dist/Carousel.js +12 -12
- package/dist/Carousel.js.map +1 -1
- package/dist/CheckBox.d.ts +1 -1
- package/dist/CheckBox.js +1 -1
- package/dist/CheckBox.js.map +1 -1
- package/dist/ColorPalette.d.ts +9 -5
- package/dist/ColorPalette.js +12 -5
- package/dist/ColorPalette.js.map +1 -1
- package/dist/ColorPaletteItem.d.ts +2 -2
- package/dist/ColorPaletteItem.js +2 -2
- package/dist/ColorPaletteItem.js.map +1 -1
- package/dist/ColorPalettePopover.d.ts +2 -2
- package/dist/ColorPalettePopover.js +2 -2
- package/dist/ColorPalettePopover.js.map +1 -1
- package/dist/ColorPicker.d.ts +3 -1
- package/dist/ColorPicker.js +7 -1
- package/dist/ColorPicker.js.map +1 -1
- package/dist/ComboBox.d.ts +35 -7
- package/dist/ComboBox.js +134 -8
- package/dist/ComboBox.js.map +1 -1
- package/dist/ComboBoxItem.d.ts +1 -1
- package/dist/ComboBoxItem.js.map +1 -1
- package/dist/ComboBoxItemGroup.d.ts +1 -1
- package/dist/ComboBoxItemGroup.js +1 -1
- package/dist/ComboBoxItemGroup.js.map +1 -1
- package/dist/ComboBoxPopoverTemplate.js +43 -20
- package/dist/ComboBoxPopoverTemplate.js.map +1 -1
- package/dist/ComboBoxTemplate.js +4 -2
- package/dist/ComboBoxTemplate.js.map +1 -1
- package/dist/DateComponentBase.d.ts +3 -3
- package/dist/DateComponentBase.js +2 -2
- package/dist/DateComponentBase.js.map +1 -1
- package/dist/DatePicker.d.ts +5 -5
- package/dist/DatePicker.js +2 -2
- package/dist/DatePicker.js.map +1 -1
- package/dist/DateRangePicker.d.ts +1 -1
- package/dist/DateRangePicker.js +1 -1
- package/dist/DateRangePicker.js.map +1 -1
- package/dist/DateTimePicker.d.ts +1 -1
- package/dist/DateTimePicker.js +1 -1
- package/dist/DateTimePicker.js.map +1 -1
- package/dist/DayPicker.d.ts +1 -1
- package/dist/DayPicker.js +4 -3
- package/dist/DayPicker.js.map +1 -1
- package/dist/Dialog.d.ts +3 -3
- package/dist/Dialog.js +3 -3
- package/dist/Dialog.js.map +1 -1
- package/dist/FileUploader.d.ts +2 -2
- package/dist/FileUploader.js +1 -1
- package/dist/FileUploader.js.map +1 -1
- package/dist/Form.d.ts +2 -0
- package/dist/Form.js +2 -0
- package/dist/Form.js.map +1 -1
- package/dist/GridWalker.d.ts +1 -0
- package/dist/GridWalker.js +3 -0
- package/dist/GridWalker.js.map +1 -1
- package/dist/Input.d.ts +10 -6
- package/dist/Input.js +7 -3
- package/dist/Input.js.map +1 -1
- package/dist/InputIcon.d.ts +12 -1
- package/dist/InputIcon.js +15 -1
- package/dist/InputIcon.js.map +1 -1
- package/dist/Link.d.ts +17 -2
- package/dist/Link.js +16 -1
- package/dist/Link.js.map +1 -1
- package/dist/List.d.ts +9 -6
- package/dist/List.js +9 -6
- package/dist/List.js.map +1 -1
- package/dist/ListItem.d.ts +1 -1
- package/dist/ListItem.js +1 -1
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItemBase.d.ts +1 -1
- package/dist/ListItemBase.js +1 -1
- package/dist/ListItemBase.js.map +1 -1
- package/dist/ListItemCustom.d.ts +1 -1
- package/dist/ListItemCustom.js.map +1 -1
- package/dist/ListItemStandard.d.ts +4 -4
- package/dist/ListItemStandard.js +1 -1
- package/dist/ListItemStandard.js.map +1 -1
- package/dist/Menu.d.ts +3 -0
- package/dist/Menu.js +3 -0
- package/dist/Menu.js.map +1 -1
- package/dist/MessageStrip.d.ts +3 -3
- package/dist/MessageStrip.js +3 -3
- package/dist/MessageStrip.js.map +1 -1
- package/dist/MonthPicker.js +1 -1
- package/dist/MonthPicker.js.map +1 -1
- package/dist/MultiComboBox.d.ts +7 -4
- package/dist/MultiComboBox.js +5 -2
- package/dist/MultiComboBox.js.map +1 -1
- package/dist/MultiInput.d.ts +1 -1
- package/dist/MultiInput.js +1 -1
- package/dist/MultiInput.js.map +1 -1
- package/dist/{NumberInput.d.ts → NumericInput.d.ts} +9 -9
- package/dist/{NumberInput.js → NumericInput.js} +50 -50
- package/dist/NumericInput.js.map +1 -0
- package/dist/NumericInputTemplate.d.ts +2 -0
- package/dist/{NumberInputTemplate.js → NumericInputTemplate.js} +6 -6
- package/dist/NumericInputTemplate.js.map +1 -0
- package/dist/Option.d.ts +1 -1
- package/dist/Option.js.map +1 -1
- package/dist/Panel.d.ts +3 -3
- package/dist/Panel.js +2 -2
- package/dist/Panel.js.map +1 -1
- package/dist/Popover.d.ts +13 -2
- package/dist/Popover.js +50 -3
- package/dist/Popover.js.map +1 -1
- package/dist/PopoverResize.d.ts +3 -0
- package/dist/PopoverResize.js +53 -23
- package/dist/PopoverResize.js.map +1 -1
- package/dist/PopoverTemplate.js +3 -1
- package/dist/PopoverTemplate.js.map +1 -1
- package/dist/Popup.d.ts +2 -2
- package/dist/Popup.js +2 -2
- package/dist/Popup.js.map +1 -1
- package/dist/ProgressIndicator.d.ts +1 -1
- package/dist/ProgressIndicator.js +1 -1
- package/dist/ProgressIndicator.js.map +1 -1
- package/dist/RadioButton.d.ts +1 -1
- package/dist/RadioButton.js +2 -2
- package/dist/RadioButton.js.map +1 -1
- package/dist/RangeSlider.d.ts +1 -1
- package/dist/RangeSlider.js +5 -4
- package/dist/RangeSlider.js.map +1 -1
- package/dist/RangeSliderTemplate.js +3 -3
- package/dist/RangeSliderTemplate.js.map +1 -1
- package/dist/RatingIndicator.d.ts +5 -5
- package/dist/RatingIndicator.js +4 -4
- package/dist/RatingIndicator.js.map +1 -1
- package/dist/ResponsivePopover.d.ts +2 -2
- package/dist/ResponsivePopover.js +2 -2
- package/dist/ResponsivePopover.js.map +1 -1
- package/dist/SegmentedButton.d.ts +2 -1
- package/dist/SegmentedButton.js +2 -1
- package/dist/SegmentedButton.js.map +1 -1
- package/dist/SegmentedButtonItem.d.ts +1 -1
- package/dist/SegmentedButtonItem.js.map +1 -1
- package/dist/Select.d.ts +7 -4
- package/dist/Select.js +5 -2
- package/dist/Select.js.map +1 -1
- package/dist/Slider.d.ts +2 -1
- package/dist/Slider.js +5 -1
- package/dist/Slider.js.map +1 -1
- package/dist/SliderBase.d.ts +1 -0
- package/dist/SliderBase.js +7 -1
- package/dist/SliderBase.js.map +1 -1
- package/dist/SliderHandle.d.ts +4 -0
- package/dist/SliderHandle.js +7 -0
- package/dist/SliderHandle.js.map +1 -1
- package/dist/SliderScale.d.ts +4 -0
- package/dist/SliderScale.js +13 -0
- package/dist/SliderScale.js.map +1 -1
- package/dist/SliderScaleTemplate.js +1 -1
- package/dist/SliderScaleTemplate.js.map +1 -1
- package/dist/SliderTemplate.js +1 -1
- package/dist/SliderTemplate.js.map +1 -1
- package/dist/StepInput.d.ts +8 -7
- package/dist/StepInput.js +6 -2
- package/dist/StepInput.js.map +1 -1
- package/dist/StepInputTemplate.js +2 -2
- package/dist/StepInputTemplate.js.map +1 -1
- package/dist/SuggestionItem.d.ts +1 -1
- package/dist/SuggestionItem.js.map +1 -1
- package/dist/SuggestionListItem.d.ts +1 -1
- package/dist/SuggestionListItem.js.map +1 -1
- package/dist/Switch.d.ts +1 -1
- package/dist/Switch.js +1 -1
- package/dist/Switch.js.map +1 -1
- package/dist/Tab.d.ts +1 -1
- package/dist/Tab.js +1 -1
- package/dist/Tab.js.map +1 -1
- package/dist/TabContainer.d.ts +4 -2
- package/dist/TabContainer.js +3 -1
- package/dist/TabContainer.js.map +1 -1
- package/dist/Table.d.ts +16 -3
- package/dist/Table.js +40 -4
- package/dist/Table.js.map +1 -1
- package/dist/TableGrowing.d.ts +1 -0
- package/dist/TableGrowing.js +12 -10
- package/dist/TableGrowing.js.map +1 -1
- package/dist/TableHeaderRow.d.ts +0 -6
- package/dist/TableHeaderRow.js +1 -19
- package/dist/TableHeaderRow.js.map +1 -1
- package/dist/TableHeaderRowTemplate.js +2 -12
- package/dist/TableHeaderRowTemplate.js.map +1 -1
- package/dist/TableNavigation.d.ts +1 -0
- package/dist/TableNavigation.js +7 -2
- package/dist/TableNavigation.js.map +1 -1
- package/dist/TableRow.js +2 -11
- package/dist/TableRow.js.map +1 -1
- package/dist/TableRowBase.d.ts +3 -7
- package/dist/TableRowBase.js +10 -26
- package/dist/TableRowBase.js.map +1 -1
- package/dist/TableRowTemplate.js +1 -3
- package/dist/TableRowTemplate.js.map +1 -1
- package/dist/TableSelection.d.ts +5 -6
- package/dist/TableSelection.js +28 -12
- package/dist/TableSelection.js.map +1 -1
- package/dist/TableSelectionBase.d.ts +15 -10
- package/dist/TableSelectionBase.js +33 -20
- package/dist/TableSelectionBase.js.map +1 -1
- package/dist/TableSelectionMulti.d.ts +5 -7
- package/dist/TableSelectionMulti.js +14 -10
- package/dist/TableSelectionMulti.js.map +1 -1
- package/dist/TableSelectionSingle.d.ts +3 -2
- package/dist/TableSelectionSingle.js +8 -2
- package/dist/TableSelectionSingle.js.map +1 -1
- package/dist/TableUtils.d.ts +3 -1
- package/dist/TableUtils.js +4 -1
- package/dist/TableUtils.js.map +1 -1
- package/dist/TextArea.d.ts +52 -5
- package/dist/TextArea.js +67 -6
- package/dist/TextArea.js.map +1 -1
- package/dist/TextAreaTemplate.js +2 -2
- package/dist/TextAreaTemplate.js.map +1 -1
- package/dist/TimePicker.d.ts +2 -2
- package/dist/TimePicker.js +1 -1
- package/dist/TimePicker.js.map +1 -1
- package/dist/Toast.d.ts +1 -1
- package/dist/Toast.js +1 -1
- package/dist/Toast.js.map +1 -1
- package/dist/Token.d.ts +2 -2
- package/dist/Token.js +1 -1
- package/dist/Token.js.map +1 -1
- package/dist/Tokenizer.d.ts +1 -0
- package/dist/Tokenizer.js +18 -1
- package/dist/Tokenizer.js.map +1 -1
- package/dist/Toolbar.d.ts +6 -0
- package/dist/Toolbar.js +6 -0
- package/dist/Toolbar.js.map +1 -1
- package/dist/Tree.d.ts +3 -1
- package/dist/Tree.js +5 -3
- package/dist/Tree.js.map +1 -1
- package/dist/TreeItem.d.ts +2 -2
- package/dist/TreeItem.js +1 -1
- package/dist/TreeItem.js.map +1 -1
- package/dist/TreeItemBase.d.ts +3 -3
- package/dist/TreeItemBase.js +3 -3
- package/dist/TreeItemBase.js.map +1 -1
- package/dist/YearPicker.js +1 -1
- package/dist/YearPicker.js.map +1 -1
- package/dist/bundle.esm.js +1 -1
- package/dist/bundle.esm.js.map +1 -1
- package/dist/css/themes/Avatar.css +1 -1
- package/dist/css/themes/AvatarGroup.css +1 -1
- package/dist/css/themes/ComboBox.css +1 -1
- package/dist/css/themes/ComboBoxPopover.css +1 -1
- package/dist/css/themes/FileUploader.css +1 -1
- package/dist/css/themes/Input.css +1 -1
- package/dist/css/themes/MultiComboBox.css +1 -1
- package/dist/css/themes/NumericInput.css +1 -0
- package/dist/css/themes/Popover.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/Select.css +1 -1
- package/dist/css/themes/SliderHandle.css +1 -1
- package/dist/css/themes/SliderScale.css +1 -1
- package/dist/css/themes/SplitButton.css +1 -1
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -2
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -2
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -2
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -2
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_auto/parameters-bundle.css +786 -513
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hc_auto/parameters-bundle.css +742 -494
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +2708 -259
- package/dist/custom-elements.json +2394 -98
- package/dist/features/ColorPaletteMoreColorsTemplate.js +1 -1
- package/dist/features/ColorPaletteMoreColorsTemplate.js.map +1 -1
- package/dist/features/ComboBoxLazyLoading.d.ts +26 -0
- package/dist/features/ComboBoxLazyLoading.js +48 -0
- package/dist/features/ComboBoxLazyLoading.js.map +1 -0
- package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_auto/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hc_auto/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +9 -1
- package/dist/generated/i18n/i18n-defaults.js +10 -2
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/themes/Avatar.css.d.ts +1 -1
- package/dist/generated/themes/Avatar.css.js +1 -1
- package/dist/generated/themes/Avatar.css.js.map +1 -1
- package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
- package/dist/generated/themes/AvatarGroup.css.js +1 -1
- package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
- package/dist/generated/themes/ComboBox.css.d.ts +1 -1
- package/dist/generated/themes/ComboBox.css.js +1 -1
- package/dist/generated/themes/ComboBox.css.js.map +1 -1
- package/dist/generated/themes/ComboBoxPopover.css.d.ts +1 -1
- package/dist/generated/themes/ComboBoxPopover.css.js +1 -1
- package/dist/generated/themes/ComboBoxPopover.css.js.map +1 -1
- package/dist/generated/themes/FileUploader.css.d.ts +1 -1
- package/dist/generated/themes/FileUploader.css.js +1 -1
- package/dist/generated/themes/FileUploader.css.js.map +1 -1
- package/dist/generated/themes/Input.css.d.ts +1 -1
- package/dist/generated/themes/Input.css.js +1 -1
- package/dist/generated/themes/Input.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
- package/dist/generated/themes/MultiComboBox.css.js +1 -1
- package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
- package/dist/generated/themes/NumericInput.css.d.ts +2 -0
- package/dist/generated/themes/NumericInput.css.js +8 -0
- package/dist/generated/themes/NumericInput.css.js.map +1 -0
- package/dist/generated/themes/Popover.css.d.ts +1 -1
- package/dist/generated/themes/Popover.css.js +1 -1
- package/dist/generated/themes/Popover.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/Select.css.d.ts +1 -1
- package/dist/generated/themes/Select.css.js +1 -1
- package/dist/generated/themes/Select.css.js.map +1 -1
- package/dist/generated/themes/SliderHandle.css.d.ts +1 -1
- package/dist/generated/themes/SliderHandle.css.js +1 -1
- package/dist/generated/themes/SliderHandle.css.js.map +1 -1
- package/dist/generated/themes/SliderScale.css.d.ts +1 -1
- package/dist/generated/themes/SliderScale.css.js +1 -1
- package/dist/generated/themes/SliderScale.css.js.map +1 -1
- package/dist/generated/themes/SplitButton.css.d.ts +1 -1
- package/dist/generated/themes/SplitButton.css.js +1 -1
- package/dist/generated/themes/SplitButton.css.js.map +1 -1
- package/dist/generated/themes/TextArea.css.d.ts +1 -1
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -2
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -2
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -2
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -2
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js +786 -513
- package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js +742 -494
- package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/types/ButtonAccessibleRole.d.ts +1 -1
- package/dist/types/ButtonAccessibleRole.js +1 -1
- package/dist/types/ButtonAccessibleRole.js.map +1 -1
- package/dist/types/TableSelectionBehavior.d.ts +1 -1
- package/dist/types/TableSelectionBehavior.js +1 -1
- package/dist/types/TableSelectionBehavior.js.map +1 -1
- package/dist/types/TableSelectionMultiHeaderSelector.d.ts +1 -1
- package/dist/types/TableSelectionMultiHeaderSelector.js +1 -1
- package/dist/types/TableSelectionMultiHeaderSelector.js.map +1 -1
- package/dist/types/TextAreaCounterMode.d.ts +27 -0
- package/dist/types/TextAreaCounterMode.js +29 -0
- package/dist/types/TextAreaCounterMode.js.map +1 -0
- package/dist/vscode.html-custom-data.json +22 -8
- package/dist/web-types.json +44 -13
- package/package.json +9 -9
- package/src/ComboBoxPopoverTemplate.tsx +140 -106
- package/src/ComboBoxTemplate.tsx +4 -2
- package/src/{NumberInputTemplate.tsx → NumericInputTemplate.tsx} +6 -6
- package/src/PopoverTemplate.tsx +19 -0
- package/src/RangeSliderTemplate.tsx +3 -0
- package/src/SliderScaleTemplate.tsx +1 -1
- package/src/SliderTemplate.tsx +1 -0
- package/src/StepInputTemplate.tsx +3 -3
- package/src/TableHeaderRowTemplate.tsx +1 -26
- package/src/TableRowTemplate.tsx +1 -9
- package/src/TableSelection.tsx +464 -0
- package/src/TableSelectionMulti.tsx +396 -0
- package/src/TableSelectionSingle.tsx +91 -0
- package/src/TextAreaTemplate.tsx +2 -2
- package/src/features/ColorPaletteMoreColorsTemplate.tsx +1 -1
- package/src/i18n/messagebundle.properties +25 -1
- package/src/i18n/messagebundle_ar.properties +1 -1
- package/src/i18n/messagebundle_bg.properties +1 -1
- package/src/i18n/messagebundle_ca.properties +1 -1
- package/src/i18n/messagebundle_cnr.properties +1 -1
- package/src/i18n/messagebundle_cy.properties +1 -1
- package/src/i18n/messagebundle_da.properties +1 -1
- package/src/i18n/messagebundle_de.properties +2 -2
- package/src/i18n/messagebundle_el.properties +1 -1
- package/src/i18n/messagebundle_en.properties +1 -1
- package/src/i18n/messagebundle_en_GB.properties +1 -1
- package/src/i18n/messagebundle_en_US_sappsd.properties +1 -1
- package/src/i18n/messagebundle_en_US_saprigi.properties +1 -1
- package/src/i18n/messagebundle_en_US_saptrc.properties +1 -1
- package/src/i18n/messagebundle_es.properties +1 -1
- package/src/i18n/messagebundle_es_MX.properties +1 -1
- package/src/i18n/messagebundle_et.properties +1 -1
- package/src/i18n/messagebundle_fi.properties +1 -1
- package/src/i18n/messagebundle_fr.properties +1 -1
- package/src/i18n/messagebundle_fr_CA.properties +1 -1
- package/src/i18n/messagebundle_hi.properties +1 -1
- package/src/i18n/messagebundle_hr.properties +3 -3
- package/src/i18n/messagebundle_hu.properties +2 -2
- package/src/i18n/messagebundle_id.properties +2 -2
- package/src/i18n/messagebundle_it.properties +1 -1
- package/src/i18n/messagebundle_iw.properties +1 -1
- package/src/i18n/messagebundle_ja.properties +2 -2
- package/src/i18n/messagebundle_kk.properties +1 -1
- package/src/i18n/messagebundle_ko.properties +1 -1
- package/src/i18n/messagebundle_lt.properties +1 -1
- package/src/i18n/messagebundle_lv.properties +1 -1
- package/src/i18n/messagebundle_mk.properties +1 -1
- package/src/i18n/messagebundle_ms.properties +2 -2
- package/src/i18n/messagebundle_nl.properties +3 -3
- package/src/i18n/messagebundle_no.properties +1 -1
- package/src/i18n/messagebundle_pl.properties +3 -3
- package/src/i18n/messagebundle_pt.properties +3 -3
- package/src/i18n/messagebundle_pt_PT.properties +1 -1
- package/src/i18n/messagebundle_ro.properties +1 -1
- package/src/i18n/messagebundle_ru.properties +1 -1
- package/src/i18n/messagebundle_sh.properties +1 -1
- package/src/i18n/messagebundle_sk.properties +1 -1
- package/src/i18n/messagebundle_sl.properties +1 -1
- package/src/i18n/messagebundle_sr.properties +1 -1
- package/src/i18n/messagebundle_sv.properties +1 -1
- package/src/i18n/messagebundle_th.properties +1 -1
- package/src/i18n/messagebundle_tr.properties +3 -3
- package/src/i18n/messagebundle_uk.properties +1 -1
- package/src/i18n/messagebundle_vi.properties +1 -1
- package/src/i18n/messagebundle_zh_CN.properties +1 -1
- package/src/i18n/messagebundle_zh_TW.properties +1 -1
- package/src/themes/Avatar.css +1 -0
- package/src/themes/AvatarGroup.css +21 -0
- package/src/themes/ComboBox.css +5 -0
- package/src/themes/ComboBoxPopover.css +6 -0
- package/src/themes/Input.css +1 -1
- package/src/themes/{NumberInput.css → NumericInput.css} +63 -58
- package/src/themes/Popover.css +47 -14
- package/src/themes/RatingIndicator.css +1 -0
- package/src/themes/SliderHandle.css +12 -7
- package/src/themes/SliderScale.css +4 -2
- package/src/themes/SplitButton.css +4 -1
- package/src/themes/TextArea.css +17 -1
- package/src/themes/base/NumericInput-parameters.css +31 -0
- package/src/themes/base/Popover-parameters.css +5 -0
- package/src/themes/base/sizes-parameters.css +3 -3
- package/src/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/src/themes/sap_horizon/AvatarGroup-parameters.css +7 -19
- package/src/themes/sap_horizon/NumericInput-parameters.css +26 -0
- package/src/themes/sap_horizon/parameters-bundle.css +1 -1
- package/src/themes/sap_horizon_dark/NumericInput-parameters.css +26 -0
- package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/src/themes/sap_horizon_hcb/NumericInput-parameters.css +14 -0
- package/src/themes/sap_horizon_hcb/parameters-bundle.css +2 -2
- package/src/themes/sap_horizon_hcw/NumericInput-parameters.css +14 -0
- package/src/themes/sap_horizon_hcw/parameters-bundle.css +2 -2
- package/dist/NumberInput.js.map +0 -1
- package/dist/NumberInputTemplate.d.ts +0 -2
- package/dist/NumberInputTemplate.js.map +0 -1
- package/dist/css/themes/NumberInput.css +0 -1
- package/dist/generated/themes/NumberInput.css.d.ts +0 -2
- package/dist/generated/themes/NumberInput.css.js +0 -8
- package/dist/generated/themes/NumberInput.css.js.map +0 -1
- package/src/themes/base/NumberInput-parameters.css +0 -31
- package/src/themes/sap_horizon/NumberInput-parameters.css +0 -26
- package/src/themes/sap_horizon_dark/NumberInput-parameters.css +0 -26
- package/src/themes/sap_horizon_hcb/NumberInput-parameters.css +0 -14
- package/src/themes/sap_horizon_hcw/NumberInput-parameters.css +0 -14
package/dist/PopoverResize.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import clamp from "@ui5/webcomponents-base/dist/util/clamp.js";
|
|
2
|
+
import { isUpShift, isDownShift, isLeftShift, isRightShift, } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
2
3
|
import { PopoverActualPlacement, PopoverActualHorizontalAlign } from "./Popover.js";
|
|
3
4
|
import PopoverVerticalAlign from "./types/PopoverVerticalAlign.js";
|
|
4
5
|
var ResizeHandlePlacement;
|
|
@@ -8,6 +9,7 @@ var ResizeHandlePlacement;
|
|
|
8
9
|
ResizeHandlePlacement["BottomLeft"] = "BottomLeft";
|
|
9
10
|
ResizeHandlePlacement["BottomRight"] = "BottomRight";
|
|
10
11
|
})(ResizeHandlePlacement || (ResizeHandlePlacement = {}));
|
|
12
|
+
const STEP_SIZE = 16;
|
|
11
13
|
/**
|
|
12
14
|
* Manages resize functionality for Popover components
|
|
13
15
|
* @private
|
|
@@ -165,14 +167,40 @@ class PopoverResize {
|
|
|
165
167
|
return;
|
|
166
168
|
}
|
|
167
169
|
e.preventDefault();
|
|
170
|
+
this._initialClientX = e.clientX;
|
|
171
|
+
this._initialClientY = e.clientY;
|
|
172
|
+
this._startResize();
|
|
173
|
+
this._attachMouseResizeHandlers();
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Handles mouse move event during resize
|
|
177
|
+
*/
|
|
178
|
+
_onResizeMouseMove(e) {
|
|
179
|
+
const { clientX, clientY } = e;
|
|
180
|
+
const deltaX = clientX - this._initialClientX;
|
|
181
|
+
const deltaY = clientY - this._initialClientY;
|
|
182
|
+
this._resize(deltaX, deltaY);
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Handles mouse up event after resize
|
|
186
|
+
*/
|
|
187
|
+
_onResizeMouseUp() {
|
|
188
|
+
delete this._initialClientX;
|
|
189
|
+
delete this._initialClientY;
|
|
190
|
+
delete this._initialBoundingRect;
|
|
191
|
+
delete this._minWidth;
|
|
192
|
+
delete this._minHeight;
|
|
193
|
+
delete this._maxWidth;
|
|
194
|
+
delete this._maxHeight;
|
|
195
|
+
this._detachMouseResizeHandlers();
|
|
196
|
+
}
|
|
197
|
+
_startResize() {
|
|
168
198
|
this._resized = true;
|
|
169
199
|
this._initialBoundingRect = this._popover.getBoundingClientRect();
|
|
170
200
|
this._totalDeltaX = this._currentDeltaX;
|
|
171
201
|
this._totalDeltaY = this._currentDeltaY;
|
|
172
202
|
const { minWidth, minHeight, maxWidth, maxHeight, } = window.getComputedStyle(this._popover);
|
|
173
203
|
const domRefComputedStyle = window.getComputedStyle(this._popover);
|
|
174
|
-
this._initialClientX = e.clientX;
|
|
175
|
-
this._initialClientY = e.clientY;
|
|
176
204
|
this._minWidth = Math.max(Number.parseFloat(minWidth), Number.parseFloat(domRefComputedStyle.minWidth));
|
|
177
205
|
this._minHeight = Number.parseFloat(minHeight);
|
|
178
206
|
const viewportMargin = this._popover._viewportMargin;
|
|
@@ -182,19 +210,34 @@ class PopoverResize {
|
|
|
182
210
|
const computedMaxHeight = maxHeight !== "none" ? Number.parseFloat(maxHeight) : Infinity;
|
|
183
211
|
this._maxWidth = computedMaxWidth < defaultMaxWidth ? computedMaxWidth : Infinity;
|
|
184
212
|
this._maxHeight = computedMaxHeight < defaultMaxHeight ? computedMaxHeight : Infinity;
|
|
185
|
-
this._attachMouseResizeHandlers();
|
|
186
213
|
}
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
214
|
+
onResizeKeyDown(e) {
|
|
215
|
+
if (!this._popover.resizable || (!isUpShift(e) && !isDownShift(e) && !isLeftShift(e) && !isRightShift(e))) {
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
e.preventDefault();
|
|
219
|
+
this._startResize();
|
|
220
|
+
let deltaX = 0;
|
|
221
|
+
if (isRightShift(e)) {
|
|
222
|
+
deltaX = STEP_SIZE;
|
|
223
|
+
}
|
|
224
|
+
else if (isLeftShift(e)) {
|
|
225
|
+
deltaX = -STEP_SIZE;
|
|
226
|
+
}
|
|
227
|
+
let deltaY = 0;
|
|
228
|
+
if (isUpShift(e)) {
|
|
229
|
+
deltaY = -STEP_SIZE;
|
|
230
|
+
}
|
|
231
|
+
else if (isDownShift(e)) {
|
|
232
|
+
deltaY = STEP_SIZE;
|
|
233
|
+
}
|
|
234
|
+
this._resize(deltaX, deltaY);
|
|
235
|
+
}
|
|
236
|
+
_resize(deltaX, deltaY) {
|
|
191
237
|
const popover = this._popover;
|
|
192
238
|
const margin = popover._viewportMargin;
|
|
193
|
-
const { clientX, clientY } = e;
|
|
194
239
|
const resizeHandlePlacement = this.getResizeHandlePlacement();
|
|
195
240
|
const initialBoundingRect = this._initialBoundingRect;
|
|
196
|
-
const deltaX = clientX - this._initialClientX;
|
|
197
|
-
const deltaY = clientY - this._initialClientY;
|
|
198
241
|
let newWidth, newHeight;
|
|
199
242
|
// Determine if we're resizing from left or right edge
|
|
200
243
|
const isResizingFromLeft = resizeHandlePlacement === ResizeHandlePlacement.TopLeft
|
|
@@ -252,19 +295,6 @@ class PopoverResize {
|
|
|
252
295
|
width: `${newWidth}px`,
|
|
253
296
|
});
|
|
254
297
|
}
|
|
255
|
-
/**
|
|
256
|
-
* Handles mouse up event after resize
|
|
257
|
-
*/
|
|
258
|
-
_onResizeMouseUp() {
|
|
259
|
-
delete this._initialClientX;
|
|
260
|
-
delete this._initialClientY;
|
|
261
|
-
delete this._initialBoundingRect;
|
|
262
|
-
delete this._minWidth;
|
|
263
|
-
delete this._minHeight;
|
|
264
|
-
delete this._maxWidth;
|
|
265
|
-
delete this._maxHeight;
|
|
266
|
-
this._detachMouseResizeHandlers();
|
|
267
|
-
}
|
|
268
298
|
/**
|
|
269
299
|
* Attaches mouse event handlers for resize
|
|
270
300
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopoverResize.js","sourceRoot":"","sources":["../src/PopoverResize.ts"],"names":[],"mappings":"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","sourcesContent":["import clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type Popover from \"./Popover.js\";\nimport { PopoverActualPlacement, PopoverActualHorizontalAlign } from \"./Popover.js\";\nimport PopoverVerticalAlign from \"./types/PopoverVerticalAlign.js\";\n\nenum ResizeHandlePlacement {\n\tTopLeft = \"TopLeft\",\n\tTopRight = \"TopRight\",\n\tBottomLeft = \"BottomLeft\",\n\tBottomRight = \"BottomRight\",\n}\n\n/**\n * Manages resize functionality for Popover components\n * @private\n */\nclass PopoverResize {\n\tprivate _popover: Popover;\n\tprivate _resizeMouseMoveHandler: (e: MouseEvent) => void;\n\tprivate _resizeMouseUpHandler: (e: MouseEvent) => void;\n\n\t_initialClientX?: number;\n\t_initialClientY?: number;\n\t_initialBoundingRect?: DOMRect;\n\t_minWidth?: number;\n\t_minHeight?: number;\n\t_maxWidth?: number;\n\t_maxHeight?: number;\n\t_resized = false;\n\n\t_currentDeltaX?: number;\n\t_currentDeltaY?: number;\n\n\t// These variables track the cumulative resize difference throughout the entire resizing process.\n\t// It covers scenarios where: the mouse is pressed down,\n\t// moved, and released; the popover remains open;\n\t// and the mouse is pressed down, moved, and released again.\n\t_totalDeltaX?: number;\n\t_totalDeltaY?: number;\n\n\tconstructor(popover: Popover) {\n\t\tthis._popover = popover;\n\t\tthis._resizeMouseMoveHandler = this._onResizeMouseMove.bind(this);\n\t\tthis._resizeMouseUpHandler = this._onResizeMouseUp.bind(this);\n\t}\n\n\t/**\n\t * Resets the resize state\n\t */\n\treset() {\n\t\tif (!this._resized) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._resized = false;\n\n\t\tdelete this._currentDeltaX;\n\t\tdelete this._currentDeltaY;\n\n\t\tdelete this._totalDeltaX;\n\t\tdelete this._totalDeltaY;\n\t}\n\n\t/**\n\t * Returns whether the popover has been resized\n\t */\n\tget isResized(): boolean {\n\t\treturn this._resized;\n\t}\n\n\t/*\n\t * Gets the corrected left position considering resize deltas\n\t */\n\tgetCorrectedLeft(left: number): number {\n\t\tif (this.isResized) {\n\t\t\tleft -= this._currentDeltaX || 0;\n\t\t}\n\n\t\treturn left;\n\t}\n\n\t/*\n\t * Gets the corrected top position considering resize deltas\n\t */\n\tgetCorrectedTop(top: number): number {\n\t\tif (this.isResized) {\n\t\t\ttop -= this._currentDeltaY || 0;\n\t\t}\n\n\t\treturn top;\n\t}\n\n\tsetCorrectResizeHandleClass(allClasses: ClassMap) {\n\t\tswitch (this.getResizeHandlePlacement()) {\n\t\tcase ResizeHandlePlacement.BottomLeft:\n\t\t\tallClasses.root[\"ui5-popover-resize-handle-bottom-left\"] = true;\n\t\t\tbreak;\n\t\tcase ResizeHandlePlacement.BottomRight:\n\t\t\tallClasses.root[\"ui5-popover-resize-handle-bottom-right\"] = true;\n\t\t\tbreak;\n\t\tcase ResizeHandlePlacement.TopLeft:\n\t\t\tallClasses.root[\"ui5-popover-resize-handle-top-left\"] = true;\n\t\t\tbreak;\n\t\tcase ResizeHandlePlacement.TopRight:\n\t\t\tallClasses.root[\"ui5-popover-resize-handle-top-right\"] = true;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tgetResizeHandlePlacement() {\n\t\tconst popover = this._popover;\n\n\t\tif (this._resized && popover.resizeHandlePlacement) {\n\t\t\treturn popover.resizeHandlePlacement;\n\t\t}\n\n\t\tconst opener = popover.getOpenerHTMLElement(popover.opener);\n\n\t\tif (!opener) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst offset = 2;\n\t\tconst isRtl = popover.isRtl;\n\n\t\tconst openerRect = opener.getBoundingClientRect();\n\t\tconst popoverWrapperRect = popover.getBoundingClientRect();\n\n\t\tlet openerCX = Math.floor(openerRect.x + openerRect.width / 2);\n\t\tconst openerCY = Math.floor(openerRect.y + openerRect.height / 2);\n\n\t\tlet popoverCX = Math.floor(popoverWrapperRect.x + popoverWrapperRect.width / 2);\n\t\tconst popoverCY = Math.floor(popoverWrapperRect.y + popoverWrapperRect.height / 2);\n\n\t\tconst verticalAlign = popover.verticalAlign;\n\t\tconst actualHorizontalAlign = popover._actualHorizontalAlign;\n\n\t\tconst isPopoverWidthBiggerThanOpener = popoverWrapperRect.width > openerRect.width;\n\t\tconst isPopoverHeightBiggerThanOpener = popoverWrapperRect.height > openerRect.height;\n\n\t\tif (isRtl) {\n\t\t\topenerCX = -openerCX;\n\t\t\tpopoverCX = -popoverCX;\n\t\t}\n\n\t\tswitch (popover.getActualPlacement(openerRect)) {\n\t\tcase PopoverActualPlacement.Left:\n\t\t\tif (isPopoverHeightBiggerThanOpener) {\n\t\t\t\tif (popoverCY > openerCY + offset) {\n\t\t\t\t\treturn ResizeHandlePlacement.BottomLeft;\n\t\t\t\t}\n\n\t\t\t\treturn ResizeHandlePlacement.TopLeft;\n\t\t\t}\n\n\t\t\tif (verticalAlign === PopoverVerticalAlign.Top) {\n\t\t\t\treturn ResizeHandlePlacement.BottomLeft;\n\t\t\t}\n\n\t\t\treturn ResizeHandlePlacement.TopLeft;\n\t\tcase PopoverActualPlacement.Right:\n\t\t\tif (isPopoverHeightBiggerThanOpener) {\n\t\t\t\tif (popoverCY + offset < openerCY) {\n\t\t\t\t\treturn ResizeHandlePlacement.TopRight;\n\t\t\t\t}\n\n\t\t\t\treturn ResizeHandlePlacement.BottomRight;\n\t\t\t}\n\n\t\t\tif (verticalAlign === PopoverVerticalAlign.Bottom) {\n\t\t\t\treturn ResizeHandlePlacement.TopRight;\n\t\t\t}\n\n\t\t\treturn ResizeHandlePlacement.BottomRight;\n\t\tcase PopoverActualPlacement.Bottom:\n\t\t\tif (isPopoverWidthBiggerThanOpener) {\n\t\t\t\tif (popoverCX + offset < openerCX) {\n\t\t\t\t\treturn isRtl ? ResizeHandlePlacement.BottomRight : ResizeHandlePlacement.BottomLeft;\n\t\t\t\t}\n\n\t\t\t\treturn isRtl ? ResizeHandlePlacement.BottomLeft : ResizeHandlePlacement.BottomRight;\n\t\t\t}\n\n\t\t\tif (isRtl) {\n\t\t\t\tif (actualHorizontalAlign === PopoverActualHorizontalAlign.Left) {\n\t\t\t\t\treturn ResizeHandlePlacement.BottomRight;\n\t\t\t\t}\n\n\t\t\t\treturn ResizeHandlePlacement.BottomLeft;\n\t\t\t}\n\n\t\t\tif (actualHorizontalAlign === PopoverActualHorizontalAlign.Right) {\n\t\t\t\treturn ResizeHandlePlacement.BottomLeft;\n\t\t\t}\n\n\t\t\treturn ResizeHandlePlacement.BottomRight;\n\t\tcase PopoverActualPlacement.Top:\n\t\tdefault:\n\t\t\tif (isPopoverWidthBiggerThanOpener) {\n\t\t\t\tif (popoverCX + offset < openerCX) {\n\t\t\t\t\treturn isRtl ? ResizeHandlePlacement.TopRight : ResizeHandlePlacement.TopLeft;\n\t\t\t\t}\n\n\t\t\t\treturn isRtl ? ResizeHandlePlacement.TopLeft : ResizeHandlePlacement.TopRight;\n\t\t\t}\n\n\t\t\tif (isRtl) {\n\t\t\t\tif (actualHorizontalAlign === PopoverActualHorizontalAlign.Left) {\n\t\t\t\t\treturn ResizeHandlePlacement.TopRight;\n\t\t\t\t}\n\n\t\t\t\treturn ResizeHandlePlacement.TopLeft;\n\t\t\t}\n\n\t\t\tif (actualHorizontalAlign === PopoverActualHorizontalAlign.Right) {\n\t\t\t\treturn ResizeHandlePlacement.TopLeft;\n\t\t\t}\n\n\t\t\treturn ResizeHandlePlacement.TopRight;\n\t\t}\n\t}\n\n\t/**\n\t * Handles mouse down event on resize handle\n\t */\n\tonResizeMouseDown(e: MouseEvent) {\n\t\tif (!this._popover.resizable) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tthis._resized = true;\n\t\tthis._initialBoundingRect = this._popover.getBoundingClientRect();\n\n\t\tthis._totalDeltaX = this._currentDeltaX;\n\t\tthis._totalDeltaY = this._currentDeltaY;\n\n\t\tconst {\n\t\t\tminWidth,\n\t\t\tminHeight,\n\t\t\tmaxWidth,\n\t\t\tmaxHeight,\n\t\t} = window.getComputedStyle(this._popover);\n\n\t\tconst domRefComputedStyle = window.getComputedStyle(this._popover);\n\n\t\tthis._initialClientX = e.clientX;\n\t\tthis._initialClientY = e.clientY;\n\n\t\tthis._minWidth = Math.max(Number.parseFloat(minWidth), Number.parseFloat(domRefComputedStyle.minWidth));\n\t\tthis._minHeight = Number.parseFloat(minHeight);\n\n\t\tconst viewportMargin = this._popover._viewportMargin;\n\t\tconst defaultMaxWidth = window.innerWidth - 2 * viewportMargin;\n\t\tconst defaultMaxHeight = window.innerHeight - 2 * viewportMargin;\n\n\t\tconst computedMaxWidth = maxWidth !== \"none\" ? Number.parseFloat(maxWidth) : Infinity;\n\t\tconst computedMaxHeight = maxHeight !== \"none\" ? Number.parseFloat(maxHeight) : Infinity;\n\n\t\tthis._maxWidth = computedMaxWidth < defaultMaxWidth ? computedMaxWidth : Infinity;\n\t\tthis._maxHeight = computedMaxHeight < defaultMaxHeight ? computedMaxHeight : Infinity;\n\n\t\tthis._attachMouseResizeHandlers();\n\t}\n\n\t/**\n\t * Handles mouse move event during resize\n\t */\n\tprivate _onResizeMouseMove(e: MouseEvent) {\n\t\tconst popover = this._popover;\n\t\tconst margin = popover._viewportMargin;\n\t\tconst { clientX, clientY } = e;\n\t\tconst resizeHandlePlacement = this.getResizeHandlePlacement();\n\t\tconst initialBoundingRect = this._initialBoundingRect!;\n\t\tconst deltaX = clientX - this._initialClientX!;\n\t\tconst deltaY = clientY - this._initialClientY!;\n\n\t\tlet newWidth,\n\t\t\tnewHeight;\n\n\t\t// Determine if we're resizing from left or right edge\n\t\tconst isResizingFromLeft = resizeHandlePlacement === ResizeHandlePlacement.TopLeft\n\t\t\t|| resizeHandlePlacement === ResizeHandlePlacement.BottomLeft;\n\n\t\tconst isResizingFromTop = resizeHandlePlacement === ResizeHandlePlacement.TopLeft\n\t\t\t|| resizeHandlePlacement === ResizeHandlePlacement.TopRight;\n\n\t\t// Calculate width changes\n\t\tif (isResizingFromLeft) {\n\t\t\t// Resizing from left edge - width increases when moving left (negative delta)\n\t\t\tconst maxWidthFromLeft = Math.min(\n\t\t\t\tinitialBoundingRect.x + initialBoundingRect.width - margin,\n\t\t\t\tthis._maxWidth!,\n\t\t\t);\n\n\t\t\tnewWidth = clamp(\n\t\t\t\tinitialBoundingRect.width - deltaX,\n\t\t\t\tthis._minWidth!,\n\t\t\t\tmaxWidthFromLeft,\n\t\t\t);\n\n\t\t\t// Adjust left position when resizing from left\n\t\t\t// Ensure the left edge respects the viewport margin and the right edge position\n\t\t\tconst newLeft = clamp(\n\t\t\t\tinitialBoundingRect.x + deltaX,\n\t\t\t\tmargin,\n\t\t\t\tinitialBoundingRect.x + initialBoundingRect.width - this._minWidth!,\n\t\t\t);\n\n\t\t\t// Recalculate width based on actual left position to stay within viewport with margin\n\t\t\tnewWidth = Math.min(newWidth, initialBoundingRect.x + initialBoundingRect.width - newLeft);\n\n\t\t\tthis._currentDeltaX = (initialBoundingRect.x - newLeft) / 2;\n\t\t} else {\n\t\t\t// Resizing from right edge - width increases when moving right (positive delta)\n\t\t\tconst maxWidthFromRight = Math.min(\n\t\t\t\twindow.innerWidth - initialBoundingRect.x - margin,\n\t\t\t\tthis._maxWidth!,\n\t\t\t);\n\n\t\t\tnewWidth = clamp(\n\t\t\t\tinitialBoundingRect.width + deltaX,\n\t\t\t\tthis._minWidth!,\n\t\t\t\tmaxWidthFromRight,\n\t\t\t);\n\n\t\t\tthis._currentDeltaX = (initialBoundingRect.width - newWidth) / 2;\n\t\t}\n\n\t\t// Calculate height changes\n\t\tif (isResizingFromTop) {\n\t\t\t// Resizing from top edge - height increases when moving up (negative delta)\n\t\t\tconst maxHeightFromTop = Math.min(\n\t\t\t\tinitialBoundingRect.y + initialBoundingRect.height - margin,\n\t\t\t\tthis._maxHeight!,\n\t\t\t);\n\n\t\t\tnewHeight = clamp(\n\t\t\t\tinitialBoundingRect.height - deltaY,\n\t\t\t\tthis._minHeight!,\n\t\t\t\tmaxHeightFromTop,\n\t\t\t);\n\n\t\t\t// Adjust top position when resizing from top\n\t\t\t// Ensure the top edge respects the viewport margin and the bottom edge position\n\t\t\tconst newTop = clamp(\n\t\t\t\tinitialBoundingRect.y + deltaY,\n\t\t\t\tmargin,\n\t\t\t\tinitialBoundingRect.y + initialBoundingRect.height - this._minHeight!,\n\t\t\t);\n\n\t\t\t// Recalculate height based on actual top position to stay within viewport with margin\n\t\t\tnewHeight = Math.min(newHeight, initialBoundingRect.y + initialBoundingRect.height - newTop);\n\n\t\t\tthis._currentDeltaY = (initialBoundingRect.y - newTop) / 2;\n\t\t} else {\n\t\t\t// Resizing from bottom edge - height increases when moving down (positive delta)\n\t\t\tconst maxHeightFromBottom = Math.min(\n\t\t\t\twindow.innerHeight - initialBoundingRect.y - margin,\n\t\t\t\tthis._maxHeight!,\n\t\t\t);\n\n\t\t\tnewHeight = clamp(\n\t\t\t\tinitialBoundingRect.height + deltaY,\n\t\t\t\tthis._minHeight!,\n\t\t\t\tmaxHeightFromBottom,\n\t\t\t);\n\n\t\t\tthis._currentDeltaY = (initialBoundingRect.height - newHeight) / 2;\n\t\t}\n\n\t\tthis._currentDeltaX += this._totalDeltaX || 0;\n\t\tthis._currentDeltaY += this._totalDeltaY || 0;\n\n\t\tconst placement = this._popover.calcPlacement(this._popover._openerRect!, {\n\t\t\twidth: newWidth,\n\t\t\theight: newHeight,\n\t\t});\n\n\t\tthis._popover.arrowTranslateX = placement.arrow.x;\n\t\tthis._popover.arrowTranslateY = placement.arrow.y;\n\n\t\tObject.assign(this._popover.style, {\n\t\t\tleft: `${placement.left}px`,\n\t\t\ttop: `${placement.top}px`,\n\t\t\theight: `${newHeight}px`,\n\t\t\twidth: `${newWidth}px`,\n\t\t});\n\t}\n\n\t/**\n\t * Handles mouse up event after resize\n\t */\n\tprivate _onResizeMouseUp() {\n\t\tdelete this._initialClientX;\n\t\tdelete this._initialClientY;\n\t\tdelete this._initialBoundingRect;\n\t\tdelete this._minWidth;\n\t\tdelete this._minHeight;\n\t\tdelete this._maxWidth;\n\t\tdelete this._maxHeight;\n\n\t\tthis._detachMouseResizeHandlers();\n\t}\n\n\t/**\n\t * Attaches mouse event handlers for resize\n\t */\n\tprivate _attachMouseResizeHandlers() {\n\t\twindow.addEventListener(\"mousemove\", this._resizeMouseMoveHandler);\n\t\twindow.addEventListener(\"mouseup\", this._resizeMouseUpHandler);\n\t}\n\n\t/**\n\t * Detaches mouse event handlers for resize\n\t */\n\tprivate _detachMouseResizeHandlers() {\n\t\twindow.removeEventListener(\"mousemove\", this._resizeMouseMoveHandler);\n\t\twindow.removeEventListener(\"mouseup\", this._resizeMouseUpHandler);\n\t}\n}\n\nexport { ResizeHandlePlacement };\n\nexport default PopoverResize;\n"]}
|
|
1
|
+
{"version":3,"file":"PopoverResize.js","sourceRoot":"","sources":["../src/PopoverResize.ts"],"names":[],"mappings":"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","sourcesContent":["import clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport {\n\tisUpShift, isDownShift, isLeftShift, isRightShift,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type Popover from \"./Popover.js\";\nimport { PopoverActualPlacement, PopoverActualHorizontalAlign } from \"./Popover.js\";\nimport PopoverVerticalAlign from \"./types/PopoverVerticalAlign.js\";\n\nenum ResizeHandlePlacement {\n\tTopLeft = \"TopLeft\",\n\tTopRight = \"TopRight\",\n\tBottomLeft = \"BottomLeft\",\n\tBottomRight = \"BottomRight\",\n}\n\nconst STEP_SIZE = 16;\n\n/**\n * Manages resize functionality for Popover components\n * @private\n */\nclass PopoverResize {\n\tprivate _popover: Popover;\n\tprivate _resizeMouseMoveHandler: (e: MouseEvent) => void;\n\tprivate _resizeMouseUpHandler: (e: MouseEvent) => void;\n\n\t_initialClientX?: number;\n\t_initialClientY?: number;\n\t_initialBoundingRect?: DOMRect;\n\t_minWidth?: number;\n\t_minHeight?: number;\n\t_maxWidth?: number;\n\t_maxHeight?: number;\n\t_resized = false;\n\n\t_currentDeltaX?: number;\n\t_currentDeltaY?: number;\n\n\t// These variables track the cumulative resize difference throughout the entire resizing process.\n\t// It covers scenarios where: the mouse is pressed down,\n\t// moved, and released; the popover remains open;\n\t// and the mouse is pressed down, moved, and released again.\n\t_totalDeltaX?: number;\n\t_totalDeltaY?: number;\n\n\tconstructor(popover: Popover) {\n\t\tthis._popover = popover;\n\t\tthis._resizeMouseMoveHandler = this._onResizeMouseMove.bind(this);\n\t\tthis._resizeMouseUpHandler = this._onResizeMouseUp.bind(this);\n\t}\n\n\t/**\n\t * Resets the resize state\n\t */\n\treset() {\n\t\tif (!this._resized) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._resized = false;\n\n\t\tdelete this._currentDeltaX;\n\t\tdelete this._currentDeltaY;\n\n\t\tdelete this._totalDeltaX;\n\t\tdelete this._totalDeltaY;\n\t}\n\n\t/**\n\t * Returns whether the popover has been resized\n\t */\n\tget isResized(): boolean {\n\t\treturn this._resized;\n\t}\n\n\t/*\n\t * Gets the corrected left position considering resize deltas\n\t */\n\tgetCorrectedLeft(left: number): number {\n\t\tif (this.isResized) {\n\t\t\tleft -= this._currentDeltaX || 0;\n\t\t}\n\n\t\treturn left;\n\t}\n\n\t/*\n\t * Gets the corrected top position considering resize deltas\n\t */\n\tgetCorrectedTop(top: number): number {\n\t\tif (this.isResized) {\n\t\t\ttop -= this._currentDeltaY || 0;\n\t\t}\n\n\t\treturn top;\n\t}\n\n\tsetCorrectResizeHandleClass(allClasses: ClassMap) {\n\t\tswitch (this.getResizeHandlePlacement()) {\n\t\tcase ResizeHandlePlacement.BottomLeft:\n\t\t\tallClasses.root[\"ui5-popover-resize-handle-bottom-left\"] = true;\n\t\t\tbreak;\n\t\tcase ResizeHandlePlacement.BottomRight:\n\t\t\tallClasses.root[\"ui5-popover-resize-handle-bottom-right\"] = true;\n\t\t\tbreak;\n\t\tcase ResizeHandlePlacement.TopLeft:\n\t\t\tallClasses.root[\"ui5-popover-resize-handle-top-left\"] = true;\n\t\t\tbreak;\n\t\tcase ResizeHandlePlacement.TopRight:\n\t\t\tallClasses.root[\"ui5-popover-resize-handle-top-right\"] = true;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tgetResizeHandlePlacement() {\n\t\tconst popover = this._popover;\n\n\t\tif (this._resized && popover.resizeHandlePlacement) {\n\t\t\treturn popover.resizeHandlePlacement;\n\t\t}\n\n\t\tconst opener = popover.getOpenerHTMLElement(popover.opener);\n\n\t\tif (!opener) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst offset = 2;\n\t\tconst isRtl = popover.isRtl;\n\n\t\tconst openerRect = opener.getBoundingClientRect();\n\t\tconst popoverWrapperRect = popover.getBoundingClientRect();\n\n\t\tlet openerCX = Math.floor(openerRect.x + openerRect.width / 2);\n\t\tconst openerCY = Math.floor(openerRect.y + openerRect.height / 2);\n\n\t\tlet popoverCX = Math.floor(popoverWrapperRect.x + popoverWrapperRect.width / 2);\n\t\tconst popoverCY = Math.floor(popoverWrapperRect.y + popoverWrapperRect.height / 2);\n\n\t\tconst verticalAlign = popover.verticalAlign;\n\t\tconst actualHorizontalAlign = popover._actualHorizontalAlign;\n\n\t\tconst isPopoverWidthBiggerThanOpener = popoverWrapperRect.width > openerRect.width;\n\t\tconst isPopoverHeightBiggerThanOpener = popoverWrapperRect.height > openerRect.height;\n\n\t\tif (isRtl) {\n\t\t\topenerCX = -openerCX;\n\t\t\tpopoverCX = -popoverCX;\n\t\t}\n\n\t\tswitch (popover.getActualPlacement(openerRect)) {\n\t\tcase PopoverActualPlacement.Left:\n\t\t\tif (isPopoverHeightBiggerThanOpener) {\n\t\t\t\tif (popoverCY > openerCY + offset) {\n\t\t\t\t\treturn ResizeHandlePlacement.BottomLeft;\n\t\t\t\t}\n\n\t\t\t\treturn ResizeHandlePlacement.TopLeft;\n\t\t\t}\n\n\t\t\tif (verticalAlign === PopoverVerticalAlign.Top) {\n\t\t\t\treturn ResizeHandlePlacement.BottomLeft;\n\t\t\t}\n\n\t\t\treturn ResizeHandlePlacement.TopLeft;\n\t\tcase PopoverActualPlacement.Right:\n\t\t\tif (isPopoverHeightBiggerThanOpener) {\n\t\t\t\tif (popoverCY + offset < openerCY) {\n\t\t\t\t\treturn ResizeHandlePlacement.TopRight;\n\t\t\t\t}\n\n\t\t\t\treturn ResizeHandlePlacement.BottomRight;\n\t\t\t}\n\n\t\t\tif (verticalAlign === PopoverVerticalAlign.Bottom) {\n\t\t\t\treturn ResizeHandlePlacement.TopRight;\n\t\t\t}\n\n\t\t\treturn ResizeHandlePlacement.BottomRight;\n\t\tcase PopoverActualPlacement.Bottom:\n\t\t\tif (isPopoverWidthBiggerThanOpener) {\n\t\t\t\tif (popoverCX + offset < openerCX) {\n\t\t\t\t\treturn isRtl ? ResizeHandlePlacement.BottomRight : ResizeHandlePlacement.BottomLeft;\n\t\t\t\t}\n\n\t\t\t\treturn isRtl ? ResizeHandlePlacement.BottomLeft : ResizeHandlePlacement.BottomRight;\n\t\t\t}\n\n\t\t\tif (isRtl) {\n\t\t\t\tif (actualHorizontalAlign === PopoverActualHorizontalAlign.Left) {\n\t\t\t\t\treturn ResizeHandlePlacement.BottomRight;\n\t\t\t\t}\n\n\t\t\t\treturn ResizeHandlePlacement.BottomLeft;\n\t\t\t}\n\n\t\t\tif (actualHorizontalAlign === PopoverActualHorizontalAlign.Right) {\n\t\t\t\treturn ResizeHandlePlacement.BottomLeft;\n\t\t\t}\n\n\t\t\treturn ResizeHandlePlacement.BottomRight;\n\t\tcase PopoverActualPlacement.Top:\n\t\tdefault:\n\t\t\tif (isPopoverWidthBiggerThanOpener) {\n\t\t\t\tif (popoverCX + offset < openerCX) {\n\t\t\t\t\treturn isRtl ? ResizeHandlePlacement.TopRight : ResizeHandlePlacement.TopLeft;\n\t\t\t\t}\n\n\t\t\t\treturn isRtl ? ResizeHandlePlacement.TopLeft : ResizeHandlePlacement.TopRight;\n\t\t\t}\n\n\t\t\tif (isRtl) {\n\t\t\t\tif (actualHorizontalAlign === PopoverActualHorizontalAlign.Left) {\n\t\t\t\t\treturn ResizeHandlePlacement.TopRight;\n\t\t\t\t}\n\n\t\t\t\treturn ResizeHandlePlacement.TopLeft;\n\t\t\t}\n\n\t\t\tif (actualHorizontalAlign === PopoverActualHorizontalAlign.Right) {\n\t\t\t\treturn ResizeHandlePlacement.TopLeft;\n\t\t\t}\n\n\t\t\treturn ResizeHandlePlacement.TopRight;\n\t\t}\n\t}\n\n\t/**\n\t * Handles mouse down event on resize handle\n\t */\n\tonResizeMouseDown(e: MouseEvent) {\n\t\tif (!this._popover.resizable) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tthis._initialClientX = e.clientX;\n\t\tthis._initialClientY = e.clientY;\n\n\t\tthis._startResize();\n\n\t\tthis._attachMouseResizeHandlers();\n\t}\n\n\t/**\n\t * Handles mouse move event during resize\n\t */\n\tprivate _onResizeMouseMove(e: MouseEvent) {\n\t\tconst { clientX, clientY } = e;\n\t\tconst deltaX = clientX - this._initialClientX!;\n\t\tconst deltaY = clientY - this._initialClientY!;\n\n\t\tthis._resize(deltaX, deltaY);\n\t}\n\n\t/**\n\t * Handles mouse up event after resize\n\t */\n\tprivate _onResizeMouseUp() {\n\t\tdelete this._initialClientX;\n\t\tdelete this._initialClientY;\n\t\tdelete this._initialBoundingRect;\n\t\tdelete this._minWidth;\n\t\tdelete this._minHeight;\n\t\tdelete this._maxWidth;\n\t\tdelete this._maxHeight;\n\n\t\tthis._detachMouseResizeHandlers();\n\t}\n\n\tprivate _startResize() {\n\t\tthis._resized = true;\n\t\tthis._initialBoundingRect = this._popover.getBoundingClientRect();\n\n\t\tthis._totalDeltaX = this._currentDeltaX;\n\t\tthis._totalDeltaY = this._currentDeltaY;\n\n\t\tconst {\n\t\t\tminWidth,\n\t\t\tminHeight,\n\t\t\tmaxWidth,\n\t\t\tmaxHeight,\n\t\t} = window.getComputedStyle(this._popover);\n\n\t\tconst domRefComputedStyle = window.getComputedStyle(this._popover);\n\n\t\tthis._minWidth = Math.max(Number.parseFloat(minWidth), Number.parseFloat(domRefComputedStyle.minWidth));\n\t\tthis._minHeight = Number.parseFloat(minHeight);\n\n\t\tconst viewportMargin = this._popover._viewportMargin;\n\t\tconst defaultMaxWidth = window.innerWidth - 2 * viewportMargin;\n\t\tconst defaultMaxHeight = window.innerHeight - 2 * viewportMargin;\n\n\t\tconst computedMaxWidth = maxWidth !== \"none\" ? Number.parseFloat(maxWidth) : Infinity;\n\t\tconst computedMaxHeight = maxHeight !== \"none\" ? Number.parseFloat(maxHeight) : Infinity;\n\n\t\tthis._maxWidth = computedMaxWidth < defaultMaxWidth ? computedMaxWidth : Infinity;\n\t\tthis._maxHeight = computedMaxHeight < defaultMaxHeight ? computedMaxHeight : Infinity;\n\t}\n\n\tonResizeKeyDown(e: KeyboardEvent) {\n\t\tif (!this._popover.resizable || (!isUpShift(e) && !isDownShift(e) && !isLeftShift(e) && !isRightShift(e))) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tthis._startResize();\n\n\t\tlet deltaX = 0;\n\t\tif (isRightShift(e)) {\n\t\t\tdeltaX = STEP_SIZE;\n\t\t} else if (isLeftShift(e)) {\n\t\t\tdeltaX = -STEP_SIZE;\n\t\t}\n\n\t\tlet deltaY = 0;\n\t\tif (isUpShift(e)) {\n\t\t\tdeltaY = -STEP_SIZE;\n\t\t} else if (isDownShift(e)) {\n\t\t\tdeltaY = STEP_SIZE;\n\t\t}\n\n\t\tthis._resize(deltaX, deltaY);\n\t}\n\n\tprivate _resize(deltaX: number, deltaY: number) {\n\t\tconst popover = this._popover;\n\t\tconst margin = popover._viewportMargin;\n\n\t\tconst resizeHandlePlacement = this.getResizeHandlePlacement();\n\t\tconst initialBoundingRect = this._initialBoundingRect!;\n\n\t\tlet newWidth,\n\t\t\tnewHeight;\n\n\t\t// Determine if we're resizing from left or right edge\n\t\tconst isResizingFromLeft = resizeHandlePlacement === ResizeHandlePlacement.TopLeft\n\t\t\t|| resizeHandlePlacement === ResizeHandlePlacement.BottomLeft;\n\n\t\tconst isResizingFromTop = resizeHandlePlacement === ResizeHandlePlacement.TopLeft\n\t\t\t|| resizeHandlePlacement === ResizeHandlePlacement.TopRight;\n\n\t\t// Calculate width changes\n\t\tif (isResizingFromLeft) {\n\t\t\t// Resizing from left edge - width increases when moving left (negative delta)\n\t\t\tconst maxWidthFromLeft = Math.min(\n\t\t\t\tinitialBoundingRect.x + initialBoundingRect.width - margin,\n\t\t\t\tthis._maxWidth!,\n\t\t\t);\n\n\t\t\tnewWidth = clamp(\n\t\t\t\tinitialBoundingRect.width - deltaX,\n\t\t\t\tthis._minWidth!,\n\t\t\t\tmaxWidthFromLeft,\n\t\t\t);\n\n\t\t\t// Adjust left position when resizing from left\n\t\t\t// Ensure the left edge respects the viewport margin and the right edge position\n\t\t\tconst newLeft = clamp(\n\t\t\t\tinitialBoundingRect.x + deltaX,\n\t\t\t\tmargin,\n\t\t\t\tinitialBoundingRect.x + initialBoundingRect.width - this._minWidth!,\n\t\t\t);\n\n\t\t\t// Recalculate width based on actual left position to stay within viewport with margin\n\t\t\tnewWidth = Math.min(newWidth, initialBoundingRect.x + initialBoundingRect.width - newLeft);\n\n\t\t\tthis._currentDeltaX = (initialBoundingRect.x - newLeft) / 2;\n\t\t} else {\n\t\t\t// Resizing from right edge - width increases when moving right (positive delta)\n\t\t\tconst maxWidthFromRight = Math.min(\n\t\t\t\twindow.innerWidth - initialBoundingRect.x - margin,\n\t\t\t\tthis._maxWidth!,\n\t\t\t);\n\n\t\t\tnewWidth = clamp(\n\t\t\t\tinitialBoundingRect.width + deltaX,\n\t\t\t\tthis._minWidth!,\n\t\t\t\tmaxWidthFromRight,\n\t\t\t);\n\n\t\t\tthis._currentDeltaX = (initialBoundingRect.width - newWidth) / 2;\n\t\t}\n\n\t\t// Calculate height changes\n\t\tif (isResizingFromTop) {\n\t\t\t// Resizing from top edge - height increases when moving up (negative delta)\n\t\t\tconst maxHeightFromTop = Math.min(\n\t\t\t\tinitialBoundingRect.y + initialBoundingRect.height - margin,\n\t\t\t\tthis._maxHeight!,\n\t\t\t);\n\n\t\t\tnewHeight = clamp(\n\t\t\t\tinitialBoundingRect.height - deltaY,\n\t\t\t\tthis._minHeight!,\n\t\t\t\tmaxHeightFromTop,\n\t\t\t);\n\n\t\t\t// Adjust top position when resizing from top\n\t\t\t// Ensure the top edge respects the viewport margin and the bottom edge position\n\t\t\tconst newTop = clamp(\n\t\t\t\tinitialBoundingRect.y + deltaY,\n\t\t\t\tmargin,\n\t\t\t\tinitialBoundingRect.y + initialBoundingRect.height - this._minHeight!,\n\t\t\t);\n\n\t\t\t// Recalculate height based on actual top position to stay within viewport with margin\n\t\t\tnewHeight = Math.min(newHeight, initialBoundingRect.y + initialBoundingRect.height - newTop);\n\n\t\t\tthis._currentDeltaY = (initialBoundingRect.y - newTop) / 2;\n\t\t} else {\n\t\t\t// Resizing from bottom edge - height increases when moving down (positive delta)\n\t\t\tconst maxHeightFromBottom = Math.min(\n\t\t\t\twindow.innerHeight - initialBoundingRect.y - margin,\n\t\t\t\tthis._maxHeight!,\n\t\t\t);\n\n\t\t\tnewHeight = clamp(\n\t\t\t\tinitialBoundingRect.height + deltaY,\n\t\t\t\tthis._minHeight!,\n\t\t\t\tmaxHeightFromBottom,\n\t\t\t);\n\n\t\t\tthis._currentDeltaY = (initialBoundingRect.height - newHeight) / 2;\n\t\t}\n\n\t\tthis._currentDeltaX += this._totalDeltaX || 0;\n\t\tthis._currentDeltaY += this._totalDeltaY || 0;\n\n\t\tconst placement = this._popover.calcPlacement(this._popover._openerRect!, {\n\t\t\twidth: newWidth,\n\t\t\theight: newHeight,\n\t\t});\n\n\t\tthis._popover.arrowTranslateX = placement.arrow.x;\n\t\tthis._popover.arrowTranslateY = placement.arrow.y;\n\n\t\tObject.assign(this._popover.style, {\n\t\t\tleft: `${placement.left}px`,\n\t\t\ttop: `${placement.top}px`,\n\t\t\theight: `${newHeight}px`,\n\t\t\twidth: `${newWidth}px`,\n\t\t});\n\t}\n\n\t/**\n\t * Attaches mouse event handlers for resize\n\t */\n\tprivate _attachMouseResizeHandlers() {\n\t\twindow.addEventListener(\"mousemove\", this._resizeMouseMoveHandler);\n\t\twindow.addEventListener(\"mouseup\", this._resizeMouseUpHandler);\n\t}\n\n\t/**\n\t * Detaches mouse event handlers for resize\n\t */\n\tprivate _detachMouseResizeHandlers() {\n\t\twindow.removeEventListener(\"mousemove\", this._resizeMouseMoveHandler);\n\t\twindow.removeEventListener(\"mouseup\", this._resizeMouseUpHandler);\n\t}\n}\n\nexport { ResizeHandlePlacement };\n\nexport default PopoverResize;\n"]}
|
package/dist/PopoverTemplate.js
CHANGED
|
@@ -19,6 +19,8 @@ function beforeContent() {
|
|
|
19
19
|
function afterContent() {
|
|
20
20
|
return (_jsxs(_Fragment, { children: [this._displayFooter && !!this.footer.length &&
|
|
21
21
|
_jsx("footer", { class: "ui5-popup-footer-root", part: "footer", children: _jsx("slot", { name: "footer" }) }), this._showResizeHandle &&
|
|
22
|
-
_jsx("div", { class: "ui5-popover-resize-handle", onMouseDown: this._onResizeMouseDown, children: _jsx(Icon, { name: resizeCorner }) })
|
|
22
|
+
_jsx("div", { class: "ui5-popover-resize-handle", onMouseDown: this._onResizeMouseDown, title: this._resizeHandleTooltip, children: _jsx(Icon, { name: resizeCorner }) }), this._showResizeHandle &&
|
|
23
|
+
_jsxs(_Fragment, { children: [_jsx("span", { id: `${this._id}-keyboardResizeHandle`, class: "ui5-popover-keyboard-resize-handle ui5-hidden-text", tabIndex: 0, role: "img", "aria-label": this._resizeHandleAriaLabel, "aria-roledescription": this._resizeHandleAriaRoleDescription, "aria-describedby": this._resizeHandleAriaDescribedBy, onKeyDown: this._onResizeKeyDown }), this._resizeHandleAriaDescribedByText &&
|
|
24
|
+
_jsx("span", { id: `${this._id}-resizeDescr`, "aria-hidden": "true", class: "ui5-hidden-text", children: this._resizeHandleAriaDescribedByText })] })] }));
|
|
23
25
|
}
|
|
24
26
|
//# sourceMappingURL=PopoverTemplate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopoverTemplate.js","sourceRoot":"","sources":["../src/PopoverTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,YAAY,MAAM,gDAAgD,CAAC;AAE1E,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,CAAC,OAAO,UAAU,eAAe;IACtC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE;QAC/B,aAAa;QACb,YAAY;KACZ,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa;IACrB,OAAO,CAAC,8BACP,eAAM,KAAK,EAAC,mBAAmB,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,GAAS,EAEhE,IAAI,CAAC,cAAc;gBACnB,iBAAQ,KAAK,EAAC,uBAAuB,EAAC,EAAE,EAAC,kBAAkB,EAAC,IAAI,EAAC,QAAQ,YACvE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACpB,eAAM,IAAI,EAAC,QAAQ,GAAQ;wBAC3B,CAAC;4BACD,KAAC,KAAK,IAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,uBAAuB,YAAE,IAAI,CAAC,UAAU,GAAS,GAElE,IAER,CAAC,CAAC;AACN,CAAC;AAED,SAAS,YAAY;IACpB,OAAO,CAAC,8BACN,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC3C,iBAAQ,KAAK,EAAC,uBAAuB,EAAC,IAAI,EAAC,QAAQ,YAClD,eAAM,IAAI,EAAC,QAAQ,GAAQ,GACnB,EAGT,IAAI,CAAC,iBAAiB;gBACtB,cAAK,KAAK,EAAC,2BAA2B,EACpC,WAAW,EAAE,IAAI,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"PopoverTemplate.js","sourceRoot":"","sources":["../src/PopoverTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,YAAY,MAAM,gDAAgD,CAAC;AAE1E,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,CAAC,OAAO,UAAU,eAAe;IACtC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE;QAC/B,aAAa;QACb,YAAY;KACZ,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa;IACrB,OAAO,CAAC,8BACP,eAAM,KAAK,EAAC,mBAAmB,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,GAAS,EAEhE,IAAI,CAAC,cAAc;gBACnB,iBAAQ,KAAK,EAAC,uBAAuB,EAAC,EAAE,EAAC,kBAAkB,EAAC,IAAI,EAAC,QAAQ,YACvE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACpB,eAAM,IAAI,EAAC,QAAQ,GAAQ;wBAC3B,CAAC;4BACD,KAAC,KAAK,IAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,uBAAuB,YAAE,IAAI,CAAC,UAAU,GAAS,GAElE,IAER,CAAC,CAAC;AACN,CAAC;AAED,SAAS,YAAY;IACpB,OAAO,CAAC,8BACN,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC3C,iBAAQ,KAAK,EAAC,uBAAuB,EAAC,IAAI,EAAC,QAAQ,YAClD,eAAM,IAAI,EAAC,QAAQ,GAAQ,GACnB,EAGT,IAAI,CAAC,iBAAiB;gBACtB,cAAK,KAAK,EAAC,2BAA2B,EACpC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EACpC,KAAK,EAAE,IAAI,CAAC,oBAAoB,YAEjC,KAAC,IAAI,IAAC,IAAI,EAAE,YAAY,GAAI,GACvB,EAGN,IAAI,CAAC,iBAAiB;gBACtB,8BACC,eACC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,uBAAuB,EACtC,KAAK,EAAC,oDAAoD,EAC1D,QAAQ,EAAE,CAAC,EACX,IAAI,EAAC,KAAK,gBACE,IAAI,CAAC,sBAAsB,0BACjB,IAAI,CAAC,gCAAgC,sBACzC,IAAI,CAAC,4BAA4B,EACnD,SAAS,EAAE,IAAI,CAAC,gBAAgB,GACzB,EACP,IAAI,CAAC,gCAAgC;4BACrC,eAAM,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,cAAc,iBAAc,MAAM,EAAC,KAAK,EAAC,iBAAiB,YAAE,IAAI,CAAC,gCAAgC,GAAQ,IAE7H,IAEF,CAAC,CAAC;AACN,CAAC","sourcesContent":["import Icon from \"./Icon.js\";\nimport resizeCorner from \"@ui5/webcomponents-icons/dist/resize-corner.js\";\nimport type Popover from \"./Popover.js\";\nimport PopupTemplate from \"./PopupTemplate.js\";\nimport Title from \"./Title.js\";\n\nexport default function PopoverTemplate(this: Popover) {\n\treturn PopupTemplate.call(this, {\n\t\tbeforeContent,\n\t\tafterContent,\n\t});\n}\n\nfunction beforeContent(this: Popover) {\n\treturn (<>\n\t\t<span class=\"ui5-popover-arrow\" style={this.styles.arrow}></span>\n\n\t\t{this._displayHeader &&\n\t\t\t<header class=\"ui5-popup-header-root\" id=\"ui5-popup-header\" part=\"header\">\n\t\t\t\t{this.header.length ?\n\t\t\t\t\t<slot name=\"header\"></slot>\n\t\t\t\t\t:\n\t\t\t\t\t<Title level=\"H1\" class=\"ui5-popup-header-text\">{this.headerText}</Title>\n\t\t\t\t}\n\t\t\t</header>\n\t\t}\n\t</>);\n}\n\nfunction afterContent(this: Popover) {\n\treturn (<>\n\t\t{this._displayFooter && !!this.footer.length &&\n\t\t\t<footer class=\"ui5-popup-footer-root\" part=\"footer\">\n\t\t\t\t<slot name=\"footer\"></slot>\n\t\t\t</footer>\n\t\t}\n\n\t\t{this._showResizeHandle &&\n\t\t\t<div class=\"ui5-popover-resize-handle\"\n\t\t\t\t onMouseDown={this._onResizeMouseDown}\n\t\t\t\t title={this._resizeHandleTooltip}\n\t\t\t>\n\t\t\t\t<Icon name={resizeCorner} />\n\t\t\t</div>\n\t\t}\n\n\t\t{this._showResizeHandle &&\n\t\t\t<>\n\t\t\t\t<span\n\t\t\t\t\tid={`${this._id}-keyboardResizeHandle`}\n\t\t\t\t\tclass=\"ui5-popover-keyboard-resize-handle ui5-hidden-text\"\n\t\t\t\t\ttabIndex={0}\n\t\t\t\t\trole=\"img\"\n\t\t\t\t\taria-label={this._resizeHandleAriaLabel}\n\t\t\t\t\taria-roledescription={this._resizeHandleAriaRoleDescription}\n\t\t\t\t\taria-describedby={this._resizeHandleAriaDescribedBy}\n\t\t\t\t\tonKeyDown={this._onResizeKeyDown}\n\t\t\t\t></span>\n\t\t\t\t{this._resizeHandleAriaDescribedByText &&\n\t\t\t\t\t<span id={`${this._id}-resizeDescr`} aria-hidden=\"true\" class=\"ui5-hidden-text\">{this._resizeHandleAriaDescribedByText}</span>\n\t\t\t\t}\n\t\t\t</>\n\t\t}\n\t</>);\n}\n"]}
|
package/dist/Popup.d.ts
CHANGED
|
@@ -57,14 +57,14 @@ declare abstract class Popup extends UI5Element {
|
|
|
57
57
|
* when the popup closes.
|
|
58
58
|
* @default false
|
|
59
59
|
* @public
|
|
60
|
-
* @since 1.0.0
|
|
60
|
+
* @since 1.0.0
|
|
61
61
|
*/
|
|
62
62
|
preventFocusRestore: boolean;
|
|
63
63
|
/**
|
|
64
64
|
* Defines the accessible name of the component.
|
|
65
65
|
* @default undefined
|
|
66
66
|
* @public
|
|
67
|
-
* @since 1.0.0
|
|
67
|
+
* @since 1.0.0
|
|
68
68
|
*/
|
|
69
69
|
accessibleName?: string;
|
|
70
70
|
/**
|
package/dist/Popup.js
CHANGED
|
@@ -67,7 +67,7 @@ let Popup = Popup_1 = class Popup extends UI5Element {
|
|
|
67
67
|
* when the popup closes.
|
|
68
68
|
* @default false
|
|
69
69
|
* @public
|
|
70
|
-
* @since 1.0.0
|
|
70
|
+
* @since 1.0.0
|
|
71
71
|
*/
|
|
72
72
|
this.preventFocusRestore = false;
|
|
73
73
|
/**
|
|
@@ -280,7 +280,7 @@ let Popup = Popup_1 = class Popup extends UI5Element {
|
|
|
280
280
|
* @private
|
|
281
281
|
*/
|
|
282
282
|
async forwardToFirst() {
|
|
283
|
-
const firstFocusable = await
|
|
283
|
+
const firstFocusable = await this._getFirstFocusableElement();
|
|
284
284
|
if (firstFocusable) {
|
|
285
285
|
firstFocusable.focus();
|
|
286
286
|
}
|
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-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { ClassMap, AriaRole } from \"@ui5/webcomponents-base/dist/types.js\";\nimport jsxRender from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } 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 {\n\tregisterUI5Element,\n\tgetEffectiveAriaLabelText,\n\tgetEffectiveAriaDescriptionText,\n\tgetAllAccessibleDescriptionRefTexts,\n\tderegisterUI5Element,\n} from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport { createOrUpdateStyle } 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 toLowercaseEnumValue from \"@ui5/webcomponents-base/dist/util/toLowercaseEnumValue.js\";\nimport { registerInvisibleMessageRegion, deregisterInvisibleMessageRegion } from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport PopupTemplate from \"./PopupTemplate.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\tcreateOrUpdateStyle(globalStyles, \"data-ui5-popup-scroll-blocker\");\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: jsxRender,\n\tstyles: [popupStlyes, popupBlockLayerStyles],\n\ttemplate: PopupTemplate,\n})\n/**\n * Fired before the component is opened. This event can be cancelled, which will prevent the popup from opening.\n * @public\n */\n@event(\"before-open\", {\n\tcancelable: true,\n})\n\n/**\n * Fired after the component is opened.\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.\n * @public\n * @param {boolean} escPressed Indicates that `ESC` key has triggered the event.\n */\n@event(\"before-close\", {\n\tcancelable: true,\n})\n\n/**\n * Fired after the component is closed.\n * @public\n */\n@event(\"close\")\n\n/**\n * Fired whenever the popup content area is scrolled\n * @private\n */\n@event(\"scroll\", {\n\tbubbles: true,\n})\nabstract class Popup extends UI5Element {\n\teventDetails!: {\n\t\t\"before-open\": void\n\t\t\"open\": void\n\t\t\"before-close\": PopupBeforeCloseEventDetail\n\t\t\"close\": void\n\t\t\"scroll\": PopupScrollEventDetail\n\t}\n\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 accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.11.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that describe the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.11.0\n\t */\n\t@property()\n\taccessibleDescriptionRef?: string;\n\n\t/**\n\t * Constantly updated value of texts collected from the associated labels.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_associatedDescriptionRefTexts?: string;\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!: DefaultSlot<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\t_resizeHandlerRegistered = 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\n\t\tif (this.open) {\n\t\t\tthis._registerResizeHandler();\n\t\t} else {\n\t\t\tthis._deregisterResizeHandler();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tthis.setAttribute(\"popover\", \"manual\");\n\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\n\t\tthis.tabIndex = -1;\n\n\t\tthis.handleOpenOnEnterDOM();\n\n\t\tthis.setAttribute(\"data-sap-ui-fastnavgroup-container\", \"true\");\n\t\tregisterUI5Element(this, this._updateAssociatedLabelsTexts.bind(this));\n\t}\n\n\thandleOpenOnEnterDOM() {\n\t\tif (this.open) {\n\t\t\tthis.showPopover();\n\t\t\tthis.openPopup();\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\tthis._deregisterResizeHandler();\n\t\tthis._detachBrowserEvents();\n\t\tthis._deregisterInvisibleMessageRegion();\n\t\tderegisterUI5Element(this);\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.fireDecoratorEvent(\"before-open\");\n\n\t\tif (prevented) {\n\t\t\tthis.open = false;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._attachBrowserEvents();\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\t\tthis._opened = true;\n\n\t\tif (this.getDomRef()) {\n\t\t\tthis._updateMediaRange();\n\t\t}\n\n\t\tthis._addOpenedPopup();\n\n\t\tthis._registerInvisibleMessageRegion();\n\n\t\tthis.classList.add(\"ui5-popup-opening\");\n\t\tsetTimeout(() => {\n\t\t\tthis.classList.remove(\"ui5-popup-opening\");\n\t\t}, 50);\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\tif (this.isConnected) {\n\t\t\tthis.fireDecoratorEvent(\"open\");\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_attachBrowserEvents() {\n\n\t}\n\n\t_detachBrowserEvents() {\n\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.fireDecoratorEvent(\"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\tawait this._waitForDomRef();\n\n\t\tconst elementWithAutoFocus = this.querySelector(\"[autofocus]\");\n\t\tif (elementWithAutoFocus) {\n\t\t\t// If the \"autofocus\" is set on UI5Element, focus it manually.\n\t\t\tif (\"isUI5Element\" in elementWithAutoFocus) {\n\t\t\t\t(elementWithAutoFocus as UI5Element).focus();\n\t\t\t}\n\t\t\t// Otherwise, the browser will focus it automatically.\n\t\t\treturn;\n\t\t}\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 this._getFirstFocusableElement() || 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\tasync _getFirstFocusableElement() {\n\t\treturn getFirstFocusableElement(this);\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_updateAssociatedLabelsTexts() {\n\t\tthis._associatedDescriptionRefTexts = getAllAccessibleDescriptionRefTexts(this);\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.fireDecoratorEvent(\"before-close\", { escPressed });\n\t\tif (prevented) {\n\t\t\tthis.open = true;\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\tthis._detachBrowserEvents();\n\n\t\tthis._deregisterInvisibleMessageRegion();\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.fireDecoratorEvent(\"close\");\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 * Asks the InvisibleMessage to render its aria-live region inside the popup, so that announcements\n\t * made while the popup is open are read out.\n\t *\n\t * A screen reader scopes its accessibility tree to a modal popup (aria-modal=\"true\"), so a body-level\n\t * aria-live region is silenced while the popup is open. Non-modal popups (e.g. a ComboBox dropdown) do\n\t * not cause this scoping, so their announcements are still heard from the default body-level region and\n\t * must not be routed into the popup subtree.\n\t * @protected\n\t */\n\t_registerInvisibleMessageRegion() {\n\t\tif (this.isModal && this._root) {\n\t\t\tregisterInvisibleMessageRegion(this._root);\n\t\t}\n\t}\n\n\t/**\n\t * Asks the InvisibleMessage to stop rendering its aria-live region inside the popup, restoring\n\t * the default region.\n\t * @protected\n\t */\n\t_deregisterInvisibleMessageRegion() {\n\t\tif (this._root) {\n\t\t\tderegisterInvisibleMessageRegion(this._root);\n\t\t}\n\t}\n\n\t/**\n\t * Returns the focus to the previously focused element\n\t * @protected\n\t */\n\tresetFocus() {\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_registerResizeHandler() {\n\t\tif (!this._resizeHandlerRegistered) {\n\t\t\tResizeHandler.register(this, this._resizeHandler);\n\t\t\tthis._resizeHandlerRegistered = true;\n\t\t}\n\t}\n\n\t_deregisterResizeHandler() {\n\t\tif (this._resizeHandlerRegistered) {\n\t\t\tResizeHandler.deregister(this, this._resizeHandler);\n\t\t\tthis._resizeHandlerRegistered = false;\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 _accInfoAriaDescription() {\n\t\treturn this.ariaDescriptionText || \"\";\n\t}\n\n\tget ariaDescriptionText() {\n\t\treturn this._associatedDescriptionRefTexts || getEffectiveAriaDescriptionText(this);\n\t}\n\n\tget ariaDescriptionTextId() {\n\t\treturn this.ariaDescriptionText ? \"accessibleDescription\" : \"\";\n\t}\n\n\tget ariaDescribedByIds() {\n\t\treturn [\n\t\t\tthis.ariaDescriptionTextId,\n\t\t].filter(Boolean).join(\" \");\n\t}\n\n\tget _root(): HTMLElement {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-root\")!;\n\t}\n\n\tget _role() {\n\t\treturn (this.accessibleRole === PopupAccessibleRole.None) ? undefined : toLowercaseEnumValue(this.accessibleRole);\n\t}\n\n\tget _contentRole(): AriaRole | undefined {\n\t\treturn undefined;\n\t}\n\n\tget _contentAriaLabel(): string | undefined {\n\t\treturn undefined;\n\t}\n\n\tget _ariaModal(): \"true\" | 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 footerDOM(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-footer-root\");\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;\nexport type { PopupScrollEventDetail, PopupBeforeCloseEventDetail };\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-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { ClassMap, AriaRole } from \"@ui5/webcomponents-base/dist/types.js\";\nimport jsxRender from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } 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 {\n\tregisterUI5Element,\n\tgetEffectiveAriaLabelText,\n\tgetEffectiveAriaDescriptionText,\n\tgetAllAccessibleDescriptionRefTexts,\n\tderegisterUI5Element,\n} from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport { createOrUpdateStyle } 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 toLowercaseEnumValue from \"@ui5/webcomponents-base/dist/util/toLowercaseEnumValue.js\";\nimport { registerInvisibleMessageRegion, deregisterInvisibleMessageRegion } from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport PopupTemplate from \"./PopupTemplate.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\tcreateOrUpdateStyle(globalStyles, \"data-ui5-popup-scroll-blocker\");\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: jsxRender,\n\tstyles: [popupStlyes, popupBlockLayerStyles],\n\ttemplate: PopupTemplate,\n})\n/**\n * Fired before the component is opened. This event can be cancelled, which will prevent the popup from opening.\n * @public\n */\n@event(\"before-open\", {\n\tcancelable: true,\n})\n\n/**\n * Fired after the component is opened.\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.\n * @public\n * @param {boolean} escPressed Indicates that `ESC` key has triggered the event.\n */\n@event(\"before-close\", {\n\tcancelable: true,\n})\n\n/**\n * Fired after the component is closed.\n * @public\n */\n@event(\"close\")\n\n/**\n * Fired whenever the popup content area is scrolled\n * @private\n */\n@event(\"scroll\", {\n\tbubbles: true,\n})\nabstract class Popup extends UI5Element {\n\teventDetails!: {\n\t\t\"before-open\": void\n\t\t\"open\": void\n\t\t\"before-close\": PopupBeforeCloseEventDetail\n\t\t\"close\": void\n\t\t\"scroll\": PopupScrollEventDetail\n\t}\n\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\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\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 accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.11.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that describe the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.11.0\n\t */\n\t@property()\n\taccessibleDescriptionRef?: string;\n\n\t/**\n\t * Constantly updated value of texts collected from the associated labels.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_associatedDescriptionRefTexts?: string;\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!: DefaultSlot<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\t_resizeHandlerRegistered = 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\n\t\tif (this.open) {\n\t\t\tthis._registerResizeHandler();\n\t\t} else {\n\t\t\tthis._deregisterResizeHandler();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tthis.setAttribute(\"popover\", \"manual\");\n\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\n\t\tthis.tabIndex = -1;\n\n\t\tthis.handleOpenOnEnterDOM();\n\n\t\tthis.setAttribute(\"data-sap-ui-fastnavgroup-container\", \"true\");\n\t\tregisterUI5Element(this, this._updateAssociatedLabelsTexts.bind(this));\n\t}\n\n\thandleOpenOnEnterDOM() {\n\t\tif (this.open) {\n\t\t\tthis.showPopover();\n\t\t\tthis.openPopup();\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\tthis._deregisterResizeHandler();\n\t\tthis._detachBrowserEvents();\n\t\tthis._deregisterInvisibleMessageRegion();\n\t\tderegisterUI5Element(this);\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.fireDecoratorEvent(\"before-open\");\n\n\t\tif (prevented) {\n\t\t\tthis.open = false;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._attachBrowserEvents();\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\t\tthis._opened = true;\n\n\t\tif (this.getDomRef()) {\n\t\t\tthis._updateMediaRange();\n\t\t}\n\n\t\tthis._addOpenedPopup();\n\n\t\tthis._registerInvisibleMessageRegion();\n\n\t\tthis.classList.add(\"ui5-popup-opening\");\n\t\tsetTimeout(() => {\n\t\t\tthis.classList.remove(\"ui5-popup-opening\");\n\t\t}, 50);\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\tif (this.isConnected) {\n\t\t\tthis.fireDecoratorEvent(\"open\");\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_attachBrowserEvents() {\n\n\t}\n\n\t_detachBrowserEvents() {\n\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.fireDecoratorEvent(\"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 this._getFirstFocusableElement();\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\tawait this._waitForDomRef();\n\n\t\tconst elementWithAutoFocus = this.querySelector(\"[autofocus]\");\n\t\tif (elementWithAutoFocus) {\n\t\t\t// If the \"autofocus\" is set on UI5Element, focus it manually.\n\t\t\tif (\"isUI5Element\" in elementWithAutoFocus) {\n\t\t\t\t(elementWithAutoFocus as UI5Element).focus();\n\t\t\t}\n\t\t\t// Otherwise, the browser will focus it automatically.\n\t\t\treturn;\n\t\t}\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 this._getFirstFocusableElement() || 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\tasync _getFirstFocusableElement() {\n\t\treturn getFirstFocusableElement(this);\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_updateAssociatedLabelsTexts() {\n\t\tthis._associatedDescriptionRefTexts = getAllAccessibleDescriptionRefTexts(this);\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.fireDecoratorEvent(\"before-close\", { escPressed });\n\t\tif (prevented) {\n\t\t\tthis.open = true;\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\tthis._detachBrowserEvents();\n\n\t\tthis._deregisterInvisibleMessageRegion();\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.fireDecoratorEvent(\"close\");\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 * Asks the InvisibleMessage to render its aria-live region inside the popup, so that announcements\n\t * made while the popup is open are read out.\n\t *\n\t * A screen reader scopes its accessibility tree to a modal popup (aria-modal=\"true\"), so a body-level\n\t * aria-live region is silenced while the popup is open. Non-modal popups (e.g. a ComboBox dropdown) do\n\t * not cause this scoping, so their announcements are still heard from the default body-level region and\n\t * must not be routed into the popup subtree.\n\t * @protected\n\t */\n\t_registerInvisibleMessageRegion() {\n\t\tif (this.isModal && this._root) {\n\t\t\tregisterInvisibleMessageRegion(this._root);\n\t\t}\n\t}\n\n\t/**\n\t * Asks the InvisibleMessage to stop rendering its aria-live region inside the popup, restoring\n\t * the default region.\n\t * @protected\n\t */\n\t_deregisterInvisibleMessageRegion() {\n\t\tif (this._root) {\n\t\t\tderegisterInvisibleMessageRegion(this._root);\n\t\t}\n\t}\n\n\t/**\n\t * Returns the focus to the previously focused element\n\t * @protected\n\t */\n\tresetFocus() {\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_registerResizeHandler() {\n\t\tif (!this._resizeHandlerRegistered) {\n\t\t\tResizeHandler.register(this, this._resizeHandler);\n\t\t\tthis._resizeHandlerRegistered = true;\n\t\t}\n\t}\n\n\t_deregisterResizeHandler() {\n\t\tif (this._resizeHandlerRegistered) {\n\t\t\tResizeHandler.deregister(this, this._resizeHandler);\n\t\t\tthis._resizeHandlerRegistered = false;\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 _accInfoAriaDescription() {\n\t\treturn this.ariaDescriptionText || \"\";\n\t}\n\n\tget ariaDescriptionText() {\n\t\treturn this._associatedDescriptionRefTexts || getEffectiveAriaDescriptionText(this);\n\t}\n\n\tget ariaDescriptionTextId() {\n\t\treturn this.ariaDescriptionText ? \"accessibleDescription\" : \"\";\n\t}\n\n\tget ariaDescribedByIds() {\n\t\treturn [\n\t\t\tthis.ariaDescriptionTextId,\n\t\t].filter(Boolean).join(\" \");\n\t}\n\n\tget _root(): HTMLElement {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-root\")!;\n\t}\n\n\tget _role() {\n\t\treturn (this.accessibleRole === PopupAccessibleRole.None) ? undefined : toLowercaseEnumValue(this.accessibleRole);\n\t}\n\n\tget _contentRole(): AriaRole | undefined {\n\t\treturn undefined;\n\t}\n\n\tget _contentAriaLabel(): string | undefined {\n\t\treturn undefined;\n\t}\n\n\tget _ariaModal(): \"true\" | 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 footerDOM(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-footer-root\");\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;\nexport type { PopupScrollEventDetail, PopupBeforeCloseEventDetail };\n"]}
|
|
@@ -36,7 +36,7 @@ import ProgressIndicatorCss from "./generated/themes/ProgressIndicator.css.js";
|
|
|
36
36
|
* @constructor
|
|
37
37
|
* @extends UI5Element
|
|
38
38
|
* @public
|
|
39
|
-
* @since 1.0.0
|
|
39
|
+
* @since 1.0.0
|
|
40
40
|
*/
|
|
41
41
|
let ProgressIndicator = ProgressIndicator_1 = class ProgressIndicator extends UI5Element {
|
|
42
42
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressIndicator.js","sourceRoot":"","sources":["../src/ProgressIndicator.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport AnimationMode from \"@ui5/webcomponents-base/dist/types/AnimationMode.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getAnimationMode } from \"@ui5/webcomponents-base/dist/config/AnimationMode.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_INFORMATION,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport ProgressIndicatorTemplate from \"./ProgressIndicatorTemplate.js\";\n\n// Styles\nimport ProgressIndicatorCss from \"./generated/themes/ProgressIndicator.css.js\";\n\n/**\n * @class\n *\n * ### Overview\n * Shows the progress of a process in a graphical way. To indicate the progress,\n * the inside of the component is filled with a color.\n *\n * ### Responsive Behavior\n * You can change the size of the Progress Indicator by changing its `width` or `height` CSS properties.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/ProgressIndicator.js\";`\n * @csspart bar - Used to style the main bar of the `ui5-progress-indicator`\n * @csspart remaining-bar - Used to style the remaining bar of the `ui5-progress-indicator`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0
|
|
1
|
+
{"version":3,"file":"ProgressIndicator.js","sourceRoot":"","sources":["../src/ProgressIndicator.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport AnimationMode from \"@ui5/webcomponents-base/dist/types/AnimationMode.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getAnimationMode } from \"@ui5/webcomponents-base/dist/config/AnimationMode.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_INFORMATION,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport ProgressIndicatorTemplate from \"./ProgressIndicatorTemplate.js\";\n\n// Styles\nimport ProgressIndicatorCss from \"./generated/themes/ProgressIndicator.css.js\";\n\n/**\n * @class\n *\n * ### Overview\n * Shows the progress of a process in a graphical way. To indicate the progress,\n * the inside of the component is filled with a color.\n *\n * ### Responsive Behavior\n * You can change the size of the Progress Indicator by changing its `width` or `height` CSS properties.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/ProgressIndicator.js\";`\n * @csspart bar - Used to style the main bar of the `ui5-progress-indicator`\n * @csspart remaining-bar - Used to style the remaining bar of the `ui5-progress-indicator`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0\n */\n@customElement({\n\ttag: \"ui5-progress-indicator\",\n\trenderer: jsxRenderer,\n\tstyles: ProgressIndicatorCss,\n\ttemplate: ProgressIndicatorTemplate,\n})\n\nclass ProgressIndicator extends UI5Element {\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.16.0\n\t*/\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Defines whether the component value is shown.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\thideValue = false;\n\n\t/**\n\t * Specifies the numerical value in percent for the length of the component.\n\t *\n\t * **Note:**\n\t * If a value greater than 100 is provided, the percentValue is set to 100. In other cases of invalid value, percentValue is set to its default of 0.\n\t * @default 0\n\t * @public\n\t */\n\t@property({ type: Number })\n\tvalue = 0;\n\n\t/**\n\t * Specifies the text value to be displayed in the bar.\n\t *\n\t * **Note:**\n\t *\n\t * - If there is no value provided or the value is empty, the default percentage value is shown.\n\t * - If `hideValue` property is `true` both the `displayValue` and `value` property values are not shown.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tdisplayValue?: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\t_previousValue: number;\n\t_transitionDuration: number;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._previousValue = 0;\n\t\tthis._transitionDuration = 0;\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._transitionDuration = Math.abs(this._previousValue - this.validatedValue) * 20;\n\t\tthis._previousValue = this.validatedValue;\n\t}\n\n\tvalueStateTextMappings(): Record<string, string> {\n\t\treturn {\n\t\t\t\"Negative\": ProgressIndicator.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t\"Critical\": ProgressIndicator.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t\t\"Positive\": ProgressIndicator.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t\"Information\": ProgressIndicator.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t};\n\t}\n\n\tget validatedValue() {\n\t\tif (this.value < 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif (this.value > 100) {\n\t\t\treturn 100;\n\t\t}\n\n\t\treturn this.value;\n\t}\n\n\tget showValueInRemainingBar() {\n\t\treturn this.value <= 50;\n\t}\n\n\tget shouldAnimate() {\n\t\treturn getAnimationMode() !== AnimationMode.None;\n\t}\n\n\tget valueStateText() {\n\t\tconst percentValue = `${this.validatedValue}%`;\n\t\tconst valueText = this.valueStateTextMappings()[this.valueState];\n\n\t\treturn valueText ? `${percentValue} ${valueText}` : percentValue;\n\t}\n\n\tget showIcon() {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n}\n\nProgressIndicator.define();\n\nexport default ProgressIndicator;\n"]}
|
package/dist/RadioButton.d.ts
CHANGED
package/dist/RadioButton.js
CHANGED
|
@@ -108,7 +108,7 @@ let RadioButton = RadioButton_1 = class RadioButton extends UI5Element {
|
|
|
108
108
|
* @formEvents change
|
|
109
109
|
* @formProperty
|
|
110
110
|
* @public
|
|
111
|
-
* @since 1.0.0
|
|
111
|
+
* @since 1.0.0
|
|
112
112
|
*/
|
|
113
113
|
this.checked = false;
|
|
114
114
|
/**
|
|
@@ -366,7 +366,7 @@ RadioButton = RadioButton_1 = __decorate([
|
|
|
366
366
|
/**
|
|
367
367
|
* Fired when the component checked state changes.
|
|
368
368
|
* @public
|
|
369
|
-
* @since 1.0.0
|
|
369
|
+
* @since 1.0.0
|
|
370
370
|
*/
|
|
371
371
|
,
|
|
372
372
|
event("change", {
|