@ui5/webcomponents 2.4.1-rc.0 → 2.5.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +38 -0
- package/cypress/specs/ColorPicker.cy.ts +27 -0
- package/cypress/specs/Form.cy.ts +491 -44
- package/cypress/specs/LitKeyFunction.cy.ts +23 -16
- package/cypress/specs/TableGrowing.cy.ts +358 -0
- package/cypress/specs/Tokenizer.cy.ts +114 -0
- package/cypress/specs/Toolbar.cy.ts +51 -0
- package/cypress/specs/Tree.cy.ts +29 -0
- package/cypress/specs/base/{AriaLabelHelper.cy.ts → AccessibilityTextsHelper.cy.ts} +37 -1
- package/cypress/specs/base/Events.cy.ts +1 -2
- package/cypress/support/commands.ts +1 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/Button.js +1 -1
- package/dist/Button.js.map +1 -1
- package/dist/Card.js +1 -1
- package/dist/Card.js.map +1 -1
- package/dist/CardHeader.d.ts +1 -1
- package/dist/CardHeader.js +1 -1
- package/dist/CardHeader.js.map +1 -1
- package/dist/Carousel.js +1 -1
- package/dist/Carousel.js.map +1 -1
- package/dist/CheckBox.js +1 -1
- package/dist/CheckBox.js.map +1 -1
- package/dist/ColorPicker.d.ts +9 -0
- package/dist/ColorPicker.js +14 -0
- package/dist/ColorPicker.js.map +1 -1
- package/dist/ComboBox.d.ts +0 -1
- package/dist/ComboBox.js +11 -13
- package/dist/ComboBox.js.map +1 -1
- package/dist/ComboBoxItem.d.ts +11 -5
- package/dist/ComboBoxItem.js +21 -8
- package/dist/ComboBoxItem.js.map +1 -1
- package/dist/ComboBoxItemGroup.d.ts +5 -20
- package/dist/ComboBoxItemGroup.js +9 -26
- package/dist/ComboBoxItemGroup.js.map +1 -1
- package/dist/DatePicker.js +1 -1
- package/dist/DatePicker.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 +46 -2
- package/dist/Form.js +75 -1
- package/dist/Form.js.map +1 -1
- package/dist/FormGroup.js +4 -1
- package/dist/FormGroup.js.map +1 -1
- package/dist/Input.js +1 -1
- package/dist/Input.js.map +1 -1
- package/dist/Link.js +1 -1
- package/dist/Link.js.map +1 -1
- package/dist/List.d.ts +27 -1
- package/dist/List.js +29 -5
- package/dist/List.js.map +1 -1
- package/dist/MultiComboBox.d.ts +1 -4
- package/dist/MultiComboBox.js +46 -37
- package/dist/MultiComboBox.js.map +1 -1
- package/dist/MultiComboBoxItem.d.ts +5 -1
- package/dist/MultiComboBoxItem.js +34 -4
- package/dist/MultiComboBoxItem.js.map +1 -1
- package/dist/MultiComboBoxItemGroup.d.ts +5 -10
- package/dist/MultiComboBoxItemGroup.js +12 -9
- package/dist/MultiComboBoxItemGroup.js.map +1 -1
- package/dist/Popover.js +4 -3
- package/dist/Popover.js.map +1 -1
- package/dist/Popup.js +1 -1
- package/dist/Popup.js.map +1 -1
- package/dist/RadioButton.js +1 -1
- package/dist/RadioButton.js.map +1 -1
- package/dist/RatingIndicator.js +1 -1
- package/dist/RatingIndicator.js.map +1 -1
- package/dist/SegmentedButtonItem.js +1 -1
- package/dist/SegmentedButtonItem.js.map +1 -1
- package/dist/Select.js +1 -1
- package/dist/Select.js.map +1 -1
- package/dist/SliderBase.js +2 -2
- package/dist/SliderBase.js.map +1 -1
- package/dist/StepInput.js +1 -1
- package/dist/StepInput.js.map +1 -1
- package/dist/Switch.js +1 -1
- package/dist/Switch.js.map +1 -1
- package/dist/Table.js +1 -1
- package/dist/Table.js.map +1 -1
- package/dist/TableGrowing.d.ts +5 -0
- package/dist/TableGrowing.js +21 -12
- package/dist/TableGrowing.js.map +1 -1
- package/dist/TextArea.js +1 -1
- package/dist/TextArea.js.map +1 -1
- package/dist/TimePicker.js +1 -1
- package/dist/TimePicker.js.map +1 -1
- package/dist/Tokenizer.d.ts +23 -2
- package/dist/Tokenizer.js +72 -15
- package/dist/Tokenizer.js.map +1 -1
- package/dist/Toolbar.js +1 -1
- package/dist/Toolbar.js.map +1 -1
- package/dist/ToolbarSpacer.js +2 -2
- package/dist/ToolbarSpacer.js.map +1 -1
- package/dist/Tree.d.ts +14 -1
- package/dist/Tree.js +6 -4
- package/dist/Tree.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 -0
- package/dist/css/themes/DatePicker.css +1 -1
- package/dist/css/themes/DateTimePickerPopover.css +1 -1
- package/dist/css/themes/DayPicker.css +1 -1
- package/dist/css/themes/Dialog.css +1 -1
- package/dist/css/themes/FileUploader.css +1 -1
- package/dist/css/themes/Form.css +1 -1
- package/dist/css/themes/FormItem.css +1 -1
- package/dist/css/themes/FormLabelSpan.css +1 -1
- package/dist/css/themes/GrowingButton.css +1 -1
- package/dist/css/themes/Icon.css +1 -1
- package/dist/css/themes/Input.css +1 -1
- package/dist/css/themes/InputIcon.css +1 -1
- package/dist/css/themes/InputSharedStyles.css +1 -1
- package/dist/css/themes/Link.css +1 -1
- package/dist/css/themes/List.css +1 -1
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/ListItemBase.css +1 -1
- package/dist/css/themes/ListItemCustom.css +1 -1
- package/dist/css/themes/ListItemGroup.css +1 -1
- package/dist/css/themes/ListItemGroupHeader.css +1 -1
- package/dist/css/themes/ListItemIcon.css +1 -1
- package/dist/css/themes/Menu.css +1 -1
- package/dist/css/themes/MenuItem.css +1 -1
- package/dist/css/themes/MessageStrip.css +1 -1
- package/dist/css/themes/MonthPicker.css +1 -1
- package/dist/css/themes/MultiComboBox.css +1 -1
- package/dist/css/themes/MultiComboBoxItem.css +1 -0
- 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 +503 -62
- package/dist/custom-elements.json +363 -43
- 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/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/i18n/i18n-defaults.d.ts +2 -1
- package/dist/generated/i18n/i18n-defaults.js +2 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/templates/ColorPickerTemplate.lit.js +3 -1
- package/dist/generated/templates/ColorPickerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ComboBoxItemGroupTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/ComboBoxItemGroupTemplate.lit.js +10 -0
- package/dist/generated/templates/ComboBoxItemGroupTemplate.lit.js.map +1 -0
- package/dist/generated/templates/ComboBoxItemTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/ComboBoxItemTemplate.lit.js +6 -0
- package/dist/generated/templates/ComboBoxItemTemplate.lit.js.map +1 -0
- package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +6 -11
- package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ComboBoxTemplate.lit.js +6 -11
- package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
- package/dist/generated/templates/FormTemplate.lit.js +3 -3
- package/dist/generated/templates/FormTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ListTemplate.lit.js +1 -1
- package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MultiComboBoxItemGroupTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/MultiComboBoxItemGroupTemplate.lit.js +10 -0
- package/dist/generated/templates/MultiComboBoxItemGroupTemplate.lit.js.map +1 -0
- package/dist/generated/templates/MultiComboBoxItemTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/MultiComboBoxItemTemplate.lit.js +6 -0
- package/dist/generated/templates/MultiComboBoxItemTemplate.lit.js.map +1 -0
- package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +11 -19
- package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MultiComboBoxTemplate.lit.js +11 -19
- package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TokenizerTemplate.lit.js +7 -6
- package/dist/generated/templates/TokenizerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TreeTemplate.lit.js +1 -1
- package/dist/generated/templates/TreeTemplate.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.d.ts +3 -0
- package/dist/generated/themes/ComboBoxItem.css.js +9 -0
- package/dist/generated/themes/ComboBoxItem.css.js.map +1 -0
- package/dist/generated/themes/DatePicker.css.js +1 -1
- package/dist/generated/themes/DatePicker.css.js.map +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/DayPicker.css.js +1 -1
- package/dist/generated/themes/DayPicker.css.js.map +1 -1
- package/dist/generated/themes/Dialog.css.js +1 -1
- package/dist/generated/themes/Dialog.css.js.map +1 -1
- package/dist/generated/themes/FileUploader.css.js +1 -1
- package/dist/generated/themes/FileUploader.css.js.map +1 -1
- package/dist/generated/themes/Form.css.js +1 -1
- package/dist/generated/themes/Form.css.js.map +1 -1
- package/dist/generated/themes/FormItem.css.js +1 -1
- package/dist/generated/themes/FormItem.css.js.map +1 -1
- package/dist/generated/themes/FormLabelSpan.css.js +1 -1
- package/dist/generated/themes/FormLabelSpan.css.js.map +1 -1
- package/dist/generated/themes/GrowingButton.css.js +1 -1
- package/dist/generated/themes/GrowingButton.css.js.map +1 -1
- package/dist/generated/themes/Icon.css.js +1 -1
- package/dist/generated/themes/Icon.css.js.map +1 -1
- package/dist/generated/themes/Input.css.js +1 -1
- package/dist/generated/themes/Input.css.js.map +1 -1
- package/dist/generated/themes/InputIcon.css.js +1 -1
- package/dist/generated/themes/InputIcon.css.js.map +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
- package/dist/generated/themes/Link.css.js +1 -1
- package/dist/generated/themes/Link.css.js.map +1 -1
- package/dist/generated/themes/List.css.js +1 -1
- package/dist/generated/themes/List.css.js.map +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/ListItemBase.css.js +1 -1
- package/dist/generated/themes/ListItemBase.css.js.map +1 -1
- package/dist/generated/themes/ListItemCustom.css.js +1 -1
- package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
- package/dist/generated/themes/ListItemGroup.css.js +1 -1
- package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
- package/dist/generated/themes/ListItemIcon.css.js +1 -1
- package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
- package/dist/generated/themes/Menu.css.js +1 -1
- package/dist/generated/themes/Menu.css.js.map +1 -1
- package/dist/generated/themes/MenuItem.css.js +1 -1
- package/dist/generated/themes/MenuItem.css.js.map +1 -1
- package/dist/generated/themes/MessageStrip.css.js +1 -1
- package/dist/generated/themes/MessageStrip.css.js.map +1 -1
- package/dist/generated/themes/MonthPicker.css.js +1 -1
- package/dist/generated/themes/MonthPicker.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBox.css.js +1 -1
- package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBoxItem.css.d.ts +3 -0
- package/dist/generated/themes/MultiComboBoxItem.css.js +9 -0
- package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -0
- package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
- package/dist/generated/themes/MultiInput.css.js +1 -1
- package/dist/generated/themes/MultiInput.css.js.map +1 -1
- package/dist/generated/themes/NavigationMenu.css.js +1 -1
- package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
- package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
- package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
- package/dist/generated/themes/OptionBase.css.js +1 -1
- package/dist/generated/themes/OptionBase.css.js.map +1 -1
- package/dist/generated/themes/Panel.css.js +1 -1
- package/dist/generated/themes/Panel.css.js.map +1 -1
- package/dist/generated/themes/Popover.css.js +1 -1
- package/dist/generated/themes/Popover.css.js.map +1 -1
- package/dist/generated/themes/PopupsCommon.css.js +1 -1
- package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
- package/dist/generated/themes/RadioButton.css.js +1 -1
- package/dist/generated/themes/RadioButton.css.js.map +1 -1
- package/dist/generated/themes/RangeSlider.css.js +1 -1
- package/dist/generated/themes/RangeSlider.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButton.css.js +1 -1
- package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
- package/dist/generated/themes/Select.css.js +1 -1
- package/dist/generated/themes/Select.css.js.map +1 -1
- package/dist/generated/themes/SliderBase.css.js +1 -1
- package/dist/generated/themes/SliderBase.css.js.map +1 -1
- package/dist/generated/themes/SplitButton.css.js +1 -1
- package/dist/generated/themes/SplitButton.css.js.map +1 -1
- package/dist/generated/themes/StepInput.css.js +1 -1
- package/dist/generated/themes/StepInput.css.js.map +1 -1
- package/dist/generated/themes/SuggestionItem.css.js +1 -1
- package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
- package/dist/generated/themes/Switch.css.js +1 -1
- package/dist/generated/themes/Switch.css.js.map +1 -1
- package/dist/generated/themes/TabContainer.css.js +1 -1
- package/dist/generated/themes/TabContainer.css.js.map +1 -1
- package/dist/generated/themes/TabInOverflow.css.js +1 -1
- package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
- package/dist/generated/themes/TabInStrip.css.js +1 -1
- package/dist/generated/themes/TabInStrip.css.js.map +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
- package/dist/generated/themes/Table.css.js +1 -1
- package/dist/generated/themes/Table.css.js.map +1 -1
- package/dist/generated/themes/TableCellBase.css.js +1 -1
- package/dist/generated/themes/TableCellBase.css.js.map +1 -1
- package/dist/generated/themes/TableHeaderRow.css.js +1 -1
- package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
- package/dist/generated/themes/TableRow.css.js +1 -1
- package/dist/generated/themes/TableRow.css.js.map +1 -1
- package/dist/generated/themes/TableRowBase.css.js +1 -1
- package/dist/generated/themes/TableRowBase.css.js.map +1 -1
- package/dist/generated/themes/Tag.css.js +1 -1
- package/dist/generated/themes/Tag.css.js.map +1 -1
- package/dist/generated/themes/Text.css.js +1 -1
- package/dist/generated/themes/Text.css.js.map +1 -1
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js.map +1 -1
- package/dist/generated/themes/TimePicker.css.js +1 -1
- package/dist/generated/themes/TimePicker.css.js.map +1 -1
- package/dist/generated/themes/Toast.css.js +1 -1
- package/dist/generated/themes/Toast.css.js.map +1 -1
- package/dist/generated/themes/ToggleButton.css.js +1 -1
- package/dist/generated/themes/ToggleButton.css.js.map +1 -1
- package/dist/generated/themes/Token.css.js +1 -1
- package/dist/generated/themes/Token.css.js.map +1 -1
- package/dist/generated/themes/Tokenizer.css.js +1 -1
- package/dist/generated/themes/Tokenizer.css.js.map +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
- package/dist/generated/themes/Toolbar.css.js +1 -1
- package/dist/generated/themes/Toolbar.css.js.map +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
- package/dist/generated/themes/TreeItem.css.js +1 -1
- package/dist/generated/themes/TreeItem.css.js.map +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
- package/dist/generated/themes/YearPicker.css.js +1 -1
- package/dist/generated/themes/YearPicker.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
- package/dist/types/ColorPickerDisplayMode.d.ts +17 -0
- package/dist/types/ColorPickerDisplayMode.js +19 -0
- package/dist/types/ColorPickerDisplayMode.js.map +1 -0
- package/dist/vscode.html-custom-data.json +59 -9
- package/dist/web-types.json +158 -19
- package/package.json +10 -10
- package/src/ColorPicker.hbs +60 -56
- package/src/ComboBoxItem.hbs +18 -0
- package/src/ComboBoxItemGroup.hbs +9 -0
- package/src/ComboBoxPopover.hbs +2 -31
- package/src/Form.hbs +3 -3
- package/src/List.hbs +1 -0
- package/src/ListItemGroup.hbs +11 -4
- package/src/MultiComboBox.hbs +10 -12
- package/src/MultiComboBoxItem.hbs +19 -0
- package/src/MultiComboBoxItemGroup.hbs +9 -0
- package/src/MultiComboBoxPopover.hbs +5 -36
- package/src/Tokenizer.hbs +28 -17
- package/src/Tree.hbs +4 -1
- package/src/i18n/messagebundle.properties +3 -0
- 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/themes/ComboBoxItem.css +14 -0
- package/src/themes/Dialog.css +1 -0
- package/src/themes/FormItem.css +31 -1
- package/src/themes/MultiComboBoxItem.css +19 -0
- package/src/themes/MultiComboBoxPopover.css +5 -1
- package/src/themes/Table.css +1 -4
- package/src/themes/Tokenizer.css +45 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { html } from "lit";
|
|
2
2
|
import "../../src/MultiComboBox.js";
|
|
3
3
|
import "../../src/MultiComboBoxItem.js";
|
|
4
|
+
import type List from "../../src/List.js";
|
|
4
5
|
|
|
5
6
|
describe("Lit HTML key function for #each", () => {
|
|
6
7
|
it("LIT HTML does not mess up keys when looping over lists", () => {
|
|
@@ -21,15 +22,17 @@ describe("Lit HTML key function for #each", () => {
|
|
|
21
22
|
|
|
22
23
|
cy.get("@mcb")
|
|
23
24
|
.shadow()
|
|
24
|
-
.find("
|
|
25
|
-
.as("
|
|
25
|
+
.find("[ui5-responsive-popover]")
|
|
26
|
+
.as("rpo");
|
|
26
27
|
|
|
27
|
-
cy.get("@
|
|
28
|
-
.find("
|
|
29
|
-
.as("
|
|
28
|
+
cy.get("@rpo")
|
|
29
|
+
.find("[ui5-list]")
|
|
30
|
+
.as("list");
|
|
30
31
|
|
|
31
|
-
cy.get("@
|
|
32
|
-
.
|
|
32
|
+
cy.get("@list")
|
|
33
|
+
.then($el => {
|
|
34
|
+
return ($el[0] as List).getSlottedNodes("items");
|
|
35
|
+
})
|
|
33
36
|
.realClick();
|
|
34
37
|
|
|
35
38
|
cy.get("@mcb")
|
|
@@ -37,14 +40,18 @@ describe("Lit HTML key function for #each", () => {
|
|
|
37
40
|
.find(".inputIcon")
|
|
38
41
|
.realClick();
|
|
39
42
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
cy.get("@list")
|
|
44
|
+
.then($el => {
|
|
45
|
+
return ($el[0] as List).getSlottedNodes("items")[0];
|
|
46
|
+
})
|
|
47
|
+
.invoke("attr", "text", "<empty>")
|
|
48
|
+
.should("not.have.attr", "selected");
|
|
49
|
+
|
|
50
|
+
cy.get("@list")
|
|
51
|
+
.then($el => {
|
|
52
|
+
return ($el[0] as List).getSlottedNodes("items")[3];
|
|
53
|
+
})
|
|
54
|
+
.invoke("attr", "text", "USA")
|
|
55
|
+
.should("have.attr", "selected");
|
|
49
56
|
});
|
|
50
57
|
});
|
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
import { html } from "lit";
|
|
2
|
+
|
|
3
|
+
import "../../src/Table.js";
|
|
4
|
+
import "../../src/TableHeaderRow.js";
|
|
5
|
+
import "../../src/TableCell.js";
|
|
6
|
+
import "../../src/TableRow.js";
|
|
7
|
+
import "../../src/TableGrowing.js";
|
|
8
|
+
|
|
9
|
+
import type TableGrowing from "../../src/TableGrowing.js";
|
|
10
|
+
|
|
11
|
+
describe("TableGrowing - Button", () => {
|
|
12
|
+
function mountTable() {
|
|
13
|
+
cy.mount(html`
|
|
14
|
+
<ui5-table id="table">
|
|
15
|
+
<ui5-table-growing slot="features"></ui5-table-growing>
|
|
16
|
+
<ui5-table-header-row slot="headerRow">
|
|
17
|
+
<ui5-table-header-cell><span>ColumnA</span></ui5-table-header-cell>
|
|
18
|
+
</ui5-table-header-row>
|
|
19
|
+
<ui5-table-row>
|
|
20
|
+
<ui5-table-cell><ui5-label>Cell A</ui5-label></ui5-table-cell>
|
|
21
|
+
</ui5-table-row>
|
|
22
|
+
</ui5-table>
|
|
23
|
+
`);
|
|
24
|
+
}
|
|
25
|
+
describe("Rendering", () => {
|
|
26
|
+
it("tests button is rendered", () => {
|
|
27
|
+
mountTable();
|
|
28
|
+
|
|
29
|
+
cy.get("[ui5-table-growing]")
|
|
30
|
+
.shadow()
|
|
31
|
+
.find("#growing-button")
|
|
32
|
+
.should("exist")
|
|
33
|
+
.should("have.attr", "role", "button")
|
|
34
|
+
.should("have.attr", "aria-labelledby", "growing-text growing-subtext");
|
|
35
|
+
|
|
36
|
+
cy.get("[ui5-table")
|
|
37
|
+
.shadow()
|
|
38
|
+
.find("#growing-row")
|
|
39
|
+
.should("exist");
|
|
40
|
+
|
|
41
|
+
cy.get("[ui5-table-growing]")
|
|
42
|
+
.shadow()
|
|
43
|
+
.find("#growing-text")
|
|
44
|
+
.should("have.text", "More");
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
it("tests correct custom texts are rendered", () => {
|
|
48
|
+
const growingText = "My Custom Growing Text",
|
|
49
|
+
growingSubtext = "My Custom Growing Subtext";
|
|
50
|
+
cy.mount(html`
|
|
51
|
+
<ui5-table>
|
|
52
|
+
<ui5-table-growing slot="features" growing-text="${growingText}" growing-sub-text="${growingSubtext}"/>
|
|
53
|
+
<ui5-table-header-row slot="headerRow">
|
|
54
|
+
<ui5-table-header-cell><span>ColumnA</span></ui5-table-header-cell>
|
|
55
|
+
</ui5-table-header-row>
|
|
56
|
+
<ui5-table-row>
|
|
57
|
+
<ui5-table-cell><ui5-label>Cell A</ui5-label></ui5-table-cell>
|
|
58
|
+
</ui5-table-row>
|
|
59
|
+
</ui5-table>
|
|
60
|
+
`);
|
|
61
|
+
|
|
62
|
+
cy.get("[ui5-table-growing]")
|
|
63
|
+
.shadow()
|
|
64
|
+
.find("#growing-button")
|
|
65
|
+
.should("exist")
|
|
66
|
+
.should("have.attr", "role", "button")
|
|
67
|
+
.should("have.attr", "aria-labelledby", "growing-text growing-subtext");
|
|
68
|
+
|
|
69
|
+
cy.get("[ui5-table-growing]")
|
|
70
|
+
.shadow()
|
|
71
|
+
.find("#growing-text")
|
|
72
|
+
.should("have.text", growingText);
|
|
73
|
+
|
|
74
|
+
cy.get("[ui5-table-growing]")
|
|
75
|
+
.shadow()
|
|
76
|
+
.find("#growing-subtext")
|
|
77
|
+
.should("have.text", growingSubtext);
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
it("tests diabled state", () => {
|
|
81
|
+
cy.mount(html`
|
|
82
|
+
<ui5-table>
|
|
83
|
+
<ui5-table-growing slot="features" disabled></ui5-table-growing>
|
|
84
|
+
<ui5-table-header-row slot="headerRow">
|
|
85
|
+
<ui5-table-header-cell><span>ColumnA</span></ui5-table-header-cell>
|
|
86
|
+
</ui5-table-header-row>
|
|
87
|
+
<ui5-table-row>
|
|
88
|
+
<ui5-table-cell><ui5-label>Cell A</ui5-label></ui5-table-cell>
|
|
89
|
+
</ui5-table-row>
|
|
90
|
+
</ui5-table>
|
|
91
|
+
`);
|
|
92
|
+
|
|
93
|
+
cy.get("[ui5-table]")
|
|
94
|
+
.shadow()
|
|
95
|
+
.find("#growing-row")
|
|
96
|
+
.should("not.exist");
|
|
97
|
+
|
|
98
|
+
cy.get("[ui5-table-growing]")
|
|
99
|
+
.shadow()
|
|
100
|
+
.find("#growing-button")
|
|
101
|
+
.should("not.exist");
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
it("tests dynamically setting disabled state", () => {
|
|
105
|
+
mountTable();
|
|
106
|
+
|
|
107
|
+
cy.get("[ui5-table]")
|
|
108
|
+
.shadow()
|
|
109
|
+
.find("#growing-row")
|
|
110
|
+
.should("exist");
|
|
111
|
+
|
|
112
|
+
cy.get<TableGrowing>("[ui5-table-growing]")
|
|
113
|
+
.then(table => { table.get(0).disabled = true; });
|
|
114
|
+
|
|
115
|
+
cy.get("[ui5-table]")
|
|
116
|
+
.shadow()
|
|
117
|
+
.find("#growing-row")
|
|
118
|
+
.should("not.exist");
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
it("tests growing button not shown when no data", () => {
|
|
122
|
+
cy.mount(html`
|
|
123
|
+
<ui5-table>
|
|
124
|
+
<ui5-table-growing slot="features"></ui5-table-growing>
|
|
125
|
+
<ui5-table-header-row slot="headerRow">
|
|
126
|
+
<ui5-table-header-cell><span>ColumnA</span></ui5-table-header-cell>
|
|
127
|
+
</ui5-table-header-row>
|
|
128
|
+
</ui5-table>
|
|
129
|
+
`);
|
|
130
|
+
|
|
131
|
+
cy.get("[ui5-table]")
|
|
132
|
+
.shadow()
|
|
133
|
+
.find("#growing-row")
|
|
134
|
+
.should("not.exist");
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
describe("Event & Focus", () => {
|
|
139
|
+
it("tests loadMore event fired upon pressing button", () => {
|
|
140
|
+
mountTable();
|
|
141
|
+
|
|
142
|
+
cy.get<TableGrowing>("[ui5-table-growing]")
|
|
143
|
+
.then(tableGrowing => tableGrowing.get(0).addEventListener("load-more", cy.stub().as("loadMore")))
|
|
144
|
+
.click();
|
|
145
|
+
|
|
146
|
+
cy.get("@loadMore")
|
|
147
|
+
.should("have.been.calledOnce");
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
it("test loadMore event fired upon pressing Enter", () => {
|
|
151
|
+
mountTable();
|
|
152
|
+
|
|
153
|
+
cy.get<TableGrowing>("[ui5-table-growing]")
|
|
154
|
+
.then(tableGrowing => tableGrowing.get(0).addEventListener("load-more", cy.stub().as("loadMore")))
|
|
155
|
+
.shadow()
|
|
156
|
+
.find("#growing-button")
|
|
157
|
+
.focus();
|
|
158
|
+
|
|
159
|
+
cy.realPress("Enter");
|
|
160
|
+
|
|
161
|
+
cy.get("@loadMore")
|
|
162
|
+
.should("have.been.calledOnce");
|
|
163
|
+
|
|
164
|
+
cy.get<TableGrowing>("[ui5-table-growing]")
|
|
165
|
+
.shadow()
|
|
166
|
+
.find("#growing-button")
|
|
167
|
+
.focus();
|
|
168
|
+
|
|
169
|
+
cy.realPress("Space");
|
|
170
|
+
|
|
171
|
+
cy.get("@loadMore")
|
|
172
|
+
.should("have.been.calledTwice");
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
it("tests focus is set to first newly added row", () => {
|
|
176
|
+
mountTable();
|
|
177
|
+
|
|
178
|
+
cy.get<TableGrowing>("[ui5-table-growing]")
|
|
179
|
+
.then(tableGrowing => {
|
|
180
|
+
tableGrowing.get(0).addEventListener("load-more", () => {
|
|
181
|
+
const table = document.getElementById("table");
|
|
182
|
+
const row = document.createElement("ui5-table-row");
|
|
183
|
+
row.id = "new-row";
|
|
184
|
+
row.innerHTML = "<ui5-table-cell><ui5-label>Cell B</ui5-label></ui5-table-cell>";
|
|
185
|
+
table!.appendChild(row);
|
|
186
|
+
});
|
|
187
|
+
})
|
|
188
|
+
.click();
|
|
189
|
+
|
|
190
|
+
cy.get("[ui5-table]")
|
|
191
|
+
.children("ui5-table-row")
|
|
192
|
+
.should("have.length", 2);
|
|
193
|
+
|
|
194
|
+
cy.get("#new-row")
|
|
195
|
+
.should("exist")
|
|
196
|
+
.should("have.focus");
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
it("tests focus is set to growing button when no new rows are added", () => {
|
|
200
|
+
mountTable();
|
|
201
|
+
|
|
202
|
+
cy.get<TableGrowing>("[ui5-table-growing]")
|
|
203
|
+
.click();
|
|
204
|
+
|
|
205
|
+
cy.get("[ui5-table-growing]")
|
|
206
|
+
.should("have.focus");
|
|
207
|
+
});
|
|
208
|
+
});
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
describe("TableGrowing - Scroll", () => {
|
|
212
|
+
function mountTable(rowCount: number = 10, overflow = false) {
|
|
213
|
+
cy.mount(html`
|
|
214
|
+
<div id="wrapper" style="height: 200px; ${overflow ? "overflow: auto" : ""}">
|
|
215
|
+
<ui5-table id="table">
|
|
216
|
+
<ui5-table-growing slot="features" type="Scroll"></ui5-table-growing>
|
|
217
|
+
<ui5-table-header-row slot="headerRow">
|
|
218
|
+
<ui5-table-header-cell><span>ColumnA</span></ui5-table-header-cell>
|
|
219
|
+
</ui5-table-header-row>
|
|
220
|
+
${Array.from({ length: rowCount }).map(() => html`
|
|
221
|
+
<ui5-table-row>
|
|
222
|
+
<ui5-table-cell><ui5-label>Cell A</ui5-label></ui5-table-cell>
|
|
223
|
+
</ui5-table-row>
|
|
224
|
+
`)}
|
|
225
|
+
</ui5-table>
|
|
226
|
+
</div>
|
|
227
|
+
`);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
describe("Rendering", () => {
|
|
231
|
+
it("tests no button shown, when scrollable", () => {
|
|
232
|
+
mountTable(10, true);
|
|
233
|
+
|
|
234
|
+
cy.get("[ui5-table-growing]")
|
|
235
|
+
.shadow()
|
|
236
|
+
.find("#growing-button")
|
|
237
|
+
.should("not.exist");
|
|
238
|
+
|
|
239
|
+
cy.get("[ui5-table]")
|
|
240
|
+
.shadow()
|
|
241
|
+
.find("#growing-row")
|
|
242
|
+
.should("not.exist");
|
|
243
|
+
});
|
|
244
|
+
|
|
245
|
+
it("tests button shown when not scrollable", () => {
|
|
246
|
+
mountTable(1, false);
|
|
247
|
+
|
|
248
|
+
cy.get("[ui5-table-growing]")
|
|
249
|
+
.shadow()
|
|
250
|
+
.find("#growing-button")
|
|
251
|
+
.should("exist");
|
|
252
|
+
|
|
253
|
+
cy.get("[ui5-table]")
|
|
254
|
+
.shadow()
|
|
255
|
+
.find("#growing-row")
|
|
256
|
+
.should("exist");
|
|
257
|
+
});
|
|
258
|
+
|
|
259
|
+
it("tests button not shown when not scrollable and disabled", () => {
|
|
260
|
+
mountTable(1, true);
|
|
261
|
+
|
|
262
|
+
cy.get<TableGrowing>("[ui5-table-growing]")
|
|
263
|
+
.then(tableGrowing => { tableGrowing.get(0).disabled = true; });
|
|
264
|
+
|
|
265
|
+
cy.get("[ui5-table]")
|
|
266
|
+
.shadow()
|
|
267
|
+
.find("#growing-row")
|
|
268
|
+
.should("not.exist");
|
|
269
|
+
|
|
270
|
+
cy.get("[ui5-table-growing]")
|
|
271
|
+
.shadow()
|
|
272
|
+
.find("#growing-button")
|
|
273
|
+
.should("not.exist");
|
|
274
|
+
});
|
|
275
|
+
});
|
|
276
|
+
|
|
277
|
+
describe("Event", () => {
|
|
278
|
+
it("tests loadMore event fire upon scrolling to table end", () => {
|
|
279
|
+
mountTable(10, true);
|
|
280
|
+
|
|
281
|
+
cy.get<TableGrowing>("[ui5-table-growing]")
|
|
282
|
+
.then(tableGrowing => tableGrowing.get(0).addEventListener("load-more", cy.stub().as("loadMore")));
|
|
283
|
+
|
|
284
|
+
cy.get("[ui5-table-row]:last-child")
|
|
285
|
+
.scrollIntoView();
|
|
286
|
+
|
|
287
|
+
cy.get("@loadMore")
|
|
288
|
+
.should("have.been.calledOnce");
|
|
289
|
+
});
|
|
290
|
+
|
|
291
|
+
it("tests button fires load-more, button vanishes, scroll to end fires load-more", () => {
|
|
292
|
+
mountTable(1, true);
|
|
293
|
+
|
|
294
|
+
cy.get<TableGrowing>("[ui5-table-growing]")
|
|
295
|
+
.then(tableGrowing => {
|
|
296
|
+
tableGrowing.get(0).addEventListener("load-more", () => {
|
|
297
|
+
const table = document.getElementById("table");
|
|
298
|
+
Array.from({ length: 10 }).forEach(() => {
|
|
299
|
+
const row = document.createElement("ui5-table-row");
|
|
300
|
+
row.innerHTML = "<ui5-table-cell><ui5-label>Cell B</ui5-label></ui5-table-cell>";
|
|
301
|
+
table!.appendChild(row);
|
|
302
|
+
});
|
|
303
|
+
});
|
|
304
|
+
tableGrowing.get(0).addEventListener("load-more", cy.stub().as("loadMore"));
|
|
305
|
+
})
|
|
306
|
+
.click();
|
|
307
|
+
|
|
308
|
+
cy.get("@loadMore")
|
|
309
|
+
.should("have.been.calledOnce");
|
|
310
|
+
|
|
311
|
+
cy.get("[ui5-table]")
|
|
312
|
+
.children("ui5-table-row")
|
|
313
|
+
.should("have.length", 11);
|
|
314
|
+
|
|
315
|
+
cy.get("[ui5-table-growing]")
|
|
316
|
+
.shadow()
|
|
317
|
+
.find("#growing-button")
|
|
318
|
+
.should("not.exist");
|
|
319
|
+
|
|
320
|
+
cy.get("[ui5-table]")
|
|
321
|
+
.shadow()
|
|
322
|
+
.find("#growing-row")
|
|
323
|
+
.should("not.exist");
|
|
324
|
+
|
|
325
|
+
for (let i = 2; i <= 6; i++) {
|
|
326
|
+
cy.get("#wrapper")
|
|
327
|
+
.scrollTo("bottom", { duration: 300 });
|
|
328
|
+
|
|
329
|
+
cy.get("@loadMore")
|
|
330
|
+
.should("have.callCount", i);
|
|
331
|
+
|
|
332
|
+
cy.get("[ui5-table]")
|
|
333
|
+
.children("ui5-table-row")
|
|
334
|
+
.should("have.length", 1 + 10 * i);
|
|
335
|
+
}
|
|
336
|
+
});
|
|
337
|
+
|
|
338
|
+
it("tests load-more not fired when disabled", () => {
|
|
339
|
+
mountTable(11, true);
|
|
340
|
+
|
|
341
|
+
cy.get<TableGrowing>("[ui5-table-growing]")
|
|
342
|
+
.then(tableGrowing => {
|
|
343
|
+
tableGrowing.get(0).disabled = true;
|
|
344
|
+
tableGrowing.get(0).addEventListener("load-more", cy.stub().as("loadMore"));
|
|
345
|
+
});
|
|
346
|
+
|
|
347
|
+
cy.get("[ui5-table-row]:last-child")
|
|
348
|
+
.scrollIntoView();
|
|
349
|
+
|
|
350
|
+
cy.get("[ui5-table]")
|
|
351
|
+
.children("ui5-table-row")
|
|
352
|
+
.should("have.length", 11);
|
|
353
|
+
|
|
354
|
+
cy.get("@loadMore")
|
|
355
|
+
.should("not.have.been.called");
|
|
356
|
+
});
|
|
357
|
+
});
|
|
358
|
+
});
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { html } from "lit";
|
|
2
|
+
import "../../src/Tokenizer.js";
|
|
3
|
+
import type Tokenizer from "../../src/Tokenizer.js";
|
|
4
|
+
|
|
5
|
+
describe("Tokenizer - multi-line and Clear All", () => {
|
|
6
|
+
it("'Clear All' link is rendered for multi-line tokenizer and show-clear-all set to true", () => {
|
|
7
|
+
cy.mount(html`<ui5-tokenizer show-clear-all multi-line>
|
|
8
|
+
<ui5-token text="Andora"></ui5-token>
|
|
9
|
+
<ui5-token text="Bulgaria"></ui5-token>
|
|
10
|
+
<ui5-token text="Canada"></ui5-token>
|
|
11
|
+
<ui5-token text="Denmark"></ui5-token>
|
|
12
|
+
<ui5-token text="Estonia"></ui5-token>
|
|
13
|
+
<ui5-token text="Finland"></ui5-token>
|
|
14
|
+
<ui5-token text="Germany"></ui5-token>
|
|
15
|
+
</ui5-tokenizer>`);
|
|
16
|
+
|
|
17
|
+
cy.get<Tokenizer>("[ui5-tokenizer]")
|
|
18
|
+
.shadow()
|
|
19
|
+
.find(".ui5-tokenizer--clear-all")
|
|
20
|
+
.should("exist");
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
it("'Clear All' link is rendered even for 1 token when in multi-line mode", () => {
|
|
24
|
+
cy.mount(html`<ui5-tokenizer show-clear-all multi-line>
|
|
25
|
+
<ui5-token text="Andora"></ui5-token>
|
|
26
|
+
</ui5-tokenizer>`);
|
|
27
|
+
|
|
28
|
+
cy.get<Tokenizer>("[ui5-tokenizer]")
|
|
29
|
+
.shadow()
|
|
30
|
+
.find(".ui5-tokenizer--clear-all")
|
|
31
|
+
.should("exist");
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
it("'Clear All' link is not rendered for single-line tokenizer even when show-clear-all is set to true", () => {
|
|
35
|
+
cy.mount(html`<ui5-tokenizer show-clear-all>
|
|
36
|
+
<ui5-token text="Andora"></ui5-token>
|
|
37
|
+
</ui5-tokenizer>`);
|
|
38
|
+
|
|
39
|
+
cy.get<Tokenizer>("[ui5-tokenizer]")
|
|
40
|
+
.shadow()
|
|
41
|
+
.find(".ui5-tokenizer--clear-all")
|
|
42
|
+
.should("not.exist");
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
it("'Clear All' link is not rendered for multi-line tokenizer when show-clear-all is set to false", () => {
|
|
46
|
+
cy.mount(html`<ui5-tokenizer multi-line>
|
|
47
|
+
<ui5-token text="Andora"></ui5-token>
|
|
48
|
+
<ui5-token text="Bulgaria"></ui5-token>
|
|
49
|
+
<ui5-token text="Canada"></ui5-token>
|
|
50
|
+
<ui5-token text="Denmark"></ui5-token>
|
|
51
|
+
<ui5-token text="Estonia"></ui5-token>
|
|
52
|
+
<ui5-token text="Finland"></ui5-token>
|
|
53
|
+
<ui5-token text="Germany"></ui5-token>
|
|
54
|
+
</ui5-tokenizer>`);
|
|
55
|
+
|
|
56
|
+
cy.get<Tokenizer>("[ui5-tokenizer]")
|
|
57
|
+
.shadow()
|
|
58
|
+
.find(".ui5-tokenizer--clear-all")
|
|
59
|
+
.should("not.exist");
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it("'Clear All' link is not rendered for multi-line readonly tokenizer when show-clear-all 'true'", () => {
|
|
63
|
+
cy.mount(html`<ui5-tokenizer multi-line show-clear-all readonly>
|
|
64
|
+
<ui5-token text="Andora"></ui5-token>
|
|
65
|
+
<ui5-token text="Bulgaria"></ui5-token>
|
|
66
|
+
<ui5-token text="Canada"></ui5-token>
|
|
67
|
+
<ui5-token text="Denmark"></ui5-token>
|
|
68
|
+
<ui5-token text="Estonia"></ui5-token>
|
|
69
|
+
<ui5-token text="Finland"></ui5-token>
|
|
70
|
+
<ui5-token text="Germany"></ui5-token>
|
|
71
|
+
</ui5-tokenizer>`);
|
|
72
|
+
|
|
73
|
+
cy.get<Tokenizer>("[ui5-tokenizer]")
|
|
74
|
+
.shadow()
|
|
75
|
+
.find(".ui5-tokenizer--clear-all")
|
|
76
|
+
.should("not.exist");
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
it("'n-more' link is not rendered for multi-line tokenizer", () => {
|
|
80
|
+
cy.mount(html`<ui5-tokenizer multi-line style="width: 100px;">
|
|
81
|
+
<ui5-token text="Andora"></ui5-token>
|
|
82
|
+
<ui5-token text="Bulgaria"></ui5-token>
|
|
83
|
+
<ui5-token text="Canada"></ui5-token>
|
|
84
|
+
<ui5-token text="Denmark"></ui5-token>
|
|
85
|
+
<ui5-token text="Estonia"></ui5-token>
|
|
86
|
+
<ui5-token text="Finland"></ui5-token>
|
|
87
|
+
<ui5-token text="Germany"></ui5-token>
|
|
88
|
+
</ui5-tokenizer>`);
|
|
89
|
+
|
|
90
|
+
cy.get<Tokenizer>("[ui5-tokenizer]")
|
|
91
|
+
.shadow()
|
|
92
|
+
.find(".ui5-tokenizer--more-text")
|
|
93
|
+
.should("not.exist");
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
it("Pressing 'Clear All' link fires token-delete event", () => {
|
|
97
|
+
cy.mount(html`<ui5-tokenizer show-clear-all multi-line>
|
|
98
|
+
<ui5-token text="Andora"></ui5-token>
|
|
99
|
+
<ui5-token text="Bulgaria"></ui5-token>
|
|
100
|
+
<ui5-token text="Canada"></ui5-token>
|
|
101
|
+
</ui5-tokenizer>`);
|
|
102
|
+
|
|
103
|
+
cy.get<Tokenizer>("[ui5-tokenizer]").then($tokenizer => $tokenizer.get(0).addEventListener("token-delete", cy.stub().as("delete")));
|
|
104
|
+
|
|
105
|
+
cy.get<Tokenizer>("[ui5-tokenizer]")
|
|
106
|
+
.shadow()
|
|
107
|
+
.find(".ui5-tokenizer--clear-all")
|
|
108
|
+
.eq(0)
|
|
109
|
+
.click();
|
|
110
|
+
|
|
111
|
+
cy.get("@delete")
|
|
112
|
+
.should("have.been.calledOnce");
|
|
113
|
+
});
|
|
114
|
+
});
|
|
@@ -4,7 +4,12 @@ import "../../src/ToolbarButton.js";
|
|
|
4
4
|
import "../../src/ToolbarSelect.js";
|
|
5
5
|
import "../../src/ToolbarSelectOption.js";
|
|
6
6
|
import "../../src/ToolbarSeparator.js";
|
|
7
|
+
import "../../src/ToolbarSpacer.js";
|
|
8
|
+
import "../../src/Popover.js";
|
|
7
9
|
import type ToolbarItem from "../../src/ToolbarItem.js";
|
|
10
|
+
import "@ui5/webcomponents-icons/dist/add.js";
|
|
11
|
+
import "@ui5/webcomponents-icons/dist/decline.js";
|
|
12
|
+
import "@ui5/webcomponents-icons/dist/employee.js";
|
|
8
13
|
|
|
9
14
|
describe("Toolbar general interaction", () => {
|
|
10
15
|
it("Should not return null upon calling getDomRef for all direct child items", () => {
|
|
@@ -40,4 +45,50 @@ describe("Toolbar general interaction", () => {
|
|
|
40
45
|
.should("not.be.undefined");
|
|
41
46
|
});
|
|
42
47
|
});
|
|
48
|
+
|
|
49
|
+
it("should be able to use toolbar button as popover opener", () => {
|
|
50
|
+
cy.mount(html`
|
|
51
|
+
<ui5-toolbar id="tb">
|
|
52
|
+
<ui5-toolbar-button icon="add" text="Left 1 (long)" id="clickCounter"></ui5-toolbar-button>
|
|
53
|
+
<ui5-toolbar-button icon="decline" text="Left 2" id="clearCounter"></ui5-toolbar-button>
|
|
54
|
+
<ui5-toolbar-button icon="employee" text="Left 3"></ui5-toolbar-button>
|
|
55
|
+
<ui5-toolbar-separator></ui5-toolbar-separator>
|
|
56
|
+
<ui5-toolbar-button icon="decline" text="Left 4"></ui5-toolbar-button>
|
|
57
|
+
<ui5-toolbar-button id="btnOpenMenu" text="Open Menu" prevent-overflow-closing></ui5-toolbar-button>
|
|
58
|
+
</ui5-toolbar>
|
|
59
|
+
<ui5-popover id="popup" opener="btnOpenMenu">
|
|
60
|
+
Hello World
|
|
61
|
+
</ui5-popover>
|
|
62
|
+
`);
|
|
63
|
+
|
|
64
|
+
cy.get("#popup").invoke("prop", "open", "true");
|
|
65
|
+
|
|
66
|
+
cy.get("#popup")
|
|
67
|
+
.should("be.visible");
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
it("shouldn't have toolbar button as popover opener when there is spacer before last toolbar item", () => {
|
|
71
|
+
cy.mount(html`
|
|
72
|
+
<ui5-toolbar id="otb_spacer">
|
|
73
|
+
<ui5-toolbar-button icon="add" text="Plus" design="Default"></ui5-toolbar-button>
|
|
74
|
+
<ui5-toolbar-button icon="employee" text="Hire"></ui5-toolbar-button>
|
|
75
|
+
<ui5-toolbar-separator></ui5-toolbar-separator>
|
|
76
|
+
<ui5-toolbar-button icon="add" text="Add"></ui5-toolbar-button>
|
|
77
|
+
<ui5-toolbar-button icon="decline" text="Decline"></ui5-toolbar-button>
|
|
78
|
+
<ui5-toolbar-spacer></ui5-toolbar-spacer>
|
|
79
|
+
<ui5-toolbar-button icon="add" text="Append"></ui5-toolbar-button>
|
|
80
|
+
</ui5-toolbar>
|
|
81
|
+
`);
|
|
82
|
+
|
|
83
|
+
cy.get("#otb_spacer")
|
|
84
|
+
.as("toolbar");
|
|
85
|
+
|
|
86
|
+
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
|
87
|
+
cy.wait(500);
|
|
88
|
+
|
|
89
|
+
cy.get("@toolbar")
|
|
90
|
+
.shadow()
|
|
91
|
+
.find(".ui5-tb-overflow-btn-hidden")
|
|
92
|
+
.should("exist", "hidden class attached to tb button, meaning it's not shown as expected");
|
|
93
|
+
});
|
|
43
94
|
});
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { html } from "lit";
|
|
2
|
+
import "../../src/Tree.js";
|
|
3
|
+
import "../../src/TreeItem.js";
|
|
4
|
+
|
|
5
|
+
describe("Tree Tests", () => {
|
|
6
|
+
it("tests accessibility properties forwarded to the list", () => {
|
|
7
|
+
cy.mount(html`
|
|
8
|
+
<ui5-tree
|
|
9
|
+
accessible-name="Tree"
|
|
10
|
+
accessible-name-ref="lblDesc1"
|
|
11
|
+
accessible-description="Description"
|
|
12
|
+
accessible-description-ref="lblDesc2"
|
|
13
|
+
></ui5-tree>
|
|
14
|
+
<div id="lblDesc1">Tree</div>
|
|
15
|
+
<div id="lblDesc2">Description</div>
|
|
16
|
+
`);
|
|
17
|
+
|
|
18
|
+
cy.get("[ui5-tree]")
|
|
19
|
+
.as("tree");
|
|
20
|
+
|
|
21
|
+
cy.get("@tree")
|
|
22
|
+
.shadow()
|
|
23
|
+
.find(".ui5-tree-root")
|
|
24
|
+
.should("have.attr", "accessible-name", "Tree")
|
|
25
|
+
.and("have.attr", "accessible-name-ref", "lblDesc1")
|
|
26
|
+
.and("have.attr", "accessible-description", "Description")
|
|
27
|
+
.and("have.attr", "accessible-description-ref", "lblDesc2");
|
|
28
|
+
});
|
|
29
|
+
});
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { html } from "lit";
|
|
2
2
|
import "../../../src/Label.js";
|
|
3
3
|
import "../../../src/Input.js";
|
|
4
|
+
import "../../../src/List.js";
|
|
4
5
|
|
|
5
|
-
describe("
|
|
6
|
+
describe("AccessibilityTextsHelper", () => {
|
|
6
7
|
it("Label-for tests", () => {
|
|
7
8
|
cy.mount(html`
|
|
8
9
|
<ui5-input id="myInput" placeholder="input placeholder" class="field"></ui5-input>
|
|
@@ -277,4 +278,39 @@ describe("AriaLabelHelper", () => {
|
|
|
277
278
|
cy.get("@input")
|
|
278
279
|
.should("have.attr", "aria-label", "Desc1X Desc4X");
|
|
279
280
|
});
|
|
281
|
+
|
|
282
|
+
it("Tests accessibleDescription and accessibleDescriptionRef with ui5-list", () => {
|
|
283
|
+
cy.mount(html`
|
|
284
|
+
<ui5-label id="lblDesc1">Desc1</ui5-label>
|
|
285
|
+
<ui5-label id="lblDesc2">Desc2</ui5-label>
|
|
286
|
+
<ui5-list id="list" accessible-description-ref="lblDesc1 lblDesc2" accessible-description="Desc3"></ui5-list>
|
|
287
|
+
`);
|
|
288
|
+
|
|
289
|
+
cy.get("#list")
|
|
290
|
+
.shadow()
|
|
291
|
+
.find("ul")
|
|
292
|
+
.as("list");
|
|
293
|
+
|
|
294
|
+
// assert
|
|
295
|
+
cy.get("@list")
|
|
296
|
+
.should("have.attr", "aria-description", "Desc1 Desc2");
|
|
297
|
+
|
|
298
|
+
// act - update text of referenced label
|
|
299
|
+
cy.get("#lblDesc1")
|
|
300
|
+
.then($el => {
|
|
301
|
+
$el.get(0).innerHTML = `${$el.get(0).innerHTML}X`;
|
|
302
|
+
});
|
|
303
|
+
|
|
304
|
+
// assert
|
|
305
|
+
cy.get("@list")
|
|
306
|
+
.should("have.attr", "aria-description", "Desc1X Desc2");
|
|
307
|
+
|
|
308
|
+
// act - update accessible-description-ref
|
|
309
|
+
cy.get("#list")
|
|
310
|
+
.invoke("removeAttr", "accessible-description-ref");
|
|
311
|
+
|
|
312
|
+
// assert
|
|
313
|
+
cy.get("@list")
|
|
314
|
+
.should("have.attr", "aria-description", "Desc3");
|
|
315
|
+
});
|
|
280
316
|
});
|