@ui5/webcomponents 2.19.0-rc.0 → 2.19.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +47 -0
- package/README.md +1 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/Calendar.js +1 -1
- package/dist/Calendar.js.map +1 -1
- package/dist/ColorPicker.d.ts +5 -0
- package/dist/ColorPicker.js +12 -0
- package/dist/ColorPicker.js.map +1 -1
- package/dist/ColorPickerTemplate.js +1 -1
- package/dist/ColorPickerTemplate.js.map +1 -1
- package/dist/DateTimePicker.js +4 -3
- package/dist/DateTimePicker.js.map +1 -1
- package/dist/Input.d.ts +12 -9
- package/dist/Input.js +94 -57
- package/dist/Input.js.map +1 -1
- package/dist/InputTemplate.js +1 -1
- package/dist/InputTemplate.js.map +1 -1
- package/dist/Link.d.ts +0 -7
- package/dist/Link.js +1 -5
- package/dist/Link.js.map +1 -1
- package/dist/ListBoxItemGroupTemplate.js +1 -1
- package/dist/ListBoxItemGroupTemplate.js.map +1 -1
- package/dist/ListItemGroup.d.ts +2 -1
- package/dist/ListItemGroup.js +2 -0
- package/dist/ListItemGroup.js.map +1 -1
- package/dist/Menu.d.ts +1 -1
- package/dist/Menu.js +3 -3
- package/dist/Menu.js.map +1 -1
- package/dist/MenuItem.d.ts +1 -1
- package/dist/MenuItem.js +3 -3
- package/dist/MenuItem.js.map +1 -1
- package/dist/MenuItemTemplate.js +1 -2
- package/dist/MenuItemTemplate.js.map +1 -1
- package/dist/MenuTemplate.js +3 -3
- package/dist/MenuTemplate.js.map +1 -1
- package/dist/MultiComboBox.d.ts +6 -1
- package/dist/MultiComboBox.js +29 -5
- package/dist/MultiComboBox.js.map +1 -1
- package/dist/Popover.d.ts +23 -2
- package/dist/Popover.js +77 -12
- package/dist/Popover.js.map +1 -1
- package/dist/PopoverResize.d.ts +62 -0
- package/dist/PopoverResize.js +276 -0
- package/dist/PopoverResize.js.map +1 -0
- package/dist/PopoverTemplate.js +5 -2
- package/dist/PopoverTemplate.js.map +1 -1
- package/dist/SegmentedButtonItem.js +1 -0
- package/dist/SegmentedButtonItem.js.map +1 -1
- package/dist/StepInput.d.ts +17 -0
- package/dist/StepInput.js +79 -16
- package/dist/StepInput.js.map +1 -1
- package/dist/StepInputTemplate.js +1 -1
- package/dist/StepInputTemplate.js.map +1 -1
- package/dist/Table.js +4 -6
- package/dist/Table.js.map +1 -1
- package/dist/TableCell.d.ts +1 -1
- package/dist/TableCell.js +15 -13
- package/dist/TableCell.js.map +1 -1
- package/dist/TableCustomAnnouncement.js.map +1 -1
- package/dist/TableHeaderCell.d.ts +0 -1
- package/dist/TableHeaderCell.js +1 -8
- package/dist/TableHeaderCell.js.map +1 -1
- package/dist/TableHeaderCellActionBase.js.map +1 -1
- package/dist/TreeItemBaseTemplate.js +2 -2
- package/dist/TreeItemBaseTemplate.js.map +1 -1
- package/dist/bundle.common.bootstrap.d.ts +0 -1
- package/dist/bundle.common.bootstrap.js +2 -1
- package/dist/bundle.common.bootstrap.js.map +1 -1
- package/dist/css/themes/Avatar.css +1 -1
- package/dist/css/themes/AvatarGroup.css +1 -1
- package/dist/css/themes/Bar.css +1 -1
- package/dist/css/themes/Breadcrumbs.css +1 -1
- package/dist/css/themes/BusyIndicator.css +1 -1
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/ButtonBadge.css +1 -1
- package/dist/css/themes/Calendar.css +1 -1
- package/dist/css/themes/CalendarHeader.css +1 -1
- package/dist/css/themes/CalendarLegend.css +1 -1
- package/dist/css/themes/CalendarLegendItem.css +1 -1
- package/dist/css/themes/Card.css +1 -1
- package/dist/css/themes/CardHeader.css +1 -1
- package/dist/css/themes/Carousel.css +1 -1
- package/dist/css/themes/CheckBox.css +1 -1
- package/dist/css/themes/ColorPalette.css +1 -1
- package/dist/css/themes/ColorPaletteItem.css +1 -1
- package/dist/css/themes/ColorPalettePopover.css +1 -1
- package/dist/css/themes/ColorPicker.css +1 -1
- package/dist/css/themes/ComboBox.css +1 -1
- package/dist/css/themes/ComboBoxItem.css +1 -1
- package/dist/css/themes/DatePicker.css +1 -1
- package/dist/css/themes/DatePickerPopover.css +1 -1
- package/dist/css/themes/DateTimePickerPopover.css +1 -1
- package/dist/css/themes/DayPicker.css +1 -1
- package/dist/css/themes/Dialog.css +1 -1
- package/dist/css/themes/DynamicDateRange.css +1 -1
- package/dist/css/themes/DynamicDateRangePopover.css +1 -1
- package/dist/css/themes/FileUploader.css +1 -1
- package/dist/css/themes/Form.css +1 -1
- package/dist/css/themes/FormItem.css +1 -1
- package/dist/css/themes/FormItemSpan.css +1 -1
- package/dist/css/themes/GrowingButton.css +1 -1
- package/dist/css/themes/Icon.css +1 -1
- package/dist/css/themes/Input.css +1 -1
- package/dist/css/themes/InputIcon.css +1 -1
- package/dist/css/themes/InputSharedStyles.css +1 -1
- package/dist/css/themes/Link.css +1 -1
- package/dist/css/themes/List.css +1 -1
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/ListItemBase.css +1 -1
- package/dist/css/themes/ListItemCustom.css +1 -1
- package/dist/css/themes/ListItemGroup.css +1 -1
- package/dist/css/themes/ListItemGroupHeader.css +1 -1
- package/dist/css/themes/ListItemIcon.css +1 -1
- package/dist/css/themes/Menu.css +1 -1
- package/dist/css/themes/MenuItem.css +1 -1
- package/dist/css/themes/MessageStrip.css +1 -1
- package/dist/css/themes/MonthPicker.css +1 -1
- package/dist/css/themes/MultiComboBox.css +1 -1
- package/dist/css/themes/MultiComboBoxItem.css +1 -1
- package/dist/css/themes/MultiComboBoxPopover.css +1 -1
- package/dist/css/themes/MultiInput.css +1 -1
- package/dist/css/themes/OptionBase.css +1 -1
- package/dist/css/themes/Panel.css +1 -1
- package/dist/css/themes/Popover.css +1 -1
- package/dist/css/themes/PopupsCommon.css +1 -1
- package/dist/css/themes/ProgressIndicator.css +1 -1
- package/dist/css/themes/RadioButton.css +1 -1
- package/dist/css/themes/RangeSlider.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/ResponsivePopover.css +1 -1
- package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
- package/dist/css/themes/SegmentedButton.css +1 -1
- package/dist/css/themes/SegmentedButtonItem.css +1 -1
- package/dist/css/themes/Select.css +1 -1
- package/dist/css/themes/SliderBase.css +1 -1
- package/dist/css/themes/SplitButton.css +1 -1
- package/dist/css/themes/StepInput.css +1 -1
- package/dist/css/themes/SuggestionItem.css +1 -1
- package/dist/css/themes/SuggestionItemCustom.css +1 -1
- package/dist/css/themes/Switch.css +1 -1
- package/dist/css/themes/TabContainer.css +1 -1
- package/dist/css/themes/TabInOverflow.css +1 -1
- package/dist/css/themes/TabInStrip.css +1 -1
- package/dist/css/themes/TabSemanticIcon.css +1 -1
- package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
- package/dist/css/themes/TableCellBase.css +1 -1
- package/dist/css/themes/TableHeaderRow.css +1 -1
- package/dist/css/themes/TableRow.css +1 -1
- package/dist/css/themes/TableRowActionBase.css +1 -1
- package/dist/css/themes/TableRowBase.css +1 -1
- package/dist/css/themes/Tag.css +1 -1
- package/dist/css/themes/Text.css +1 -1
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/css/themes/TimePicker.css +1 -1
- package/dist/css/themes/Toast.css +1 -1
- package/dist/css/themes/ToggleButton.css +1 -1
- package/dist/css/themes/Token.css +1 -1
- package/dist/css/themes/Tokenizer.css +1 -1
- package/dist/css/themes/TokenizerPopover.css +1 -1
- package/dist/css/themes/Toolbar.css +1 -1
- package/dist/css/themes/ToolbarButton.css +1 -1
- package/dist/css/themes/ToolbarPopover.css +1 -1
- package/dist/css/themes/ToolbarSeparator.css +1 -1
- package/dist/css/themes/TreeItem.css +1 -1
- package/dist/css/themes/ValueStateMessage.css +1 -1
- package/dist/css/themes/ValueStateVariables.css +1 -1
- package/dist/css/themes/YearPicker.css +1 -1
- package/dist/css/themes/YearRangePicker.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +218 -13
- package/dist/custom-elements.json +154 -8
- package/dist/features/InputSuggestions.d.ts +1 -0
- package/dist/features/InputSuggestions.js +9 -6
- package/dist/features/InputSuggestions.js.map +1 -1
- package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_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_dark/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 +2 -2
- package/dist/generated/i18n/i18n-defaults.js +2 -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/Bar.css.d.ts +1 -1
- package/dist/generated/themes/Bar.css.js +1 -1
- package/dist/generated/themes/Bar.css.js.map +1 -1
- package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
- package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
- package/dist/generated/themes/BusyIndicator.css.js +1 -1
- package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
- package/dist/generated/themes/Button.css.d.ts +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
- package/dist/generated/themes/ButtonBadge.css.js +1 -1
- package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
- package/dist/generated/themes/Calendar.css.d.ts +1 -1
- package/dist/generated/themes/Calendar.css.js +1 -1
- package/dist/generated/themes/Calendar.css.js.map +1 -1
- package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
- package/dist/generated/themes/CalendarHeader.css.js +1 -1
- package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
- package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
- package/dist/generated/themes/CalendarLegend.css.js +1 -1
- package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
- package/dist/generated/themes/Card.css.d.ts +1 -1
- package/dist/generated/themes/Card.css.js +1 -1
- package/dist/generated/themes/Card.css.js.map +1 -1
- package/dist/generated/themes/CardHeader.css.d.ts +1 -1
- package/dist/generated/themes/CardHeader.css.js +1 -1
- package/dist/generated/themes/CardHeader.css.js.map +1 -1
- package/dist/generated/themes/Carousel.css.d.ts +1 -1
- package/dist/generated/themes/Carousel.css.js +1 -1
- package/dist/generated/themes/Carousel.css.js.map +1 -1
- package/dist/generated/themes/CheckBox.css.d.ts +1 -1
- package/dist/generated/themes/CheckBox.css.js +1 -1
- package/dist/generated/themes/CheckBox.css.js.map +1 -1
- package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
- package/dist/generated/themes/ColorPalette.css.js +1 -1
- package/dist/generated/themes/ColorPalette.css.js.map +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
- package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
- package/dist/generated/themes/ColorPicker.css.js +1 -1
- package/dist/generated/themes/ColorPicker.css.js.map +1 -1
- package/dist/generated/themes/ComboBox.css.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/ComboBoxItem.css.d.ts +1 -1
- package/dist/generated/themes/ComboBoxItem.css.js +1 -1
- package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
- package/dist/generated/themes/DatePicker.css.d.ts +1 -1
- package/dist/generated/themes/DatePicker.css.js +1 -1
- package/dist/generated/themes/DatePicker.css.js.map +1 -1
- package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
- package/dist/generated/themes/DatePickerPopover.css.js +1 -1
- package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/DayPicker.css.d.ts +1 -1
- package/dist/generated/themes/DayPicker.css.js +1 -1
- package/dist/generated/themes/DayPicker.css.js.map +1 -1
- package/dist/generated/themes/Dialog.css.d.ts +1 -1
- package/dist/generated/themes/Dialog.css.js +1 -1
- package/dist/generated/themes/Dialog.css.js.map +1 -1
- package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
- package/dist/generated/themes/DynamicDateRange.css.js +1 -1
- package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
- package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
- package/dist/generated/themes/DynamicDateRangePopover.css.js +1 -1
- package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
- package/dist/generated/themes/FileUploader.css.d.ts +1 -1
- package/dist/generated/themes/FileUploader.css.js +1 -1
- package/dist/generated/themes/FileUploader.css.js.map +1 -1
- package/dist/generated/themes/Form.css.d.ts +1 -1
- package/dist/generated/themes/Form.css.js +1 -1
- package/dist/generated/themes/Form.css.js.map +1 -1
- package/dist/generated/themes/FormItem.css.d.ts +1 -1
- package/dist/generated/themes/FormItem.css.js +1 -1
- package/dist/generated/themes/FormItem.css.js.map +1 -1
- package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
- package/dist/generated/themes/FormItemSpan.css.js +1 -1
- package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
- package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
- package/dist/generated/themes/GrowingButton.css.js +1 -1
- package/dist/generated/themes/GrowingButton.css.js.map +1 -1
- package/dist/generated/themes/Icon.css.d.ts +1 -1
- package/dist/generated/themes/Icon.css.js +1 -1
- package/dist/generated/themes/Icon.css.js.map +1 -1
- package/dist/generated/themes/Input.css.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/InputIcon.css.d.ts +1 -1
- package/dist/generated/themes/InputIcon.css.js +1 -1
- package/dist/generated/themes/InputIcon.css.js.map +1 -1
- package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
- package/dist/generated/themes/Link.css.d.ts +1 -1
- package/dist/generated/themes/Link.css.js +1 -1
- package/dist/generated/themes/Link.css.js.map +1 -1
- package/dist/generated/themes/List.css.d.ts +1 -1
- package/dist/generated/themes/List.css.js +1 -1
- package/dist/generated/themes/List.css.js.map +1 -1
- package/dist/generated/themes/ListItem.css.d.ts +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
- package/dist/generated/themes/ListItemBase.css.js +1 -1
- package/dist/generated/themes/ListItemBase.css.js.map +1 -1
- package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
- package/dist/generated/themes/ListItemCustom.css.js +1 -1
- package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
- package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
- package/dist/generated/themes/ListItemGroup.css.js +1 -1
- package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
- package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
- package/dist/generated/themes/ListItemIcon.css.js +1 -1
- package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
- package/dist/generated/themes/Menu.css.d.ts +1 -1
- package/dist/generated/themes/Menu.css.js +1 -1
- package/dist/generated/themes/Menu.css.js.map +1 -1
- package/dist/generated/themes/MenuItem.css.d.ts +1 -1
- package/dist/generated/themes/MenuItem.css.js +1 -1
- package/dist/generated/themes/MenuItem.css.js.map +1 -1
- package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
- package/dist/generated/themes/MessageStrip.css.js +1 -1
- package/dist/generated/themes/MessageStrip.css.js.map +1 -1
- package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
- package/dist/generated/themes/MonthPicker.css.js +1 -1
- package/dist/generated/themes/MonthPicker.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBox.css.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/MultiComboBoxItem.css.d.ts +1 -1
- package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
- package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
- package/dist/generated/themes/MultiInput.css.d.ts +1 -1
- package/dist/generated/themes/MultiInput.css.js +1 -1
- package/dist/generated/themes/MultiInput.css.js.map +1 -1
- package/dist/generated/themes/OptionBase.css.d.ts +1 -1
- package/dist/generated/themes/OptionBase.css.js +1 -1
- package/dist/generated/themes/OptionBase.css.js.map +1 -1
- package/dist/generated/themes/Panel.css.d.ts +1 -1
- package/dist/generated/themes/Panel.css.js +1 -1
- package/dist/generated/themes/Panel.css.js.map +1 -1
- package/dist/generated/themes/Popover.css.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/PopupsCommon.css.d.ts +1 -1
- package/dist/generated/themes/PopupsCommon.css.js +1 -1
- package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
- package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
- package/dist/generated/themes/RadioButton.css.d.ts +1 -1
- package/dist/generated/themes/RadioButton.css.js +1 -1
- package/dist/generated/themes/RadioButton.css.js.map +1 -1
- package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
- package/dist/generated/themes/RangeSlider.css.js +1 -1
- package/dist/generated/themes/RangeSlider.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.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/ResponsivePopover.css.d.ts +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
- package/dist/generated/themes/SegmentedButton.css.js +1 -1
- package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
- package/dist/generated/themes/Select.css.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/SliderBase.css.d.ts +1 -1
- package/dist/generated/themes/SliderBase.css.js +1 -1
- package/dist/generated/themes/SliderBase.css.js.map +1 -1
- package/dist/generated/themes/SplitButton.css.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/StepInput.css.d.ts +1 -1
- package/dist/generated/themes/StepInput.css.js +1 -1
- package/dist/generated/themes/StepInput.css.js.map +1 -1
- package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
- package/dist/generated/themes/SuggestionItem.css.js +1 -1
- package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
- package/dist/generated/themes/Switch.css.d.ts +1 -1
- package/dist/generated/themes/Switch.css.js +1 -1
- package/dist/generated/themes/Switch.css.js.map +1 -1
- package/dist/generated/themes/TabContainer.css.d.ts +1 -1
- package/dist/generated/themes/TabContainer.css.js +1 -1
- package/dist/generated/themes/TabContainer.css.js.map +1 -1
- package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
- package/dist/generated/themes/TabInOverflow.css.js +1 -1
- package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
- package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
- package/dist/generated/themes/TabInStrip.css.js +1 -1
- package/dist/generated/themes/TabInStrip.css.js.map +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
- package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
- package/dist/generated/themes/TableCellBase.css.js +1 -1
- package/dist/generated/themes/TableCellBase.css.js.map +1 -1
- package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
- package/dist/generated/themes/TableHeaderRow.css.js +1 -1
- package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
- package/dist/generated/themes/TableRow.css.d.ts +1 -1
- package/dist/generated/themes/TableRow.css.js +1 -1
- package/dist/generated/themes/TableRow.css.js.map +1 -1
- package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
- package/dist/generated/themes/TableRowActionBase.css.js +1 -1
- package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
- package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
- package/dist/generated/themes/TableRowBase.css.js +1 -1
- package/dist/generated/themes/TableRowBase.css.js.map +1 -1
- package/dist/generated/themes/Tag.css.d.ts +1 -1
- package/dist/generated/themes/Tag.css.js +1 -1
- package/dist/generated/themes/Tag.css.js.map +1 -1
- package/dist/generated/themes/Text.css.d.ts +1 -1
- package/dist/generated/themes/Text.css.js +1 -1
- package/dist/generated/themes/Text.css.js.map +1 -1
- package/dist/generated/themes/TextArea.css.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/TimePicker.css.d.ts +1 -1
- package/dist/generated/themes/TimePicker.css.js +1 -1
- package/dist/generated/themes/TimePicker.css.js.map +1 -1
- package/dist/generated/themes/Toast.css.d.ts +1 -1
- package/dist/generated/themes/Toast.css.js +1 -1
- package/dist/generated/themes/Toast.css.js.map +1 -1
- package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
- package/dist/generated/themes/ToggleButton.css.js +1 -1
- package/dist/generated/themes/ToggleButton.css.js.map +1 -1
- package/dist/generated/themes/Token.css.d.ts +1 -1
- package/dist/generated/themes/Token.css.js +1 -1
- package/dist/generated/themes/Token.css.js.map +1 -1
- package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
- package/dist/generated/themes/Tokenizer.css.js +1 -1
- package/dist/generated/themes/Tokenizer.css.js.map +1 -1
- package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
- package/dist/generated/themes/Toolbar.css.d.ts +1 -1
- package/dist/generated/themes/Toolbar.css.js +1 -1
- package/dist/generated/themes/Toolbar.css.js.map +1 -1
- package/dist/generated/themes/ToolbarButton.css.d.ts +1 -1
- package/dist/generated/themes/ToolbarButton.css.js +1 -1
- package/dist/generated/themes/ToolbarButton.css.js.map +1 -1
- package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
- package/dist/generated/themes/ToolbarSeparator.css.d.ts +1 -1
- package/dist/generated/themes/ToolbarSeparator.css.js +1 -1
- package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -1
- package/dist/generated/themes/TreeItem.css.d.ts +1 -1
- package/dist/generated/themes/TreeItem.css.js +1 -1
- package/dist/generated/themes/TreeItem.css.js.map +1 -1
- package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
- package/dist/generated/themes/ValueStateVariables.css.d.ts +1 -1
- package/dist/generated/themes/ValueStateVariables.css.js +1 -1
- package/dist/generated/themes/ValueStateVariables.css.js.map +1 -1
- package/dist/generated/themes/YearPicker.css.d.ts +1 -1
- package/dist/generated/themes/YearPicker.css.js +1 -1
- package/dist/generated/themes/YearPicker.css.js.map +1 -1
- package/dist/generated/themes/YearRangePicker.css.d.ts +1 -1
- package/dist/generated/themes/YearRangePicker.css.js +1 -1
- package/dist/generated/themes/YearRangePicker.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 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.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_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_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/popup-utils/PopoverRegistry.js +6 -4
- package/dist/popup-utils/PopoverRegistry.js.map +1 -1
- package/dist/types/InputSuggestionsFilter.d.ts +27 -0
- package/dist/types/InputSuggestionsFilter.js +29 -0
- package/dist/types/InputSuggestionsFilter.js.map +1 -0
- package/dist/vscode.html-custom-data.json +34 -4
- package/dist/web-types.json +65 -11
- package/package.json +9 -9
- package/src/ColorPickerTemplate.tsx +1 -1
- package/src/InputTemplate.tsx +1 -1
- package/src/ListBoxItemGroupTemplate.tsx +1 -1
- package/src/MenuItemTemplate.tsx +16 -8
- package/src/MenuTemplate.tsx +11 -7
- package/src/PopoverTemplate.tsx +10 -0
- package/src/StepInputTemplate.tsx +1 -0
- package/src/TreeItemBaseTemplate.tsx +2 -2
- package/src/i18n/messagebundle.properties +2 -2
- package/src/i18n/messagebundle_ar.properties +24 -0
- package/src/i18n/messagebundle_bg.properties +24 -0
- package/src/i18n/messagebundle_ca.properties +24 -0
- package/src/i18n/messagebundle_cnr.properties +24 -0
- package/src/i18n/messagebundle_cs.properties +24 -0
- package/src/i18n/messagebundle_cy.properties +24 -0
- package/src/i18n/messagebundle_da.properties +24 -0
- package/src/i18n/messagebundle_de.properties +25 -1
- package/src/i18n/messagebundle_el.properties +27 -3
- package/src/i18n/messagebundle_en.properties +8 -326
- package/src/i18n/messagebundle_en_GB.properties +24 -0
- package/src/i18n/messagebundle_en_US_sappsd.properties +8 -0
- package/src/i18n/messagebundle_en_US_saprigi.properties +8 -0
- package/src/i18n/messagebundle_en_US_saptrc.properties +8 -0
- package/src/i18n/messagebundle_es.properties +24 -0
- package/src/i18n/messagebundle_es_MX.properties +34 -10
- package/src/i18n/messagebundle_et.properties +24 -0
- package/src/i18n/messagebundle_fi.properties +24 -0
- package/src/i18n/messagebundle_fr.properties +24 -0
- package/src/i18n/messagebundle_fr_CA.properties +24 -0
- package/src/i18n/messagebundle_hi.properties +24 -0
- package/src/i18n/messagebundle_hr.properties +24 -0
- package/src/i18n/messagebundle_hu.properties +24 -0
- package/src/i18n/messagebundle_id.properties +24 -0
- package/src/i18n/messagebundle_it.properties +25 -1
- package/src/i18n/messagebundle_iw.properties +24 -0
- package/src/i18n/messagebundle_ja.properties +24 -0
- package/src/i18n/messagebundle_kk.properties +24 -0
- package/src/i18n/messagebundle_ko.properties +24 -0
- package/src/i18n/messagebundle_lt.properties +24 -0
- package/src/i18n/messagebundle_lv.properties +24 -0
- package/src/i18n/messagebundle_mk.properties +26 -2
- package/src/i18n/messagebundle_ms.properties +24 -0
- package/src/i18n/messagebundle_nl.properties +24 -0
- package/src/i18n/messagebundle_no.properties +24 -0
- package/src/i18n/messagebundle_pl.properties +24 -0
- package/src/i18n/messagebundle_pt.properties +24 -0
- package/src/i18n/messagebundle_pt_PT.properties +24 -0
- package/src/i18n/messagebundle_ro.properties +24 -0
- package/src/i18n/messagebundle_ru.properties +25 -1
- package/src/i18n/messagebundle_sh.properties +24 -0
- package/src/i18n/messagebundle_sk.properties +24 -0
- package/src/i18n/messagebundle_sl.properties +24 -0
- package/src/i18n/messagebundle_sr.properties +24 -0
- package/src/i18n/messagebundle_sv.properties +24 -0
- package/src/i18n/messagebundle_th.properties +24 -0
- package/src/i18n/messagebundle_tr.properties +24 -0
- package/src/i18n/messagebundle_uk.properties +24 -0
- package/src/i18n/messagebundle_vi.properties +24 -0
- package/src/i18n/messagebundle_zh_CN.properties +24 -0
- package/src/i18n/messagebundle_zh_TW.properties +24 -0
- package/src/themes/Button.css +3 -2
- package/src/themes/Dialog.css +0 -16
- package/src/themes/Form.css +1 -1
- package/src/themes/FormItem.css +0 -1
- package/src/themes/FormItemSpan.css +2 -2
- package/src/themes/Menu.css +17 -0
- package/src/themes/MenuItem.css +9 -0
- package/src/themes/Popover.css +77 -0
- package/src/themes/PopupsCommon.css +16 -0
- package/src/themes/SegmentedButton.css +2 -2
- package/src/themes/SegmentedButtonItem.css +0 -4
- package/src/themes/TableCellBase.css +4 -0
- package/src/themes/TreeItem.css +10 -2
- package/src/themes/base/sizes-parameters.css +6 -58
- package/src/themes/sap_fiori_3/sizes-parameters.css +0 -8
- package/src/themes/sap_fiori_3_dark/sizes-parameters.css +0 -5
- package/src/themes/sap_fiori_3_hcb/sizes-parameters.css +0 -5
- package/src/themes/sap_fiori_3_hcw/sizes-parameters.css +0 -5
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
import clamp from "@ui5/webcomponents-base/dist/util/clamp.js";
|
|
2
|
+
import { PopoverActualPlacement, PopoverActualHorizontalAlign } from "./Popover.js";
|
|
3
|
+
import PopoverVerticalAlign from "./types/PopoverVerticalAlign.js";
|
|
4
|
+
var ResizeHandlePlacement;
|
|
5
|
+
(function (ResizeHandlePlacement) {
|
|
6
|
+
ResizeHandlePlacement["TopLeft"] = "TopLeft";
|
|
7
|
+
ResizeHandlePlacement["TopRight"] = "TopRight";
|
|
8
|
+
ResizeHandlePlacement["BottomLeft"] = "BottomLeft";
|
|
9
|
+
ResizeHandlePlacement["BottomRight"] = "BottomRight";
|
|
10
|
+
})(ResizeHandlePlacement || (ResizeHandlePlacement = {}));
|
|
11
|
+
/**
|
|
12
|
+
* Manages resize functionality for Popover components
|
|
13
|
+
* @private
|
|
14
|
+
*/
|
|
15
|
+
class PopoverResize {
|
|
16
|
+
constructor(popover) {
|
|
17
|
+
this._resized = false;
|
|
18
|
+
this._popover = popover;
|
|
19
|
+
this._resizeMouseMoveHandler = this._onResizeMouseMove.bind(this);
|
|
20
|
+
this._resizeMouseUpHandler = this._onResizeMouseUp.bind(this);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Resets the resize state
|
|
24
|
+
*/
|
|
25
|
+
reset() {
|
|
26
|
+
if (!this._resized) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
this._resized = false;
|
|
30
|
+
delete this._currentDeltaX;
|
|
31
|
+
delete this._currentDeltaY;
|
|
32
|
+
delete this._totalDeltaX;
|
|
33
|
+
delete this._totalDeltaY;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Returns whether the popover has been resized
|
|
37
|
+
*/
|
|
38
|
+
get isResized() {
|
|
39
|
+
return this._resized;
|
|
40
|
+
}
|
|
41
|
+
/*
|
|
42
|
+
* Gets the corrected left position considering resize deltas
|
|
43
|
+
*/
|
|
44
|
+
getCorrectedLeft(left) {
|
|
45
|
+
if (this.isResized) {
|
|
46
|
+
left -= this._currentDeltaX || 0;
|
|
47
|
+
}
|
|
48
|
+
return left;
|
|
49
|
+
}
|
|
50
|
+
/*
|
|
51
|
+
* Gets the corrected top position considering resize deltas
|
|
52
|
+
*/
|
|
53
|
+
getCorrectedTop(top) {
|
|
54
|
+
if (this.isResized) {
|
|
55
|
+
top -= this._currentDeltaY || 0;
|
|
56
|
+
}
|
|
57
|
+
return top;
|
|
58
|
+
}
|
|
59
|
+
setCorrectResizeHandleClass(allClasses) {
|
|
60
|
+
switch (this.getResizeHandlePlacement()) {
|
|
61
|
+
case ResizeHandlePlacement.BottomLeft:
|
|
62
|
+
allClasses.root["ui5-popover-resize-handle-bottom-left"] = true;
|
|
63
|
+
break;
|
|
64
|
+
case ResizeHandlePlacement.BottomRight:
|
|
65
|
+
allClasses.root["ui5-popover-resize-handle-bottom-right"] = true;
|
|
66
|
+
break;
|
|
67
|
+
case ResizeHandlePlacement.TopLeft:
|
|
68
|
+
allClasses.root["ui5-popover-resize-handle-top-left"] = true;
|
|
69
|
+
break;
|
|
70
|
+
case ResizeHandlePlacement.TopRight:
|
|
71
|
+
allClasses.root["ui5-popover-resize-handle-top-right"] = true;
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
getResizeHandlePlacement() {
|
|
76
|
+
const popover = this._popover;
|
|
77
|
+
if (this._resized && popover.resizeHandlePlacement) {
|
|
78
|
+
return popover.resizeHandlePlacement;
|
|
79
|
+
}
|
|
80
|
+
const opener = popover.getOpenerHTMLElement(popover.opener);
|
|
81
|
+
if (!opener) {
|
|
82
|
+
return undefined;
|
|
83
|
+
}
|
|
84
|
+
const offset = 2;
|
|
85
|
+
const isRtl = popover.isRtl;
|
|
86
|
+
const openerRect = opener.getBoundingClientRect();
|
|
87
|
+
const popoverWrapperRect = popover.getBoundingClientRect();
|
|
88
|
+
let openerCX = Math.floor(openerRect.x + openerRect.width / 2);
|
|
89
|
+
const openerCY = Math.floor(openerRect.y + openerRect.height / 2);
|
|
90
|
+
let popoverCX = Math.floor(popoverWrapperRect.x + popoverWrapperRect.width / 2);
|
|
91
|
+
const popoverCY = Math.floor(popoverWrapperRect.y + popoverWrapperRect.height / 2);
|
|
92
|
+
const verticalAlign = popover.verticalAlign;
|
|
93
|
+
const actualHorizontalAlign = popover._actualHorizontalAlign;
|
|
94
|
+
const isPopoverWidthBiggerThanOpener = popoverWrapperRect.width > openerRect.width;
|
|
95
|
+
const isPopoverHeightBiggerThanOpener = popoverWrapperRect.height > openerRect.height;
|
|
96
|
+
if (isRtl) {
|
|
97
|
+
openerCX = -openerCX;
|
|
98
|
+
popoverCX = -popoverCX;
|
|
99
|
+
}
|
|
100
|
+
switch (popover.getActualPlacement(openerRect)) {
|
|
101
|
+
case PopoverActualPlacement.Left:
|
|
102
|
+
if (isPopoverHeightBiggerThanOpener) {
|
|
103
|
+
if (popoverCY > openerCY + offset) {
|
|
104
|
+
return ResizeHandlePlacement.BottomLeft;
|
|
105
|
+
}
|
|
106
|
+
return ResizeHandlePlacement.TopLeft;
|
|
107
|
+
}
|
|
108
|
+
if (verticalAlign === PopoverVerticalAlign.Top) {
|
|
109
|
+
return ResizeHandlePlacement.BottomLeft;
|
|
110
|
+
}
|
|
111
|
+
return ResizeHandlePlacement.TopLeft;
|
|
112
|
+
case PopoverActualPlacement.Right:
|
|
113
|
+
if (isPopoverHeightBiggerThanOpener) {
|
|
114
|
+
if (popoverCY + offset < openerCY) {
|
|
115
|
+
return ResizeHandlePlacement.TopRight;
|
|
116
|
+
}
|
|
117
|
+
return ResizeHandlePlacement.BottomRight;
|
|
118
|
+
}
|
|
119
|
+
if (verticalAlign === PopoverVerticalAlign.Bottom) {
|
|
120
|
+
return ResizeHandlePlacement.TopRight;
|
|
121
|
+
}
|
|
122
|
+
return ResizeHandlePlacement.BottomRight;
|
|
123
|
+
case PopoverActualPlacement.Bottom:
|
|
124
|
+
if (isPopoverWidthBiggerThanOpener) {
|
|
125
|
+
if (popoverCX + offset < openerCX) {
|
|
126
|
+
return isRtl ? ResizeHandlePlacement.BottomRight : ResizeHandlePlacement.BottomLeft;
|
|
127
|
+
}
|
|
128
|
+
return isRtl ? ResizeHandlePlacement.BottomLeft : ResizeHandlePlacement.BottomRight;
|
|
129
|
+
}
|
|
130
|
+
if (isRtl) {
|
|
131
|
+
if (actualHorizontalAlign === PopoverActualHorizontalAlign.Left) {
|
|
132
|
+
return ResizeHandlePlacement.BottomRight;
|
|
133
|
+
}
|
|
134
|
+
return ResizeHandlePlacement.BottomLeft;
|
|
135
|
+
}
|
|
136
|
+
if (actualHorizontalAlign === PopoverActualHorizontalAlign.Right) {
|
|
137
|
+
return ResizeHandlePlacement.BottomLeft;
|
|
138
|
+
}
|
|
139
|
+
return ResizeHandlePlacement.BottomRight;
|
|
140
|
+
case PopoverActualPlacement.Top:
|
|
141
|
+
default:
|
|
142
|
+
if (isPopoverWidthBiggerThanOpener) {
|
|
143
|
+
if (popoverCX + offset < openerCX) {
|
|
144
|
+
return isRtl ? ResizeHandlePlacement.TopRight : ResizeHandlePlacement.TopLeft;
|
|
145
|
+
}
|
|
146
|
+
return isRtl ? ResizeHandlePlacement.TopLeft : ResizeHandlePlacement.TopRight;
|
|
147
|
+
}
|
|
148
|
+
if (isRtl) {
|
|
149
|
+
if (actualHorizontalAlign === PopoverActualHorizontalAlign.Left) {
|
|
150
|
+
return ResizeHandlePlacement.TopRight;
|
|
151
|
+
}
|
|
152
|
+
return ResizeHandlePlacement.TopLeft;
|
|
153
|
+
}
|
|
154
|
+
if (actualHorizontalAlign === PopoverActualHorizontalAlign.Right) {
|
|
155
|
+
return ResizeHandlePlacement.TopLeft;
|
|
156
|
+
}
|
|
157
|
+
return ResizeHandlePlacement.TopRight;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Handles mouse down event on resize handle
|
|
162
|
+
*/
|
|
163
|
+
onResizeMouseDown(e) {
|
|
164
|
+
if (!this._popover.resizable) {
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
e.preventDefault();
|
|
168
|
+
this._resized = true;
|
|
169
|
+
this._initialBoundingRect = this._popover.getBoundingClientRect();
|
|
170
|
+
this._totalDeltaX = this._currentDeltaX;
|
|
171
|
+
this._totalDeltaY = this._currentDeltaY;
|
|
172
|
+
const { minWidth, minHeight, } = window.getComputedStyle(this._popover);
|
|
173
|
+
const domRefComputedStyle = window.getComputedStyle(this._popover._getRealDomRef());
|
|
174
|
+
this._initialClientX = e.clientX;
|
|
175
|
+
this._initialClientY = e.clientY;
|
|
176
|
+
this._minWidth = Math.max(Number.parseFloat(minWidth), Number.parseFloat(domRefComputedStyle.minWidth));
|
|
177
|
+
this._minHeight = Number.parseFloat(minHeight);
|
|
178
|
+
this._attachMouseResizeHandlers();
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Handles mouse move event during resize
|
|
182
|
+
*/
|
|
183
|
+
_onResizeMouseMove(e) {
|
|
184
|
+
const popover = this._popover;
|
|
185
|
+
const margin = popover._viewportMargin;
|
|
186
|
+
const { clientX, clientY } = e;
|
|
187
|
+
const resizeHandlePlacement = this.getResizeHandlePlacement();
|
|
188
|
+
const initialBoundingRect = this._initialBoundingRect;
|
|
189
|
+
const deltaX = clientX - this._initialClientX;
|
|
190
|
+
const deltaY = clientY - this._initialClientY;
|
|
191
|
+
let newWidth, newHeight;
|
|
192
|
+
// Determine if we're resizing from left or right edge
|
|
193
|
+
const isResizingFromLeft = resizeHandlePlacement === ResizeHandlePlacement.TopLeft
|
|
194
|
+
|| resizeHandlePlacement === ResizeHandlePlacement.BottomLeft;
|
|
195
|
+
const isResizingFromTop = resizeHandlePlacement === ResizeHandlePlacement.TopLeft
|
|
196
|
+
|| resizeHandlePlacement === ResizeHandlePlacement.TopRight;
|
|
197
|
+
// Calculate width changes
|
|
198
|
+
if (isResizingFromLeft) {
|
|
199
|
+
// Resizing from left edge - width increases when moving left (negative delta)
|
|
200
|
+
const maxWidthFromLeft = initialBoundingRect.x + initialBoundingRect.width - margin;
|
|
201
|
+
newWidth = clamp(initialBoundingRect.width - deltaX, this._minWidth, maxWidthFromLeft);
|
|
202
|
+
// Adjust left position when resizing from left
|
|
203
|
+
// Ensure the left edge respects the viewport margin and the right edge position
|
|
204
|
+
const newLeft = clamp(initialBoundingRect.x + deltaX, margin, initialBoundingRect.x + initialBoundingRect.width - this._minWidth);
|
|
205
|
+
// Recalculate width based on actual left position to stay within viewport with margin
|
|
206
|
+
newWidth = Math.min(newWidth, initialBoundingRect.x + initialBoundingRect.width - newLeft);
|
|
207
|
+
this._currentDeltaX = (initialBoundingRect.x - newLeft) / 2;
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
// Resizing from right edge - width increases when moving right (positive delta)
|
|
211
|
+
const maxWidthFromRight = window.innerWidth - initialBoundingRect.x - margin;
|
|
212
|
+
newWidth = clamp(initialBoundingRect.width + deltaX, this._minWidth, maxWidthFromRight);
|
|
213
|
+
this._currentDeltaX = (initialBoundingRect.width - newWidth) / 2;
|
|
214
|
+
}
|
|
215
|
+
// Calculate height changes
|
|
216
|
+
if (isResizingFromTop) {
|
|
217
|
+
// Resizing from top edge - height increases when moving up (negative delta)
|
|
218
|
+
const maxHeightFromTop = initialBoundingRect.y + initialBoundingRect.height - margin;
|
|
219
|
+
newHeight = clamp(initialBoundingRect.height - deltaY, this._minHeight, maxHeightFromTop);
|
|
220
|
+
// Adjust top position when resizing from top
|
|
221
|
+
// Ensure the top edge respects the viewport margin and the bottom edge position
|
|
222
|
+
const newTop = clamp(initialBoundingRect.y + deltaY, margin, initialBoundingRect.y + initialBoundingRect.height - this._minHeight);
|
|
223
|
+
// Recalculate height based on actual top position to stay within viewport with margin
|
|
224
|
+
newHeight = Math.min(newHeight, initialBoundingRect.y + initialBoundingRect.height - newTop);
|
|
225
|
+
this._currentDeltaY = (initialBoundingRect.y - newTop) / 2;
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
// Resizing from bottom edge - height increases when moving down (positive delta)
|
|
229
|
+
const maxHeightFromBottom = window.innerHeight - initialBoundingRect.y - margin;
|
|
230
|
+
newHeight = clamp(initialBoundingRect.height + deltaY, this._minHeight, maxHeightFromBottom);
|
|
231
|
+
this._currentDeltaY = (initialBoundingRect.height - newHeight) / 2;
|
|
232
|
+
}
|
|
233
|
+
this._currentDeltaX += this._totalDeltaX || 0;
|
|
234
|
+
this._currentDeltaY += this._totalDeltaY || 0;
|
|
235
|
+
const placement = this._popover.calcPlacement(this._popover._openerRect, {
|
|
236
|
+
width: newWidth,
|
|
237
|
+
height: newHeight,
|
|
238
|
+
});
|
|
239
|
+
this._popover.arrowTranslateX = placement.arrow.x;
|
|
240
|
+
this._popover.arrowTranslateY = placement.arrow.y;
|
|
241
|
+
Object.assign(this._popover.style, {
|
|
242
|
+
left: `${placement.left}px`,
|
|
243
|
+
top: `${placement.top}px`,
|
|
244
|
+
height: `${newHeight}px`,
|
|
245
|
+
width: `${newWidth}px`,
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Handles mouse up event after resize
|
|
250
|
+
*/
|
|
251
|
+
_onResizeMouseUp() {
|
|
252
|
+
delete this._initialClientX;
|
|
253
|
+
delete this._initialClientY;
|
|
254
|
+
delete this._initialBoundingRect;
|
|
255
|
+
delete this._minWidth;
|
|
256
|
+
delete this._minHeight;
|
|
257
|
+
this._detachMouseResizeHandlers();
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Attaches mouse event handlers for resize
|
|
261
|
+
*/
|
|
262
|
+
_attachMouseResizeHandlers() {
|
|
263
|
+
window.addEventListener("mousemove", this._resizeMouseMoveHandler);
|
|
264
|
+
window.addEventListener("mouseup", this._resizeMouseUpHandler);
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Detaches mouse event handlers for resize
|
|
268
|
+
*/
|
|
269
|
+
_detachMouseResizeHandlers() {
|
|
270
|
+
window.removeEventListener("mousemove", this._resizeMouseMoveHandler);
|
|
271
|
+
window.removeEventListener("mouseup", this._resizeMouseUpHandler);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
export { ResizeHandlePlacement };
|
|
275
|
+
export default PopoverResize;
|
|
276
|
+
//# sourceMappingURL=PopoverResize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PopoverResize.js","sourceRoot":"","sources":["../src/PopoverResize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,4CAA4C,CAAC;AAG/D,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AACpF,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AAEnE,IAAK,qBAKJ;AALD,WAAK,qBAAqB;IACzB,4CAAmB,CAAA;IACnB,8CAAqB,CAAA;IACrB,kDAAyB,CAAA;IACzB,oDAA2B,CAAA;AAC5B,CAAC,EALI,qBAAqB,KAArB,qBAAqB,QAKzB;AAED;;;GAGG;AACH,MAAM,aAAa;IAsBlB,YAAY,OAAgB;QAZ5B,aAAQ,GAAG,KAAK,CAAC;QAahB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,KAAK;QACJ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO;QACR,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,OAAO,IAAI,CAAC,cAAc,CAAC;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC;QAE3B,OAAO,IAAI,CAAC,YAAY,CAAC;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,IAAY;QAC5B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,GAAW;QAC1B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,GAAG,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,2BAA2B,CAAC,UAAoB;QAC/C,QAAQ,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC;YAC1C,KAAK,qBAAqB,CAAC,UAAU;gBACpC,UAAU,CAAC,IAAI,CAAC,uCAAuC,CAAC,GAAG,IAAI,CAAC;gBAChE,MAAM;YACP,KAAK,qBAAqB,CAAC,WAAW;gBACrC,UAAU,CAAC,IAAI,CAAC,wCAAwC,CAAC,GAAG,IAAI,CAAC;gBACjE,MAAM;YACP,KAAK,qBAAqB,CAAC,OAAO;gBACjC,UAAU,CAAC,IAAI,CAAC,oCAAoC,CAAC,GAAG,IAAI,CAAC;gBAC7D,MAAM;YACP,KAAK,qBAAqB,CAAC,QAAQ;gBAClC,UAAU,CAAC,IAAI,CAAC,qCAAqC,CAAC,GAAG,IAAI,CAAC;gBAC9D,MAAM;QACP,CAAC;IACF,CAAC;IAED,wBAAwB;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE9B,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;YACpD,OAAO,OAAO,CAAC,qBAAqB,CAAC;QACtC,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE5D,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,CAAC;QACjB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE5B,MAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAClD,MAAM,kBAAkB,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAE3D,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAElE,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,kBAAkB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAChF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEnF,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC5C,MAAM,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;QAE7D,MAAM,8BAA8B,GAAG,kBAAkB,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QACnF,MAAM,+BAA+B,GAAG,kBAAkB,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAEtF,IAAI,KAAK,EAAE,CAAC;YACX,QAAQ,GAAG,CAAC,QAAQ,CAAC;YACrB,SAAS,GAAG,CAAC,SAAS,CAAC;QACxB,CAAC;QAED,QAAQ,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;YACjD,KAAK,sBAAsB,CAAC,IAAI;gBAC/B,IAAI,+BAA+B,EAAE,CAAC;oBACrC,IAAI,SAAS,GAAG,QAAQ,GAAG,MAAM,EAAE,CAAC;wBACnC,OAAO,qBAAqB,CAAC,UAAU,CAAC;oBACzC,CAAC;oBAED,OAAO,qBAAqB,CAAC,OAAO,CAAC;gBACtC,CAAC;gBAED,IAAI,aAAa,KAAK,oBAAoB,CAAC,GAAG,EAAE,CAAC;oBAChD,OAAO,qBAAqB,CAAC,UAAU,CAAC;gBACzC,CAAC;gBAED,OAAO,qBAAqB,CAAC,OAAO,CAAC;YACtC,KAAK,sBAAsB,CAAC,KAAK;gBAChC,IAAI,+BAA+B,EAAE,CAAC;oBACrC,IAAI,SAAS,GAAG,MAAM,GAAG,QAAQ,EAAE,CAAC;wBACnC,OAAO,qBAAqB,CAAC,QAAQ,CAAC;oBACvC,CAAC;oBAED,OAAO,qBAAqB,CAAC,WAAW,CAAC;gBAC1C,CAAC;gBAED,IAAI,aAAa,KAAK,oBAAoB,CAAC,MAAM,EAAE,CAAC;oBACnD,OAAO,qBAAqB,CAAC,QAAQ,CAAC;gBACvC,CAAC;gBAED,OAAO,qBAAqB,CAAC,WAAW,CAAC;YAC1C,KAAK,sBAAsB,CAAC,MAAM;gBACjC,IAAI,8BAA8B,EAAE,CAAC;oBACpC,IAAI,SAAS,GAAG,MAAM,GAAG,QAAQ,EAAE,CAAC;wBACnC,OAAO,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC;oBACrF,CAAC;oBAED,OAAO,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC;gBACrF,CAAC;gBAED,IAAI,KAAK,EAAE,CAAC;oBACX,IAAI,qBAAqB,KAAK,4BAA4B,CAAC,IAAI,EAAE,CAAC;wBACjE,OAAO,qBAAqB,CAAC,WAAW,CAAC;oBAC1C,CAAC;oBAED,OAAO,qBAAqB,CAAC,UAAU,CAAC;gBACzC,CAAC;gBAED,IAAI,qBAAqB,KAAK,4BAA4B,CAAC,KAAK,EAAE,CAAC;oBAClE,OAAO,qBAAqB,CAAC,UAAU,CAAC;gBACzC,CAAC;gBAED,OAAO,qBAAqB,CAAC,WAAW,CAAC;YAC1C,KAAK,sBAAsB,CAAC,GAAG,CAAC;YAChC;gBACC,IAAI,8BAA8B,EAAE,CAAC;oBACpC,IAAI,SAAS,GAAG,MAAM,GAAG,QAAQ,EAAE,CAAC;wBACnC,OAAO,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC;oBAC/E,CAAC;oBAED,OAAO,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC;gBAC/E,CAAC;gBAED,IAAI,KAAK,EAAE,CAAC;oBACX,IAAI,qBAAqB,KAAK,4BAA4B,CAAC,IAAI,EAAE,CAAC;wBACjE,OAAO,qBAAqB,CAAC,QAAQ,CAAC;oBACvC,CAAC;oBAED,OAAO,qBAAqB,CAAC,OAAO,CAAC;gBACtC,CAAC;gBAED,IAAI,qBAAqB,KAAK,4BAA4B,CAAC,KAAK,EAAE,CAAC;oBAClE,OAAO,qBAAqB,CAAC,OAAO,CAAC;gBACtC,CAAC;gBAED,OAAO,qBAAqB,CAAC,QAAQ,CAAC;QACvC,CAAC;IACF,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,CAAa;QAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QAED,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC;QAElE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC;QAExC,MAAM,EACL,QAAQ,EACR,SAAS,GACT,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE3C,MAAM,mBAAmB,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAe,EAAE,CAAC,CAAC;QAErF,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC;QAEjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAE/C,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,CAAa;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;QACvC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/B,MAAM,qBAAqB,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC9D,MAAM,mBAAmB,GAAG,IAAI,CAAC,oBAAqB,CAAC;QACvD,MAAM,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,eAAgB,CAAC;QAC/C,MAAM,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,eAAgB,CAAC;QAE/C,IAAI,QAAQ,EACX,SAAS,CAAC;QAEX,sDAAsD;QACtD,MAAM,kBAAkB,GAAG,qBAAqB,KAAK,qBAAqB,CAAC,OAAO;eAC9E,qBAAqB,KAAK,qBAAqB,CAAC,UAAU,CAAC;QAE/D,MAAM,iBAAiB,GAAG,qBAAqB,KAAK,qBAAqB,CAAC,OAAO;eAC7E,qBAAqB,KAAK,qBAAqB,CAAC,QAAQ,CAAC;QAE7D,0BAA0B;QAC1B,IAAI,kBAAkB,EAAE,CAAC;YACxB,8EAA8E;YAC9E,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAAC,KAAK,GAAG,MAAM,CAAC;YAEpF,QAAQ,GAAG,KAAK,CACf,mBAAmB,CAAC,KAAK,GAAG,MAAM,EAClC,IAAI,CAAC,SAAU,EACf,gBAAgB,CAChB,CAAC;YAEF,+CAA+C;YAC/C,gFAAgF;YAChF,MAAM,OAAO,GAAG,KAAK,CACpB,mBAAmB,CAAC,CAAC,GAAG,MAAM,EAC9B,MAAM,EACN,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAAC,KAAK,GAAG,IAAI,CAAC,SAAU,CACnE,CAAC;YAEF,sFAAsF;YACtF,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC;YAE3F,IAAI,CAAC,cAAc,GAAG,CAAC,mBAAmB,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACP,gFAAgF;YAChF,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,GAAG,mBAAmB,CAAC,CAAC,GAAG,MAAM,CAAC;YAE7E,QAAQ,GAAG,KAAK,CACf,mBAAmB,CAAC,KAAK,GAAG,MAAM,EAClC,IAAI,CAAC,SAAU,EACf,iBAAiB,CACjB,CAAC;YAEF,IAAI,CAAC,cAAc,GAAG,CAAC,mBAAmB,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClE,CAAC;QAED,2BAA2B;QAC3B,IAAI,iBAAiB,EAAE,CAAC;YACvB,4EAA4E;YAC5E,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAAC,MAAM,GAAG,MAAM,CAAC;YAErF,SAAS,GAAG,KAAK,CAChB,mBAAmB,CAAC,MAAM,GAAG,MAAM,EACnC,IAAI,CAAC,UAAW,EAChB,gBAAgB,CAChB,CAAC;YAEF,6CAA6C;YAC7C,gFAAgF;YAChF,MAAM,MAAM,GAAG,KAAK,CACnB,mBAAmB,CAAC,CAAC,GAAG,MAAM,EAC9B,MAAM,EACN,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAAC,MAAM,GAAG,IAAI,CAAC,UAAW,CACrE,CAAC;YAEF,sFAAsF;YACtF,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;YAE7F,IAAI,CAAC,cAAc,GAAG,CAAC,mBAAmB,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACP,iFAAiF;YACjF,MAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,GAAG,mBAAmB,CAAC,CAAC,GAAG,MAAM,CAAC;YAEhF,SAAS,GAAG,KAAK,CAChB,mBAAmB,CAAC,MAAM,GAAG,MAAM,EACnC,IAAI,CAAC,UAAW,EAChB,mBAAmB,CACnB,CAAC;YAEF,IAAI,CAAC,cAAc,GAAG,CAAC,mBAAmB,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QAE9C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAY,EAAE;YACzE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,SAAS;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAElD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;YAClC,IAAI,EAAE,GAAG,SAAS,CAAC,IAAI,IAAI;YAC3B,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI;YACzB,MAAM,EAAE,GAAG,SAAS,IAAI;YACxB,KAAK,EAAE,GAAG,QAAQ,IAAI;SACtB,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,gBAAgB;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;QAC5B,OAAO,IAAI,CAAC,eAAe,CAAC;QAC5B,OAAO,IAAI,CAAC,oBAAoB,CAAC;QACjC,OAAO,IAAI,CAAC,SAAS,CAAC;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC;QAEvB,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,0BAA0B;QACjC,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACnE,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACK,0BAA0B;QACjC,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACtE,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACnE,CAAC;CACD;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAEjC,eAAe,aAAa,CAAC","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_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} = window.getComputedStyle(this._popover);\n\n\t\tconst domRefComputedStyle = window.getComputedStyle(this._popover._getRealDomRef!());\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\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 = initialBoundingRect.x + initialBoundingRect.width - margin;\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 = window.innerWidth - initialBoundingRect.x - margin;\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 = initialBoundingRect.y + initialBoundingRect.height - margin;\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 = window.innerHeight - initialBoundingRect.y - margin;\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\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"]}
|
package/dist/PopoverTemplate.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
|
|
2
|
+
import Icon from "./Icon.js";
|
|
3
|
+
import resizeCorner from "@ui5/webcomponents-icons/dist/resize-corner.js";
|
|
2
4
|
import PopupTemplate from "./PopupTemplate.js";
|
|
3
5
|
import Title from "./Title.js";
|
|
4
6
|
export default function PopoverTemplate() {
|
|
@@ -15,7 +17,8 @@ function beforeContent() {
|
|
|
15
17
|
_jsx(Title, { level: "H1", class: "ui5-popup-header-text", children: this.headerText }) })] }));
|
|
16
18
|
}
|
|
17
19
|
function afterContent() {
|
|
18
|
-
return (
|
|
19
|
-
|
|
20
|
+
return (_jsxs(_Fragment, { children: [this._displayFooter && !!this.footer.length &&
|
|
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 }) })] }));
|
|
20
23
|
}
|
|
21
24
|
//# sourceMappingURL=PopoverTemplate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopoverTemplate.js","sourceRoot":"","sources":["../src/PopoverTemplate.tsx"],"names":[],"mappings":";
|
|
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,YAErC,KAAC,IAAI,IAAC,IAAI,EAAE,YAAY,GAAI,GACvB,IAEL,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>\n\t\t\t\t<Icon name={resizeCorner} />\n\t\t\t</div>\n\t\t}\n\t</>);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentedButtonItem.js","sourceRoot":"","sources":["../src/SegmentedButtonItem.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { getEnableDefaultTooltips } from \"@ui5/webcomponents-base/dist/config/Tooltips.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { isSpaceShift } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport {\n\tgetEffectiveAriaLabelText,\n\tgetAssociatedLabelForTexts,\n\tgetEffectiveAriaDescriptionText,\n} from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport { SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION } from \"./generated/i18n/i18n-defaults.js\";\nimport type { ISegmentedButtonItem } from \"./SegmentedButton.js\";\nimport SegmentedButtonItemTemplate from \"./SegmentedButtonItemTemplate.js\";\n\nimport type { IButton } from \"./Button.js\";\nimport segmentedButtonItemCss from \"./generated/themes/SegmentedButtonItem.css.js\";\n/**\n * @class\n *\n * ### Overview\n *\n * Users can use the `ui5-segmented-button-item` as part of a `ui5-segmented-button`.\n *\n * Clicking or tapping on a `ui5-segmented-button-item` changes its state to `selected`.\n * The item returns to its initial state when the user clicks or taps on it again.\n * By applying additional custom CSS-styling classes, apps can give a different style to any\n * `ui5-segmented-button-item`.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/SegmentedButtonItem.js\";`\n * @constructor\n * @extends UI5Element\n * @implements { ISegmentedButtonItem }\n * @implements { IButton }\n * @public\n */\n@customElement({\n\ttag: \"ui5-segmented-button-item\",\n\trenderer: jsxRenderer,\n\ttemplate: SegmentedButtonItemTemplate,\n\tstyles: segmentedButtonItemCss,\n})\nclass SegmentedButtonItem extends UI5Element implements IButton, ISegmentedButtonItem {\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be selected or\n\t * focused, and it is not in the tab chain.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Determines whether the component is displayed as selected.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected = false;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t *\n\t * **Note:** A tooltip attribute should be provided for icon-only buttons, in order to represent their exact meaning/function.\n\t * @default undefined\n\t * @public\n\t * @since 1.2.0\n\t */\n\t@property()\n\ttooltip?: string;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the 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 * Defines the accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.15.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Defines the IDs of the HTML Elements that describe the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.15.0\n\t */\n\t@property()\n\taccessibleDescriptionRef?: string;\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * Example:\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines if the button has icon and no text.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\ticonOnly = false;\n\n\t/**\n\t * Indicates if the element is focusable\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tnonInteractive = false;\n\n\t/**\n\t * Defines the tabIndex of the component.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\tforcedTabIndex?: string;\n\n\t/**\n\t * Defines the index of the item inside of the SegmentedButton.\n\t * @default 0\n\t * @private\n\t */\n\t@property({ type: Number })\n\tposInSet? = 0;\n\n\t/**\n\t * Defines how many items are inside of the SegmentedButton.\n\t * @default 0\n\t * @private\n\t */\n\t@property({ type: Number })\n\tsizeOfSet? = 0;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\thidden = false;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\ttext!: Array<Node>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget ariaDescription() {\n\t\treturn SegmentedButtonItem.i18nBundle.getText(SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION);\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tif (this.disabled) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tthis.selected = !this.selected;\n\t}\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\tonBeforeRendering(): void {\n\t\tthis.iconOnly = !willShowContent(this.text);\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpaceShift(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\tget tabIndexValue() {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tabindex = this.getAttribute(\"tabindex\");\n\n\t\tif (tabindex) {\n\t\t\treturn tabindex;\n\t\t}\n\n\t\treturn this.forcedTabIndex;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this) || getAssociatedLabelForTexts(this) || undefined;\n\t}\n\n\tget ariaDescriptionText() {\n\t\treturn getEffectiveAriaDescriptionText(this) || undefined;\n\t}\n\n\tget showIconTooltip() {\n\t\treturn getEnableDefaultTooltips() && this.iconOnly && !this.tooltip;\n\t}\n\n\tget slotTextContent(): string {\n\t\treturn this.text\n\t\t\t.filter(node => node.nodeType === Node.TEXT_NODE)\n\t\t\t.map(node => node.textContent?.trim() || \"\")\n\t\t\t.filter(Boolean)\n\t\t\t.join(\" \");\n\t}\n}\n\nSegmentedButtonItem.define();\n\nexport default SegmentedButtonItem;\n"]}
|
|
1
|
+
{"version":3,"file":"SegmentedButtonItem.js","sourceRoot":"","sources":["../src/SegmentedButtonItem.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { getEnableDefaultTooltips } from \"@ui5/webcomponents-base/dist/config/Tooltips.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { isSpaceShift } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport {\n\tgetEffectiveAriaLabelText,\n\tgetAssociatedLabelForTexts,\n\tgetEffectiveAriaDescriptionText,\n} from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport { SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION } from \"./generated/i18n/i18n-defaults.js\";\nimport type { ISegmentedButtonItem } from \"./SegmentedButton.js\";\nimport SegmentedButtonItemTemplate from \"./SegmentedButtonItemTemplate.js\";\n\nimport type { IButton } from \"./Button.js\";\nimport segmentedButtonItemCss from \"./generated/themes/SegmentedButtonItem.css.js\";\n/**\n * @class\n *\n * ### Overview\n *\n * Users can use the `ui5-segmented-button-item` as part of a `ui5-segmented-button`.\n *\n * Clicking or tapping on a `ui5-segmented-button-item` changes its state to `selected`.\n * The item returns to its initial state when the user clicks or taps on it again.\n * By applying additional custom CSS-styling classes, apps can give a different style to any\n * `ui5-segmented-button-item`.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/SegmentedButtonItem.js\";`\n * @constructor\n * @extends UI5Element\n * @implements { ISegmentedButtonItem }\n * @implements { IButton }\n * @public\n */\n@customElement({\n\ttag: \"ui5-segmented-button-item\",\n\trenderer: jsxRenderer,\n\ttemplate: SegmentedButtonItemTemplate,\n\tstyles: segmentedButtonItemCss,\n})\nclass SegmentedButtonItem extends UI5Element implements IButton, ISegmentedButtonItem {\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be selected or\n\t * focused, and it is not in the tab chain.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Determines whether the component is displayed as selected.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected = false;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t *\n\t * **Note:** A tooltip attribute should be provided for icon-only buttons, in order to represent their exact meaning/function.\n\t * @default undefined\n\t * @public\n\t * @since 1.2.0\n\t */\n\t@property()\n\ttooltip?: string;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the 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 * Defines the accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.15.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Defines the IDs of the HTML Elements that describe the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.15.0\n\t */\n\t@property()\n\taccessibleDescriptionRef?: string;\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * Example:\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines if the button has icon and no text.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\ticonOnly = false;\n\n\t/**\n\t * Indicates if the element is focusable\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tnonInteractive = false;\n\n\t/**\n\t * Defines the tabIndex of the component.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\tforcedTabIndex?: string;\n\n\t/**\n\t * Defines the index of the item inside of the SegmentedButton.\n\t * @default 0\n\t * @private\n\t */\n\t@property({ type: Number })\n\tposInSet? = 0;\n\n\t/**\n\t * Defines how many items are inside of the SegmentedButton.\n\t * @default 0\n\t * @private\n\t */\n\t@property({ type: Number })\n\tsizeOfSet? = 0;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\thidden = false;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\ttext!: Array<Node>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget ariaDescription() {\n\t\treturn SegmentedButtonItem.i18nBundle.getText(SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION);\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tif (this.disabled) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.selected = !this.selected;\n\t}\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\tonBeforeRendering(): void {\n\t\tthis.iconOnly = !willShowContent(this.text);\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpaceShift(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\tget tabIndexValue() {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tabindex = this.getAttribute(\"tabindex\");\n\n\t\tif (tabindex) {\n\t\t\treturn tabindex;\n\t\t}\n\n\t\treturn this.forcedTabIndex;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this) || getAssociatedLabelForTexts(this) || undefined;\n\t}\n\n\tget ariaDescriptionText() {\n\t\treturn getEffectiveAriaDescriptionText(this) || undefined;\n\t}\n\n\tget showIconTooltip() {\n\t\treturn getEnableDefaultTooltips() && this.iconOnly && !this.tooltip;\n\t}\n\n\tget slotTextContent(): string {\n\t\treturn this.text\n\t\t\t.filter(node => node.nodeType === Node.TEXT_NODE)\n\t\t\t.map(node => node.textContent?.trim() || \"\")\n\t\t\t.filter(Boolean)\n\t\t\t.join(\" \");\n\t}\n}\n\nSegmentedButtonItem.define();\n\nexport default SegmentedButtonItem;\n"]}
|
package/dist/StepInput.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import "@ui5/webcomponents-icons/dist/add.js";
|
|
|
8
8
|
import type Input from "./Input.js";
|
|
9
9
|
import type { InputAccInfo, InputEventDetail } from "./Input.js";
|
|
10
10
|
import InputType from "./types/InputType.js";
|
|
11
|
+
import NumberFormat from "@ui5/webcomponents-localization/dist/NumberFormat.js";
|
|
11
12
|
type StepInputValueStateChangeEventDetail = {
|
|
12
13
|
valueState: `${ValueState}`;
|
|
13
14
|
valid: boolean;
|
|
@@ -166,6 +167,7 @@ declare class StepInput extends UI5Element implements IFormInputElement {
|
|
|
166
167
|
*/
|
|
167
168
|
valueStateMessage: Array<HTMLElement>;
|
|
168
169
|
_initialValueState?: `${ValueState}`;
|
|
170
|
+
_formatter?: NumberFormat;
|
|
169
171
|
static i18nBundle: I18nBundle;
|
|
170
172
|
formElementAnchor(): Promise<HTMLElement | undefined>;
|
|
171
173
|
get formValidityMessage(): string;
|
|
@@ -185,6 +187,7 @@ declare class StepInput extends UI5Element implements IFormInputElement {
|
|
|
185
187
|
step: number;
|
|
186
188
|
};
|
|
187
189
|
onBeforeRendering(): void;
|
|
190
|
+
get formatter(): NumberFormat;
|
|
188
191
|
get input(): Input;
|
|
189
192
|
get innerInput(): HTMLInputElement;
|
|
190
193
|
get inputOuter(): Element;
|
|
@@ -192,6 +195,7 @@ declare class StepInput extends UI5Element implements IFormInputElement {
|
|
|
192
195
|
_onInput(e: CustomEvent<InputEventDetail>): void;
|
|
193
196
|
_onInputFocusIn(): void;
|
|
194
197
|
_onInputFocusOut(): void;
|
|
198
|
+
_onMouseWheel(e: WheelEvent): void;
|
|
195
199
|
_setButtonState(): void;
|
|
196
200
|
_validate(): void;
|
|
197
201
|
_updateValueState(): void;
|
|
@@ -205,6 +209,16 @@ declare class StepInput extends UI5Element implements IFormInputElement {
|
|
|
205
209
|
* @param fireChangeEvent if `true`, fires `change` event when the value is changed
|
|
206
210
|
*/
|
|
207
211
|
_modifyValue(modifier: number, fireChangeEvent?: boolean): void;
|
|
212
|
+
/**
|
|
213
|
+
* Formats a number with thousands separator based on current locale
|
|
214
|
+
* @private
|
|
215
|
+
*/
|
|
216
|
+
_formatNumber(value: number): string;
|
|
217
|
+
/**
|
|
218
|
+
* Parses formatted number string back to numeric value
|
|
219
|
+
* @private
|
|
220
|
+
*/
|
|
221
|
+
_parseNumber(formattedValue: string): number;
|
|
208
222
|
_incValue(): void;
|
|
209
223
|
_decValue(): void;
|
|
210
224
|
get _isValueWithCorrectPrecision(): boolean;
|
|
@@ -215,6 +229,9 @@ declare class StepInput extends UI5Element implements IFormInputElement {
|
|
|
215
229
|
_onfocusin(): void;
|
|
216
230
|
_onfocusout(): void;
|
|
217
231
|
_onkeydown(e: KeyboardEvent): void;
|
|
232
|
+
_getCaretPosition(): number | null;
|
|
233
|
+
_getValueOnkeyDown(e: KeyboardEvent, inputValue: string, cursorPosition?: number): string;
|
|
234
|
+
_isInputValueValid(typedValue: string, parsedValue: number): boolean;
|
|
218
235
|
_decSpin(): void;
|
|
219
236
|
_incSpin(): void;
|
|
220
237
|
/**
|