@ui5/webcomponents 2.5.0-rc.0 → 2.5.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 +37 -0
- package/cypress/specs/Form.cy.ts +288 -23
- package/cypress/specs/Input.cy.ts +32 -0
- package/cypress/specs/Toolbar.cy.ts +26 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/ComboBox.js +6 -3
- package/dist/ComboBox.js.map +1 -1
- package/dist/Dialog.d.ts +4 -5
- package/dist/Dialog.js +4 -5
- package/dist/Dialog.js.map +1 -1
- package/dist/Form.d.ts +74 -3
- package/dist/Form.js +163 -7
- package/dist/Form.js.map +1 -1
- package/dist/FormGroup.d.ts +0 -1
- package/dist/FormGroup.js +0 -5
- package/dist/FormGroup.js.map +1 -1
- package/dist/FormItem.d.ts +0 -4
- package/dist/FormItem.js +0 -7
- package/dist/FormItem.js.map +1 -1
- package/dist/Input.js +6 -2
- package/dist/Input.js.map +1 -1
- package/dist/List.d.ts +3 -0
- package/dist/List.js +34 -2
- package/dist/List.js.map +1 -1
- package/dist/RadioButton.d.ts +5 -2
- package/dist/RadioButton.js +6 -3
- package/dist/RadioButton.js.map +1 -1
- package/dist/RadioButtonGroup.d.ts +2 -2
- package/dist/RadioButtonGroup.js +56 -34
- package/dist/RadioButtonGroup.js.map +1 -1
- package/dist/SliderBase.js +2 -2
- package/dist/SliderBase.js.map +1 -1
- package/dist/ToolbarSpacer.js +2 -2
- package/dist/ToolbarSpacer.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/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/DateTimePickerPopover.css +1 -1
- package/dist/css/themes/DayPicker.css +1 -1
- package/dist/css/themes/Dialog.css +1 -1
- package/dist/css/themes/FileUploader.css +1 -1
- package/dist/css/themes/Form.css +1 -1
- package/dist/css/themes/FormItem.css +1 -1
- package/dist/css/themes/FormItemSpan.css +1 -0
- 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/NavigationMenu.css +1 -1
- package/dist/css/themes/NavigationMenuItem.css +1 -1
- package/dist/css/themes/OptionBase.css +1 -1
- package/dist/css/themes/Panel.css +1 -1
- package/dist/css/themes/Popover.css +1 -1
- package/dist/css/themes/PopupsCommon.css +1 -1
- package/dist/css/themes/ProgressIndicator.css +1 -1
- package/dist/css/themes/RadioButton.css +1 -1
- package/dist/css/themes/RangeSlider.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/ResponsivePopover.css +1 -1
- package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
- package/dist/css/themes/SegmentedButton.css +1 -1
- package/dist/css/themes/SegmentedButtonItem.css +1 -1
- package/dist/css/themes/Select.css +1 -1
- package/dist/css/themes/SliderBase.css +1 -1
- package/dist/css/themes/SplitButton.css +1 -1
- package/dist/css/themes/StepInput.css +1 -1
- package/dist/css/themes/SuggestionItem.css +1 -1
- package/dist/css/themes/SuggestionItemCustom.css +1 -1
- package/dist/css/themes/Switch.css +1 -1
- package/dist/css/themes/TabContainer.css +1 -1
- package/dist/css/themes/TabInOverflow.css +1 -1
- package/dist/css/themes/TabInStrip.css +1 -1
- package/dist/css/themes/TabSemanticIcon.css +1 -1
- package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
- package/dist/css/themes/Table.css +1 -1
- package/dist/css/themes/TableCellBase.css +1 -1
- package/dist/css/themes/TableHeaderRow.css +1 -1
- package/dist/css/themes/TableRow.css +1 -1
- package/dist/css/themes/TableRowBase.css +1 -1
- package/dist/css/themes/Tag.css +1 -1
- package/dist/css/themes/Text.css +1 -1
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/css/themes/TimePicker.css +1 -1
- package/dist/css/themes/Toast.css +1 -1
- package/dist/css/themes/ToggleButton.css +1 -1
- package/dist/css/themes/Token.css +1 -1
- package/dist/css/themes/Tokenizer.css +1 -1
- package/dist/css/themes/TokenizerPopover.css +1 -1
- package/dist/css/themes/Toolbar.css +1 -1
- package/dist/css/themes/ToolbarPopover.css +1 -1
- package/dist/css/themes/TreeItem.css +1 -1
- package/dist/css/themes/ValueStateMessage.css +1 -1
- package/dist/css/themes/YearPicker.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +30 -10
- package/dist/custom-elements.json +29 -10
- package/dist/generated/assets/i18n/messagebundle_en.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/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/templates/RadioButtonTemplate.lit.js +1 -1
- package/dist/generated/templates/RadioButtonTemplate.lit.js.map +1 -1
- package/dist/generated/themes/Avatar.css.js +1 -1
- package/dist/generated/themes/Avatar.css.js.map +1 -1
- package/dist/generated/themes/AvatarGroup.css.js +1 -1
- package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
- package/dist/generated/themes/Bar.css.js +1 -1
- package/dist/generated/themes/Bar.css.js.map +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
- package/dist/generated/themes/BusyIndicator.css.js +1 -1
- package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/Calendar.css.js +1 -1
- package/dist/generated/themes/Calendar.css.js.map +1 -1
- package/dist/generated/themes/CalendarHeader.css.js +1 -1
- package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
- package/dist/generated/themes/CalendarLegend.css.js +1 -1
- package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
- package/dist/generated/themes/Card.css.js +1 -1
- package/dist/generated/themes/Card.css.js.map +1 -1
- package/dist/generated/themes/CardHeader.css.js +1 -1
- package/dist/generated/themes/CardHeader.css.js.map +1 -1
- package/dist/generated/themes/Carousel.css.js +1 -1
- package/dist/generated/themes/Carousel.css.js.map +1 -1
- package/dist/generated/themes/CheckBox.css.js +1 -1
- package/dist/generated/themes/CheckBox.css.js.map +1 -1
- package/dist/generated/themes/ColorPalette.css.js +1 -1
- package/dist/generated/themes/ColorPalette.css.js.map +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
- package/dist/generated/themes/ColorPicker.css.js +1 -1
- package/dist/generated/themes/ColorPicker.css.js.map +1 -1
- package/dist/generated/themes/ComboBox.css.js +1 -1
- package/dist/generated/themes/ComboBox.css.js.map +1 -1
- package/dist/generated/themes/ComboBoxItem.css.js +1 -1
- package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
- package/dist/generated/themes/DatePicker.css.js +1 -1
- package/dist/generated/themes/DatePicker.css.js.map +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/DayPicker.css.js +1 -1
- package/dist/generated/themes/DayPicker.css.js.map +1 -1
- package/dist/generated/themes/Dialog.css.js +1 -1
- package/dist/generated/themes/Dialog.css.js.map +1 -1
- package/dist/generated/themes/FileUploader.css.js +1 -1
- package/dist/generated/themes/FileUploader.css.js.map +1 -1
- package/dist/generated/themes/Form.css.js +1 -1
- package/dist/generated/themes/Form.css.js.map +1 -1
- package/dist/generated/themes/FormItem.css.js +1 -1
- package/dist/generated/themes/FormItem.css.js.map +1 -1
- package/dist/generated/themes/FormItemSpan.css.js +9 -0
- package/dist/generated/themes/FormItemSpan.css.js.map +1 -0
- package/dist/generated/themes/GrowingButton.css.js +1 -1
- package/dist/generated/themes/GrowingButton.css.js.map +1 -1
- package/dist/generated/themes/Icon.css.js +1 -1
- package/dist/generated/themes/Icon.css.js.map +1 -1
- package/dist/generated/themes/Input.css.js +1 -1
- package/dist/generated/themes/Input.css.js.map +1 -1
- package/dist/generated/themes/InputIcon.css.js +1 -1
- package/dist/generated/themes/InputIcon.css.js.map +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
- package/dist/generated/themes/Link.css.js +1 -1
- package/dist/generated/themes/Link.css.js.map +1 -1
- package/dist/generated/themes/List.css.js +1 -1
- package/dist/generated/themes/List.css.js.map +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/ListItemBase.css.js +1 -1
- package/dist/generated/themes/ListItemBase.css.js.map +1 -1
- package/dist/generated/themes/ListItemCustom.css.js +1 -1
- package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
- package/dist/generated/themes/ListItemGroup.css.js +1 -1
- package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
- package/dist/generated/themes/ListItemIcon.css.js +1 -1
- package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
- package/dist/generated/themes/Menu.css.js +1 -1
- package/dist/generated/themes/Menu.css.js.map +1 -1
- package/dist/generated/themes/MenuItem.css.js +1 -1
- package/dist/generated/themes/MenuItem.css.js.map +1 -1
- package/dist/generated/themes/MessageStrip.css.js +1 -1
- package/dist/generated/themes/MessageStrip.css.js.map +1 -1
- package/dist/generated/themes/MonthPicker.css.js +1 -1
- package/dist/generated/themes/MonthPicker.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBox.css.js +1 -1
- package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
- package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
- package/dist/generated/themes/MultiInput.css.js +1 -1
- package/dist/generated/themes/MultiInput.css.js.map +1 -1
- package/dist/generated/themes/NavigationMenu.css.js +1 -1
- package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
- package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
- package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
- package/dist/generated/themes/OptionBase.css.js +1 -1
- package/dist/generated/themes/OptionBase.css.js.map +1 -1
- package/dist/generated/themes/Panel.css.js +1 -1
- package/dist/generated/themes/Panel.css.js.map +1 -1
- package/dist/generated/themes/Popover.css.js +1 -1
- package/dist/generated/themes/Popover.css.js.map +1 -1
- package/dist/generated/themes/PopupsCommon.css.js +1 -1
- package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
- package/dist/generated/themes/RadioButton.css.js +1 -1
- package/dist/generated/themes/RadioButton.css.js.map +1 -1
- package/dist/generated/themes/RangeSlider.css.js +1 -1
- package/dist/generated/themes/RangeSlider.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButton.css.js +1 -1
- package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
- package/dist/generated/themes/Select.css.js +1 -1
- package/dist/generated/themes/Select.css.js.map +1 -1
- package/dist/generated/themes/SliderBase.css.js +1 -1
- package/dist/generated/themes/SliderBase.css.js.map +1 -1
- package/dist/generated/themes/SplitButton.css.js +1 -1
- package/dist/generated/themes/SplitButton.css.js.map +1 -1
- package/dist/generated/themes/StepInput.css.js +1 -1
- package/dist/generated/themes/StepInput.css.js.map +1 -1
- package/dist/generated/themes/SuggestionItem.css.js +1 -1
- package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
- package/dist/generated/themes/Switch.css.js +1 -1
- package/dist/generated/themes/Switch.css.js.map +1 -1
- package/dist/generated/themes/TabContainer.css.js +1 -1
- package/dist/generated/themes/TabContainer.css.js.map +1 -1
- package/dist/generated/themes/TabInOverflow.css.js +1 -1
- package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
- package/dist/generated/themes/TabInStrip.css.js +1 -1
- package/dist/generated/themes/TabInStrip.css.js.map +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
- package/dist/generated/themes/Table.css.js +1 -1
- package/dist/generated/themes/Table.css.js.map +1 -1
- package/dist/generated/themes/TableCellBase.css.js +1 -1
- package/dist/generated/themes/TableCellBase.css.js.map +1 -1
- package/dist/generated/themes/TableHeaderRow.css.js +1 -1
- package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
- package/dist/generated/themes/TableRow.css.js +1 -1
- package/dist/generated/themes/TableRow.css.js.map +1 -1
- package/dist/generated/themes/TableRowBase.css.js +1 -1
- package/dist/generated/themes/TableRowBase.css.js.map +1 -1
- package/dist/generated/themes/Tag.css.js +1 -1
- package/dist/generated/themes/Tag.css.js.map +1 -1
- package/dist/generated/themes/Text.css.js +1 -1
- package/dist/generated/themes/Text.css.js.map +1 -1
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js.map +1 -1
- package/dist/generated/themes/TimePicker.css.js +1 -1
- package/dist/generated/themes/TimePicker.css.js.map +1 -1
- package/dist/generated/themes/Toast.css.js +1 -1
- package/dist/generated/themes/Toast.css.js.map +1 -1
- package/dist/generated/themes/ToggleButton.css.js +1 -1
- package/dist/generated/themes/ToggleButton.css.js.map +1 -1
- package/dist/generated/themes/Token.css.js +1 -1
- package/dist/generated/themes/Token.css.js.map +1 -1
- package/dist/generated/themes/Tokenizer.css.js +1 -1
- package/dist/generated/themes/Tokenizer.css.js.map +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
- package/dist/generated/themes/Toolbar.css.js +1 -1
- package/dist/generated/themes/Toolbar.css.js.map +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
- package/dist/generated/themes/TreeItem.css.js +1 -1
- package/dist/generated/themes/TreeItem.css.js.map +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
- package/dist/generated/themes/YearPicker.css.js +1 -1
- package/dist/generated/themes/YearPicker.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
- package/dist/vscode.html-custom-data.json +11 -6
- package/dist/web-types.json +21 -11
- package/package.json +10 -10
- package/src/RadioButton.hbs +1 -1
- package/src/i18n/messagebundle_en.properties +2 -0
- package/src/i18n/messagebundle_en_US_sappsd.properties +2 -0
- package/src/i18n/messagebundle_en_US_saprigi.properties +2 -0
- package/src/i18n/messagebundle_en_US_saptrc.properties +2 -0
- package/src/themes/Dialog.css +1 -0
- package/src/themes/Form.css +1 -1
- package/src/themes/FormItem.css +31 -1
- package/src/themes/FormItemSpan.css +59 -0
- package/src/themes/TabContainer.css +1 -1
- package/src/themes/Tokenizer.css +17 -18
- package/src/themes/base/Form-parameters.css +1 -13
- package/src/themes/base/Tokenizer-parameters.css +2 -0
- package/dist/css/themes/FormLabelSpan.css +0 -1
- package/dist/generated/themes/FormLabelSpan.css.js +0 -9
- package/dist/generated/themes/FormLabelSpan.css.js.map +0 -1
- package/src/themes/FormLabelSpan.css +0 -267
- /package/dist/generated/themes/{FormLabelSpan.css.d.ts → FormItemSpan.css.d.ts} +0 -0
package/dist/Dialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../src/Dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport {\n\tisUp, isDown, isLeft, isRight,\n\tisUpShift, isDownShift, isLeftShift, isRightShift,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Popup from \"./Popup.js\";\nimport type { PopupBeforeCloseEventDetail as DialogBeforeCloseEventDetail } from \"./Popup.js\";\nimport Icon from \"./Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/resize-corner.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\n\nimport {\n\tDIALOG_HEADER_ARIA_ROLE_DESCRIPTION,\n\tDIALOG_HEADER_ARIA_DESCRIBEDBY_RESIZABLE,\n\tDIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE,\n\tDIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE_RESIZABLE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport DialogTemplate from \"./generated/templates/DialogTemplate.lit.js\";\n// Styles\nimport PopupsCommonCss from \"./generated/themes/PopupsCommon.css.js\";\nimport dialogCSS from \"./generated/themes/Dialog.css.js\";\nimport PopupAccessibleRole from \"./types/PopupAccessibleRole.js\";\n\n/**\n * Defines the step size at which this component would change by when being dragged or resized with the keyboard.\n */\nconst STEP_SIZE = 16;\n\ntype ValueStateWithIcon = ValueState.Negative | ValueState.Critical | ValueState.Positive | ValueState.Information;\n/**\n * Defines the icons corresponding to the dialog's state.\n */\nconst ICON_PER_STATE: Record<ValueStateWithIcon, string> = {\n\t[ValueState.Negative]: \"error\",\n\t[ValueState.Critical]: \"alert\",\n\t[ValueState.Positive]: \"sys-enter-2\",\n\t[ValueState.Information]: \"information\",\n};\n\n/**\n * @class\n * ### Overview\n * The `ui5-dialog` component is used to temporarily display some information in a\n * size-limited window in front of the regular app screen.\n * It is used to prompt the user for an action or a confirmation.\n * The `ui5-dialog` interrupts the current app processing as it is the only focused UI element and\n * the main screen is dimmed/blocked.\n * The dialog combines concepts known from other technologies where the windows have\n * names such as dialog box, dialog window, pop-up, pop-up window, alert box, or message box.\n *\n * The `ui5-dialog` is modal, which means that a user action is required before it is possible to return to the parent window.\n * To open multiple dialogs, each dialog element should be separate in the markup. This will ensure the correct modal behavior. Avoid nesting dialogs within each other.\n * The content of the `ui5-dialog` is fully customizable.\n *\n * ### Structure\n * A `ui5-dialog` consists of a header, content, and a footer for action buttons.\n * The `ui5-dialog` is usually displayed at the center of the screen.\n * Its position can be changed by the user. To enable this, you need to set the property `draggable` accordingly.\n\n *\n * ### Responsive Behavior\n * The `stretch` property can be used to stretch the\n * `ui5-dialog` on full screen.\n *\n * **Note:** When a `ui5-bar` is used in the header or in the footer, you should remove the default dialog's paddings.\n *\n * For more information see the sample \"Bar in Header/Footer\".\n\n * ### Keyboard Handling\n *\n * #### Basic Navigation\n * When the `ui5-dialog` has the `draggable` property set to `true` and the header is focused, the user can move the dialog\n * with the following keyboard shortcuts:\n *\n * - [Up] or [Down] arrow keys - Move the dialog up/down.\n * - [Left] or [Right] arrow keys - Move the dialog left/right.\n *\n * #### Resizing\n * When the `ui5-dialog` has the `resizable` property set to `true` and the header is focused, the user can change the size of the dialog\n * with the following keyboard shortcuts:\n *\n * - [Shift] + [Up] or [Down] - Decrease/Increase the height of the dialog.\n * - [Shift] + [Left] or [Right] - Decrease/Increase the width of the dialog.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Dialog\";`\n *\n * @constructor\n * @extends Popup\n * @public\n * @csspart header - Used to style the header of the component\n * @csspart content - Used to style the content of the component\n * @csspart footer - Used to style the footer of the component\n */\n@customElement({\n\ttag: \"ui5-dialog\",\n\ttemplate: DialogTemplate,\n\tstyles: [\n\t\tPopup.styles,\n\t\tPopupsCommonCss,\n\t\tdialogCSS,\n\t\tgetEffectiveScrollbarStyle(),\n\t],\n\tdependencies: [\n\t\tIcon,\n\t\t...Popup.dependencies,\n\t],\n})\nclass Dialog extends Popup {\n\t/**\n\t * Defines the header text.\n\t *\n\t * **Note:** If `header` slot is provided, the `headerText` is ignored.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\theaderText?: string;\n\n\t/**\n\t * Determines whether the component should be stretched to fullscreen.\n\t *\n\t * **Note:** The component will be stretched to approximately\n\t * 90% of the viewport.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tstretch = false;\n\n\t/**\n\t * Determines whether the component is draggable.\n\t * If this property is set to true, the Dialog will be draggable by its header.\n\t *\n\t * **Note:** The component can be draggable only in desktop mode.\n\t *\n\t * **Note:** This property overrides the default HTML \"draggable\" attribute native behavior.\n\t * When \"draggable\" is set to true, the native browser \"draggable\"\n\t * behavior is prevented and only the Dialog custom logic (\"draggable by its header\") works.\n\t * @default false\n\t * @since 1.0.0-rc.9\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdraggable = false;\n\n\t/**\n\t * Configures the component to be resizable.\n\t * If this property is set to true, the Dialog will have a resize handle in its bottom right corner in LTR languages.\n\t * In RTL languages, the resize handle will be placed in the bottom left corner.\n\t *\n\t * **Note:** The component can be resizable only in desktop mode.\n\t *\n\t * **Note:** Upon resizing, externally defined height and width styling will be ignored.\n\t * @default false\n\t * @since 1.0.0-rc.10\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tresizable = false;\n\n\t/**\n\t * Defines the state of the `Dialog`.\n\t *\n\t * **Note:** If `\"Negative\"` and `\"Critical\"` states is set, it will change the\n\t * accessibility role to \"alertdialog\", if the accessibleRole property is set to `\"Dialog\"`.\n\t * @default \"None\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\tstate: `${ValueState}` = \"None\";\n\n\t_screenResizeHandler: () => void;\n\t_dragMouseMoveHandler: (e: MouseEvent) => void;\n\t_dragMouseUpHandler: (e: MouseEvent) => void;\n\t_resizeMouseMoveHandler: (e: MouseEvent) => void;\n\t_resizeMouseUpHandler: (e: MouseEvent) => void;\n\t_dragStartHandler: (e: DragEvent) => void;\n\t_y?: number;\n\t_x?: number;\n\t_isRTL?: boolean;\n\t_screenResizeHandlerAttached?: boolean;\n\t_initialX?: number;\n\t_initialY?: number;\n\t_initialWidth?: number;\n\t_initialHeight?: number;\n\t_initialTop?: number;\n\t_initialLeft?: number;\n\t_minWidth?: number;\n\t_cachedMinHeight?: number;\n\t_draggedOrResized = false;\n\n\t/**\n\t * Defines the header HTML Element.\n\t *\n\t * **Note:** When a `ui5-bar` is used in the header, you should remove the default dialog's paddings.\n\t *\n\t * **Note:** If `header` slot is provided, the labelling of the dialog is a responsibility of the application developer.\n\t * `accessibleName` should be used.\n\t * @public\n\t */\n\t@slot()\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t *\n\t * **Note:** When a `ui5-bar` is used in the footer, you should remove the default dialog's paddings.\n\t * @public\n\t */\n\t@slot()\n\tfooter!: Array<HTMLElement>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._screenResizeHandler = this._screenResize.bind(this);\n\n\t\tthis._dragMouseMoveHandler = this._onDragMouseMove.bind(this);\n\t\tthis._dragMouseUpHandler = this._onDragMouseUp.bind(this);\n\n\t\tthis._resizeMouseMoveHandler = this._onResizeMouseMove.bind(this);\n\t\tthis._resizeMouseUpHandler = this._onResizeMouseUp.bind(this);\n\n\t\tthis._dragStartHandler = this._handleDragStart.bind(this);\n\t}\n\n\tstatic _isHeader(element: HTMLElement) {\n\t\treturn element.classList.contains(\"ui5-popup-header-root\") || element.getAttribute(\"slot\") === \"header\";\n\t}\n\n\tget isModal() {\n\t\treturn true;\n\t}\n\n\tget _ariaLabelledBy() {\n\t\tlet ariaLabelledById;\n\n\t\tif (this.headerText && !this._ariaLabel) {\n\t\t\tariaLabelledById = \"ui5-popup-header-text\";\n\t\t}\n\n\t\treturn ariaLabelledById;\n\t}\n\n\tget ariaRoleDescriptionHeaderText() {\n\t\treturn (this.resizable || this.draggable) ? Dialog.i18nBundle.getText(DIALOG_HEADER_ARIA_ROLE_DESCRIPTION) : undefined;\n\t}\n\n\tget effectiveAriaDescribedBy() {\n\t\treturn (this.resizable || this.draggable) ? `${this._id}-descr` : undefined;\n\t}\n\n\tget ariaDescribedByHeaderTextResizable() {\n\t\treturn Dialog.i18nBundle.getText(DIALOG_HEADER_ARIA_DESCRIBEDBY_RESIZABLE);\n\t}\n\n\tget ariaDescribedByHeaderTextDraggable() {\n\t\treturn Dialog.i18nBundle.getText(DIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE);\n\t}\n\n\tget ariaDescribedByHeaderTextDraggableAndResizable() {\n\t\treturn Dialog.i18nBundle.getText(DIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE_RESIZABLE);\n\t}\n\n\t/**\n\t * Determines if the header should be shown.\n\t */\n\tget _displayHeader() {\n\t\treturn this.header.length || this.headerText || this.draggable || this.resizable;\n\t}\n\n\tget _movable() {\n\t\treturn !this.stretch && this.onDesktop && (this.draggable || this.resizable);\n\t}\n\n\tget _headerTabIndex() {\n\t\treturn this._movable ? \"0\" : undefined;\n\t}\n\n\tget _showResizeHandle() {\n\t\treturn this.resizable && this.onDesktop;\n\t}\n\n\tget _minHeight() {\n\t\tlet minHeight = Number.parseInt(window.getComputedStyle(this.contentDOM).minHeight);\n\n\t\tconst header = this._root.querySelector<HTMLElement>(\".ui5-popup-header-root\");\n\t\tif (header) {\n\t\t\tminHeight += header.offsetHeight;\n\t\t}\n\n\t\tconst footer = this._root.querySelector<HTMLElement>(\".ui5-popup-footer-root\");\n\t\tif (footer) {\n\t\t\tminHeight += footer.offsetHeight;\n\t\t}\n\n\t\treturn minHeight;\n\t}\n\n\tget hasValueState() {\n\t\treturn this.state !== ValueState.None;\n\t}\n\n\tget _dialogStateIcon() {\n\t\treturn ICON_PER_STATE[this.state as ValueStateWithIcon];\n\t}\n\n\tget _role(): string | undefined {\n\t\tif (this.accessibleRole === PopupAccessibleRole.None) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (this.state === ValueState.Negative || this.state === ValueState.Critical) {\n\t\t\treturn PopupAccessibleRole.AlertDialog.toLowerCase();\n\t\t}\n\n\t\treturn this.accessibleRole.toLowerCase();\n\t}\n\n\t_show() {\n\t\tsuper._show();\n\t\tthis._center();\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis._isRTL = this.effectiveDir === \"rtl\";\n\t}\n\n\tonEnterDOM() {\n\t\tsuper.onEnterDOM();\n\t\tthis._attachScreenResizeHandler();\n\n\t\tthis.addEventListener(\"dragstart\", this._dragStartHandler);\n\t}\n\n\tonExitDOM() {\n\t\tsuper.onExitDOM();\n\t\tthis._detachScreenResizeHandler();\n\n\t\tthis.removeEventListener(\"dragstart\", this._dragStartHandler);\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_resize() {\n\t\tsuper._resize();\n\n\t\tif (!this._draggedOrResized) {\n\t\t\tthis._center();\n\t\t}\n\t}\n\n\t_screenResize() {\n\t\tthis._center();\n\t}\n\n\t_attachScreenResizeHandler() {\n\t\tif (!this._screenResizeHandlerAttached) {\n\t\t\twindow.addEventListener(\"resize\", this._screenResizeHandler);\n\t\t\tthis._screenResizeHandlerAttached = true;\n\t\t}\n\t}\n\n\t_detachScreenResizeHandler() {\n\t\tif (this._screenResizeHandlerAttached) {\n\t\t\twindow.removeEventListener(\"resize\", this._screenResizeHandler);\n\t\t\tthis._screenResizeHandlerAttached = false; // prevent dialog from repositioning during resizing\n\t\t}\n\t}\n\n\t_center() {\n\t\tconst height = window.innerHeight - this.offsetHeight,\n\t\t\twidth = window.innerWidth - this.offsetWidth;\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${Math.round(height / 2)}px`,\n\t\t\tleft: `${Math.round(width / 2)}px`,\n\t\t});\n\t}\n\n\t_revertSize = () => {\n\t\tObject.assign(this.style, {\n\t\t\ttop: \"\",\n\t\t\tleft: \"\",\n\t\t\twidth: \"\",\n\t\t\theight: \"\",\n\t\t});\n\t}\n\n\t/**\n\t * Event handlers\n\t */\n\t_onDragMouseDown(e: DragEvent) {\n\t\t// allow dragging only on the header\n\t\tif (!this._movable || !this.draggable || !Dialog._isHeader(e.target as HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst {\n\t\t\ttop,\n\t\t\tleft,\n\t\t} = this.getBoundingClientRect();\n\t\tconst {\n\t\t\twidth,\n\t\t\theight,\n\t\t} = window.getComputedStyle(this);\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t\twidth: `${Math.round(Number.parseFloat(width) * 100) / 100}px`,\n\t\t\theight: `${Math.round(Number.parseFloat(height) * 100) / 100}px`,\n\t\t});\n\n\t\tthis._x = e.clientX;\n\t\tthis._y = e.clientY;\n\n\t\tthis._draggedOrResized = true;\n\t\tthis._attachMouseDragHandlers();\n\t}\n\n\t_onDragMouseMove(e: MouseEvent) {\n\t\te.preventDefault();\n\n\t\tconst { clientX, clientY } = e;\n\t\tconst calcX = this._x! - clientX;\n\t\tconst calcY = this._y! - clientY;\n\t\tconst {\n\t\t\tleft,\n\t\t\ttop,\n\t\t} = this.getBoundingClientRect();\n\n\t\tObject.assign(this.style, {\n\t\t\tleft: `${Math.floor(left - calcX)}px`,\n\t\t\ttop: `${Math.floor(top - calcY)}px`,\n\t\t});\n\n\t\tthis._x = clientX;\n\t\tthis._y = clientY;\n\t}\n\n\t_onDragMouseUp() {\n\t\tdelete this._x;\n\t\tdelete this._y;\n\n\t\tthis._detachMouseDragHandlers();\n\t}\n\n\t_onDragOrResizeKeyDown(e: KeyboardEvent) {\n\t\tif (!this._movable || !Dialog._isHeader(e.target as HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.draggable && [isUp, isDown, isLeft, isRight].some(key => key(e))) {\n\t\t\tthis._dragWithEvent(e);\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.resizable && [isUpShift, isDownShift, isLeftShift, isRightShift].some(key => key(e))) {\n\t\t\tthis._resizeWithEvent(e);\n\t\t}\n\t}\n\n\t_dragWithEvent(e: KeyboardEvent) {\n\t\tconst {\n\t\t\ttop,\n\t\t\tleft,\n\t\t\twidth,\n\t\t\theight,\n\t\t} = this.getBoundingClientRect();\n\n\t\tlet newPos = 0;\n\t\tlet posDirection: \"top\" | \"left\" = \"top\";\n\n\t\tswitch (true) {\n\t\tcase isUp(e):\n\t\t\tnewPos = top - STEP_SIZE;\n\t\t\tposDirection = \"top\";\n\t\t\tbreak;\n\t\tcase isDown(e):\n\t\t\tnewPos = top + STEP_SIZE;\n\t\t\tposDirection = \"top\";\n\t\t\tbreak;\n\t\tcase isLeft(e):\n\t\t\tnewPos = left - STEP_SIZE;\n\t\t\tposDirection = \"left\";\n\t\t\tbreak;\n\t\tcase isRight(e):\n\t\t\tnewPos = left + STEP_SIZE;\n\t\t\tposDirection = \"left\";\n\t\t\tbreak;\n\t\t}\n\n\t\tnewPos = clamp(\n\t\t\tnewPos,\n\t\t\t0,\n\t\t\tposDirection === \"left\" ? window.innerWidth - width : window.innerHeight - height,\n\t\t);\n\n\t\tthis.style[posDirection] = `${newPos}px`;\n\t}\n\n\t_resizeWithEvent(e: KeyboardEvent) {\n\t\tthis._draggedOrResized = true;\n\t\tthis.addEventListener(\"ui5-before-close\", this._revertSize, { once: true });\n\n\t\tconst { top, left } = this.getBoundingClientRect(),\n\t\t\tstyle = window.getComputedStyle(this),\n\t\t\tminWidth = Number.parseFloat(style.minWidth),\n\t\t\tmaxWidth = window.innerWidth - left,\n\t\t\tmaxHeight = window.innerHeight - top;\n\n\t\tlet width = Number.parseFloat(style.width),\n\t\t\theight = Number.parseFloat(style.height);\n\n\t\tswitch (true) {\n\t\tcase isUpShift(e):\n\t\t\theight -= STEP_SIZE;\n\t\t\tbreak;\n\t\tcase isDownShift(e):\n\t\t\theight += STEP_SIZE;\n\t\t\tbreak;\n\t\tcase isLeftShift(e):\n\t\t\twidth -= STEP_SIZE;\n\t\t\tbreak;\n\t\tcase isRightShift(e):\n\t\t\twidth += STEP_SIZE;\n\t\t\tbreak;\n\t\t}\n\n\t\twidth = clamp(width, minWidth, maxWidth);\n\t\theight = clamp(height, this._minHeight, maxHeight);\n\n\t\tObject.assign(this.style, {\n\t\t\twidth: `${width}px`,\n\t\t\theight: `${height}px`,\n\t\t});\n\t}\n\n\t_attachMouseDragHandlers() {\n\t\twindow.addEventListener(\"mousemove\", this._dragMouseMoveHandler);\n\t\twindow.addEventListener(\"mouseup\", this._dragMouseUpHandler);\n\t}\n\n\t_detachMouseDragHandlers() {\n\t\twindow.removeEventListener(\"mousemove\", this._dragMouseMoveHandler);\n\t\twindow.removeEventListener(\"mouseup\", this._dragMouseUpHandler);\n\t}\n\n\t_onResizeMouseDown(e: MouseEvent) {\n\t\tif (!this._movable || !this.resizable) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tconst {\n\t\t\ttop,\n\t\t\tleft,\n\t\t} = this.getBoundingClientRect();\n\t\tconst {\n\t\t\twidth,\n\t\t\theight,\n\t\t\tminWidth,\n\t\t} = window.getComputedStyle(this);\n\n\t\tthis._initialX = e.clientX;\n\t\tthis._initialY = e.clientY;\n\t\tthis._initialWidth = Number.parseFloat(width);\n\t\tthis._initialHeight = Number.parseFloat(height);\n\t\tthis._initialTop = top;\n\t\tthis._initialLeft = left;\n\t\tthis._minWidth = Number.parseFloat(minWidth);\n\t\tthis._cachedMinHeight = this._minHeight;\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t});\n\n\t\tthis._draggedOrResized = true;\n\t\tthis._attachMouseResizeHandlers();\n\t}\n\n\t_onResizeMouseMove(e: MouseEvent) {\n\t\tconst { clientX, clientY } = e;\n\n\t\tlet newWidth,\n\t\t\tnewLeft;\n\n\t\tif (this._isRTL) {\n\t\t\tnewWidth = clamp(\n\t\t\t\tthis._initialWidth! - (clientX - this._initialX!),\n\t\t\t\tthis._minWidth!,\n\t\t\t\tthis._initialLeft! + this._initialWidth!,\n\t\t\t);\n\n\t\t\tnewLeft = clamp(\n\t\t\t\tthis._initialLeft! + (clientX - this._initialX!),\n\t\t\t\t0,\n\t\t\t\tthis._initialX! + this._initialWidth! - this._minWidth!,\n\t\t\t);\n\t\t} else {\n\t\t\tnewWidth = clamp(\n\t\t\t\tthis._initialWidth! + (clientX - this._initialX!),\n\t\t\t\tthis._minWidth!,\n\t\t\t\twindow.innerWidth - this._initialLeft!,\n\t\t\t);\n\t\t}\n\n\t\tconst newHeight = clamp(\n\t\t\tthis._initialHeight! + (clientY - this._initialY!),\n\t\t\tthis._cachedMinHeight!,\n\t\t\twindow.innerHeight - this._initialTop!,\n\t\t);\n\n\t\tObject.assign(this.style, {\n\t\t\theight: `${newHeight}px`,\n\t\t\twidth: `${newWidth}px`,\n\t\t\tleft: newLeft ? `${newLeft}px` : undefined,\n\t\t});\n\t}\n\n\t_onResizeMouseUp() {\n\t\tdelete this._initialX;\n\t\tdelete this._initialY;\n\t\tdelete this._initialWidth;\n\t\tdelete this._initialHeight;\n\t\tdelete this._initialTop;\n\t\tdelete this._initialLeft;\n\t\tdelete this._minWidth;\n\t\tdelete this._cachedMinHeight;\n\n\t\tthis._detachMouseResizeHandlers();\n\t}\n\n\t_handleDragStart(e: DragEvent) {\n\t\tif (this.draggable) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_attachMouseResizeHandlers() {\n\t\twindow.addEventListener(\"mousemove\", this._resizeMouseMoveHandler);\n\t\twindow.addEventListener(\"mouseup\", this._resizeMouseUpHandler);\n\t\tthis.addEventListener(\"ui5-before-close\", this._revertSize, { once: true });\n\t}\n\n\t_detachMouseResizeHandlers() {\n\t\twindow.removeEventListener(\"mousemove\", this._resizeMouseMoveHandler);\n\t\twindow.removeEventListener(\"mouseup\", this._resizeMouseUpHandler);\n\t}\n}\n\nDialog.define();\n\nexport default Dialog;\nexport type {\n\tDialogBeforeCloseEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../src/Dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport {\n\tisUp, isDown, isLeft, isRight,\n\tisUpShift, isDownShift, isLeftShift, isRightShift,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Popup from \"./Popup.js\";\nimport type { PopupBeforeCloseEventDetail as DialogBeforeCloseEventDetail } from \"./Popup.js\";\nimport Icon from \"./Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/resize-corner.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\n\nimport {\n\tDIALOG_HEADER_ARIA_ROLE_DESCRIPTION,\n\tDIALOG_HEADER_ARIA_DESCRIBEDBY_RESIZABLE,\n\tDIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE,\n\tDIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE_RESIZABLE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport DialogTemplate from \"./generated/templates/DialogTemplate.lit.js\";\n// Styles\nimport PopupsCommonCss from \"./generated/themes/PopupsCommon.css.js\";\nimport dialogCSS from \"./generated/themes/Dialog.css.js\";\nimport PopupAccessibleRole from \"./types/PopupAccessibleRole.js\";\n\n/**\n * Defines the step size at which this component would change by when being dragged or resized with the keyboard.\n */\nconst STEP_SIZE = 16;\n\ntype ValueStateWithIcon = ValueState.Negative | ValueState.Critical | ValueState.Positive | ValueState.Information;\n/**\n * Defines the icons corresponding to the dialog's state.\n */\nconst ICON_PER_STATE: Record<ValueStateWithIcon, string> = {\n\t[ValueState.Negative]: \"error\",\n\t[ValueState.Critical]: \"alert\",\n\t[ValueState.Positive]: \"sys-enter-2\",\n\t[ValueState.Information]: \"information\",\n};\n\n/**\n * @class\n * ### Overview\n * The `ui5-dialog` component is used to temporarily display some information in a\n * size-limited window in front of the regular app screen.\n * It is used to prompt the user for an action or a confirmation.\n * The `ui5-dialog` interrupts the current app processing as it is the only focused UI element and\n * the main screen is dimmed/blocked.\n * The dialog combines concepts known from other technologies where the windows have\n * names such as dialog box, dialog window, pop-up, pop-up window, alert box, or message box.\n *\n * The `ui5-dialog` is modal, which means that a user action is required before it is possible to return to the parent window.\n * To open multiple dialogs, each dialog element should be separate in the markup. This will ensure the correct modal behavior. Avoid nesting dialogs within each other.\n * The content of the `ui5-dialog` is fully customizable.\n *\n * ### Structure\n * A `ui5-dialog` consists of a header, content, and a footer for action buttons.\n * The `ui5-dialog` is usually displayed at the center of the screen.\n * Its position can be changed by the user. To enable this, you need to set the property `draggable` accordingly.\n\n *\n * ### Responsive Behavior\n * The `stretch` property can be used to stretch the `ui5-dialog` to full screen. For better usability, it's recommended to stretch the dialog to full screen on phone devices.\n *\n * **Note:** When a `ui5-bar` is used in the header or in the footer, you should remove the default dialog's paddings.\n *\n * For more information see the sample \"Bar in Header/Footer\".\n\n * ### Keyboard Handling\n *\n * #### Basic Navigation\n * When the `ui5-dialog` has the `draggable` property set to `true` and the header is focused, the user can move the dialog\n * with the following keyboard shortcuts:\n *\n * - [Up] or [Down] arrow keys - Move the dialog up/down.\n * - [Left] or [Right] arrow keys - Move the dialog left/right.\n *\n * #### Resizing\n * When the `ui5-dialog` has the `resizable` property set to `true` and the header is focused, the user can change the size of the dialog\n * with the following keyboard shortcuts:\n *\n * - [Shift] + [Up] or [Down] - Decrease/Increase the height of the dialog.\n * - [Shift] + [Left] or [Right] - Decrease/Increase the width of the dialog.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Dialog\";`\n *\n * @constructor\n * @extends Popup\n * @public\n * @csspart header - Used to style the header of the component\n * @csspart content - Used to style the content of the component\n * @csspart footer - Used to style the footer of the component\n */\n@customElement({\n\ttag: \"ui5-dialog\",\n\ttemplate: DialogTemplate,\n\tstyles: [\n\t\tPopup.styles,\n\t\tPopupsCommonCss,\n\t\tdialogCSS,\n\t\tgetEffectiveScrollbarStyle(),\n\t],\n\tdependencies: [\n\t\tIcon,\n\t\t...Popup.dependencies,\n\t],\n})\nclass Dialog extends Popup {\n\t/**\n\t * Defines the header text.\n\t *\n\t * **Note:** If `header` slot is provided, the `headerText` is ignored.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\theaderText?: string;\n\n\t/**\n\t * Determines if the dialog will be stretched to full screen on mobile. On desktop,\n\t * the dialog will be stretched to approximately 90% of the viewport.\n\t *\n\t * **Note:** For better usability of the component it is recommended to set this property to \"true\" when the dialog is opened on phone.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tstretch = false;\n\n\t/**\n\t * Determines whether the component is draggable.\n\t * If this property is set to true, the Dialog will be draggable by its header.\n\t *\n\t * **Note:** The component can be draggable only in desktop mode.\n\t *\n\t * **Note:** This property overrides the default HTML \"draggable\" attribute native behavior.\n\t * When \"draggable\" is set to true, the native browser \"draggable\"\n\t * behavior is prevented and only the Dialog custom logic (\"draggable by its header\") works.\n\t * @default false\n\t * @since 1.0.0-rc.9\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdraggable = false;\n\n\t/**\n\t * Configures the component to be resizable.\n\t * If this property is set to true, the Dialog will have a resize handle in its bottom right corner in LTR languages.\n\t * In RTL languages, the resize handle will be placed in the bottom left corner.\n\t *\n\t * **Note:** The component can be resizable only in desktop mode.\n\t *\n\t * **Note:** Upon resizing, externally defined height and width styling will be ignored.\n\t * @default false\n\t * @since 1.0.0-rc.10\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tresizable = false;\n\n\t/**\n\t * Defines the state of the `Dialog`.\n\t *\n\t * **Note:** If `\"Negative\"` and `\"Critical\"` states is set, it will change the\n\t * accessibility role to \"alertdialog\", if the accessibleRole property is set to `\"Dialog\"`.\n\t * @default \"None\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\tstate: `${ValueState}` = \"None\";\n\n\t_screenResizeHandler: () => void;\n\t_dragMouseMoveHandler: (e: MouseEvent) => void;\n\t_dragMouseUpHandler: (e: MouseEvent) => void;\n\t_resizeMouseMoveHandler: (e: MouseEvent) => void;\n\t_resizeMouseUpHandler: (e: MouseEvent) => void;\n\t_dragStartHandler: (e: DragEvent) => void;\n\t_y?: number;\n\t_x?: number;\n\t_isRTL?: boolean;\n\t_screenResizeHandlerAttached?: boolean;\n\t_initialX?: number;\n\t_initialY?: number;\n\t_initialWidth?: number;\n\t_initialHeight?: number;\n\t_initialTop?: number;\n\t_initialLeft?: number;\n\t_minWidth?: number;\n\t_cachedMinHeight?: number;\n\t_draggedOrResized = false;\n\n\t/**\n\t * Defines the header HTML Element.\n\t *\n\t * **Note:** When a `ui5-bar` is used in the header, you should remove the default dialog's paddings.\n\t *\n\t * **Note:** If `header` slot is provided, the labelling of the dialog is a responsibility of the application developer.\n\t * `accessibleName` should be used.\n\t * @public\n\t */\n\t@slot()\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t *\n\t * **Note:** When a `ui5-bar` is used in the footer, you should remove the default dialog's paddings.\n\t * @public\n\t */\n\t@slot()\n\tfooter!: Array<HTMLElement>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._screenResizeHandler = this._screenResize.bind(this);\n\n\t\tthis._dragMouseMoveHandler = this._onDragMouseMove.bind(this);\n\t\tthis._dragMouseUpHandler = this._onDragMouseUp.bind(this);\n\n\t\tthis._resizeMouseMoveHandler = this._onResizeMouseMove.bind(this);\n\t\tthis._resizeMouseUpHandler = this._onResizeMouseUp.bind(this);\n\n\t\tthis._dragStartHandler = this._handleDragStart.bind(this);\n\t}\n\n\tstatic _isHeader(element: HTMLElement) {\n\t\treturn element.classList.contains(\"ui5-popup-header-root\") || element.getAttribute(\"slot\") === \"header\";\n\t}\n\n\tget isModal() {\n\t\treturn true;\n\t}\n\n\tget _ariaLabelledBy() {\n\t\tlet ariaLabelledById;\n\n\t\tif (this.headerText && !this._ariaLabel) {\n\t\t\tariaLabelledById = \"ui5-popup-header-text\";\n\t\t}\n\n\t\treturn ariaLabelledById;\n\t}\n\n\tget ariaRoleDescriptionHeaderText() {\n\t\treturn (this.resizable || this.draggable) ? Dialog.i18nBundle.getText(DIALOG_HEADER_ARIA_ROLE_DESCRIPTION) : undefined;\n\t}\n\n\tget effectiveAriaDescribedBy() {\n\t\treturn (this.resizable || this.draggable) ? `${this._id}-descr` : undefined;\n\t}\n\n\tget ariaDescribedByHeaderTextResizable() {\n\t\treturn Dialog.i18nBundle.getText(DIALOG_HEADER_ARIA_DESCRIBEDBY_RESIZABLE);\n\t}\n\n\tget ariaDescribedByHeaderTextDraggable() {\n\t\treturn Dialog.i18nBundle.getText(DIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE);\n\t}\n\n\tget ariaDescribedByHeaderTextDraggableAndResizable() {\n\t\treturn Dialog.i18nBundle.getText(DIALOG_HEADER_ARIA_DESCRIBEDBY_DRAGGABLE_RESIZABLE);\n\t}\n\n\t/**\n\t * Determines if the header should be shown.\n\t */\n\tget _displayHeader() {\n\t\treturn this.header.length || this.headerText || this.draggable || this.resizable;\n\t}\n\n\tget _movable() {\n\t\treturn !this.stretch && this.onDesktop && (this.draggable || this.resizable);\n\t}\n\n\tget _headerTabIndex() {\n\t\treturn this._movable ? \"0\" : undefined;\n\t}\n\n\tget _showResizeHandle() {\n\t\treturn this.resizable && this.onDesktop;\n\t}\n\n\tget _minHeight() {\n\t\tlet minHeight = Number.parseInt(window.getComputedStyle(this.contentDOM).minHeight);\n\n\t\tconst header = this._root.querySelector<HTMLElement>(\".ui5-popup-header-root\");\n\t\tif (header) {\n\t\t\tminHeight += header.offsetHeight;\n\t\t}\n\n\t\tconst footer = this._root.querySelector<HTMLElement>(\".ui5-popup-footer-root\");\n\t\tif (footer) {\n\t\t\tminHeight += footer.offsetHeight;\n\t\t}\n\n\t\treturn minHeight;\n\t}\n\n\tget hasValueState() {\n\t\treturn this.state !== ValueState.None;\n\t}\n\n\tget _dialogStateIcon() {\n\t\treturn ICON_PER_STATE[this.state as ValueStateWithIcon];\n\t}\n\n\tget _role(): string | undefined {\n\t\tif (this.accessibleRole === PopupAccessibleRole.None) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (this.state === ValueState.Negative || this.state === ValueState.Critical) {\n\t\t\treturn PopupAccessibleRole.AlertDialog.toLowerCase();\n\t\t}\n\n\t\treturn this.accessibleRole.toLowerCase();\n\t}\n\n\t_show() {\n\t\tsuper._show();\n\t\tthis._center();\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis._isRTL = this.effectiveDir === \"rtl\";\n\t}\n\n\tonEnterDOM() {\n\t\tsuper.onEnterDOM();\n\t\tthis._attachScreenResizeHandler();\n\n\t\tthis.addEventListener(\"dragstart\", this._dragStartHandler);\n\t}\n\n\tonExitDOM() {\n\t\tsuper.onExitDOM();\n\t\tthis._detachScreenResizeHandler();\n\n\t\tthis.removeEventListener(\"dragstart\", this._dragStartHandler);\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_resize() {\n\t\tsuper._resize();\n\n\t\tif (!this._draggedOrResized) {\n\t\t\tthis._center();\n\t\t}\n\t}\n\n\t_screenResize() {\n\t\tthis._center();\n\t}\n\n\t_attachScreenResizeHandler() {\n\t\tif (!this._screenResizeHandlerAttached) {\n\t\t\twindow.addEventListener(\"resize\", this._screenResizeHandler);\n\t\t\tthis._screenResizeHandlerAttached = true;\n\t\t}\n\t}\n\n\t_detachScreenResizeHandler() {\n\t\tif (this._screenResizeHandlerAttached) {\n\t\t\twindow.removeEventListener(\"resize\", this._screenResizeHandler);\n\t\t\tthis._screenResizeHandlerAttached = false; // prevent dialog from repositioning during resizing\n\t\t}\n\t}\n\n\t_center() {\n\t\tconst height = window.innerHeight - this.offsetHeight,\n\t\t\twidth = window.innerWidth - this.offsetWidth;\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${Math.round(height / 2)}px`,\n\t\t\tleft: `${Math.round(width / 2)}px`,\n\t\t});\n\t}\n\n\t_revertSize = () => {\n\t\tObject.assign(this.style, {\n\t\t\ttop: \"\",\n\t\t\tleft: \"\",\n\t\t\twidth: \"\",\n\t\t\theight: \"\",\n\t\t});\n\t}\n\n\t/**\n\t * Event handlers\n\t */\n\t_onDragMouseDown(e: DragEvent) {\n\t\t// allow dragging only on the header\n\t\tif (!this._movable || !this.draggable || !Dialog._isHeader(e.target as HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst {\n\t\t\ttop,\n\t\t\tleft,\n\t\t} = this.getBoundingClientRect();\n\t\tconst {\n\t\t\twidth,\n\t\t\theight,\n\t\t} = window.getComputedStyle(this);\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t\twidth: `${Math.round(Number.parseFloat(width) * 100) / 100}px`,\n\t\t\theight: `${Math.round(Number.parseFloat(height) * 100) / 100}px`,\n\t\t});\n\n\t\tthis._x = e.clientX;\n\t\tthis._y = e.clientY;\n\n\t\tthis._draggedOrResized = true;\n\t\tthis._attachMouseDragHandlers();\n\t}\n\n\t_onDragMouseMove(e: MouseEvent) {\n\t\te.preventDefault();\n\n\t\tconst { clientX, clientY } = e;\n\t\tconst calcX = this._x! - clientX;\n\t\tconst calcY = this._y! - clientY;\n\t\tconst {\n\t\t\tleft,\n\t\t\ttop,\n\t\t} = this.getBoundingClientRect();\n\n\t\tObject.assign(this.style, {\n\t\t\tleft: `${Math.floor(left - calcX)}px`,\n\t\t\ttop: `${Math.floor(top - calcY)}px`,\n\t\t});\n\n\t\tthis._x = clientX;\n\t\tthis._y = clientY;\n\t}\n\n\t_onDragMouseUp() {\n\t\tdelete this._x;\n\t\tdelete this._y;\n\n\t\tthis._detachMouseDragHandlers();\n\t}\n\n\t_onDragOrResizeKeyDown(e: KeyboardEvent) {\n\t\tif (!this._movable || !Dialog._isHeader(e.target as HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.draggable && [isUp, isDown, isLeft, isRight].some(key => key(e))) {\n\t\t\tthis._dragWithEvent(e);\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.resizable && [isUpShift, isDownShift, isLeftShift, isRightShift].some(key => key(e))) {\n\t\t\tthis._resizeWithEvent(e);\n\t\t}\n\t}\n\n\t_dragWithEvent(e: KeyboardEvent) {\n\t\tconst {\n\t\t\ttop,\n\t\t\tleft,\n\t\t\twidth,\n\t\t\theight,\n\t\t} = this.getBoundingClientRect();\n\n\t\tlet newPos = 0;\n\t\tlet posDirection: \"top\" | \"left\" = \"top\";\n\n\t\tswitch (true) {\n\t\tcase isUp(e):\n\t\t\tnewPos = top - STEP_SIZE;\n\t\t\tposDirection = \"top\";\n\t\t\tbreak;\n\t\tcase isDown(e):\n\t\t\tnewPos = top + STEP_SIZE;\n\t\t\tposDirection = \"top\";\n\t\t\tbreak;\n\t\tcase isLeft(e):\n\t\t\tnewPos = left - STEP_SIZE;\n\t\t\tposDirection = \"left\";\n\t\t\tbreak;\n\t\tcase isRight(e):\n\t\t\tnewPos = left + STEP_SIZE;\n\t\t\tposDirection = \"left\";\n\t\t\tbreak;\n\t\t}\n\n\t\tnewPos = clamp(\n\t\t\tnewPos,\n\t\t\t0,\n\t\t\tposDirection === \"left\" ? window.innerWidth - width : window.innerHeight - height,\n\t\t);\n\n\t\tthis.style[posDirection] = `${newPos}px`;\n\t}\n\n\t_resizeWithEvent(e: KeyboardEvent) {\n\t\tthis._draggedOrResized = true;\n\t\tthis.addEventListener(\"ui5-before-close\", this._revertSize, { once: true });\n\n\t\tconst { top, left } = this.getBoundingClientRect(),\n\t\t\tstyle = window.getComputedStyle(this),\n\t\t\tminWidth = Number.parseFloat(style.minWidth),\n\t\t\tmaxWidth = window.innerWidth - left,\n\t\t\tmaxHeight = window.innerHeight - top;\n\n\t\tlet width = Number.parseFloat(style.width),\n\t\t\theight = Number.parseFloat(style.height);\n\n\t\tswitch (true) {\n\t\tcase isUpShift(e):\n\t\t\theight -= STEP_SIZE;\n\t\t\tbreak;\n\t\tcase isDownShift(e):\n\t\t\theight += STEP_SIZE;\n\t\t\tbreak;\n\t\tcase isLeftShift(e):\n\t\t\twidth -= STEP_SIZE;\n\t\t\tbreak;\n\t\tcase isRightShift(e):\n\t\t\twidth += STEP_SIZE;\n\t\t\tbreak;\n\t\t}\n\n\t\twidth = clamp(width, minWidth, maxWidth);\n\t\theight = clamp(height, this._minHeight, maxHeight);\n\n\t\tObject.assign(this.style, {\n\t\t\twidth: `${width}px`,\n\t\t\theight: `${height}px`,\n\t\t});\n\t}\n\n\t_attachMouseDragHandlers() {\n\t\twindow.addEventListener(\"mousemove\", this._dragMouseMoveHandler);\n\t\twindow.addEventListener(\"mouseup\", this._dragMouseUpHandler);\n\t}\n\n\t_detachMouseDragHandlers() {\n\t\twindow.removeEventListener(\"mousemove\", this._dragMouseMoveHandler);\n\t\twindow.removeEventListener(\"mouseup\", this._dragMouseUpHandler);\n\t}\n\n\t_onResizeMouseDown(e: MouseEvent) {\n\t\tif (!this._movable || !this.resizable) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tconst {\n\t\t\ttop,\n\t\t\tleft,\n\t\t} = this.getBoundingClientRect();\n\t\tconst {\n\t\t\twidth,\n\t\t\theight,\n\t\t\tminWidth,\n\t\t} = window.getComputedStyle(this);\n\n\t\tthis._initialX = e.clientX;\n\t\tthis._initialY = e.clientY;\n\t\tthis._initialWidth = Number.parseFloat(width);\n\t\tthis._initialHeight = Number.parseFloat(height);\n\t\tthis._initialTop = top;\n\t\tthis._initialLeft = left;\n\t\tthis._minWidth = Number.parseFloat(minWidth);\n\t\tthis._cachedMinHeight = this._minHeight;\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t});\n\n\t\tthis._draggedOrResized = true;\n\t\tthis._attachMouseResizeHandlers();\n\t}\n\n\t_onResizeMouseMove(e: MouseEvent) {\n\t\tconst { clientX, clientY } = e;\n\n\t\tlet newWidth,\n\t\t\tnewLeft;\n\n\t\tif (this._isRTL) {\n\t\t\tnewWidth = clamp(\n\t\t\t\tthis._initialWidth! - (clientX - this._initialX!),\n\t\t\t\tthis._minWidth!,\n\t\t\t\tthis._initialLeft! + this._initialWidth!,\n\t\t\t);\n\n\t\t\tnewLeft = clamp(\n\t\t\t\tthis._initialLeft! + (clientX - this._initialX!),\n\t\t\t\t0,\n\t\t\t\tthis._initialX! + this._initialWidth! - this._minWidth!,\n\t\t\t);\n\t\t} else {\n\t\t\tnewWidth = clamp(\n\t\t\t\tthis._initialWidth! + (clientX - this._initialX!),\n\t\t\t\tthis._minWidth!,\n\t\t\t\twindow.innerWidth - this._initialLeft!,\n\t\t\t);\n\t\t}\n\n\t\tconst newHeight = clamp(\n\t\t\tthis._initialHeight! + (clientY - this._initialY!),\n\t\t\tthis._cachedMinHeight!,\n\t\t\twindow.innerHeight - this._initialTop!,\n\t\t);\n\n\t\tObject.assign(this.style, {\n\t\t\theight: `${newHeight}px`,\n\t\t\twidth: `${newWidth}px`,\n\t\t\tleft: newLeft ? `${newLeft}px` : undefined,\n\t\t});\n\t}\n\n\t_onResizeMouseUp() {\n\t\tdelete this._initialX;\n\t\tdelete this._initialY;\n\t\tdelete this._initialWidth;\n\t\tdelete this._initialHeight;\n\t\tdelete this._initialTop;\n\t\tdelete this._initialLeft;\n\t\tdelete this._minWidth;\n\t\tdelete this._cachedMinHeight;\n\n\t\tthis._detachMouseResizeHandlers();\n\t}\n\n\t_handleDragStart(e: DragEvent) {\n\t\tif (this.draggable) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_attachMouseResizeHandlers() {\n\t\twindow.addEventListener(\"mousemove\", this._resizeMouseMoveHandler);\n\t\twindow.addEventListener(\"mouseup\", this._resizeMouseUpHandler);\n\t\tthis.addEventListener(\"ui5-before-close\", this._revertSize, { once: true });\n\t}\n\n\t_detachMouseResizeHandlers() {\n\t\twindow.removeEventListener(\"mousemove\", this._resizeMouseMoveHandler);\n\t\twindow.removeEventListener(\"mouseup\", this._resizeMouseUpHandler);\n\t}\n}\n\nDialog.define();\n\nexport default Dialog;\nexport type {\n\tDialogBeforeCloseEventDetail,\n};\n"]}
|
package/dist/Form.d.ts
CHANGED
|
@@ -7,7 +7,6 @@ import type FormItemSpacing from "./types/FormItemSpacing.js";
|
|
|
7
7
|
* @since 2.0.0
|
|
8
8
|
*/
|
|
9
9
|
interface IFormItem extends UI5Element {
|
|
10
|
-
labelSpan: string;
|
|
11
10
|
itemSpacing: `${FormItemSpacing}`;
|
|
12
11
|
readonly isGroup: boolean;
|
|
13
12
|
colsXl?: number;
|
|
@@ -101,6 +100,56 @@ type ItemsInfo = {
|
|
|
101
100
|
*
|
|
102
101
|
* **For example:** To always place the labels on top set: `labelSpan="S12 M12 L12 XL12"` property.
|
|
103
102
|
*
|
|
103
|
+
* ### Items Empty Span
|
|
104
|
+
*
|
|
105
|
+
* By default, a form item spans 12 cells, fully divided between its label and field, with no empty space at the end:
|
|
106
|
+
* - **Label:** occupies 4 cells.
|
|
107
|
+
* - **Field:** occupies 8 cells.
|
|
108
|
+
*
|
|
109
|
+
* The `emptySpan` property provides additional layout flexibility by defining empty space at the form item’s end.
|
|
110
|
+
*
|
|
111
|
+
* **For example:** Setting "S0 M0 L3 XL3" (or just "L3 XL3") adjusts the layout as follows:
|
|
112
|
+
* - **Label:** remains 4 cells.
|
|
113
|
+
* - **Field:** is reduced to 5 cells.
|
|
114
|
+
* - **Empty space:** 3 cells are added at the end.
|
|
115
|
+
*
|
|
116
|
+
* Greater values increase the empty space at the end of the form item, reducing the space available for the label and its field.
|
|
117
|
+
* However, setting `emptySpan` to 1 cell is recommended and typically sufficient to achieve a balanced layout.
|
|
118
|
+
*
|
|
119
|
+
* ### Navigation flow
|
|
120
|
+
*
|
|
121
|
+
* The Form component supports two layout options for keyboard navigation:
|
|
122
|
+
*
|
|
123
|
+
* #### Simple form
|
|
124
|
+
*
|
|
125
|
+
* In this "simple form" layout, each `ui5-form-item` acts as a standalone group
|
|
126
|
+
* with one item, so focus moves horizontally across the grid from one `ui5-form-item` to the next.
|
|
127
|
+
* This layout is ideal for simpler forms and supports custom arrangements, e.g.,
|
|
128
|
+
*
|
|
129
|
+
* ```
|
|
130
|
+
* | 1 | 2 |
|
|
131
|
+
* | 3 |
|
|
132
|
+
* | 4 | 5 |
|
|
133
|
+
* ```
|
|
134
|
+
*
|
|
135
|
+
* #### Complex form
|
|
136
|
+
*
|
|
137
|
+
* In this layout, items are grouped into `ui5-form-group` elements, allowing more complex configurations:
|
|
138
|
+
*
|
|
139
|
+
* - **Single-Column Group**: Focus moves vertically down from one item to the next.
|
|
140
|
+
* ```
|
|
141
|
+
* | 1 |
|
|
142
|
+
* | 2 |
|
|
143
|
+
* | 3 |
|
|
144
|
+
* ```
|
|
145
|
+
*
|
|
146
|
+
* - **Multi-Column Group**: Focus moves horizontally within each row, advancing to the next row after completing the current one.
|
|
147
|
+
* ```
|
|
148
|
+
* | 1 | 4 |
|
|
149
|
+
* | 2 | 5 |
|
|
150
|
+
* | 3 | 6 |
|
|
151
|
+
* ```
|
|
152
|
+
*
|
|
104
153
|
* ### Keyboard Handling
|
|
105
154
|
*
|
|
106
155
|
* - [Tab] - Moves the focus to the next interactive element within the Form/FormGroup (if available) or to the next element in the tab chain outside the Form
|
|
@@ -138,7 +187,7 @@ declare class Form extends UI5Element {
|
|
|
138
187
|
*/
|
|
139
188
|
layout: string;
|
|
140
189
|
/**
|
|
141
|
-
* Defines the width proportion of the labels and fields of a
|
|
190
|
+
* Defines the width proportion of the labels and fields of a form item by breakpoint.
|
|
142
191
|
*
|
|
143
192
|
* By default, the labels take 4/12 (or 1/3) of the form item in M,L and XL sizes,
|
|
144
193
|
* and 12/12 in S size, e.g in S the label is on top of its associated field.
|
|
@@ -146,10 +195,26 @@ declare class Form extends UI5Element {
|
|
|
146
195
|
* The supported values are between 1 and 12. Greater the number, more space the label will use.
|
|
147
196
|
*
|
|
148
197
|
* **Note:** If "12" is set, the label will be displayed on top of its assosiated field.
|
|
198
|
+
*
|
|
149
199
|
* @default "S12 M4 L4 XL4"
|
|
150
200
|
* @public
|
|
151
201
|
*/
|
|
152
202
|
labelSpan: string;
|
|
203
|
+
/**
|
|
204
|
+
* Defines the number of cells that are empty at the end of each form item, configurable by breakpoint.
|
|
205
|
+
*
|
|
206
|
+
* By default, a form item spans 12 cells, fully divided between its label (4 cells) and field (8 cells), with no empty space at the end.
|
|
207
|
+
* The `emptySpan` provides additional layout flexibility by defining empty space at the form item’s end.
|
|
208
|
+
*
|
|
209
|
+
* **Note:**
|
|
210
|
+
* - The maximum allowable empty space is 10 cells. At least 1 cell each must remain for the label and the field.
|
|
211
|
+
* - When `emptySpan` is specified (greater than 0), ensure that the combined value of `emptySpan` and `labelSpan` does not exceed 11. This guarantees a minimum of 1 cell for the field.
|
|
212
|
+
*
|
|
213
|
+
* @default "S0 M0 L0 XL0"
|
|
214
|
+
* @since 2.5.0
|
|
215
|
+
* @public
|
|
216
|
+
*/
|
|
217
|
+
emptySpan: string;
|
|
153
218
|
/**
|
|
154
219
|
* Defines the header text of the component.
|
|
155
220
|
*
|
|
@@ -190,16 +255,22 @@ declare class Form extends UI5Element {
|
|
|
190
255
|
*/
|
|
191
256
|
columnsS: number;
|
|
192
257
|
labelSpanS: number;
|
|
258
|
+
emptySpanS: number;
|
|
193
259
|
columnsM: number;
|
|
194
260
|
labelSpanM: number;
|
|
261
|
+
emptySpanM: number;
|
|
195
262
|
columnsL: number;
|
|
196
263
|
labelSpanL: number;
|
|
264
|
+
emptySpanL: number;
|
|
197
265
|
columnsXl: number;
|
|
198
266
|
labelSpanXl: number;
|
|
267
|
+
emptySpanXl: number;
|
|
199
268
|
onBeforeRendering(): void;
|
|
200
269
|
onAfterRendering(): void;
|
|
201
270
|
setColumnLayout(): void;
|
|
202
|
-
|
|
271
|
+
parseFormItemSpan(): void;
|
|
272
|
+
setFormItemLayout(): void;
|
|
273
|
+
isValidFormItemLayout(labelSpan: number, emptySpan: number): boolean;
|
|
203
274
|
setFastNavGroup(): void;
|
|
204
275
|
setGroupsColSpan(): void;
|
|
205
276
|
getGroupsColSpan(cols: number, groups: number, index: number, group: IFormItem): number;
|
package/dist/Form.js
CHANGED
|
@@ -7,6 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
8
8
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
9
9
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
10
|
+
import { getScopedVarName } from "@ui5/webcomponents-base/dist/CustomElementsScope.js";
|
|
10
11
|
import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
|
|
11
12
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
12
13
|
// Template
|
|
@@ -21,6 +22,10 @@ const StepColumn = {
|
|
|
21
22
|
"L": 3,
|
|
22
23
|
"XL": 6,
|
|
23
24
|
};
|
|
25
|
+
const breakpoints = ["S", "M", "L", "Xl"];
|
|
26
|
+
const MAX_FORM_ITEM_CELLS = 12;
|
|
27
|
+
const DEFAULT_FORM_ITEM_LAYOUT = "4fr 8fr 0fr";
|
|
28
|
+
const DEFAULT_FORM_ITEM_LAYOUT_S = "1fr";
|
|
24
29
|
/**
|
|
25
30
|
* @class
|
|
26
31
|
*
|
|
@@ -96,6 +101,56 @@ const StepColumn = {
|
|
|
96
101
|
*
|
|
97
102
|
* **For example:** To always place the labels on top set: `labelSpan="S12 M12 L12 XL12"` property.
|
|
98
103
|
*
|
|
104
|
+
* ### Items Empty Span
|
|
105
|
+
*
|
|
106
|
+
* By default, a form item spans 12 cells, fully divided between its label and field, with no empty space at the end:
|
|
107
|
+
* - **Label:** occupies 4 cells.
|
|
108
|
+
* - **Field:** occupies 8 cells.
|
|
109
|
+
*
|
|
110
|
+
* The `emptySpan` property provides additional layout flexibility by defining empty space at the form item’s end.
|
|
111
|
+
*
|
|
112
|
+
* **For example:** Setting "S0 M0 L3 XL3" (or just "L3 XL3") adjusts the layout as follows:
|
|
113
|
+
* - **Label:** remains 4 cells.
|
|
114
|
+
* - **Field:** is reduced to 5 cells.
|
|
115
|
+
* - **Empty space:** 3 cells are added at the end.
|
|
116
|
+
*
|
|
117
|
+
* Greater values increase the empty space at the end of the form item, reducing the space available for the label and its field.
|
|
118
|
+
* However, setting `emptySpan` to 1 cell is recommended and typically sufficient to achieve a balanced layout.
|
|
119
|
+
*
|
|
120
|
+
* ### Navigation flow
|
|
121
|
+
*
|
|
122
|
+
* The Form component supports two layout options for keyboard navigation:
|
|
123
|
+
*
|
|
124
|
+
* #### Simple form
|
|
125
|
+
*
|
|
126
|
+
* In this "simple form" layout, each `ui5-form-item` acts as a standalone group
|
|
127
|
+
* with one item, so focus moves horizontally across the grid from one `ui5-form-item` to the next.
|
|
128
|
+
* This layout is ideal for simpler forms and supports custom arrangements, e.g.,
|
|
129
|
+
*
|
|
130
|
+
* ```
|
|
131
|
+
* | 1 | 2 |
|
|
132
|
+
* | 3 |
|
|
133
|
+
* | 4 | 5 |
|
|
134
|
+
* ```
|
|
135
|
+
*
|
|
136
|
+
* #### Complex form
|
|
137
|
+
*
|
|
138
|
+
* In this layout, items are grouped into `ui5-form-group` elements, allowing more complex configurations:
|
|
139
|
+
*
|
|
140
|
+
* - **Single-Column Group**: Focus moves vertically down from one item to the next.
|
|
141
|
+
* ```
|
|
142
|
+
* | 1 |
|
|
143
|
+
* | 2 |
|
|
144
|
+
* | 3 |
|
|
145
|
+
* ```
|
|
146
|
+
*
|
|
147
|
+
* - **Multi-Column Group**: Focus moves horizontally within each row, advancing to the next row after completing the current one.
|
|
148
|
+
* ```
|
|
149
|
+
* | 1 | 4 |
|
|
150
|
+
* | 2 | 5 |
|
|
151
|
+
* | 3 | 6 |
|
|
152
|
+
* ```
|
|
153
|
+
*
|
|
99
154
|
* ### Keyboard Handling
|
|
100
155
|
*
|
|
101
156
|
* - [Tab] - Moves the focus to the next interactive element within the Form/FormGroup (if available) or to the next element in the tab chain outside the Form
|
|
@@ -135,7 +190,7 @@ let Form = class Form extends UI5Element {
|
|
|
135
190
|
*/
|
|
136
191
|
this.layout = "S1 M1 L2 XL3";
|
|
137
192
|
/**
|
|
138
|
-
* Defines the width proportion of the labels and fields of a
|
|
193
|
+
* Defines the width proportion of the labels and fields of a form item by breakpoint.
|
|
139
194
|
*
|
|
140
195
|
* By default, the labels take 4/12 (or 1/3) of the form item in M,L and XL sizes,
|
|
141
196
|
* and 12/12 in S size, e.g in S the label is on top of its associated field.
|
|
@@ -143,10 +198,26 @@ let Form = class Form extends UI5Element {
|
|
|
143
198
|
* The supported values are between 1 and 12. Greater the number, more space the label will use.
|
|
144
199
|
*
|
|
145
200
|
* **Note:** If "12" is set, the label will be displayed on top of its assosiated field.
|
|
201
|
+
*
|
|
146
202
|
* @default "S12 M4 L4 XL4"
|
|
147
203
|
* @public
|
|
148
204
|
*/
|
|
149
205
|
this.labelSpan = "S12 M4 L4 XL4";
|
|
206
|
+
/**
|
|
207
|
+
* Defines the number of cells that are empty at the end of each form item, configurable by breakpoint.
|
|
208
|
+
*
|
|
209
|
+
* By default, a form item spans 12 cells, fully divided between its label (4 cells) and field (8 cells), with no empty space at the end.
|
|
210
|
+
* The `emptySpan` provides additional layout flexibility by defining empty space at the form item’s end.
|
|
211
|
+
*
|
|
212
|
+
* **Note:**
|
|
213
|
+
* - The maximum allowable empty space is 10 cells. At least 1 cell each must remain for the label and the field.
|
|
214
|
+
* - When `emptySpan` is specified (greater than 0), ensure that the combined value of `emptySpan` and `labelSpan` does not exceed 11. This guarantees a minimum of 1 cell for the field.
|
|
215
|
+
*
|
|
216
|
+
* @default "S0 M0 L0 XL0"
|
|
217
|
+
* @since 2.5.0
|
|
218
|
+
* @public
|
|
219
|
+
*/
|
|
220
|
+
this.emptySpan = "S0 M0 L0 XL0";
|
|
150
221
|
/**
|
|
151
222
|
* Defines the vertical spacing between form items.
|
|
152
223
|
*
|
|
@@ -163,18 +234,22 @@ let Form = class Form extends UI5Element {
|
|
|
163
234
|
*/
|
|
164
235
|
this.columnsS = 1;
|
|
165
236
|
this.labelSpanS = 12;
|
|
237
|
+
this.emptySpanS = 0;
|
|
166
238
|
this.columnsM = 1;
|
|
167
239
|
this.labelSpanM = 4;
|
|
240
|
+
this.emptySpanM = 0;
|
|
168
241
|
this.columnsL = 2;
|
|
169
242
|
this.labelSpanL = 4;
|
|
243
|
+
this.emptySpanL = 0;
|
|
170
244
|
this.columnsXl = 3;
|
|
171
245
|
this.labelSpanXl = 4;
|
|
246
|
+
this.emptySpanXl = 0;
|
|
172
247
|
}
|
|
173
248
|
onBeforeRendering() {
|
|
174
249
|
// Parse the layout and set it to the FormGroups/FormItems.
|
|
175
250
|
this.setColumnLayout();
|
|
176
|
-
// Parse the labelSpan and set it to the FormGroups/FormItems.
|
|
177
|
-
this.
|
|
251
|
+
// Parse the labelSpan and emptySpan and set it to the FormGroups/FormItems.
|
|
252
|
+
this.setFormItemLayout();
|
|
178
253
|
// Define how many columns a group should take.
|
|
179
254
|
this.setGroupsColSpan();
|
|
180
255
|
}
|
|
@@ -200,7 +275,7 @@ let Form = class Form extends UI5Element {
|
|
|
200
275
|
}
|
|
201
276
|
});
|
|
202
277
|
}
|
|
203
|
-
|
|
278
|
+
parseFormItemSpan() {
|
|
204
279
|
this.labelSpan.split(" ").forEach((breakpoint) => {
|
|
205
280
|
if (breakpoint.startsWith("S")) {
|
|
206
281
|
this.labelSpanS = parseInt(breakpoint.slice(1));
|
|
@@ -215,11 +290,59 @@ let Form = class Form extends UI5Element {
|
|
|
215
290
|
this.labelSpanXl = parseInt(breakpoint.slice(2));
|
|
216
291
|
}
|
|
217
292
|
});
|
|
218
|
-
this.
|
|
219
|
-
|
|
220
|
-
|
|
293
|
+
this.emptySpan.split(" ").forEach((breakpoint) => {
|
|
294
|
+
if (breakpoint.startsWith("S")) {
|
|
295
|
+
this.emptySpanS = parseInt(breakpoint.slice(1));
|
|
296
|
+
}
|
|
297
|
+
else if (breakpoint.startsWith("M")) {
|
|
298
|
+
this.emptySpanM = parseInt(breakpoint.slice(1));
|
|
299
|
+
}
|
|
300
|
+
else if (breakpoint.startsWith("L")) {
|
|
301
|
+
this.emptySpanL = parseInt(breakpoint.slice(1));
|
|
302
|
+
}
|
|
303
|
+
else if (breakpoint.startsWith("XL")) {
|
|
304
|
+
this.emptySpanXl = parseInt(breakpoint.slice(2));
|
|
305
|
+
}
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
setFormItemLayout() {
|
|
309
|
+
this.parseFormItemSpan();
|
|
310
|
+
[
|
|
311
|
+
{
|
|
312
|
+
breakpoint: "S",
|
|
313
|
+
labelSpan: this.labelSpanS,
|
|
314
|
+
emptySpan: this.emptySpanS,
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
breakpoint: "M",
|
|
318
|
+
labelSpan: this.labelSpanM,
|
|
319
|
+
emptySpan: this.emptySpanM,
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
breakpoint: "L",
|
|
323
|
+
labelSpan: this.labelSpanL,
|
|
324
|
+
emptySpan: this.emptySpanL,
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
breakpoint: "XL",
|
|
328
|
+
labelSpan: this.labelSpanXl,
|
|
329
|
+
emptySpan: this.emptySpanXl,
|
|
330
|
+
},
|
|
331
|
+
].forEach(layout => {
|
|
332
|
+
if (this.isValidFormItemLayout(layout.labelSpan, layout.emptySpan)) {
|
|
333
|
+
const formItemLayout = layout.labelSpan === MAX_FORM_ITEM_CELLS ? `1fr` : `${layout.labelSpan}fr ${MAX_FORM_ITEM_CELLS - (layout.labelSpan + layout.emptySpan)}fr ${layout.emptySpan}fr`;
|
|
334
|
+
this.style.setProperty(getScopedVarName(`--ui5-form-item-layout-${layout.breakpoint}`), formItemLayout);
|
|
335
|
+
}
|
|
336
|
+
else {
|
|
337
|
+
// eslint-disable-next-line
|
|
338
|
+
console.warn(`Form :: invalid usage of emptySpan and/or labelSpan in ${layout.breakpoint} size. The labelSpan must be <=12 and when emptySpace is used - their combined values must not exceed 11.`);
|
|
339
|
+
this.style.setProperty(getScopedVarName(`--ui5-form-item-layout-${layout.breakpoint}`), layout.breakpoint === "S" ? DEFAULT_FORM_ITEM_LAYOUT_S : DEFAULT_FORM_ITEM_LAYOUT);
|
|
340
|
+
}
|
|
221
341
|
});
|
|
222
342
|
}
|
|
343
|
+
isValidFormItemLayout(labelSpan, emptySpan) {
|
|
344
|
+
return emptySpan === 0 ? labelSpan <= MAX_FORM_ITEM_CELLS : labelSpan + emptySpan <= MAX_FORM_ITEM_CELLS - 1;
|
|
345
|
+
}
|
|
223
346
|
setFastNavGroup() {
|
|
224
347
|
if (this.hasGroupItems) {
|
|
225
348
|
this.removeAttribute("data-sap-ui-fastnavgroup");
|
|
@@ -285,6 +408,24 @@ let Form = class Form extends UI5Element {
|
|
|
285
408
|
}
|
|
286
409
|
get groupItemsInfo() {
|
|
287
410
|
return this.items.map((groupItem) => {
|
|
411
|
+
const items = this.getItemsInfo(Array.from(groupItem.children));
|
|
412
|
+
breakpoints.forEach(breakpoint => {
|
|
413
|
+
const cols = ((groupItem[`cols${breakpoint}`]) || 1);
|
|
414
|
+
const rows = Math.ceil(items.length / cols);
|
|
415
|
+
const total = cols * rows;
|
|
416
|
+
const lastRowColumns = (cols - (total - items.length) - 1); // all other indecies start from 0
|
|
417
|
+
let currentItem = 0;
|
|
418
|
+
for (let i = 0; i < total; i++) {
|
|
419
|
+
const column = Math.floor(i / rows);
|
|
420
|
+
const row = i % rows;
|
|
421
|
+
if (row === rows - 1 && column > lastRowColumns) {
|
|
422
|
+
// eslint-disable-next-line no-continue
|
|
423
|
+
continue;
|
|
424
|
+
}
|
|
425
|
+
items[currentItem].item.style.setProperty(getScopedVarName(`--ui5-form-item-order-${breakpoint}`), `${column + row * cols}`);
|
|
426
|
+
currentItem++;
|
|
427
|
+
}
|
|
428
|
+
});
|
|
288
429
|
return {
|
|
289
430
|
groupItem,
|
|
290
431
|
accessibleNameRef: groupItem.headerText ? `${groupItem._id}-group-header-text` : undefined,
|
|
@@ -377,6 +518,9 @@ __decorate([
|
|
|
377
518
|
__decorate([
|
|
378
519
|
property()
|
|
379
520
|
], Form.prototype, "labelSpan", void 0);
|
|
521
|
+
__decorate([
|
|
522
|
+
property()
|
|
523
|
+
], Form.prototype, "emptySpan", void 0);
|
|
380
524
|
__decorate([
|
|
381
525
|
property()
|
|
382
526
|
], Form.prototype, "headerText", void 0);
|
|
@@ -400,24 +544,36 @@ __decorate([
|
|
|
400
544
|
__decorate([
|
|
401
545
|
property({ type: Number })
|
|
402
546
|
], Form.prototype, "labelSpanS", void 0);
|
|
547
|
+
__decorate([
|
|
548
|
+
property({ type: Number })
|
|
549
|
+
], Form.prototype, "emptySpanS", void 0);
|
|
403
550
|
__decorate([
|
|
404
551
|
property({ type: Number })
|
|
405
552
|
], Form.prototype, "columnsM", void 0);
|
|
406
553
|
__decorate([
|
|
407
554
|
property({ type: Number })
|
|
408
555
|
], Form.prototype, "labelSpanM", void 0);
|
|
556
|
+
__decorate([
|
|
557
|
+
property({ type: Number })
|
|
558
|
+
], Form.prototype, "emptySpanM", void 0);
|
|
409
559
|
__decorate([
|
|
410
560
|
property({ type: Number })
|
|
411
561
|
], Form.prototype, "columnsL", void 0);
|
|
412
562
|
__decorate([
|
|
413
563
|
property({ type: Number })
|
|
414
564
|
], Form.prototype, "labelSpanL", void 0);
|
|
565
|
+
__decorate([
|
|
566
|
+
property({ type: Number })
|
|
567
|
+
], Form.prototype, "emptySpanL", void 0);
|
|
415
568
|
__decorate([
|
|
416
569
|
property({ type: Number })
|
|
417
570
|
], Form.prototype, "columnsXl", void 0);
|
|
418
571
|
__decorate([
|
|
419
572
|
property({ type: Number })
|
|
420
573
|
], Form.prototype, "labelSpanXl", void 0);
|
|
574
|
+
__decorate([
|
|
575
|
+
property({ type: Number })
|
|
576
|
+
], Form.prototype, "emptySpanXl", void 0);
|
|
421
577
|
Form = __decorate([
|
|
422
578
|
customElement({
|
|
423
579
|
tag: "ui5-form",
|